reactor-core-ts 2.1.6 → 3.2.1
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/README.md +927 -658
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.js +12 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPrimitive.js +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/typeof.js +11 -0
- package/dist/context/context-view.d.ts +31 -0
- package/dist/context/context-view.d.ts.map +1 -0
- package/dist/context/context-view.js +58 -0
- package/dist/context/context-view.js.map +1 -0
- package/dist/context/context.d.ts +46 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/context/context.js +125 -0
- package/dist/context/context.js.map +1 -0
- package/dist/context/types.d.ts +7 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/core/boolean-disposable.d.ts +19 -0
- package/dist/core/boolean-disposable.d.ts.map +1 -0
- package/dist/core/boolean-disposable.js +37 -0
- package/dist/core/boolean-disposable.js.map +1 -0
- package/dist/core/composite-disposable.d.ts +21 -0
- package/dist/core/composite-disposable.d.ts.map +1 -0
- package/dist/core/composite-disposable.js +64 -0
- package/dist/core/composite-disposable.js.map +1 -0
- package/dist/core/demand.d.ts +9 -0
- package/dist/core/demand.d.ts.map +1 -0
- package/dist/core/demand.js +21 -0
- package/dist/core/demand.js.map +1 -0
- package/dist/core/disposables.d.ts +12 -0
- package/dist/core/disposables.d.ts.map +1 -0
- package/dist/core/disposables.js +37 -0
- package/dist/core/disposables.js.map +1 -0
- package/dist/core/teardown.d.ts +4 -0
- package/dist/core/teardown.d.ts.map +1 -0
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/errors/classes.d.ts +37 -0
- package/dist/errors/classes.d.ts.map +1 -0
- package/dist/errors/classes.js +53 -0
- package/dist/errors/classes.js.map +1 -0
- package/dist/errors/exceptions.d.ts +15 -0
- package/dist/errors/exceptions.d.ts.map +1 -0
- package/dist/errors/helpers.d.ts +9 -0
- package/dist/errors/helpers.d.ts.map +1 -0
- package/dist/errors/helpers.js +18 -0
- package/dist/errors/helpers.js.map +1 -0
- package/dist/index.d.ts +17 -2556
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -2
- package/dist/internal/abort.d.ts +5 -0
- package/dist/internal/abort.d.ts.map +1 -0
- package/dist/internal/abort.js +36 -0
- package/dist/internal/abort.js.map +1 -0
- package/dist/internal/async-queue.d.ts +48 -0
- package/dist/internal/async-queue.d.ts.map +1 -0
- package/dist/internal/async-queue.js +187 -0
- package/dist/internal/async-queue.js.map +1 -0
- package/dist/internal/iterable-terminal.d.ts +12 -0
- package/dist/internal/iterable-terminal.d.ts.map +1 -0
- package/dist/internal/iterable-terminal.js +49 -0
- package/dist/internal/iterable-terminal.js.map +1 -0
- package/dist/internal/iterable-transform.d.ts +24 -0
- package/dist/internal/iterable-transform.d.ts.map +1 -0
- package/dist/internal/iterable-transform.js +159 -0
- package/dist/internal/iterable-transform.js.map +1 -0
- package/dist/internal/iterable.d.ts +23 -0
- package/dist/internal/iterable.d.ts.map +1 -0
- package/dist/internal/iterable.js +81 -0
- package/dist/internal/iterable.js.map +1 -0
- package/dist/internal/microtask.d.ts +7 -0
- package/dist/internal/microtask.d.ts.map +1 -0
- package/dist/internal/microtask.js +19 -0
- package/dist/internal/microtask.js.map +1 -0
- package/dist/publisher/browser-sources.d.ts +15 -0
- package/dist/publisher/browser-sources.d.ts.map +1 -0
- package/dist/publisher/browser-sources.js +92 -0
- package/dist/publisher/browser-sources.js.map +1 -0
- package/dist/publisher/flux-entrypoint.d.ts +7 -0
- package/dist/publisher/flux-entrypoint.d.ts.map +1 -0
- package/dist/publisher/flux-entrypoint.js +11 -0
- package/dist/publisher/flux-entrypoint.js.map +1 -0
- package/dist/publisher/flux.d.ts +121 -0
- package/dist/publisher/flux.d.ts.map +1 -0
- package/dist/publisher/flux.js +697 -0
- package/dist/publisher/flux.js.map +1 -0
- package/dist/publisher/helpers.d.ts +19 -0
- package/dist/publisher/helpers.d.ts.map +1 -0
- package/dist/publisher/helpers.js +84 -0
- package/dist/publisher/helpers.js.map +1 -0
- package/dist/publisher/mono-entrypoint.d.ts +7 -0
- package/dist/publisher/mono-entrypoint.d.ts.map +1 -0
- package/dist/publisher/mono-entrypoint.js +11 -0
- package/dist/publisher/mono-entrypoint.js.map +1 -0
- package/dist/publisher/mono.d.ts +72 -0
- package/dist/publisher/mono.d.ts.map +1 -0
- package/dist/publisher/mono.js +373 -0
- package/dist/publisher/mono.js.map +1 -0
- package/dist/publisher/operators/aggregate.d.ts +35 -0
- package/dist/publisher/operators/aggregate.d.ts.map +1 -0
- package/dist/publisher/operators/aggregate.js +217 -0
- package/dist/publisher/operators/aggregate.js.map +1 -0
- package/dist/publisher/operators/compat/flux.d.ts +56 -0
- package/dist/publisher/operators/compat/flux.d.ts.map +1 -0
- package/dist/publisher/operators/compat/flux.js +156 -0
- package/dist/publisher/operators/compat/flux.js.map +1 -0
- package/dist/publisher/operators/compat/mono.d.ts +82 -0
- package/dist/publisher/operators/compat/mono.d.ts.map +1 -0
- package/dist/publisher/operators/compat/mono.js +125 -0
- package/dist/publisher/operators/compat/mono.js.map +1 -0
- package/dist/publisher/operators/coordination.d.ts +82 -0
- package/dist/publisher/operators/coordination.d.ts.map +1 -0
- package/dist/publisher/operators/coordination.js +345 -0
- package/dist/publisher/operators/coordination.js.map +1 -0
- package/dist/publisher/operators/error.d.ts +17 -0
- package/dist/publisher/operators/error.d.ts.map +1 -0
- package/dist/publisher/operators/error.js +48 -0
- package/dist/publisher/operators/error.js.map +1 -0
- package/dist/publisher/operators/flatten.d.ts +19 -0
- package/dist/publisher/operators/flatten.d.ts.map +1 -0
- package/dist/publisher/operators/flatten.js +127 -0
- package/dist/publisher/operators/flatten.js.map +1 -0
- package/dist/publisher/operators/lifecycle.d.ts +103 -0
- package/dist/publisher/operators/lifecycle.d.ts.map +1 -0
- package/dist/publisher/operators/lifecycle.js +237 -0
- package/dist/publisher/operators/lifecycle.js.map +1 -0
- package/dist/publisher/operators/mono-parity.d.ts +109 -0
- package/dist/publisher/operators/mono-parity.d.ts.map +1 -0
- package/dist/publisher/operators/mono-parity.js +144 -0
- package/dist/publisher/operators/mono-parity.js.map +1 -0
- package/dist/publisher/operators/mono.d.ts +30 -0
- package/dist/publisher/operators/mono.d.ts.map +1 -0
- package/dist/publisher/operators/mono.js +37 -0
- package/dist/publisher/operators/mono.js.map +1 -0
- package/dist/publisher/operators/register.d.ts +20 -0
- package/dist/publisher/operators/register.d.ts.map +1 -0
- package/dist/publisher/operators/register.js +23 -0
- package/dist/publisher/operators/register.js.map +1 -0
- package/dist/publisher/operators/selection.d.ts +25 -0
- package/dist/publisher/operators/selection.d.ts.map +1 -0
- package/dist/publisher/operators/selection.js +108 -0
- package/dist/publisher/operators/selection.js.map +1 -0
- package/dist/publisher/operators/side-effect.d.ts +15 -0
- package/dist/publisher/operators/side-effect.d.ts.map +1 -0
- package/dist/publisher/operators/side-effect.js +56 -0
- package/dist/publisher/operators/side-effect.js.map +1 -0
- package/dist/publisher/operators/terminal.d.ts +16 -0
- package/dist/publisher/operators/terminal.d.ts.map +1 -0
- package/dist/publisher/operators/terminal.js +47 -0
- package/dist/publisher/operators/terminal.js.map +1 -0
- package/dist/publisher/operators/time.d.ts +20 -0
- package/dist/publisher/operators/time.d.ts.map +1 -0
- package/dist/publisher/operators/time.js +92 -0
- package/dist/publisher/operators/time.js.map +1 -0
- package/dist/publisher/operators/transform.d.ts +31 -0
- package/dist/publisher/operators/transform.d.ts.map +1 -0
- package/dist/publisher/operators/transform.js +74 -0
- package/dist/publisher/operators/transform.js.map +1 -0
- package/dist/publisher/operators/windowing.d.ts +28 -0
- package/dist/publisher/operators/windowing.d.ts.map +1 -0
- package/dist/publisher/operators/windowing.js +148 -0
- package/dist/publisher/operators/windowing.js.map +1 -0
- package/dist/publisher/publisher.d.ts +11 -0
- package/dist/publisher/publisher.d.ts.map +1 -0
- package/dist/publisher/types.d.ts +51 -0
- package/dist/publisher/types.d.ts.map +1 -0
- package/dist/schedulers/animation-frame-scheduler.d.ts +11 -0
- package/dist/schedulers/animation-frame-scheduler.d.ts.map +1 -0
- package/dist/schedulers/animation-frame-scheduler.js +30 -0
- package/dist/schedulers/animation-frame-scheduler.js.map +1 -0
- package/dist/schedulers/base-scheduler.d.ts +28 -0
- package/dist/schedulers/base-scheduler.d.ts.map +1 -0
- package/dist/schedulers/base-scheduler.js +77 -0
- package/dist/schedulers/base-scheduler.js.map +1 -0
- package/dist/schedulers/basic-worker.d.ts +22 -0
- package/dist/schedulers/basic-worker.d.ts.map +1 -0
- package/dist/schedulers/basic-worker.js +71 -0
- package/dist/schedulers/basic-worker.js.map +1 -0
- package/dist/schedulers/delay-scheduler.d.ts +12 -0
- package/dist/schedulers/delay-scheduler.d.ts.map +1 -0
- package/dist/schedulers/delay-scheduler.js +17 -0
- package/dist/schedulers/delay-scheduler.js.map +1 -0
- package/dist/schedulers/disposed.d.ts +4 -0
- package/dist/schedulers/disposed.d.ts.map +1 -0
- package/dist/schedulers/disposed.js +14 -0
- package/dist/schedulers/disposed.js.map +1 -0
- package/dist/schedulers/duration.d.ts +8 -0
- package/dist/schedulers/duration.d.ts.map +1 -0
- package/dist/schedulers/duration.js +11 -0
- package/dist/schedulers/duration.js.map +1 -0
- package/dist/schedulers/executor-scheduler.d.ts +13 -0
- package/dist/schedulers/executor-scheduler.d.ts.map +1 -0
- package/dist/schedulers/executor-scheduler.js +43 -0
- package/dist/schedulers/executor-scheduler.js.map +1 -0
- package/dist/schedulers/immediate-scheduler.d.ts +15 -0
- package/dist/schedulers/immediate-scheduler.d.ts.map +1 -0
- package/dist/schedulers/immediate-scheduler.js +24 -0
- package/dist/schedulers/immediate-scheduler.js.map +1 -0
- package/dist/schedulers/index.d.ts +7 -0
- package/dist/schedulers/index.d.ts.map +1 -0
- package/dist/schedulers/index.js +2 -0
- package/dist/schedulers/interval-scheduler.d.ts +12 -0
- package/dist/schedulers/interval-scheduler.d.ts.map +1 -0
- package/dist/schedulers/interval-scheduler.js +17 -0
- package/dist/schedulers/interval-scheduler.js.map +1 -0
- package/dist/schedulers/macro-scheduler.d.ts +19 -0
- package/dist/schedulers/macro-scheduler.d.ts.map +1 -0
- package/dist/schedulers/macro-scheduler.js +30 -0
- package/dist/schedulers/macro-scheduler.js.map +1 -0
- package/dist/schedulers/microtask-scheduler.d.ts +11 -0
- package/dist/schedulers/microtask-scheduler.d.ts.map +1 -0
- package/dist/schedulers/microtask-scheduler.js +34 -0
- package/dist/schedulers/microtask-scheduler.js.map +1 -0
- package/dist/schedulers/schedulers.d.ts +39 -0
- package/dist/schedulers/schedulers.d.ts.map +1 -0
- package/dist/schedulers/schedulers.js +83 -0
- package/dist/schedulers/schedulers.js.map +1 -0
- package/dist/schedulers/timeout-scheduler.d.ts +11 -0
- package/dist/schedulers/timeout-scheduler.d.ts.map +1 -0
- package/dist/schedulers/types.d.ts +35 -0
- package/dist/schedulers/types.d.ts.map +1 -0
- package/dist/signal/signal-type.d.ts +26 -0
- package/dist/signal/signal-type.d.ts.map +1 -0
- package/dist/signal/signal-type.js +31 -0
- package/dist/signal/signal-type.js.map +1 -0
- package/dist/signal/signal.d.ts +33 -0
- package/dist/signal/signal.d.ts.map +1 -0
- package/dist/signal/signal.js +70 -0
- package/dist/signal/signal.js.map +1 -0
- package/dist/sinks/index.d.ts +7 -0
- package/dist/sinks/index.d.ts.map +1 -0
- package/dist/sinks/index.js +2 -0
- package/dist/sinks/many.d.ts +66 -0
- package/dist/sinks/many.d.ts.map +1 -0
- package/dist/sinks/many.js +193 -0
- package/dist/sinks/many.js.map +1 -0
- package/dist/sinks/one.d.ts +41 -0
- package/dist/sinks/one.d.ts.map +1 -0
- package/dist/sinks/one.js +144 -0
- package/dist/sinks/one.js.map +1 -0
- package/dist/sinks/specs.d.ts +25 -0
- package/dist/sinks/specs.d.ts.map +1 -0
- package/dist/sinks/specs.js +126 -0
- package/dist/sinks/specs.js.map +1 -0
- package/dist/sinks/subscribers.d.ts +16 -0
- package/dist/sinks/subscribers.d.ts.map +1 -0
- package/dist/sinks/subscribers.js +32 -0
- package/dist/sinks/subscribers.js.map +1 -0
- package/dist/sinks/types.d.ts +137 -0
- package/dist/sinks/types.d.ts.map +1 -0
- package/dist/sinks/types.js +58 -0
- package/dist/sinks/types.js.map +1 -0
- package/dist/subscription/core-subscriber.d.ts +12 -0
- package/dist/subscription/core-subscriber.d.ts.map +1 -0
- package/dist/subscription/iterable-subscription.d.ts +64 -0
- package/dist/subscription/iterable-subscription.d.ts.map +1 -0
- package/dist/subscription/iterable-subscription.js +281 -0
- package/dist/subscription/iterable-subscription.js.map +1 -0
- package/dist/subscription/reactive-streams.d.ts +8 -0
- package/dist/subscription/reactive-streams.d.ts.map +1 -0
- package/dist/subscription/reactive-streams.js +0 -0
- package/dist/subscription/subscriber.d.ts +17 -0
- package/dist/subscription/subscriber.d.ts.map +1 -0
- package/dist/subscription/subscription.d.ts +12 -0
- package/dist/subscription/subscription.d.ts.map +1 -0
- package/package.json +99 -33
- package/LICENSE.md +0 -56
- package/dist/index.d.mts +0 -2557
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _defineProperty from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.js";
|
|
2
|
+
import { CompositeDisposable } from "../core/composite-disposable.js";
|
|
3
|
+
import { disposed } from "./disposed.js";
|
|
4
|
+
//#region src/schedulers/basic-worker.ts
|
|
5
|
+
/**
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* Browser scheduler implementations and contracts.
|
|
8
|
+
*/
|
|
9
|
+
/** Scheduler worker that tracks child tasks in a composite disposable. */
|
|
10
|
+
var BasicWorker = class {
|
|
11
|
+
/** Creates a worker backed by the provided scheduler. */
|
|
12
|
+
constructor(scheduler) {
|
|
13
|
+
_defineProperty(
|
|
14
|
+
this,
|
|
15
|
+
/** Tasks currently owned by this worker, allocated only after a task needs tracking. */
|
|
16
|
+
"tasks",
|
|
17
|
+
void 0
|
|
18
|
+
);
|
|
19
|
+
_defineProperty(
|
|
20
|
+
this,
|
|
21
|
+
/** Tracks whether this worker has been disposed. */
|
|
22
|
+
"disposed",
|
|
23
|
+
false
|
|
24
|
+
);
|
|
25
|
+
_defineProperty(
|
|
26
|
+
this,
|
|
27
|
+
/** Scheduler used to create tracked tasks. */
|
|
28
|
+
"scheduler",
|
|
29
|
+
void 0
|
|
30
|
+
);
|
|
31
|
+
this.scheduler = scheduler;
|
|
32
|
+
}
|
|
33
|
+
/** Schedules a task and tracks it for disposal. */
|
|
34
|
+
schedule(task, delay) {
|
|
35
|
+
if (this.disposed) return disposed();
|
|
36
|
+
let tracked;
|
|
37
|
+
let finished = false;
|
|
38
|
+
const disposable = this.scheduler.schedule(() => {
|
|
39
|
+
if (tracked) this.tasks?.remove(tracked);
|
|
40
|
+
else finished = true;
|
|
41
|
+
task();
|
|
42
|
+
}, delay);
|
|
43
|
+
tracked = disposable;
|
|
44
|
+
if (this.disposed) disposable.dispose();
|
|
45
|
+
else if (!finished && !disposable.isDisposed()) (this.tasks ?? (this.tasks = new CompositeDisposable())).add(disposable);
|
|
46
|
+
return disposable;
|
|
47
|
+
}
|
|
48
|
+
/** Schedules a periodic task and tracks it for disposal. */
|
|
49
|
+
schedulePeriodically(task, initialDelay, period) {
|
|
50
|
+
if (this.disposed) return disposed();
|
|
51
|
+
const disposable = this.scheduler.schedulePeriodically(task, initialDelay, period);
|
|
52
|
+
if (this.disposed) disposable.dispose();
|
|
53
|
+
else if (!disposable.isDisposed()) (this.tasks ?? (this.tasks = new CompositeDisposable())).add(disposable);
|
|
54
|
+
return disposable;
|
|
55
|
+
}
|
|
56
|
+
/** Disposes all tasks scheduled through this worker. */
|
|
57
|
+
dispose() {
|
|
58
|
+
if (this.disposed) return;
|
|
59
|
+
this.disposed = true;
|
|
60
|
+
this.tasks?.dispose();
|
|
61
|
+
this.tasks = void 0;
|
|
62
|
+
}
|
|
63
|
+
/** Returns true after this worker has been disposed. */
|
|
64
|
+
isDisposed() {
|
|
65
|
+
return this.disposed;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { BasicWorker };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=basic-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-worker.js","names":[],"sources":["../../src/schedulers/basic-worker.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {CompositeDisposable} from \"@/core/composite-disposable.js\";\nimport type {Disposable} from \"@/core/types.js\";\nimport type {DurationInput, Scheduler, SchedulerWorker} from \"@/schedulers/types.js\";\nimport {disposed} from \"@/schedulers/disposed.js\";\n\n/** Scheduler worker that tracks child tasks in a composite disposable. */\nexport class BasicWorker implements SchedulerWorker {\n /** Tasks currently owned by this worker, allocated only after a task needs tracking. */\n private tasks: CompositeDisposable | undefined;\n /** Tracks whether this worker has been disposed. */\n private disposed = false;\n /** Scheduler used to create tracked tasks. */\n private readonly scheduler: Scheduler;\n\n /** Creates a worker backed by the provided scheduler. */\n public constructor(scheduler: Scheduler) {\n this.scheduler = scheduler;\n }\n\n /** Schedules a task and tracks it for disposal. */\n public schedule(task: () => void, delay?: DurationInput): Disposable {\n if (this.disposed) {\n return disposed();\n }\n let tracked: Disposable | undefined;\n let finished = false;\n const disposable = this.scheduler.schedule(() => {\n if (tracked) {\n this.tasks?.remove(tracked);\n } else {\n finished = true;\n }\n task();\n }, delay);\n tracked = disposable;\n if (this.disposed) {\n disposable.dispose();\n } else if (!finished && !disposable.isDisposed()) {\n (this.tasks ??= new CompositeDisposable()).add(disposable);\n }\n return disposable;\n }\n\n /** Schedules a periodic task and tracks it for disposal. */\n public schedulePeriodically(task: () => void, initialDelay?: DurationInput, period?: DurationInput): Disposable {\n if (this.disposed) {\n return disposed();\n }\n const disposable = this.scheduler.schedulePeriodically(task, initialDelay, period);\n if (this.disposed) {\n disposable.dispose();\n } else if (!disposable.isDisposed()) {\n (this.tasks ??= new CompositeDisposable()).add(disposable);\n }\n return disposable;\n }\n\n /** Disposes all tasks scheduled through this worker. */\n public dispose(): void {\n if (this.disposed) {\n return;\n }\n this.disposed = true;\n this.tasks?.dispose();\n this.tasks = undefined;\n }\n\n /** Returns true after this worker has been disposed. */\n public isDisposed(): boolean {\n return this.disposed;\n }\n}\n"],"mappings":";;;;;;;;;AAUA,IAAa,cAAb,MAAoD;;CAShD,YAAmB,WAAsB;;;;GAPzC;;;;;;GAEA;GAAmB;;;;;GAEnB;;;EAII,KAAK,YAAY;CACrB;;CAGA,SAAgB,MAAkB,OAAmC;EACjE,IAAI,KAAK,UACL,OAAO,SAAS;EAEpB,IAAI;EACJ,IAAI,WAAW;EACf,MAAM,aAAa,KAAK,UAAU,eAAe;GAC7C,IAAI,SACA,KAAK,OAAO,OAAO,OAAO;QAE1B,WAAW;GAEf,KAAK;EACT,GAAG,KAAK;EACR,UAAU;EACV,IAAI,KAAK,UACL,WAAW,QAAQ;OAChB,IAAI,CAAC,YAAY,CAAC,WAAW,WAAW,GAC3C,CAAC,KAAK,UAAL,KAAK,QAAU,IAAI,oBAAoB,GAAA,CAAG,IAAI,UAAU;EAE7D,OAAO;CACX;;CAGA,qBAA4B,MAAkB,cAA8B,QAAoC;EAC5G,IAAI,KAAK,UACL,OAAO,SAAS;EAEpB,MAAM,aAAa,KAAK,UAAU,qBAAqB,MAAM,cAAc,MAAM;EACjF,IAAI,KAAK,UACL,WAAW,QAAQ;OAChB,IAAI,CAAC,WAAW,WAAW,GAC9B,CAAC,KAAK,UAAL,KAAK,QAAU,IAAI,oBAAoB,GAAA,CAAG,IAAI,UAAU;EAE7D,OAAO;CACX;;CAGA,UAAuB;EACnB,IAAI,KAAK,UACL;EAEJ,KAAK,WAAW;EAChB,KAAK,OAAO,QAAQ;EACpB,KAAK,QAAQ;CACjB;;CAGA,aAA6B;EACzB,OAAO,KAAK;CAChB;AACJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import { MacroScheduler } from "./macro-scheduler.js";
|
|
6
|
+
import type { DurationInput } from "./types.js";
|
|
7
|
+
/** Scheduler that applies a configured delay when no call-specific delay is provided. */
|
|
8
|
+
export declare class DelayScheduler extends MacroScheduler {
|
|
9
|
+
/** Creates a scheduler with the provided default delay. */
|
|
10
|
+
constructor(delay: DurationInput, name?: string);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=delay-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/delay-scheduler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,yFAAyF;AACzF,qBAAa,cAAe,SAAQ,cAAc;IAC9C,2DAA2D;IAC3D,YAAmB,KAAK,EAAE,aAAa,EAAE,IAAI,SAAU,EAEtD;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MacroScheduler } from "./macro-scheduler.js";
|
|
2
|
+
//#region src/schedulers/delay-scheduler.ts
|
|
3
|
+
/**
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
* Browser scheduler implementations and contracts.
|
|
6
|
+
*/
|
|
7
|
+
/** Scheduler that applies a configured delay when no call-specific delay is provided. */
|
|
8
|
+
var DelayScheduler = class extends MacroScheduler {
|
|
9
|
+
/** Creates a scheduler with the provided default delay. */
|
|
10
|
+
constructor(delay, name = "delay") {
|
|
11
|
+
super(name, delay);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DelayScheduler };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=delay-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay-scheduler.js","names":[],"sources":["../../src/schedulers/delay-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {MacroScheduler} from \"@/schedulers/macro-scheduler.js\";\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Scheduler that applies a configured delay when no call-specific delay is provided. */\nexport class DelayScheduler extends MacroScheduler {\n /** Creates a scheduler with the provided default delay. */\n public constructor(delay: DurationInput, name = \"delay\") {\n super(name, delay);\n }\n}\n"],"mappings":";;;;;;;AAQA,IAAa,iBAAb,cAAoC,eAAe;;CAE/C,YAAmB,OAAsB,OAAO,SAAS;EACrD,MAAM,MAAM,KAAK;CACrB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposed.d.ts","sourceRoot":"","sources":["../../src/schedulers/disposed.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAEhD,2DAA2D;AAC3D,wBAAgB,QAAQ,IAAI,UAAU,CAErC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Disposables } from "../core/disposables.js";
|
|
2
|
+
//#region src/schedulers/disposed.ts
|
|
3
|
+
/**
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
* Browser scheduler implementations and contracts.
|
|
6
|
+
*/
|
|
7
|
+
/** Returns a no-op disposable that is already disposed. */
|
|
8
|
+
function disposed() {
|
|
9
|
+
return Disposables.disposed();
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { disposed };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=disposed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposed.js","names":[],"sources":["../../src/schedulers/disposed.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {Disposables} from \"@/core/disposables.js\";\nimport type {Disposable} from \"@/core/types.js\";\n\n/** Returns a no-op disposable that is already disposed. */\nexport function disposed(): Disposable {\n return Disposables.disposed();\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,WAAuB;CACnC,OAAO,YAAY,SAAS;AAChC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import type { DurationInput } from "./types.js";
|
|
6
|
+
/** Converts a duration input into milliseconds. */
|
|
7
|
+
export declare function toMillis(duration: DurationInput | undefined): number;
|
|
8
|
+
//# sourceMappingURL=duration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/schedulers/duration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,mDAAmD;AACnD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAcpE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/schedulers/duration.ts
|
|
2
|
+
/** Converts a duration input into milliseconds. */
|
|
3
|
+
function toMillis(duration) {
|
|
4
|
+
if (duration === void 0) return 0;
|
|
5
|
+
if (typeof duration === "number") return Math.max(0, duration);
|
|
6
|
+
return Math.max(0, (duration.milliseconds ?? 0) + (duration.seconds ?? 0) * 1e3 + (duration.minutes ?? 0) * 6e4 + (duration.hours ?? 0) * 36e5);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { toMillis };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","names":[],"sources":["../../src/schedulers/duration.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Converts a duration input into milliseconds. */\nexport function toMillis(duration: DurationInput | undefined): number {\n if (duration === undefined) {\n return 0;\n }\n if (typeof duration === \"number\") {\n return Math.max(0, duration);\n }\n return Math.max(\n 0,\n (duration.milliseconds ?? 0) +\n (duration.seconds ?? 0) * 1_000 +\n (duration.minutes ?? 0) * 60_000 +\n (duration.hours ?? 0) * 3_600_000\n );\n}\n"],"mappings":";;AAOA,SAAgB,SAAS,UAA6C;CAClE,IAAI,aAAa,QACb,OAAO;CAEX,IAAI,OAAO,aAAa,UACpB,OAAO,KAAK,IAAI,GAAG,QAAQ;CAE/B,OAAO,KAAK,IACR,IACC,SAAS,gBAAgB,MACzB,SAAS,WAAW,KAAK,OACzB,SAAS,WAAW,KAAK,OACzB,SAAS,SAAS,KAAK,IAC5B;AACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Disposable } from "../core/types.js";
|
|
2
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
3
|
+
import type { DurationInput, Executor } from "./types.js";
|
|
4
|
+
/** Scheduler backed by a caller-provided task executor. */
|
|
5
|
+
export declare class ExecutorScheduler extends BaseScheduler {
|
|
6
|
+
/** Executor callback used for immediate task scheduling. */
|
|
7
|
+
private readonly executor;
|
|
8
|
+
/** Creates a scheduler backed by a user-provided executor. */
|
|
9
|
+
constructor(name: string, executor: Executor);
|
|
10
|
+
/** Schedules a task through the executor. */
|
|
11
|
+
schedule(task: () => void, delay?: DurationInput): Disposable;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=executor-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/executor-scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAGnE,2DAA2D;AAC3D,qBAAa,iBAAkB,SAAQ,aAAa;IAChD,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,8DAA8D;IAC9D,YAAmB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAGlD;IAED,6CAA6C;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAoBnE;CACJ"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import _defineProperty from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.js";
|
|
2
|
+
import { BooleanDisposable } from "../core/boolean-disposable.js";
|
|
3
|
+
import { toMillis } from "./duration.js";
|
|
4
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
5
|
+
//#region src/schedulers/executor-scheduler.ts
|
|
6
|
+
/**
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* Browser scheduler implementations and contracts.
|
|
9
|
+
*/
|
|
10
|
+
/** Scheduler backed by a caller-provided task executor. */
|
|
11
|
+
var ExecutorScheduler = class extends BaseScheduler {
|
|
12
|
+
/** Creates a scheduler backed by a user-provided executor. */
|
|
13
|
+
constructor(name, executor) {
|
|
14
|
+
super(name);
|
|
15
|
+
_defineProperty(
|
|
16
|
+
this,
|
|
17
|
+
/** Executor callback used for immediate task scheduling. */
|
|
18
|
+
"executor",
|
|
19
|
+
void 0
|
|
20
|
+
);
|
|
21
|
+
this.executor = executor;
|
|
22
|
+
}
|
|
23
|
+
/** Schedules a task through the executor. */
|
|
24
|
+
schedule(task, delay) {
|
|
25
|
+
const disposedDisposable = this.disposedIfNeeded();
|
|
26
|
+
if (disposedDisposable) return disposedDisposable;
|
|
27
|
+
const delayMs = toMillis(delay);
|
|
28
|
+
if (delayMs > 0) return this.scheduleTimeout(() => {
|
|
29
|
+
this.schedule(task);
|
|
30
|
+
}, delayMs);
|
|
31
|
+
let cancelled = false;
|
|
32
|
+
this.executor(() => {
|
|
33
|
+
if (!cancelled && !this.isDisposed()) task();
|
|
34
|
+
});
|
|
35
|
+
return new BooleanDisposable(() => {
|
|
36
|
+
cancelled = true;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { ExecutorScheduler };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=executor-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor-scheduler.js","names":[],"sources":["../../src/schedulers/executor-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {BooleanDisposable} from \"@/core/boolean-disposable.js\";\nimport type {Disposable} from \"@/core/types.js\";\nimport {BaseScheduler} from \"@/schedulers/base-scheduler.js\";\nimport type {DurationInput, Executor} from \"@/schedulers/types.js\";\nimport {toMillis} from \"@/schedulers/duration.js\";\n\n/** Scheduler backed by a caller-provided task executor. */\nexport class ExecutorScheduler extends BaseScheduler {\n /** Executor callback used for immediate task scheduling. */\n private readonly executor: Executor;\n\n /** Creates a scheduler backed by a user-provided executor. */\n public constructor(name: string, executor: Executor) {\n super(name);\n this.executor = executor;\n }\n\n /** Schedules a task through the executor. */\n public schedule(task: () => void, delay?: DurationInput): Disposable {\n const disposedDisposable = this.disposedIfNeeded();\n if (disposedDisposable) {\n return disposedDisposable;\n }\n const delayMs = toMillis(delay);\n if (delayMs > 0) {\n return this.scheduleTimeout(() => {\n this.schedule(task);\n }, delayMs);\n }\n let cancelled = false;\n this.executor(() => {\n if (!cancelled && !this.isDisposed()) {\n task();\n }\n });\n return new BooleanDisposable(() => {\n cancelled = true;\n });\n }\n}\n"],"mappings":";;;;;;;;;;AAWA,IAAa,oBAAb,cAAuC,cAAc;;CAKjD,YAAmB,MAAc,UAAoB;EACjD,MAAM,IAAI;;;;GAJd;;;EAKI,KAAK,WAAW;CACpB;;CAGA,SAAgB,MAAkB,OAAmC;EACjE,MAAM,qBAAqB,KAAK,iBAAiB;EACjD,IAAI,oBACA,OAAO;EAEX,MAAM,UAAU,SAAS,KAAK;EAC9B,IAAI,UAAU,GACV,OAAO,KAAK,sBAAsB;GAC9B,KAAK,SAAS,IAAI;EACtB,GAAG,OAAO;EAEd,IAAI,YAAY;EAChB,KAAK,eAAe;GAChB,IAAI,CAAC,aAAa,CAAC,KAAK,WAAW,GAC/B,KAAK;EAEb,CAAC;EACD,OAAO,IAAI,wBAAwB;GAC/B,YAAY;EAChB,CAAC;CACL;AACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import type { Disposable } from "../core/types.js";
|
|
6
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
7
|
+
import type { DurationInput } from "./types.js";
|
|
8
|
+
/** Scheduler that executes zero-delay tasks synchronously. */
|
|
9
|
+
export declare class ImmediateScheduler extends BaseScheduler {
|
|
10
|
+
/** Creates an immediate scheduler. */
|
|
11
|
+
constructor(name?: string);
|
|
12
|
+
/** Schedules a task synchronously when there is no delay. */
|
|
13
|
+
schedule(task: () => void, delay?: DurationInput): Disposable;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=immediate-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"immediate-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/immediate-scheduler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,8DAA8D;AAC9D,qBAAa,kBAAmB,SAAQ,aAAa;IACjD,sCAAsC;IACtC,YAAmB,IAAI,SAAc,EAEpC;IAED,6DAA6D;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAWnE;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { toMillis } from "./duration.js";
|
|
2
|
+
import { disposed } from "./disposed.js";
|
|
3
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
4
|
+
//#region src/schedulers/immediate-scheduler.ts
|
|
5
|
+
/** Scheduler that executes zero-delay tasks synchronously. */
|
|
6
|
+
var ImmediateScheduler = class extends BaseScheduler {
|
|
7
|
+
/** Creates an immediate scheduler. */
|
|
8
|
+
constructor(name = "immediate") {
|
|
9
|
+
super(name);
|
|
10
|
+
}
|
|
11
|
+
/** Schedules a task synchronously when there is no delay. */
|
|
12
|
+
schedule(task, delay) {
|
|
13
|
+
const disposedDisposable = this.disposedIfNeeded();
|
|
14
|
+
if (disposedDisposable) return disposedDisposable;
|
|
15
|
+
const delayMs = toMillis(delay);
|
|
16
|
+
if (delayMs > 0) return this.scheduleTimeout(task, delayMs);
|
|
17
|
+
task();
|
|
18
|
+
return disposed();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ImmediateScheduler };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=immediate-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"immediate-scheduler.js","names":[],"sources":["../../src/schedulers/immediate-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport type {Disposable} from \"@/core/types.js\";\nimport {disposed} from \"@/schedulers/disposed.js\";\nimport {toMillis} from \"@/schedulers/duration.js\";\nimport {BaseScheduler} from \"@/schedulers/base-scheduler.js\";\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Scheduler that executes zero-delay tasks synchronously. */\nexport class ImmediateScheduler extends BaseScheduler {\n /** Creates an immediate scheduler. */\n public constructor(name = \"immediate\") {\n super(name);\n }\n\n /** Schedules a task synchronously when there is no delay. */\n public schedule(task: () => void, delay?: DurationInput): Disposable {\n const disposedDisposable = this.disposedIfNeeded();\n if (disposedDisposable) {\n return disposedDisposable;\n }\n const delayMs = toMillis(delay);\n if (delayMs > 0) {\n return this.scheduleTimeout(task, delayMs);\n }\n task();\n return disposed();\n }\n}\n"],"mappings":";;;;;AAWA,IAAa,qBAAb,cAAwC,cAAc;;CAElD,YAAmB,OAAO,aAAa;EACnC,MAAM,IAAI;CACd;;CAGA,SAAgB,MAAkB,OAAmC;EACjE,MAAM,qBAAqB,KAAK,iBAAiB;EACjD,IAAI,oBACA,OAAO;EAEX,MAAM,UAAU,SAAS,KAAK;EAC9B,IAAI,UAAU,GACV,OAAO,KAAK,gBAAgB,MAAM,OAAO;EAE7C,KAAK;EACL,OAAO,SAAS;CACpB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schedulers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,YAAY,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import { MacroScheduler } from "./macro-scheduler.js";
|
|
6
|
+
import type { DurationInput } from "./types.js";
|
|
7
|
+
/** Scheduler that applies a configured interval as its default timing cadence. */
|
|
8
|
+
export declare class IntervalScheduler extends MacroScheduler {
|
|
9
|
+
/** Creates a scheduler with the provided default interval. */
|
|
10
|
+
constructor(period: DurationInput, name?: string);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=interval-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/interval-scheduler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,kFAAkF;AAClF,qBAAa,iBAAkB,SAAQ,cAAc;IACjD,8DAA8D;IAC9D,YAAmB,MAAM,EAAE,aAAa,EAAE,IAAI,SAAa,EAE1D;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MacroScheduler } from "./macro-scheduler.js";
|
|
2
|
+
//#region src/schedulers/interval-scheduler.ts
|
|
3
|
+
/**
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
* Browser scheduler implementations and contracts.
|
|
6
|
+
*/
|
|
7
|
+
/** Scheduler that applies a configured interval as its default timing cadence. */
|
|
8
|
+
var IntervalScheduler = class extends MacroScheduler {
|
|
9
|
+
/** Creates a scheduler with the provided default interval. */
|
|
10
|
+
constructor(period, name = "interval") {
|
|
11
|
+
super(name, period);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { IntervalScheduler };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=interval-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-scheduler.js","names":[],"sources":["../../src/schedulers/interval-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {MacroScheduler} from \"@/schedulers/macro-scheduler.js\";\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Scheduler that applies a configured interval as its default timing cadence. */\nexport class IntervalScheduler extends MacroScheduler {\n /** Creates a scheduler with the provided default interval. */\n public constructor(period: DurationInput, name = \"interval\") {\n super(name, period);\n }\n}\n"],"mappings":";;;;;;;AAQA,IAAa,oBAAb,cAAuC,eAAe;;CAElD,YAAmB,QAAuB,OAAO,YAAY;EACzD,MAAM,MAAM,MAAM;CACtB;AACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import type { Disposable } from "../core/types.js";
|
|
6
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
7
|
+
import type { DurationInput } from "./types.js";
|
|
8
|
+
/** Scheduler that queues tasks through the browser macrotask queue. */
|
|
9
|
+
export declare class MacroScheduler extends BaseScheduler {
|
|
10
|
+
/** Optional duration applied when a schedule call does not provide one. */
|
|
11
|
+
private readonly defaultDelay;
|
|
12
|
+
/** Creates a macrotask scheduler. */
|
|
13
|
+
constructor(name?: string, defaultDelay?: DurationInput);
|
|
14
|
+
/** Schedules a task with `setTimeout`. */
|
|
15
|
+
schedule(task: () => void, delay?: DurationInput): Disposable;
|
|
16
|
+
/** Schedules a repeated task with the default duration as fallback cadence. */
|
|
17
|
+
schedulePeriodically(task: () => void, initialDelay?: DurationInput, period?: DurationInput): Disposable;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=macro-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macro-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/macro-scheduler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,uEAAuE;AACvE,qBAAa,cAAe,SAAQ,aAAa;IAC7C,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEzD,qCAAqC;IACrC,YAAmB,IAAI,SAAU,EAAE,YAAY,CAAC,EAAE,aAAa,EAG9D;IAED,0CAA0C;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAEnE;IAED,+EAA+E;IAC/D,oBAAoB,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,CAEvH;CACJ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _defineProperty from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.js";
|
|
2
|
+
import { toMillis } from "./duration.js";
|
|
3
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
4
|
+
//#region src/schedulers/macro-scheduler.ts
|
|
5
|
+
/** Scheduler that queues tasks through the browser macrotask queue. */
|
|
6
|
+
var MacroScheduler = class extends BaseScheduler {
|
|
7
|
+
/** Creates a macrotask scheduler. */
|
|
8
|
+
constructor(name = "macro", defaultDelay) {
|
|
9
|
+
super(name);
|
|
10
|
+
_defineProperty(
|
|
11
|
+
this,
|
|
12
|
+
/** Optional duration applied when a schedule call does not provide one. */
|
|
13
|
+
"defaultDelay",
|
|
14
|
+
void 0
|
|
15
|
+
);
|
|
16
|
+
this.defaultDelay = defaultDelay;
|
|
17
|
+
}
|
|
18
|
+
/** Schedules a task with `setTimeout`. */
|
|
19
|
+
schedule(task, delay) {
|
|
20
|
+
return this.scheduleTimeout(task, toMillis(delay ?? this.defaultDelay));
|
|
21
|
+
}
|
|
22
|
+
/** Schedules a repeated task with the default duration as fallback cadence. */
|
|
23
|
+
schedulePeriodically(task, initialDelay, period) {
|
|
24
|
+
return super.schedulePeriodically(task, initialDelay ?? this.defaultDelay, period ?? this.defaultDelay);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { MacroScheduler };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=macro-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macro-scheduler.js","names":[],"sources":["../../src/schedulers/macro-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport type {Disposable} from \"@/core/types.js\";\nimport {BaseScheduler} from \"@/schedulers/base-scheduler.js\";\nimport {toMillis} from \"@/schedulers/duration.js\";\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Scheduler that queues tasks through the browser macrotask queue. */\nexport class MacroScheduler extends BaseScheduler {\n /** Optional duration applied when a schedule call does not provide one. */\n private readonly defaultDelay: DurationInput | undefined;\n\n /** Creates a macrotask scheduler. */\n public constructor(name = \"macro\", defaultDelay?: DurationInput) {\n super(name);\n this.defaultDelay = defaultDelay;\n }\n\n /** Schedules a task with `setTimeout`. */\n public schedule(task: () => void, delay?: DurationInput): Disposable {\n return this.scheduleTimeout(task, toMillis(delay ?? this.defaultDelay));\n }\n\n /** Schedules a repeated task with the default duration as fallback cadence. */\n public override schedulePeriodically(task: () => void, initialDelay?: DurationInput, period?: DurationInput): Disposable {\n return super.schedulePeriodically(task, initialDelay ?? this.defaultDelay, period ?? this.defaultDelay);\n }\n}\n"],"mappings":";;;;;AAUA,IAAa,iBAAb,cAAoC,cAAc;;CAK9C,YAAmB,OAAO,SAAS,cAA8B;EAC7D,MAAM,IAAI;;;;GAJd;;;EAKI,KAAK,eAAe;CACxB;;CAGA,SAAgB,MAAkB,OAAmC;EACjE,OAAO,KAAK,gBAAgB,MAAM,SAAS,SAAS,KAAK,YAAY,CAAC;CAC1E;;CAGA,qBAAqC,MAAkB,cAA8B,QAAoC;EACrH,OAAO,MAAM,qBAAqB,MAAM,gBAAgB,KAAK,cAAc,UAAU,KAAK,YAAY;CAC1G;AACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Disposable } from "../core/types.js";
|
|
2
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
3
|
+
import type { DurationInput } from "./types.js";
|
|
4
|
+
/** Scheduler that queues zero-delay tasks in the browser microtask queue. */
|
|
5
|
+
export declare class MicrotaskScheduler extends BaseScheduler {
|
|
6
|
+
/** Creates a microtask scheduler. */
|
|
7
|
+
constructor(name?: string);
|
|
8
|
+
/** Schedules a task on the microtask queue when there is no delay. */
|
|
9
|
+
schedule(task: () => void, delay?: DurationInput): Disposable;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=microtask-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microtask-scheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/microtask-scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEzD,6EAA6E;AAC7E,qBAAa,kBAAmB,SAAQ,aAAa;IACjD,qCAAqC;IACrC,YAAmB,IAAI,SAAc,EAEpC;IAED,sEAAsE;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAkBnE;CACJ"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BooleanDisposable } from "../core/boolean-disposable.js";
|
|
2
|
+
import { toMillis } from "./duration.js";
|
|
3
|
+
import { BaseScheduler } from "./base-scheduler.js";
|
|
4
|
+
import { scheduleMicrotask } from "../internal/microtask.js";
|
|
5
|
+
//#region src/schedulers/microtask-scheduler.ts
|
|
6
|
+
/**
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* Browser scheduler implementations and contracts.
|
|
9
|
+
*/
|
|
10
|
+
/** Scheduler that queues zero-delay tasks in the browser microtask queue. */
|
|
11
|
+
var MicrotaskScheduler = class extends BaseScheduler {
|
|
12
|
+
/** Creates a microtask scheduler. */
|
|
13
|
+
constructor(name = "microtask") {
|
|
14
|
+
super(name);
|
|
15
|
+
}
|
|
16
|
+
/** Schedules a task on the microtask queue when there is no delay. */
|
|
17
|
+
schedule(task, delay) {
|
|
18
|
+
const disposedDisposable = this.disposedIfNeeded();
|
|
19
|
+
if (disposedDisposable) return disposedDisposable;
|
|
20
|
+
const delayMs = toMillis(delay);
|
|
21
|
+
if (delayMs > 0) return this.scheduleTimeout(task, delayMs);
|
|
22
|
+
let cancelled = false;
|
|
23
|
+
scheduleMicrotask(() => {
|
|
24
|
+
if (!cancelled && !this.isDisposed()) task();
|
|
25
|
+
});
|
|
26
|
+
return new BooleanDisposable(() => {
|
|
27
|
+
cancelled = true;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { MicrotaskScheduler };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=microtask-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microtask-scheduler.js","names":[],"sources":["../../src/schedulers/microtask-scheduler.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport {BooleanDisposable} from \"@/core/boolean-disposable.js\";\nimport type {Disposable} from \"@/core/types.js\";\nimport {scheduleMicrotask} from \"@/internal/microtask.js\";\nimport {toMillis} from \"@/schedulers/duration.js\";\nimport {BaseScheduler} from \"@/schedulers/base-scheduler.js\";\nimport type {DurationInput} from \"@/schedulers/types.js\";\n\n/** Scheduler that queues zero-delay tasks in the browser microtask queue. */\nexport class MicrotaskScheduler extends BaseScheduler {\n /** Creates a microtask scheduler. */\n public constructor(name = \"microtask\") {\n super(name);\n }\n\n /** Schedules a task on the microtask queue when there is no delay. */\n public schedule(task: () => void, delay?: DurationInput): Disposable {\n const disposedDisposable = this.disposedIfNeeded();\n if (disposedDisposable) {\n return disposedDisposable;\n }\n const delayMs = toMillis(delay);\n if (delayMs > 0) {\n return this.scheduleTimeout(task, delayMs);\n }\n let cancelled = false;\n scheduleMicrotask(() => {\n if (!cancelled && !this.isDisposed()) {\n task();\n }\n });\n return new BooleanDisposable(() => {\n cancelled = true;\n });\n }\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,qBAAb,cAAwC,cAAc;;CAElD,YAAmB,OAAO,aAAa;EACnC,MAAM,IAAI;CACd;;CAGA,SAAgB,MAAkB,OAAmC;EACjE,MAAM,qBAAqB,KAAK,iBAAiB;EACjD,IAAI,oBACA,OAAO;EAEX,MAAM,UAAU,SAAS,KAAK;EAC9B,IAAI,UAAU,GACV,OAAO,KAAK,gBAAgB,MAAM,OAAO;EAE7C,IAAI,YAAY;EAChB,wBAAwB;GACpB,IAAI,CAAC,aAAa,CAAC,KAAK,WAAW,GAC/B,KAAK;EAEb,CAAC;EACD,OAAO,IAAI,wBAAwB;GAC/B,YAAY;EAChB,CAAC;CACL;AACJ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Browser scheduler implementations and contracts.
|
|
4
|
+
*/
|
|
5
|
+
import type { DurationInput, Executor, Scheduler } from "./types.js";
|
|
6
|
+
/** Browser-oriented scheduler factories and Reactor-compatible aliases. */
|
|
7
|
+
export declare const Schedulers: Readonly<{
|
|
8
|
+
/** Returns the synchronous immediate scheduler. */
|
|
9
|
+
immediate(): Scheduler;
|
|
10
|
+
/** Returns the shared microtask scheduler. */
|
|
11
|
+
micro(): Scheduler;
|
|
12
|
+
/** Returns the shared macrotask scheduler. */
|
|
13
|
+
macro(): Scheduler;
|
|
14
|
+
/** Creates a scheduler that applies a default delay when one is not provided per call. */
|
|
15
|
+
delay(delay: DurationInput, name?: string): Scheduler;
|
|
16
|
+
/** Creates a scheduler that applies a default interval when one is not provided per call. */
|
|
17
|
+
interval(period: DurationInput, name?: string): Scheduler;
|
|
18
|
+
/** Returns the shared animation-frame scheduler. */
|
|
19
|
+
animationFrame(): Scheduler;
|
|
20
|
+
/** Returns the shared microtask scheduler using its legacy name. */
|
|
21
|
+
microtask(): Scheduler;
|
|
22
|
+
/** Returns the shared macrotask scheduler using its legacy timeout name. */
|
|
23
|
+
timeout(): Scheduler;
|
|
24
|
+
/** Returns a shared scheduler suitable for single-threaded work. */
|
|
25
|
+
single(): Scheduler;
|
|
26
|
+
/** Returns a shared scheduler suitable for parallel-style browser work. */
|
|
27
|
+
parallel(): Scheduler;
|
|
28
|
+
/** Returns a shared scheduler suitable for delayed or blocking-like work. */
|
|
29
|
+
boundedElastic(): Scheduler;
|
|
30
|
+
/** Creates a new microtask-backed single scheduler. */
|
|
31
|
+
newSingle(name?: string): Scheduler;
|
|
32
|
+
/** Creates a new microtask-backed parallel scheduler. */
|
|
33
|
+
newParallel(name?: string): Scheduler;
|
|
34
|
+
/** Creates a new macrotask-backed bounded elastic scheduler. */
|
|
35
|
+
newBoundedElastic(name?: string): Scheduler;
|
|
36
|
+
/** Creates a scheduler backed by a custom executor. */
|
|
37
|
+
fromExecutor(executor: Executor, name?: string): Scheduler;
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=schedulers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedulers.d.ts","sourceRoot":"","sources":["../../src/schedulers/schedulers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAkB9E,2EAA2E;AAC3E,eAAO,MAAM,UAAU;IACnB,mDAAmD;iBACtC,SAAS;IAItB,8CAA8C;aACrC,SAAS;IAIlB,8CAA8C;aACrC,SAAS;IAIlB,0FAA0F;iBAC7E,aAAa,kBAAmB,SAAS;IAItD,6FAA6F;qBAC5E,aAAa,kBAAsB,SAAS;IAI7D,oDAAoD;sBAClC,SAAS;IAI3B,oEAAoE;iBACvD,SAAS;IAItB,4EAA4E;eACjE,SAAS;IAIpB,oEAAoE;cAC1D,SAAS;IAInB,2EAA2E;gBAC/D,SAAS;IAIrB,6EAA6E;sBAC3D,SAAS;IAI3B,uDAAuD;8BAC3B,SAAS;IAIrC,yDAAyD;gCACzB,SAAS;IAIzC,gEAAgE;sCACpB,SAAS;IAIrD,uDAAuD;2BAChC,QAAQ,kBAAsB,SAAS;EAGhE,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { AnimationFrameScheduler } from "./animation-frame-scheduler.js";
|
|
2
|
+
import { MacroScheduler } from "./macro-scheduler.js";
|
|
3
|
+
import { DelayScheduler } from "./delay-scheduler.js";
|
|
4
|
+
import { ExecutorScheduler } from "./executor-scheduler.js";
|
|
5
|
+
import { ImmediateScheduler } from "./immediate-scheduler.js";
|
|
6
|
+
import { IntervalScheduler } from "./interval-scheduler.js";
|
|
7
|
+
import { MicrotaskScheduler } from "./microtask-scheduler.js";
|
|
8
|
+
//#region src/schedulers/schedulers.ts
|
|
9
|
+
/** Shared scheduler that executes work synchronously. */
|
|
10
|
+
var immediateScheduler = new ImmediateScheduler();
|
|
11
|
+
/** Shared scheduler that queues work through the microtask queue. */
|
|
12
|
+
var microScheduler = new MicrotaskScheduler("micro");
|
|
13
|
+
/** Shared scheduler that queues work through the macrotask queue. */
|
|
14
|
+
var macroScheduler = new MacroScheduler();
|
|
15
|
+
/** Shared scheduler that queues work with `requestAnimationFrame` when available. */
|
|
16
|
+
var animationFrameScheduler = new AnimationFrameScheduler();
|
|
17
|
+
/** Browser-oriented scheduler factories and Reactor-compatible aliases. */
|
|
18
|
+
var Schedulers = Object.freeze({
|
|
19
|
+
/** Returns the synchronous immediate scheduler. */
|
|
20
|
+
immediate() {
|
|
21
|
+
return immediateScheduler;
|
|
22
|
+
},
|
|
23
|
+
/** Returns the shared microtask scheduler. */
|
|
24
|
+
micro() {
|
|
25
|
+
return microScheduler;
|
|
26
|
+
},
|
|
27
|
+
/** Returns the shared macrotask scheduler. */
|
|
28
|
+
macro() {
|
|
29
|
+
return macroScheduler;
|
|
30
|
+
},
|
|
31
|
+
/** Creates a scheduler that applies a default delay when one is not provided per call. */
|
|
32
|
+
delay(delay, name = "delay") {
|
|
33
|
+
return new DelayScheduler(delay, name);
|
|
34
|
+
},
|
|
35
|
+
/** Creates a scheduler that applies a default interval when one is not provided per call. */
|
|
36
|
+
interval(period, name = "interval") {
|
|
37
|
+
return new IntervalScheduler(period, name);
|
|
38
|
+
},
|
|
39
|
+
/** Returns the shared animation-frame scheduler. */
|
|
40
|
+
animationFrame() {
|
|
41
|
+
return animationFrameScheduler;
|
|
42
|
+
},
|
|
43
|
+
/** Returns the shared microtask scheduler using its legacy name. */
|
|
44
|
+
microtask() {
|
|
45
|
+
return microScheduler;
|
|
46
|
+
},
|
|
47
|
+
/** Returns the shared macrotask scheduler using its legacy timeout name. */
|
|
48
|
+
timeout() {
|
|
49
|
+
return macroScheduler;
|
|
50
|
+
},
|
|
51
|
+
/** Returns a shared scheduler suitable for single-threaded work. */
|
|
52
|
+
single() {
|
|
53
|
+
return microScheduler;
|
|
54
|
+
},
|
|
55
|
+
/** Returns a shared scheduler suitable for parallel-style browser work. */
|
|
56
|
+
parallel() {
|
|
57
|
+
return microScheduler;
|
|
58
|
+
},
|
|
59
|
+
/** Returns a shared scheduler suitable for delayed or blocking-like work. */
|
|
60
|
+
boundedElastic() {
|
|
61
|
+
return macroScheduler;
|
|
62
|
+
},
|
|
63
|
+
/** Creates a new microtask-backed single scheduler. */
|
|
64
|
+
newSingle(name = "single") {
|
|
65
|
+
return new MicrotaskScheduler(name);
|
|
66
|
+
},
|
|
67
|
+
/** Creates a new microtask-backed parallel scheduler. */
|
|
68
|
+
newParallel(name = "parallel") {
|
|
69
|
+
return new MicrotaskScheduler(name);
|
|
70
|
+
},
|
|
71
|
+
/** Creates a new macrotask-backed bounded elastic scheduler. */
|
|
72
|
+
newBoundedElastic(name = "boundedElastic") {
|
|
73
|
+
return new MacroScheduler(name);
|
|
74
|
+
},
|
|
75
|
+
/** Creates a scheduler backed by a custom executor. */
|
|
76
|
+
fromExecutor(executor, name = "executor") {
|
|
77
|
+
return new ExecutorScheduler(name, executor);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
//#endregion
|
|
81
|
+
export { Schedulers };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=schedulers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedulers.js","names":[],"sources":["../../src/schedulers/schedulers.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * Browser scheduler implementations and contracts.\n */\nimport type {DurationInput, Executor, Scheduler} from \"@/schedulers/types.js\";\nimport {AnimationFrameScheduler} from \"@/schedulers/animation-frame-scheduler.js\";\nimport {DelayScheduler} from \"@/schedulers/delay-scheduler.js\";\nimport {ExecutorScheduler} from \"@/schedulers/executor-scheduler.js\";\nimport {ImmediateScheduler} from \"@/schedulers/immediate-scheduler.js\";\nimport {IntervalScheduler} from \"@/schedulers/interval-scheduler.js\";\nimport {MacroScheduler} from \"@/schedulers/macro-scheduler.js\";\nimport {MicrotaskScheduler} from \"@/schedulers/microtask-scheduler.js\";\n\n/** Shared scheduler that executes work synchronously. */\nconst immediateScheduler = new ImmediateScheduler();\n/** Shared scheduler that queues work through the microtask queue. */\nconst microScheduler = new MicrotaskScheduler(\"micro\");\n/** Shared scheduler that queues work through the macrotask queue. */\nconst macroScheduler = new MacroScheduler();\n/** Shared scheduler that queues work with `requestAnimationFrame` when available. */\nconst animationFrameScheduler = new AnimationFrameScheduler();\n\n/** Browser-oriented scheduler factories and Reactor-compatible aliases. */\nexport const Schedulers = Object.freeze({\n /** Returns the synchronous immediate scheduler. */\n immediate(): Scheduler {\n return immediateScheduler;\n },\n\n /** Returns the shared microtask scheduler. */\n micro(): Scheduler {\n return microScheduler;\n },\n\n /** Returns the shared macrotask scheduler. */\n macro(): Scheduler {\n return macroScheduler;\n },\n\n /** Creates a scheduler that applies a default delay when one is not provided per call. */\n delay(delay: DurationInput, name = \"delay\"): Scheduler {\n return new DelayScheduler(delay, name);\n },\n\n /** Creates a scheduler that applies a default interval when one is not provided per call. */\n interval(period: DurationInput, name = \"interval\"): Scheduler {\n return new IntervalScheduler(period, name);\n },\n\n /** Returns the shared animation-frame scheduler. */\n animationFrame(): Scheduler {\n return animationFrameScheduler;\n },\n\n /** Returns the shared microtask scheduler using its legacy name. */\n microtask(): Scheduler {\n return microScheduler;\n },\n\n /** Returns the shared macrotask scheduler using its legacy timeout name. */\n timeout(): Scheduler {\n return macroScheduler;\n },\n\n /** Returns a shared scheduler suitable for single-threaded work. */\n single(): Scheduler {\n return microScheduler;\n },\n\n /** Returns a shared scheduler suitable for parallel-style browser work. */\n parallel(): Scheduler {\n return microScheduler;\n },\n\n /** Returns a shared scheduler suitable for delayed or blocking-like work. */\n boundedElastic(): Scheduler {\n return macroScheduler;\n },\n\n /** Creates a new microtask-backed single scheduler. */\n newSingle(name = \"single\"): Scheduler {\n return new MicrotaskScheduler(name);\n },\n\n /** Creates a new microtask-backed parallel scheduler. */\n newParallel(name = \"parallel\"): Scheduler {\n return new MicrotaskScheduler(name);\n },\n\n /** Creates a new macrotask-backed bounded elastic scheduler. */\n newBoundedElastic(name = \"boundedElastic\"): Scheduler {\n return new MacroScheduler(name);\n },\n\n /** Creates a scheduler backed by a custom executor. */\n fromExecutor(executor: Executor, name = \"executor\"): Scheduler {\n return new ExecutorScheduler(name, executor);\n }\n});\n"],"mappings":";;;;;;;;;AAcA,IAAM,qBAAqB,IAAI,mBAAmB;;AAElD,IAAM,iBAAiB,IAAI,mBAAmB,OAAO;;AAErD,IAAM,iBAAiB,IAAI,eAAe;;AAE1C,IAAM,0BAA0B,IAAI,wBAAwB;;AAG5D,IAAa,aAAa,OAAO,OAAO;;CAEpC,YAAuB;EACnB,OAAO;CACX;;CAGA,QAAmB;EACf,OAAO;CACX;;CAGA,QAAmB;EACf,OAAO;CACX;;CAGA,MAAM,OAAsB,OAAO,SAAoB;EACnD,OAAO,IAAI,eAAe,OAAO,IAAI;CACzC;;CAGA,SAAS,QAAuB,OAAO,YAAuB;EAC1D,OAAO,IAAI,kBAAkB,QAAQ,IAAI;CAC7C;;CAGA,iBAA4B;EACxB,OAAO;CACX;;CAGA,YAAuB;EACnB,OAAO;CACX;;CAGA,UAAqB;EACjB,OAAO;CACX;;CAGA,SAAoB;EAChB,OAAO;CACX;;CAGA,WAAsB;EAClB,OAAO;CACX;;CAGA,iBAA4B;EACxB,OAAO;CACX;;CAGA,UAAU,OAAO,UAAqB;EAClC,OAAO,IAAI,mBAAmB,IAAI;CACtC;;CAGA,YAAY,OAAO,YAAuB;EACtC,OAAO,IAAI,mBAAmB,IAAI;CACtC;;CAGA,kBAAkB,OAAO,kBAA6B;EAClD,OAAO,IAAI,eAAe,IAAI;CAClC;;CAGA,aAAa,UAAoB,OAAO,YAAuB;EAC3D,OAAO,IAAI,kBAAkB,MAAM,QAAQ;CAC/C;AACJ,CAAC"}
|