effect 4.0.0-beta.92 → 4.0.0-beta.94
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/Cause.d.ts +3 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js.map +1 -1
- package/dist/Config.d.ts +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js.map +1 -1
- package/dist/Effect.d.ts +130 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +43 -0
- package/dist/Effect.js.map +1 -1
- package/dist/FileSystem.d.ts +7 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Layer.d.ts +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +6 -3
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.js +1 -1
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +252 -0
- package/dist/LayerRef.d.ts.map +1 -0
- package/dist/LayerRef.js +171 -0
- package/dist/LayerRef.js.map +1 -0
- package/dist/Schema.d.ts +74 -30
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +3 -0
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaParser.d.ts +1 -1
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/effect.js +10 -6
- package/dist/internal/effect.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +2 -2
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +1 -1
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -2
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +2 -2
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +2 -2
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -0
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +5 -3
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -1
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +3 -2
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +39 -14
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +1 -1
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +1 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.js +2 -2
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +5 -4
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +5 -4
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +4 -4
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +8 -8
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +2 -2
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +29 -4
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +44 -2
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +2 -28
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +4 -46
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +2 -4
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +30 -15
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +4 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +4 -4
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/package.json +1 -1
- package/src/Cause.ts +3 -1
- package/src/Config.ts +1 -1
- package/src/Effect.ts +131 -0
- package/src/FileSystem.ts +13 -0
- package/src/Layer.ts +6 -6
- package/src/LayerMap.ts +1 -1
- package/src/LayerRef.ts +379 -0
- package/src/Schema.ts +83 -33
- package/src/SchemaParser.ts +2 -2
- package/src/internal/core.ts +1 -1
- package/src/internal/effect.ts +33 -6
- package/src/testing/TestSchema.ts +2 -2
- package/src/unstable/ai/Chat.ts +1 -1
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/cli/Argument.ts +14 -7
- package/src/unstable/cli/Flag.ts +6 -3
- package/src/unstable/cli/Param.ts +6 -3
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +1 -0
- package/src/unstable/cluster/Entity.ts +13 -14
- package/src/unstable/cluster/Sharding.ts +134 -131
- package/src/unstable/cluster/internal/entityManager.ts +11 -9
- package/src/unstable/cluster/internal/resourceMap.ts +59 -25
- package/src/unstable/encoding/Sse.ts +3 -3
- package/src/unstable/http/HttpBody.ts +2 -2
- package/src/unstable/http/HttpClient.ts +2 -2
- package/src/unstable/http/HttpClientRequest.ts +8 -7
- package/src/unstable/http/HttpClientResponse.ts +2 -3
- package/src/unstable/http/HttpIncomingMessage.ts +4 -5
- package/src/unstable/http/HttpRouter.ts +8 -10
- package/src/unstable/http/HttpServerRequest.ts +20 -19
- package/src/unstable/http/HttpServerResponse.ts +2 -2
- package/src/unstable/http/Multipart.ts +3 -3
- package/src/unstable/http/Url.ts +62 -7
- package/src/unstable/http/UrlParams.ts +5 -58
- package/src/unstable/httpapi/HttpApi.ts +2 -4
- package/src/unstable/httpapi/HttpApiBuilder.ts +33 -21
- package/src/unstable/httpapi/HttpApiClient.ts +2 -2
- package/src/unstable/httpapi/HttpApiEndpoint.ts +7 -7
- package/src/unstable/httpapi/HttpApiSchema.ts +1 -1
- package/src/unstable/observability/OtlpTracer.ts +4 -3
- package/src/unstable/reactivity/Atom.ts +10 -7
package/dist/Layer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layer.js","names":["Context","Deferred","constant","constTrue","constUndefined","dual","identity","core","internalEffect","getStackTraceLimit","setStackTraceLimit","internalTracer","pipeArguments","hasProperty","CurrentStackFrame","Scope","Tracer","TypeId","MemoMapTypeId","memoMapReuse","entry","scope","observers","andThen","scopeAddFinalizerExit","exit","finalizer","effect","isLayer","u","LayerProto","_ROut","_E","_RIn","pipe","arguments","fromBuildUnsafe","build","self","Object","create","fromBuild","memoMap","layerScope","forkUnsafe","onExit","_tag","close","void","fromBuildMemo","getOrElseMemoize","memoMapBuild","layer","makeUnsafe","deferred","await","suspend","map","delete","set","flatMap","done","MemoMapImpl","parent","constructor","Map","get","local","existing","makeMemoMapUnsafe","forkMemoMapUnsafe","makeMemoMap","sync","forkMemoMap","CurrentMemoMap","Service","getOrCreate","getOrElse","buildWithMemoMap","provideService","add","withFiber","fiber","context","getUnsafe","buildWithScope","succeed","length","resource","succeedContext","make","empty","evaluate","syncContext","effectImpl","service","effectContext","value","_","provide","effectDiscard","as","unwrap","mergeAllEffect","layers","parentScope","forEach","concurrency","mergeAll","merge","that","Array","isArray","provideWith","f","provideContext","merged","provideMerge","tap","tapError","catch_","error","fail","tapCause","catchCause","cause","failCause","orDie","onError","e","catch","catchTag","k","updateService","fresh","launch","scoped","never","mock","implementation","mockImpl","Proxy","target","prop","_receiver","prevLimit","Error","key","toString","name","makeUnimplemented","has","dead","assign","die","StreamTypeId","channel","ChannelTypeId","transform","unimplemented","setPrototypeOf","getPrototypeOf","satisfiesSuccessType","satisfiesErrorType","satisfiesServicesType","span","options","addSpanStackTrace","ParentSpan","onEnd","makeSpanScoped","addFinalizer","parentSpan","withSpan","dataFirst","undefined","withParentSpan","provideStackFrame","provideSpanStackFrame","captureStackTrace","parentSpanLayer","stack"],"sources":["../src/Layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Layer.js","names":["Context","Deferred","constant","constTrue","constUndefined","dual","identity","core","internalEffect","getStackTraceLimit","setStackTraceLimit","internalTracer","pipeArguments","hasProperty","CurrentStackFrame","Scope","Tracer","TypeId","MemoMapTypeId","memoMapReuse","entry","scope","observers","andThen","scopeAddFinalizerExit","exit","finalizer","effect","isLayer","u","LayerProto","_ROut","_E","_RIn","pipe","arguments","fromBuildUnsafe","build","self","Object","create","fromBuild","memoMap","layerScope","forkUnsafe","onExit","_tag","close","void","fromBuildMemo","getOrElseMemoize","memoMapBuild","layer","makeUnsafe","deferred","await","suspend","map","delete","set","flatMap","done","MemoMapImpl","parent","constructor","Map","get","local","existing","makeMemoMapUnsafe","forkMemoMapUnsafe","makeMemoMap","sync","forkMemoMap","CurrentMemoMap","Service","forkOrCreate","current","getOrUndefined","buildWithMemoMap","provideService","add","withFiber","fiber","context","getUnsafe","buildWithScope","succeed","length","resource","succeedContext","make","empty","evaluate","syncContext","effectImpl","service","effectContext","value","_","provide","effectDiscard","as","unwrap","mergeAllEffect","layers","parentScope","forEach","concurrency","mergeAll","merge","that","Array","isArray","provideWith","f","provideContext","merged","provideMerge","tap","tapError","catch_","error","fail","tapCause","catchCause","cause","failCause","orDie","onError","e","catch","catchTag","k","updateService","fresh","launch","scoped","never","mock","implementation","mockImpl","Proxy","target","prop","_receiver","prevLimit","Error","key","toString","name","makeUnimplemented","has","dead","assign","die","StreamTypeId","channel","ChannelTypeId","transform","unimplemented","setPrototypeOf","getPrototypeOf","satisfiesSuccessType","satisfiesErrorType","satisfiesServicesType","span","options","addSpanStackTrace","ParentSpan","onEnd","makeSpanScoped","addFinalizer","parentSpan","withSpan","dataFirst","undefined","withParentSpan","provideStackFrame","provideSpanStackFrame","captureStackTrace","parentSpanLayer","stack"],"sources":["../src/Layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/LayerMap.js
CHANGED
|
@@ -61,7 +61,7 @@ const TypeId = "~effect/LayerMap";
|
|
|
61
61
|
*/
|
|
62
62
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, options) {
|
|
63
63
|
const context = yield* Effect.context();
|
|
64
|
-
const memoMap = Layer.CurrentMemoMap.
|
|
64
|
+
const memoMap = Layer.CurrentMemoMap.forkOrCreate(context);
|
|
65
65
|
const rcMap = yield* RcMap.make({
|
|
66
66
|
lookup: key => Effect.contextWith(_ => Layer.buildWithMemoMap(lookup(key), memoMap, Context.get(_, Scope.Scope))),
|
|
67
67
|
idleTimeToLive: options?.idleTimeToLive
|
package/dist/LayerMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayerMap.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcMap","Scope","TypeId","make","fnUntraced","lookup","options","context","memoMap","CurrentMemoMap","
|
|
1
|
+
{"version":3,"file":"LayerMap.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcMap","Scope","TypeId","make","fnUntraced","lookup","options","context","memoMap","CurrentMemoMap","forkOrCreate","rcMap","key","contextWith","_","buildWithMemoMap","get","idleTimeToLive","effectContext","contextEffect","invalidate","fromRecord","layers","preloadKeys","preload","Object","keys","undefined","Service","id","Err","globalThis","Error","limit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","defineProperty","stack","layerNoDeps","effect","layer","dependencies","length","provide","unwrap","map","layerMap","flatMap"],"sources":["../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates refreshable references to a single layer-built service context.
|
|
3
|
+
*
|
|
4
|
+
* A `LayerRef<I, E>` builds one `Layer` into a cached `Context<I>`, exposes it
|
|
5
|
+
* back as a layer or scoped effect, and supports invalidation so later users can
|
|
6
|
+
* acquire a fresh context.
|
|
7
|
+
*
|
|
8
|
+
* @since 4.0.0
|
|
9
|
+
*/
|
|
10
|
+
import * as Context from "./Context.ts";
|
|
11
|
+
import type * as Duration from "./Duration.ts";
|
|
12
|
+
import * as Effect from "./Effect.ts";
|
|
13
|
+
import * as Layer from "./Layer.ts";
|
|
14
|
+
import * as RcRef from "./RcRef.ts";
|
|
15
|
+
import type * as Schedule from "./Schedule.ts";
|
|
16
|
+
import * as Scope from "./Scope.ts";
|
|
17
|
+
declare const TypeId = "~effect/LayerRef";
|
|
18
|
+
/**
|
|
19
|
+
* A refreshable reference to a single layer-built service context.
|
|
20
|
+
*
|
|
21
|
+
* **When to use**
|
|
22
|
+
*
|
|
23
|
+
* Use when you want to share one scoped layer resource across many users while
|
|
24
|
+
* retaining the ability to invalidate it and rebuild it later.
|
|
25
|
+
*
|
|
26
|
+
* **Details**
|
|
27
|
+
*
|
|
28
|
+
* A `LayerRef` is the unkeyed counterpart to a layer cache: it lazily builds the
|
|
29
|
+
* layer on first use, reuses the resulting context while it is borrowed or kept
|
|
30
|
+
* idle, and can invalidate the cached context so the next use rebuilds it.
|
|
31
|
+
*
|
|
32
|
+
* @see {@link make} for constructing a `LayerRef` from a layer
|
|
33
|
+
* @see {@link Service} for defining a `LayerRef` as a service class
|
|
34
|
+
*
|
|
35
|
+
* @category models
|
|
36
|
+
* @since 4.0.0
|
|
37
|
+
*/
|
|
38
|
+
export interface LayerRef<in out I, in out E = never> {
|
|
39
|
+
readonly [TypeId]: typeof TypeId;
|
|
40
|
+
/**
|
|
41
|
+
* The underlying reference-counted cache that stores the built context.
|
|
42
|
+
*/
|
|
43
|
+
readonly rcRef: RcRef.RcRef<Context.Context<I>, E>;
|
|
44
|
+
/**
|
|
45
|
+
* Layer that provides the currently cached context, acquiring it if needed.
|
|
46
|
+
*/
|
|
47
|
+
readonly get: Layer.Layer<I, E>;
|
|
48
|
+
/**
|
|
49
|
+
* Scoped effect that retrieves the currently cached context, acquiring it if needed.
|
|
50
|
+
*/
|
|
51
|
+
readonly contextEffect: Effect.Effect<Context.Context<I>, E, Scope.Scope>;
|
|
52
|
+
/**
|
|
53
|
+
* Invalidates the cached context so the next use rebuilds the layer.
|
|
54
|
+
*/
|
|
55
|
+
readonly invalidate: Effect.Effect<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Invalidates the cached context so the next use rebuilds the layer, and
|
|
58
|
+
* reacquires it.
|
|
59
|
+
*/
|
|
60
|
+
readonly refresh: Effect.Effect<void, E>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a `LayerRef` from a `Layer`.
|
|
64
|
+
*
|
|
65
|
+
* **When to use**
|
|
66
|
+
*
|
|
67
|
+
* Use when you have one layer-built resource that should be shared, optionally
|
|
68
|
+
* kept alive while idle, and refreshed on demand.
|
|
69
|
+
*
|
|
70
|
+
* **Details**
|
|
71
|
+
*
|
|
72
|
+
* The layer is built lazily on first use unless `preload` is `true`.
|
|
73
|
+
* `idleTimeToLive` keeps the context cached after it stops being used, and
|
|
74
|
+
* `invalidationSchedule` can periodically invalidate it. When `preload` is
|
|
75
|
+
* `true`, scheduled invalidation also reacquires the context.
|
|
76
|
+
*
|
|
77
|
+
* **Gotchas**
|
|
78
|
+
*
|
|
79
|
+
* Invalidation does not revoke contexts already borrowed by active scopes; those
|
|
80
|
+
* contexts remain usable until their scopes close.
|
|
81
|
+
*
|
|
82
|
+
* **Example** (Sharing one layer-built service)
|
|
83
|
+
*
|
|
84
|
+
* ```ts
|
|
85
|
+
* import { Context, Effect, Layer } from "effect"
|
|
86
|
+
* import { make } from "effect/LayerRef"
|
|
87
|
+
*
|
|
88
|
+
* class Database extends Context.Service<Database, {
|
|
89
|
+
* readonly query: Effect.Effect<string>
|
|
90
|
+
* }>()("Database") {}
|
|
91
|
+
*
|
|
92
|
+
* const databaseLayer = Layer.succeed(Database, {
|
|
93
|
+
* query: Effect.succeed("result")
|
|
94
|
+
* })
|
|
95
|
+
*
|
|
96
|
+
* const query = Effect.gen(function*() {
|
|
97
|
+
* const database = yield* Database
|
|
98
|
+
* return yield* database.query
|
|
99
|
+
* })
|
|
100
|
+
*
|
|
101
|
+
* const program = Effect.scoped(
|
|
102
|
+
* Effect.gen(function*() {
|
|
103
|
+
* const ref = yield* make(databaseLayer, {
|
|
104
|
+
* idleTimeToLive: "5 seconds"
|
|
105
|
+
* })
|
|
106
|
+
*
|
|
107
|
+
* const result = yield* Effect.provide(query, ref.get)
|
|
108
|
+
*
|
|
109
|
+
* yield* ref.invalidate
|
|
110
|
+
*
|
|
111
|
+
* return result
|
|
112
|
+
* })
|
|
113
|
+
* )
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @see {@link Service} for defining a reusable service class around a `LayerRef`
|
|
117
|
+
*
|
|
118
|
+
* @category constructors
|
|
119
|
+
* @since 4.0.0
|
|
120
|
+
*/
|
|
121
|
+
export declare const make: <I, E, R, X, const Preload extends boolean = never, SE = never, SR = never>(layer: Layer.Layer<I, E, R>, options?: {
|
|
122
|
+
/**
|
|
123
|
+
* Duration to keep the resource alive after it is no longer used.
|
|
124
|
+
*/
|
|
125
|
+
readonly idleTimeToLive?: Duration.Input | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Whether to acquire the resource during creation.
|
|
128
|
+
*/
|
|
129
|
+
readonly preload?: Preload | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Schedule used to invalidate the cached resource. When `preload` is
|
|
132
|
+
* `true`, each scheduled invalidation also reacquires the resource.
|
|
133
|
+
*/
|
|
134
|
+
readonly invalidationSchedule?: Schedule.Schedule<X, unknown, SE, SR> | undefined;
|
|
135
|
+
} | undefined) => Effect.Effect<LayerRef<I, E>, [Preload] extends [true] ? E : never, Scope.Scope | R | SR>;
|
|
136
|
+
/**
|
|
137
|
+
* Service class shape produced by `LayerRef.Service`.
|
|
138
|
+
*
|
|
139
|
+
* **When to use**
|
|
140
|
+
*
|
|
141
|
+
* Use as the public type for classes returned by `LayerRef.Service` when an API
|
|
142
|
+
* needs to accept, return, or alias the generated service class and its static
|
|
143
|
+
* helpers.
|
|
144
|
+
*
|
|
145
|
+
* **Details**
|
|
146
|
+
*
|
|
147
|
+
* It combines a `Context.Service` tag for the `LayerRef` with default layers and
|
|
148
|
+
* helper accessors for retrieving, using, and invalidating the cached resource.
|
|
149
|
+
*
|
|
150
|
+
* @see {@link Service} for creating concrete `LayerRef` service classes
|
|
151
|
+
*
|
|
152
|
+
* @category services
|
|
153
|
+
* @since 4.0.0
|
|
154
|
+
*/
|
|
155
|
+
export interface TagClass<in out Self, in out Id extends string, in out I, in out E, in out R, in out LE, in out Deps extends Layer.Layer<any, any, any>> extends Context.ServiceClass<Self, Id, LayerRef<I, E>> {
|
|
156
|
+
/**
|
|
157
|
+
* Default layer for the `LayerRef` service, with dependencies applied.
|
|
158
|
+
*/
|
|
159
|
+
readonly layer: 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)>;
|
|
160
|
+
/**
|
|
161
|
+
* Default layer for the `LayerRef` service without provided dependencies.
|
|
162
|
+
*/
|
|
163
|
+
readonly layerNoDeps: Layer.Layer<Self, LE, R>;
|
|
164
|
+
/**
|
|
165
|
+
* Layer that provides the currently cached context, requiring this service.
|
|
166
|
+
*/
|
|
167
|
+
readonly get: Layer.Layer<I, E, Self>;
|
|
168
|
+
/**
|
|
169
|
+
* Scoped effect that retrieves the currently cached context through this service.
|
|
170
|
+
*/
|
|
171
|
+
readonly contextEffect: Effect.Effect<Context.Context<I>, E, Scope.Scope | Self>;
|
|
172
|
+
/**
|
|
173
|
+
* Invalidates the cached context through this service.
|
|
174
|
+
*/
|
|
175
|
+
readonly invalidate: Effect.Effect<void, never, Self>;
|
|
176
|
+
/**
|
|
177
|
+
* Invalidates the cached context through this service, and reacquires it.
|
|
178
|
+
*/
|
|
179
|
+
readonly refresh: Effect.Effect<void, E, Self>;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Creates a service class for a `LayerRef`.
|
|
183
|
+
*
|
|
184
|
+
* **When to use**
|
|
185
|
+
*
|
|
186
|
+
* Use when you want to name a shared layer reference as an application service
|
|
187
|
+
* and expose static helpers for providing, retrieving, and invalidating it.
|
|
188
|
+
*
|
|
189
|
+
* **Details**
|
|
190
|
+
*
|
|
191
|
+
* The returned class is a `Context.Service` whose value is a `LayerRef`. It also
|
|
192
|
+
* includes `.layer`, `.layerNoDeps`, `.get`, `.contextEffect`, and `.invalidate`
|
|
193
|
+
* helpers so callers do not need to access the `LayerRef` value directly.
|
|
194
|
+
*
|
|
195
|
+
* **Example** (Defining a refreshable service)
|
|
196
|
+
*
|
|
197
|
+
* ```ts
|
|
198
|
+
* import { Context, Effect, Layer } from "effect"
|
|
199
|
+
* import { Service } from "effect/LayerRef"
|
|
200
|
+
*
|
|
201
|
+
* class Database extends Context.Service<Database, {
|
|
202
|
+
* readonly query: Effect.Effect<string>
|
|
203
|
+
* }>()("Database") {}
|
|
204
|
+
*
|
|
205
|
+
* const databaseLayer = Layer.succeed(Database, {
|
|
206
|
+
* query: Effect.succeed("result")
|
|
207
|
+
* })
|
|
208
|
+
*
|
|
209
|
+
* class DatabaseRef extends Service<DatabaseRef>()("DatabaseRef", {
|
|
210
|
+
* layer: databaseLayer,
|
|
211
|
+
* preload: true
|
|
212
|
+
* }) {}
|
|
213
|
+
*
|
|
214
|
+
* const program = Effect.gen(function*() {
|
|
215
|
+
* const database = yield* Database
|
|
216
|
+
* return yield* database.query
|
|
217
|
+
* }).pipe(
|
|
218
|
+
* Effect.provide(DatabaseRef.get),
|
|
219
|
+
* Effect.provide(DatabaseRef.layer)
|
|
220
|
+
* )
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* @see {@link make} for creating a `LayerRef` value without defining a service class
|
|
224
|
+
*
|
|
225
|
+
* @category services
|
|
226
|
+
* @since 4.0.0
|
|
227
|
+
*/
|
|
228
|
+
export declare const Service: <Self>() => <const Id extends string, I, E, R, X, const Deps extends ReadonlyArray<Layer.Layer<any, any, any>> = [], const Preload extends boolean = never, SE = never, SR = never>(id: Id, options: {
|
|
229
|
+
/**
|
|
230
|
+
* Layer used to build the cached context.
|
|
231
|
+
*/
|
|
232
|
+
readonly layer: Layer.Layer<I, E, R>;
|
|
233
|
+
/**
|
|
234
|
+
* Layers used to satisfy dependencies of the `LayerRef` service layer.
|
|
235
|
+
*/
|
|
236
|
+
readonly dependencies?: Deps | undefined;
|
|
237
|
+
/**
|
|
238
|
+
* Duration to keep the resource alive after it is no longer used.
|
|
239
|
+
*/
|
|
240
|
+
readonly idleTimeToLive?: Duration.Input | undefined;
|
|
241
|
+
/**
|
|
242
|
+
* Whether to acquire the resource during creation.
|
|
243
|
+
*/
|
|
244
|
+
readonly preload?: Preload | undefined;
|
|
245
|
+
/**
|
|
246
|
+
* Schedule used to invalidate the cached resource. When `preload` is
|
|
247
|
+
* `true`, each scheduled invalidation also reacquires the resource.
|
|
248
|
+
*/
|
|
249
|
+
readonly invalidationSchedule?: Schedule.Schedule<X, unknown, SE, SR> | undefined;
|
|
250
|
+
}) => TagClass<Self, Id, I, E, R | SR, [Preload] extends [true] ? E : never, Deps[number]>;
|
|
251
|
+
export {};
|
|
252
|
+
//# sourceMappingURL=LayerRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayerRef.d.ts","sourceRoot":"","sources":["../src/LayerRef.ts"],"names":[],"mappings":"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"}
|
package/dist/LayerRef.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates refreshable references to a single layer-built service context.
|
|
3
|
+
*
|
|
4
|
+
* A `LayerRef<I, E>` builds one `Layer` into a cached `Context<I>`, exposes it
|
|
5
|
+
* back as a layer or scoped effect, and supports invalidation so later users can
|
|
6
|
+
* acquire a fresh context.
|
|
7
|
+
*
|
|
8
|
+
* @since 4.0.0
|
|
9
|
+
*/
|
|
10
|
+
import * as Context from "./Context.js";
|
|
11
|
+
import * as Effect from "./Effect.js";
|
|
12
|
+
import { identity } from "./Function.js";
|
|
13
|
+
import { getStackTraceLimit, setStackTraceLimit } from "./internal/stackTraceLimit.js";
|
|
14
|
+
import * as Layer from "./Layer.js";
|
|
15
|
+
import * as RcRef from "./RcRef.js";
|
|
16
|
+
import * as Scope from "./Scope.js";
|
|
17
|
+
const TypeId = "~effect/LayerRef";
|
|
18
|
+
/**
|
|
19
|
+
* Creates a `LayerRef` from a `Layer`.
|
|
20
|
+
*
|
|
21
|
+
* **When to use**
|
|
22
|
+
*
|
|
23
|
+
* Use when you have one layer-built resource that should be shared, optionally
|
|
24
|
+
* kept alive while idle, and refreshed on demand.
|
|
25
|
+
*
|
|
26
|
+
* **Details**
|
|
27
|
+
*
|
|
28
|
+
* The layer is built lazily on first use unless `preload` is `true`.
|
|
29
|
+
* `idleTimeToLive` keeps the context cached after it stops being used, and
|
|
30
|
+
* `invalidationSchedule` can periodically invalidate it. When `preload` is
|
|
31
|
+
* `true`, scheduled invalidation also reacquires the context.
|
|
32
|
+
*
|
|
33
|
+
* **Gotchas**
|
|
34
|
+
*
|
|
35
|
+
* Invalidation does not revoke contexts already borrowed by active scopes; those
|
|
36
|
+
* contexts remain usable until their scopes close.
|
|
37
|
+
*
|
|
38
|
+
* **Example** (Sharing one layer-built service)
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { Context, Effect, Layer } from "effect"
|
|
42
|
+
* import { make } from "effect/LayerRef"
|
|
43
|
+
*
|
|
44
|
+
* class Database extends Context.Service<Database, {
|
|
45
|
+
* readonly query: Effect.Effect<string>
|
|
46
|
+
* }>()("Database") {}
|
|
47
|
+
*
|
|
48
|
+
* const databaseLayer = Layer.succeed(Database, {
|
|
49
|
+
* query: Effect.succeed("result")
|
|
50
|
+
* })
|
|
51
|
+
*
|
|
52
|
+
* const query = Effect.gen(function*() {
|
|
53
|
+
* const database = yield* Database
|
|
54
|
+
* return yield* database.query
|
|
55
|
+
* })
|
|
56
|
+
*
|
|
57
|
+
* const program = Effect.scoped(
|
|
58
|
+
* Effect.gen(function*() {
|
|
59
|
+
* const ref = yield* make(databaseLayer, {
|
|
60
|
+
* idleTimeToLive: "5 seconds"
|
|
61
|
+
* })
|
|
62
|
+
*
|
|
63
|
+
* const result = yield* Effect.provide(query, ref.get)
|
|
64
|
+
*
|
|
65
|
+
* yield* ref.invalidate
|
|
66
|
+
*
|
|
67
|
+
* return result
|
|
68
|
+
* })
|
|
69
|
+
* )
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @see {@link Service} for defining a reusable service class around a `LayerRef`
|
|
73
|
+
*
|
|
74
|
+
* @category constructors
|
|
75
|
+
* @since 4.0.0
|
|
76
|
+
*/
|
|
77
|
+
export const make = /*#__PURE__*/Effect.fnUntraced(function* (layer, options) {
|
|
78
|
+
const context = yield* Effect.context();
|
|
79
|
+
const memoMap = Layer.CurrentMemoMap.forkOrCreate(context);
|
|
80
|
+
const rcRef = yield* RcRef.make({
|
|
81
|
+
acquire: Effect.contextWith(_ => Layer.buildWithMemoMap(layer, memoMap, Context.get(_, Scope.Scope))),
|
|
82
|
+
idleTimeToLive: options?.idleTimeToLive
|
|
83
|
+
});
|
|
84
|
+
const refresh = RcRef.invalidate(rcRef).pipe(Effect.andThen(Effect.scoped(RcRef.get(rcRef))), Effect.asVoid);
|
|
85
|
+
if (options?.preload) {
|
|
86
|
+
yield* refresh;
|
|
87
|
+
}
|
|
88
|
+
if (options?.invalidationSchedule) {
|
|
89
|
+
const onRefresh = options.preload ? refresh : RcRef.invalidate(rcRef);
|
|
90
|
+
yield* onRefresh.pipe(Effect.ignoreCause, Effect.schedule(options.invalidationSchedule), Effect.forkScoped);
|
|
91
|
+
}
|
|
92
|
+
return identity({
|
|
93
|
+
[TypeId]: TypeId,
|
|
94
|
+
rcRef,
|
|
95
|
+
get: Layer.effectContext(RcRef.get(rcRef)),
|
|
96
|
+
contextEffect: RcRef.get(rcRef),
|
|
97
|
+
invalidate: RcRef.invalidate(rcRef),
|
|
98
|
+
refresh
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* Creates a service class for a `LayerRef`.
|
|
103
|
+
*
|
|
104
|
+
* **When to use**
|
|
105
|
+
*
|
|
106
|
+
* Use when you want to name a shared layer reference as an application service
|
|
107
|
+
* and expose static helpers for providing, retrieving, and invalidating it.
|
|
108
|
+
*
|
|
109
|
+
* **Details**
|
|
110
|
+
*
|
|
111
|
+
* The returned class is a `Context.Service` whose value is a `LayerRef`. It also
|
|
112
|
+
* includes `.layer`, `.layerNoDeps`, `.get`, `.contextEffect`, and `.invalidate`
|
|
113
|
+
* helpers so callers do not need to access the `LayerRef` value directly.
|
|
114
|
+
*
|
|
115
|
+
* **Example** (Defining a refreshable service)
|
|
116
|
+
*
|
|
117
|
+
* ```ts
|
|
118
|
+
* import { Context, Effect, Layer } from "effect"
|
|
119
|
+
* import { Service } from "effect/LayerRef"
|
|
120
|
+
*
|
|
121
|
+
* class Database extends Context.Service<Database, {
|
|
122
|
+
* readonly query: Effect.Effect<string>
|
|
123
|
+
* }>()("Database") {}
|
|
124
|
+
*
|
|
125
|
+
* const databaseLayer = Layer.succeed(Database, {
|
|
126
|
+
* query: Effect.succeed("result")
|
|
127
|
+
* })
|
|
128
|
+
*
|
|
129
|
+
* class DatabaseRef extends Service<DatabaseRef>()("DatabaseRef", {
|
|
130
|
+
* layer: databaseLayer,
|
|
131
|
+
* preload: true
|
|
132
|
+
* }) {}
|
|
133
|
+
*
|
|
134
|
+
* const program = Effect.gen(function*() {
|
|
135
|
+
* const database = yield* Database
|
|
136
|
+
* return yield* database.query
|
|
137
|
+
* }).pipe(
|
|
138
|
+
* Effect.provide(DatabaseRef.get),
|
|
139
|
+
* Effect.provide(DatabaseRef.layer)
|
|
140
|
+
* )
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @see {@link make} for creating a `LayerRef` value without defining a service class
|
|
144
|
+
*
|
|
145
|
+
* @category services
|
|
146
|
+
* @since 4.0.0
|
|
147
|
+
*/
|
|
148
|
+
export const Service = () => (id, options) => {
|
|
149
|
+
const Err = globalThis.Error;
|
|
150
|
+
const limit = getStackTraceLimit();
|
|
151
|
+
setStackTraceLimit(2);
|
|
152
|
+
const creationError = new Err();
|
|
153
|
+
setStackTraceLimit(limit);
|
|
154
|
+
function TagClass() {}
|
|
155
|
+
const TagClass_ = TagClass;
|
|
156
|
+
Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.Service(id)));
|
|
157
|
+
TagClass.key = id;
|
|
158
|
+
Object.defineProperty(TagClass, "stack", {
|
|
159
|
+
get() {
|
|
160
|
+
return creationError.stack;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
TagClass_.layerNoDeps = Layer.effect(TagClass_)(make(options.layer, options));
|
|
164
|
+
TagClass_.layer = options.dependencies && options.dependencies.length > 0 ? Layer.provide(TagClass_.layerNoDeps, options.dependencies) : TagClass_.layerNoDeps;
|
|
165
|
+
TagClass_.get = Layer.unwrap(TagClass_.useSync(ref => ref.get));
|
|
166
|
+
TagClass_.contextEffect = TagClass_.use(ref => ref.contextEffect);
|
|
167
|
+
TagClass_.invalidate = TagClass_.use(ref => ref.invalidate);
|
|
168
|
+
TagClass_.refresh = TagClass_.use(ref => ref.refresh);
|
|
169
|
+
return TagClass;
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=LayerRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayerRef.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcRef","Scope","TypeId","make","fnUntraced","layer","options","context","memoMap","CurrentMemoMap","forkOrCreate","rcRef","acquire","contextWith","_","buildWithMemoMap","get","idleTimeToLive","refresh","invalidate","pipe","andThen","scoped","asVoid","preload","invalidationSchedule","onRefresh","ignoreCause","schedule","forkScoped","effectContext","contextEffect","Service","id","Err","globalThis","Error","limit","creationError","TagClass","TagClass_","Object","setPrototypeOf","getPrototypeOf","key","defineProperty","stack","layerNoDeps","effect","dependencies","length","provide","unwrap","useSync","ref","use"],"sources":["../src/LayerRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|