@vielzeug/flux 2.0.3 → 2.0.5
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.
- package/dist/_iterator.cjs +1 -1
- package/dist/_iterator.cjs.map +1 -1
- package/dist/_iterator.d.ts.map +1 -1
- package/dist/_iterator.js +4 -6
- package/dist/_iterator.js.map +1 -1
- package/dist/_numeric.cjs +1 -1
- package/dist/_numeric.cjs.map +1 -1
- package/dist/_numeric.d.ts +1 -0
- package/dist/_numeric.d.ts.map +1 -1
- package/dist/_numeric.js +7 -1
- package/dist/_numeric.js.map +1 -1
- package/dist/_subscription.cjs.map +1 -1
- package/dist/_subscription.d.ts +1 -1
- package/dist/_subscription.d.ts.map +1 -1
- package/dist/_subscription.js.map +1 -1
- package/dist/adapters/courier.cjs +1 -1
- package/dist/adapters/courier.cjs.map +1 -1
- package/dist/adapters/courier.d.ts +0 -5
- package/dist/adapters/courier.d.ts.map +1 -1
- package/dist/adapters/courier.js +1 -22
- package/dist/adapters/courier.js.map +1 -1
- package/dist/adapters/herald.cjs.map +1 -1
- package/dist/adapters/herald.d.ts.map +1 -1
- package/dist/adapters/herald.js.map +1 -1
- package/dist/adapters/pulse.cjs.map +1 -1
- package/dist/adapters/pulse.d.ts.map +1 -1
- package/dist/adapters/pulse.js.map +1 -1
- package/dist/adapters/ripple.cjs.map +1 -1
- package/dist/adapters/ripple.d.ts.map +1 -1
- package/dist/adapters/ripple.js.map +1 -1
- package/dist/async.cjs.map +1 -1
- package/dist/async.d.ts.map +1 -1
- package/dist/async.js.map +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js.map +1 -1
- package/dist/courier.cjs +1 -1
- package/dist/courier.d.ts +1 -1
- package/dist/courier.d.ts.map +1 -1
- package/dist/courier.js +2 -2
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -4
- package/dist/errors.js.map +1 -1
- package/dist/flux.cjs +1 -1
- package/dist/flux.cjs.map +1 -1
- package/dist/flux.iife.js +1 -1
- package/dist/flux.iife.js.map +1 -1
- package/dist/flux.js +1 -1
- package/dist/flux.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/operators/combination.cjs.map +1 -1
- package/dist/operators/combination.d.ts.map +1 -1
- package/dist/operators/combination.js.map +1 -1
- package/dist/operators/creation.cjs +1 -1
- package/dist/operators/creation.cjs.map +1 -1
- package/dist/operators/creation.d.ts.map +1 -1
- package/dist/operators/creation.js +40 -42
- package/dist/operators/creation.js.map +1 -1
- package/dist/operators/filtering.cjs +1 -1
- package/dist/operators/filtering.cjs.map +1 -1
- package/dist/operators/filtering.d.ts.map +1 -1
- package/dist/operators/filtering.js +44 -47
- package/dist/operators/filtering.js.map +1 -1
- package/dist/operators/transformation.cjs +1 -1
- package/dist/operators/transformation.cjs.map +1 -1
- package/dist/operators/transformation.d.ts.map +1 -1
- package/dist/operators/transformation.js +68 -68
- package/dist/operators/transformation.js.map +1 -1
- package/dist/operators/utility.cjs +1 -1
- package/dist/operators/utility.cjs.map +1 -1
- package/dist/operators/utility.d.ts.map +1 -1
- package/dist/operators/utility.js +45 -46
- package/dist/operators/utility.js.map +1 -1
- package/dist/pipe.cjs.map +1 -1
- package/dist/pipe.d.ts.map +1 -1
- package/dist/pipe.js.map +1 -1
- package/dist/ripple.d.ts +1 -1
- package/dist/ripple.d.ts.map +1 -1
- package/dist/subject.cjs +1 -1
- package/dist/subject.cjs.map +1 -1
- package/dist/subject.d.ts.map +1 -1
- package/dist/subject.js +9 -9
- package/dist/subject.js.map +1 -1
- package/dist/subjects.d.ts +1 -1
- package/dist/subjects.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +54 -54
package/dist/_iterator.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require("./_numeric.cjs");function t(t,n){e.assertPositiveInteger(n.capacity,`Async iterable capacity`);let r=new AbortController,i=[],a={kind:`open`,queue:[]},o=()=>n.signal?.removeEventListener(`abort`,u),s=()=>{for(;i.length>0;)i.shift()?.resolve({done:!0,value:void 0})},c=()=>{a.kind===`open`&&(a.kind=`complete`,o(),s())},l=e=>{if(a.kind===`open`)for(a={kind:`error`,queue:a.queue,reason:e},r.abort(),o();i.length>0;)i.shift()?.reject(e)},u=()=>{r.abort(),o(),a={kind:`returned`},s()},d={complete:c,error:l,next(e){if(a.kind!==`open`)return;let t=i.shift();if(t){t.resolve({done:!1,value:e});return}if(a.queue.length<n.capacity){a.queue.push(e);return}n.overflow===`drop-oldest`?(a.queue.shift(),a.queue.push(e)):n.overflow===`error`&&l(RangeError(`Async iterable buffer capacity exceeded`))}};return n.signal?.aborted?u():n.signal?.addEventListener(`abort`,u,{once:!0}),t.subscribe(d,{signal:r.signal}),{next(){return a.kind===`returned`?Promise.resolve({done:!0,value:void 0}):a.queue.length>0?Promise.resolve({done:!1,value:a.queue.shift()}):a.kind===`error`?Promise.reject(a.reason):a.kind===`complete`?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>i.push({reject:t,resolve:e}))},return(){return u(),Promise.resolve({done:!0,value:void 0})},[Symbol.asyncIterator](){return this}}}exports.toIterator=t;
|
|
2
2
|
//# sourceMappingURL=_iterator.cjs.map
|
package/dist/_iterator.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_iterator.cjs","names":[],"sources":["../src/_iterator.ts"],"sourcesContent":["import type { AsyncIterableOptions, Observer, Stream } from './types';\n\ntype Pending<T> = {\n reject(reason: unknown): void;\n resolve(result: IteratorResult<T>): void;\n};\n\ntype IteratorState<T> =\n { kind: 'complete' | 'open'; queue: T[] }
|
|
1
|
+
{"version":3,"file":"_iterator.cjs","names":[],"sources":["../src/_iterator.ts"],"sourcesContent":["import { assertPositiveInteger } from './_numeric';\nimport type { AsyncIterableOptions, Observer, Stream } from './types';\n\ntype Pending<T> = {\n reject(reason: unknown): void;\n resolve(result: IteratorResult<T>): void;\n};\n\ntype IteratorState<T> =\n | { kind: 'complete' | 'open'; queue: T[] }\n | { kind: 'error'; queue: T[]; reason: unknown }\n | { kind: 'returned' };\n\n/** Async iteration requires explicit queue policy because streams are push based. */\nexport function toIterator<T>(source: Stream<T>, options: AsyncIterableOptions): AsyncIterableIterator<T> {\n assertPositiveInteger(options.capacity, 'Async iterable capacity');\n\n const controller = new AbortController();\n const pending: Pending<T>[] = [];\n let state: IteratorState<T> = { kind: 'open', queue: [] };\n\n const detach = (): void => options.signal?.removeEventListener('abort', stop);\n\n const resolveDone = (): void => {\n while (pending.length > 0) pending.shift()?.resolve({ done: true, value: undefined as T });\n };\n\n const complete = (): void => {\n if (state.kind !== 'open') return;\n\n state.kind = 'complete';\n detach();\n resolveDone();\n };\n\n const fail = (reason: unknown): void => {\n if (state.kind !== 'open') return;\n\n state = { kind: 'error', queue: state.queue, reason };\n controller.abort();\n detach();\n\n while (pending.length > 0) pending.shift()?.reject(reason);\n };\n\n const stop = (): void => {\n controller.abort();\n detach();\n state = { kind: 'returned' };\n resolveDone();\n };\n\n const observer: Observer<T> = {\n complete,\n error: fail,\n next(value) {\n if (state.kind !== 'open') return;\n\n const waiter = pending.shift();\n\n if (waiter) {\n waiter.resolve({ done: false, value });\n\n return;\n }\n\n if (state.queue.length < options.capacity) {\n state.queue.push(value);\n\n return;\n }\n\n if (options.overflow === 'drop-oldest') {\n state.queue.shift();\n state.queue.push(value);\n } else if (options.overflow === 'error') {\n fail(new RangeError('Async iterable buffer capacity exceeded'));\n }\n },\n };\n\n if (options.signal?.aborted) stop();\n else options.signal?.addEventListener('abort', stop, { once: true });\n\n source.subscribe(observer, { signal: controller.signal });\n\n return {\n next(): Promise<IteratorResult<T>> {\n if (state.kind === 'returned') return Promise.resolve({ done: true, value: undefined as T });\n\n if (state.queue.length > 0) return Promise.resolve({ done: false, value: state.queue.shift()! });\n\n if (state.kind === 'error') return Promise.reject(state.reason);\n\n if (state.kind === 'complete') return Promise.resolve({ done: true, value: undefined as T });\n\n return new Promise<IteratorResult<T>>((resolve, reject) => pending.push({ reject, resolve }));\n },\n return(): Promise<IteratorResult<T>> {\n stop();\n\n return Promise.resolve({ done: true, value: undefined as T });\n },\n [Symbol.asyncIterator](): AsyncIterableIterator<T> {\n return this;\n },\n };\n}\n"],"mappings":"kCAcA,SAAgB,EAAc,EAAmB,EAAyD,CACxG,EAAA,sBAAsB,EAAQ,SAAU,yBAAyB,EAEjE,IAAM,EAAa,IAAI,gBACjB,EAAwB,CAAC,EAC3B,EAA0B,CAAE,KAAM,OAAQ,MAAO,CAAC,CAAE,EAElD,MAAqB,EAAQ,QAAQ,oBAAoB,QAAS,CAAI,EAEtE,MAA0B,CAC9B,KAAO,EAAQ,OAAS,GAAG,EAAQ,MAAM,CAAC,EAAE,QAAQ,CAAE,KAAM,GAAM,MAAO,IAAA,EAAe,CAAC,CAC3F,EAEM,MAAuB,CACvB,EAAM,OAAS,SAEnB,EAAM,KAAO,WACb,EAAO,EACP,EAAY,EACd,EAEM,EAAQ,GAA0B,CAClC,KAAM,OAAS,OAMnB,IAJA,EAAQ,CAAE,KAAM,QAAS,MAAO,EAAM,MAAO,QAAO,EACpD,EAAW,MAAM,EACjB,EAAO,EAEA,EAAQ,OAAS,GAAG,EAAQ,MAAM,CAAC,EAAE,OAAO,CAAM,CAC3D,EAEM,MAAmB,CACvB,EAAW,MAAM,EACjB,EAAO,EACP,EAAQ,CAAE,KAAM,UAAW,EAC3B,EAAY,CACd,EAEM,EAAwB,CAC5B,WACA,MAAO,EACP,KAAK,EAAO,CACV,GAAI,EAAM,OAAS,OAAQ,OAE3B,IAAM,EAAS,EAAQ,MAAM,EAE7B,GAAI,EAAQ,CACV,EAAO,QAAQ,CAAE,KAAM,GAAO,OAAM,CAAC,EAErC,MACF,CAEA,GAAI,EAAM,MAAM,OAAS,EAAQ,SAAU,CACzC,EAAM,MAAM,KAAK,CAAK,EAEtB,MACF,CAEI,EAAQ,WAAa,eACvB,EAAM,MAAM,MAAM,EAClB,EAAM,MAAM,KAAK,CAAK,GACb,EAAQ,WAAa,SAC9B,EAAS,WAAW,yCAAyC,CAAC,CAElE,CACF,EAOA,OALI,EAAQ,QAAQ,QAAS,EAAK,EAC7B,EAAQ,QAAQ,iBAAiB,QAAS,EAAM,CAAE,KAAM,EAAK,CAAC,EAEnE,EAAO,UAAU,EAAU,CAAE,OAAQ,EAAW,MAAO,CAAC,EAEjD,CACL,MAAmC,CASjC,OARI,EAAM,OAAS,WAAmB,QAAQ,QAAQ,CAAE,KAAM,GAAM,MAAO,IAAA,EAAe,CAAC,EAEvF,EAAM,MAAM,OAAS,EAAU,QAAQ,QAAQ,CAAE,KAAM,GAAO,MAAO,EAAM,MAAM,MAAM,CAAG,CAAC,EAE3F,EAAM,OAAS,QAAgB,QAAQ,OAAO,EAAM,MAAM,EAE1D,EAAM,OAAS,WAAmB,QAAQ,QAAQ,CAAE,KAAM,GAAM,MAAO,IAAA,EAAe,CAAC,EAEpF,IAAI,SAA4B,EAAS,IAAW,EAAQ,KAAK,CAAE,SAAQ,SAAQ,CAAC,CAAC,CAC9F,EACA,QAAqC,CAGnC,OAFA,EAAK,EAEE,QAAQ,QAAQ,CAAE,KAAM,GAAM,MAAO,IAAA,EAAe,CAAC,CAC9D,EACA,CAAC,OAAO,gBAA2C,CACjD,OAAO,IACT,CACF,CACF"}
|
package/dist/_iterator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_iterator.d.ts","sourceRoot":"","sources":["../src/_iterator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_iterator.d.ts","sourceRoot":"","sources":["../src/_iterator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAY,MAAM,EAAE,MAAM,SAAS,CAAC;AAYtE,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,qBAAqB,CAAC,CAAC,CAAC,CA6FxG"}
|
package/dist/_iterator.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
+
import { assertPositiveInteger as e } from "./_numeric.js";
|
|
1
2
|
//#region src/_iterator.ts
|
|
2
|
-
function e(e) {
|
|
3
|
-
if (!Number.isInteger(e.capacity) || e.capacity < 1) throw RangeError("Async iterable capacity must be a positive integer");
|
|
4
|
-
}
|
|
5
3
|
function t(t, n) {
|
|
6
|
-
e(n);
|
|
4
|
+
e(n.capacity, "Async iterable capacity");
|
|
7
5
|
let r = new AbortController(), i = [], a = {
|
|
8
6
|
kind: "open",
|
|
9
7
|
queue: []
|
|
10
8
|
}, o = () => n.signal?.removeEventListener("abort", u), s = () => {
|
|
11
|
-
for (; i.length > 0;) i.shift()
|
|
9
|
+
for (; i.length > 0;) i.shift()?.resolve({
|
|
12
10
|
done: !0,
|
|
13
11
|
value: void 0
|
|
14
12
|
});
|
|
@@ -19,7 +17,7 @@ function t(t, n) {
|
|
|
19
17
|
kind: "error",
|
|
20
18
|
queue: a.queue,
|
|
21
19
|
reason: e
|
|
22
|
-
}, r.abort(), o(); i.length > 0;) i.shift()
|
|
20
|
+
}, r.abort(), o(); i.length > 0;) i.shift()?.reject(e);
|
|
23
21
|
}, u = () => {
|
|
24
22
|
r.abort(), o(), a = { kind: "returned" }, s();
|
|
25
23
|
}, d = {
|
package/dist/_iterator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_iterator.js","names":[],"sources":["../src/_iterator.ts"],"sourcesContent":["import type { AsyncIterableOptions, Observer, Stream } from './types';\n\ntype Pending<T> = {\n reject(reason: unknown): void;\n resolve(result: IteratorResult<T>): void;\n};\n\ntype IteratorState<T> =\n { kind: 'complete' | 'open'; queue: T[] }
|
|
1
|
+
{"version":3,"file":"_iterator.js","names":[],"sources":["../src/_iterator.ts"],"sourcesContent":["import { assertPositiveInteger } from './_numeric';\nimport type { AsyncIterableOptions, Observer, Stream } from './types';\n\ntype Pending<T> = {\n reject(reason: unknown): void;\n resolve(result: IteratorResult<T>): void;\n};\n\ntype IteratorState<T> =\n | { kind: 'complete' | 'open'; queue: T[] }\n | { kind: 'error'; queue: T[]; reason: unknown }\n | { kind: 'returned' };\n\n/** Async iteration requires explicit queue policy because streams are push based. */\nexport function toIterator<T>(source: Stream<T>, options: AsyncIterableOptions): AsyncIterableIterator<T> {\n assertPositiveInteger(options.capacity, 'Async iterable capacity');\n\n const controller = new AbortController();\n const pending: Pending<T>[] = [];\n let state: IteratorState<T> = { kind: 'open', queue: [] };\n\n const detach = (): void => options.signal?.removeEventListener('abort', stop);\n\n const resolveDone = (): void => {\n while (pending.length > 0) pending.shift()?.resolve({ done: true, value: undefined as T });\n };\n\n const complete = (): void => {\n if (state.kind !== 'open') return;\n\n state.kind = 'complete';\n detach();\n resolveDone();\n };\n\n const fail = (reason: unknown): void => {\n if (state.kind !== 'open') return;\n\n state = { kind: 'error', queue: state.queue, reason };\n controller.abort();\n detach();\n\n while (pending.length > 0) pending.shift()?.reject(reason);\n };\n\n const stop = (): void => {\n controller.abort();\n detach();\n state = { kind: 'returned' };\n resolveDone();\n };\n\n const observer: Observer<T> = {\n complete,\n error: fail,\n next(value) {\n if (state.kind !== 'open') return;\n\n const waiter = pending.shift();\n\n if (waiter) {\n waiter.resolve({ done: false, value });\n\n return;\n }\n\n if (state.queue.length < options.capacity) {\n state.queue.push(value);\n\n return;\n }\n\n if (options.overflow === 'drop-oldest') {\n state.queue.shift();\n state.queue.push(value);\n } else if (options.overflow === 'error') {\n fail(new RangeError('Async iterable buffer capacity exceeded'));\n }\n },\n };\n\n if (options.signal?.aborted) stop();\n else options.signal?.addEventListener('abort', stop, { once: true });\n\n source.subscribe(observer, { signal: controller.signal });\n\n return {\n next(): Promise<IteratorResult<T>> {\n if (state.kind === 'returned') return Promise.resolve({ done: true, value: undefined as T });\n\n if (state.queue.length > 0) return Promise.resolve({ done: false, value: state.queue.shift()! });\n\n if (state.kind === 'error') return Promise.reject(state.reason);\n\n if (state.kind === 'complete') return Promise.resolve({ done: true, value: undefined as T });\n\n return new Promise<IteratorResult<T>>((resolve, reject) => pending.push({ reject, resolve }));\n },\n return(): Promise<IteratorResult<T>> {\n stop();\n\n return Promise.resolve({ done: true, value: undefined as T });\n },\n [Symbol.asyncIterator](): AsyncIterableIterator<T> {\n return this;\n },\n };\n}\n"],"mappings":";;AAcA,SAAgB,EAAc,GAAmB,GAAyD;CACxG,EAAsB,EAAQ,UAAU,yBAAyB;CAEjE,IAAM,IAAa,IAAI,gBAAgB,GACjC,IAAwB,CAAC,GAC3B,IAA0B;EAAE,MAAM;EAAQ,OAAO,CAAC;CAAE,GAElD,UAAqB,EAAQ,QAAQ,oBAAoB,SAAS,CAAI,GAEtE,UAA0B;EAC9B,OAAO,EAAQ,SAAS,IAAG,EAAQ,MAAM,CAAC,EAAE,QAAQ;GAAE,MAAM;GAAM,OAAO,KAAA;EAAe,CAAC;CAC3F,GAEM,UAAuB;EACvB,EAAM,SAAS,WAEnB,EAAM,OAAO,YACb,EAAO,GACP,EAAY;CACd,GAEM,KAAQ,MAA0B;EAClC,MAAM,SAAS,QAMnB,KAJA,IAAQ;GAAE,MAAM;GAAS,OAAO,EAAM;GAAO;EAAO,GACpD,EAAW,MAAM,GACjB,EAAO,GAEA,EAAQ,SAAS,IAAG,EAAQ,MAAM,CAAC,EAAE,OAAO,CAAM;CAC3D,GAEM,UAAmB;EAIvB,AAHA,EAAW,MAAM,GACjB,EAAO,GACP,IAAQ,EAAE,MAAM,WAAW,GAC3B,EAAY;CACd,GAEM,IAAwB;EAC5B;EACA,OAAO;EACP,KAAK,GAAO;GACV,IAAI,EAAM,SAAS,QAAQ;GAE3B,IAAM,IAAS,EAAQ,MAAM;GAE7B,IAAI,GAAQ;IACV,EAAO,QAAQ;KAAE,MAAM;KAAO;IAAM,CAAC;IAErC;GACF;GAEA,IAAI,EAAM,MAAM,SAAS,EAAQ,UAAU;IACzC,EAAM,MAAM,KAAK,CAAK;IAEtB;GACF;GAEA,AAAI,EAAQ,aAAa,iBACvB,EAAM,MAAM,MAAM,GAClB,EAAM,MAAM,KAAK,CAAK,KACb,EAAQ,aAAa,WAC9B,EAAK,gBAAI,WAAW,yCAAyC,CAAC;EAElE;CACF;CAOA,OALI,EAAQ,QAAQ,UAAS,EAAK,IAC7B,EAAQ,QAAQ,iBAAiB,SAAS,GAAM,EAAE,MAAM,GAAK,CAAC,GAEnE,EAAO,UAAU,GAAU,EAAE,QAAQ,EAAW,OAAO,CAAC,GAEjD;EACL,OAAmC;GASjC,OARI,EAAM,SAAS,aAAmB,QAAQ,QAAQ;IAAE,MAAM;IAAM,OAAO,KAAA;GAAe,CAAC,IAEvF,EAAM,MAAM,SAAS,IAAU,QAAQ,QAAQ;IAAE,MAAM;IAAO,OAAO,EAAM,MAAM,MAAM;GAAG,CAAC,IAE3F,EAAM,SAAS,UAAgB,QAAQ,OAAO,EAAM,MAAM,IAE1D,EAAM,SAAS,aAAmB,QAAQ,QAAQ;IAAE,MAAM;IAAM,OAAO,KAAA;GAAe,CAAC,IAEpF,IAAI,SAA4B,GAAS,MAAW,EAAQ,KAAK;IAAE;IAAQ;GAAQ,CAAC,CAAC;EAC9F;EACA,SAAqC;GAGnC,OAFA,EAAK,GAEE,QAAQ,QAAQ;IAAE,MAAM;IAAM,OAAO,KAAA;GAAe,CAAC;EAC9D;EACA,CAAC,OAAO,iBAA2C;GACjD,OAAO;EACT;CACF;AACF"}
|
package/dist/_numeric.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t){if(!Number.isInteger(e)||e<0)throw RangeError(`${t} must be a non-negative integer`)}exports.assertNonNegativeInteger=e;
|
|
1
|
+
function e(e,t){if(!Number.isInteger(e)||e<0)throw RangeError(`${t} must be a non-negative integer`)}function t(e,t){if(!Number.isInteger(e)||e<1)throw RangeError(`${t} must be a positive integer`)}function n(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be a finite number greater than or equal to zero`)}exports.assertDuration=n,exports.assertNonNegativeInteger=e,exports.assertPositiveInteger=t;
|
|
2
2
|
//# sourceMappingURL=_numeric.cjs.map
|
package/dist/_numeric.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_numeric.cjs","names":[],"sources":["../src/_numeric.ts"],"sourcesContent":["export function assertNonNegativeInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 0) {\n throw new RangeError(`${name} must be a non-negative integer`);\n }\n}\n\nexport function assertPositiveInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer`);\n }\n}\n"],"mappings":"AAAA,SAAgB,EAAyB,EAAe,EAAoB,CAC1E,GAAI,CAAC,OAAO,UAAU,CAAK,GAAK,EAAQ,EACtC,MAAU,WAAW,GAAG,EAAK,gCAAgC,CAEjE"}
|
|
1
|
+
{"version":3,"file":"_numeric.cjs","names":[],"sources":["../src/_numeric.ts"],"sourcesContent":["export function assertNonNegativeInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 0) {\n throw new RangeError(`${name} must be a non-negative integer`);\n }\n}\n\nexport function assertPositiveInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer`);\n }\n}\n\nexport function assertDuration(milliseconds: number, name: string): void {\n if (!Number.isFinite(milliseconds) || milliseconds < 0) {\n throw new RangeError(`${name} must be a finite number greater than or equal to zero`);\n }\n}\n"],"mappings":"AAAA,SAAgB,EAAyB,EAAe,EAAoB,CAC1E,GAAI,CAAC,OAAO,UAAU,CAAK,GAAK,EAAQ,EACtC,MAAU,WAAW,GAAG,EAAK,gCAAgC,CAEjE,CAEA,SAAgB,EAAsB,EAAe,EAAoB,CACvE,GAAI,CAAC,OAAO,UAAU,CAAK,GAAK,EAAQ,EACtC,MAAU,WAAW,GAAG,EAAK,4BAA4B,CAE7D,CAEA,SAAgB,EAAe,EAAsB,EAAoB,CACvE,GAAI,CAAC,OAAO,SAAS,CAAY,GAAK,EAAe,EACnD,MAAU,WAAW,GAAG,EAAK,uDAAuD,CAExF"}
|
package/dist/_numeric.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare function assertNonNegativeInteger(value: number, name: string): void;
|
|
2
2
|
export declare function assertPositiveInteger(value: number, name: string): void;
|
|
3
|
+
export declare function assertDuration(milliseconds: number, name: string): void;
|
|
3
4
|
//# sourceMappingURL=_numeric.d.ts.map
|
package/dist/_numeric.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_numeric.d.ts","sourceRoot":"","sources":["../src/_numeric.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIvE"}
|
|
1
|
+
{"version":3,"file":"_numeric.d.ts","sourceRoot":"","sources":["../src/_numeric.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIvE"}
|
package/dist/_numeric.js
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
function e(e, t) {
|
|
3
3
|
if (!Number.isInteger(e) || e < 0) throw RangeError(`${t} must be a non-negative integer`);
|
|
4
4
|
}
|
|
5
|
+
function t(e, t) {
|
|
6
|
+
if (!Number.isInteger(e) || e < 1) throw RangeError(`${t} must be a positive integer`);
|
|
7
|
+
}
|
|
8
|
+
function n(e, t) {
|
|
9
|
+
if (!Number.isFinite(e) || e < 0) throw RangeError(`${t} must be a finite number greater than or equal to zero`);
|
|
10
|
+
}
|
|
5
11
|
//#endregion
|
|
6
|
-
export { e as assertNonNegativeInteger };
|
|
12
|
+
export { n as assertDuration, e as assertNonNegativeInteger, t as assertPositiveInteger };
|
|
7
13
|
|
|
8
14
|
//# sourceMappingURL=_numeric.js.map
|
package/dist/_numeric.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_numeric.js","names":[],"sources":["../src/_numeric.ts"],"sourcesContent":["export function assertNonNegativeInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 0) {\n throw new RangeError(`${name} must be a non-negative integer`);\n }\n}\n\nexport function assertPositiveInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer`);\n }\n}\n"],"mappings":";AAAA,SAAgB,EAAyB,GAAe,GAAoB;CAC1E,IAAI,CAAC,OAAO,UAAU,CAAK,KAAK,IAAQ,GACtC,MAAU,WAAW,GAAG,EAAK,gCAAgC;AAEjE"}
|
|
1
|
+
{"version":3,"file":"_numeric.js","names":[],"sources":["../src/_numeric.ts"],"sourcesContent":["export function assertNonNegativeInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 0) {\n throw new RangeError(`${name} must be a non-negative integer`);\n }\n}\n\nexport function assertPositiveInteger(value: number, name: string): void {\n if (!Number.isInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer`);\n }\n}\n\nexport function assertDuration(milliseconds: number, name: string): void {\n if (!Number.isFinite(milliseconds) || milliseconds < 0) {\n throw new RangeError(`${name} must be a finite number greater than or equal to zero`);\n }\n}\n"],"mappings":";AAAA,SAAgB,EAAyB,GAAe,GAAoB;CAC1E,IAAI,CAAC,OAAO,UAAU,CAAK,KAAK,IAAQ,GACtC,MAAU,WAAW,GAAG,EAAK,gCAAgC;AAEjE;AAEA,SAAgB,EAAsB,GAAe,GAAoB;CACvE,IAAI,CAAC,OAAO,UAAU,CAAK,KAAK,IAAQ,GACtC,MAAU,WAAW,GAAG,EAAK,4BAA4B;AAE7D;AAEA,SAAgB,EAAe,GAAsB,GAAoB;CACvE,IAAI,CAAC,OAAO,SAAS,CAAY,KAAK,IAAe,GACnD,MAAU,WAAW,GAAG,EAAK,uDAAuD;AAExF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_subscription.cjs","names":[],"sources":["../src/_subscription.ts"],"sourcesContent":["import type { Observer, Sink, Subscription, Teardown } from './types';\n\nfunction reportUnhandledError(reason: unknown): void {\n const reportError = (globalThis as { reportError?: (value: unknown) => void }).reportError;\n\n if (reportError) {\n reportError(reason);\n\n return;\n }\n\n queueMicrotask(() => {\n throw reason;\n });\n}\n\nexport function createSubscription<T>(\n observerOrNext: Observer<T> | ((value: T) => void),\n signal?: AbortSignal,\n): { add(teardown: Teardown |
|
|
1
|
+
{"version":3,"file":"_subscription.cjs","names":[],"sources":["../src/_subscription.ts"],"sourcesContent":["import type { Observer, Sink, Subscription, Teardown } from './types';\n\nfunction reportUnhandledError(reason: unknown): void {\n const reportError = (globalThis as { reportError?: (value: unknown) => void }).reportError;\n\n if (reportError) {\n reportError(reason);\n\n return;\n }\n\n queueMicrotask(() => {\n throw reason;\n });\n}\n\nexport function createSubscription<T>(\n observerOrNext: Observer<T> | ((value: T) => void),\n signal?: AbortSignal,\n): { add(teardown: Teardown | undefined): void; signal: AbortSignal; sink: Sink<T>; subscription: Subscription } {\n const observer: Observer<T> = typeof observerOrNext === 'function' ? { next: observerOrNext } : observerOrNext;\n const controller = new AbortController();\n let closed = false;\n let teardown: Teardown | undefined;\n\n const unsubscribe = (): void => {\n if (closed) return;\n\n closed = true;\n controller.abort();\n signal?.removeEventListener('abort', unsubscribe);\n\n try {\n teardown?.();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n };\n\n const sink: Sink<T> = {\n complete(): void {\n if (closed) return;\n\n try {\n observer.complete?.();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n\n unsubscribe();\n },\n\n error(reason: unknown): void {\n if (closed) return;\n\n if (observer.error) {\n try {\n observer.error(reason);\n } catch (callbackError) {\n reportUnhandledError(callbackError);\n }\n } else {\n reportUnhandledError(reason);\n }\n\n unsubscribe();\n },\n\n next(value: T): void {\n if (closed) return;\n\n try {\n observer.next(value);\n } catch (reason) {\n unsubscribe();\n reportUnhandledError(reason);\n }\n },\n };\n\n const add = (nextTeardown: Teardown | undefined): void => {\n if (!nextTeardown) return;\n\n if (closed) {\n try {\n nextTeardown();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n\n return;\n }\n\n teardown = nextTeardown;\n };\n\n if (signal?.aborted) {\n unsubscribe();\n } else {\n signal?.addEventListener('abort', unsubscribe, { once: true });\n }\n\n return {\n add,\n signal: controller.signal,\n sink,\n subscription: {\n get closed(): boolean {\n return closed;\n },\n [Symbol.dispose]: unsubscribe,\n unsubscribe,\n },\n };\n}\n"],"mappings":"AAEA,SAAS,EAAqB,EAAuB,CACnD,IAAM,EAAe,WAA0D,YAE/E,GAAI,EAAa,CACf,EAAY,CAAM,EAElB,MACF,CAEA,mBAAqB,CACnB,MAAM,CACR,CAAC,CACH,CAEA,SAAgB,EACd,EACA,EAC+G,CAC/G,IAAM,EAAwB,OAAO,GAAmB,WAAa,CAAE,KAAM,CAAe,EAAI,EAC1F,EAAa,IAAI,gBACnB,EAAS,GACT,EAEE,MAA0B,CAC1B,MAIJ,CAFA,EAAS,GACT,EAAW,MAAM,EACjB,GAAQ,oBAAoB,QAAS,CAAW,EAEhD,GAAI,CACF,IAAW,CACb,OAAS,EAAQ,CACf,EAAqB,CAAM,CAC7B,CANgD,CAOlD,EAiEA,OANI,GAAQ,QACV,EAAY,EAEZ,GAAQ,iBAAiB,QAAS,EAAa,CAAE,KAAM,EAAK,CAAC,EAGxD,CACL,IAvBW,GAA6C,CACnD,KAEL,IAAI,EAAQ,CACV,GAAI,CACF,EAAa,CACf,OAAS,EAAQ,CACf,EAAqB,CAAM,CAC7B,CAEA,MACF,CAEA,EAAW,CAFX,CAGF,EAUE,OAAQ,EAAW,OACnB,MAjEA,UAAiB,CACX,MAEJ,IAAI,CACF,EAAS,WAAW,CACtB,OAAS,EAAQ,CACf,EAAqB,CAAM,CAC7B,CAEA,EAAY,CAFZ,CAGF,EAEA,MAAM,EAAuB,CACvB,MAEJ,IAAI,EAAS,MACX,GAAI,CACF,EAAS,MAAM,CAAM,CACvB,OAAS,EAAe,CACtB,EAAqB,CAAa,CACpC,MAEA,EAAqB,CAAM,EAG7B,EAAY,CAHiB,CAI/B,EAEA,KAAK,EAAgB,CACf,MAEJ,GAAI,CACF,EAAS,KAAK,CAAK,CACrB,OAAS,EAAQ,CACf,EAAY,EACZ,EAAqB,CAAM,CAC7B,CACF,CA4BA,EACA,aAAc,CACZ,IAAI,QAAkB,CACpB,OAAO,CACT,GACC,OAAO,SAAU,EAClB,aACF,CACF,CACF"}
|
package/dist/_subscription.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Observer, Sink, Subscription, Teardown } from './types';
|
|
2
2
|
export declare function createSubscription<T>(observerOrNext: Observer<T> | ((value: T) => void), signal?: AbortSignal): {
|
|
3
|
-
add(teardown: Teardown |
|
|
3
|
+
add(teardown: Teardown | undefined): void;
|
|
4
4
|
signal: AbortSignal;
|
|
5
5
|
sink: Sink<T>;
|
|
6
6
|
subscription: Subscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_subscription.d.ts","sourceRoot":"","sources":["../src/_subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgBtE,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,EAClD,MAAM,CAAC,EAAE,WAAW,GACnB;IAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"_subscription.d.ts","sourceRoot":"","sources":["../src/_subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgBtE,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,EAClD,MAAM,CAAC,EAAE,WAAW,GACnB;IAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CA+F/G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_subscription.js","names":[],"sources":["../src/_subscription.ts"],"sourcesContent":["import type { Observer, Sink, Subscription, Teardown } from './types';\n\nfunction reportUnhandledError(reason: unknown): void {\n const reportError = (globalThis as { reportError?: (value: unknown) => void }).reportError;\n\n if (reportError) {\n reportError(reason);\n\n return;\n }\n\n queueMicrotask(() => {\n throw reason;\n });\n}\n\nexport function createSubscription<T>(\n observerOrNext: Observer<T> | ((value: T) => void),\n signal?: AbortSignal,\n): { add(teardown: Teardown |
|
|
1
|
+
{"version":3,"file":"_subscription.js","names":[],"sources":["../src/_subscription.ts"],"sourcesContent":["import type { Observer, Sink, Subscription, Teardown } from './types';\n\nfunction reportUnhandledError(reason: unknown): void {\n const reportError = (globalThis as { reportError?: (value: unknown) => void }).reportError;\n\n if (reportError) {\n reportError(reason);\n\n return;\n }\n\n queueMicrotask(() => {\n throw reason;\n });\n}\n\nexport function createSubscription<T>(\n observerOrNext: Observer<T> | ((value: T) => void),\n signal?: AbortSignal,\n): { add(teardown: Teardown | undefined): void; signal: AbortSignal; sink: Sink<T>; subscription: Subscription } {\n const observer: Observer<T> = typeof observerOrNext === 'function' ? { next: observerOrNext } : observerOrNext;\n const controller = new AbortController();\n let closed = false;\n let teardown: Teardown | undefined;\n\n const unsubscribe = (): void => {\n if (closed) return;\n\n closed = true;\n controller.abort();\n signal?.removeEventListener('abort', unsubscribe);\n\n try {\n teardown?.();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n };\n\n const sink: Sink<T> = {\n complete(): void {\n if (closed) return;\n\n try {\n observer.complete?.();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n\n unsubscribe();\n },\n\n error(reason: unknown): void {\n if (closed) return;\n\n if (observer.error) {\n try {\n observer.error(reason);\n } catch (callbackError) {\n reportUnhandledError(callbackError);\n }\n } else {\n reportUnhandledError(reason);\n }\n\n unsubscribe();\n },\n\n next(value: T): void {\n if (closed) return;\n\n try {\n observer.next(value);\n } catch (reason) {\n unsubscribe();\n reportUnhandledError(reason);\n }\n },\n };\n\n const add = (nextTeardown: Teardown | undefined): void => {\n if (!nextTeardown) return;\n\n if (closed) {\n try {\n nextTeardown();\n } catch (reason) {\n reportUnhandledError(reason);\n }\n\n return;\n }\n\n teardown = nextTeardown;\n };\n\n if (signal?.aborted) {\n unsubscribe();\n } else {\n signal?.addEventListener('abort', unsubscribe, { once: true });\n }\n\n return {\n add,\n signal: controller.signal,\n sink,\n subscription: {\n get closed(): boolean {\n return closed;\n },\n [Symbol.dispose]: unsubscribe,\n unsubscribe,\n },\n };\n}\n"],"mappings":";AAEA,SAAS,EAAqB,GAAuB;CACnD,IAAM,IAAe,WAA0D;CAE/E,IAAI,GAAa;EACf,EAAY,CAAM;EAElB;CACF;CAEA,qBAAqB;EACnB,MAAM;CACR,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GAC+G;CAC/G,IAAM,IAAwB,OAAO,KAAmB,aAAa,EAAE,MAAM,EAAe,IAAI,GAC1F,IAAa,IAAI,gBAAgB,GACnC,IAAS,IACT,GAEE,UAA0B;EAC1B,QAIJ;GAFA,IAAS,IACT,EAAW,MAAM,GACjB,GAAQ,oBAAoB,SAAS,CAAW;GAEhD,IAAI;IACF,IAAW;GACb,SAAS,GAAQ;IACf,EAAqB,CAAM;GAC7B;EANgD;CAOlD;CAiEA,OANI,GAAQ,UACV,EAAY,IAEZ,GAAQ,iBAAiB,SAAS,GAAa,EAAE,MAAM,GAAK,CAAC,GAGxD;EACL,MAvBW,MAA6C;GACnD,OAEL;QAAI,GAAQ;KACV,IAAI;MACF,EAAa;KACf,SAAS,GAAQ;MACf,EAAqB,CAAM;KAC7B;KAEA;IACF;IAEA,IAAW;GAFX;EAGF;EAUE,QAAQ,EAAW;EACnB;GAjEA,WAAiB;IACX,QAEJ;SAAI;MACF,EAAS,WAAW;KACtB,SAAS,GAAQ;MACf,EAAqB,CAAM;KAC7B;KAEA,EAAY;IAFZ;GAGF;GAEA,MAAM,GAAuB;IACvB,QAEJ;SAAI,EAAS,OACX,IAAI;MACF,EAAS,MAAM,CAAM;KACvB,SAAS,GAAe;MACtB,EAAqB,CAAa;KACpC;UAEA,EAAqB,CAAM;KAG7B,EAAY;IAHiB;GAI/B;GAEA,KAAK,GAAgB;IACf,QAEJ,IAAI;KACF,EAAS,KAAK,CAAK;IACrB,SAAS,GAAQ;KAEf,AADA,EAAY,GACZ,EAAqB,CAAM;IAC7B;GACF;EA4BA;EACA,cAAc;GACZ,IAAI,SAAkB;IACpB,OAAO;GACT;IACC,OAAO,UAAU;GAClB;EACF;CACF;AACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../core.cjs");function t(t,n){return e.stream(
|
|
1
|
+
const e=require("../core.cjs");function t(t,n){return e.stream(e=>{let r=()=>t.getSnapshot(n.key);return e.next(r()),t.subscribe(n.key,()=>e.next(r()))})}exports.fromQuery=t;
|
|
2
2
|
//# sourceMappingURL=courier.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"courier.cjs","names":[],"sources":["../../src/adapters/courier.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"courier.cjs","names":[],"sources":["../../src/adapters/courier.ts"],"sourcesContent":["import { stream } from '../core';\nimport type { Stream } from '../types';\n\ntype QueryCache = {\n getSnapshot<T>(key: readonly unknown[]): T | null;\n subscribe(key: readonly unknown[], onStoreChange: () => void): () => void;\n};\n\ntype QueryDefinition = {\n fetch: (...args: never[]) => Promise<unknown>;\n key: readonly unknown[];\n};\n\ntype QuerySnapshot<T> =\n | {\n readonly data: undefined;\n readonly error: null;\n readonly isFetching: boolean;\n readonly status: 'loading';\n readonly updatedAt: undefined;\n }\n | {\n readonly data: T;\n readonly error: null;\n readonly isFetching: boolean;\n readonly status: 'success';\n readonly updatedAt: number;\n }\n | {\n readonly data: T | undefined;\n readonly error: Error;\n readonly isFetching: false;\n readonly status: 'error';\n readonly updatedAt: number;\n };\n\nexport function fromQuery<T extends QueryDefinition>(\n cache: QueryCache,\n definition: T,\n): Stream<QuerySnapshot<Awaited<ReturnType<T['fetch']>>> | null> {\n return stream((sink) => {\n const snapshot = () => cache.getSnapshot<QuerySnapshot<Awaited<ReturnType<T['fetch']>>>>(definition.key);\n\n sink.next(snapshot());\n\n return cache.subscribe(definition.key, () => sink.next(snapshot()));\n });\n}\n"],"mappings":"+BAoCA,SAAgB,EACd,EACA,EAC+D,CAC/D,OAAO,EAAA,OAAQ,GAAS,CACtB,IAAM,MAAiB,EAAM,YAA4D,EAAW,GAAG,EAIvG,OAFA,EAAK,KAAK,EAAS,CAAC,EAEb,EAAM,UAAU,EAAW,QAAW,EAAK,KAAK,EAAS,CAAC,CAAC,CACpE,CAAC,CACH"}
|
|
@@ -26,11 +26,6 @@ type QuerySnapshot<T> = {
|
|
|
26
26
|
readonly status: 'error';
|
|
27
27
|
readonly updatedAt: number;
|
|
28
28
|
};
|
|
29
|
-
type StreamEvent<T> = {
|
|
30
|
-
readonly data: T;
|
|
31
|
-
readonly event: string;
|
|
32
|
-
};
|
|
33
|
-
export declare function fromSse<T>(source: AsyncIterable<StreamEvent<T>>, event: string): Stream<T>;
|
|
34
29
|
export declare function fromQuery<T extends QueryDefinition>(cache: QueryCache, definition: T): Stream<QuerySnapshot<Awaited<ReturnType<T['fetch']>>> | null>;
|
|
35
30
|
export {};
|
|
36
31
|
//# sourceMappingURL=courier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"courier.d.ts","sourceRoot":"","sources":["../../src/adapters/courier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"courier.d.ts","sourceRoot":"","sources":["../../src/adapters/courier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,KAAK,UAAU,GAAG;IAChB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3E,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAChB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEN,wBAAgB,SAAS,CAAC,CAAC,SAAS,eAAe,EACjD,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,CAAC,GACZ,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAQ/D"}
|
package/dist/adapters/courier.js
CHANGED
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import { stream as e } from "../core.js";
|
|
2
2
|
//#region src/adapters/courier.ts
|
|
3
3
|
function t(t, n) {
|
|
4
|
-
return e((e, r) => {
|
|
5
|
-
let i = t[Symbol.asyncIterator]();
|
|
6
|
-
return (async () => {
|
|
7
|
-
try {
|
|
8
|
-
for (; !r.aborted;) {
|
|
9
|
-
let t = await i.next();
|
|
10
|
-
if (t.done) {
|
|
11
|
-
e.complete();
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
t.value.event === n && e.next(t.value.data);
|
|
15
|
-
}
|
|
16
|
-
} catch (t) {
|
|
17
|
-
r.aborted || e.error(t);
|
|
18
|
-
}
|
|
19
|
-
})(), () => {
|
|
20
|
-
i.return?.();
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
function n(t, n) {
|
|
25
4
|
return e((e) => {
|
|
26
5
|
let r = () => t.getSnapshot(n.key);
|
|
27
6
|
return e.next(r()), t.subscribe(n.key, () => e.next(r()));
|
|
28
7
|
});
|
|
29
8
|
}
|
|
30
9
|
//#endregion
|
|
31
|
-
export {
|
|
10
|
+
export { t as fromQuery };
|
|
32
11
|
|
|
33
12
|
//# sourceMappingURL=courier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"courier.js","names":[],"sources":["../../src/adapters/courier.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"courier.js","names":[],"sources":["../../src/adapters/courier.ts"],"sourcesContent":["import { stream } from '../core';\nimport type { Stream } from '../types';\n\ntype QueryCache = {\n getSnapshot<T>(key: readonly unknown[]): T | null;\n subscribe(key: readonly unknown[], onStoreChange: () => void): () => void;\n};\n\ntype QueryDefinition = {\n fetch: (...args: never[]) => Promise<unknown>;\n key: readonly unknown[];\n};\n\ntype QuerySnapshot<T> =\n | {\n readonly data: undefined;\n readonly error: null;\n readonly isFetching: boolean;\n readonly status: 'loading';\n readonly updatedAt: undefined;\n }\n | {\n readonly data: T;\n readonly error: null;\n readonly isFetching: boolean;\n readonly status: 'success';\n readonly updatedAt: number;\n }\n | {\n readonly data: T | undefined;\n readonly error: Error;\n readonly isFetching: false;\n readonly status: 'error';\n readonly updatedAt: number;\n };\n\nexport function fromQuery<T extends QueryDefinition>(\n cache: QueryCache,\n definition: T,\n): Stream<QuerySnapshot<Awaited<ReturnType<T['fetch']>>> | null> {\n return stream((sink) => {\n const snapshot = () => cache.getSnapshot<QuerySnapshot<Awaited<ReturnType<T['fetch']>>>>(definition.key);\n\n sink.next(snapshot());\n\n return cache.subscribe(definition.key, () => sink.next(snapshot()));\n });\n}\n"],"mappings":";;AAoCA,SAAgB,EACd,GACA,GAC+D;CAC/D,OAAO,GAAQ,MAAS;EACtB,IAAM,UAAiB,EAAM,YAA4D,EAAW,GAAG;EAIvG,OAFA,EAAK,KAAK,EAAS,CAAC,GAEb,EAAM,UAAU,EAAW,WAAW,EAAK,KAAK,EAAS,CAAC,CAAC;CACpE,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herald.cjs","names":[],"sources":["../../src/adapters/herald.ts"],"sourcesContent":["import type { Bus, EventKey, EventMap } from '@vielzeug/herald';\
|
|
1
|
+
{"version":3,"file":"herald.cjs","names":[],"sources":["../../src/adapters/herald.ts"],"sourcesContent":["import type { Bus, EventKey, EventMap } from '@vielzeug/herald';\nimport { link } from '../_link';\nimport { tryCall } from '../_safe';\nimport { stream } from '../core';\nimport type { Operator, Stream } from '../types';\n\nexport function fromBus<T extends EventMap, K extends EventKey<T>>(bus: Bus<T>, event: K): Stream<T[K]> {\n return stream((sink) => bus.on(event, (payload) => sink.next(payload)));\n}\n\nexport function toBus<T extends EventMap, K extends EventKey<T>>(bus: Bus<T>, event: K): Operator<T[K], T[K]> {\n return (source) =>\n stream(\n (sink, signal) =>\n link(\n source,\n {\n complete: sink.complete,\n error: sink.error,\n next(value) {\n tryCall(() => {\n bus.emit(event, ...((value === undefined ? [] : [value]) as T[K] extends void ? [] : [T[K]]));\n sink.next(value);\n }, sink.error);\n },\n },\n signal,\n ).unsubscribe,\n );\n}\n"],"mappings":"mFAMA,SAAgB,EAAmD,EAAa,EAAwB,CACtG,OAAO,EAAA,OAAQ,GAAS,EAAI,GAAG,EAAQ,GAAY,EAAK,KAAK,CAAO,CAAC,CAAC,CACxE,CAEA,SAAgB,EAAiD,EAAa,EAAgC,CAC5G,MAAQ,IACN,EAAA,QACG,EAAM,IACL,EAAA,KACE,EACA,CACE,SAAU,EAAK,SACf,MAAO,EAAK,MACZ,KAAK,EAAO,CACV,EAAA,YAAc,CACZ,EAAI,KAAK,EAAO,GAAK,IAAU,IAAA,GAAY,CAAC,EAAI,CAAC,CAAK,CAAsC,EAC5F,EAAK,KAAK,CAAK,CACjB,EAAG,EAAK,KAAK,CACf,CACF,EACA,CACF,CAAC,CAAC,WACN,CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herald.d.ts","sourceRoot":"","sources":["../../src/adapters/herald.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"herald.d.ts","sourceRoot":"","sources":["../../src/adapters/herald.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtG;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAmB5G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herald.js","names":[],"sources":["../../src/adapters/herald.ts"],"sourcesContent":["import type { Bus, EventKey, EventMap } from '@vielzeug/herald';\
|
|
1
|
+
{"version":3,"file":"herald.js","names":[],"sources":["../../src/adapters/herald.ts"],"sourcesContent":["import type { Bus, EventKey, EventMap } from '@vielzeug/herald';\nimport { link } from '../_link';\nimport { tryCall } from '../_safe';\nimport { stream } from '../core';\nimport type { Operator, Stream } from '../types';\n\nexport function fromBus<T extends EventMap, K extends EventKey<T>>(bus: Bus<T>, event: K): Stream<T[K]> {\n return stream((sink) => bus.on(event, (payload) => sink.next(payload)));\n}\n\nexport function toBus<T extends EventMap, K extends EventKey<T>>(bus: Bus<T>, event: K): Operator<T[K], T[K]> {\n return (source) =>\n stream(\n (sink, signal) =>\n link(\n source,\n {\n complete: sink.complete,\n error: sink.error,\n next(value) {\n tryCall(() => {\n bus.emit(event, ...((value === undefined ? [] : [value]) as T[K] extends void ? [] : [T[K]]));\n sink.next(value);\n }, sink.error);\n },\n },\n signal,\n ).unsubscribe,\n );\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAmD,GAAa,GAAwB;CACtG,OAAO,GAAQ,MAAS,EAAI,GAAG,IAAQ,MAAY,EAAK,KAAK,CAAO,CAAC,CAAC;AACxE;AAEA,SAAgB,EAAiD,GAAa,GAAgC;CAC5G,QAAQ,MACN,GACG,GAAM,MACL,EACE,GACA;EACE,UAAU,EAAK;EACf,OAAO,EAAK;EACZ,KAAK,GAAO;GACV,QAAc;IAEZ,AADA,EAAI,KAAK,GAAO,GAAK,MAAU,KAAA,IAAY,CAAC,IAAI,CAAC,CAAK,CAAsC,GAC5F,EAAK,KAAK,CAAK;GACjB,GAAG,EAAK,KAAK;EACf;CACF,GACA,CACF,CAAC,CAAC,WACN;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.cjs","names":[],"sources":["../../src/adapters/pulse.ts"],"sourcesContent":["import type { EventKey, MessageMap, PresenceChannel, Pulse } from '@vielzeug/pulse';\
|
|
1
|
+
{"version":3,"file":"pulse.cjs","names":[],"sources":["../../src/adapters/pulse.ts"],"sourcesContent":["import type { EventKey, MessageMap, PresenceChannel, Pulse } from '@vielzeug/pulse';\nimport { stream } from '../core';\nimport type { Stream } from '../types';\n\nexport function fromPulse<T extends MessageMap, K extends EventKey<T>>(pulse: Pulse<T>, event: K): Stream<T[K]> {\n return stream((sink) => pulse.on(event, (payload) => sink.next(payload)));\n}\n\nexport function fromPresence<T>(presence: PresenceChannel<T>): Stream<ReadonlyMap<string, T>> {\n return stream((sink) => {\n sink.next(presence.state.value);\n\n const stopJoin = presence.onJoin(() => sink.next(presence.state.value));\n const stopLeave = presence.onLeave(() => sink.next(presence.state.value));\n\n return () => {\n stopJoin();\n stopLeave();\n };\n });\n}\n"],"mappings":"+BAIA,SAAgB,EAAuD,EAAiB,EAAwB,CAC9G,OAAO,EAAA,OAAQ,GAAS,EAAM,GAAG,EAAQ,GAAY,EAAK,KAAK,CAAO,CAAC,CAAC,CAC1E,CAEA,SAAgB,EAAgB,EAA8D,CAC5F,OAAO,EAAA,OAAQ,GAAS,CACtB,EAAK,KAAK,EAAS,MAAM,KAAK,EAE9B,IAAM,EAAW,EAAS,WAAa,EAAK,KAAK,EAAS,MAAM,KAAK,CAAC,EAChE,EAAY,EAAS,YAAc,EAAK,KAAK,EAAS,MAAM,KAAK,CAAC,EAExE,UAAa,CACX,EAAS,EACT,EAAU,CACZ,CACF,CAAC,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/adapters/pulse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/adapters/pulse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAE9G;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAY5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.js","names":[],"sources":["../../src/adapters/pulse.ts"],"sourcesContent":["import type { EventKey, MessageMap, PresenceChannel, Pulse } from '@vielzeug/pulse';\
|
|
1
|
+
{"version":3,"file":"pulse.js","names":[],"sources":["../../src/adapters/pulse.ts"],"sourcesContent":["import type { EventKey, MessageMap, PresenceChannel, Pulse } from '@vielzeug/pulse';\nimport { stream } from '../core';\nimport type { Stream } from '../types';\n\nexport function fromPulse<T extends MessageMap, K extends EventKey<T>>(pulse: Pulse<T>, event: K): Stream<T[K]> {\n return stream((sink) => pulse.on(event, (payload) => sink.next(payload)));\n}\n\nexport function fromPresence<T>(presence: PresenceChannel<T>): Stream<ReadonlyMap<string, T>> {\n return stream((sink) => {\n sink.next(presence.state.value);\n\n const stopJoin = presence.onJoin(() => sink.next(presence.state.value));\n const stopLeave = presence.onLeave(() => sink.next(presence.state.value));\n\n return () => {\n stopJoin();\n stopLeave();\n };\n });\n}\n"],"mappings":";;AAIA,SAAgB,EAAuD,GAAiB,GAAwB;CAC9G,OAAO,GAAQ,MAAS,EAAM,GAAG,IAAQ,MAAY,EAAK,KAAK,CAAO,CAAC,CAAC;AAC1E;AAEA,SAAgB,EAAgB,GAA8D;CAC5F,OAAO,GAAQ,MAAS;EACtB,EAAK,KAAK,EAAS,MAAM,KAAK;EAE9B,IAAM,IAAW,EAAS,aAAa,EAAK,KAAK,EAAS,MAAM,KAAK,CAAC,GAChE,IAAY,EAAS,cAAc,EAAK,KAAK,EAAS,MAAM,KAAK,CAAC;EAExE,aAAa;GAEX,AADA,EAAS,GACT,EAAU;EACZ;CACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.cjs","names":[],"sources":["../../src/adapters/ripple.ts"],"sourcesContent":["import type { Readable } from '@vielzeug/ripple';\n\nimport { signal } from '@vielzeug/ripple';\
|
|
1
|
+
{"version":3,"file":"ripple.cjs","names":[],"sources":["../../src/adapters/ripple.ts"],"sourcesContent":["import type { Readable } from '@vielzeug/ripple';\n\nimport { signal } from '@vielzeug/ripple';\nimport { error } from '../_dev';\nimport { stream } from '../core';\nimport type { Stream, Subscription } from '../types';\n\nexport type ToSignalOptions<T> = {\n initial: T;\n signal?: AbortSignal;\n};\n\nexport type SignalBinding<T> = {\n [Symbol.dispose](): void;\n readonly disposalSignal: AbortSignal;\n dispose(): void;\n readonly disposed: boolean;\n readonly signal: Readable<T>;\n readonly value: T;\n};\n\nexport function fromSignal<T>(source: Readable<T>): Stream<T> {\n return stream((sink) => {\n sink.next(source.value);\n\n return source.subscribe(() => sink.next(source.value));\n });\n}\n\nexport function toSignal<T>(source: Stream<T>, options: ToSignalOptions<T>): SignalBinding<T> {\n const target = signal(options.initial);\n const controller = new AbortController();\n const subscriptionRef: { current?: Subscription } = {};\n\n const dispose = (): void => {\n if (controller.signal.aborted) return;\n\n controller.abort();\n options.signal?.removeEventListener('abort', dispose);\n subscriptionRef.current?.unsubscribe();\n };\n\n if (options.signal?.aborted) controller.abort();\n\n subscriptionRef.current = source.subscribe(\n {\n complete: dispose,\n error(reason) {\n error('toSignal source error', reason);\n dispose();\n },\n next(value) {\n target.value = value;\n },\n },\n { signal: controller.signal },\n );\n\n if (!controller.signal.aborted) options.signal?.addEventListener('abort', dispose, { once: true });\n\n return {\n get disposalSignal(): AbortSignal {\n return controller.signal;\n },\n dispose,\n get disposed(): boolean {\n return controller.signal.aborted;\n },\n get signal(): Readable<T> {\n return target;\n },\n [Symbol.dispose]: dispose,\n get value(): T {\n return target.value;\n },\n };\n}\n"],"mappings":"wFAqBA,SAAgB,EAAc,EAAgC,CAC5D,OAAO,EAAA,OAAQ,IACb,EAAK,KAAK,EAAO,KAAK,EAEf,EAAO,cAAgB,EAAK,KAAK,EAAO,KAAK,CAAC,EACtD,CACH,CAEA,SAAgB,EAAY,EAAmB,EAA+C,CAC5F,IAAM,GAAA,EAAS,EAAA,OAAA,CAAO,EAAQ,OAAO,EAC/B,EAAa,IAAI,gBACjB,EAA8C,CAAC,EAE/C,MAAsB,CACtB,EAAW,OAAO,UAEtB,EAAW,MAAM,EACjB,EAAQ,QAAQ,oBAAoB,QAAS,CAAO,EACpD,EAAgB,SAAS,YAAY,EACvC,EAoBA,OAlBI,EAAQ,QAAQ,SAAS,EAAW,MAAM,EAE9C,EAAgB,QAAU,EAAO,UAC/B,CACE,SAAU,EACV,MAAM,EAAQ,CAEZ,EAAQ,CACV,EACA,KAAK,EAAO,CACV,EAAO,MAAQ,CACjB,CACF,EACA,CAAE,OAAQ,EAAW,MAAO,CAC9B,EAEK,EAAW,OAAO,SAAS,EAAQ,QAAQ,iBAAiB,QAAS,EAAS,CAAE,KAAM,EAAK,CAAC,EAE1F,CACL,IAAI,gBAA8B,CAChC,OAAO,EAAW,MACpB,EACA,UACA,IAAI,UAAoB,CACtB,OAAO,EAAW,OAAO,OAC3B,EACA,IAAI,QAAsB,CACxB,OAAO,CACT,GACC,OAAO,SAAU,EAClB,IAAI,OAAW,CACb,OAAO,EAAO,KAChB,CACF,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/adapters/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/adapters/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKjD,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,UAAU,CAAC;AAErD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAM5D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CA+C5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","names":[],"sources":["../../src/adapters/ripple.ts"],"sourcesContent":["import type { Readable } from '@vielzeug/ripple';\n\nimport { signal } from '@vielzeug/ripple';\
|
|
1
|
+
{"version":3,"file":"ripple.js","names":[],"sources":["../../src/adapters/ripple.ts"],"sourcesContent":["import type { Readable } from '@vielzeug/ripple';\n\nimport { signal } from '@vielzeug/ripple';\nimport { error } from '../_dev';\nimport { stream } from '../core';\nimport type { Stream, Subscription } from '../types';\n\nexport type ToSignalOptions<T> = {\n initial: T;\n signal?: AbortSignal;\n};\n\nexport type SignalBinding<T> = {\n [Symbol.dispose](): void;\n readonly disposalSignal: AbortSignal;\n dispose(): void;\n readonly disposed: boolean;\n readonly signal: Readable<T>;\n readonly value: T;\n};\n\nexport function fromSignal<T>(source: Readable<T>): Stream<T> {\n return stream((sink) => {\n sink.next(source.value);\n\n return source.subscribe(() => sink.next(source.value));\n });\n}\n\nexport function toSignal<T>(source: Stream<T>, options: ToSignalOptions<T>): SignalBinding<T> {\n const target = signal(options.initial);\n const controller = new AbortController();\n const subscriptionRef: { current?: Subscription } = {};\n\n const dispose = (): void => {\n if (controller.signal.aborted) return;\n\n controller.abort();\n options.signal?.removeEventListener('abort', dispose);\n subscriptionRef.current?.unsubscribe();\n };\n\n if (options.signal?.aborted) controller.abort();\n\n subscriptionRef.current = source.subscribe(\n {\n complete: dispose,\n error(reason) {\n error('toSignal source error', reason);\n dispose();\n },\n next(value) {\n target.value = value;\n },\n },\n { signal: controller.signal },\n );\n\n if (!controller.signal.aborted) options.signal?.addEventListener('abort', dispose, { once: true });\n\n return {\n get disposalSignal(): AbortSignal {\n return controller.signal;\n },\n dispose,\n get disposed(): boolean {\n return controller.signal.aborted;\n },\n get signal(): Readable<T> {\n return target;\n },\n [Symbol.dispose]: dispose,\n get value(): T {\n return target.value;\n },\n };\n}\n"],"mappings":";;;;AAqBA,SAAgB,EAAc,GAAgC;CAC5D,OAAO,GAAQ,OACb,EAAK,KAAK,EAAO,KAAK,GAEf,EAAO,gBAAgB,EAAK,KAAK,EAAO,KAAK,CAAC,EACtD;AACH;AAEA,SAAgB,EAAY,GAAmB,GAA+C;CAC5F,IAAM,IAAS,EAAO,EAAQ,OAAO,GAC/B,IAAa,IAAI,gBAAgB,GACjC,IAA8C,CAAC,GAE/C,UAAsB;EACtB,EAAW,OAAO,YAEtB,EAAW,MAAM,GACjB,EAAQ,QAAQ,oBAAoB,SAAS,CAAO,GACpD,EAAgB,SAAS,YAAY;CACvC;CAoBA,OAlBI,EAAQ,QAAQ,WAAS,EAAW,MAAM,GAE9C,EAAgB,UAAU,EAAO,UAC/B;EACE,UAAU;EACV,MAAM,GAAQ;GAEZ,EAAQ;EACV;EACA,KAAK,GAAO;GACV,EAAO,QAAQ;EACjB;CACF,GACA,EAAE,QAAQ,EAAW,OAAO,CAC9B,GAEK,EAAW,OAAO,WAAS,EAAQ,QAAQ,iBAAiB,SAAS,GAAS,EAAE,MAAM,GAAK,CAAC,GAE1F;EACL,IAAI,iBAA8B;GAChC,OAAO,EAAW;EACpB;EACA;EACA,IAAI,WAAoB;GACtB,OAAO,EAAW,OAAO;EAC3B;EACA,IAAI,SAAsB;GACxB,OAAO;EACT;GACC,OAAO,UAAU;EAClB,IAAI,QAAW;GACb,OAAO,EAAO;EAChB;CACF;AACF"}
|
package/dist/async.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.cjs","names":[],"sources":["../src/async.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"async.cjs","names":[],"sources":["../src/async.ts"],"sourcesContent":["import { toIterator } from './_iterator';\nimport type { AsyncIterableOptions, Stream } from './types';\n\n/** Converts a push stream into an async iterable with an explicit overflow policy. */\nexport function toAsyncIterable<T>(source: Stream<T>, options: AsyncIterableOptions): AsyncIterable<T> {\n return {\n [Symbol.asyncIterator](): AsyncIterableIterator<T> {\n return toIterator(source, options);\n },\n };\n}\n"],"mappings":"sGAIA,SAAgB,EAAmB,EAAmB,EAAiD,CACrG,MAAO,CACL,CAAC,OAAO,gBAA2C,CACjD,OAAO,EAAA,WAAW,EAAQ,CAAO,CACnC,CACF,CACF"}
|
package/dist/async.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5D,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,CAMrG"}
|
package/dist/async.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.js","names":[],"sources":["../src/async.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"async.js","names":[],"sources":["../src/async.ts"],"sourcesContent":["import { toIterator } from './_iterator';\nimport type { AsyncIterableOptions, Stream } from './types';\n\n/** Converts a push stream into an async iterable with an explicit overflow policy. */\nexport function toAsyncIterable<T>(source: Stream<T>, options: AsyncIterableOptions): AsyncIterable<T> {\n return {\n [Symbol.asyncIterator](): AsyncIterableIterator<T> {\n return toIterator(source, options);\n },\n };\n}\n"],"mappings":";;AAIA,SAAgB,EAAmB,GAAmB,GAAiD;CACrG,OAAO,EACL,CAAC,OAAO,iBAA2C;EACjD,OAAO,EAAW,GAAQ,CAAO;CACnC,EACF;AACF"}
|
package/dist/core.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.cjs","names":[],"sources":["../src/core.ts"],"sourcesContent":["import type { Observer, Producer, Stream, SubscribeOptions, Subscription } from './types';\n\
|
|
1
|
+
{"version":3,"file":"core.cjs","names":[],"sources":["../src/core.ts"],"sourcesContent":["import { createSubscription } from './_subscription';\nimport type { Observer, Producer, Stream, SubscribeOptions, Subscription } from './types';\n\n/** Creates lazy work. Producer cleanup belongs to each individual subscription. */\nexport function stream<T>(producer: Producer<T>): Stream<T> {\n return {\n subscribe(observer: Observer<T> | ((value: T) => void), options?: SubscribeOptions): Subscription {\n const subscription = createSubscription(observer, options?.signal);\n\n if (subscription.subscription.closed) return subscription.subscription;\n\n try {\n subscription.add(producer(subscription.sink, subscription.signal));\n } catch (reason) {\n subscription.sink.error(reason);\n }\n\n return subscription.subscription;\n },\n };\n}\n"],"mappings":"uCAIA,SAAgB,EAAU,EAAkC,CAC1D,MAAO,CACL,UAAU,EAA8C,EAA0C,CAChG,IAAM,EAAe,EAAA,mBAAmB,EAAU,GAAS,MAAM,EAEjE,GAAI,EAAa,aAAa,OAAQ,OAAO,EAAa,aAE1D,GAAI,CACF,EAAa,IAAI,EAAS,EAAa,KAAM,EAAa,MAAM,CAAC,CACnE,OAAS,EAAQ,CACf,EAAa,KAAK,MAAM,CAAM,CAChC,CAEA,OAAO,EAAa,YACtB,CACF,CACF"}
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,EAAkC,MAAM,SAAS,CAAC;AAE1F,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAgB1D"}
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","names":[],"sources":["../src/core.ts"],"sourcesContent":["import type { Observer, Producer, Stream, SubscribeOptions, Subscription } from './types';\n\
|
|
1
|
+
{"version":3,"file":"core.js","names":[],"sources":["../src/core.ts"],"sourcesContent":["import { createSubscription } from './_subscription';\nimport type { Observer, Producer, Stream, SubscribeOptions, Subscription } from './types';\n\n/** Creates lazy work. Producer cleanup belongs to each individual subscription. */\nexport function stream<T>(producer: Producer<T>): Stream<T> {\n return {\n subscribe(observer: Observer<T> | ((value: T) => void), options?: SubscribeOptions): Subscription {\n const subscription = createSubscription(observer, options?.signal);\n\n if (subscription.subscription.closed) return subscription.subscription;\n\n try {\n subscription.add(producer(subscription.sink, subscription.signal));\n } catch (reason) {\n subscription.sink.error(reason);\n }\n\n return subscription.subscription;\n },\n };\n}\n"],"mappings":";;AAIA,SAAgB,EAAU,GAAkC;CAC1D,OAAO,EACL,UAAU,GAA8C,GAA0C;EAChG,IAAM,IAAe,EAAmB,GAAU,GAAS,MAAM;EAEjE,IAAI,EAAa,aAAa,QAAQ,OAAO,EAAa;EAE1D,IAAI;GACF,EAAa,IAAI,EAAS,EAAa,MAAM,EAAa,MAAM,CAAC;EACnE,SAAS,GAAQ;GACf,EAAa,KAAK,MAAM,CAAM;EAChC;EAEA,OAAO,EAAa;CACtB,EACF;AACF"}
|
package/dist/courier.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/courier.cjs");exports.fromQuery=e.fromQuery
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./adapters/courier.cjs");exports.fromQuery=e.fromQuery;
|
package/dist/courier.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { fromQuery
|
|
1
|
+
export { fromQuery } from './adapters/courier';
|
|
2
2
|
//# sourceMappingURL=courier.d.ts.map
|
package/dist/courier.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"courier.d.ts","sourceRoot":"","sources":["../src/courier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"courier.d.ts","sourceRoot":"","sources":["../src/courier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/courier.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { fromQuery as e
|
|
2
|
-
export { e as fromQuery
|
|
1
|
+
import { fromQuery as e } from "./adapters/courier.js";
|
|
2
|
+
export { e as fromQuery };
|
package/dist/errors.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class
|
|
1
|
+
var e=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},t=class extends e{ms;constructor(e){super(`Timeout after ${e}ms`),this.ms=e}};exports.FluxError=e,exports.FluxTimeoutError=t;
|
|
2
2
|
//# sourceMappingURL=errors.cjs.map
|
package/dist/errors.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export class FluxError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n
|
|
1
|
+
{"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export class FluxError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class FluxTimeoutError extends FluxError {\n /** The timeout duration in milliseconds that was exceeded. */\n readonly ms: number;\n\n constructor(ms: number) {\n super(`Timeout after ${ms}ms`);\n this.ms = ms;\n }\n}\n"],"mappings":"AAAA,IAAa,EAAb,cAA+B,KAAM,CACnC,YAAY,EAAiB,EAAwB,CACnD,MAAM,EAAS,CAAO,EACtB,KAAK,KAAO,WAAW,KACvB,OAAO,eAAe,KAAM,WAAW,SAAS,CAClD,CACF,EAEa,EAAb,cAAsC,CAAU,CAE9C,GAEA,YAAY,EAAY,CACtB,MAAM,iBAAiB,EAAG,GAAG,EAC7B,KAAK,GAAK,CACZ,CACF"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare class FluxError extends Error {
|
|
2
2
|
constructor(message: string, options?: ErrorOptions);
|
|
3
|
-
static is(err: unknown): err is FluxError;
|
|
4
3
|
}
|
|
5
4
|
export declare class FluxTimeoutError extends FluxError {
|
|
6
5
|
/** The timeout duration in milliseconds that was exceeded. */
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKpD;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAER,EAAE,EAAE,MAAM;CAIvB"}
|
package/dist/errors.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
//#region src/errors.ts
|
|
2
|
-
var e = class
|
|
2
|
+
var e = class extends Error {
|
|
3
3
|
constructor(e, t) {
|
|
4
4
|
super(e, t), this.name = new.target.name, Object.setPrototypeOf(this, new.target.prototype);
|
|
5
5
|
}
|
|
6
|
-
static is(t) {
|
|
7
|
-
return t instanceof e;
|
|
8
|
-
}
|
|
9
6
|
}, t = class extends e {
|
|
10
7
|
ms;
|
|
11
8
|
constructor(e) {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export class FluxError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n
|
|
1
|
+
{"version":3,"file":"errors.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export class FluxError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport class FluxTimeoutError extends FluxError {\n /** The timeout duration in milliseconds that was exceeded. */\n readonly ms: number;\n\n constructor(ms: number) {\n super(`Timeout after ${ms}ms`);\n this.ms = ms;\n }\n}\n"],"mappings":";AAAA,IAAa,IAAb,cAA+B,MAAM;CACnC,YAAY,GAAiB,GAAwB;EAGnD,AAFA,MAAM,GAAS,CAAO,GACtB,KAAK,OAAO,WAAW,MACvB,OAAO,eAAe,MAAM,WAAW,SAAS;CAClD;AACF,GAEa,IAAb,cAAsC,EAAU;CAE9C;CAEA,YAAY,GAAY;EAEtB,AADA,MAAM,iBAAiB,EAAG,GAAG,GAC7B,KAAK,KAAK;CACZ;AACF"}
|
package/dist/flux.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){if(!Number.isInteger(e.capacity)||e.capacity<1)throw RangeError(`Async iterable capacity must be a positive integer`)}function t(t,n){e(n);let r=new AbortController,i=[],a={kind:`open`,queue:[]},o=()=>n.signal?.removeEventListener(`abort`,u),s=()=>{for(;i.length>0;)i.shift().resolve({done:!0,value:void 0})},c=()=>{a.kind===`open`&&(a.kind=`complete`,o(),s())},l=e=>{if(a.kind===`open`)for(a={kind:`error`,queue:a.queue,reason:e},r.abort(),o();i.length>0;)i.shift().reject(e)},u=()=>{r.abort(),o(),a={kind:`returned`},s()},d={complete:c,error:l,next(e){if(a.kind!==`open`)return;let t=i.shift();if(t){t.resolve({done:!1,value:e});return}if(a.queue.length<n.capacity){a.queue.push(e);return}n.overflow===`drop-oldest`?(a.queue.shift(),a.queue.push(e)):n.overflow===`error`&&l(RangeError(`Async iterable buffer capacity exceeded`))}};return n.signal?.aborted?u():n.signal?.addEventListener(`abort`,u,{once:!0}),t.subscribe(d,{signal:r.signal}),{next(){return a.kind===`returned`?Promise.resolve({done:!0,value:void 0}):a.queue.length>0?Promise.resolve({done:!1,value:a.queue.shift()}):a.kind===`error`?Promise.reject(a.reason):a.kind===`complete`?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>i.push({reject:t,resolve:e}))},return(){return u(),Promise.resolve({done:!0,value:void 0})},[Symbol.asyncIterator](){return this}}}function n(e,n){return{[Symbol.asyncIterator](){return t(e,n)}}}function r(e){let t=globalThis.reportError;if(t){t(e);return}queueMicrotask(()=>{throw e})}function i(e,t){let n=typeof e==`function`?{next:e}:e,i=new AbortController,a=!1,o,s=()=>{if(!a){a=!0,i.abort(),t?.removeEventListener(`abort`,s);try{o?.()}catch(e){r(e)}}};return t?.aborted?s():t?.addEventListener(`abort`,s,{once:!0}),{add:e=>{if(e){if(a){try{e()}catch(e){r(e)}return}o=e}},signal:i.signal,sink:{complete(){if(!a){try{n.complete?.()}catch(e){r(e)}s()}},error(e){if(!a){if(n.error)try{n.error(e)}catch(e){r(e)}else r(e);s()}},next(e){if(!a)try{n.next(e)}catch(e){s(),r(e)}}},subscription:{get closed(){return a},[Symbol.dispose]:s,unsubscribe:s}}}function a(e){return{subscribe(t,n){let r=i(t,n?.signal);if(r.subscription.closed)return r.subscription;try{r.add(e(r.sink,r.signal))}catch(e){r.sink.error(e)}return r.subscription}}}var o=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},s=class extends o{ms;constructor(e){super(`Timeout after ${e}ms`),this.ms=e}};function c(e,t,n){return e.subscribe(t,{signal:n})}function l(...e){return a((t,n)=>{if(e.length===0){t.complete();return}let r=0,i=[];for(let a of e){let o=c(a,{complete(){r++,r===e.length&&t.complete()},error:t.error,next:t.next},n);if(i.push(o),n.aborted)break}return()=>i.forEach(e=>e.unsubscribe())})}function u(...e){return a((t,n)=>{let r=0,i,a=()=>{if(n.aborted)return;let o=e[r++];if(!o){t.complete();return}let s=c(o,{complete:a,error:t.error,next:t.next},n);i=s.closed?void 0:s};return a(),()=>i?.unsubscribe()})}function d(...e){return a((t,n)=>{if(e.length===0){t.complete();return}let r=Array(e.length),i=Array(e.length).fill(!1),a=[],o=0;for(let[s,l]of e.entries()){if(n.aborted)break;let u=c(l,{complete(){if(!i[s]){t.complete();return}o++,o===e.length&&t.complete()},error:t.error,next(e){r[s]=e,i[s]=!0,i.every(Boolean)&&t.next([...r])}},n);a.push(u)}return()=>a.forEach(e=>e.unsubscribe())})}var f={delay(e,t){let n=setTimeout(e,t);return()=>clearTimeout(n)},repeat(e,t){let n=setInterval(e,t);return()=>clearInterval(n)}};function p(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be a finite number greater than or equal to zero`)}function m(...e){return a(t=>{for(let n of e)t.next(n);t.complete()})}function h(e){return Symbol.asyncIterator in Object(e)?a((t,n)=>{let r=e[Symbol.asyncIterator]();return(async()=>{try{for(;!n.aborted;){let e=await r.next();if(e.done){t.complete();return}t.next(e.value)}}catch(e){n.aborted||t.error(e)}})(),()=>{r.return?.()}}):typeof e.then==`function`?a((t,n)=>{e.then(e=>{n.aborted||(t.next(e),t.complete())},e=>{n.aborted||t.error(e)})}):a((t,n)=>{let r=e[Symbol.iterator]();try{for(;!n.aborted;){let e=r.next();if(e.done){t.complete();return}t.next(e.value)}}catch(e){t.error(e)}return()=>{r.return?.()}})}function g(e,t){return a(n=>{let r=e=>n.next(e);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)})}function _(e){return p(e.every,`Interval duration`),a(t=>{let n=0;return f.repeat(()=>t.next(n++),e.every)})}function v(e){return p(e.delay,`Timer delay`),e.interval!==void 0&&p(e.interval,`Timer interval`),a(t=>{let n=0,r,i=f.delay(()=>{if(t.next(n++),e.interval===void 0){t.complete();return}r=f.repeat(()=>t.next(n++),e.interval)},e.delay);return()=>{i(),r?.()}})}function y(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be a finite number greater than or equal to zero`)}function b(e){if(!Number.isInteger(e)||e<0)throw RangeError(`take count must be a non-negative integer`);return t=>a((n,r)=>{if(e===0){n.complete();return}let i=0,a={};return a.current=c(t,{complete:n.complete,error:n.error,next(t){n.next(t),i++,i===e&&(n.complete(),a.current?.unsubscribe())}},r),()=>a.current?.unsubscribe()})}function x(e){return t=>a((n,r)=>{let i,a,o=()=>{},s=()=>{i?.unsubscribe(),a?.unsubscribe(),n.complete()};if(e instanceof AbortSignal){if(e.aborted){n.complete();return}e.addEventListener(`abort`,s,{once:!0}),o=()=>e.removeEventListener(`abort`,s)}else a=c(e,{error:n.error,next:s},r);return r.aborted||(i=c(t,{complete:n.complete,error:n.error,next:n.next},r)),()=>{o(),i?.unsubscribe(),a?.unsubscribe()}})}function S(e){return y(e.for,`Debounce duration`),t=>a((n,r)=>{let i,a,o=!1,s=()=>{i=void 0,o&&(o=!1,n.next(a))},l=c(t,{complete(){i?.(),s(),n.complete()},error:n.error,next(t){a=t,o=!0,i?.(),i=f.delay(s,e.for)}},r);return()=>{i?.(),l.unsubscribe()}})}function C(e){return y(e.after,`Timeout duration`),t=>a((n,r)=>{let i,a=()=>{i=f.delay(()=>n.error(new s(e.after)),e.after)};a();let o=c(t,{complete(){i(),n.complete()},error(e){i(),n.error(e)},next(e){i(),a(),n.next(e)}},r);return()=>{i(),o.unsubscribe()}})}function w(e,t){try{e()}catch(e){t(e)}}function T(e){return t=>a((n,r)=>c(t,{complete:n.complete,error:n.error,next(t){w(()=>n.next(e(t)),n.error)}},r).unsubscribe)}function E(e){return t=>a((n,r)=>c(t,{complete:n.complete,error:n.error,next(t){w(()=>{e(t)&&n.next(t)},n.error)}},r).unsubscribe)}function D(e,t){return n=>a((r,i)=>{let a=t;return c(n,{complete:r.complete,error:r.error,next(t){w(()=>{a=e(a,t),r.next(a)},r.error)}},i).unsubscribe})}function O(e){return t=>a((n,r)=>{let i=!1,a,o=()=>{i&&!a&&n.complete()},s=c(t,{complete(){i=!0,o()},error:n.error,next(t){a?.unsubscribe(),a=void 0,w(()=>{let i=c(e(t),{complete(){a=void 0,o()},error:n.error,next:n.next},r);a=i.closed?void 0:i},n.error)}},r);return()=>{s.unsubscribe(),a?.unsubscribe()}})}function k(e){return t=>a((n,r)=>{let i=!1,a=new Set,o=()=>{i&&a.size===0&&n.complete()},s=c(t,{complete(){i=!0,o()},error:n.error,next(t){w(()=>{let i={};i.current=c(e(t),{complete(){i.current&&a.delete(i.current),o()},error:n.error,next:n.next},r),i.current.closed||a.add(i.current)},n.error)}},r);return()=>{s.unsubscribe();for(let e of a)e.unsubscribe()}})}function A(e,t){if(!Number.isInteger(t.capacity)||t.capacity<1)throw RangeError(`concatMap capacity must be a positive integer`);return n=>a((r,i)=>{let a=[],o=!1,s,l={},u=()=>{if(s||a.length===0){o&&!s&&a.length===0&&r.complete();return}let t=a.shift();w(()=>{let n=c(e(t),{complete(){s=void 0,u()},error:r.error,next:r.next},i);s=n.closed?void 0:n,s||u()},r.error)};return l.current=c(n,{complete(){o=!0,u()},error:r.error,next(e){if(a.length===t.capacity){l.current?.unsubscribe(),r.error(RangeError(`concatMap buffer capacity exceeded`));return}a.push(e),u()}},i),()=>{l.current?.unsubscribe(),s?.unsubscribe(),a.length=0}})}function j(){return new DOMException(`Stream consumption aborted`,`AbortError`)}function M(e){if(!Number.isInteger(e.attempts)||e.attempts<0)throw RangeError(`retry attempts must be a non-negative integer`);return t=>a((n,r)=>{let i=0,a,o,s=()=>{if(r.aborted)return;let l=c(t,{complete:n.complete,error(t){if(i===e.attempts){n.error(t);return}let a=i++,c;if(w(()=>{c=typeof e.delay==`function`?e.delay(a):e.delay},n.error),!r.aborted){if(c!==void 0&&(!Number.isFinite(c)||c<0)){n.error(RangeError(`retry delay must be a finite number greater than or equal to zero`));return}c===void 0||c===0?queueMicrotask(s):o=f.delay(s,c)}},next:n.next},r);l.closed||(a=l)};return s(),()=>{o?.(),a?.unsubscribe()}})}function N(e,t){return new Promise((n,r)=>{let i=new AbortController,a=()=>{i.abort(),r(j())};if(t?.signal?.aborted){a();return}t?.signal?.addEventListener(`abort`,a,{once:!0}),c(e,{error(e){t?.signal?.removeEventListener(`abort`,a),r(e)},next(e){t?.signal?.removeEventListener(`abort`,a),i.abort(),n(e)}},i.signal)})}function P(e,t){return new Promise((n,r)=>{let i=()=>r(j()),a;if(t?.signal?.aborted){i();return}t?.signal?.addEventListener(`abort`,i,{once:!0}),c(e,{complete(){t?.signal?.removeEventListener(`abort`,i),n(a)},error(e){t?.signal?.removeEventListener(`abort`,i),r(e)},next(e){a=e}},t?.signal??new AbortController().signal)})}function F(e,t){if(!Number.isInteger(t.maxItems)||t.maxItems<0)throw RangeError(`toArray maxItems must be a non-negative integer`);return new Promise((n,r)=>{let i=new AbortController,a=[],o=()=>{i.abort(),r(j())};if(t.signal?.aborted){o();return}t.signal?.addEventListener(`abort`,o,{once:!0}),c(e,{complete(){t.signal?.removeEventListener(`abort`,o),n(a)},error(e){t.signal?.removeEventListener(`abort`,o),r(e)},next(e){if(a.length===t.maxItems){t.signal?.removeEventListener(`abort`,o),i.abort(),r(RangeError(`toArray maxItems exceeded`));return}a.push(e)}},i.signal)})}function I(e,t){return t.reduce((e,t)=>t(e),e)}function L(e,...t){return I(e,t)}exports.FluxError=o,exports.FluxTimeoutError=s,exports.combineLatest=d,exports.concat=u,exports.concatMap=A,exports.debounce=S,exports.filter=E,exports.first=N,exports.from=h,exports.fromEvent=g,exports.interval=_,exports.last=P,exports.map=T,exports.merge=l,exports.mergeMap=k,exports.of=m,exports.pipe=L,exports.retry=M,exports.scan=D,exports.stream=a,exports.switchMap=O,exports.take=b,exports.takeUntil=x,exports.timeout=C,exports.timer=v,exports.toArray=F,exports.toAsyncIterable=n;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){if(!Number.isInteger(e)||e<0)throw RangeError(`${t} must be a non-negative integer`)}function t(e,t){if(!Number.isInteger(e)||e<1)throw RangeError(`${t} must be a positive integer`)}function n(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be a finite number greater than or equal to zero`)}function r(e,n){t(n.capacity,`Async iterable capacity`);let r=new AbortController,i=[],a={kind:`open`,queue:[]},o=()=>n.signal?.removeEventListener(`abort`,u),s=()=>{for(;i.length>0;)i.shift()?.resolve({done:!0,value:void 0})},c=()=>{a.kind===`open`&&(a.kind=`complete`,o(),s())},l=e=>{if(a.kind===`open`)for(a={kind:`error`,queue:a.queue,reason:e},r.abort(),o();i.length>0;)i.shift()?.reject(e)},u=()=>{r.abort(),o(),a={kind:`returned`},s()},d={complete:c,error:l,next(e){if(a.kind!==`open`)return;let t=i.shift();if(t){t.resolve({done:!1,value:e});return}if(a.queue.length<n.capacity){a.queue.push(e);return}n.overflow===`drop-oldest`?(a.queue.shift(),a.queue.push(e)):n.overflow===`error`&&l(RangeError(`Async iterable buffer capacity exceeded`))}};return n.signal?.aborted?u():n.signal?.addEventListener(`abort`,u,{once:!0}),e.subscribe(d,{signal:r.signal}),{next(){return a.kind===`returned`?Promise.resolve({done:!0,value:void 0}):a.queue.length>0?Promise.resolve({done:!1,value:a.queue.shift()}):a.kind===`error`?Promise.reject(a.reason):a.kind===`complete`?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>i.push({reject:t,resolve:e}))},return(){return u(),Promise.resolve({done:!0,value:void 0})},[Symbol.asyncIterator](){return this}}}function i(e,t){return{[Symbol.asyncIterator](){return r(e,t)}}}function a(e){let t=globalThis.reportError;if(t){t(e);return}queueMicrotask(()=>{throw e})}function o(e,t){let n=typeof e==`function`?{next:e}:e,r=new AbortController,i=!1,o,s=()=>{if(!i){i=!0,r.abort(),t?.removeEventListener(`abort`,s);try{o?.()}catch(e){a(e)}}};return t?.aborted?s():t?.addEventListener(`abort`,s,{once:!0}),{add:e=>{if(e){if(i){try{e()}catch(e){a(e)}return}o=e}},signal:r.signal,sink:{complete(){if(!i){try{n.complete?.()}catch(e){a(e)}s()}},error(e){if(!i){if(n.error)try{n.error(e)}catch(e){a(e)}else a(e);s()}},next(e){if(!i)try{n.next(e)}catch(e){s(),a(e)}}},subscription:{get closed(){return i},[Symbol.dispose]:s,unsubscribe:s}}}function s(e){return{subscribe(t,n){let r=o(t,n?.signal);if(r.subscription.closed)return r.subscription;try{r.add(e(r.sink,r.signal))}catch(e){r.sink.error(e)}return r.subscription}}}var c=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},l=class extends c{ms;constructor(e){super(`Timeout after ${e}ms`),this.ms=e}};function u(e,t,n){return e.subscribe(t,{signal:n})}function d(...e){return s((t,n)=>{if(e.length===0){t.complete();return}let r=0,i=[];for(let a of e){let o=u(a,{complete(){r++,r===e.length&&t.complete()},error:t.error,next:t.next},n);if(i.push(o),n.aborted)break}return()=>i.forEach(e=>e.unsubscribe())})}function f(...e){return s((t,n)=>{let r=0,i,a=()=>{if(n.aborted)return;let o=e[r++];if(!o){t.complete();return}let s=u(o,{complete:a,error:t.error,next:t.next},n);i=s.closed?void 0:s};return a(),()=>i?.unsubscribe()})}function p(...e){return s((t,n)=>{if(e.length===0){t.complete();return}let r=Array(e.length),i=Array(e.length).fill(!1),a=[],o=0;for(let[s,c]of e.entries()){if(n.aborted)break;let l=u(c,{complete(){if(!i[s]){t.complete();return}o++,o===e.length&&t.complete()},error:t.error,next(e){r[s]=e,i[s]=!0,i.every(Boolean)&&t.next([...r])}},n);a.push(l)}return()=>a.forEach(e=>e.unsubscribe())})}var m={delay(e,t){let n=setTimeout(e,t);return()=>clearTimeout(n)},repeat(e,t){let n=setInterval(e,t);return()=>clearInterval(n)}};function h(...e){return s(t=>{for(let n of e)t.next(n);t.complete()})}function g(e){return Symbol.asyncIterator in Object(e)?s((t,n)=>{let r=e[Symbol.asyncIterator]();return(async()=>{try{for(;!n.aborted;){let e=await r.next();if(e.done){t.complete();return}t.next(e.value)}}catch(e){n.aborted||t.error(e)}})(),()=>{r.return?.()}}):typeof e.then==`function`?s((t,n)=>{e.then(e=>{n.aborted||(t.next(e),t.complete())},e=>{n.aborted||t.error(e)})}):s((t,n)=>{let r=e[Symbol.iterator]();try{for(;!n.aborted;){let e=r.next();if(e.done){t.complete();return}t.next(e.value)}}catch(e){t.error(e)}return()=>{r.return?.()}})}function _(e,t){return s(n=>{let r=e=>n.next(e);return e.addEventListener(t,r),()=>e.removeEventListener(t,r)})}function v(e){return n(e.every,`Interval duration`),s(t=>{let n=0;return m.repeat(()=>t.next(n++),e.every)})}function y(e){return n(e.delay,`Timer delay`),e.interval!==void 0&&n(e.interval,`Timer interval`),s(t=>{let n=0,r,i=m.delay(()=>{if(t.next(n++),e.interval===void 0){t.complete();return}r=m.repeat(()=>t.next(n++),e.interval)},e.delay);return()=>{i(),r?.()}})}function b(t){return e(t,`take count`),e=>s((n,r)=>{if(t===0){n.complete();return}let i=0,a={};return a.current=u(e,{complete:n.complete,error:n.error,next(e){n.next(e),i++,i===t&&(n.complete(),a.current?.unsubscribe())}},r),()=>a.current?.unsubscribe()})}function x(e){return t=>s((n,r)=>{let i,a,o=()=>{},s=()=>{i?.unsubscribe(),a?.unsubscribe(),n.complete()};if(e instanceof AbortSignal){if(e.aborted){n.complete();return}e.addEventListener(`abort`,s,{once:!0}),o=()=>e.removeEventListener(`abort`,s)}else a=u(e,{error:n.error,next:s},r);return r.aborted||(i=u(t,{complete:n.complete,error:n.error,next:n.next},r)),()=>{o(),i?.unsubscribe(),a?.unsubscribe()}})}function S(e){return n(e.for,`Debounce duration`),t=>s((n,r)=>{let i,a,o=!1,s=()=>{i=void 0,o&&(o=!1,n.next(a))},c=u(t,{complete(){i?.(),s(),n.complete()},error:n.error,next(t){a=t,o=!0,i?.(),i=m.delay(s,e.for)}},r);return()=>{i?.(),c.unsubscribe()}})}function C(e){return n(e.after,`Timeout duration`),t=>s((n,r)=>{let i,a=()=>{i=m.delay(()=>n.error(new l(e.after)),e.after)};a();let o=u(t,{complete(){i(),n.complete()},error(e){i(),n.error(e)},next(e){i(),a(),n.next(e)}},r);return()=>{i(),o.unsubscribe()}})}function w(e,t){try{e()}catch(e){t(e)}}function T(e){return t=>s((n,r)=>u(t,{complete:n.complete,error:n.error,next(t){w(()=>n.next(e(t)),n.error)}},r).unsubscribe)}function E(e){return t=>s((n,r)=>u(t,{complete:n.complete,error:n.error,next(t){w(()=>{e(t)&&n.next(t)},n.error)}},r).unsubscribe)}function D(e,t){return n=>s((r,i)=>{let a=t;return u(n,{complete:r.complete,error:r.error,next(t){w(()=>{a=e(a,t),r.next(a)},r.error)}},i).unsubscribe})}function O(e){return t=>s((n,r)=>{let i=!1,a,o=()=>{i&&!a&&n.complete()},s=u(t,{complete(){i=!0,o()},error:n.error,next(t){a?.unsubscribe(),a=void 0,w(()=>{let i=u(e(t),{complete(){a=void 0,o()},error:n.error,next:n.next},r);a=i.closed?void 0:i},n.error)}},r);return()=>{s.unsubscribe(),a?.unsubscribe()}})}function k(e){return t=>s((n,r)=>{let i=!1,a=new Set,o=()=>{i&&a.size===0&&n.complete()},s=u(t,{complete(){i=!0,o()},error:n.error,next(t){w(()=>{let i={};i.current=u(e(t),{complete(){i.current&&a.delete(i.current),o()},error:n.error,next:n.next},r),i.current.closed||a.add(i.current)},n.error)}},r);return()=>{s.unsubscribe();for(let e of a)e.unsubscribe()}})}function A(e,n){return t(n.capacity,`concatMap capacity`),t=>s((r,i)=>{let a=[],o=!1,s,c={},l=()=>{if(s||a.length===0){o&&!s&&a.length===0&&r.complete();return}let t=a.shift();w(()=>{let n=u(e(t),{complete(){s=void 0,l()},error:r.error,next:r.next},i);s=n.closed?void 0:n,s||l()},r.error)};return c.current=u(t,{complete(){o=!0,l()},error:r.error,next(e){if(a.length===n.capacity){c.current?.unsubscribe(),r.error(RangeError(`concatMap buffer capacity exceeded`));return}a.push(e),l()}},i),()=>{c.current?.unsubscribe(),s?.unsubscribe(),a.length=0}})}function j(){return new DOMException(`Stream consumption aborted`,`AbortError`)}function M(t){return e(t.attempts,`retry attempts`),e=>s((n,r)=>{let i=0,a,o,s=()=>{if(r.aborted)return;let c=u(e,{complete:n.complete,error(e){if(i===t.attempts){n.error(e);return}let a=i++,c;if(w(()=>{c=typeof t.delay==`function`?t.delay(a):t.delay},n.error),!r.aborted){if(c!==void 0&&(!Number.isFinite(c)||c<0)){n.error(RangeError(`retry delay must be a finite number greater than or equal to zero`));return}c===void 0||c===0?queueMicrotask(s):o=m.delay(s,c)}},next:n.next},r);c.closed||(a=c)};return s(),()=>{o?.(),a?.unsubscribe()}})}function N(e,t){return new Promise((n,r)=>{let i=new AbortController,a=()=>{i.abort(),r(j())};if(t?.signal?.aborted){a();return}t?.signal?.addEventListener(`abort`,a,{once:!0}),u(e,{error(e){t?.signal?.removeEventListener(`abort`,a),r(e)},next(e){t?.signal?.removeEventListener(`abort`,a),i.abort(),n(e)}},i.signal)})}function P(e,t){return new Promise((n,r)=>{let i=()=>r(j()),a;if(t?.signal?.aborted){i();return}t?.signal?.addEventListener(`abort`,i,{once:!0}),u(e,{complete(){t?.signal?.removeEventListener(`abort`,i),n(a)},error(e){t?.signal?.removeEventListener(`abort`,i),r(e)},next(e){a=e}},t?.signal??new AbortController().signal)})}function F(t,n){return e(n.maxItems,`toArray maxItems`),new Promise((e,r)=>{let i=new AbortController,a=[],o=()=>{i.abort(),r(j())};if(n.signal?.aborted){o();return}n.signal?.addEventListener(`abort`,o,{once:!0}),u(t,{complete(){n.signal?.removeEventListener(`abort`,o),e(a)},error(e){n.signal?.removeEventListener(`abort`,o),r(e)},next(e){if(a.length===n.maxItems){n.signal?.removeEventListener(`abort`,o),i.abort(),r(RangeError(`toArray maxItems exceeded`));return}a.push(e)}},i.signal)})}function I(e,t){return t.reduce((e,t)=>t(e),e)}function L(e,...t){return I(e,t)}exports.FluxError=c,exports.FluxTimeoutError=l,exports.combineLatest=p,exports.concat=f,exports.concatMap=A,exports.debounce=S,exports.filter=E,exports.first=N,exports.from=g,exports.fromEvent=_,exports.interval=v,exports.last=P,exports.map=T,exports.merge=d,exports.mergeMap=k,exports.of=h,exports.pipe=L,exports.retry=M,exports.scan=D,exports.stream=s,exports.switchMap=O,exports.take=b,exports.takeUntil=x,exports.timeout=C,exports.timer=y,exports.toArray=F,exports.toAsyncIterable=i;
|
|
2
2
|
//# sourceMappingURL=flux.cjs.map
|