JezK
Edit File: promise.js.map
{"version":3,"file":"promise.js","names":["wait","delay","Promise","resolve","setTimeout","promisify","fn","firstData","args","reject","push","err","result","res","length","apply","queue","arr","promiseProducer","concurrency","Infinity","Math","min","slice","results","total","i","next","item","shift","promise","then"],"sourceRoot":"../../src","sources":["util/promise.js"],"sourcesContent":["/* @flow */\n\nexport function wait(delay: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, delay);\n });\n}\n\nexport function promisify(fn: Function, firstData?: boolean): (...args: Array<any>) => Promise<any> {\n return function(...args): Promise<any> {\n return new Promise(function(resolve, reject) {\n args.push(function(err, ...result) {\n let res = result;\n\n if (result.length <= 1) {\n res = result[0];\n }\n\n if (firstData) {\n res = err;\n err = null;\n }\n\n if (err) {\n reject(err);\n } else {\n resolve(res);\n }\n });\n\n fn.apply(null, args);\n });\n };\n}\n\nexport function queue<T, U>(\n arr: Array<U>,\n promiseProducer: (result: U) => Promise<T>,\n concurrency: number = Infinity,\n): Promise<Array<T>> {\n concurrency = Math.min(concurrency, arr.length);\n\n // clone\n arr = arr.slice();\n\n const results = [];\n let total = arr.length;\n if (!total) {\n return Promise.resolve(results);\n }\n\n return new Promise((resolve, reject) => {\n for (let i = 0; i < concurrency; i++) {\n next();\n }\n\n function next() {\n const item = arr.shift();\n const promise = promiseProducer(item);\n\n promise.then(function(result) {\n results.push(result);\n\n total--;\n if (total === 0) {\n resolve(results);\n } else {\n if (arr.length) {\n next();\n }\n }\n }, reject);\n }\n });\n}\n"],"mappings":";;;;;;;;AAEO,SAASA,IAAI,CAACC,KAAa,EAAiB;EACjD,OAAO,IAAIC,OAAO,CAAC,UAAAC,OAAO,EAAI;IAC5BC,UAAU,CAACD,OAAO,EAAEF,KAAK,CAAC;EAC5B,CAAC,CAAC;AACJ;AAEO,SAASI,SAAS,CAACC,EAAY,EAAEC,SAAmB,EAAyC;EAClG,OAAO,YAAgC;IAAA,kCAApBC,IAAI;MAAJA,IAAI;IAAA;IACrB,OAAO,IAAIN,OAAO,CAAC,UAASC,OAAO,EAAEM,MAAM,EAAE;MAC3CD,IAAI,CAACE,IAAI,CAAC,UAASC,GAAG,EAAa;QAAA,mCAARC,MAAM;UAANA,MAAM;QAAA;QAC/B,IAAIC,GAAG,GAAGD,MAAM;QAEhB,IAAIA,MAAM,CAACE,MAAM,IAAI,CAAC,EAAE;UACtBD,GAAG,GAAGD,MAAM,CAAC,CAAC,CAAC;QACjB;QAEA,IAAIL,SAAS,EAAE;UACbM,GAAG,GAAGF,GAAG;UACTA,GAAG,GAAG,IAAI;QACZ;QAEA,IAAIA,GAAG,EAAE;UACPF,MAAM,CAACE,GAAG,CAAC;QACb,CAAC,MAAM;UACLR,OAAO,CAACU,GAAG,CAAC;QACd;MACF,CAAC,CAAC;MAEFP,EAAE,CAACS,KAAK,CAAC,IAAI,EAAEP,IAAI,CAAC;IACtB,CAAC,CAAC;EACJ,CAAC;AACH;AAEO,SAASQ,KAAK,CACnBC,GAAa,EACbC,eAA0C,EAEvB;EAAA,IADnBC,WAAmB,uEAAGC,QAAQ;EAE9BD,WAAW,GAAGE,IAAI,CAACC,GAAG,CAACH,WAAW,EAAEF,GAAG,CAACH,MAAM,CAAC;;EAE/C;EACAG,GAAG,GAAGA,GAAG,CAACM,KAAK,EAAE;EAEjB,IAAMC,OAAO,GAAG,EAAE;EAClB,IAAIC,KAAK,GAAGR,GAAG,CAACH,MAAM;EACtB,IAAI,CAACW,KAAK,EAAE;IACV,OAAOvB,OAAO,CAACC,OAAO,CAACqB,OAAO,CAAC;EACjC;EAEA,OAAO,IAAItB,OAAO,CAAC,UAACC,OAAO,EAAEM,MAAM,EAAK;IACtC,KAAK,IAAIiB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,WAAW,EAAEO,CAAC,EAAE,EAAE;MACpCC,IAAI,EAAE;IACR;IAEA,SAASA,IAAI,GAAG;MACd,IAAMC,IAAI,GAAGX,GAAG,CAACY,KAAK,EAAE;MACxB,IAAMC,OAAO,GAAGZ,eAAe,CAACU,IAAI,CAAC;MAErCE,OAAO,CAACC,IAAI,CAAC,UAASnB,MAAM,EAAE;QAC5BY,OAAO,CAACd,IAAI,CAACE,MAAM,CAAC;QAEpBa,KAAK,EAAE;QACP,IAAIA,KAAK,KAAK,CAAC,EAAE;UACftB,OAAO,CAACqB,OAAO,CAAC;QAClB,CAAC,MAAM;UACL,IAAIP,GAAG,CAACH,MAAM,EAAE;YACda,IAAI,EAAE;UACR;QACF;MACF,CAAC,EAAElB,MAAM,CAAC;IACZ;EACF,CAAC,CAAC;AACJ"}