dougong 0.9.0 → 0.10.0
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 +4 -4
- package/dist/advanced.d.ts +2 -1
- package/dist/advanced.d.ts.map +1 -1
- package/dist/advanced.js +3 -3
- package/dist/composition/change-set.d.ts +12 -5
- package/dist/composition/change-set.d.ts.map +1 -1
- package/dist/composition/configuration.d.ts +2 -3
- package/dist/composition/configuration.d.ts.map +1 -1
- package/dist/composition/declarations.d.ts +22 -15
- package/dist/composition/declarations.d.ts.map +1 -1
- package/dist/composition/installation-graph.d.ts.map +1 -1
- package/dist/composition/installation.d.ts +1 -2
- package/dist/composition/installation.d.ts.map +1 -1
- package/dist/composition/plan.d.ts +42 -15
- package/dist/composition/plan.d.ts.map +1 -1
- package/dist/composition/planner.d.ts.map +1 -1
- package/dist/composition/plugin.d.ts +4 -7
- package/dist/composition/plugin.d.ts.map +1 -1
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/errors.d.ts +49 -9
- package/dist/contracts/errors.d.ts.map +1 -1
- package/dist/contracts/logging.d.ts +12 -8
- package/dist/contracts/logging.d.ts.map +1 -1
- package/dist/contracts/resource.d.ts +2 -0
- package/dist/contracts/resource.d.ts.map +1 -1
- package/dist/contributions/contribution-store.d.ts +4 -3
- package/dist/contributions/contribution-store.d.ts.map +1 -1
- package/dist/events/event-hub.d.ts.map +1 -1
- package/dist/execution/engine.d.ts +2 -1
- package/dist/execution/engine.d.ts.map +1 -1
- package/dist/execution/host-api.d.ts +10 -4
- package/dist/execution/host-api.d.ts.map +1 -1
- package/dist/execution/host.d.ts +2 -1
- package/dist/execution/host.d.ts.map +1 -1
- package/dist/execution/instance.d.ts +4 -3
- package/dist/execution/instance.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +773 -709
- package/dist/internal/async-result.d.ts +10 -0
- package/dist/internal/async-result.d.ts.map +1 -0
- package/dist/internal/record.d.ts +3 -0
- package/dist/internal/record.d.ts.map +1 -1
- package/dist/internal/serial-queue.d.ts +2 -1
- package/dist/internal/serial-queue.d.ts.map +1 -1
- package/dist/lifetime/lifetime.d.ts +16 -9
- package/dist/lifetime/lifetime.d.ts.map +1 -1
- package/dist/observation/snapshot-view.d.ts +6 -3
- package/dist/observation/snapshot-view.d.ts.map +1 -1
- package/dist/serial-queue-DjEs2KFf.js +559 -0
- package/package.json +3 -4
- package/runtime/abort-listener.mjs +27 -0
- package/dist/internal/synchronous-result.d.ts +0 -3
- package/dist/internal/synchronous-result.d.ts.map +0 -1
- package/dist/record-CZVpq8vk.js +0 -493
- package/runtime/abort-listener.node.mjs +0 -26
- package/runtime/abort-listener.web.mjs +0 -7
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type WithoutCallableThen<T> = T extends object ? "then" extends keyof T ? Extract<T["then"], (...arguments_: never[]) => unknown> extends never ? T : never : T : T;
|
|
2
|
+
export type SynchronousResult<T> = (T & NoInfer<WithoutCallableThen<T>>) | (T & undefined);
|
|
3
|
+
export interface ResolvedValue<T> {
|
|
4
|
+
readonly value: T;
|
|
5
|
+
}
|
|
6
|
+
export declare function resolveValue<T>(value: T | PromiseLike<T>): Promise<ResolvedValue<Awaited<T>>>;
|
|
7
|
+
export declare function assertSynchronous(value: unknown, message: string): void;
|
|
8
|
+
export declare function captureThenable(value: unknown): Promise<ResolvedValue<unknown>> | undefined;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=async-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-result.d.ts","sourceRoot":"","sources":["../../src/internal/async-result.ts"],"names":[],"mappings":"AAIA,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC1C,MAAM,SAAS,MAAM,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,SAAS,KAAK,GACnE,CAAC,GACD,KAAK,GACP,CAAC,GACH,CAAC,CAAC;AAIN,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAE3F,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAGpC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUvE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CA0B3F"}
|
|
@@ -2,6 +2,9 @@ interface PlainRecordOptions {
|
|
|
2
2
|
readonly fields?: ReadonlySet<string>;
|
|
3
3
|
readonly createError?: (message: string) => Error;
|
|
4
4
|
}
|
|
5
|
+
type RecordField<T> = T extends unknown ? keyof T : never;
|
|
6
|
+
type DefiniteField<Field extends string, Whole = Field> = Field extends unknown ? [Whole] extends [Field] ? {} extends Record<Field, unknown> ? never : Field : never : never;
|
|
7
|
+
export declare function recordFields<T extends object>(): <const Keys extends readonly (RecordField<T> & string)[]>(...keys: Keys & { readonly [Index in keyof Keys]: DefiniteField<Keys[Index]>; } & (number extends Keys["length"] ? never : Exclude<RecordField<T>, Keys[number]> extends never ? unknown : never)) => ReadonlySet<string>;
|
|
5
8
|
export declare function normalizePlainRecord<T extends object>(value: T, label: string, options?: PlainRecordOptions): Readonly<T>;
|
|
6
9
|
export declare function normalizePlainRecord(value: unknown, label: string, options?: PlainRecordOptions): Readonly<Record<string, unknown>>;
|
|
7
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/internal/record.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;CACnD;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/internal/record.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;CACnD;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAE1D,KAAK,aAAa,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,GAAG,KAAK,IAAI,KAAK,SAAS,OAAO,GAC3E,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACrB,EAAE,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAC/B,KAAK,GACL,KAAK,GACP,KAAK,GACP,KAAK,CAAC;AAGV,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,MACnC,KAAK,CAAC,IAAI,SAAS,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,EAC7D,GAAG,MAAM,IAAI,GAAG,EACd,QAAQ,EAAE,KAAK,IAAI,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAC3D,GAAG,CAAC,MAAM,SAAS,IAAI,CAAC,QAAQ,CAAC,GAC5B,KAAK,GACL,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GACjD,OAAO,GACP,KAAK,CAAC,KACb,WAAW,CAAC,MAAM,CAAC,CACvB;AAkBD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,GAC3B,QAAQ,CAAC,CAAC,CAAC,CAAC;AACf,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,GAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ResolvedValue } from './async-result.js';
|
|
1
2
|
export declare class SerialQueue {
|
|
2
3
|
#private;
|
|
3
4
|
get settled(): Promise<undefined>;
|
|
4
|
-
run<T>(operation: () => T | PromiseLike<T>, signal?: AbortSignal): Promise<T
|
|
5
|
+
run<T>(operation: () => T | PromiseLike<T>, signal?: AbortSignal): Promise<ResolvedValue<Awaited<T>>>;
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=serial-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serial-queue.d.ts","sourceRoot":"","sources":["../../src/internal/serial-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serial-queue.d.ts","sourceRoot":"","sources":["../../src/internal/serial-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,qBAAa,WAAW;;IAItB,IAAI,OAAO,uBAGV;IAED,GAAG,CAAC,CAAC,EACH,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAyCtC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ResolvedValue } from '../internal/async-result.js';
|
|
2
|
+
import { LifetimePhase, LifetimeSnapshot, ObligationKind } from './lifetime-diagnostics.js';
|
|
2
3
|
import { AsyncDisposable, Awaitable, Disposable, Publication, Resource } from '../contracts/resource.js';
|
|
3
4
|
export type { LifetimePhase, LifetimeSnapshot, UnresolvedObligation, } from './lifetime-diagnostics.js';
|
|
4
5
|
export interface Task<T = void> extends AsyncDisposable {
|
|
5
|
-
readonly result: Promise<T
|
|
6
|
+
readonly result: Promise<ResolvedValue<T>>;
|
|
6
7
|
[Symbol.asyncDispose](): Promise<void>;
|
|
7
8
|
}
|
|
8
9
|
export type Cleanup = () => Awaitable<unknown>;
|
|
@@ -12,9 +13,9 @@ export interface LifetimeContext {
|
|
|
12
13
|
readonly use: <T extends Resource>(resource: T) => T;
|
|
13
14
|
readonly defer: (cleanup: Cleanup) => AsyncDisposable;
|
|
14
15
|
readonly child: (label: string) => ChildLifetime;
|
|
15
|
-
readonly spawn: <T>(task: BackgroundTask<T>) => Task<T
|
|
16
|
+
readonly spawn: <T>(task: BackgroundTask<T>) => Task<Awaited<T>>;
|
|
16
17
|
readonly acquire: <T extends Resource>(factory: (signal: AbortSignal) => Awaitable<T>) => Promise<{
|
|
17
|
-
readonly resource: T
|
|
18
|
+
readonly resource: Awaited<T>;
|
|
18
19
|
}>;
|
|
19
20
|
readonly interrupt: (callback: Cleanup) => Disposable;
|
|
20
21
|
}
|
|
@@ -27,10 +28,16 @@ export interface LifetimeOwnership {
|
|
|
27
28
|
export interface LifetimeOptions {
|
|
28
29
|
readonly label: string;
|
|
29
30
|
readonly report: (error: unknown) => void;
|
|
31
|
+
readonly releaseFailed?: (failure: ReleaseFailure) => void;
|
|
30
32
|
readonly changed?: () => void;
|
|
31
33
|
readonly parentSignal?: AbortSignal;
|
|
32
34
|
readonly shutdownTimeoutMilliseconds?: number;
|
|
33
35
|
}
|
|
36
|
+
export interface ReleaseFailure {
|
|
37
|
+
readonly owner: Lifetime;
|
|
38
|
+
readonly kind: ObligationKind;
|
|
39
|
+
readonly error: unknown;
|
|
40
|
+
}
|
|
34
41
|
interface ChildOwnership {
|
|
35
42
|
readonly visibility: Visibility;
|
|
36
43
|
readonly detach: (child: Lifetime) => void;
|
|
@@ -42,7 +49,7 @@ export declare class Lifetime {
|
|
|
42
49
|
#private;
|
|
43
50
|
constructor(options: LifetimeOptions, ownership?: ChildOwnership);
|
|
44
51
|
get handle(): LifetimeContext;
|
|
45
|
-
resolveOwner(
|
|
52
|
+
resolveOwner(options?: LifetimeOwnership): Lifetime;
|
|
46
53
|
get signal(): AbortSignal;
|
|
47
54
|
get phase(): LifetimePhase;
|
|
48
55
|
get acceptsWork(): boolean;
|
|
@@ -54,13 +61,13 @@ export declare class Lifetime {
|
|
|
54
61
|
defer(cleanup: Cleanup): AsyncDisposable;
|
|
55
62
|
interrupt(callback: Cleanup): Disposable;
|
|
56
63
|
child(label: string): ChildLifetime;
|
|
57
|
-
spawn<T>(task: BackgroundTask<T>): Task<T
|
|
58
|
-
prepare<T>(task: BackgroundTask<T>): Promise<T
|
|
64
|
+
spawn<T>(task: BackgroundTask<T>): Task<Awaited<T>>;
|
|
65
|
+
prepare<T>(task: BackgroundTask<T>): Promise<ResolvedValue<Awaited<T>>>;
|
|
59
66
|
acquire<T extends Resource>(factory: (signal: AbortSignal) => Awaitable<T>): Promise<{
|
|
60
|
-
readonly resource: T
|
|
67
|
+
readonly resource: Awaited<T>;
|
|
61
68
|
}>;
|
|
62
69
|
stage<T extends Publication>(create: (detach: () => void) => T): T;
|
|
63
|
-
borrow<T>(callback: () => Awaitable<T>): Promise<T
|
|
70
|
+
borrow<T>(callback: () => Awaitable<T>): Promise<ResolvedValue<Awaited<T>>>;
|
|
64
71
|
seal(): void;
|
|
65
72
|
block(): void;
|
|
66
73
|
publish(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifetime.d.ts","sourceRoot":"","sources":["../../src/lifetime/lifetime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifetime.d.ts","sourceRoot":"","sources":["../../src/lifetime/lifetime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { disposeSymbol, Disposable } from '../contracts/resource.js';
|
|
2
|
+
import { SynchronousResult } from '../internal/async-result.js';
|
|
2
3
|
export interface SnapshotView<T> {
|
|
3
4
|
get(): T;
|
|
4
|
-
subscribe(listener: () =>
|
|
5
|
+
subscribe<Result>(listener: () => SynchronousResult<Result>): Disposable;
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
+
type SnapshotErrorReporter = (error: unknown) => SynchronousResult<void>;
|
|
8
|
+
export declare function batchSnapshotNotifications<Result>(operation: () => SynchronousResult<Result>): void;
|
|
7
9
|
export declare class SnapshotPublisher<T> implements Disposable {
|
|
8
10
|
#private;
|
|
9
|
-
constructor(read: () => T, report:
|
|
11
|
+
constructor(read: () => T, report: SnapshotErrorReporter);
|
|
10
12
|
readonly view: SnapshotView<T>;
|
|
11
13
|
invalidate(): void;
|
|
12
14
|
[disposeSymbol](): void;
|
|
13
15
|
}
|
|
16
|
+
export {};
|
|
14
17
|
//# sourceMappingURL=snapshot-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-view.d.ts","sourceRoot":"","sources":["../../src/observation/snapshot-view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot-view.d.ts","sourceRoot":"","sources":["../../src/observation/snapshot-view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,IAAI,CAAC,CAAC;IACT,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;CAC1E;AAED,KAAK,qBAAqB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAmBzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAmB5F;AAiCD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,UAAU;;gBAOzC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAqB;IAUxD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAG3B;IAEH,UAAU;IAOV,CAAC,aAAa,CAAC;CAgEhB"}
|