| 12345678910111213141516171819202122232425 | 
							- 'use strict'
 
- exports.fromCallback = function (fn) {
 
-   return Object.defineProperty(function () {
 
-     if (typeof arguments[arguments.length - 1] === 'function') fn.apply(this, arguments)
 
-     else {
 
-       return new Promise((resolve, reject) => {
 
-         arguments[arguments.length] = (err, res) => {
 
-           if (err) return reject(err)
 
-           resolve(res)
 
-         }
 
-         arguments.length++
 
-         fn.apply(this, arguments)
 
-       })
 
-     }
 
-   }, 'name', { value: fn.name })
 
- }
 
- exports.fromPromise = function (fn) {
 
-   return Object.defineProperty(function () {
 
-     const cb = arguments[arguments.length - 1]
 
-     if (typeof cb !== 'function') return fn.apply(this, arguments)
 
-     else fn.apply(this, arguments).then(r => cb(null, r), cb)
 
-   }, 'name', { value: fn.name })
 
- }
 
 
  |