effect 4.0.0-rc.118 → 4.0.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/README.md +17 -4
- package/dist/Array.d.ts +25 -25
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +16 -16
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +20 -16
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +1 -1
- package/dist/Cause.js.map +1 -1
- package/dist/Chunk.d.ts +26 -26
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +15 -15
- package/dist/Chunk.js.map +1 -1
- package/dist/Effect.d.ts +167 -39
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +16 -10
- package/dist/Effect.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +13 -5
- package/dist/HashRing.js.map +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +4 -22
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/Option.d.ts +17 -17
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +6 -6
- package/dist/Option.js.map +1 -1
- package/dist/Pool.d.ts +9 -5
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +34 -41
- package/dist/Pool.js.map +1 -1
- package/dist/Queue.d.ts +19 -2
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +9 -4
- package/dist/Queue.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +16 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +14 -14
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +10 -10
- package/dist/Record.js.map +1 -1
- package/dist/Schema.d.ts +37 -21
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +29 -10
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +116 -97
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +3 -1
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +3 -1
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +24 -16
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Stream.d.ts +45 -6
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +55 -44
- package/dist/Stream.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts +8 -0
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +13 -2
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpSchema.d.ts +402 -402
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +1 -1
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +11 -3
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +22 -12
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -0
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -0
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +1 -0
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +1 -0
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2024_11_05.js +3 -1
- package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +16 -3
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +32 -8
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +2 -1
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +5 -2
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +15 -8
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +36 -16
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +30 -44
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +63 -62
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/cluster/internal/interruptors.js +8 -0
- package/dist/cluster/internal/interruptors.js.map +1 -1
- package/dist/cluster/internal/resourceMap.js +39 -14
- package/dist/cluster/internal/resourceMap.js.map +1 -1
- package/dist/cluster/internal/resourceRef.js +168 -87
- package/dist/cluster/internal/resourceRef.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +1 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +29 -22
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +3 -2
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/http/HttpStaticServer.js +14 -0
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/HttpTraceContext.d.ts +1 -1
- package/dist/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.js +4 -4
- package/dist/http/HttpTraceContext.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +1 -0
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +1 -0
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/internal/core.js +43 -2
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +1 -1
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +138 -165
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/rcRef.js +59 -23
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/schema/annotations.js +1 -7
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/codegen.js +56 -28
- package/dist/internal/schema/codegen.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +11 -8
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +10 -30
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +1 -15
- package/dist/internal/schema/toCodec.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js +4 -3
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toFormatter.js +4 -4
- package/dist/internal/schema/toFormatter.js.map +1 -1
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +6 -2
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomRpc.d.ts +3 -3
- package/dist/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.d.ts +2 -2
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/RpcClient.d.ts +7 -7
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +21 -16
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +1 -1
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +2 -2
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/Utils.d.ts +2 -3
- package/dist/rpc/Utils.d.ts.map +1 -1
- package/dist/rpc/Utils.js +3 -4
- package/dist/rpc/Utils.js.map +1 -1
- package/dist/schema/SchemaCompiler/runtime.js +6 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +234 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +244 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/workflow/DurableDeferred.js +1 -1
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/Workflow.js +1 -1
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts +2 -0
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +1 -0
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +31 -31
- package/src/Cache.ts +22 -16
- package/src/Cause.ts +1 -1
- package/src/Chunk.ts +29 -29
- package/src/Effect.ts +170 -39
- package/src/HashRing.ts +14 -5
- package/src/MutableHashMap.ts +4 -24
- package/src/Option.ts +19 -19
- package/src/Pool.ts +28 -36
- package/src/Queue.ts +26 -6
- package/src/RcMap.ts +26 -2
- package/src/Record.ts +20 -20
- package/src/Schema.ts +48 -24
- package/src/SchemaAST.ts +135 -115
- package/src/SchemaRepresentation.ts +3 -1
- package/src/ScopedCache.ts +27 -16
- package/src/Stream.ts +158 -88
- package/src/ai/LanguageModel.ts +27 -2
- package/src/ai/McpSchema.ts +3 -3
- package/src/ai/McpServer.ts +12 -3
- package/src/ai/Response.ts +27 -12
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -0
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -0
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +1 -0
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +1 -0
- package/src/ai/internal/mcpSchema/v2024_11_05.ts +4 -2
- package/src/cluster/ClusterWorkflowEngine.ts +26 -5
- package/src/cluster/MessageStorage.ts +22 -5
- package/src/cluster/Sharding.ts +32 -28
- package/src/cluster/SqlMessageStorage.ts +45 -21
- package/src/cluster/SqlRunnerStorage.ts +85 -113
- package/src/cluster/internal/entityManager.ts +68 -80
- package/src/cluster/internal/interruptors.ts +13 -0
- package/src/cluster/internal/resourceMap.ts +55 -17
- package/src/cluster/internal/resourceRef.ts +189 -96
- package/src/http/HttpEffect.ts +15 -9
- package/src/http/HttpMiddleware.ts +8 -2
- package/src/http/HttpStaticServer.ts +16 -0
- package/src/http/HttpTraceContext.ts +8 -4
- package/src/http-api/HttpApiError.ts +1 -0
- package/src/internal/core.ts +56 -2
- package/src/internal/dateTime.ts +3 -1
- package/src/internal/effect.ts +146 -173
- package/src/internal/rcRef.ts +83 -33
- package/src/internal/schema/annotations.ts +0 -9
- package/src/internal/schema/codegen.ts +90 -43
- package/src/internal/schema/fromJsonSchemaDocument.ts +5 -3
- package/src/internal/schema/toCodeDocument.ts +10 -47
- package/src/internal/schema/toCodec.ts +3 -16
- package/src/internal/schema/toEquivalence.ts +4 -5
- package/src/internal/schema/toFormatter.ts +4 -6
- package/src/reactivity/Atom.ts +6 -2
- package/src/reactivity/AtomRpc.ts +5 -5
- package/src/rpc/Rpc.ts +2 -2
- package/src/rpc/RpcClient.ts +35 -32
- package/src/rpc/RpcMessage.ts +1 -1
- package/src/rpc/RpcServer.ts +2 -1
- package/src/rpc/Utils.ts +4 -10
- package/src/schema/SchemaCompiler/runtime.ts +17 -1
- package/src/testing/TestSchema.ts +315 -63
- package/src/testing/index.ts +1 -0
- package/src/workflow/DurableDeferred.ts +1 -1
- package/src/workflow/Workflow.ts +1 -1
- package/src/workflow/WorkflowEngine.ts +4 -0
package/dist/internal/rcRef.js
CHANGED
|
@@ -6,7 +6,6 @@ import * as Fiber from "../Fiber.js";
|
|
|
6
6
|
import { identity } from "../Function.js";
|
|
7
7
|
import { pipeArguments } from "../Pipeable.js";
|
|
8
8
|
import * as Scope from "../Scope.js";
|
|
9
|
-
import * as Semaphore from "../Semaphore.js";
|
|
10
9
|
const TypeId = "~effect/RcRef";
|
|
11
10
|
const stateEmpty = {
|
|
12
11
|
_tag: "Empty"
|
|
@@ -24,7 +23,6 @@ class RcRefImpl {
|
|
|
24
23
|
return pipeArguments(this, arguments);
|
|
25
24
|
}
|
|
26
25
|
state = stateEmpty;
|
|
27
|
-
semaphore = /*#__PURE__*/Semaphore.makeUnsafe(1);
|
|
28
26
|
acquire;
|
|
29
27
|
context;
|
|
30
28
|
scope;
|
|
@@ -42,9 +40,11 @@ export const make = options => Effect.withFiber(fiber => {
|
|
|
42
40
|
const scope = Context.get(context, Scope.Scope);
|
|
43
41
|
const ref = new RcRefImpl(options.acquire, context, scope, options.idleTimeToLive !== undefined ? Duration.fromInputUnsafe(options.idleTimeToLive) : undefined);
|
|
44
42
|
return Effect.as(Scope.addFinalizerExit(scope, () => {
|
|
45
|
-
const
|
|
43
|
+
const state = ref.state;
|
|
46
44
|
ref.state = stateClosed;
|
|
47
|
-
return close;
|
|
45
|
+
if (state._tag === "Acquired") return Scope.close(state.scope, Exit.void);
|
|
46
|
+
if (state._tag === "Acquiring") return Fiber.interrupt(state.fiber);
|
|
47
|
+
return Effect.void;
|
|
48
48
|
}), ref);
|
|
49
49
|
});
|
|
50
50
|
const getState = (self, restore) => {
|
|
@@ -59,32 +59,68 @@ const getState = (self, restore) => {
|
|
|
59
59
|
state.refCount++;
|
|
60
60
|
return state.fiber ? Effect.as(Fiber.interrupt(state.fiber), state) : Effect.succeed(state);
|
|
61
61
|
}
|
|
62
|
+
case "Acquiring":
|
|
63
|
+
{
|
|
64
|
+
const state = self.state;
|
|
65
|
+
state.awaiters++;
|
|
66
|
+
return awaitAcquiring(self, state, restore);
|
|
67
|
+
}
|
|
62
68
|
case "Empty":
|
|
63
69
|
{
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
// The caller that starts the acquisition counts as its first awaiter.
|
|
71
|
+
const acquiring = {
|
|
72
|
+
_tag: "Acquiring",
|
|
73
|
+
fiber: undefined,
|
|
74
|
+
awaiters: 1,
|
|
75
|
+
acquired: undefined
|
|
76
|
+
};
|
|
77
|
+
self.state = acquiring;
|
|
78
|
+
const scope = Scope.makeUnsafe();
|
|
79
|
+
// Acquire on a detached fiber so the acquisition is shared by every
|
|
80
|
+
// caller and only interrupted once all of them have been interrupted.
|
|
81
|
+
const acquire = Effect.provideContext(self.acquire, Context.add(self.context, Scope.Scope, scope)).pipe(Effect.flatMap(value => {
|
|
82
|
+
// The ref was closed, or the acquisition was abandoned.
|
|
83
|
+
if (self.state !== acquiring) {
|
|
84
|
+
return Effect.interrupt;
|
|
67
85
|
}
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
const state = {
|
|
87
|
+
_tag: "Acquired",
|
|
88
|
+
value,
|
|
89
|
+
scope,
|
|
90
|
+
fiber: undefined,
|
|
91
|
+
// Every caller still waiting holds a reference.
|
|
92
|
+
refCount: acquiring.awaiters,
|
|
93
|
+
invalidated: false
|
|
94
|
+
};
|
|
95
|
+
self.state = state;
|
|
96
|
+
acquiring.acquired = state;
|
|
97
|
+
return Effect.succeed(state);
|
|
98
|
+
}), Effect.onExit(exit => {
|
|
99
|
+
if (Exit.isSuccess(exit)) return Effect.void;
|
|
100
|
+
if (self.state === acquiring) self.state = stateEmpty;
|
|
101
|
+
return Scope.close(scope, exit);
|
|
84
102
|
}));
|
|
103
|
+
acquiring.fiber = Effect.runForkWith(Fiber.getCurrent().context)(acquire);
|
|
104
|
+
return awaitAcquiring(self, acquiring, restore);
|
|
85
105
|
}
|
|
86
106
|
}
|
|
87
107
|
};
|
|
108
|
+
const awaitAcquiring = (self, acquiring, restore) => Effect.onExit(restore(Fiber.join(acquiring.fiber)), exit => {
|
|
109
|
+
const acquired = acquiring.acquired;
|
|
110
|
+
if (acquired !== undefined) {
|
|
111
|
+
// The acquisition counted this caller as a reference, possibly before
|
|
112
|
+
// its fiber exited. Release it if the caller was interrupted before it
|
|
113
|
+
// could register its finalizer.
|
|
114
|
+
return Exit.isFailure(exit) ? release(self, acquired) : Effect.void;
|
|
115
|
+
}
|
|
116
|
+
// Abandon the acquisition once every caller has left, unless it already
|
|
117
|
+
// failed (a failed acquisition allocated no references).
|
|
118
|
+
if (--acquiring.awaiters > 0 || self.state !== acquiring) return Effect.void;
|
|
119
|
+
// Detach it first so new callers start a fresh acquisition instead of
|
|
120
|
+
// joining one that is being interrupted.
|
|
121
|
+
self.state = stateEmpty;
|
|
122
|
+
return Fiber.interrupt(acquiring.fiber);
|
|
123
|
+
});
|
|
88
124
|
/** @internal */
|
|
89
125
|
export const get = self_ => {
|
|
90
126
|
const self = self_;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rcRef.js","names":[],"sources":["../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe;AACxC,OAAO,KAAK,QAAQ,MAAM,gBAAgB;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,IAAI,MAAM,YAAY;AAClC,OAAO,KAAK,KAAK,MAAM,aAAa;AACpC,SAAS,QAAQ,QAAQ,gBAAgB;AACzC,SAAS,aAAa,QAAQ,gBAAgB;AAE9C,OAAO,KAAK,KAAK,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"rcRef.js","names":[],"sources":["../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -26,17 +26,11 @@ export const resolveTitle = /*#__PURE__*/resolveAt("title");
|
|
|
26
26
|
/** @internal */
|
|
27
27
|
export const resolveDescription = /*#__PURE__*/resolveAt("description");
|
|
28
28
|
/** @internal */
|
|
29
|
-
export const resolveBrands = /*#__PURE__*/resolveAt("brands");
|
|
30
|
-
/** @internal */
|
|
31
29
|
export const getExpected = /*#__PURE__*/memoize(ast => {
|
|
32
30
|
const identifier = resolve(ast)?.identifier;
|
|
33
31
|
if (typeof identifier === "string") return identifier;
|
|
34
32
|
return ast.getExpected(getExpected);
|
|
35
33
|
});
|
|
36
34
|
/** @internal */
|
|
37
|
-
export
|
|
38
|
-
return annotations !== undefined && Array.isArray(annotations.brands) ? annotations.brands : [];
|
|
39
|
-
}
|
|
40
|
-
/** @internal */
|
|
41
|
-
export const annotationExcludedKeys = /*#__PURE__*/new Set([SENTINELS_ANNOTATION_KEY, STRUCTURAL_ANNOTATION_KEY, "representation", "arbitraryConstraint", "brands", "toJsonSchema", "toCode", "toEquivalence", "toFormatter", "toCodec", "toCodecJson", "toCodecStringTree", "toCodecIso", "toCodecArbitrary"]);
|
|
35
|
+
export const annotationExcludedKeys = /*#__PURE__*/new Set([SENTINELS_ANNOTATION_KEY, STRUCTURAL_ANNOTATION_KEY, "representation", "arbitraryConstraint", "toJsonSchema", "toCode", "toEquivalence", "toFormatter", "toCodec", "toCodecJson", "toCodecStringTree", "toCodecIso", "toCodecArbitrary"]);
|
|
42
36
|
//# sourceMappingURL=annotations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.js","names":[],"sources":["../../../src/internal/schema/annotations.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAS,OAAO,QAAQ,mBAAmB;AAI3C;AACA,OAAM,SAAU,OAAO,CAAC,GAAkB;EACxC,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW;AACrF;AAEA;AACA,OAAM,SAAU,SAAS,CAAI,GAAW;EACtC,OAAQ,GAAkB,IAAoB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAkB;AACpF;AAEA;AACA,OAAO,MAAM,yBAAyB,GAAG,aAAa;AAEtD;AACA,OAAO,MAAM,uBAAuB,GAAG,aAAa;AAEpD;AACA,OAAO,MAAM,wBAAwB,GAAG,YAAY;AAEpD;AACA,OAAO,MAAM,0BAA0B,GAAG,cAAc;AAExD;AACA,OAAO,MAAM,wBAAwB,GAAG,CACtC,OAAO,EACP,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,CACP;AAEV;AACA,OAAO,MAAM,iBAAiB,gBAAG,SAAS,CAAS,YAAY,CAAC;AAEhE;AACA,OAAO,MAAM,yBAAyB,gBAAG,SAAS,CAAS,uBAAuB,CAAC;AAEnF;AACA,OAAO,MAAM,YAAY,gBAAG,SAAS,CAAS,OAAO,CAAC;AAEtD;AACA,OAAO,MAAM,kBAAkB,gBAAG,SAAS,CAAS,aAAa,CAAC;AAElE;AACA,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"annotations.js","names":[],"sources":["../../../src/internal/schema/annotations.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAS,OAAO,QAAQ,mBAAmB;AAI3C;AACA,OAAM,SAAU,OAAO,CAAC,GAAkB;EACxC,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW;AACrF;AAEA;AACA,OAAM,SAAU,SAAS,CAAI,GAAW;EACtC,OAAQ,GAAkB,IAAoB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAkB;AACpF;AAEA;AACA,OAAO,MAAM,yBAAyB,GAAG,aAAa;AAEtD;AACA,OAAO,MAAM,uBAAuB,GAAG,aAAa;AAEpD;AACA,OAAO,MAAM,wBAAwB,GAAG,YAAY;AAEpD;AACA,OAAO,MAAM,0BAA0B,GAAG,cAAc;AAExD;AACA,OAAO,MAAM,wBAAwB,GAAG,CACtC,OAAO,EACP,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,CACP;AAEV;AACA,OAAO,MAAM,iBAAiB,gBAAG,SAAS,CAAS,YAAY,CAAC;AAEhE;AACA,OAAO,MAAM,yBAAyB,gBAAG,SAAS,CAAS,uBAAuB,CAAC;AAEnF;AACA,OAAO,MAAM,YAAY,gBAAG,SAAS,CAAS,OAAO,CAAC;AAEtD;AACA,OAAO,MAAM,kBAAkB,gBAAG,SAAS,CAAS,aAAa,CAAC;AAElE;AACA,OAAO,MAAM,WAAW,gBAAG,OAAO,CAAE,GAAkB,IAAY;EAChE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU;EAC3C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,OAAO,UAAU;EACrD,OAAO,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;AACrC,CAAC,CAAC;AAEF;AACA,OAAO,MAAM,sBAAsB,gBAAG,IAAI,GAAG,CAAC,CAC5C,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,CACnB,CAAC","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ const unsupportedFacts = {
|
|
|
11
11
|
supported: false,
|
|
12
12
|
outputFree: false,
|
|
13
13
|
makeSafe: false,
|
|
14
|
+
hasOneOf: false,
|
|
14
15
|
nodes: 1,
|
|
15
16
|
height: 0
|
|
16
17
|
};
|
|
@@ -34,6 +35,7 @@ const addChild = (facts, child, depth, budget) => {
|
|
|
34
35
|
}
|
|
35
36
|
if (!childFacts.outputFree) facts.outputFree = false;
|
|
36
37
|
if (!childFacts.makeSafe) facts.makeSafe = false;
|
|
38
|
+
if (childFacts.hasOneOf) facts.hasOneOf = true;
|
|
37
39
|
facts.nodes += childFacts.nodes;
|
|
38
40
|
if (childFacts.height >= facts.height) facts.height = childFacts.height + 1;
|
|
39
41
|
return true;
|
|
@@ -64,6 +66,7 @@ const getFacts = (ast, depth = 0, budget = {
|
|
|
64
66
|
supported: true,
|
|
65
67
|
outputFree: true,
|
|
66
68
|
makeSafe: true,
|
|
69
|
+
hasOneOf: ast._tag === "Union" && ast.options?.mode === "oneOf",
|
|
67
70
|
nodes: 1,
|
|
68
71
|
height: 0
|
|
69
72
|
};
|
|
@@ -73,6 +76,11 @@ const getFacts = (ast, depth = 0, budget = {
|
|
|
73
76
|
for (const part of ast.parts) {
|
|
74
77
|
if (!addChild(facts, part, next, budget)) return stop(ast, facts);
|
|
75
78
|
}
|
|
79
|
+
// matchPart only segments the input; the tuple parser enforces oneOf.
|
|
80
|
+
if (facts.hasOneOf) {
|
|
81
|
+
facts.supported = false;
|
|
82
|
+
return stop(ast, facts);
|
|
83
|
+
}
|
|
76
84
|
break;
|
|
77
85
|
case "Arrays":
|
|
78
86
|
for (const element of ast.elements) {
|
|
@@ -223,8 +231,8 @@ const emitUnionHelper = (ast, emitter, operation, path) => {
|
|
|
223
231
|
if (cached !== undefined) return cached;
|
|
224
232
|
const name = `u${emitter.next++}`;
|
|
225
233
|
emitter.unionHelpers.set(ast, name);
|
|
226
|
-
const
|
|
227
|
-
emitter.initializers.push(`const ${name}=
|
|
234
|
+
const decoders = ast.types.map((type, index) => emitDecoderHelper(type, emitter, operation, `${path}.types[${index}]`));
|
|
235
|
+
emitter.initializers.push(`const ${name}=[${decoders.join(",")}]`);
|
|
228
236
|
return name;
|
|
229
237
|
};
|
|
230
238
|
const emitIndexes = (ast, input, output, statements, emitter, operation, path, indexKeys) => {
|
|
@@ -444,14 +452,16 @@ const emitBase = (ast, input, statements, emitter, operation, path) => {
|
|
|
444
452
|
const decoder = variable(emitter);
|
|
445
453
|
const types = constant(emitter, ast.types, `${path}.types`);
|
|
446
454
|
const decoders = emitUnionHelper(ast, emitter, operation, path);
|
|
447
|
-
|
|
455
|
+
const select = variable(emitter);
|
|
456
|
+
emitter.initializers.push(`const ${select}=U(${types})`);
|
|
457
|
+
statements.push(`const ${candidates}=${select}(${input},false)`, `let ${output}=${invalid},${candidate},${decoder}`);
|
|
448
458
|
if (ast.options?.mode !== "oneOf") {
|
|
449
|
-
statements.push(`for(let ${index}=0;${index}<${candidates}.length;${index}++){${decoder}=${decoders}
|
|
459
|
+
statements.push(`for(let ${index}=0;${index}<${candidates}.length;${index}++){${decoder}=${decoders}[${candidates}[${index}]];${candidate}=${decoder}(${input},o);if(${candidate}!==${invalid}){${output}=${candidate};break}}`);
|
|
450
460
|
statements.push(`if(${output}===${invalid})return ${invalid}`);
|
|
451
461
|
} else {
|
|
452
462
|
const successes = variable(emitter);
|
|
453
463
|
statements.push(`let ${successes}=0`);
|
|
454
|
-
statements.push(`for(let ${index}=0;${index}<${candidates}.length;${index}++){${decoder}=${decoders}
|
|
464
|
+
statements.push(`for(let ${index}=0;${index}<${candidates}.length;${index}++){${decoder}=${decoders}[${candidates}[${index}]];${candidate}=${decoder}(${input},o);if(${candidate}!==${invalid}){if(++${successes}>1)return ${invalid};${output}=${candidate}}}`);
|
|
455
465
|
statements.push(`if(${successes}!==1)return ${invalid}`);
|
|
456
466
|
}
|
|
457
467
|
return output;
|
|
@@ -478,7 +488,7 @@ const emitOperation = (ast, operation, path = "ast") => {
|
|
|
478
488
|
const bindings = {
|
|
479
489
|
K: "getCheckIssues",
|
|
480
490
|
T: "matchesTemplateLiteral",
|
|
481
|
-
U: "
|
|
491
|
+
U: "getCandidateIndex",
|
|
482
492
|
G: "getIndexSignatureKeys",
|
|
483
493
|
D: "defaultParseOptions",
|
|
484
494
|
E: "hasExcessProperties"
|
|
@@ -557,40 +567,53 @@ const inlineTypePredicate = (ast, input, path) => {
|
|
|
557
567
|
case "BigInt":
|
|
558
568
|
return `typeof ${input}==="bigint"`;
|
|
559
569
|
case "TemplateLiteral":
|
|
560
|
-
|
|
570
|
+
// Its parser reports structured issues, not an InvalidType failure.
|
|
571
|
+
return undefined;
|
|
561
572
|
default:
|
|
562
573
|
return undefined;
|
|
563
574
|
}
|
|
564
575
|
};
|
|
565
|
-
const inlineIdentityPredicate = (ast, input, path) => ast.checks === undefined && getEncodingChecks(ast) === undefined ? inlineTypePredicate(ast, input, path) : undefined;
|
|
566
576
|
const emitEncoding = ast => {
|
|
567
577
|
const links = ast.encoding;
|
|
568
578
|
if (links?.length !== 1 || getEncodingChecks(ast) !== undefined) return undefined;
|
|
569
579
|
const link = links[0];
|
|
570
580
|
const transformation = link.transformation;
|
|
571
|
-
if (link.to.encoding !== undefined ||
|
|
581
|
+
if (link.to.encoding !== undefined || getEncodingChecks(link.to) !== undefined || transformation._tag !== "Transformation" || transformation.decode._tag !== "Transform") {
|
|
572
582
|
return undefined;
|
|
573
583
|
}
|
|
574
584
|
const source = inlineTypePredicate(link.to, "i", "ast.encoding[0].to");
|
|
575
585
|
const target = inlineTypePredicate(ast, "value", "ast");
|
|
576
586
|
if (source === undefined || target === undefined) return undefined;
|
|
577
587
|
const success = ast.checks === undefined ? "R.succeed(value)" : "R.check(ast,value,o)";
|
|
578
|
-
|
|
588
|
+
const sourceChecks = link.to.checks === undefined ? "" : "const issues=R.getCheckIssues(from,i,false,o);" + "if(issues!==void 0)return R.invalidEncodingChecks(ast,i,issues,o);";
|
|
589
|
+
return `const transform=ast.encoding[0].transformation.decode.transform,from=ast.encoding[0].to;return function(i,o){try{
|
|
579
590
|
if(i===R.missing)return R.missingExit;
|
|
580
591
|
if(!(${source}))return R.invalidEncoding(ast,1,i,i,o);
|
|
581
|
-
const value=transform(i);
|
|
592
|
+
${sourceChecks}const value=transform(i);
|
|
582
593
|
if(value===R.missing)return R.missingExit;
|
|
583
594
|
if(!(${target}))return R.invalidEncoding(ast,0,i,value,o);
|
|
584
595
|
return ${success}
|
|
585
596
|
}catch(e){return R.die(e)}}`;
|
|
586
597
|
};
|
|
587
|
-
const canInlineEncoding = ast => ast.encoding !== undefined && ast.checks === undefined && getEncodingChecks(ast) === undefined &&
|
|
598
|
+
const canInlineEncoding = ast => ast.encoding !== undefined && ast.checks === undefined && getEncodingChecks(ast) === undefined && inlineTypePredicate(ast, "v", "ast") !== undefined && ast.encoding.every((link, index, links) => link.to.encoding === undefined && getEncodingChecks(link.to) === undefined && (
|
|
599
|
+
// Only the initial source may have checks; they run before any transformation.
|
|
600
|
+
link.to.checks === undefined || index === links.length - 1) && inlineTypePredicate(link.to, "v", "ast") !== undefined && link.transformation._tag === "Transformation" && (link.transformation.decode._tag === "Passthrough" || link.transformation.decode._tag === "Transform"));
|
|
588
601
|
const inlinePropertyHandler = `const handle=(state,index,property,present,input,result)=>{let value;if(result===R.sameExit){if(!present)return;value=input}else{if(!R.effectIsExit(result))return resume(state,index,result);if(result._tag!=="Success"||(value=result[R.args])===R.missing)return step(state,property,result)}const name=property.name;if(name==="__proto__")Object.defineProperty(state.out,name,{value,writable:true,enumerable:true,configurable:true});else state.out[name]=value}`;
|
|
589
602
|
const emitObject = ast => {
|
|
590
603
|
const initializers = [];
|
|
591
604
|
const transforms = new Map();
|
|
605
|
+
const bindTransform = (transform, path) => {
|
|
606
|
+
let name = transforms.get(transform);
|
|
607
|
+
if (name === undefined) {
|
|
608
|
+
name = `t${transforms.size}`;
|
|
609
|
+
transforms.set(transform, name);
|
|
610
|
+
initializers.push(`const ${name}=${path}`);
|
|
611
|
+
}
|
|
612
|
+
return name;
|
|
613
|
+
};
|
|
592
614
|
let usesInlinePropertyHandler = false;
|
|
593
615
|
let usesInlinePropertyFailure = false;
|
|
616
|
+
let usesInlineSourceFailure = false;
|
|
594
617
|
const lazyProperties = ast.propertySignatures.every(property => typeof property.name !== "symbol" && canInlineEncoding(property.type));
|
|
595
618
|
if (lazyProperties) initializers.push("const p=i=>getProperties()[i]");
|
|
596
619
|
const statements = ["if(i===R.missing)return R.missingExit", "if(o.errors===\"all\"||o.onExcessProperty!==void 0||(o.concurrency!==void 0&&o.concurrency!==1))return fallback(i,o)", "if(typeof i!==\"object\"||i===null||Array.isArray(i))return R.invalidType(ast,i,o)", lazyProperties ? "const out={}" : "const properties=getProperties(),out={}", "const state={ast,input:i,out,options:o,issues:void 0}", "let r,t,value"];
|
|
@@ -604,41 +627,43 @@ const emitObject = ast => {
|
|
|
604
627
|
const descriptor = lazyProperties ? `p(${index})` : `p${index}`;
|
|
605
628
|
const handleInline = `t=handle(state,${index},${descriptor},h${index},v${index},r);if(t)return t`;
|
|
606
629
|
const links = property.type.encoding;
|
|
630
|
+
const sourceAst = links[links.length - 1].to;
|
|
607
631
|
const sourcePath = `${propertyPath}.encoding[${links.length - 1}].to`;
|
|
608
|
-
const source =
|
|
632
|
+
const source = inlineTypePredicate(sourceAst, `v${index}`, sourcePath);
|
|
633
|
+
const sourceChecks = sourceAst.checks !== undefined;
|
|
634
|
+
if (sourceChecks) initializers.push(`const s${index}=${sourcePath}`);
|
|
635
|
+
const checkSource = sourceChecks ? `const c${index}=R.getCheckIssues(s${index},v${index},false,o);` : "";
|
|
609
636
|
// Share cold diagnostics without adding a call to the successful path.
|
|
610
637
|
if (lazyProperties && links.length === 1 && property.name !== "__proto__") {
|
|
611
638
|
usesInlinePropertyFailure = true;
|
|
612
639
|
const transformation = links[0].transformation;
|
|
613
640
|
let decoded = `v${index}`;
|
|
614
641
|
if (transformation._tag === "Transformation" && transformation.decode._tag === "Transform") {
|
|
615
|
-
|
|
616
|
-
if (transform === undefined) {
|
|
617
|
-
transform = `t${transforms.size}`;
|
|
618
|
-
transforms.set(transformation.decode.transform, transform);
|
|
619
|
-
initializers.push(`const ${transform}=${propertyPath}.encoding[0].transformation.decode.transform`);
|
|
620
|
-
}
|
|
642
|
+
const transform = bindTransform(transformation.decode.transform, `${propertyPath}.encoding[0].transformation.decode.transform`);
|
|
621
643
|
decoded = `${transform}(v${index})`;
|
|
622
644
|
}
|
|
623
|
-
const predicate =
|
|
624
|
-
|
|
645
|
+
const predicate = inlineTypePredicate(property.type, `x${index}`, propertyPath);
|
|
646
|
+
let run = `const x${index}=${decoded};` + `if(x${index}!==R.missing&&(${predicate})){out[${key}]=x${index}}` + `else{t=invalid(state,${index},h${index},v${index},x${index},o);if(t)return t}`;
|
|
647
|
+
if (sourceChecks) {
|
|
648
|
+
usesInlineSourceFailure = true;
|
|
649
|
+
run = `${checkSource}if(c${index}===void 0){${run}}` + `else{t=invalidSource(state,${index},h${index},v${index},c${index},o);if(t)return t}`;
|
|
650
|
+
}
|
|
651
|
+
statements.push(`const h${index}=${present},v${index}=h${index}?i[${key}]:R.missing`, `if(v${index}!==R.missing&&(${source})){${run}}` + `else{t=fallbackProperty(state,${index},h${index},v${index},o);if(t)return t}`);
|
|
625
652
|
return;
|
|
626
653
|
}
|
|
627
654
|
const fast = [`let x${index}=v${index};r=void 0;l${index}:{`];
|
|
655
|
+
if (sourceChecks) {
|
|
656
|
+
fast.push(`${checkSource}if(c${index}!==void 0){r=R.invalidEncodingChecks(${descriptor}.type,v${index},c${index},o);break l${index}}`);
|
|
657
|
+
}
|
|
628
658
|
for (let linkIndex = links.length - 1; linkIndex >= 0; linkIndex--) {
|
|
629
659
|
const transformation = links[linkIndex].transformation;
|
|
630
660
|
if (transformation._tag === "Transformation" && transformation.decode._tag === "Transform") {
|
|
631
|
-
|
|
632
|
-
if (transform === undefined) {
|
|
633
|
-
transform = `t${transforms.size}`;
|
|
634
|
-
transforms.set(transformation.decode.transform, transform);
|
|
635
|
-
initializers.push(`const ${transform}=${propertyPath}.encoding[${linkIndex}].transformation.decode.transform`);
|
|
636
|
-
}
|
|
661
|
+
const transform = bindTransform(transformation.decode.transform, `${propertyPath}.encoding[${linkIndex}].transformation.decode.transform`);
|
|
637
662
|
fast.push(`x${index}=${transform}(x${index})`);
|
|
638
663
|
}
|
|
639
664
|
const targetPath = linkIndex === 0 ? propertyPath : `${propertyPath}.encoding[${linkIndex - 1}].to`;
|
|
640
665
|
const target = linkIndex === 0 ? property.type : links[linkIndex - 1].to;
|
|
641
|
-
const predicate =
|
|
666
|
+
const predicate = inlineTypePredicate(target, `x${index}`, targetPath);
|
|
642
667
|
fast.push(`if(x${index}===R.missing){r=R.missingExit;break l${index}}else if(!(${predicate})){r=R.invalidEncoding(${descriptor}.type,${linkIndex},v${index},x${index},o);break l${index}}`);
|
|
643
668
|
}
|
|
644
669
|
fast.push(`};if(r!==void 0){${handleInline}}else{${assignProperty("out", key, `x${index}`, property.name)}}`);
|
|
@@ -655,6 +680,9 @@ const emitObject = ast => {
|
|
|
655
680
|
if (usesInlinePropertyFailure) {
|
|
656
681
|
initializers.push("const invalid=(state,index,present,input,output,o)=>{const property=p(index);return handle(state,index,property,present,input,output===R.missing?R.missingExit:R.invalidEncoding(property.type,0,input,output,o))}", "const fallbackProperty=(state,index,present,input,o)=>{const property=p(index);return handle(state,index,property,present,input,property.parser(input,o))}");
|
|
657
682
|
}
|
|
683
|
+
if (usesInlineSourceFailure) {
|
|
684
|
+
initializers.push("const invalidSource=(state,index,present,input,issues,o)=>{const property=p(index);return handle(state,index,property,present,input,R.invalidEncodingChecks(property.type,input,issues,o))}");
|
|
685
|
+
}
|
|
658
686
|
return `function({ast,getProperties,fallback,resume,step}){${initializers.join(";")};return function(i,o){try{${statements.join(";")}}catch(e){return R.die(e)}}}`;
|
|
659
687
|
};
|
|
660
688
|
//# sourceMappingURL=codegen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","names":[],"sources":["../../../src/internal/schema/codegen.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"codegen.js","names":[],"sources":["../../../src/internal/schema/codegen.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -781,15 +781,18 @@ function translateJsonSchemaMultiDocument(document, options, singleRoot = false)
|
|
|
781
781
|
case "ignore":
|
|
782
782
|
return undefined;
|
|
783
783
|
case "apply":
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
784
|
+
{
|
|
785
|
+
let regex;
|
|
786
|
+
try {
|
|
787
|
+
regex = globalThis.RegExp(pattern, jsonSchemaPatternFlags);
|
|
788
|
+
} catch {
|
|
789
|
+
throw errorWithPath("Cannot import pattern using ECMAScript Unicode mode.", path);
|
|
790
|
+
}
|
|
791
|
+
return jsonSchemaFilter("effect/schema/isPattern", {
|
|
792
|
+
source: regex.source,
|
|
793
|
+
flags: regex.flags
|
|
794
|
+
});
|
|
788
795
|
}
|
|
789
|
-
return jsonSchemaFilter("effect/schema/isPattern", {
|
|
790
|
-
source: pattern,
|
|
791
|
-
flags: jsonSchemaPatternFlags
|
|
792
|
-
});
|
|
793
796
|
}
|
|
794
797
|
}
|
|
795
798
|
function collectStringChecks(schema, path) {
|