{"ast":null,"code":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = awaitify; // conditionally promisify a function.\n// only return a promise if a callback is omitted\n\nfunction awaitify(asyncFn, arity = asyncFn.length) {\n  if (!arity) throw new Error('arity is undefined');\n\n  function awaitable(...args) {\n    if (typeof args[arity - 1] === 'function') {\n      return asyncFn.apply(this, args);\n    }\n\n    return new Promise((resolve, reject) => {\n      args[arity - 1] = (err, ...cbArgs) => {\n        if (err) return reject(err);\n        resolve(cbArgs.length > 1 ? cbArgs : cbArgs[0]);\n      };\n\n      asyncFn.apply(this, args);\n    });\n  }\n\n  return awaitable;\n}\n\nmodule.exports = exports['default'];","map":{"version":3,"sources":["D:/Development/Work/CENOS/cenos-ui/node_modules/async/internal/awaitify.js"],"names":["Object","defineProperty","exports","value","default","awaitify","asyncFn","arity","length","Error","awaitable","args","apply","Promise","resolve","reject","err","cbArgs","module"],"mappings":"AAAA;;AAEAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AACzCC,EAAAA,KAAK,EAAE;AADkC,CAA7C;AAGAD,OAAO,CAACE,OAAR,GAAkBC,QAAlB,C,CACA;AACA;;AACA,SAASA,QAAT,CAAkBC,OAAlB,EAA2BC,KAAK,GAAGD,OAAO,CAACE,MAA3C,EAAmD;AAC/C,MAAI,CAACD,KAAL,EAAY,MAAM,IAAIE,KAAJ,CAAU,oBAAV,CAAN;;AACZ,WAASC,SAAT,CAAmB,GAAGC,IAAtB,EAA4B;AACxB,QAAI,OAAOA,IAAI,CAACJ,KAAK,GAAG,CAAT,CAAX,KAA2B,UAA/B,EAA2C;AACvC,aAAOD,OAAO,CAACM,KAAR,CAAc,IAAd,EAAoBD,IAApB,CAAP;AACH;;AAED,WAAO,IAAIE,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACpCJ,MAAAA,IAAI,CAACJ,KAAK,GAAG,CAAT,CAAJ,GAAkB,CAACS,GAAD,EAAM,GAAGC,MAAT,KAAoB;AAClC,YAAID,GAAJ,EAAS,OAAOD,MAAM,CAACC,GAAD,CAAb;AACTF,QAAAA,OAAO,CAACG,MAAM,CAACT,MAAP,GAAgB,CAAhB,GAAoBS,MAApB,GAA6BA,MAAM,CAAC,CAAD,CAApC,CAAP;AACH,OAHD;;AAIAX,MAAAA,OAAO,CAACM,KAAR,CAAc,IAAd,EAAoBD,IAApB;AACH,KANM,CAAP;AAOH;;AAED,SAAOD,SAAP;AACH;;AACDQ,MAAM,CAAChB,OAAP,GAAiBA,OAAO,CAAC,SAAD,CAAxB","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports.default = awaitify;\n// conditionally promisify a function.\n// only return a promise if a callback is omitted\nfunction awaitify(asyncFn, arity = asyncFn.length) {\n    if (!arity) throw new Error('arity is undefined');\n    function awaitable(...args) {\n        if (typeof args[arity - 1] === 'function') {\n            return asyncFn.apply(this, args);\n        }\n\n        return new Promise((resolve, reject) => {\n            args[arity - 1] = (err, ...cbArgs) => {\n                if (err) return reject(err);\n                resolve(cbArgs.length > 1 ? cbArgs : cbArgs[0]);\n            };\n            asyncFn.apply(this, args);\n        });\n    }\n\n    return awaitable;\n}\nmodule.exports = exports['default'];"]},"metadata":{},"sourceType":"script"}