effect 4.0.0-rc.118 → 4.0.0
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/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 +17 -17
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +5 -5
- 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/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/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/ai/McpSchema.d.ts +110 -110
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +5 -1
- 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 +1 -1
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +15 -4
- package/dist/cluster/SqlMessageStorage.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/internal/effect.js +75 -84
- package/dist/internal/effect.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/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 +1 -2
- 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/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/package.json +1 -1
- package/src/Array.ts +31 -31
- package/src/Chunk.ts +29 -29
- package/src/Effect.ts +17 -17
- package/src/MutableHashMap.ts +4 -24
- package/src/Option.ts +19 -19
- package/src/Queue.ts +26 -6
- 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/cluster/ClusterWorkflowEngine.ts +8 -1
- package/src/cluster/MessageStorage.ts +22 -5
- package/src/cluster/Sharding.ts +8 -4
- package/src/cluster/SqlMessageStorage.ts +19 -8
- package/src/http/HttpEffect.ts +15 -9
- package/src/internal/effect.ts +37 -62
- package/src/internal/schema/annotations.ts +0 -9
- package/src/internal/schema/codegen.ts +90 -43
- 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 +9 -10
- package/src/rpc/RpcMessage.ts +1 -1
- 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
|
@@ -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":[]}
|
|
@@ -238,21 +238,6 @@ export function toCodeDocument(document) {
|
|
|
238
238
|
function annotationSchemas(representation, path) {
|
|
239
239
|
return representation?.schemas?.map((schema, index) => recur(schema, [...path, "schemas", index])) ?? [];
|
|
240
240
|
}
|
|
241
|
-
function checkBrands(check) {
|
|
242
|
-
const own = InternalAnnotations.collectBrands(check.annotations);
|
|
243
|
-
if (check._tag === "FilterGroup" && check.annotations?.toCode === undefined) {
|
|
244
|
-
return [...own, ...check.checks.flatMap(checkBrands)];
|
|
245
|
-
}
|
|
246
|
-
return own;
|
|
247
|
-
}
|
|
248
|
-
function runtimeBrands(brands) {
|
|
249
|
-
return brands.length === 0 ? "" : `.pipe(${brands.map(brand => `Schema.brand(${format(brand)})`).join(", ")})`;
|
|
250
|
-
}
|
|
251
|
-
function typeBrands(brands) {
|
|
252
|
-
if (brands.length === 0) return "";
|
|
253
|
-
addImport(`import type * as Brand from "effect/Brand"`);
|
|
254
|
-
return brands.map(brand => ` & Brand.Brand<${format(brand)}>`).join("");
|
|
255
|
-
}
|
|
256
241
|
function runtimeAnnotate(annotations, method = "annotate") {
|
|
257
242
|
const rendered = renderAnnotations(annotations);
|
|
258
243
|
return rendered === undefined ? "" : `.${method}(${rendered})`;
|
|
@@ -280,19 +265,15 @@ export function toCodeDocument(document) {
|
|
|
280
265
|
if (check._tag === "Filter" && check.aborted) runtime += ".abort()";
|
|
281
266
|
return runtime;
|
|
282
267
|
}
|
|
283
|
-
function applyNode(base, representation, path
|
|
284
|
-
|
|
285
|
-
let runtime = base.runtime + runtimeAnnotate(representation.annotations) + runtimeBrands(nodeBrands);
|
|
286
|
-
let Type = base.Type + (includeTypeBrands ? typeBrands(nodeBrands) : "");
|
|
268
|
+
function applyNode(base, representation, path) {
|
|
269
|
+
let runtime = base.runtime + runtimeAnnotate(representation.annotations);
|
|
287
270
|
for (let index = 0; index < representation.checks.length; index++) {
|
|
288
271
|
const check = representation.checks[index];
|
|
289
|
-
|
|
290
|
-
runtime += `.check(${compileCheck(check, [...path, "checks", index])})${runtimeBrands(brands)}`;
|
|
291
|
-
if (includeTypeBrands) Type += typeBrands(brands);
|
|
272
|
+
runtime += `.check(${compileCheck(check, [...path, "checks", index])})`;
|
|
292
273
|
}
|
|
293
|
-
return makeCode(runtime, Type);
|
|
274
|
+
return makeCode(runtime, base.Type);
|
|
294
275
|
}
|
|
295
|
-
function recur(representation, path
|
|
276
|
+
function recur(representation, path) {
|
|
296
277
|
if (representation._tag === "Reference") {
|
|
297
278
|
if (!Object.hasOwn(document.references, representation.$ref)) {
|
|
298
279
|
throw errorWithPath(`Invalid reference ${representation.$ref}`, [...path, "$ref"]);
|
|
@@ -301,12 +282,11 @@ export function toCodeDocument(document) {
|
|
|
301
282
|
if (compilingRecursiveDefinition && explicitSuspendDepth === 0 && Object.hasOwn(sorted.recursives, representation.$ref)) {
|
|
302
283
|
return makeCode(`Schema.suspend((): Schema.Codec<${identifier}> => ${identifier})`, identifier);
|
|
303
284
|
}
|
|
304
|
-
|
|
305
|
-
return makeCode(identifier, Type);
|
|
285
|
+
return makeCode(identifier, identifier);
|
|
306
286
|
}
|
|
307
|
-
return applyNode(on(representation, path
|
|
287
|
+
return applyNode(on(representation, path), representation, path);
|
|
308
288
|
}
|
|
309
|
-
function on(representation, path
|
|
289
|
+
function on(representation, path) {
|
|
310
290
|
switch (representation._tag) {
|
|
311
291
|
case "Declaration":
|
|
312
292
|
{
|
|
@@ -374,7 +354,7 @@ export function toCodeDocument(document) {
|
|
|
374
354
|
}
|
|
375
355
|
case "TemplateLiteral":
|
|
376
356
|
{
|
|
377
|
-
const parts = representation.parts.map((part, index) => recur(part, [...path, "parts", index]
|
|
357
|
+
const parts = representation.parts.map((part, index) => recur(part, [...path, "parts", index]));
|
|
378
358
|
const Type = `\`${parts.map(part => `\${${part.Type}}`).join("")}\``;
|
|
379
359
|
return makeCode(`Schema.TemplateLiteral([${parts.map(part => part.runtime).join(", ")}])`, Type);
|
|
380
360
|
}
|
|
@@ -443,7 +423,7 @@ export function toCodeDocument(document) {
|
|
|
443
423
|
const literals = representation.types.map(literal => format(literal.literal));
|
|
444
424
|
return literals.length === 1 ? makeCode(`Schema.Literal(${literals[0]})`, literals[0]) : makeCode(`Schema.Literals([${literals.join(", ")}])`, literals.join(" | "));
|
|
445
425
|
}
|
|
446
|
-
const types = representation.types.map((type, index) => recur(type, [...path, "types", index]
|
|
426
|
+
const types = representation.types.map((type, index) => recur(type, [...path, "types", index]));
|
|
447
427
|
const options = representation.options === undefined ? "" : `, ${unionOptionsRuntime(representation.options)}`;
|
|
448
428
|
return makeCode(`Schema.Union([${types.map(type => type.runtime).join(", ")}]${options})`, types.length === 0 ? "never" : types.map(type => type.Type).join(" | "));
|
|
449
429
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toCodeDocument.js","names":[],"sources":["../../../src/internal/schema/toCodeDocument.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"toCodeDocument.js","names":[],"sources":["../../../src/internal/schema/toCodeDocument.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -29,21 +29,7 @@ function validateCanonicalObjectPropertyNames(ast) {
|
|
|
29
29
|
}
|
|
30
30
|
function makeReorder(getPriority) {
|
|
31
31
|
return types => {
|
|
32
|
-
|
|
33
|
-
const indexMap = new Map();
|
|
34
|
-
for (let i = 0; i < types.length; i++) {
|
|
35
|
-
indexMap.set(SchemaAST.toEncoded(types[i]), i);
|
|
36
|
-
}
|
|
37
|
-
// Create a sorted copy of the types array
|
|
38
|
-
const sortedTypes = [...types].sort((a, b) => {
|
|
39
|
-
a = SchemaAST.toEncoded(a);
|
|
40
|
-
b = SchemaAST.toEncoded(b);
|
|
41
|
-
const pa = getPriority(a);
|
|
42
|
-
const pb = getPriority(b);
|
|
43
|
-
if (pa !== pb) return pa - pb;
|
|
44
|
-
// If priorities are equal, maintain original order (stable sort)
|
|
45
|
-
return indexMap.get(a) - indexMap.get(b);
|
|
46
|
-
});
|
|
32
|
+
const sortedTypes = [...types].sort((a, b) => getPriority(SchemaAST.toEncoded(a)) - getPriority(SchemaAST.toEncoded(b)));
|
|
47
33
|
// Check if order changed by comparing arrays
|
|
48
34
|
const orderChanged = sortedTypes.some((ast, index) => ast !== types[index]);
|
|
49
35
|
if (!orderChanged) return types;
|