effect 3.17.11 → 3.17.12

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.
@@ -106,6 +106,11 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, op
106
106
  }))),
107
107
  idleTimeToLive: options?.idleTimeToLive
108
108
  });
109
+ if (options?.preloadKeys) {
110
+ for (const key of options.preloadKeys) {
111
+ yield* RcMap.get(rcMap, key);
112
+ }
113
+ }
109
114
  return (0, _Function.identity)({
110
115
  [TypeId]: TypeId,
111
116
  rcMap,
@@ -123,7 +128,10 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, op
123
128
  * @category Constructors
124
129
  * @experimental
125
130
  */
126
- const fromRecord = (layers, options) => make(key => layers[key], options);
131
+ const fromRecord = (layers, options) => make(key => layers[key], {
132
+ ...options,
133
+ preloadKeys: options?.preload ? Object.keys(layers) : undefined
134
+ });
127
135
  /**
128
136
  * @since 3.14.0
129
137
  * @category Service
@@ -1 +1 @@
1
- {"version":3,"file":"LayerMap.js","names":["Context","_interopRequireWildcard","require","Effect","FiberRefsPatch","_Function","core","Layer","RcMap","Runtime","Scope","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","fnUntraced","lookup","options","context","memoMap","unsafeMap","CurrentMemoMap","key","makeMemoMap","rcMap","scopeWith","scope","diffFiberRefs","buildWithMemoMap","pipe","map","patch","layer","scopedContext","withFiberRuntime","fiber","unsafeGet","currentContext","oldRefs","getFiberRefs","newRefs","id","revert","diff","setFiberRefs","as","addFinalizerExit","void","runtimeEffect","fiberRefs","succeed","runtimeFlags","defaultRuntime","idleTimeToLive","identity","unwrapScoped","runtime","flatMap","invalidate","fromRecord","layers","Service","Err","globalThis","Error","limit","stackTraceLimit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","GenericTag","stack","DefaultWithoutDependencies","scoped","Default","dependencies","length","provide","layerMap"],"sources":["../../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LayerMap.js","names":["Context","_interopRequireWildcard","require","Effect","FiberRefsPatch","_Function","core","Layer","RcMap","Runtime","Scope","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","fnUntraced","lookup","options","context","memoMap","unsafeMap","CurrentMemoMap","key","makeMemoMap","rcMap","scopeWith","scope","diffFiberRefs","buildWithMemoMap","pipe","map","patch","layer","scopedContext","withFiberRuntime","fiber","unsafeGet","currentContext","oldRefs","getFiberRefs","newRefs","id","revert","diff","setFiberRefs","as","addFinalizerExit","void","runtimeEffect","fiberRefs","succeed","runtimeFlags","defaultRuntime","idleTimeToLive","preloadKeys","identity","unwrapScoped","runtime","flatMap","invalidate","fromRecord","layers","preload","keys","undefined","Service","Err","globalThis","Error","limit","stackTraceLimit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","GenericTag","stack","DefaultWithoutDependencies","scoped","Default","dependencies","length","provide","layerMap"],"sources":["../../src/LayerMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,KAAA,GAAAT,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAbnC;;;;;AAgBA;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AAwClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDO,MAAMC,IAAI,GAAAH,OAAA,CAAAG,IAAA,gBAkBb/B,MAAM,CAACgC,UAAU,CAAC,WACpBC,MAA0C,EAC1CC,OAGa;EAEb,MAAMC,OAAO,GAAG,OAAOnC,MAAM,CAACmC,OAAO,EAAS;EAE9C;EACA;EACA,MAAMC,OAAO,GAAGD,OAAO,CAACE,SAAS,CAAClB,GAAG,CAACf,KAAK,CAACkC,cAAc,CAACC,GAAG,CAAC,GAC3D1C,OAAO,CAACuB,GAAG,CAACe,OAAO,EAAE/B,KAAK,CAACkC,cAAc,CAAC,GAC1C,OAAOlC,KAAK,CAACoC,WAAW;EAE5B,MAAMC,KAAK,GAAG,OAAOpC,KAAK,CAAC0B,IAAI,CAAC;IAC9BE,MAAM,EAAGM,GAAM,IACbvC,MAAM,CAAC0C,SAAS,CAAEC,KAAK,IAAK3C,MAAM,CAAC4C,aAAa,CAACxC,KAAK,CAACyC,gBAAgB,CAACZ,MAAM,CAACM,GAAG,CAAC,EAAEH,OAAO,EAAEO,KAAK,CAAC,CAAC,CAAC,CAACG,IAAI,CACzG9C,MAAM,CAAC+C,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEb,OAAO,CAAC,MAAM;MAChCc,KAAK,EAAE7C,KAAK,CAAC8C,aAAa,CACxB/C,IAAI,CAACgD,gBAAgB,CAAwCC,KAAK,IAAI;QACpE,MAAMT,KAAK,GAAG9C,OAAO,CAACwD,SAAS,CAACD,KAAK,CAACE,cAAc,EAAE/C,KAAK,CAACA,KAAK,CAAC;QAClE,MAAMgD,OAAO,GAAGH,KAAK,CAACI,YAAY,EAAE;QACpC,MAAMC,OAAO,GAAGxD,cAAc,CAAC+C,KAAK,CAACA,KAAK,EAAEI,KAAK,CAACM,EAAE,EAAE,EAAEH,OAAO,CAAC;QAChE,MAAMI,MAAM,GAAG1D,cAAc,CAAC2D,IAAI,CAACH,OAAO,EAAEF,OAAO,CAAC;QACpDH,KAAK,CAACS,YAAY,CAACJ,OAAO,CAAC;QAC3B,OAAOzD,MAAM,CAAC8D,EAAE,CACdvD,KAAK,CAACwD,gBAAgB,CAACpB,KAAK,EAAE,MAAK;UACjCS,KAAK,CAACS,YAAY,CAAC5D,cAAc,CAAC+C,KAAK,CAACW,MAAM,EAAEP,KAAK,CAACM,EAAE,EAAE,EAAEN,KAAK,CAACI,YAAY,EAAE,CAAC,CAAC;UAClF,OAAOxD,MAAM,CAACgE,IAAI;QACpB,CAAC,CAAC,EACF7B,OAAO,CACR;MACH,CAAC,CAAC,CACH;MACD8B,aAAa,EAAEjE,MAAM,CAACmD,gBAAgB,CAAwCC,KAAK,IAAI;QACrF,MAAMc,SAAS,GAAGjE,cAAc,CAAC+C,KAAK,CAACA,KAAK,EAAEI,KAAK,CAACM,EAAE,EAAE,EAAEN,KAAK,CAACI,YAAY,EAAE,CAAC;QAC/E,OAAOxD,MAAM,CAACmE,OAAO,CAAC7D,OAAO,CAACyB,IAAI,CAAC;UACjCI,OAAO;UACP+B,SAAS;UACTE,YAAY,EAAE9D,OAAO,CAAC+D,cAAc,CAACD;SACtC,CAAC,CAAC;MACL,CAAC;KACQ,EAAC,CACb;IACHE,cAAc,EAAEpC,OAAO,EAAEoC;GAC1B,CAAC;EAEF,IAAIpC,OAAO,EAAEqC,WAAW,EAAE;IACxB,KAAK,MAAMhC,GAAG,IAAIL,OAAO,CAACqC,WAAW,EAAE;MACrC,OAAQlE,KAAK,CAACe,GAAG,CAACqB,KAAK,EAAEF,GAAG,CAA8C;IAC5E;EACF;EAEA,OAAO,IAAAiC,kBAAQ,EAA4C;IACzD,CAAC7C,MAAM,GAAGA,MAAM;IAChBc,KAAK;IACLrB,GAAG,EAAGmB,GAAG,IAAKnC,KAAK,CAACqE,YAAY,CAACzE,MAAM,CAAC+C,GAAG,CAAC1C,KAAK,CAACe,GAAG,CAACqB,KAAK,EAAEF,GAAG,CAAC,EAAE,CAAC;MAAEU;IAAK,CAAE,KAAKA,KAAK,CAAC,CAAC;IACzFyB,OAAO,EAAGnC,GAAG,IAAKvC,MAAM,CAAC2E,OAAO,CAACtE,KAAK,CAACe,GAAG,CAACqB,KAAK,EAAEF,GAAG,CAAC,EAAE,CAAC;MAAE0B;IAAa,CAAE,KAAKA,aAAa,CAAC;IAC7FW,UAAU,EAAGrC,GAAG,IAAKlC,KAAK,CAACuE,UAAU,CAACnC,KAAK,EAAEF,GAAG;GACjD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;AAKO,MAAMsC,UAAU,GAAGA,CAIxBC,MAAc,EACd5C,OAGa,KAUbH,IAAI,CAAEQ,GAAiB,IAAKuC,MAAM,CAACvC,GAAG,CAAC,EAAE;EACvC,GAAGL,OAAO;EACVqC,WAAW,EAAErC,OAAO,EAAE6C,OAAO,GAAGvD,MAAM,CAACwD,IAAI,CAACF,MAAM,CAAC,GAAGG;CACvD,CAAQ;AA+CX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAArD,OAAA,CAAAiD,UAAA,GAAAA,UAAA;AAqDO,MAAMK,OAAO,GAAGA,CAAA,KACvB,CAqBExB,EAAM,EACNxB,OAAgB,KAcd;EACF,MAAMiD,GAAG,GAAGC,UAAU,CAACC,KAAY;EACnC,MAAMC,KAAK,GAAGH,GAAG,CAACI,eAAe;EACjCJ,GAAG,CAACI,eAAe,GAAG,CAAC;EACvB,MAAMC,aAAa,GAAG,IAAIL,GAAG,EAAE;EAC/BA,GAAG,CAACI,eAAe,GAAGD,KAAK;EAE3B,SAASG,QAAQA,CAAA,GAAI;EACrB,MAAMC,SAAS,GAAGD,QAA+E;EACjGjE,MAAM,CAACmE,cAAc,CAACF,QAAQ,EAAEjE,MAAM,CAACoE,cAAc,CAAC/F,OAAO,CAACgG,UAAU,CAAYnC,EAAE,CAAC,CAAC,CAAC;EACzF+B,QAAQ,CAAClD,GAAG,GAAGmB,EAAE;EACjBlC,MAAM,CAACC,cAAc,CAACgE,QAAQ,EAAE,OAAO,EAAE;IACvCrE,GAAGA,CAAA;MACD,OAAOoE,aAAa,CAACM,KAAK;IAC5B;GACD,CAAC;EAEFJ,SAAS,CAACK,0BAA0B,GAAG3F,KAAK,CAAC4F,MAAM,CACjDN,SAAS,EACT,QAAQ,IAAIxD,OAAO,GACfH,IAAI,CAACG,OAAO,CAACD,MAAM,EAAEC,OAAO,CAAC,GAC7B2C,UAAU,CAAC3C,OAAO,CAAC4C,MAAa,EAAE5C,OAAO,CAAC,CAC/C;EACDwD,SAAS,CAACO,OAAO,GAAG/D,OAAO,CAACgE,YAAY,IAAIhE,OAAO,CAACgE,YAAY,CAACC,MAAM,GAAG,CAAC,GACzE/F,KAAK,CAACgG,OAAO,CAACV,SAAS,CAACK,0BAA0B,EAAE7D,OAAO,CAACgE,YAAmB,CAAC,GAChFR,SAAS,CAACK,0BAA0B;EAEtCL,SAAS,CAACtE,GAAG,GAAImB,GAAW,IAAKnC,KAAK,CAACqE,YAAY,CAACzE,MAAM,CAAC+C,GAAG,CAAC2C,SAAS,EAAGW,QAAQ,IAAKA,QAAQ,CAACjF,GAAG,CAACmB,GAAG,CAAC,CAAC,CAAC;EAC3GmD,SAAS,CAAChB,OAAO,GAAInC,GAAW,IAAKvC,MAAM,CAAC2E,OAAO,CAACe,SAAS,EAAGW,QAAQ,IAAKA,QAAQ,CAAC3B,OAAO,CAACnC,GAAG,CAAC,CAAC;EACnGmD,SAAS,CAACd,UAAU,GAAIrC,GAAW,IAAKvC,MAAM,CAAC2E,OAAO,CAACe,SAAS,EAAGW,QAAQ,IAAKA,QAAQ,CAACzB,UAAU,CAACrC,GAAG,CAAC,CAAC;EAEzG,OAAOkD,QAAe;AACxB,CAAC;AAAA7D,OAAA,CAAAsD,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setCurrentVersion = exports.getCurrentVersion = void 0;
7
- let moduleVersion = "3.17.11";
7
+ let moduleVersion = "3.17.12";
8
8
  const getCurrentVersion = () => moduleVersion;
9
9
  exports.getCurrentVersion = getCurrentVersion;
10
10
  const setCurrentVersion = version => {
@@ -9,6 +9,7 @@ import * as Layer from "./Layer.js";
9
9
  import * as RcMap from "./RcMap.js";
10
10
  import * as Runtime from "./Runtime.js";
11
11
  import * as Scope from "./Scope.js";
12
+ import type { NoExcessProperties } from "./Types.js";
12
13
  /**
13
14
  * @since 3.14.0
14
15
  * @category Symbols
@@ -99,30 +100,32 @@ export interface LayerMap<in K, in out I, out E = never> {
99
100
  * )
100
101
  * ```
101
102
  */
102
- export declare const make: <K, L extends Layer.Layer<any, any, any>>(lookup: (key: K) => L, options?: {
103
+ export declare const make: <K, L extends Layer.Layer<any, any, any>, PreloadKeys extends Iterable<K> | undefined = undefined>(lookup: (key: K) => L, options?: {
103
104
  readonly idleTimeToLive?: Duration.DurationInput | undefined;
104
- } | undefined) => Effect.Effect<LayerMap<K, L extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never, L extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never>, never, Scope.Scope | (L extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)>;
105
+ readonly preloadKeys?: PreloadKeys;
106
+ } | undefined) => Effect.Effect<LayerMap<K, L extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never, L extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never>, PreloadKeys extends undefined ? never : L extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never, Scope.Scope | (L extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)>;
105
107
  /**
106
108
  * @since 3.14.0
107
109
  * @category Constructors
108
110
  * @experimental
109
111
  */
110
- export declare const fromRecord: <const Layers extends Record<string, Layer.Layer<any, any, any>>>(layers: Layers, options?: {
112
+ export declare const fromRecord: <const Layers extends Record<string, Layer.Layer<any, any, any>>, const Preload extends boolean = false>(layers: Layers, options?: {
111
113
  readonly idleTimeToLive?: Duration.DurationInput | undefined;
112
- } | undefined) => Effect.Effect<LayerMap<keyof Layers, Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never, Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E_1, infer _R_1> ? _E_1 : never>, never, Scope.Scope | (Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E_2, infer _R_2> ? _R_2 : never)>;
114
+ readonly preload?: Preload | undefined;
115
+ } | undefined) => Effect.Effect<LayerMap<keyof Layers, Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never, Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E_1, infer _R_1> ? _E_1 : never>, Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E_2, infer _R_2> ? _E_2 : never, Scope.Scope | (Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E_3, infer _R_3> ? _R_3 : never)>;
113
116
  /**
114
117
  * @since 3.14.0
115
118
  * @category Service
116
119
  */
117
- export interface TagClass<in out Self, in out Id extends string, in out K, in out I, in out E, in out R, in out Deps extends Layer.Layer<any, any, any>> extends Context.TagClass<Self, Id, LayerMap<K, I, E>> {
120
+ export interface TagClass<in out Self, in out Id extends string, in out K, in out I, in out E, in out R, in out LE, in out Deps extends Layer.Layer<any, any, any>> extends Context.TagClass<Self, Id, LayerMap<K, I, E>> {
118
121
  /**
119
122
  * A default layer for the `LayerMap` service.
120
123
  */
121
- readonly Default: Layer.Layer<Self, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never), Exclude<R, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never)> | (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)>;
124
+ readonly Default: Layer.Layer<Self, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never) | LE, Exclude<R, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never)> | (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)>;
122
125
  /**
123
126
  * A default layer for the `LayerMap` service without the dependencies provided.
124
127
  */
125
- readonly DefaultWithoutDependencies: Layer.Layer<Self, never, R>;
128
+ readonly DefaultWithoutDependencies: Layer.Layer<Self, LE, R>;
126
129
  /**
127
130
  * Retrieves a Layer for the resources associated with the key.
128
131
  */
@@ -189,18 +192,31 @@ export interface TagClass<in out Self, in out Id extends string, in out K, in ou
189
192
  * )
190
193
  * ```
191
194
  */
192
- export declare const Service: <Self>() => <const Id extends string, Lookup extends {
195
+ export declare const Service: <Self>() => <const Id extends string, Options extends NoExcessProperties<{
193
196
  readonly lookup: (key: any) => Layer.Layer<any, any, any>;
194
- } | {
197
+ readonly dependencies?: ReadonlyArray<Layer.Layer<any, any, any>>;
198
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
199
+ readonly preloadKeys?: Iterable<Options extends {
200
+ readonly lookup: (key: infer K) => any;
201
+ } ? K : never> | undefined;
202
+ }, Options> | NoExcessProperties<{
195
203
  readonly layers: Record<string, Layer.Layer<any, any, any>>;
196
- }, const Deps extends ReadonlyArray<Layer.Layer<any, any, any>> = []>(id: Id, options: Lookup & {
197
- readonly dependencies?: Deps | undefined;
204
+ readonly dependencies?: ReadonlyArray<Layer.Layer<any, any, any>>;
198
205
  readonly idleTimeToLive?: Duration.DurationInput | undefined;
199
- }) => TagClass<Self, Id, Lookup extends {
206
+ readonly preload?: boolean;
207
+ }, Options>>(id: Id, options: Options) => TagClass<Self, Id, Options extends {
200
208
  readonly lookup: (key: infer K) => any;
201
- } ? K : Lookup extends {
209
+ } ? K : Options extends {
202
210
  readonly layers: infer Layers;
203
- } ? keyof Layers : never, Service.Success<Lookup>, Service.Error<Lookup>, Service.Context<Lookup>, Deps[number]>;
211
+ } ? keyof Layers : never, Service.Success<Options>, Options extends {
212
+ readonly preload: true;
213
+ } ? never : Service.Error<Options>, Service.Context<Options>, Options extends {
214
+ readonly preload: true;
215
+ } ? Service.Error<Options> : Options extends {
216
+ readonly preloadKey: Iterable<any>;
217
+ } ? Service.Error<Options> : never, Options extends {
218
+ readonly dependencies: ReadonlyArray<any>;
219
+ } ? Options["dependencies"][number] : never>;
204
220
  /**
205
221
  * @since 3.14.0
206
222
  * @category Service
@@ -1 +1 @@
1
- {"version":3,"file":"LayerMap.d.ts","sourceRoot":"","sources":["../../src/LayerMap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAIrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAGnC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAsC,CAAA;AAElE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK;IACrD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;KAC1E,EAAE,CAAC,CAAC,CAAA;IAEL;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAElE;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,CAAC,EACD,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEpC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EACrB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC7D,GAAG,SAAS,KACV,MAAM,CAAC,MAAM,CAChB,QAAQ,CACN,CAAC,EACD,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,EAChE,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CACjE,EACD,KAAK,EACL,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAuDhF,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAE/D,QAAQ,MAAM,EACd,UAAU;IACR,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC7D,GAAG,SAAS,KACZ,MAAM,CAAC,MAAM,CACd,QAAQ,CACN,MAAM,MAAM,EACZ,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,EACnF,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,IAAE,EAAE,MAAM,IAAE,CAAC,GAAG,IAAE,GAAG,KAAK,CACpF,EACD,KAAK,EACL,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,IAAE,EAAE,MAAM,IAAE,CAAC,GAAG,IAAE,GAAG,KAAK,CAAC,CAC/C,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,QAAQ,CACvB,EAAE,CAAC,GAAG,CAAC,IAAI,EACX,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EACxB,EAAE,CAAC,GAAG,CAAC,CAAC,EACR,EAAE,CAAC,GAAG,CAAC,CAAC,EACR,EAAE,CAAC,GAAG,CAAC,CAAC,EACR,EAAE,CAAC,GAAG,CAAC,CAAC,EACR,EAAE,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC9C,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAC3B,IAAI,EACJ,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EACnE,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACjF,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CACxE,CAAA;IAED;;OAEG;IACH,QAAQ,CAAC,0BAA0B,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEhE;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAEjD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IAEtF;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAClE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,QAE1B,KAAK,CAAC,EAAE,SAAS,MAAM,EACvB,MAAM,SAAS;IACb,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC1D,GAAG;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;CAC5D,EACD,KAAK,CAAC,IAAI,SAAS,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAEjE,IAAI,EAAE,EACN,SAAS,MAAM,GAAG;IAChB,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC7D,KACA,QAAQ,CACT,IAAI,EACJ,EAAE,EACF,MAAM,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAA;CAAE,GAAG,CAAC,GACzD,MAAM,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,GAAG,MAAM,MAAM,GAC/D,KAAK,EACT,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EACrB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,CAAC,MAAM,CAAC,CAiCb,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B;;;;OAIG;IACH,KAAY,GAAG,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAA;KAAE,GAAG,CAAC,GACrF,OAAO,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,GAAG,MAAM,MAAM,GAChE,KAAK,CAAA;IAET;;;;OAIG;IACH,KAAY,MAAM,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,MAAM,MAAM,CAAA;KAAE,GAAG,MAAM,GACvG,OAAO,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,GACxE,KAAK,CAAA;IAET;;;;OAIG;IACH,KAAY,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;IAE7G;;;;OAIG;IACH,KAAY,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;IAE3G;;;;OAIG;IACH,KAAY,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;CAC9G"}
1
+ {"version":3,"file":"LayerMap.d.ts","sourceRoot":"","sources":["../../src/LayerMap.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,11 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, options) {
98
98
  }))),
99
99
  idleTimeToLive: options?.idleTimeToLive
100
100
  });
101
+ if (options?.preloadKeys) {
102
+ for (const key of options.preloadKeys) {
103
+ yield* RcMap.get(rcMap, key);
104
+ }
105
+ }
101
106
  return identity({
102
107
  [TypeId]: TypeId,
103
108
  rcMap,
@@ -115,7 +120,10 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, options) {
115
120
  * @category Constructors
116
121
  * @experimental
117
122
  */
118
- export const fromRecord = (layers, options) => make(key => layers[key], options);
123
+ export const fromRecord = (layers, options) => make(key => layers[key], {
124
+ ...options,
125
+ preloadKeys: options?.preload ? Object.keys(layers) : undefined
126
+ });
119
127
  /**
120
128
  * @since 3.14.0
121
129
  * @category Service
@@ -1 +1 @@
1
- {"version":3,"file":"LayerMap.js","names":["Context","Effect","FiberRefsPatch","identity","core","Layer","RcMap","Runtime","Scope","TypeId","Symbol","for","make","fnUntraced","lookup","options","context","memoMap","unsafeMap","has","CurrentMemoMap","key","get","makeMemoMap","rcMap","scopeWith","scope","diffFiberRefs","buildWithMemoMap","pipe","map","patch","layer","scopedContext","withFiberRuntime","fiber","unsafeGet","currentContext","oldRefs","getFiberRefs","newRefs","id","revert","diff","setFiberRefs","as","addFinalizerExit","void","runtimeEffect","fiberRefs","succeed","runtimeFlags","defaultRuntime","idleTimeToLive","unwrapScoped","runtime","flatMap","invalidate","fromRecord","layers","Service","Err","globalThis","Error","limit","stackTraceLimit","creationError","TagClass","TagClass_","Object","setPrototypeOf","getPrototypeOf","GenericTag","defineProperty","stack","DefaultWithoutDependencies","scoped","Default","dependencies","length","provide","layerMap"],"sources":["../../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LayerMap.js","names":["Context","Effect","FiberRefsPatch","identity","core","Layer","RcMap","Runtime","Scope","TypeId","Symbol","for","make","fnUntraced","lookup","options","context","memoMap","unsafeMap","has","CurrentMemoMap","key","get","makeMemoMap","rcMap","scopeWith","scope","diffFiberRefs","buildWithMemoMap","pipe","map","patch","layer","scopedContext","withFiberRuntime","fiber","unsafeGet","currentContext","oldRefs","getFiberRefs","newRefs","id","revert","diff","setFiberRefs","as","addFinalizerExit","void","runtimeEffect","fiberRefs","succeed","runtimeFlags","defaultRuntime","idleTimeToLive","preloadKeys","unwrapScoped","runtime","flatMap","invalidate","fromRecord","layers","preload","Object","keys","undefined","Service","Err","globalThis","Error","limit","stackTraceLimit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","GenericTag","defineProperty","stack","DefaultWithoutDependencies","scoped","Default","dependencies","length","provide","layerMap"],"sources":["../../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.17.11";
1
+ let moduleVersion = "3.17.12";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.17.11",
3
+ "version": "3.17.12",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/LayerMap.ts CHANGED
@@ -12,7 +12,7 @@ import * as Layer from "./Layer.js"
12
12
  import * as RcMap from "./RcMap.js"
13
13
  import * as Runtime from "./Runtime.js"
14
14
  import * as Scope from "./Scope.js"
15
- import type { Mutable } from "./Types.js"
15
+ import type { Mutable, NoExcessProperties } from "./Types.js"
16
16
 
17
17
  /**
18
18
  * @since 3.14.0
@@ -113,11 +113,13 @@ export interface LayerMap<in K, in out I, out E = never> {
113
113
  */
114
114
  export const make: <
115
115
  K,
116
- L extends Layer.Layer<any, any, any>
116
+ L extends Layer.Layer<any, any, any>,
117
+ PreloadKeys extends Iterable<K> | undefined = undefined
117
118
  >(
118
119
  lookup: (key: K) => L,
119
120
  options?: {
120
121
  readonly idleTimeToLive?: Duration.DurationInput | undefined
122
+ readonly preloadKeys?: PreloadKeys
121
123
  } | undefined
122
124
  ) => Effect.Effect<
123
125
  LayerMap<
@@ -125,12 +127,13 @@ export const make: <
125
127
  L extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never,
126
128
  L extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never
127
129
  >,
128
- never,
130
+ PreloadKeys extends undefined ? never : L extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never,
129
131
  Scope.Scope | (L extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)
130
132
  > = Effect.fnUntraced(function*<I, K, EL, RL>(
131
133
  lookup: (key: K) => Layer.Layer<I, EL, RL>,
132
134
  options?: {
133
135
  readonly idleTimeToLive?: Duration.DurationInput | undefined
136
+ readonly preloadKeys?: Iterable<K> | undefined
134
137
  } | undefined
135
138
  ) {
136
139
  const context = yield* Effect.context<never>()
@@ -174,6 +177,12 @@ export const make: <
174
177
  idleTimeToLive: options?.idleTimeToLive
175
178
  })
176
179
 
180
+ if (options?.preloadKeys) {
181
+ for (const key of options.preloadKeys) {
182
+ yield* (RcMap.get(rcMap, key) as Effect.Effect<any, EL, RL | Scope.Scope>)
183
+ }
184
+ }
185
+
177
186
  return identity<LayerMap<K, Exclude<I, Scope.Scope>, any>>({
178
187
  [TypeId]: TypeId,
179
188
  rcMap,
@@ -189,21 +198,27 @@ export const make: <
189
198
  * @experimental
190
199
  */
191
200
  export const fromRecord = <
192
- const Layers extends Record<string, Layer.Layer<any, any, any>>
201
+ const Layers extends Record<string, Layer.Layer<any, any, any>>,
202
+ const Preload extends boolean = false
193
203
  >(
194
204
  layers: Layers,
195
205
  options?: {
196
206
  readonly idleTimeToLive?: Duration.DurationInput | undefined
207
+ readonly preload?: Preload | undefined
197
208
  } | undefined
198
209
  ): Effect.Effect<
199
210
  LayerMap<
200
211
  keyof Layers,
201
212
  Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never,
202
- Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never
213
+ Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never
203
214
  >,
204
- never,
215
+ Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never,
205
216
  Scope.Scope | (Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)
206
- > => make((key: keyof Layers) => layers[key], options)
217
+ > =>
218
+ make((key: keyof Layers) => layers[key], {
219
+ ...options,
220
+ preloadKeys: options?.preload ? Object.keys(layers) : undefined
221
+ }) as any
207
222
 
208
223
  /**
209
224
  * @since 3.14.0
@@ -216,6 +231,7 @@ export interface TagClass<
216
231
  in out I,
217
232
  in out E,
218
233
  in out R,
234
+ in out LE,
219
235
  in out Deps extends Layer.Layer<any, any, any>
220
236
  > extends Context.TagClass<Self, Id, LayerMap<K, I, E>> {
221
237
  /**
@@ -223,7 +239,7 @@ export interface TagClass<
223
239
  */
224
240
  readonly Default: Layer.Layer<
225
241
  Self,
226
- (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never),
242
+ (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never) | LE,
227
243
  | Exclude<R, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never)>
228
244
  | (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)
229
245
  >
@@ -231,7 +247,7 @@ export interface TagClass<
231
247
  /**
232
248
  * A default layer for the `LayerMap` service without the dependencies provided.
233
249
  */
234
- readonly DefaultWithoutDependencies: Layer.Layer<Self, never, R>
250
+ readonly DefaultWithoutDependencies: Layer.Layer<Self, LE, R>
235
251
 
236
252
  /**
237
253
  * Retrieves a Layer for the resources associated with the key.
@@ -305,28 +321,40 @@ export interface TagClass<
305
321
  export const Service = <Self>() =>
306
322
  <
307
323
  const Id extends string,
308
- Lookup extends {
309
- readonly lookup: (key: any) => Layer.Layer<any, any, any>
310
- } | {
311
- readonly layers: Record<string, Layer.Layer<any, any, any>>
312
- },
313
- const Deps extends ReadonlyArray<Layer.Layer<any, any, any>> = []
324
+ Options extends
325
+ | NoExcessProperties<
326
+ {
327
+ readonly lookup: (key: any) => Layer.Layer<any, any, any>
328
+ readonly dependencies?: ReadonlyArray<Layer.Layer<any, any, any>>
329
+ readonly idleTimeToLive?: Duration.DurationInput | undefined
330
+ readonly preloadKeys?:
331
+ | Iterable<Options extends { readonly lookup: (key: infer K) => any } ? K : never>
332
+ | undefined
333
+ },
334
+ Options
335
+ >
336
+ | NoExcessProperties<{
337
+ readonly layers: Record<string, Layer.Layer<any, any, any>>
338
+ readonly dependencies?: ReadonlyArray<Layer.Layer<any, any, any>>
339
+ readonly idleTimeToLive?: Duration.DurationInput | undefined
340
+ readonly preload?: boolean
341
+ }, Options>
314
342
  >(
315
343
  id: Id,
316
- options: Lookup & {
317
- readonly dependencies?: Deps | undefined
318
- readonly idleTimeToLive?: Duration.DurationInput | undefined
319
- }
344
+ options: Options
320
345
  ): TagClass<
321
346
  Self,
322
347
  Id,
323
- Lookup extends { readonly lookup: (key: infer K) => any } ? K
324
- : Lookup extends { readonly layers: infer Layers } ? keyof Layers
348
+ Options extends { readonly lookup: (key: infer K) => any } ? K
349
+ : Options extends { readonly layers: infer Layers } ? keyof Layers
350
+ : never,
351
+ Service.Success<Options>,
352
+ Options extends { readonly preload: true } ? never : Service.Error<Options>,
353
+ Service.Context<Options>,
354
+ Options extends { readonly preload: true } ? Service.Error<Options>
355
+ : Options extends { readonly preloadKey: Iterable<any> } ? Service.Error<Options>
325
356
  : never,
326
- Service.Success<Lookup>,
327
- Service.Error<Lookup>,
328
- Service.Context<Lookup>,
329
- Deps[number]
357
+ Options extends { readonly dependencies: ReadonlyArray<any> } ? Options["dependencies"][number] : never
330
358
  > => {
331
359
  const Err = globalThis.Error as any
332
360
  const limit = Err.stackTraceLimit
@@ -335,7 +363,7 @@ export const Service = <Self>() =>
335
363
  Err.stackTraceLimit = limit
336
364
 
337
365
  function TagClass() {}
338
- const TagClass_ = TagClass as any as Mutable<TagClass<Self, Id, string, any, any, any, any>>
366
+ const TagClass_ = TagClass as any as Mutable<TagClass<Self, Id, string, any, any, any, any, any>>
339
367
  Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.GenericTag<Self, any>(id)))
340
368
  TagClass.key = id
341
369
  Object.defineProperty(TagClass, "stack", {
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.17.11"
1
+ let moduleVersion = "3.17.12"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4