@effect/platform 0.75.4 → 0.76.1
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/HttpApiBuilder.js +44 -4
- package/dist/cjs/HttpApiBuilder.js.map +1 -1
- package/dist/cjs/WorkerRunner.js +19 -3
- package/dist/cjs/WorkerRunner.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +22 -14
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
- package/dist/dts/WorkerRunner.d.ts +34 -7
- package/dist/dts/WorkerRunner.d.ts.map +1 -1
- package/dist/esm/HttpApiBuilder.js +41 -3
- package/dist/esm/HttpApiBuilder.js.map +1 -1
- package/dist/esm/WorkerRunner.js +18 -2
- package/dist/esm/WorkerRunner.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +20 -11
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +2 -2
- package/src/HttpApiBuilder.ts +47 -3
- package/src/WorkerRunner.ts +43 -13
- package/src/internal/workerRunner.ts +104 -104
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiBuilder.js","names":["Cause","Chunk","Context","Effect","Encoding","Fiber","identity","globalValue","Layer","ManagedRuntime","Option","ParseResult","pipeArguments","Redacted","Schema","unify","HttpApi","HttpApiDecodeError","HttpApiMiddleware","HttpApiSchema","HttpApp","HttpMethod","HttpMiddleware","HttpRouter","HttpServer","HttpServerRequest","HttpServerResponse","OpenApi","UrlParams","Router","Tag","api","effect","Api","map","context","serve","middleware","httpApp","pipe","app","unwrapEffect","provide","Live","Middleware","layer","gen","makeMiddlewareMap","middlewares","router","applyMiddleware","apiMiddlewareService","apiMiddleware","retrieve","errorSchema","makeErrorSchema","encodeError","encodeUnknown","catchAllCause","cause","matchEffect","squash","onFailure","failCause","onSuccess","succeed","toWebHandler","options","runtime","make","mergeAll","memoMap","handlerCached","handlerPromise","rt","runtimeEffect","handler","toWebHandlerRuntime","runPromise","request","undefined","then","dispose","HandlersTypeId","Symbol","for","HandlersProto","_Endpoints","arguments","handle","name","endpoint","group","endpoints","makeHandlers","handlers","append","withFullResponse","handleRaw","self","Object","create","groupName","build","use","groups","result","empty","isEffect","groupMiddleware","routes","item","push","handlerToRoute","mapInputContext","input","merge","concat","fromIterable","_api","_groupName","_name","f","requestPayload","urlParams","hasBody","method","contentType","headers","toLowerCase","trim","includes","orDie","json","multipart","urlParamsBody","toRecord","startsWith","text","arrayBuffer","buffer","Uint8Array","initial","Map","forEach","tag","set","key","unsafeGet","endpoint_","isFullResponse","decodePath","pathSchema","decodeUnknown","decodePayload","payloadSchema","decodeHeaders","headersSchema","decodeUrlParams","urlParamsSchema","encodeSuccess","encode","makeSuccessSchema","successSchema","makeRoute","path","fiber","getOrThrow","getCurrentFiber","currentContext","httpRequest","routeContext","RouteContext","ParsedSearchParams","_tag","value","params","payload","flatMap","response","catchIf","isParseError","refailParseError","entry","values","SecurityTypeId","makeSecurityMiddleware","optional","previous","provides","provideService","_","provideServiceEffect","zipRight","securityMiddlewareCache","WeakMap","has","get","security","entries","decode","securityDecode","catchAll","void","responseSchema","declare","isServerResponse","schema","schemas","Set","deunionize","Union","Array","from","toResponseSuccess","toResponseError","decodeForbidden","__","ast","fail","Forbidden","toResponseSchema","getStatus","cache","schemaToResponse","data","isEmpty","isVoid","to","status","encoding","getEncoding","kind","mapError","error","Type","uint8Array","transform","transformOrFail","getStatusSuccessAST","getStatusErrorAST","sync","of","add","prev","middlewareAdd","service","middlewareAddNoContext","args","apiFirst","isHttpApi","withContext","scopedDiscard","middlewareCors","cors","middlewareOpenApi","spec","fromApi","bearerLen","length","basicLen","authorization","slice","Struct","String","in","schemaSearchParams","schemaCookies","schemaHeaders","match","username","password","decodeBase64String","header","parts","split","securitySetCookie","stringValue","appendPreResponseHandler","_req","setCookie","secure","httpOnly"],"sources":["../../src/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpApiBuilder.js","names":["Cause","Chunk","Context","Effect","Encoding","Fiber","identity","globalValue","Layer","ManagedRuntime","Option","ParseResult","pipeArguments","Redacted","Schema","unify","HttpApi","HttpApiDecodeError","HttpApiMiddleware","HttpApiSchema","HttpApp","HttpMethod","HttpMiddleware","HttpRouter","HttpServer","HttpServerRequest","HttpServerResponse","OpenApi","UrlParams","Router","Tag","api","effect","Api","map","context","serve","middleware","httpApp","pipe","app","unwrapEffect","provide","Live","Middleware","layer","gen","makeMiddlewareMap","middlewares","router","applyMiddleware","apiMiddlewareService","apiMiddleware","retrieve","errorSchema","makeErrorSchema","encodeError","encodeUnknown","catchAllCause","cause","matchEffect","squash","onFailure","failCause","onSuccess","succeed","toWebHandler","options","runtime","make","mergeAll","memoMap","handlerCached","handlerPromise","rt","runtimeEffect","handler","toWebHandlerRuntime","runPromise","request","undefined","then","dispose","HandlersTypeId","Symbol","for","HandlersProto","_Endpoints","arguments","handle","name","endpoint","group","endpoints","makeHandlers","handlers","append","withFullResponse","handleRaw","self","Object","create","groupName","build","use","groups","result","empty","isEffect","groupMiddleware","routes","item","push","handlerToRoute","mapInputContext","input","merge","concat","fromIterable","_api","_groupName","_name","f","requestPayload","urlParams","hasBody","method","contentType","headers","toLowerCase","trim","includes","orDie","json","multipart","urlParamsBody","toRecord","startsWith","text","arrayBuffer","buffer","Uint8Array","initial","Map","forEach","tag","set","key","unsafeGet","isSingleStringType","ast","_tag","ps","propertySignatures","find","type","indexSignatures","some","is","parameter","types","from","normalizeUrlParams","params","out","value","Array","isArray","endpoint_","isFullResponse","decodePath","pathSchema","decodeUnknown","decodePayload","payloadSchema","decodeHeaders","headersSchema","encodeSuccess","encode","makeSuccessSchema","successSchema","makeRoute","path","fiber","getOrThrow","getCurrentFiber","currentContext","httpRequest","routeContext","RouteContext","ParsedSearchParams","payload","flatMap","urlParamsSchema","schema","response","catchIf","isParseError","refailParseError","entry","values","SecurityTypeId","makeSecurityMiddleware","optional","previous","provides","provideService","_","provideServiceEffect","zipRight","securityMiddlewareCache","WeakMap","has","get","security","entries","decode","securityDecode","catchAll","void","responseSchema","declare","isServerResponse","schemas","Set","deunionize","Union","toResponseSuccess","toResponseError","decodeForbidden","__","fail","Forbidden","toResponseSchema","getStatus","cache","schemaToResponse","data","isEmpty","isVoid","to","status","encoding","getEncoding","kind","mapError","error","Type","uint8Array","transform","transformOrFail","getStatusSuccessAST","getStatusErrorAST","sync","of","add","prev","middlewareAdd","service","middlewareAddNoContext","args","apiFirst","isHttpApi","withContext","scopedDiscard","middlewareCors","cors","middlewareOpenApi","spec","fromApi","bearerLen","length","basicLen","authorization","slice","Struct","String","in","schemaSearchParams","schemaCookies","schemaHeaders","match","username","password","decodeBase64String","header","parts","split","securitySetCookie","stringValue","appendPreResponseHandler","_req","setCookie","secure","httpOnly"],"sources":["../../src/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/WorkerRunner.js
CHANGED
|
@@ -10,10 +10,18 @@ export const PlatformRunnerTypeId = internal.PlatformRunnerTypeId;
|
|
|
10
10
|
*/
|
|
11
11
|
export const PlatformRunner = internal.PlatformRunner;
|
|
12
12
|
/**
|
|
13
|
+
* The worker close latch is used by platform runners to signal that the worker
|
|
14
|
+
* has been closed.
|
|
15
|
+
*
|
|
13
16
|
* @since 1.0.0
|
|
14
|
-
* @category
|
|
17
|
+
* @category CloseLatch
|
|
18
|
+
*/
|
|
19
|
+
export const CloseLatch = internal.CloseLatch;
|
|
20
|
+
/**
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
* @category CloseLatch
|
|
15
23
|
*/
|
|
16
|
-
export const
|
|
24
|
+
export const layerCloseLatch = internal.layerCloseLatch;
|
|
17
25
|
/**
|
|
18
26
|
* @since 1.0.0
|
|
19
27
|
* @category constructors
|
|
@@ -34,4 +42,12 @@ export const makeSerialized = internal.makeSerialized;
|
|
|
34
42
|
* @category layers
|
|
35
43
|
*/
|
|
36
44
|
export const layerSerialized = internal.layerSerialized;
|
|
45
|
+
/**
|
|
46
|
+
* Launch the specified layer, interrupting the fiber when the CloseLatch is
|
|
47
|
+
* triggered.
|
|
48
|
+
*
|
|
49
|
+
* @since 1.0.0
|
|
50
|
+
* @category Execution
|
|
51
|
+
*/
|
|
52
|
+
export const launch = internal.launch;
|
|
37
53
|
//# sourceMappingURL=WorkerRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerRunner.js","names":["internal","PlatformRunnerTypeId","PlatformRunner","
|
|
1
|
+
{"version":3,"file":"WorkerRunner.js","names":["internal","PlatformRunnerTypeId","PlatformRunner","CloseLatch","layerCloseLatch","make","layer","makeSerialized","layerSerialized","launch"],"sources":["../../src/WorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;AA8BtD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AAalG;;;;;;;AAOA,OAAO,MAAMC,UAAU,GAAwEH,QAAQ,CAACG,UAAU;AAElH;;;;AAIA,OAAO,MAAMC,eAAe,GAA4BJ,QAAQ,CAACI,eAAe;AA0BhF;;;;AAIA,OAAO,MAAMC,IAAI,GAGyDL,QAAQ,CAACK,IAAI;AAEvF;;;;AAIA,OAAO,MAAMC,KAAK,GAGyCN,QAAQ,CAACM,KAAK;AAyEzE;;;;AAIA,OAAO,MAAMC,cAAc,GAYvBP,QAAQ,CAACO,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,eAAe,GAS1BR,QAAQ,CAACQ,eAAe;AAE1B;;;;;;;AAOA,OAAO,MAAMC,MAAM,GAAsFT,QAAQ,CAACS,MAAM","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as Cause from "effect/Cause";
|
|
2
2
|
import * as Chunk from "effect/Chunk";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
|
+
import * as Deferred from "effect/Deferred";
|
|
4
5
|
import * as Effect from "effect/Effect";
|
|
5
6
|
import * as Either from "effect/Either";
|
|
6
7
|
import * as Fiber from "effect/Fiber";
|
|
8
|
+
import * as FiberId from "effect/FiberId";
|
|
7
9
|
import { pipe } from "effect/Function";
|
|
8
10
|
import * as Layer from "effect/Layer";
|
|
9
|
-
import * as Schedule from "effect/Schedule";
|
|
10
11
|
import * as Schema from "effect/Schema";
|
|
11
12
|
import * as Stream from "effect/Stream";
|
|
12
13
|
import * as Transferable from "../Transferable.js";
|
|
@@ -16,11 +17,18 @@ export const PlatformRunnerTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Ru
|
|
|
16
17
|
/** @internal */
|
|
17
18
|
export const PlatformRunner = /*#__PURE__*/Context.GenericTag("@effect/platform/Runner/PlatformRunner");
|
|
18
19
|
/** @internal */
|
|
19
|
-
export const
|
|
20
|
+
export const CloseLatch = /*#__PURE__*/Context.Reference()("@effect/platform/WorkerRunner/CloseLatch", {
|
|
21
|
+
defaultValue: () => Deferred.unsafeMake(FiberId.none)
|
|
22
|
+
});
|
|
23
|
+
/** @internal */
|
|
24
|
+
export const layerCloseLatch = /*#__PURE__*/Layer.effect(CloseLatch, /*#__PURE__*/Deferred.make());
|
|
25
|
+
/** @internal */
|
|
26
|
+
export const make = /*#__PURE__*/Effect.fnUntraced(function* (process, options) {
|
|
20
27
|
const platform = yield* PlatformRunner;
|
|
21
|
-
const
|
|
28
|
+
const closeLatch = yield* CloseLatch;
|
|
29
|
+
const backing = yield* platform.start(closeLatch);
|
|
22
30
|
const fiberMap = new Map();
|
|
23
|
-
|
|
31
|
+
yield* backing.run((portId, [id, kind, data, span]) => {
|
|
24
32
|
if (kind === 1) {
|
|
25
33
|
const fiber = fiberMap.get(id);
|
|
26
34
|
if (!fiber) return Effect.void;
|
|
@@ -60,12 +68,7 @@ export const run = (process, options) => Effect.gen(function* () {
|
|
|
60
68
|
});
|
|
61
69
|
});
|
|
62
70
|
/** @internal */
|
|
63
|
-
export const
|
|
64
|
-
package: "@effect/platform-node",
|
|
65
|
-
module: "WorkerRunner"
|
|
66
|
-
}), Effect.ensuring(Fiber.interruptAsFork(fiber, fiber.id())), Effect.interruptible, Effect.forkScoped, Effect.asVoid));
|
|
67
|
-
/** @internal */
|
|
68
|
-
export const layer = (process, options) => Layer.scopedDiscard(make(process, options));
|
|
71
|
+
export const layer = (process, options) => Layer.scopedDiscard(make(process, options)).pipe(Layer.provide(layerCloseLatch));
|
|
69
72
|
/** @internal */
|
|
70
73
|
export const makeSerialized = (schema, handlers) => Effect.gen(function* () {
|
|
71
74
|
const scope = yield* Effect.scope;
|
|
@@ -103,5 +106,11 @@ export const makeSerialized = (schema, handlers) => Effect.gen(function* () {
|
|
|
103
106
|
});
|
|
104
107
|
});
|
|
105
108
|
/** @internal */
|
|
106
|
-
export const layerSerialized = (schema, handlers) => Layer.scopedDiscard(makeSerialized(schema, handlers));
|
|
109
|
+
export const layerSerialized = (schema, handlers) => Layer.scopedDiscard(makeSerialized(schema, handlers)).pipe(Layer.provide(layerCloseLatch));
|
|
110
|
+
/** @internal */
|
|
111
|
+
export const launch = layer => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
|
|
112
|
+
const context = yield* Layer.buildWithScope(Layer.merge(layer, layerCloseLatch), scope);
|
|
113
|
+
const closeLatch = Context.get(context, CloseLatch);
|
|
114
|
+
return yield* Effect.never.pipe(Effect.raceFirst(Deferred.await(closeLatch)));
|
|
115
|
+
}));
|
|
107
116
|
//# sourceMappingURL=workerRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["Cause","Chunk","Context","Effect","Either","Fiber","
|
|
1
|
+
{"version":3,"file":"workerRunner.js","names":["Cause","Chunk","Context","Deferred","Effect","Either","Fiber","FiberId","pipe","Layer","Schema","Stream","Transferable","isWorkerError","WorkerError","PlatformRunnerTypeId","Symbol","for","PlatformRunner","GenericTag","CloseLatch","Reference","defaultValue","unsafeMake","none","layerCloseLatch","effect","make","fnUntraced","process","options","platform","closeLatch","backing","start","fiberMap","Map","run","portId","id","kind","data","span","fiber","get","void","interrupt","withFiberRuntime","set","decode","succeed","flatMap","input","collector","unsafeMakeCollector","stream","isEffect","out","encodeOutput","provideService","Collector","payload","send","unsafeRead","runForEachChunk","chunk","undefined","toReadonlyArray","unsafeClear","forEach","andThen","withParentSpan","_tag","traceId","spanId","sampled","context","empty","uninterruptibleMask","restore","catchIf","error","encodeCause","fail","catchAllCause","cause","match","failureOrCause","onLeft","encodeError","onRight","ensuring","sync","delete","layer","scopedDiscard","provide","makeSerialized","schema","handlers","gen","scope","parseRequest","decodeUnknown","request","result","isLayer","buildWithScope","_","merge","provideContext","message","mapError","reason","serializeFailure","serializeSuccess","layerSerialized","launch","scopedWith","never","raceFirst","await"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.76.1",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"multipasta": "^0.2.5"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"effect": "^3.12.
|
|
17
|
+
"effect": "^3.12.12"
|
|
18
18
|
},
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"provenance": true
|
package/src/HttpApiBuilder.ts
CHANGED
|
@@ -564,6 +564,50 @@ const makeMiddlewareMap = (
|
|
|
564
564
|
return map
|
|
565
565
|
}
|
|
566
566
|
|
|
567
|
+
function isSingleStringType(ast: AST.AST, key?: PropertyKey): boolean {
|
|
568
|
+
switch (ast._tag) {
|
|
569
|
+
case "StringKeyword":
|
|
570
|
+
case "Literal":
|
|
571
|
+
case "TemplateLiteral":
|
|
572
|
+
return true
|
|
573
|
+
case "TypeLiteral": {
|
|
574
|
+
if (key !== undefined) {
|
|
575
|
+
const ps = ast.propertySignatures.find((ps) => ps.name === key)
|
|
576
|
+
return ps !== undefined
|
|
577
|
+
? isSingleStringType(ps.type, key)
|
|
578
|
+
: ast.indexSignatures.some((is) => Schema.is(Schema.make(is.parameter))(key) && isSingleStringType(is.type))
|
|
579
|
+
}
|
|
580
|
+
return false
|
|
581
|
+
}
|
|
582
|
+
case "Union":
|
|
583
|
+
return ast.types.some((type) => isSingleStringType(type, key))
|
|
584
|
+
case "Suspend":
|
|
585
|
+
return isSingleStringType(ast.f(), key)
|
|
586
|
+
case "Refinement":
|
|
587
|
+
case "Transformation":
|
|
588
|
+
return isSingleStringType(ast.from, key)
|
|
589
|
+
}
|
|
590
|
+
return false
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Normalizes the url parameters so that if a key is expected to be an array,
|
|
595
|
+
* a single string value is wrapped in an array.
|
|
596
|
+
*
|
|
597
|
+
* @internal
|
|
598
|
+
*/
|
|
599
|
+
export function normalizeUrlParams(
|
|
600
|
+
params: ReadonlyRecord<string, string | Array<string>>,
|
|
601
|
+
ast: AST.AST
|
|
602
|
+
): ReadonlyRecord<string, string | Array<string>> {
|
|
603
|
+
const out: Record<string, string | Array<string>> = {}
|
|
604
|
+
for (const key in params) {
|
|
605
|
+
const value = params[key]
|
|
606
|
+
out[key] = Array.isArray(value) || isSingleStringType(ast, key) ? value : [value]
|
|
607
|
+
}
|
|
608
|
+
return out
|
|
609
|
+
}
|
|
610
|
+
|
|
567
611
|
const handlerToRoute = (
|
|
568
612
|
endpoint_: HttpApiEndpoint.HttpApiEndpoint.Any,
|
|
569
613
|
middleware: MiddlewareMap,
|
|
@@ -574,7 +618,6 @@ const handlerToRoute = (
|
|
|
574
618
|
const decodePath = Option.map(endpoint.pathSchema, Schema.decodeUnknown)
|
|
575
619
|
const decodePayload = Option.map(endpoint.payloadSchema, Schema.decodeUnknown)
|
|
576
620
|
const decodeHeaders = Option.map(endpoint.headersSchema, Schema.decodeUnknown)
|
|
577
|
-
const decodeUrlParams = Option.map(endpoint.urlParamsSchema, Schema.decodeUnknown)
|
|
578
621
|
const encodeSuccess = Schema.encode(makeSuccessSchema(endpoint.successSchema))
|
|
579
622
|
return HttpRouter.makeRoute(
|
|
580
623
|
endpoint.method,
|
|
@@ -600,8 +643,9 @@ const handlerToRoute = (
|
|
|
600
643
|
if (decodeHeaders._tag === "Some") {
|
|
601
644
|
request.headers = yield* decodeHeaders.value(httpRequest.headers)
|
|
602
645
|
}
|
|
603
|
-
if (
|
|
604
|
-
|
|
646
|
+
if (endpoint.urlParamsSchema._tag === "Some") {
|
|
647
|
+
const schema = endpoint.urlParamsSchema.value
|
|
648
|
+
request.urlParams = yield* Schema.decodeUnknown(schema)(normalizeUrlParams(urlParams, schema.ast))
|
|
605
649
|
}
|
|
606
650
|
const response = isFullResponse
|
|
607
651
|
? yield* handler(request)
|
package/src/WorkerRunner.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Context from "effect/Context"
|
|
5
|
+
import type * as Deferred from "effect/Deferred"
|
|
5
6
|
import type * as Effect from "effect/Effect"
|
|
6
7
|
import type * as Layer from "effect/Layer"
|
|
7
8
|
import type * as Schema from "effect/Schema"
|
|
@@ -17,7 +18,7 @@ import type { WorkerError } from "./WorkerError.js"
|
|
|
17
18
|
export interface BackingRunner<I, O> {
|
|
18
19
|
readonly run: <A, E, R>(
|
|
19
20
|
handler: (portId: number, message: I) => Effect.Effect<A, E, R>
|
|
20
|
-
) => Effect.Effect<never,
|
|
21
|
+
) => Effect.Effect<void, never, Scope.Scope | R>
|
|
21
22
|
readonly send: (
|
|
22
23
|
portId: number,
|
|
23
24
|
message: O,
|
|
@@ -55,7 +56,7 @@ export type PlatformRunnerTypeId = typeof PlatformRunnerTypeId
|
|
|
55
56
|
*/
|
|
56
57
|
export interface PlatformRunner {
|
|
57
58
|
readonly [PlatformRunnerTypeId]: PlatformRunnerTypeId
|
|
58
|
-
readonly start: <I, O>() => Effect.Effect<BackingRunner<I, O>, WorkerError>
|
|
59
|
+
readonly start: <I, O>(closeLatch: typeof CloseLatch.Service) => Effect.Effect<BackingRunner<I, O>, WorkerError>
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
/**
|
|
@@ -64,6 +65,32 @@ export interface PlatformRunner {
|
|
|
64
65
|
*/
|
|
65
66
|
export const PlatformRunner: Context.Tag<PlatformRunner, PlatformRunner> = internal.PlatformRunner
|
|
66
67
|
|
|
68
|
+
/**
|
|
69
|
+
* The worker close latch is used by platform runners to signal that the worker
|
|
70
|
+
* has been closed.
|
|
71
|
+
*
|
|
72
|
+
* @since 1.0.0
|
|
73
|
+
* @category CloseLatch
|
|
74
|
+
*/
|
|
75
|
+
export interface CloseLatch {
|
|
76
|
+
readonly _: unique symbol
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The worker close latch is used by platform runners to signal that the worker
|
|
81
|
+
* has been closed.
|
|
82
|
+
*
|
|
83
|
+
* @since 1.0.0
|
|
84
|
+
* @category CloseLatch
|
|
85
|
+
*/
|
|
86
|
+
export const CloseLatch: Context.Reference<CloseLatch, Deferred.Deferred<void, WorkerError>> = internal.CloseLatch
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @since 1.0.0
|
|
90
|
+
* @category CloseLatch
|
|
91
|
+
*/
|
|
92
|
+
export const layerCloseLatch: Layer.Layer<CloseLatch> = internal.layerCloseLatch
|
|
93
|
+
|
|
67
94
|
/**
|
|
68
95
|
* @since 1.0.0
|
|
69
96
|
* @category models
|
|
@@ -88,15 +115,6 @@ export declare namespace Runner {
|
|
|
88
115
|
}
|
|
89
116
|
}
|
|
90
117
|
|
|
91
|
-
/**
|
|
92
|
-
* @since 1.0.0
|
|
93
|
-
* @category constructors
|
|
94
|
-
*/
|
|
95
|
-
export const run: <I, E, R, O>(
|
|
96
|
-
process: (request: I) => Stream.Stream<O, E, R> | Effect.Effect<O, E, R>,
|
|
97
|
-
options?: Runner.Options<I, O, E>
|
|
98
|
-
) => Effect.Effect<never, WorkerError, PlatformRunner | R> = internal.run
|
|
99
|
-
|
|
100
118
|
/**
|
|
101
119
|
* @since 1.0.0
|
|
102
120
|
* @category constructors
|
|
@@ -198,8 +216,11 @@ export const makeSerialized: <
|
|
|
198
216
|
>(
|
|
199
217
|
schema: Schema.Schema<A, I, R>,
|
|
200
218
|
handlers: Handlers
|
|
201
|
-
) => Effect.Effect<
|
|
202
|
-
|
|
219
|
+
) => Effect.Effect<
|
|
220
|
+
void,
|
|
221
|
+
WorkerError,
|
|
222
|
+
PlatformRunner | Scope.Scope | R | SerializedRunner.HandlersContext<Handlers>
|
|
223
|
+
> = internal.makeSerialized
|
|
203
224
|
|
|
204
225
|
/**
|
|
205
226
|
* @since 1.0.0
|
|
@@ -215,3 +236,12 @@ export const layerSerialized: <
|
|
|
215
236
|
handlers: Handlers
|
|
216
237
|
) => Layer.Layer<never, WorkerError, PlatformRunner | R | SerializedRunner.HandlersContext<Handlers>> =
|
|
217
238
|
internal.layerSerialized
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Launch the specified layer, interrupting the fiber when the CloseLatch is
|
|
242
|
+
* triggered.
|
|
243
|
+
*
|
|
244
|
+
* @since 1.0.0
|
|
245
|
+
* @category Execution
|
|
246
|
+
*/
|
|
247
|
+
export const launch: <A, E, R>(layer: Layer.Layer<A, E, R>) => Effect.Effect<void, E | WorkerError, R> = internal.launch
|