Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

20 linhas
511 B

  1. module.exports = promisify
  2. function promisify (fn, args) {
  3. if (typeof Promise === 'undefined') {
  4. throw new Error('Please run in a Promise supported environment or provide a callback')
  5. }
  6. return new Promise(function (resolve, reject) {
  7. args = [].slice.call(args).concat([callback])
  8. fn.apply(null, args)
  9. function callback (error, port) {
  10. if (error || port === false) {
  11. reject(error || new Error('No open port found'))
  12. } else {
  13. resolve(port)
  14. }
  15. }
  16. })
  17. }