asygen 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/combine.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport const combine = <T, R = unknown>(...iterables: AsyncIterable<T>[]) => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.all(\n iterables.map(async (iterable) => {\n for await (const value of iterable) {\n await queue.push({ value, done: false }).promise;\n }\n })\n ).then(async () => queue.done({ value: null, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["combine","iterables","queue","createQueue","Promise","all","map","iterable","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":";;;;+BAEaA;;;eAAAA;;;0BAFe;AAErB,MAAMA,UAAU,CAAiB,GAAGC;IACzC,MAAMC,QAAQC,IAAAA,qBAAW;IAEzBC,QAAQC,GAAG,CACTJ,UAAUK,GAAG,CAAC,OAAOC;QACnB,WAAW,MAAMC,SAASD,SAAU;YAClC,MAAML,MAAMO,IAAI,CAAC;gBAAED;gBAAOE,MAAM;YAAM,GAAGC,OAAO;QAClD;IACF,IACAC,IAAI,CAAC,UAAYV,MAAMQ,IAAI,CAAC;YAAEF,OAAO;YAAME,MAAM;QAAK;IAExD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOb,MAAMc,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../src/combine.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport const combine = <T, R = unknown>(...iterables: AsyncIterable<T>[]) => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.all(\n iterables.map(async (iterable) => {\n for await (const value of iterable) {\n await queue.push({ value, done: false }).promise;\n }\n }),\n ).then(async () => queue.done({ value: null, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["combine","iterables","queue","createQueue","Promise","all","map","iterable","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":";;;;+BAEaA;;;eAAAA;;;0BAFe;AAErB,MAAMA,UAAU,CAAiB,GAAGC;IACzC,MAAMC,QAAQC,IAAAA,qBAAW;IAEzBC,QAAQC,GAAG,CACTJ,UAAUK,GAAG,CAAC,OAAOC;QACnB,WAAW,MAAMC,SAASD,SAAU;YAClC,MAAML,MAAMO,IAAI,CAAC;gBAAED;gBAAOE,MAAM;YAAM,GAAGC,OAAO;QAClD;IACF,IACAC,IAAI,CAAC,UAAYV,MAAMQ,IAAI,CAAC;YAAEF,OAAO;YAAME,MAAM;QAAK;IAExD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOb,MAAMc,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/combine.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport const combine = <T, R = unknown>(...iterables: AsyncIterable<T>[]) => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.all(\n iterables.map(async (iterable) => {\n for await (const value of iterable) {\n await queue.push({ value, done: false }).promise;\n }\n })\n ).then(async () => queue.done({ value: null, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["createQueue","combine","iterables","queue","Promise","all","map","iterable","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":"AAAA,SAASA,WAAW,QAAQ,aAAa;AAEzC,OAAO,MAAMC,UAAU,CAAiB,GAAGC;IACzC,MAAMC,QAAQH;IAEdI,QAAQC,GAAG,CACTH,UAAUI,GAAG,CAAC,OAAOC;QACnB,WAAW,MAAMC,SAASD,SAAU;YAClC,MAAMJ,MAAMM,IAAI,CAAC;gBAAED;gBAAOE,MAAM;YAAM,GAAGC,OAAO;QAClD;IACF,IACAC,IAAI,CAAC,UAAYT,MAAMO,IAAI,CAAC;YAAEF,OAAO;YAAME,MAAM;QAAK;IAExD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOZ,MAAMa,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/combine.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport const combine = <T, R = unknown>(...iterables: AsyncIterable<T>[]) => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.all(\n iterables.map(async (iterable) => {\n for await (const value of iterable) {\n await queue.push({ value, done: false }).promise;\n }\n }),\n ).then(async () => queue.done({ value: null, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["createQueue","combine","iterables","queue","Promise","all","map","iterable","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":"AAAA,SAASA,WAAW,QAAQ,aAAa;AAEzC,OAAO,MAAMC,UAAU,CAAiB,GAAGC;IACzC,MAAMC,QAAQH;IAEdI,QAAQC,GAAG,CACTH,UAAUI,GAAG,CAAC,OAAOC;QACnB,WAAW,MAAMC,SAASD,SAAU;YAClC,MAAMJ,MAAMM,IAAI,CAAC;gBAAED;gBAAOE,MAAM;YAAM,GAAGC,OAAO;QAClD;IACF,IACAC,IAAI,CAAC,UAAYT,MAAMO,IAAI,CAAC;YAAEF,OAAO;YAAME,MAAM;QAAK;IAExD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOZ,MAAMa,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generatorify.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport interface TaskCallback<T> {\n (value: T): Promise<void>;\n}\n\nexport interface Task<T, R = unknown> {\n (callback: TaskCallback<T>): R;\n}\n\nexport const generatorify = <T, R>(task: Task<T, R>): AsyncIterable<T> => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.resolve(\n task(async (value) => {\n await queue.push({ value, done: false }).promise;\n })\n ).then(async (value) => queue.done({ value, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["generatorify","task","queue","createQueue","Promise","resolve","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":";;;;+BAUaA;;;eAAAA;;;0BAVe;AAUrB,MAAMA,eAAe,CAAOC;IACjC,MAAMC,QAAQC,IAAAA,qBAAW;IAEzBC,QAAQC,OAAO,CACbJ,KAAK,OAAOK;QACV,MAAMJ,MAAMK,IAAI,CAAC;YAAED;YAAOE,MAAM;QAAM,GAAGC,OAAO;IAClD,IACAC,IAAI,CAAC,OAAOJ,QAAUJ,MAAMM,IAAI,CAAC;YAAEF;YAAOE,MAAM;QAAK;IAEvD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOX,MAAMY,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../src/generatorify.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport interface TaskCallback<T> {\n (value: T): Promise<void>;\n}\n\nexport interface Task<T, R = unknown> {\n (callback: TaskCallback<T>): R;\n}\n\nexport const generatorify = <T, R>(task: Task<T, R>): AsyncIterable<T> => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.resolve(\n task(async (value) => {\n await queue.push({ value, done: false }).promise;\n }),\n ).then(async (value) => queue.done({ value, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["generatorify","task","queue","createQueue","Promise","resolve","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":";;;;+BAUaA;;;eAAAA;;;0BAVe;AAUrB,MAAMA,eAAe,CAAOC;IACjC,MAAMC,QAAQC,IAAAA,qBAAW;IAEzBC,QAAQC,OAAO,CACbJ,KAAK,OAAOK;QACV,MAAMJ,MAAMK,IAAI,CAAC;YAAED;YAAOE,MAAM;QAAM,GAAGC,OAAO;IAClD,IACAC,IAAI,CAAC,OAAOJ,QAAUJ,MAAMM,IAAI,CAAC;YAAEF;YAAOE,MAAM;QAAK;IAEvD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOX,MAAMY,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generatorify.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport interface TaskCallback<T> {\n (value: T): Promise<void>;\n}\n\nexport interface Task<T, R = unknown> {\n (callback: TaskCallback<T>): R;\n}\n\nexport const generatorify = <T, R>(task: Task<T, R>): AsyncIterable<T> => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.resolve(\n task(async (value) => {\n await queue.push({ value, done: false }).promise;\n })\n ).then(async (value) => queue.done({ value, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["createQueue","generatorify","task","queue","Promise","resolve","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":"AAAA,SAASA,WAAW,QAAQ,aAAa;AAUzC,OAAO,MAAMC,eAAe,CAAOC;IACjC,MAAMC,QAAQH;IAEdI,QAAQC,OAAO,CACbH,KAAK,OAAOI;QACV,MAAMH,MAAMI,IAAI,CAAC;YAAED;YAAOE,MAAM;QAAM,GAAGC,OAAO;IAClD,IACAC,IAAI,CAAC,OAAOJ,QAAUH,MAAMK,IAAI,CAAC;YAAEF;YAAOE,MAAM;QAAK;IAEvD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOV,MAAMW,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/generatorify.ts"],"sourcesContent":["import { createQueue } from './queue.js';\n\nexport interface TaskCallback<T> {\n (value: T): Promise<void>;\n}\n\nexport interface Task<T, R = unknown> {\n (callback: TaskCallback<T>): R;\n}\n\nexport const generatorify = <T, R>(task: Task<T, R>): AsyncIterable<T> => {\n const queue = createQueue<IteratorResult<T, R>>();\n\n Promise.resolve(\n task(async (value) => {\n await queue.push({ value, done: false }).promise;\n }),\n ).then(async (value) => queue.done({ value, done: true }));\n\n return {\n [Symbol.asyncIterator]() {\n return {\n next() {\n return queue.pull().promise;\n },\n };\n },\n };\n};\n"],"names":["createQueue","generatorify","task","queue","Promise","resolve","value","push","done","promise","then","Symbol","asyncIterator","next","pull"],"mappings":"AAAA,SAASA,WAAW,QAAQ,aAAa;AAUzC,OAAO,MAAMC,eAAe,CAAOC;IACjC,MAAMC,QAAQH;IAEdI,QAAQC,OAAO,CACbH,KAAK,OAAOI;QACV,MAAMH,MAAMI,IAAI,CAAC;YAAED;YAAOE,MAAM;QAAM,GAAGC,OAAO;IAClD,IACAC,IAAI,CAAC,OAAOJ,QAAUH,MAAMK,IAAI,CAAC;YAAEF;YAAOE,MAAM;QAAK;IAEvD,OAAO;QACL,CAACG,OAAOC,aAAa,CAAC;YACpB,OAAO;gBACLC;oBACE,OAAOV,MAAMW,IAAI,GAAGL,OAAO;gBAC7B;YACF;QACF;IACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/queue.ts"],"sourcesContent":["import { defer, Deferred, Status } from './defer.js';\n\nexport const createQueue = <T, E = Error>() => {\n const pendingQueue: Deferred<T, E>[] = [];\n const resolvedQueue: Deferred<T, E>[] = [];\n const requestQueue: Deferred<T, E>[] = [];\n\n const push = (value: T): Deferred<T, E> => {\n const task = defer<T, E>();\n pendingQueue.push(task);\n\n Promise.resolve(value)\n .then(task.resolve)\n .catch(task.reject)\n .finally(() => {\n pendingQueue.splice(pendingQueue.indexOf(task), 1);\n if (requestQueue.length > 0) {\n const request = requestQueue.shift();\n request.resolve(task.promise);\n } else {\n resolvedQueue.push(task);\n }\n });\n\n return task;\n };\n\n const pull = (): Deferred<T, E> => {\n if (resolvedQueue.length > 0) {\n return resolvedQueue.shift();\n }\n const task = defer<T, E>();\n requestQueue.push(task);\n\n return task;\n };\n\n return {\n push,\n pull,\n done(value: T) {\n push(value);\n return Promise.all(\n [...pendingQueue, ...resolvedQueue, ...requestQueue].map(\n (d) => d.promise\n )\n );\n },\n get size() {\n return pendingQueue.length + resolvedQueue.length + requestQueue.length;\n },\n };\n};\n"],"names":["createQueue","pendingQueue","resolvedQueue","requestQueue","push","value","task","defer","Promise","resolve","then","catch","reject","finally","splice","indexOf","length","request","shift","promise","pull","done","all","map","d","size"],"mappings":";;;;+BAEaA;;;eAAAA;;;0BAF2B;AAEjC,MAAMA,cAAc;IACzB,MAAMC,eAAiC,EAAE;IACzC,MAAMC,gBAAkC,EAAE;IAC1C,MAAMC,eAAiC,EAAE;IAEzC,MAAMC,OAAO,CAACC;QACZ,MAAMC,OAAOC,IAAAA,eAAK;QAClBN,aAAaG,IAAI,CAACE;QAElBE,QAAQC,OAAO,CAACJ,OACbK,IAAI,CAACJ,KAAKG,OAAO,EACjBE,KAAK,CAACL,KAAKM,MAAM,EACjBC,OAAO,CAAC;YACPZ,aAAaa,MAAM,CAACb,aAAac,OAAO,CAACT,OAAO;YAChD,IAAIH,aAAaa,MAAM,GAAG,GAAG;gBAC3B,MAAMC,UAAUd,aAAae,KAAK;gBAClCD,QAAQR,OAAO,CAACH,KAAKa,OAAO;YAC9B,OAAO;gBACLjB,cAAcE,IAAI,CAACE;YACrB;QACF;QAEF,OAAOA;IACT;IAEA,MAAMc,OAAO;QACX,IAAIlB,cAAcc,MAAM,GAAG,GAAG;YAC5B,OAAOd,cAAcgB,KAAK;QAC5B;QACA,MAAMZ,OAAOC,IAAAA,eAAK;QAClBJ,aAAaC,IAAI,CAACE;QAElB,OAAOA;IACT;IAEA,OAAO;QACLF;QACAgB;QACAC,MAAKhB,KAAQ;YACXD,KAAKC;YACL,OAAOG,QAAQc,GAAG,CAChB;mBAAIrB;mBAAiBC;mBAAkBC;aAAa,CAACoB,GAAG,CACtD,CAACC,IAAMA,EAAEL,OAAO;QAGtB;QACA,IAAIM,QAAO;YACT,OAAOxB,aAAae,MAAM,GAAGd,cAAcc,MAAM,GAAGb,aAAaa,MAAM;QACzE;IACF;AACF"}
1
+ {"version":3,"sources":["../src/queue.ts"],"sourcesContent":["import { defer, Deferred } from './defer.js';\n\nexport const createQueue = <T, E = Error>() => {\n const pendingQueue: Deferred<T, E>[] = [];\n const resolvedQueue: Deferred<T, E>[] = [];\n const requestQueue: Deferred<T, E>[] = [];\n\n const push = (value: T): Deferred<T, E> => {\n const task = defer<T, E>();\n pendingQueue.push(task);\n\n Promise.resolve(value)\n .then(task.resolve)\n .catch(task.reject)\n .finally(() => {\n pendingQueue.splice(pendingQueue.indexOf(task), 1);\n if (requestQueue.length > 0) {\n const request = requestQueue.shift();\n request.resolve(task.promise);\n } else {\n resolvedQueue.push(task);\n }\n });\n\n return task;\n };\n\n const pull = (): Deferred<T, E> => {\n if (resolvedQueue.length > 0) {\n return resolvedQueue.shift();\n }\n const task = defer<T, E>();\n requestQueue.push(task);\n\n return task;\n };\n\n return {\n push,\n pull,\n done(value: T) {\n push(value);\n return Promise.all(\n [...pendingQueue, ...resolvedQueue, ...requestQueue].map(\n (d) => d.promise,\n ),\n );\n },\n get size() {\n return pendingQueue.length + resolvedQueue.length + requestQueue.length;\n },\n };\n};\n"],"names":["createQueue","pendingQueue","resolvedQueue","requestQueue","push","value","task","defer","Promise","resolve","then","catch","reject","finally","splice","indexOf","length","request","shift","promise","pull","done","all","map","d","size"],"mappings":";;;;+BAEaA;;;eAAAA;;;0BAFmB;AAEzB,MAAMA,cAAc;IACzB,MAAMC,eAAiC,EAAE;IACzC,MAAMC,gBAAkC,EAAE;IAC1C,MAAMC,eAAiC,EAAE;IAEzC,MAAMC,OAAO,CAACC;QACZ,MAAMC,OAAOC,IAAAA,eAAK;QAClBN,aAAaG,IAAI,CAACE;QAElBE,QAAQC,OAAO,CAACJ,OACbK,IAAI,CAACJ,KAAKG,OAAO,EACjBE,KAAK,CAACL,KAAKM,MAAM,EACjBC,OAAO,CAAC;YACPZ,aAAaa,MAAM,CAACb,aAAac,OAAO,CAACT,OAAO;YAChD,IAAIH,aAAaa,MAAM,GAAG,GAAG;gBAC3B,MAAMC,UAAUd,aAAae,KAAK;gBAClCD,QAAQR,OAAO,CAACH,KAAKa,OAAO;YAC9B,OAAO;gBACLjB,cAAcE,IAAI,CAACE;YACrB;QACF;QAEF,OAAOA;IACT;IAEA,MAAMc,OAAO;QACX,IAAIlB,cAAcc,MAAM,GAAG,GAAG;YAC5B,OAAOd,cAAcgB,KAAK;QAC5B;QACA,MAAMZ,OAAOC,IAAAA,eAAK;QAClBJ,aAAaC,IAAI,CAACE;QAElB,OAAOA;IACT;IAEA,OAAO;QACLF;QACAgB;QACAC,MAAKhB,KAAQ;YACXD,KAAKC;YACL,OAAOG,QAAQc,GAAG,CAChB;mBAAIrB;mBAAiBC;mBAAkBC;aAAa,CAACoB,GAAG,CACtD,CAACC,IAAMA,EAAEL,OAAO;QAGtB;QACA,IAAIM,QAAO;YACT,OAAOxB,aAAae,MAAM,GAAGd,cAAcc,MAAM,GAAGb,aAAaa,MAAM;QACzE;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/queue.ts"],"sourcesContent":["import { defer, Deferred, Status } from './defer.js';\n\nexport const createQueue = <T, E = Error>() => {\n const pendingQueue: Deferred<T, E>[] = [];\n const resolvedQueue: Deferred<T, E>[] = [];\n const requestQueue: Deferred<T, E>[] = [];\n\n const push = (value: T): Deferred<T, E> => {\n const task = defer<T, E>();\n pendingQueue.push(task);\n\n Promise.resolve(value)\n .then(task.resolve)\n .catch(task.reject)\n .finally(() => {\n pendingQueue.splice(pendingQueue.indexOf(task), 1);\n if (requestQueue.length > 0) {\n const request = requestQueue.shift();\n request.resolve(task.promise);\n } else {\n resolvedQueue.push(task);\n }\n });\n\n return task;\n };\n\n const pull = (): Deferred<T, E> => {\n if (resolvedQueue.length > 0) {\n return resolvedQueue.shift();\n }\n const task = defer<T, E>();\n requestQueue.push(task);\n\n return task;\n };\n\n return {\n push,\n pull,\n done(value: T) {\n push(value);\n return Promise.all(\n [...pendingQueue, ...resolvedQueue, ...requestQueue].map(\n (d) => d.promise\n )\n );\n },\n get size() {\n return pendingQueue.length + resolvedQueue.length + requestQueue.length;\n },\n };\n};\n"],"names":["defer","createQueue","pendingQueue","resolvedQueue","requestQueue","push","value","task","Promise","resolve","then","catch","reject","finally","splice","indexOf","length","request","shift","promise","pull","done","all","map","d","size"],"mappings":"AAAA,SAASA,KAAK,QAA0B,aAAa;AAErD,OAAO,MAAMC,cAAc;IACzB,MAAMC,eAAiC,EAAE;IACzC,MAAMC,gBAAkC,EAAE;IAC1C,MAAMC,eAAiC,EAAE;IAEzC,MAAMC,OAAO,CAACC;QACZ,MAAMC,OAAOP;QACbE,aAAaG,IAAI,CAACE;QAElBC,QAAQC,OAAO,CAACH,OACbI,IAAI,CAACH,KAAKE,OAAO,EACjBE,KAAK,CAACJ,KAAKK,MAAM,EACjBC,OAAO,CAAC;YACPX,aAAaY,MAAM,CAACZ,aAAaa,OAAO,CAACR,OAAO;YAChD,IAAIH,aAAaY,MAAM,GAAG,GAAG;gBAC3B,MAAMC,UAAUb,aAAac,KAAK;gBAClCD,QAAQR,OAAO,CAACF,KAAKY,OAAO;YAC9B,OAAO;gBACLhB,cAAcE,IAAI,CAACE;YACrB;QACF;QAEF,OAAOA;IACT;IAEA,MAAMa,OAAO;QACX,IAAIjB,cAAca,MAAM,GAAG,GAAG;YAC5B,OAAOb,cAAce,KAAK;QAC5B;QACA,MAAMX,OAAOP;QACbI,aAAaC,IAAI,CAACE;QAElB,OAAOA;IACT;IAEA,OAAO;QACLF;QACAe;QACAC,MAAKf,KAAQ;YACXD,KAAKC;YACL,OAAOE,QAAQc,GAAG,CAChB;mBAAIpB;mBAAiBC;mBAAkBC;aAAa,CAACmB,GAAG,CACtD,CAACC,IAAMA,EAAEL,OAAO;QAGtB;QACA,IAAIM,QAAO;YACT,OAAOvB,aAAac,MAAM,GAAGb,cAAca,MAAM,GAAGZ,aAAaY,MAAM;QACzE;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/queue.ts"],"sourcesContent":["import { defer, Deferred } from './defer.js';\n\nexport const createQueue = <T, E = Error>() => {\n const pendingQueue: Deferred<T, E>[] = [];\n const resolvedQueue: Deferred<T, E>[] = [];\n const requestQueue: Deferred<T, E>[] = [];\n\n const push = (value: T): Deferred<T, E> => {\n const task = defer<T, E>();\n pendingQueue.push(task);\n\n Promise.resolve(value)\n .then(task.resolve)\n .catch(task.reject)\n .finally(() => {\n pendingQueue.splice(pendingQueue.indexOf(task), 1);\n if (requestQueue.length > 0) {\n const request = requestQueue.shift();\n request.resolve(task.promise);\n } else {\n resolvedQueue.push(task);\n }\n });\n\n return task;\n };\n\n const pull = (): Deferred<T, E> => {\n if (resolvedQueue.length > 0) {\n return resolvedQueue.shift();\n }\n const task = defer<T, E>();\n requestQueue.push(task);\n\n return task;\n };\n\n return {\n push,\n pull,\n done(value: T) {\n push(value);\n return Promise.all(\n [...pendingQueue, ...resolvedQueue, ...requestQueue].map(\n (d) => d.promise,\n ),\n );\n },\n get size() {\n return pendingQueue.length + resolvedQueue.length + requestQueue.length;\n },\n };\n};\n"],"names":["defer","createQueue","pendingQueue","resolvedQueue","requestQueue","push","value","task","Promise","resolve","then","catch","reject","finally","splice","indexOf","length","request","shift","promise","pull","done","all","map","d","size"],"mappings":"AAAA,SAASA,KAAK,QAAkB,aAAa;AAE7C,OAAO,MAAMC,cAAc;IACzB,MAAMC,eAAiC,EAAE;IACzC,MAAMC,gBAAkC,EAAE;IAC1C,MAAMC,eAAiC,EAAE;IAEzC,MAAMC,OAAO,CAACC;QACZ,MAAMC,OAAOP;QACbE,aAAaG,IAAI,CAACE;QAElBC,QAAQC,OAAO,CAACH,OACbI,IAAI,CAACH,KAAKE,OAAO,EACjBE,KAAK,CAACJ,KAAKK,MAAM,EACjBC,OAAO,CAAC;YACPX,aAAaY,MAAM,CAACZ,aAAaa,OAAO,CAACR,OAAO;YAChD,IAAIH,aAAaY,MAAM,GAAG,GAAG;gBAC3B,MAAMC,UAAUb,aAAac,KAAK;gBAClCD,QAAQR,OAAO,CAACF,KAAKY,OAAO;YAC9B,OAAO;gBACLhB,cAAcE,IAAI,CAACE;YACrB;QACF;QAEF,OAAOA;IACT;IAEA,MAAMa,OAAO;QACX,IAAIjB,cAAca,MAAM,GAAG,GAAG;YAC5B,OAAOb,cAAce,KAAK;QAC5B;QACA,MAAMX,OAAOP;QACbI,aAAaC,IAAI,CAACE;QAElB,OAAOA;IACT;IAEA,OAAO;QACLF;QACAe;QACAC,MAAKf,KAAQ;YACXD,KAAKC;YACL,OAAOE,QAAQc,GAAG,CAChB;mBAAIpB;mBAAiBC;mBAAkBC;aAAa,CAACmB,GAAG,CACtD,CAACC,IAAMA,EAAEL,OAAO;QAGtB;QACA,IAAIM,QAAO;YACT,OAAOvB,aAAac,MAAM,GAAGb,cAAca,MAAM,GAAGZ,aAAaY,MAAM;QACzE;IACF;AACF,EAAE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "asygen",
3
3
  "description": "0-Deps, simple and fast async generator library for browser and NodeJS",
4
- "version": "0.3.1",
4
+ "version": "0.3.2",
5
5
  "type": "module",
6
6
  "types": "build/index.d.ts",
7
7
  "main": "build/index.cjs",
@@ -64,17 +64,16 @@
64
64
  "@swc/jest": "^0.2.26",
65
65
  "@types/jest": "^29.5.2",
66
66
  "@types/node": "^20.3.1",
67
- "@typescript-eslint/eslint-plugin": "^5.59.11",
68
- "@typescript-eslint/parser": "^5.59.11",
67
+ "@typescript-eslint/eslint-plugin": "^6.3.0",
68
+ "@typescript-eslint/parser": "^6.3.0",
69
69
  "eslint": "^8.42.0",
70
70
  "eslint-plugin-import": "^2.27.5",
71
- "eslint-plugin-prettier": "^4.2.1",
71
+ "eslint-plugin-prettier": "^5.0.0",
72
72
  "fast-glob": "^3.2.12",
73
73
  "husky": "^8.0.3",
74
74
  "inop": "^0.3.1",
75
75
  "jest": "^29.5.0",
76
- "prettier": "^2.8.8",
77
- "pretty-quick": "^3.1.3",
76
+ "prettier": "^3.0.1",
78
77
  "ts-jest": "^29.1.0",
79
78
  "typescript": "^5.1.3"
80
79
  }
package/src/combine.ts CHANGED
@@ -8,7 +8,7 @@ export const combine = <T, R = unknown>(...iterables: AsyncIterable<T>[]) => {
8
8
  for await (const value of iterable) {
9
9
  await queue.push({ value, done: false }).promise;
10
10
  }
11
- })
11
+ }),
12
12
  ).then(async () => queue.done({ value: null, done: true }));
13
13
 
14
14
  return {
@@ -14,7 +14,7 @@ export const generatorify = <T, R>(task: Task<T, R>): AsyncIterable<T> => {
14
14
  Promise.resolve(
15
15
  task(async (value) => {
16
16
  await queue.push({ value, done: false }).promise;
17
- })
17
+ }),
18
18
  ).then(async (value) => queue.done({ value, done: true }));
19
19
 
20
20
  return {
package/src/queue.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { defer, Deferred, Status } from './defer.js';
1
+ import { defer, Deferred } from './defer.js';
2
2
 
3
3
  export const createQueue = <T, E = Error>() => {
4
4
  const pendingQueue: Deferred<T, E>[] = [];
@@ -42,8 +42,8 @@ export const createQueue = <T, E = Error>() => {
42
42
  push(value);
43
43
  return Promise.all(
44
44
  [...pendingQueue, ...resolvedQueue, ...requestQueue].map(
45
- (d) => d.promise
46
- )
45
+ (d) => d.promise,
46
+ ),
47
47
  );
48
48
  },
49
49
  get size() {