effect 4.0.0-beta.50 → 4.0.0-beta.52

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.
Files changed (135) hide show
  1. package/dist/BigDecimal.d.ts.map +1 -1
  2. package/dist/BigDecimal.js +18 -14
  3. package/dist/BigDecimal.js.map +1 -1
  4. package/dist/BigInt.d.ts.map +1 -1
  5. package/dist/BigInt.js +4 -4
  6. package/dist/BigInt.js.map +1 -1
  7. package/dist/Brand.d.ts +2 -4
  8. package/dist/Brand.d.ts.map +1 -1
  9. package/dist/Brand.js.map +1 -1
  10. package/dist/Data.js +2 -2
  11. package/dist/Data.js.map +1 -1
  12. package/dist/Duration.js +1 -1
  13. package/dist/Duration.js.map +1 -1
  14. package/dist/Schema.d.ts +77 -10
  15. package/dist/Schema.d.ts.map +1 -1
  16. package/dist/Schema.js +119 -18
  17. package/dist/Schema.js.map +1 -1
  18. package/dist/SchemaAST.d.ts +6 -0
  19. package/dist/SchemaAST.d.ts.map +1 -1
  20. package/dist/SchemaAST.js +216 -229
  21. package/dist/SchemaAST.js.map +1 -1
  22. package/dist/SchemaGetter.d.ts +3 -5
  23. package/dist/SchemaGetter.d.ts.map +1 -1
  24. package/dist/SchemaGetter.js +3 -2
  25. package/dist/SchemaGetter.js.map +1 -1
  26. package/dist/SchemaIssue.d.ts.map +1 -1
  27. package/dist/SchemaIssue.js +29 -11
  28. package/dist/SchemaIssue.js.map +1 -1
  29. package/dist/SchemaParser.js +14 -2
  30. package/dist/SchemaParser.js.map +1 -1
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/internal/effect.js +142 -65
  36. package/dist/internal/effect.js.map +1 -1
  37. package/dist/internal/schema/representation.js +1 -2
  38. package/dist/internal/schema/representation.js.map +1 -1
  39. package/dist/internal/schema/schema.d.ts.map +1 -1
  40. package/dist/internal/schema/schema.js +37 -0
  41. package/dist/internal/schema/schema.js.map +1 -1
  42. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  43. package/dist/unstable/ai/McpServer.js +7 -0
  44. package/dist/unstable/ai/McpServer.js.map +1 -1
  45. package/dist/unstable/cli/index.d.ts +2 -0
  46. package/dist/unstable/cli/index.d.ts.map +1 -1
  47. package/dist/unstable/cli/index.js +2 -0
  48. package/dist/unstable/cli/index.js.map +1 -1
  49. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  50. package/dist/unstable/cluster/Runners.js +3 -2
  51. package/dist/unstable/cluster/Runners.js.map +1 -1
  52. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  53. package/dist/unstable/cluster/SqlMessageStorage.js +1 -0
  54. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  55. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  56. package/dist/unstable/cluster/SqlRunnerStorage.js +6 -6
  57. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  58. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  59. package/dist/unstable/eventlog/SqlEventJournal.js +9 -8
  60. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  61. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  62. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +6 -5
  63. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  64. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  65. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +6 -5
  66. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  67. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  68. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  69. package/dist/unstable/httpapi/HttpApiBuilder.js +11 -6
  70. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  71. package/dist/unstable/httpapi/HttpApiClient.d.ts +5 -6
  72. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  73. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  74. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +17 -18
  75. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  76. package/dist/unstable/httpapi/HttpApiEndpoint.js +1 -2
  77. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  78. package/dist/unstable/httpapi/HttpApiError.d.ts +28 -8
  79. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  80. package/dist/unstable/httpapi/HttpApiError.js +28 -15
  81. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  82. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -3
  83. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  84. package/dist/unstable/httpapi/HttpApiMiddleware.js +2 -2
  85. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  86. package/dist/unstable/httpapi/OpenApi.d.ts +1 -10
  87. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  88. package/dist/unstable/httpapi/OpenApi.js +2 -11
  89. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  90. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  91. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  92. package/dist/unstable/observability/internal/protobuf.js +4 -4
  93. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  94. package/dist/unstable/rpc/RpcSerialization.d.ts +11 -0
  95. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  96. package/dist/unstable/rpc/RpcSerialization.js +14 -9
  97. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  98. package/package.json +1 -1
  99. package/src/BigDecimal.ts +20 -16
  100. package/src/BigInt.ts +4 -4
  101. package/src/Brand.ts +2 -4
  102. package/src/Data.ts +1 -1
  103. package/src/Duration.ts +1 -1
  104. package/src/Schema.ts +183 -23
  105. package/src/SchemaAST.ts +315 -267
  106. package/src/SchemaGetter.ts +4 -6
  107. package/src/SchemaIssue.ts +28 -15
  108. package/src/SchemaParser.ts +8 -2
  109. package/src/index.ts +3 -0
  110. package/src/internal/effect.ts +196 -69
  111. package/src/internal/schema/representation.ts +1 -2
  112. package/src/internal/schema/schema.ts +43 -0
  113. package/src/unstable/ai/McpServer.ts +8 -0
  114. package/src/unstable/cli/index.ts +2 -0
  115. package/src/unstable/cluster/Runners.ts +8 -5
  116. package/src/unstable/cluster/SqlMessageStorage.ts +1 -0
  117. package/src/unstable/cluster/SqlRunnerStorage.ts +12 -6
  118. package/src/unstable/eventlog/SqlEventJournal.ts +10 -2
  119. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +8 -3
  120. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +9 -3
  121. package/src/unstable/httpapi/HttpApi.ts +1 -1
  122. package/src/unstable/httpapi/HttpApiBuilder.ts +13 -6
  123. package/src/unstable/httpapi/HttpApiClient.ts +5 -6
  124. package/src/unstable/httpapi/HttpApiEndpoint.ts +6 -7
  125. package/src/unstable/httpapi/HttpApiError.ts +43 -22
  126. package/src/unstable/httpapi/HttpApiMiddleware.ts +6 -5
  127. package/src/unstable/httpapi/OpenApi.ts +3 -15
  128. package/src/unstable/observability/OtlpMetrics.ts +1 -1
  129. package/src/unstable/observability/internal/protobuf.ts +4 -4
  130. package/src/unstable/rpc/RpcSerialization.ts +41 -36
  131. package/dist/internal/schema/to-codec.d.ts +0 -2
  132. package/dist/internal/schema/to-codec.d.ts.map +0 -1
  133. package/dist/internal/schema/to-codec.js +0 -126
  134. package/dist/internal/schema/to-codec.js.map +0 -1
  135. package/src/internal/schema/to-codec.ts +0 -138
@@ -358,6 +358,12 @@ export interface ParseOptions {
358
358
  * transformations.
359
359
  */
360
360
  readonly disableChecks?: boolean | undefined;
361
+ /**
362
+ * The maximum number of async effects to run concurrently.
363
+ *
364
+ * Defaults to 1.
365
+ */
366
+ readonly concurrency?: number | "unbounded" | undefined;
361
367
  }
362
368
  /**
363
369
  * Per-property metadata attached to AST nodes via {@link Base.context}.
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaAST.d.ts","sourceRoot":"","sources":["../src/SchemaAST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaAST.d.ts","sourceRoot":"","sources":["../src/SchemaAST.ts"],"names":[],"mappings":"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"}
package/dist/SchemaAST.js CHANGED
@@ -75,9 +75,10 @@
75
75
  import * as Arr from "./Array.js";
76
76
  import * as Cause from "./Cause.js";
77
77
  import * as Effect from "./Effect.js";
78
+ import * as Exit from "./Exit.js";
78
79
  import { format, formatPropertyKey } from "./Formatter.js";
79
80
  import { memoize } from "./Function.js";
80
- import { effectIsExit } from "./internal/effect.js";
81
+ import { effectIsExit, iterateEager } from "./internal/effect.js";
81
82
  import * as internalRecord from "./internal/record.js";
82
83
  import * as InternalAnnotations from "./internal/schema/annotations.js";
83
84
  import * as Option from "./Option.js";
@@ -1041,6 +1042,16 @@ export class Arrays extends Base {
1041
1042
  parser: recur(ast)
1042
1043
  }));
1043
1044
  const elementLen = elements.length;
1045
+ const [head, ...tail] = rest;
1046
+ const tailLen = tail.length;
1047
+ function getParser(tailThreshold, index) {
1048
+ if (index < elementLen) {
1049
+ return elements[index];
1050
+ } else if (index >= tailThreshold) {
1051
+ return tail[index - tailThreshold];
1052
+ }
1053
+ return head;
1054
+ }
1044
1055
  return Effect.fnUntracedEager(function* (oinput, options) {
1045
1056
  if (oinput._tag === "None") {
1046
1057
  return oinput;
@@ -1050,124 +1061,40 @@ export class Arrays extends Base {
1050
1061
  if (!Array.isArray(input)) {
1051
1062
  return yield* Effect.fail(new Issue.InvalidType(ast, oinput));
1052
1063
  }
1053
- const output = [];
1054
- let issues;
1055
- const errorsAllOption = options.errors === "all";
1056
- let i = 0;
1057
- // ---------------------------------------------
1058
- // handle elements
1059
- // ---------------------------------------------
1060
- for (; i < elementLen; i++) {
1061
- const e = elements[i];
1062
- const value = i < input.length ? Option.some(input[i]) : Option.none();
1063
- const eff = e.parser(value, options);
1064
- const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff);
1065
- if (exit._tag === "Failure") {
1066
- const issueElement = Cause.findError(exit.cause);
1067
- if (Result.isFailure(issueElement)) {
1068
- return yield* exit;
1069
- }
1070
- const issue = new Issue.Pointer([i], issueElement.success);
1071
- if (errorsAllOption) {
1072
- if (issues) issues.push(issue);else issues = [issue];
1073
- } else {
1074
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1075
- }
1076
- } else if (exit.value._tag === "Some") {
1077
- output[i] = exit.value.value;
1078
- } else if (!isOptional(e.ast)) {
1079
- const issue = new Issue.Pointer([i], new Issue.MissingKey(e.ast.context?.annotations));
1080
- if (errorsAllOption) {
1081
- if (issues) issues.push(issue);else issues = [issue];
1082
- } else {
1083
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1084
- }
1085
- }
1086
- }
1064
+ const len = input.length;
1065
+ const state = {
1066
+ ast,
1067
+ getParser,
1068
+ oinput,
1069
+ len,
1070
+ tailThreshold: resolveTailThreshold(len, elementLen, tailLen),
1071
+ output: new globalThis.Array(len),
1072
+ issues: undefined,
1073
+ options
1074
+ };
1075
+ const concurrency = resolveConcurrency(options?.concurrency);
1076
+ const eff = parseArray(state, input, {
1077
+ concurrency: concurrency?.concurrency,
1078
+ end: ast.rest.length === 0 ? elementLen : Math.max(len, elementLen + tailLen)
1079
+ });
1080
+ if (eff) yield* eff;
1087
1081
  // ---------------------------------------------
1088
- // handle rest element
1082
+ // handle excess indexes
1089
1083
  // ---------------------------------------------
1090
- const len = input.length;
1091
- if (ast.rest.length > 0) {
1092
- const [head, ...tail] = rest;
1093
- const keyAnnotations = head.ast.context?.annotations;
1094
- for (; i < len - tail.length; i++) {
1095
- const eff = head.parser(Option.some(input[i]), options);
1096
- const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff);
1097
- if (exit._tag === "Failure") {
1098
- const issueRest = Cause.findError(exit.cause);
1099
- if (Result.isFailure(issueRest)) {
1100
- return yield* exit;
1101
- }
1102
- const issue = new Issue.Pointer([i], issueRest.success);
1103
- if (errorsAllOption) {
1104
- if (issues) issues.push(issue);else issues = [issue];
1105
- } else {
1106
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1107
- }
1108
- } else if (exit.value._tag === "Some") {
1109
- output[i] = exit.value.value;
1110
- } else {
1111
- const issue = new Issue.Pointer([i], new Issue.MissingKey(keyAnnotations));
1112
- if (errorsAllOption) {
1113
- if (issues) issues.push(issue);else issues = [issue];
1114
- } else {
1115
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1116
- }
1117
- }
1118
- }
1119
- // ---------------------------------------------
1120
- // handle post rest elements
1121
- // ---------------------------------------------
1122
- for (let j = 0; j < tail.length; j++) {
1123
- const index = i + j;
1124
- if (len < index) {
1125
- continue;
1126
- } else {
1127
- const tailj = tail[j];
1128
- const keyAnnotations = tailj.ast.context?.annotations;
1129
- const eff = tailj.parser(Option.some(input[index]), options);
1130
- const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff);
1131
- if (exit._tag === "Failure") {
1132
- const issueRest = Cause.findError(exit.cause);
1133
- if (Result.isFailure(issueRest)) {
1134
- return yield* exit;
1135
- }
1136
- const issue = new Issue.Pointer([index], issueRest.success);
1137
- if (errorsAllOption) {
1138
- if (issues) issues.push(issue);else issues = [issue];
1139
- } else {
1140
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1141
- }
1142
- } else if (exit.value._tag === "Some") {
1143
- output[index] = exit.value.value;
1144
- } else {
1145
- const issue = new Issue.Pointer([index], new Issue.MissingKey(keyAnnotations));
1146
- if (errorsAllOption) {
1147
- if (issues) issues.push(issue);else issues = [issue];
1148
- } else {
1149
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1150
- }
1151
- }
1152
- }
1153
- }
1154
- } else {
1155
- // ---------------------------------------------
1156
- // handle excess indexes
1157
- // ---------------------------------------------
1084
+ if (ast.rest.length === 0 && len > elementLen) {
1158
1085
  for (let i = elementLen; i <= len - 1; i++) {
1159
1086
  const issue = new Issue.Pointer([i], new Issue.UnexpectedKey(ast, input[i]));
1160
- if (errorsAllOption) {
1161
- if (issues) issues.push(issue);else issues = [issue];
1087
+ if (options.errors === "all") {
1088
+ if (state.issues) state.issues.push(issue);else state.issues = [issue];
1162
1089
  } else {
1163
1090
  return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1164
1091
  }
1165
1092
  }
1166
1093
  }
1167
- if (issues) {
1168
- return yield* Effect.fail(new Issue.Composite(ast, oinput, issues));
1094
+ if (state.issues) {
1095
+ return yield* Effect.fail(new Issue.Composite(ast, oinput, state.issues));
1169
1096
  }
1170
- return Option.some(output);
1097
+ return Option.some(state.output);
1171
1098
  });
1172
1099
  }
1173
1100
  /** @internal */
@@ -1181,6 +1108,49 @@ export class Arrays extends Base {
1181
1108
  return "array";
1182
1109
  }
1183
1110
  }
1111
+ const parseArray = /*#__PURE__*/iterateEager()({
1112
+ onItem(s, item, i) {
1113
+ const value = i < s.len ? Option.some(item) : Option.none();
1114
+ return s.getParser(s.tailThreshold, i).parser(value, s.options);
1115
+ },
1116
+ step(s, _, exit, i) {
1117
+ if (exit._tag === "Failure") {
1118
+ return wrapPropertyKeyIssue(s, s.ast, i, exit);
1119
+ } else if (exit.value._tag === "Some") {
1120
+ s.output[i] = exit.value.value;
1121
+ } else {
1122
+ const p = s.getParser(s.tailThreshold, i);
1123
+ if (isOptional(p.ast)) return;
1124
+ const issue = new Issue.Pointer([i], new Issue.MissingKey(p.ast.context?.annotations));
1125
+ if (s.options.errors === "all") {
1126
+ if (s.issues) s.issues.push(issue);else s.issues = [issue];
1127
+ } else {
1128
+ return Exit.fail(new Issue.Composite(s.ast, s.oinput, [issue]));
1129
+ }
1130
+ }
1131
+ }
1132
+ });
1133
+ function resolveTailThreshold(inputLen, elementLen, tailLen) {
1134
+ return Math.max(elementLen, inputLen - tailLen);
1135
+ }
1136
+ const resolveConcurrency = value => {
1137
+ value = value === "unbounded" ? Infinity : value ?? 1;
1138
+ return value > 1 ? {
1139
+ concurrency: value
1140
+ } : undefined;
1141
+ };
1142
+ const wrapPropertyKeyIssue = (s, ast, key, exit) => {
1143
+ const issueResult = Cause.findError(exit.cause);
1144
+ if (Result.isFailure(issueResult)) {
1145
+ return exit;
1146
+ }
1147
+ const issue = new Issue.Pointer([key], issueResult.success);
1148
+ if (s.options.errors === "all") {
1149
+ if (s.issues) s.issues.push(issue);else s.issues = [issue];
1150
+ } else {
1151
+ return Exit.fail(new Issue.Composite(ast, s.oinput, [issue]));
1152
+ }
1153
+ };
1184
1154
  /**
1185
1155
  * floating point or integer, with optional exponent
1186
1156
  * @internal
@@ -1343,7 +1313,6 @@ export class Objects extends Base {
1343
1313
  const expectedKeys = [];
1344
1314
  const expectedKeysSet = new Set();
1345
1315
  const properties = [];
1346
- const propertyCount = ast.propertySignatures.length;
1347
1316
  for (const ps of ast.propertySignatures) {
1348
1317
  expectedKeys.push(ps.name);
1349
1318
  expectedKeysSet.add(ps.name);
@@ -1361,6 +1330,37 @@ export class Objects extends Base {
1361
1330
  if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
1362
1331
  return fromRefinement(ast, Predicate.isNotNullish);
1363
1332
  }
1333
+ const parseIndexes = indexCount > 0 ? iterateEager()({
1334
+ onItem: Effect.fnUntracedEager(function* (s, [key, is]) {
1335
+ const parserKey = recur(indexSignatureParameterFromString(is.parameter));
1336
+ const effKey = parserKey(Option.some(key), s.options);
1337
+ const exitKey = effectIsExit(effKey) ? effKey : yield* Effect.exit(effKey);
1338
+ if (exitKey._tag === "Failure") {
1339
+ const eff = wrapPropertyKeyIssue(s, ast, key, exitKey);
1340
+ if (eff) yield* eff;
1341
+ return;
1342
+ }
1343
+ const value = Option.some(s.input[key]);
1344
+ const parserValue = recur(is.type);
1345
+ const effValue = parserValue(value, s.options);
1346
+ const exitValue = effectIsExit(effValue) ? effValue : yield* Effect.exit(effValue);
1347
+ if (exitValue._tag === "Failure") {
1348
+ const eff = wrapPropertyKeyIssue(s, ast, key, exitValue);
1349
+ if (eff) yield* eff;
1350
+ return;
1351
+ } else if (exitKey.value._tag === "Some" && exitValue.value._tag === "Some") {
1352
+ const k2 = exitKey.value.value;
1353
+ const v2 = exitValue.value.value;
1354
+ if (is.merge && is.merge.decode && Object.hasOwn(s.out, k2)) {
1355
+ const [k, v] = is.merge.decode.combine([k2, s.out[k2]], [k2, v2]);
1356
+ internalRecord.set(s.out, k, v);
1357
+ } else {
1358
+ internalRecord.set(s.out, k2, v2);
1359
+ }
1360
+ }
1361
+ }),
1362
+ step: (_s, _, exit) => exit._tag === "Failure" ? exit : undefined
1363
+ }) : undefined;
1364
1364
  return Effect.fnUntracedEager(function* (oinput, options) {
1365
1365
  if (oinput._tag === "None") {
1366
1366
  return oinput;
@@ -1371,7 +1371,14 @@ export class Objects extends Base {
1371
1371
  return yield* Effect.fail(new Issue.InvalidType(ast, oinput));
1372
1372
  }
1373
1373
  const out = {};
1374
- let issues;
1374
+ const state = {
1375
+ ast,
1376
+ oinput,
1377
+ input,
1378
+ out,
1379
+ issues: undefined,
1380
+ options
1381
+ };
1375
1382
  const errorsAllOption = options.errors === "all";
1376
1383
  const onExcessPropertyError = options.onExcessProperty === "error";
1377
1384
  const onExcessPropertyPreserve = options.onExcessProperty === "preserve";
@@ -1388,10 +1395,10 @@ export class Objects extends Base {
1388
1395
  if (onExcessPropertyError) {
1389
1396
  const issue = new Issue.Pointer([key], new Issue.UnexpectedKey(ast, input[key]));
1390
1397
  if (errorsAllOption) {
1391
- if (issues) {
1392
- issues.push(issue);
1398
+ if (state.issues) {
1399
+ state.issues.push(issue);
1393
1400
  } else {
1394
- issues = [issue];
1401
+ state.issues = [issue];
1395
1402
  }
1396
1403
  continue;
1397
1404
  } else {
@@ -1404,93 +1411,30 @@ export class Objects extends Base {
1404
1411
  }
1405
1412
  }
1406
1413
  }
1414
+ const concurrency = resolveConcurrency(options?.concurrency);
1407
1415
  // ---------------------------------------------
1408
1416
  // handle property signatures
1409
1417
  // ---------------------------------------------
1410
- for (let i = 0; i < propertyCount; i++) {
1411
- const p = properties[i];
1412
- const value = Object.hasOwn(input, p.name) ? Option.some(input[p.name]) : Option.none();
1413
- const eff = p.parser(value, options);
1414
- const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff);
1415
- if (exit._tag === "Failure") {
1416
- const issueProp = Cause.findError(exit.cause);
1417
- if (Result.isFailure(issueProp)) {
1418
- return yield* exit;
1419
- }
1420
- const issue = new Issue.Pointer([p.name], issueProp.success);
1421
- if (errorsAllOption) {
1422
- if (issues) issues.push(issue);else issues = [issue];
1423
- continue;
1424
- } else {
1425
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1426
- }
1427
- } else if (exit.value._tag === "Some") {
1428
- internalRecord.set(out, p.name, exit.value.value);
1429
- } else if (!isOptional(p.type)) {
1430
- const issue = new Issue.Pointer([p.name], new Issue.MissingKey(p.type.context?.annotations));
1431
- if (errorsAllOption) {
1432
- if (issues) issues.push(issue);else issues = [issue];
1433
- continue;
1434
- } else {
1435
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1436
- }
1437
- }
1438
- }
1418
+ const eff = parseProperties(state, properties, concurrency);
1419
+ if (eff) yield* eff;
1439
1420
  // ---------------------------------------------
1440
1421
  // handle index signatures
1441
1422
  // ---------------------------------------------
1442
- if (indexCount > 0) {
1423
+ if (parseIndexes) {
1424
+ const keyPairs = Arr.empty();
1443
1425
  for (let i = 0; i < indexCount; i++) {
1444
1426
  const is = ast.indexSignatures[i];
1445
1427
  const keys = getIndexSignatureKeys(input, is.parameter);
1446
1428
  for (let j = 0; j < keys.length; j++) {
1447
1429
  const key = keys[j];
1448
- const parserKey = recur(indexSignatureParameterFromString(is.parameter));
1449
- const effKey = parserKey(Option.some(key), options);
1450
- const exitKey = effectIsExit(effKey) ? effKey : yield* Effect.exit(effKey);
1451
- if (exitKey._tag === "Failure") {
1452
- const issueKey = Cause.findError(exitKey.cause);
1453
- if (Result.isFailure(issueKey)) {
1454
- return yield* exitKey;
1455
- }
1456
- const issue = new Issue.Pointer([key], issueKey.success);
1457
- if (errorsAllOption) {
1458
- if (issues) issues.push(issue);else issues = [issue];
1459
- continue;
1460
- }
1461
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1462
- }
1463
- const value = Option.some(input[key]);
1464
- const parserValue = recur(is.type);
1465
- const effValue = parserValue(value, options);
1466
- const exitValue = effectIsExit(effValue) ? effValue : yield* Effect.exit(effValue);
1467
- if (exitValue._tag === "Failure") {
1468
- const issueValue = Cause.findError(exitValue.cause);
1469
- if (Result.isFailure(issueValue)) {
1470
- return yield* exitValue;
1471
- }
1472
- const issue = new Issue.Pointer([key], issueValue.success);
1473
- if (errorsAllOption) {
1474
- if (issues) issues.push(issue);else issues = [issue];
1475
- continue;
1476
- } else {
1477
- return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]));
1478
- }
1479
- } else if (exitKey.value._tag === "Some" && exitValue.value._tag === "Some") {
1480
- const k2 = exitKey.value.value;
1481
- const v2 = exitValue.value.value;
1482
- if (is.merge && is.merge.decode && Object.hasOwn(out, k2)) {
1483
- const [k, v] = is.merge.decode.combine([k2, out[k2]], [k2, v2]);
1484
- internalRecord.set(out, k, v);
1485
- } else {
1486
- internalRecord.set(out, k2, v2);
1487
- }
1488
- }
1430
+ keyPairs.push([key, is]);
1489
1431
  }
1490
1432
  }
1433
+ const eff = parseIndexes(state, keyPairs, concurrency);
1434
+ if (eff) yield* eff;
1491
1435
  }
1492
- if (issues) {
1493
- return yield* Effect.fail(new Issue.Composite(ast, oinput, issues));
1436
+ if (state.issues) {
1437
+ return yield* Effect.fail(new Issue.Composite(ast, oinput, state.issues));
1494
1438
  }
1495
1439
  if (options.propertyOrder === "original") {
1496
1440
  // preserve input keys order
@@ -1533,6 +1477,27 @@ export class Objects extends Base {
1533
1477
  return "object";
1534
1478
  }
1535
1479
  }
1480
+ const parseProperties = /*#__PURE__*/iterateEager()({
1481
+ onItem(s, p) {
1482
+ const value = Object.hasOwn(s.input, p.name) ? Option.some(s.input[p.name]) : Option.none();
1483
+ return p.parser(value, s.options);
1484
+ },
1485
+ step(s, p, exit) {
1486
+ if (exit._tag === "Failure") {
1487
+ return wrapPropertyKeyIssue(s, s.ast, p.name, exit);
1488
+ } else if (exit.value._tag === "Some") {
1489
+ internalRecord.set(s.out, p.name, exit.value.value);
1490
+ } else if (!isOptional(p.type)) {
1491
+ const issue = new Issue.Pointer([p.name], new Issue.MissingKey(p.type.context?.annotations));
1492
+ if (s.options.errors === "all") {
1493
+ if (s.issues) s.issues.push(issue);else s.issues = [issue];
1494
+ return;
1495
+ } else {
1496
+ return Exit.fail(new Issue.Composite(s.ast, s.oinput, [issue]));
1497
+ }
1498
+ }
1499
+ }
1500
+ });
1536
1501
  function mergeChecks(checks, b) {
1537
1502
  if (!checks) {
1538
1503
  return b.checks;
@@ -1766,48 +1731,31 @@ export class Union extends Base {
1766
1731
  getParser(recur) {
1767
1732
  // oxlint-disable-next-line @typescript-eslint/no-this-alias
1768
1733
  const ast = this;
1769
- return Effect.fnUntracedEager(function* (oinput, options) {
1734
+ return (oinput, options) => {
1770
1735
  if (oinput._tag === "None") {
1771
- return oinput;
1736
+ return Effect.succeed(oinput);
1772
1737
  }
1773
1738
  const input = oinput.value;
1774
- const oneOf = ast.mode === "oneOf";
1775
1739
  const candidates = getCandidates(input, ast.types);
1776
- let issues;
1777
- const tracking = {
1740
+ const state = {
1741
+ ast,
1742
+ recur,
1743
+ oinput,
1744
+ input,
1778
1745
  out: undefined,
1779
- successes: []
1746
+ successes: [],
1747
+ issues: undefined,
1748
+ options
1780
1749
  };
1781
- for (let i = 0; i < candidates.length; i++) {
1782
- const candidate = candidates[i];
1783
- const parser = recur(candidate);
1784
- const eff = parser(oinput, options);
1785
- const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff);
1786
- if (exit._tag === "Failure") {
1787
- const issueResult = Cause.findError(exit.cause);
1788
- if (Result.isFailure(issueResult)) {
1789
- return yield* exit;
1790
- }
1791
- if (issues) issues.push(issueResult.success);else issues = [issueResult.success];
1792
- continue;
1793
- } else {
1794
- if (tracking.out && oneOf) {
1795
- tracking.successes.push(candidate);
1796
- return yield* Effect.fail(new Issue.OneOf(ast, input, tracking.successes));
1797
- }
1798
- tracking.out = exit.value;
1799
- tracking.successes.push(candidate);
1800
- if (!oneOf) {
1801
- break;
1802
- }
1803
- }
1750
+ const concurrency = resolveConcurrency(options?.concurrency);
1751
+ const eff = parseUnion(state, candidates, concurrency);
1752
+ if (!eff) {
1753
+ return state.out ? Effect.succeed(state.out) : Effect.fail(new Issue.AnyOf(ast, input, state.issues ?? []));
1804
1754
  }
1805
- if (tracking.out) {
1806
- return tracking.out;
1807
- } else {
1808
- return yield* Effect.fail(new Issue.AnyOf(ast, input, issues ?? []));
1809
- }
1810
- });
1755
+ return Effect.flatMap(eff, _ => {
1756
+ return state.out ? Effect.succeed(state.out) : Effect.fail(new Issue.AnyOf(ast, input, state.issues ?? []));
1757
+ });
1758
+ };
1811
1759
  }
1812
1760
  /** @internal */
1813
1761
  recur(recur) {
@@ -1844,6 +1792,31 @@ export class Union extends Base {
1844
1792
  return Array.from(new Set(types)).join(" | ");
1845
1793
  }
1846
1794
  }
1795
+ const parseUnion = /*#__PURE__*/iterateEager()({
1796
+ onItem(s, ast) {
1797
+ const parser = s.recur(ast);
1798
+ return parser(s.oinput, s.options);
1799
+ },
1800
+ step(s, candidate, exit) {
1801
+ if (exit._tag === "Failure") {
1802
+ const issueResult = Cause.findError(exit.cause);
1803
+ if (Result.isFailure(issueResult)) {
1804
+ return exit;
1805
+ }
1806
+ if (s.issues) s.issues.push(issueResult.success);else s.issues = [issueResult.success];
1807
+ } else {
1808
+ if (s.out && s.ast.mode === "oneOf") {
1809
+ s.successes.push(candidate);
1810
+ return Exit.fail(new Issue.OneOf(s.ast, s.input, s.successes));
1811
+ }
1812
+ s.out = exit.value;
1813
+ s.successes.push(candidate);
1814
+ if (s.ast.mode === "anyOf") {
1815
+ return Exit.void;
1816
+ }
1817
+ }
1818
+ }
1819
+ });
1847
1820
  const nonFiniteLiterals = /*#__PURE__*/new Union([/*#__PURE__*/new Literal("Infinity"), /*#__PURE__*/new Literal("-Infinity"), /*#__PURE__*/new Literal("NaN")], "anyOf");
1848
1821
  const numberToJson = /*#__PURE__*/new Link(/*#__PURE__*/new Union([number, nonFiniteLiterals], "anyOf"), /*#__PURE__*/new Transformation.Transformation(/*#__PURE__*/Getter.Number(), /*#__PURE__*/Getter.transform(n => globalThis.Number.isFinite(n) ? n : globalThis.String(n))));
1849
1822
  function formatIsMutable(isMutable) {
@@ -2003,7 +1976,7 @@ export class FilterGroup extends Pipeable.Class {
2003
1976
  }
2004
1977
  /** @internal */
2005
1978
  export function makeFilter(filter, annotations, aborted = false) {
2006
- return new Filter((input, ast, options) => Issue.make(input, filter(input, ast, options)), annotations, aborted);
1979
+ return new Filter((input, ast, options) => Issue.make(input, ast, filter(input, ast, options)), annotations, aborted);
2007
1980
  }
2008
1981
  /** @internal */
2009
1982
  export function makeFilterByGuard(is, annotations) {
@@ -2645,7 +2618,14 @@ export const resolveDescription = InternalAnnotations.resolveDescription;
2645
2618
  * @internal
2646
2619
  */
2647
2620
  export function isJson(u) {
2648
- const seen = new Set();
2621
+ // `onPath` is the current recursion stack: nodes between the root and the
2622
+ // one being visited. A hit here means we looped back to an ancestor — a
2623
+ // real cycle, not a DAG — so the value is not JSON.
2624
+ const onPath = new Set();
2625
+ // `validated` memoizes subtrees we've already fully checked. Without it, a
2626
+ // diamond-shaped DAG (same node reached through multiple parents) would be
2627
+ // re-traversed once per parent, which is exponential in the nesting depth.
2628
+ const validated = new Set();
2649
2629
  return recur(u);
2650
2630
  function recur(u) {
2651
2631
  if (u === null || typeof u === "string" || typeof u === "boolean") {
@@ -2657,14 +2637,21 @@ export function isJson(u) {
2657
2637
  if (typeof u !== "object" || u === undefined) {
2658
2638
  return false;
2659
2639
  }
2660
- if (seen.has(u)) {
2640
+ if (onPath.has(u)) {
2661
2641
  return false;
2662
2642
  }
2663
- seen.add(u);
2664
- if (Array.isArray(u)) {
2665
- return u.every(recur);
2643
+ if (validated.has(u)) {
2644
+ return true;
2666
2645
  }
2667
- return Object.keys(u).every(key => recur(u[key]));
2646
+ onPath.add(u);
2647
+ const ok = Array.isArray(u) ? u.every(recur) : Object.keys(u).every(key => recur(u[key]));
2648
+ // Pop on exit so siblings reaching the same node via a different path
2649
+ // don't see it as an ancestor (that would reject valid DAGs).
2650
+ onPath.delete(u);
2651
+ if (ok) {
2652
+ validated.add(u);
2653
+ }
2654
+ return ok;
2668
2655
  }
2669
2656
  }
2670
2657
  /** @internal */