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.
- package/dist/cjs/LayerMap.js +9 -1
- package/dist/cjs/LayerMap.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/LayerMap.d.ts +30 -14
- package/dist/dts/LayerMap.d.ts.map +1 -1
- package/dist/esm/LayerMap.js +9 -1
- package/dist/esm/LayerMap.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/LayerMap.ts +54 -26
- package/src/internal/version.ts +1 -1
package/dist/cjs/LayerMap.js
CHANGED
|
@@ -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],
|
|
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
|
package/dist/cjs/LayerMap.js.map
CHANGED
|
@@ -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":";;;;;;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,
|
|
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.
|
|
7
|
+
let moduleVersion = "3.17.12";
|
|
8
8
|
const getCurrentVersion = () => moduleVersion;
|
|
9
9
|
exports.getCurrentVersion = getCurrentVersion;
|
|
10
10
|
const setCurrentVersion = version => {
|
package/dist/dts/LayerMap.d.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
-
|
|
197
|
-
readonly dependencies?: Deps | undefined;
|
|
204
|
+
readonly dependencies?: ReadonlyArray<Layer.Layer<any, any, any>>;
|
|
198
205
|
readonly idleTimeToLive?: Duration.DurationInput | undefined;
|
|
199
|
-
|
|
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 :
|
|
209
|
+
} ? K : Options extends {
|
|
202
210
|
readonly layers: infer Layers;
|
|
203
|
-
} ? keyof Layers : never, Service.Success<
|
|
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;
|
|
1
|
+
{"version":3,"file":"LayerMap.d.ts","sourceRoot":"","sources":["../../src/LayerMap.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/LayerMap.js
CHANGED
|
@@ -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],
|
|
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
|
package/dist/esm/LayerMap.js.map
CHANGED
|
@@ -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_","
|
|
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":[]}
|
package/package.json
CHANGED
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
|
-
> =>
|
|
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,
|
|
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
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
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:
|
|
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
|
-
|
|
324
|
-
:
|
|
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
|
-
|
|
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", {
|
package/src/internal/version.ts
CHANGED