better-effect 0.13.0 → 0.14.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 +337 -88
- package/dist/adapters/iti.d.mts +2 -3
- package/dist/adapters/iti.d.mts.map +1 -1
- package/dist/adapters/iti.mjs +2 -2
- package/dist/bun.d.mts +75 -23
- package/dist/bun.d.mts.map +1 -1
- package/dist/bun.mjs +170 -33
- package/dist/bun.mjs.map +1 -1
- package/dist/{context-BphfFUMO.mjs → context-DSGSqcJj.mjs} +12 -3
- package/dist/context-DSGSqcJj.mjs.map +1 -0
- package/dist/{current-request-DDKNyymv.mjs → current-request-Bc1YHL0w.mjs} +3 -2
- package/dist/{current-request-DDKNyymv.mjs.map → current-request-Bc1YHL0w.mjs.map} +1 -1
- package/dist/{current-request-CIU7AHhF.d.mts → current-request-Dm-QQ3Xr.d.mts} +4 -4
- package/dist/current-request-Dm-QQ3Xr.d.mts.map +1 -0
- package/dist/{effect-CPdV7Yv8.mjs → effect-W0IQXY8P.mjs} +21 -2
- package/dist/effect-W0IQXY8P.mjs.map +1 -0
- package/dist/{errors-BKcsQ0ip.d.mts → errors-CpHMzPiP.d.mts} +6 -2
- package/dist/errors-CpHMzPiP.d.mts.map +1 -0
- package/dist/hono.d.mts +63 -27
- package/dist/hono.d.mts.map +1 -1
- package/dist/hono.mjs +111 -45
- package/dist/hono.mjs.map +1 -1
- package/dist/{index-CCi07kUw.d.mts → index-3Bkl-sxS.d.mts} +7 -2
- package/dist/{index-CCi07kUw.d.mts.map → index-3Bkl-sxS.d.mts.map} +1 -1
- package/dist/{index-cXgyMa0v.d.mts → index-C2ed9Ilq.d.mts} +32 -7
- package/dist/index-C2ed9Ilq.d.mts.map +1 -0
- package/dist/{index-BodMy6rO.d.mts → index-ClNndn2-.d.mts} +93 -63
- package/dist/index-ClNndn2-.d.mts.map +1 -0
- package/dist/{index-DAKn0qHk.d.mts → index-Cy1VsU-u.d.mts} +2 -4
- package/dist/index-Cy1VsU-u.d.mts.map +1 -0
- package/dist/index.d.mts +6 -8
- package/dist/index.mjs +8 -9
- package/dist/index.mjs.map +1 -1
- package/dist/{internal-identity-CbXoZIfw.mjs → internal-identity-BuHBtP0k.mjs} +2 -2
- package/dist/{internal-identity-CbXoZIfw.mjs.map → internal-identity-BuHBtP0k.mjs.map} +1 -1
- package/dist/layer-2kjHVv4N.mjs +343 -0
- package/dist/layer-2kjHVv4N.mjs.map +1 -0
- package/dist/layer-C2OaqTmB.d.mts +987 -0
- package/dist/layer-C2OaqTmB.d.mts.map +1 -0
- package/dist/next.d.mts +102 -26
- package/dist/next.d.mts.map +1 -1
- package/dist/next.mjs +157 -40
- package/dist/next.mjs.map +1 -1
- package/dist/{node-context-DczjAcrX.d.mts → node-context-1YEjrU9g.d.mts} +2 -2
- package/dist/{node-context-DczjAcrX.d.mts.map → node-context-1YEjrU9g.d.mts.map} +1 -1
- package/dist/{node-context-Ca18oNSg.mjs → node-context-g3bCcY9t.mjs} +2 -2
- package/dist/{node-context-Ca18oNSg.mjs.map → node-context-g3bCcY9t.mjs.map} +1 -1
- package/dist/node.d.mts +11 -6
- package/dist/node.d.mts.map +1 -1
- package/dist/node.mjs +156 -10
- package/dist/node.mjs.map +1 -1
- package/dist/opentelemetry.d.mts +20 -2
- package/dist/opentelemetry.d.mts.map +1 -1
- package/dist/opentelemetry.mjs +423 -5
- package/dist/opentelemetry.mjs.map +1 -1
- package/dist/{registration-drnZk0SY.mjs → registration-Bwe2GbVu.mjs} +8 -2
- package/dist/registration-Bwe2GbVu.mjs.map +1 -0
- package/dist/runtime/explicit.d.mts +2 -2
- package/dist/runtime/explicit.mjs +1 -1
- package/dist/runtime/node.d.mts +3 -3
- package/dist/runtime/node.mjs +2 -2
- package/dist/runtime-qpcVwaz_.mjs +1680 -0
- package/dist/runtime-qpcVwaz_.mjs.map +1 -0
- package/dist/service-CO9VJQYa.mjs +74 -0
- package/dist/service-CO9VJQYa.mjs.map +1 -0
- package/dist/{signal-nfgFyNCk.mjs → signal-5Rg9bUUe.mjs} +2 -2
- package/dist/{signal-nfgFyNCk.mjs.map → signal-5Rg9bUUe.mjs.map} +1 -1
- package/dist/{standard-services-vnGIafkS.mjs → standard-services-B-iMM_W7.mjs} +38 -4
- package/dist/standard-services-B-iMM_W7.mjs.map +1 -0
- package/dist/standard-services.d.mts +4 -4
- package/dist/standard-services.mjs +3 -3
- package/dist/testing.d.mts +25 -7
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.mjs +51 -7
- package/dist/testing.mjs.map +1 -1
- package/dist/{types-oihI-ESv.d.mts → types-BFTqCCcw.d.mts} +32 -5
- package/dist/types-BFTqCCcw.d.mts.map +1 -0
- package/dist/web-effect-B9hp9jIe.mjs +380 -0
- package/dist/web-effect-B9hp9jIe.mjs.map +1 -0
- package/dist/web.d.mts +22 -13
- package/dist/web.d.mts.map +1 -1
- package/dist/web.mjs +1 -1
- package/package.json +10 -16
- package/dist/context-BphfFUMO.mjs.map +0 -1
- package/dist/current-request-CIU7AHhF.d.mts.map +0 -1
- package/dist/disposable-CP-Q2H3l.mjs +0 -57
- package/dist/disposable-CP-Q2H3l.mjs.map +0 -1
- package/dist/effect-CPdV7Yv8.mjs.map +0 -1
- package/dist/errors-BKcsQ0ip.d.mts.map +0 -1
- package/dist/index-AiKM71-u.d.mts +0 -376
- package/dist/index-AiKM71-u.d.mts.map +0 -1
- package/dist/index-BodMy6rO.d.mts.map +0 -1
- package/dist/index-DAKn0qHk.d.mts.map +0 -1
- package/dist/index-cXgyMa0v.d.mts.map +0 -1
- package/dist/layer-D16GKxuX.mjs +0 -269
- package/dist/layer-D16GKxuX.mjs.map +0 -1
- package/dist/observer-9nhbL7Pr.d.mts +0 -68
- package/dist/observer-9nhbL7Pr.d.mts.map +0 -1
- package/dist/outcome-DI8LPIQ4.d.mts +0 -387
- package/dist/outcome-DI8LPIQ4.d.mts.map +0 -1
- package/dist/program-metadata-BxjGkT17.mjs +0 -260
- package/dist/program-metadata-BxjGkT17.mjs.map +0 -1
- package/dist/registration-drnZk0SY.mjs.map +0 -1
- package/dist/runtime-C_55ofnL.mjs +0 -791
- package/dist/runtime-C_55ofnL.mjs.map +0 -1
- package/dist/standard-services-vnGIafkS.mjs.map +0 -1
- package/dist/types-oihI-ESv.d.mts.map +0 -1
- package/dist/web-Bq3MfMrj.mjs +0 -147
- package/dist/web-Bq3MfMrj.mjs.map +0 -1
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
import { F as ServiceContract, H as ServiceToken, L as ServiceIdentityTypeId, M as AnyService, N as AnyServiceToken, O as InferYieldRequirements, P as ServiceClass, T as EffectRequirements, U as ServiceTokenOf, V as ServiceTagOf, a as ServiceResolver, c as RuntimeContextStorage, d as CleanupFailureDiagnostic, f as DisposableResource, h as ScopeOutcome, j as ServiceRequirement, m as ScopeFinalizer, p as MaybePromise, z as ServiceRequirements } from "./index-AiKM71-u.mjs";
|
|
2
|
-
import { a as RuntimeObserver, l as MaybePromise$1, t as RuntimeExecutionAttributes } from "./observer-9nhbL7Pr.mjs";
|
|
3
|
-
//#region src/internal/variance.d.ts
|
|
4
|
-
/** Type-level marker for a value produced by `A`. */
|
|
5
|
-
type Covariant<A> = () => A;
|
|
6
|
-
/** Type-level marker that both consumes and produces `A`. */
|
|
7
|
-
type Invariant<A> = (value: A) => A;
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/internal/missing-dependencies.d.ts
|
|
10
|
-
type MissingDependencies<Missing extends AnyService> = {
|
|
11
|
-
/** Names the Services that must be supplied before execution. */
|
|
12
|
-
readonly missingServices: Missing;
|
|
13
|
-
};
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region src/layer/metadata.d.ts
|
|
16
|
-
/** Package-private declaration-only carrier for inferred Layer provenance. */
|
|
17
|
-
declare const LayerProvenanceTypeId: unique symbol;
|
|
18
|
-
interface ProviderEntry<out Provided extends AnyService, out RawRequired extends AnyService = never> {
|
|
19
|
-
readonly provided: Provided;
|
|
20
|
-
readonly required: RawRequired;
|
|
21
|
-
}
|
|
22
|
-
interface ErasedProvenance<out Provided extends AnyService, out StickyRequired extends AnyService> {
|
|
23
|
-
readonly provided: Provided;
|
|
24
|
-
readonly stickyRequired: StickyRequired;
|
|
25
|
-
}
|
|
26
|
-
interface LayerProvenance<out Entries extends ProviderEntry<AnyService, AnyService> = never, out Erased extends ErasedProvenance<AnyService, AnyService> = never> {
|
|
27
|
-
readonly [LayerProvenanceTypeId]: {
|
|
28
|
-
readonly entries: Entries;
|
|
29
|
-
readonly erased: Erased;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
//#region src/layer/inference.d.ts
|
|
34
|
-
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
35
|
-
type IsNever<T> = [T] extends [never] ? true : false;
|
|
36
|
-
type IsUnion$1<T, Candidate = T> = T extends unknown ? [Candidate] extends [T] ? false : true : never;
|
|
37
|
-
/** Any Layer shape accepted by type-level inference helpers. */
|
|
38
|
-
type LayerInput = Layer<any, any> | Layer<never, any>;
|
|
39
|
-
/** Extract the public Service environment channels from a Layer. */
|
|
40
|
-
type ProvidedEnvironment<L extends LayerInput> = L extends Layer<infer Provided, infer _Required> ? Provided : never;
|
|
41
|
-
type RequiredEnvironment<L extends LayerInput> = L extends Layer<infer _Provided, infer Required> ? Required : never;
|
|
42
|
-
type HasWidenedTag<Services> = IsAny<Services> extends true ? false : Services extends AnyService ? string extends ServiceTagOf<Services> ? true : false : false;
|
|
43
|
-
type SameServiceTag<Left extends AnyService, Right extends AnyService> = [ServiceTagOf<Left>] extends [ServiceTagOf<Right>] ? [ServiceTagOf<Right>] extends [ServiceTagOf<Left>] ? true : false : false;
|
|
44
|
-
type SameServiceContract<Left extends AnyService, Right extends AnyService> = [ServiceContract<Left>] extends [ServiceContract<Right>] ? [ServiceContract<Right>] extends [ServiceContract<Left>] ? true : false : false;
|
|
45
|
-
type SameService<Left extends AnyService, Right extends AnyService> = SameServiceTag<Left, Right> extends true ? SameServiceContract<Left, Right> : false;
|
|
46
|
-
type RequirementProvided<Requirement extends AnyService, Provided extends AnyService> = Provided extends AnyService ? SameService<Requirement, Provided> : false;
|
|
47
|
-
type MissingRequirement<Requirement extends AnyService, Provided> = true extends RequirementProvided<Requirement, Extract<Provided, AnyService>> ? never : Requirement;
|
|
48
|
-
/**
|
|
49
|
-
* Existing Runtime matching semantics. Widened Service environments are an
|
|
50
|
-
* explicit execution erasure and therefore satisfy every concrete requirement.
|
|
51
|
-
*/
|
|
52
|
-
type MissingServices<Required extends AnyService, Provided extends AnyService> = ServiceToken<string, Required> extends ServiceToken<string, Provided> ? never : IsAny<Required> extends true ? never : IsAny<Provided> extends true ? never : true extends HasWidenedTag<Required | Provided> ? never : Required extends AnyService ? MissingRequirement<Required, Provided> : never;
|
|
53
|
-
/** Layer matching that keeps widened Service.Any as an external requirement. */
|
|
54
|
-
type LayerExternalRequirements<RawRequired extends AnyService, Provided extends AnyService> = true extends HasWidenedTag<Extract<RawRequired | Provided, AnyService>> ? Extract<RawRequired, AnyService> : MissingServices<RawRequired, Provided>;
|
|
55
|
-
type AnyProviderEntry = ProviderEntry<AnyService, AnyService>;
|
|
56
|
-
type AnyErasedProvenance = ErasedProvenance<AnyService, AnyService>;
|
|
57
|
-
type EntryProvided<Entries> = Entries extends ProviderEntry<infer Provided, any> ? Provided : never;
|
|
58
|
-
type EntryRequired<Entries> = Entries extends ProviderEntry<any, infer Required> ? Required : never;
|
|
59
|
-
type ErasedProvided<Erased> = Erased extends ErasedProvenance<infer Provided, any> ? Provided : never;
|
|
60
|
-
type ErasedRequired<Erased> = Erased extends ErasedProvenance<any, infer Required> ? Required : never;
|
|
61
|
-
/** Extract precise provider entries carried by an inferred Layer. */
|
|
62
|
-
type PreciseEntries<L extends LayerInput> = L extends LayerProvenance<infer Entries, any> ? Entries : never;
|
|
63
|
-
/**
|
|
64
|
-
* Extract erased provenance, falling back to the public channels for an
|
|
65
|
-
* explicitly annotated Layer.
|
|
66
|
-
*/
|
|
67
|
-
type ErasedEntries<L extends LayerInput> = L extends LayerProvenance<any, infer Erased> ? Erased : [ProvidedEnvironment<L> | RequiredEnvironment<L>] extends [never] ? never : ErasedProvenance<ProvidedEnvironment<L>, RequiredEnvironment<L>>;
|
|
68
|
-
type PossibleProvidedEnvironment<L extends LayerInput> = EntryProvided<PreciseEntries<L>> | ErasedProvided<ErasedEntries<L>>;
|
|
69
|
-
type LayerMetadata<Entries extends AnyProviderEntry, Erased extends AnyErasedProvenance> = [Entries | Erased] extends [never] ? unknown : LayerProvenance<Entries, Erased>;
|
|
70
|
-
/** Opaque internal result type used by Layer constructors and combinators. */
|
|
71
|
-
type LayerResult<Entries extends AnyProviderEntry, Erased extends AnyErasedProvenance = never, VisibleProvided extends AnyService = EntryProvided<Entries> | ErasedProvided<Erased>> = Layer<VisibleProvided, LayerExternalRequirements<EntryRequired<Entries> | ErasedRequired<Erased>, VisibleProvided>> & LayerMetadata<Entries, Erased>;
|
|
72
|
-
type LayerChannelPair<L> = L extends Layer<infer Provided, infer Required> ? [Provided, Required] : never;
|
|
73
|
-
type ExactUncheckedArm<L> = LayerChannelPair<L> extends [infer Provided extends AnyService, infer Required extends AnyService] ? IsAny<Provided> extends true ? IsAny<Required> extends true ? true : false : IsNever<Provided> extends true ? IsAny<Required> extends true ? true : false : false : false;
|
|
74
|
-
type HasUncheckedProvidedArm<L> = L extends unknown ? LayerChannelPair<L> extends [infer Provided, infer Required] ? IsAny<Provided> extends true ? IsAny<Required> extends true ? true : false : false : false : never;
|
|
75
|
-
type HasUncheckedEmptyArm<L> = L extends unknown ? LayerChannelPair<L> extends [infer Provided, infer Required] ? IsNever<Provided> extends true ? IsAny<Required> extends true ? true : false : false : false : never;
|
|
76
|
-
type HasNonUncheckedArm<L> = L extends unknown ? ExactUncheckedArm<L> extends true ? false : true : never;
|
|
77
|
-
/** Recognize only the documented exact unchecked Layer sentinels. */
|
|
78
|
-
type IsExactUncheckedLayer<L> = IsUnion$1<L> extends false ? ExactUncheckedArm<L> : true extends HasNonUncheckedArm<L> ? false : true extends HasUncheckedProvidedArm<L> ? true extends HasUncheckedEmptyArm<L> ? true : false : false;
|
|
79
|
-
type PartialAnyArm<L> = LayerChannelPair<L> extends [infer Provided extends AnyService, infer Required extends AnyService] ? IsAny<Provided> extends true ? IsAny<Required> extends true ? false : true : IsAny<Required> extends true ? IsNever<Provided> extends true ? false : true : false : false;
|
|
80
|
-
/** Detect any Layer constituent with only one erased generic channel. */
|
|
81
|
-
type HasPartialAnyChannel<L> = true extends (L extends unknown ? PartialAnyArm<L> : never) ? true : false;
|
|
82
|
-
/** Detect a concrete union of Layer values, preserving the original shape. */
|
|
83
|
-
type IsConcreteUnion<L> = IsAny<L> extends true ? false : IsUnion$1<L> extends true ? IsExactUncheckedLayer<L> extends true ? false : true : false;
|
|
84
|
-
type LayerInputState<L> = IsExactUncheckedLayer<L> extends true ? 'unchecked' : HasPartialAnyChannel<L> extends true ? 'invalid-partial-any' : IsConcreteUnion<L> extends true ? 'invalid-union' : 'typed';
|
|
85
|
-
type InvalidLayerErasure = {
|
|
86
|
-
readonly __betterEffectInvalidLayerErasure: unique symbol;
|
|
87
|
-
};
|
|
88
|
-
type AmbiguousLayerUnion = {
|
|
89
|
-
readonly __betterEffectAmbiguousLayerUnion: unique symbol;
|
|
90
|
-
};
|
|
91
|
-
/** Validate an original Layer argument without widening it to Layer.Any. */
|
|
92
|
-
type ValidateLayerInput<L extends LayerInput> = LayerInputState<L> extends 'invalid-partial-any' ? InvalidLayerErasure : LayerInputState<L> extends 'invalid-union' ? AmbiguousLayerUnion : unknown;
|
|
93
|
-
/** Validate every original element of a merge tuple. */
|
|
94
|
-
type ValidateLayerTuple<Layers extends readonly LayerInput[]> = { [Index in keyof Layers]: ValidateLayerInput<Layers[Index]>; };
|
|
95
|
-
type HasMatchingServiceTag<Left extends AnyService, Right extends AnyService> = [Extract<ServiceTagOf<Left>, ServiceTagOf<Right>>] extends [never] ? false : true;
|
|
96
|
-
/** Remove compatible Services from a union while retaining all other identities. */
|
|
97
|
-
type RemoveCompatibleServices<Provided extends AnyService, Replacements extends AnyService> = Provided extends AnyService ? HasMatchingServiceTag<Provided, Replacements> extends true ? true extends (Replacements extends AnyService ? SameService<Provided, Replacements> : false) ? never : Provided : Provided : never;
|
|
98
|
-
type HasCompatibleService<Provided extends AnyService, Replacements extends AnyService> = HasMatchingServiceTag<Provided, Replacements> extends true ? true extends (Replacements extends AnyService ? SameService<Provided, Replacements> : false) ? true : false : false;
|
|
99
|
-
type RemoveCompatibleEntries<Entries extends AnyProviderEntry, Replacements extends AnyService> = Entries extends ProviderEntry<infer Provided, any> ? HasCompatibleService<Provided, Replacements> extends true ? never : Entries : never;
|
|
100
|
-
type ReplacePreciseOne<Entries extends AnyProviderEntry, Replacement extends LayerInput> = RemoveCompatibleEntries<Entries, Extract<ProvidedEnvironment<Replacement>, AnyService>> | PreciseEntries<Replacement>;
|
|
101
|
-
type ReplaceErasedOne<Erased extends AnyErasedProvenance, Replacement extends LayerInput> = Erased extends ErasedProvenance<infer Provided, infer StickyRequired> ? ErasedProvenance<RemoveCompatibleServices<Provided, Extract<ProvidedEnvironment<Replacement>, AnyService>>, StickyRequired> : never;
|
|
102
|
-
type ApplyPreciseOverrides<Entries extends AnyProviderEntry, Overrides extends readonly LayerInput[]> = Overrides extends readonly [infer Head extends LayerInput, ...infer Tail extends readonly LayerInput[]] ? ApplyPreciseOverrides<ReplacePreciseOne<Entries, Head>, Tail> : Entries;
|
|
103
|
-
type ApplyErasedOverrides<Erased extends AnyErasedProvenance, Overrides extends readonly LayerInput[]> = Overrides extends readonly [infer Head extends LayerInput, ...infer Tail extends readonly LayerInput[]] ? ApplyErasedOverrides<ReplaceErasedOne<Erased, Head> | Extract<ErasedEntries<Head>, AnyErasedProvenance>, Tail> : Erased;
|
|
104
|
-
type HasMatchingService<Candidate extends AnyService, Available extends AnyService> = true extends (Available extends AnyService ? SameService<Candidate, Available> : never) ? true : false;
|
|
105
|
-
type GuaranteedServiceCandidates<Candidates extends AnyService, Branches extends LayerInput> = Candidates extends AnyService ? false extends (Branches extends LayerInput ? HasMatchingService<Candidates, Extract<ProvidedEnvironment<Branches>, AnyService>> : never) ? never : Candidates : never;
|
|
106
|
-
type GuaranteedProvided<Branch extends LayerInput, Branches extends LayerInput = Branch> = Branch extends LayerInput ? GuaranteedServiceCandidates<Extract<ProvidedEnvironment<Branch>, AnyService>, Branches> : never;
|
|
107
|
-
type HasUncheckedLayerInTuple<Layers extends readonly LayerInput[]> = true extends { [Index in keyof Layers]: IsExactUncheckedLayer<Layers[Index]>; }[number] ? true : false;
|
|
108
|
-
type MergeLayerResult<Layers extends readonly LayerInput[]> = HasUncheckedLayerInTuple<Layers> extends true ? Layer<any, any> : LayerResult<PreciseEntries<Layers[number]>, ErasedEntries<Layers[number]>>;
|
|
109
|
-
/** Internal result type for Layer.merge. */
|
|
110
|
-
type MergeResult<Layers extends readonly LayerInput[]> = MergeLayerResult<Layers>;
|
|
111
|
-
type ApplyVisibleOverrides<CurrentProvided extends AnyService, Overrides extends readonly LayerInput[]> = Overrides extends readonly [infer Head extends LayerInput, ...infer Tail extends readonly LayerInput[]] ? ApplyVisibleOverrides<RemoveCompatibleServices<CurrentProvided, Extract<ProvidedEnvironment<Head>, AnyService>> | Extract<ProvidedEnvironment<Head>, AnyService>, Tail> : CurrentProvided;
|
|
112
|
-
type OverrideLayerBranches<Base extends LayerInput, Overrides extends readonly LayerInput[]> = Overrides extends readonly LayerInput[] ? Layer<ApplyVisibleOverrides<Extract<ProvidedEnvironment<Base>, AnyService>, Overrides>, never> : never;
|
|
113
|
-
type OverrideLayerResultUnchecked<Base extends LayerInput, Overrides extends readonly LayerInput[]> = HasUncheckedLayerInTuple<[Base, ...Overrides]> extends true ? Layer<any, any> : LayerResult<ApplyPreciseOverrides<PreciseEntries<Base>, Overrides>, ApplyErasedOverrides<ErasedEntries<Base>, Overrides>, Extract<GuaranteedProvided<OverrideLayerBranches<Base, Overrides>>, AnyService>>;
|
|
114
|
-
/** Internal result type for an ordered override tuple. */
|
|
115
|
-
type OverrideLayerResult<Base extends LayerInput, Overrides extends readonly LayerInput[]> = OverrideLayerResultUnchecked<Base, Overrides>;
|
|
116
|
-
type IncompatibleOverridePair<Current extends AnyService, Replacement extends AnyService> = SameServiceTag<Current, Replacement> extends true ? SameServiceContract<Current, Replacement> extends true ? never : ServiceTokenOf<Replacement> : never;
|
|
117
|
-
/** Fully distributive same-tag incompatible override comparison. */
|
|
118
|
-
type IncompatibleOverridePairs<CurrentProvided extends AnyService, ReplacementProvided extends AnyService> = HasMatchingServiceTag<CurrentProvided, ReplacementProvided> extends true ? CurrentProvided extends AnyService ? ReplacementProvided extends AnyService ? IncompatibleOverridePair<CurrentProvided, ReplacementProvided> : never : never : never;
|
|
119
|
-
type IncompatibleLayerOverride<Tokens extends AnyServiceToken> = {
|
|
120
|
-
readonly __betterEffectIncompatibleLayerOverride: Tokens;
|
|
121
|
-
};
|
|
122
|
-
type InvalidWidenedProvidedEnvironment = {
|
|
123
|
-
readonly __betterEffectWidenedProvidedEnvironment: unique symbol;
|
|
124
|
-
};
|
|
125
|
-
type ValidateOverrideLayerInput<L extends LayerInput> = IsExactUncheckedLayer<L> extends true ? unknown : ValidateLayerInput<L> & (true extends HasWidenedTag<Extract<ProvidedEnvironment<L>, AnyService>> ? InvalidWidenedProvidedEnvironment : unknown);
|
|
126
|
-
type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends ((value: infer Intersection) => void) ? Intersection : never;
|
|
127
|
-
type ValidationFailuresToConstraint<Failures> = [Failures] extends [never] ? unknown : UnionToIntersection<Failures>;
|
|
128
|
-
type ValidateOverrideTuple<Overrides extends readonly LayerInput[]> = { [Index in keyof Overrides]: ValidateOverrideLayerInput<Overrides[Index]>; };
|
|
129
|
-
type ValidateOverrideTupleFailures<Overrides extends readonly LayerInput[]> = ValidationFailuresToConstraint<Overrides extends readonly LayerInput[] ? ValidationFailureWitness<{ [Index in keyof Overrides]: ValidateOverrideLayerInput<Overrides[Index]>; }> : never>;
|
|
130
|
-
type ServiceAtTag<Services, Tag extends string> = Tag extends keyof Services ? Extract<Services[Tag], AnyService> : never;
|
|
131
|
-
type ServiceTagMap<Services extends AnyService> = { [Tag in ServiceTagOf<Services>]: Extract<Services, {
|
|
132
|
-
readonly [ServiceIdentityTypeId]: Tag;
|
|
133
|
-
}>; };
|
|
134
|
-
type ExactMapOverrideMatch<Current, Replacement extends AnyService> = [MapServicesAtTag<Current, ServiceTagOf<Replacement>>] extends [never] ? true : [MapServicesAtTag<Current, ServiceTagOf<Replacement>>] extends [Replacement] ? [Replacement] extends [MapServicesAtTag<Current, ServiceTagOf<Replacement>>] ? true : false : false;
|
|
135
|
-
type CanSkipBaseOverride<Current, Replacement extends AnyService> = false extends (Replacement extends AnyService ? [MapServicesAtTag<Current, ServiceTagOf<Replacement>>] extends [never] ? false : ExactMapOverrideMatch<Current, Replacement> : never) ? false : true;
|
|
136
|
-
type MapServicesAtTag<Maps, Tag extends string> = Maps extends unknown ? ServiceAtTag<Maps, Tag> : never;
|
|
137
|
-
type IncompatibleOverridePairsForValidation<CurrentProvided extends AnyService, Replacement extends AnyService> = CurrentProvided extends AnyService ? Replacement extends AnyService ? IncompatibleOverridePair<CurrentProvided, Replacement> : never : never;
|
|
138
|
-
type ApplyValidationOverride<CurrentProvided extends AnyService, ReplacementProvided extends AnyService> = RemoveCompatibleServices<CurrentProvided, ReplacementProvided> | ReplacementProvided;
|
|
139
|
-
type ValidateOverridePair<CurrentProvided extends AnyService, ReplacementProvided extends AnyService> = IncompatibleOverridePairsForValidation<CurrentProvided, ReplacementProvided> extends (infer Incompatible) ? [Incompatible] extends [never] ? unknown : IncompatibleLayerOverride<Extract<Incompatible, AnyServiceToken>> : never;
|
|
140
|
-
/**
|
|
141
|
-
* Validate overrides while carrying only the current provided union.
|
|
142
|
-
* Rebuilding the full Layer provenance for every step is quadratic and can
|
|
143
|
-
* exhaust TypeScript's instantiation depth on otherwise simple override lists.
|
|
144
|
-
*/
|
|
145
|
-
type ValidateOverridesFromStateForArm<Overrides extends readonly LayerInput[], BaseMap, CurrentProvided extends AnyService, CurrentChanged extends boolean, CurrentUnchecked extends boolean> = Overrides extends readonly [infer Head extends LayerInput, ...infer Tail extends readonly LayerInput[]] ? CurrentUnchecked extends true ? ValidateOverridesFromStateForArm<Tail, BaseMap, AnyService, true, true> : IsExactUncheckedLayer<Head> extends true ? ValidateOverridesFromStateForArm<Tail, BaseMap, AnyService, true, true> : CurrentChanged extends false ? CanSkipBaseOverride<BaseMap, Extract<ProvidedEnvironment<Head>, AnyService>> extends true ? ValidateOverridesFromStateForArm<Tail, BaseMap, CurrentProvided, false, false> : ValidateOverridePair<CurrentProvided, Extract<ProvidedEnvironment<Head>, AnyService>> & ValidateOverridesFromStateForArm<Tail, BaseMap, ApplyValidationOverride<CurrentProvided, Extract<ProvidedEnvironment<Head>, AnyService>>, true, false> : ValidateOverridePair<CurrentProvided, Extract<ProvidedEnvironment<Head>, AnyService>> & ValidateOverridesFromStateForArm<Tail, BaseMap, ApplyValidationOverride<CurrentProvided, Extract<ProvidedEnvironment<Head>, AnyService>>, true, false> : unknown;
|
|
146
|
-
/** Validate every possible override tuple arm instead of accepting one valid arm. */
|
|
147
|
-
type ValidateOverridesFromState<Overrides extends readonly LayerInput[], BaseMap, CurrentProvided extends AnyService, CurrentChanged extends boolean, CurrentUnchecked extends boolean> = ValidationFailuresToConstraint<Overrides extends readonly LayerInput[] ? ValidationFailureWitness<ValidateOverridesFromStateForArm<Overrides, BaseMap, CurrentProvided, CurrentChanged, CurrentUnchecked>> : never>;
|
|
148
|
-
/** Validate one override against the currently accumulated Layer state. */
|
|
149
|
-
type ValidateOneOverride<Current extends LayerInput, Replacement extends LayerInput> = ValidateOverrideLayerInput<Current> & ValidateOverrideLayerInput<Replacement> & (IsExactUncheckedLayer<Current> extends true ? unknown : IsExactUncheckedLayer<Replacement> extends true ? unknown : [IncompatibleOverridePairs<Extract<PossibleProvidedEnvironment<Current>, AnyService>, Extract<PossibleProvidedEnvironment<Replacement>, AnyService>>] extends [never] ? unknown : IncompatibleLayerOverride<IncompatibleOverridePairs<Extract<PossibleProvidedEnvironment<Current>, AnyService>, Extract<PossibleProvidedEnvironment<Replacement>, AnyService>>>);
|
|
150
|
-
type IsTuple<Values extends readonly unknown[]> = number extends Values['length'] ? false : true;
|
|
151
|
-
type InvalidWidenedOverrideList = {
|
|
152
|
-
readonly __betterEffectWidenedOverrideList: unique symbol;
|
|
153
|
-
};
|
|
154
|
-
/** Validate ordered overrides against the state produced by earlier overrides. */
|
|
155
|
-
type ValidateOverrides<Base extends LayerInput, Overrides extends readonly LayerInput[]> = [Overrides] extends [never] ? unknown : IsTuple<Overrides> extends false ? IsExactUncheckedLayer<Base> extends true ? unknown : InvalidWidenedOverrideList : ValidateOverrideLayerInput<Base> & ValidateOverrideTuple<Overrides> & ValidationFailuresToConstraint<Overrides extends readonly LayerInput[] ? [Overrides] extends [readonly []] ? never : ValidationFailureWitness<ValidateOverrideTuple<Overrides> & ValidateOverrideTupleFailures<Overrides> & ValidateOverridesFromState<Overrides, ServiceTagMap<Extract<PossibleProvidedEnvironment<Base>, AnyService>>, Extract<PossibleProvidedEnvironment<Base>, AnyService>, false, IsExactUncheckedLayer<Base>>> : never>;
|
|
156
|
-
type ValidationFailureWitness<Value> = Value extends {
|
|
157
|
-
readonly __betterEffectIncompatibleLayerOverride: infer Tokens;
|
|
158
|
-
} ? {
|
|
159
|
-
readonly __betterEffectIncompatibleLayerOverride: Tokens;
|
|
160
|
-
} : Value extends {
|
|
161
|
-
readonly __betterEffectInvalidLayerErasure: unique symbol;
|
|
162
|
-
} ? Value : Value extends {
|
|
163
|
-
readonly __betterEffectAmbiguousLayerUnion: unique symbol;
|
|
164
|
-
} ? Value : Value extends {
|
|
165
|
-
readonly __betterEffectWidenedProvidedEnvironment: unique symbol;
|
|
166
|
-
} ? Value : Value extends {
|
|
167
|
-
readonly __betterEffectWidenedOverrideList: unique symbol;
|
|
168
|
-
} ? Value : Value extends readonly (infer Element)[] ? ValidationFailureWitness<Element> : never;
|
|
169
|
-
/** Reduce Layer override validation to a usable call-site diagnostic witness. */
|
|
170
|
-
type ValidateOverridesWitness<Base extends LayerInput, Overrides extends readonly LayerInput[]> = ValidationFailureWitness<ValidateOverrides<Base, Overrides>> extends (infer Failure) ? [Failure] extends [never] ? unknown : Failure : never;
|
|
171
|
-
/** A Layer accepted by Runtime boundaries after completeness validation. */
|
|
172
|
-
type CompleteInput<L extends LayerInput> = ValidateLayerInput<L> & (LayerInputState<L> extends 'unchecked' ? L : LayerInputState<L> extends 'typed' ? [RequiredEnvironment<L>] extends [never] ? L : L & MissingDependencies<Extract<RequiredEnvironment<L>, AnyService>> : L);
|
|
173
|
-
type ExecutionRequirementsMissing<RootProvided extends AnyService, Request extends LayerInput> = MissingServices<Extract<RequiredEnvironment<Request>, AnyService>, Extract<RootProvided, AnyService>>;
|
|
174
|
-
/** Validate a per-execution Layer against the Runtime root environment. */
|
|
175
|
-
type CompleteExecutionLayer<RootProvided extends AnyService, Request extends LayerInput> = ValidateLayerInput<Request> & (LayerInputState<Request> extends 'unchecked' ? Request : LayerInputState<Request> extends 'typed' ? [ExecutionRequirementsMissing<RootProvided, Request>] extends [never] ? Request : Request & MissingDependencies<ExecutionRequirementsMissing<RootProvided, Request>> : Request);
|
|
176
|
-
/** Services required by an execution result that are not in its environment. */
|
|
177
|
-
type ExecutionMissing<Provided extends AnyService, ProgramResult> = MissingServices<EffectRequirements<ProgramResult>, Provided>;
|
|
178
|
-
type ExecutionProgram<A> = () => A | PromiseLike<A>;
|
|
179
|
-
type CompleteExecutionWithRequirements<Provided extends AnyService, A, Required extends AnyService> = [MissingServices<Required, Provided>] extends [never] ? ExecutionProgram<A> : ExecutionProgram<A> & MissingDependencies<MissingServices<Required, Provided>>;
|
|
180
|
-
/** Keep execution callbacks unchanged when their Effect requirements are met. */
|
|
181
|
-
type CompleteExecution<Provided extends AnyService, A> = CompleteExecutionWithRequirements<Provided, A, EffectRequirements<A>>;
|
|
182
|
-
//#endregion
|
|
183
|
-
//#region src/layer/types.d.ts
|
|
184
|
-
/** Runtime-facing provider registration supplied by a Layer backend. */
|
|
185
|
-
interface LayerRegistration {
|
|
186
|
-
/** The class-backed Service token provided by this registration. */
|
|
187
|
-
readonly service: ServiceClass<any, any>;
|
|
188
|
-
/**
|
|
189
|
-
* The canonical tag captured when the provider was created.
|
|
190
|
-
*
|
|
191
|
-
* This remains optional for direct backend registrations created against the
|
|
192
|
-
* pre-inspection API; backends capture the token tag synchronously when it is
|
|
193
|
-
* omitted.
|
|
194
|
-
*/
|
|
195
|
-
readonly serviceTag?: string;
|
|
196
|
-
/** Lazily acquire the Service instance; concrete types are erased at this backend boundary. */
|
|
197
|
-
readonly acquire: () => MaybePromise$1<unknown>;
|
|
198
|
-
}
|
|
199
|
-
/** Generator shape used by `Layer.gen` and `Layer.scopedGen`. */
|
|
200
|
-
type LayerGenerator<S extends ServiceClass<any, any>, Yield extends ServiceRequirement<unknown> = ServiceRequirement<unknown>> = () => AsyncGenerator<Yield, ServiceContract<InstanceType<S>>, unknown>;
|
|
201
|
-
/** Service requirements inferred from a provider's methods and generator. */
|
|
202
|
-
type LayerGeneratorRequirements<S extends ServiceClass<any, any>, Yield extends ServiceRequirement<unknown>> = ServiceRequirements<InstanceType<S>> | InferYieldRequirements<Yield>;
|
|
203
|
-
//#endregion
|
|
204
|
-
//#region src/layer/layer.d.ts
|
|
205
|
-
declare const LayerTypeId: unique symbol;
|
|
206
|
-
interface LayerVariance<in out Provided, out Required> {
|
|
207
|
-
readonly _Provided: Invariant<Provided>;
|
|
208
|
-
readonly _Required: Covariant<Required>;
|
|
209
|
-
}
|
|
210
|
-
type CapturedLayerAcquisition = {
|
|
211
|
-
readonly instance: unknown;
|
|
212
|
-
readonly release: ScopeFinalizer;
|
|
213
|
-
};
|
|
214
|
-
interface LayerProvider extends LayerRegistration {
|
|
215
|
-
/** The tag captured before this provider can cross an asynchronous boundary. */
|
|
216
|
-
readonly serviceTag: string;
|
|
217
|
-
/** Provider storage deliberately erases the concrete instance type. */
|
|
218
|
-
readonly release?: (instance: unknown, outcome: ScopeOutcome) => MaybePromise$1<void>;
|
|
219
|
-
/** Capture acquisition-local cleanup without retaining the acquired instance. */
|
|
220
|
-
readonly acquireWithRelease?: () => MaybePromise$1<CapturedLayerAcquisition>;
|
|
221
|
-
}
|
|
222
|
-
/** A Service class whose constructor can be called without arguments. */
|
|
223
|
-
type DefaultConstructibleServiceClass<Tag extends string = string, Instance extends AnyService = AnyService> = ServiceClass<Tag, Instance> & (new () => Instance);
|
|
224
|
-
type IsUnion<Type, Candidate = Type> = Type extends unknown ? [Candidate] extends [Type] ? false : true : never;
|
|
225
|
-
type InvalidUnionAliasToken = {
|
|
226
|
-
readonly __betterEffectUnionLayerAliasToken: unique symbol;
|
|
227
|
-
};
|
|
228
|
-
type RejectUnionAliasToken<Token> = IsUnion<Token> extends true ? InvalidUnionAliasToken : unknown;
|
|
229
|
-
type LayerAliasOptions<From extends ServiceClass<any, any>, To extends ServiceClass<any, any>> = {
|
|
230
|
-
readonly from: From;
|
|
231
|
-
readonly to: To;
|
|
232
|
-
} & RejectUnionAliasToken<From> & RejectUnionAliasToken<To> & ([ServiceContract<InstanceType<From>>] extends [ServiceContract<InstanceType<To>>] ? unknown : {
|
|
233
|
-
readonly __betterEffectIncompatibleLayerAlias: unique symbol;
|
|
234
|
-
});
|
|
235
|
-
/**
|
|
236
|
-
* Declarative collection of Service providers.
|
|
237
|
-
*
|
|
238
|
-
* A Layer describes how to acquire implementations; it does not execute
|
|
239
|
-
* providers until a `Runtime` is created. Use `merge` to compose distinct
|
|
240
|
-
* providers and `override` when replacing an existing provider intentionally.
|
|
241
|
-
*
|
|
242
|
-
* @example
|
|
243
|
-
* ```ts
|
|
244
|
-
* const AppLive = Layer.merge(
|
|
245
|
-
* Layer.succeed(Database, database),
|
|
246
|
-
* Layer.make(UserRepository)
|
|
247
|
-
* )
|
|
248
|
-
*
|
|
249
|
-
* const runtime = await Runtime.make(AppLive, backend)
|
|
250
|
-
* ```
|
|
251
|
-
*/
|
|
252
|
-
declare class Layer<in out Provided extends AnyService = AnyService, out Required extends AnyService = AnyService> {
|
|
253
|
-
readonly [LayerTypeId]: LayerVariance<Provided, Required>;
|
|
254
|
-
/** The provider registrations retained by this Layer. */
|
|
255
|
-
readonly providers: readonly LayerProvider[];
|
|
256
|
-
private constructor();
|
|
257
|
-
/** A stable provider-free Layer for composition roots with no Services. */
|
|
258
|
-
static readonly empty: Layer<never, never>;
|
|
259
|
-
/** Create a Layer that lazily acquires a Service instance. */
|
|
260
|
-
static make<S extends DefaultConstructibleServiceClass<any, any>>(service: S): LayerResult<ProviderEntry<InstanceType<S>, ServiceRequirements<InstanceType<S>>>>;
|
|
261
|
-
static make<S extends ServiceClass<any, any>>(service: S, acquire: () => MaybePromise$1<ServiceContract<InstanceType<S>>>): LayerResult<ProviderEntry<InstanceType<S>, ServiceRequirements<InstanceType<S>>>>;
|
|
262
|
-
/** Create a Layer from an already-constructed Service instance. */
|
|
263
|
-
static succeed<S extends ServiceClass<any, any>>(service: S, instance: ServiceContract<InstanceType<S>>): LayerResult<ProviderEntry<InstanceType<S>, ServiceRequirements<InstanceType<S>>>>;
|
|
264
|
-
/** Alias a source Service under a compatible target contract. */
|
|
265
|
-
static alias<From extends ServiceClass<any, any>, To extends ServiceClass<any, any>>(options: LayerAliasOptions<From, To>): LayerResult<ProviderEntry<InstanceType<To>, InstanceType<From> | ServiceRequirements<InstanceType<To>>>>;
|
|
266
|
-
/** Define a provider with Runtime-root cleanup. */
|
|
267
|
-
static scoped<S extends ServiceClass<any, any>>(service: S, acquire: () => MaybePromise$1<ServiceContract<InstanceType<S>>>, release: (instance: InstanceType<S>, outcome: ScopeOutcome) => MaybePromise$1<void>): LayerResult<ProviderEntry<InstanceType<S>, ServiceRequirements<InstanceType<S>>>>;
|
|
268
|
-
/** Define a provider with Runtime-root cleanup through its disposal protocol. */
|
|
269
|
-
static scopedDisposable<S extends ServiceClass<any, any>>(service: S, acquire: () => MaybePromise$1<ServiceContract<InstanceType<S>> & DisposableResource>): LayerResult<ProviderEntry<InstanceType<S>, ServiceRequirements<InstanceType<S>>>>;
|
|
270
|
-
/** Define a provider whose acquisition can yield contextual Services. */
|
|
271
|
-
static scopedGen<S extends ServiceClass<any, any>, Yield extends ServiceRequirement<unknown>>(service: S, factory: LayerGenerator<S, Yield>, release: (instance: InstanceType<S>, outcome: ScopeOutcome) => MaybePromise$1<void>): LayerResult<ProviderEntry<InstanceType<S>, LayerGeneratorRequirements<S, Yield>>>;
|
|
272
|
-
/** Define a provider whose acquisition can yield contextual Services. */
|
|
273
|
-
static gen<S extends ServiceClass<any, any>, Yield extends ServiceRequirement<unknown>>(service: S, factory: LayerGenerator<S, Yield>): LayerResult<ProviderEntry<InstanceType<S>, LayerGeneratorRequirements<S, Yield>>>;
|
|
274
|
-
/** Compose Layers without replacing providers. */
|
|
275
|
-
static merge<const Layers extends readonly LayerInput[]>(...layers: Layers & ValidateLayerTuple<Layers>): MergeResult<Layers>;
|
|
276
|
-
/** Mark a Layer composition root as complete without changing its runtime value. */
|
|
277
|
-
static complete<L extends LayerInput>(layer: L & CompleteInput<L>): L;
|
|
278
|
-
/** Replace providers in a base Layer, using tag identity and compatible contracts. */
|
|
279
|
-
static override<Base extends LayerInput>(base: Base & ValidateLayerInput<Base>): OverrideLayerResult<Base, readonly []>;
|
|
280
|
-
static override<Base extends LayerInput, const Overrides extends readonly [LayerInput, ...LayerInput[]]>(base: Base & ValidateLayerInput<Base>, ...overrides: Overrides & ValidateOverrides<Base, Overrides>): OverrideLayerResult<Base, Overrides>;
|
|
281
|
-
static override<Base extends LayerInput, const Overrides extends readonly LayerInput[]>(base: Base & ValidateLayerInput<Base>, ...overrides: Overrides & ValidateOverrides<Base, Overrides>): OverrideLayerResult<Base, Overrides>;
|
|
282
|
-
}
|
|
283
|
-
/** Type-level aliases for inspecting Layer environments and completeness. */
|
|
284
|
-
declare namespace Layer {
|
|
285
|
-
/** The widened Layer shape accepted by generic Layer infrastructure. */
|
|
286
|
-
type Any = LayerInput;
|
|
287
|
-
/** Extract the branded Service instances provided by a Layer. */
|
|
288
|
-
type Provided<L extends LayerInput> = ProvidedEnvironment<L>;
|
|
289
|
-
/** Extract the external Service requirements of a Layer. */
|
|
290
|
-
type Required<L extends LayerInput> = RequiredEnvironment<L>;
|
|
291
|
-
/** Extract the Services still missing from a Layer composition. */
|
|
292
|
-
type Missing<L extends LayerInput> = RequiredEnvironment<L>;
|
|
293
|
-
/** Validate a Layer's requirements and input shape. */
|
|
294
|
-
type Complete<L extends LayerInput> = CompleteInput<L>;
|
|
295
|
-
}
|
|
296
|
-
//#endregion
|
|
297
|
-
//#region src/layer/backend.d.ts
|
|
298
|
-
/** Observation hook invoked for acquisitions that disposal will await. */
|
|
299
|
-
type LayerBackendDisposeOptions = {
|
|
300
|
-
/**
|
|
301
|
-
* Receives the in-flight acquisition Promises when disposal begins. The callback
|
|
302
|
-
* is invoked synchronously and awaited before the backend clears its state.
|
|
303
|
-
*/
|
|
304
|
-
readonly onPendingAcquisitions?: (acquisitions: readonly Promise<unknown>[]) => void | PromiseLike<void>;
|
|
305
|
-
};
|
|
306
|
-
/** Runtime adapter responsible for registering, resolving, and disposing Layer providers. */
|
|
307
|
-
interface LayerBackend extends ServiceResolver {
|
|
308
|
-
/** Register one Service provider with the backend. */
|
|
309
|
-
register(registration: LayerRegistration): MaybePromise$1<void>;
|
|
310
|
-
/** Dispose all backend-owned instances and provider registrations. */
|
|
311
|
-
disposeAll(options?: LayerBackendDisposeOptions): MaybePromise$1<void>;
|
|
312
|
-
}
|
|
313
|
-
//#endregion
|
|
314
|
-
//#region src/layer/errors.d.ts
|
|
315
|
-
type LayerCause = Extract<ScopeOutcome, {
|
|
316
|
-
readonly status: 'failure';
|
|
317
|
-
}>['cause'];
|
|
318
|
-
/** Thrown when a Layer registers the same Service tag more than once. */
|
|
319
|
-
declare class DuplicateServiceError extends Error {
|
|
320
|
-
readonly service: ServiceClass<any>;
|
|
321
|
-
constructor(service: ServiceClass<any>);
|
|
322
|
-
}
|
|
323
|
-
/** Thrown when one Service tag is associated with incompatible constructors. */
|
|
324
|
-
declare class ServiceTagCollisionError extends Error {
|
|
325
|
-
readonly existing: AnyServiceToken;
|
|
326
|
-
readonly incoming: AnyServiceToken;
|
|
327
|
-
constructor(existing: AnyServiceToken, incoming: AnyServiceToken);
|
|
328
|
-
}
|
|
329
|
-
/** Thrown when a backend fails while registering a Layer provider. */
|
|
330
|
-
declare class LayerRegistrationError extends Error {
|
|
331
|
-
readonly service: ServiceClass<any> | undefined;
|
|
332
|
-
readonly registrationCause: LayerCause;
|
|
333
|
-
readonly cleanupCause?: LayerCause | undefined;
|
|
334
|
-
constructor(service: ServiceClass<any> | undefined, registrationCause: LayerCause, cleanupCause?: LayerCause | undefined);
|
|
335
|
-
}
|
|
336
|
-
/** Thrown when one or more Layer-owned resources fail during disposal. */
|
|
337
|
-
declare class LayerDisposeError extends Error {
|
|
338
|
-
readonly causes: readonly unknown[];
|
|
339
|
-
constructor(causes: readonly unknown[]);
|
|
340
|
-
}
|
|
341
|
-
/** Thrown when a Layer generator yields a value other than a Service requirement. */
|
|
342
|
-
declare class LayerGeneratorYieldError extends Error {
|
|
343
|
-
readonly service: ServiceClass<any>;
|
|
344
|
-
constructor(service: ServiceClass<any>);
|
|
345
|
-
}
|
|
346
|
-
//#endregion
|
|
347
|
-
//#region src/runtime/outcome.d.ts
|
|
348
|
-
/** Aggregated cleanup information reported during Runtime shutdown. */
|
|
349
|
-
type RuntimeShutdownDiagnostic = {
|
|
350
|
-
/** Final outcome supplied to the Runtime root Scope. */
|
|
351
|
-
readonly outcome: ScopeOutcome;
|
|
352
|
-
/** Aggregated root-Scope and backend cleanup failure. */
|
|
353
|
-
readonly error: LayerDisposeError;
|
|
354
|
-
};
|
|
355
|
-
/** Observer notified about cleanup failures without changing primary results. */
|
|
356
|
-
type CleanupFailureObserver = (diagnostic: CleanupFailureDiagnostic | RuntimeShutdownDiagnostic) => MaybePromise<void>;
|
|
357
|
-
/** Optional Runtime configuration for cleanup diagnostics. */
|
|
358
|
-
type RuntimeOptions = {
|
|
359
|
-
/** Backend used to register and resolve the Layer. Defaults to MapLayerBackend. */
|
|
360
|
-
readonly backend?: LayerBackend;
|
|
361
|
-
/** Resolve every Layer provider before Runtime.make resolves. */
|
|
362
|
-
readonly warmup?: boolean;
|
|
363
|
-
/** Best-effort lifecycle and Service resolution observers. */
|
|
364
|
-
readonly observers?: readonly RuntimeObserver[];
|
|
365
|
-
/** Optional observer for best-effort cleanup diagnostics. */
|
|
366
|
-
readonly onCleanupFailure?: CleanupFailureObserver;
|
|
367
|
-
/** Context storage used by Service, Scope and Layer resolution. */
|
|
368
|
-
readonly contextStorage?: RuntimeContextStorage;
|
|
369
|
-
/** Optional signal exposed through the RuntimeContext. */
|
|
370
|
-
readonly signal?: AbortSignal;
|
|
371
|
-
};
|
|
372
|
-
/** Optional signal and diagnostic attributes supplied to one Runtime execution. */
|
|
373
|
-
type RuntimeRunOptions = {
|
|
374
|
-
readonly signal?: AbortSignal;
|
|
375
|
-
/** Copied once and exposed as a readonly event view. */
|
|
376
|
-
readonly attributes?: RuntimeExecutionAttributes;
|
|
377
|
-
};
|
|
378
|
-
/** Cooperative shutdown policy for a managed Runtime. */
|
|
379
|
-
type RuntimeDisposeOptions = {
|
|
380
|
-
/** Time to let active executions settle before requesting cancellation. */
|
|
381
|
-
readonly gracePeriod?: number;
|
|
382
|
-
/** Abort active execution signals after the grace period expires. */
|
|
383
|
-
readonly abortAfterGracePeriod?: boolean;
|
|
384
|
-
};
|
|
385
|
-
//#endregion
|
|
386
|
-
export { ProviderEntry as A, OverrideLayerResult as C, ValidateOneOverride as D, ValidateLayerInput as E, ValidateOverrides as O, MissingServices as S, RequiredEnvironment as T, CompleteInput as _, RuntimeShutdownDiagnostic as a, LayerInputState as b, LayerGeneratorYieldError as c, LayerBackend as d, LayerBackendDisposeOptions as f, CompleteExecutionLayer as g, CompleteExecution as h, RuntimeRunOptions as i, MissingDependencies as j, ValidateOverridesWitness as k, LayerRegistrationError as l, LayerRegistration as m, RuntimeDisposeOptions as n, DuplicateServiceError as o, Layer as p, RuntimeOptions as r, LayerDisposeError as s, CleanupFailureObserver as t, ServiceTagCollisionError as u, ExecutionMissing as v, ProvidedEnvironment as w, LayerResult as x, LayerInput as y };
|
|
387
|
-
//# sourceMappingURL=outcome-DI8LPIQ4.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outcome-DI8LPIQ4.d.mts","names":[],"sources":["../src/internal/variance.ts","../src/internal/missing-dependencies.ts","../src/layer/metadata.ts","../src/layer/inference.ts","../src/layer/types.ts","../src/layer/layer.ts","../src/layer/backend.ts","../src/layer/errors.ts","../src/runtime/outcome.ts"],"mappings":"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"}
|