effect 4.0.0-beta.104 → 4.0.0-beta.106

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 (300) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/ai-docs/README.md +44 -0
  4. package/ai-docs/package.json +36 -0
  5. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  6. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  7. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  8. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  9. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  10. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  11. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  12. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  13. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  15. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  16. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  17. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  18. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  19. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  20. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  21. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  22. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  23. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  24. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  25. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  26. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  27. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  28. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  29. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  30. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  31. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  32. package/ai-docs/src/03_stream/index.md +4 -0
  33. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  34. package/ai-docs/src/04_integration/index.md +5 -0
  35. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  36. package/ai-docs/src/05_batching/index.md +3 -0
  37. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  38. package/ai-docs/src/06_schedule/index.md +3 -0
  39. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  40. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  41. package/ai-docs/src/07_datetime/index.md +5 -0
  42. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  43. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  44. package/ai-docs/src/08_observability/index.md +7 -0
  45. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  46. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  47. package/ai-docs/src/09_testing/index.md +1 -0
  48. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  49. package/ai-docs/src/10_predicate/index.md +9 -0
  50. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  51. package/ai-docs/src/50_http-client/index.md +3 -0
  52. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  53. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  57. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  59. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  62. package/ai-docs/src/51_http-server/index.md +3 -0
  63. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  64. package/ai-docs/src/60_child-process/index.md +3 -0
  65. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  66. package/ai-docs/src/70_cli/index.md +5 -0
  67. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  68. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  69. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  70. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  71. package/ai-docs/src/71_ai/index.md +5 -0
  72. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  73. package/ai-docs/src/80_cluster/index.md +4 -0
  74. package/ai-docs/src/index.md +10 -0
  75. package/ai-docs/tsconfig.json +24 -0
  76. package/dist/Brand.d.ts +3 -3
  77. package/dist/Brand.d.ts.map +1 -1
  78. package/dist/Brand.js +4 -3
  79. package/dist/Brand.js.map +1 -1
  80. package/dist/Config.d.ts.map +1 -1
  81. package/dist/Config.js +5 -4
  82. package/dist/Config.js.map +1 -1
  83. package/dist/ConfigProvider.d.ts +35 -3
  84. package/dist/ConfigProvider.d.ts.map +1 -1
  85. package/dist/ConfigProvider.js +41 -8
  86. package/dist/ConfigProvider.js.map +1 -1
  87. package/dist/Context.d.ts +0 -1
  88. package/dist/Context.d.ts.map +1 -1
  89. package/dist/Context.js +1 -22
  90. package/dist/Context.js.map +1 -1
  91. package/dist/Cron.d.ts +31 -0
  92. package/dist/Cron.d.ts.map +1 -1
  93. package/dist/Cron.js +58 -2
  94. package/dist/Cron.js.map +1 -1
  95. package/dist/Fiber.d.ts +1 -1
  96. package/dist/Fiber.d.ts.map +1 -1
  97. package/dist/Function.d.ts +26 -0
  98. package/dist/Function.d.ts.map +1 -1
  99. package/dist/Function.js +36 -0
  100. package/dist/Function.js.map +1 -1
  101. package/dist/JsonSchema.d.ts.map +1 -1
  102. package/dist/JsonSchema.js +34 -17
  103. package/dist/JsonSchema.js.map +1 -1
  104. package/dist/Optic.d.ts +35 -21
  105. package/dist/Optic.d.ts.map +1 -1
  106. package/dist/Optic.js +33 -34
  107. package/dist/Optic.js.map +1 -1
  108. package/dist/Schema.d.ts +105 -109
  109. package/dist/Schema.d.ts.map +1 -1
  110. package/dist/Schema.js +141 -104
  111. package/dist/Schema.js.map +1 -1
  112. package/dist/SchemaAST.d.ts +32 -17
  113. package/dist/SchemaAST.d.ts.map +1 -1
  114. package/dist/SchemaAST.js +79 -60
  115. package/dist/SchemaAST.js.map +1 -1
  116. package/dist/SchemaError.d.ts +8 -8
  117. package/dist/SchemaError.d.ts.map +1 -1
  118. package/dist/SchemaError.js +7 -6
  119. package/dist/SchemaError.js.map +1 -1
  120. package/dist/SchemaGetter.d.ts +8 -5
  121. package/dist/SchemaGetter.d.ts.map +1 -1
  122. package/dist/SchemaGetter.js +41 -37
  123. package/dist/SchemaGetter.js.map +1 -1
  124. package/dist/SchemaIssue.d.ts +195 -38
  125. package/dist/SchemaIssue.d.ts.map +1 -1
  126. package/dist/SchemaIssue.js +243 -68
  127. package/dist/SchemaIssue.js.map +1 -1
  128. package/dist/SchemaParser.d.ts +30 -0
  129. package/dist/SchemaParser.d.ts.map +1 -1
  130. package/dist/SchemaParser.js +39 -9
  131. package/dist/SchemaParser.js.map +1 -1
  132. package/dist/SchemaRepresentation.d.ts +15 -3
  133. package/dist/SchemaRepresentation.d.ts.map +1 -1
  134. package/dist/SchemaRepresentation.js +8 -2
  135. package/dist/SchemaRepresentation.js.map +1 -1
  136. package/dist/SchemaTransformation.d.ts +2 -2
  137. package/dist/SchemaTransformation.d.ts.map +1 -1
  138. package/dist/SchemaTransformation.js +26 -26
  139. package/dist/SchemaTransformation.js.map +1 -1
  140. package/dist/ScopedRef.d.ts.map +1 -1
  141. package/dist/ScopedRef.js +1 -1
  142. package/dist/ScopedRef.js.map +1 -1
  143. package/dist/Stdio.d.ts +17 -4
  144. package/dist/Stdio.d.ts.map +1 -1
  145. package/dist/Stdio.js +6 -3
  146. package/dist/Stdio.js.map +1 -1
  147. package/dist/TxQueue.js +1 -1
  148. package/dist/TxQueue.js.map +1 -1
  149. package/dist/internal/effect.js +2 -4
  150. package/dist/internal/effect.js.map +1 -1
  151. package/dist/internal/executionPlan.js +3 -2
  152. package/dist/internal/executionPlan.js.map +1 -1
  153. package/dist/internal/rcRef.js +18 -13
  154. package/dist/internal/rcRef.js.map +1 -1
  155. package/dist/internal/schema/fromJsonSchemaDocument.js +10 -6
  156. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  157. package/dist/internal/schema/schema.js +1 -9
  158. package/dist/internal/schema/schema.js.map +1 -1
  159. package/dist/internal/schema/toArbitrary.d.ts +1 -4
  160. package/dist/internal/schema/toArbitrary.d.ts.map +1 -1
  161. package/dist/internal/schema/toArbitrary.js +0 -74
  162. package/dist/internal/schema/toArbitrary.js.map +1 -1
  163. package/dist/internal/schema/toJsonSchemaDocument.js +18 -4
  164. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  165. package/dist/internal/schema/toRepresentation.js +45 -43
  166. package/dist/internal/schema/toRepresentation.js.map +1 -1
  167. package/dist/testing/TestSchema.d.ts +1 -1
  168. package/dist/testing/TestSchema.d.ts.map +1 -1
  169. package/dist/testing/TestSchema.js +10 -9
  170. package/dist/testing/TestSchema.js.map +1 -1
  171. package/dist/unstable/ai/McpSchema.d.ts +110 -110
  172. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  173. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  174. package/dist/unstable/ai/McpServer.js +23 -11
  175. package/dist/unstable/ai/McpServer.js.map +1 -1
  176. package/dist/unstable/ai/Prompt.d.ts +4 -3
  177. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  178. package/dist/unstable/ai/Prompt.js +42 -17
  179. package/dist/unstable/ai/Prompt.js.map +1 -1
  180. package/dist/unstable/cluster/Entity.d.ts +2 -2
  181. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  182. package/dist/unstable/cluster/Entity.js.map +1 -1
  183. package/dist/unstable/cluster/EntityProxy.d.ts +3 -3
  184. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  185. package/dist/unstable/cluster/EntityProxy.js +4 -3
  186. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  187. package/dist/unstable/cluster/Reply.js +4 -4
  188. package/dist/unstable/cluster/Reply.js.map +1 -1
  189. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  190. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  191. package/dist/unstable/cluster/Sharding.js +14 -5
  192. package/dist/unstable/cluster/Sharding.js.map +1 -1
  193. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  194. package/dist/unstable/encoding/Msgpack.js +6 -6
  195. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  196. package/dist/unstable/eventlog/EventLogEncryption.d.ts +6 -5
  197. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  198. package/dist/unstable/eventlog/EventLogEncryption.js +14 -12
  199. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  200. package/dist/unstable/eventlog/EventLogMessage.d.ts +3 -3
  201. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  202. package/dist/unstable/eventlog/EventLogMessage.js +2 -3
  203. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  204. package/dist/unstable/eventlog/EventLogRemote.js +4 -4
  205. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  206. package/dist/unstable/eventlog/EventLogServerEncrypted.js +3 -2
  207. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  208. package/dist/unstable/http/HttpClient.d.ts +59 -3
  209. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  210. package/dist/unstable/http/HttpClient.js +33 -19
  211. package/dist/unstable/http/HttpClient.js.map +1 -1
  212. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  213. package/dist/unstable/http/HttpServerRequest.js +7 -1
  214. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  215. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
  216. package/dist/unstable/http/MultipartParser/internal/multipart.js +18 -6
  217. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
  218. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -10
  219. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  220. package/dist/unstable/httpapi/HttpApiClient.js +9 -9
  221. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  222. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  223. package/dist/unstable/httpapi/OpenApi.js +1 -1
  224. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  225. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  226. package/dist/unstable/reactivity/AsyncResult.js +4 -4
  227. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  228. package/dist/unstable/reactivity/Atom.d.ts +26 -11
  229. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  230. package/dist/unstable/reactivity/Atom.js +9 -22
  231. package/dist/unstable/reactivity/Atom.js.map +1 -1
  232. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  233. package/dist/unstable/rpc/RpcClient.js +8 -1
  234. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  235. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  236. package/dist/unstable/rpc/RpcServer.js +3 -2
  237. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  238. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  239. package/dist/unstable/sql/SqlResolver.js +20 -16
  240. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  241. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  242. package/dist/unstable/workers/Worker.js +11 -12
  243. package/dist/unstable/workers/Worker.js.map +1 -1
  244. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  245. package/dist/unstable/workflow/Workflow.js +2 -2
  246. package/dist/unstable/workflow/Workflow.js.map +1 -1
  247. package/package.json +5 -2
  248. package/src/Brand.ts +4 -4
  249. package/src/Config.ts +6 -4
  250. package/src/ConfigProvider.ts +43 -8
  251. package/src/Context.ts +1 -23
  252. package/src/Cron.ts +65 -2
  253. package/src/Fiber.ts +1 -1
  254. package/src/Function.ts +37 -0
  255. package/src/JsonSchema.ts +43 -42
  256. package/src/Optic.ts +59 -58
  257. package/src/Schema.ts +213 -217
  258. package/src/SchemaAST.ts +135 -78
  259. package/src/SchemaError.ts +9 -9
  260. package/src/SchemaGetter.ts +89 -30
  261. package/src/SchemaIssue.ts +285 -80
  262. package/src/SchemaParser.ts +51 -17
  263. package/src/SchemaRepresentation.ts +15 -3
  264. package/src/SchemaTransformation.ts +66 -18
  265. package/src/ScopedRef.ts +3 -1
  266. package/src/Stdio.ts +23 -4
  267. package/src/TxQueue.ts +1 -1
  268. package/src/internal/effect.ts +3 -6
  269. package/src/internal/executionPlan.ts +3 -2
  270. package/src/internal/rcRef.ts +24 -16
  271. package/src/internal/schema/fromJsonSchemaDocument.ts +19 -14
  272. package/src/internal/schema/schema.ts +1 -17
  273. package/src/internal/schema/toArbitrary.ts +0 -72
  274. package/src/internal/schema/toJsonSchemaDocument.ts +24 -4
  275. package/src/internal/schema/toRepresentation.ts +66 -48
  276. package/src/testing/TestSchema.ts +10 -10
  277. package/src/unstable/ai/McpServer.ts +23 -11
  278. package/src/unstable/ai/Prompt.ts +51 -19
  279. package/src/unstable/cluster/Entity.ts +7 -2
  280. package/src/unstable/cluster/EntityProxy.ts +12 -5
  281. package/src/unstable/cluster/Reply.ts +4 -4
  282. package/src/unstable/cluster/Sharding.ts +29 -17
  283. package/src/unstable/encoding/Msgpack.ts +12 -8
  284. package/src/unstable/eventlog/EventLogEncryption.ts +15 -16
  285. package/src/unstable/eventlog/EventLogMessage.ts +2 -3
  286. package/src/unstable/eventlog/EventLogRemote.ts +4 -4
  287. package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -2
  288. package/src/unstable/http/HttpClient.ts +132 -23
  289. package/src/unstable/http/HttpServerRequest.ts +8 -3
  290. package/src/unstable/http/MultipartParser/internal/multipart.ts +19 -6
  291. package/src/unstable/httpapi/HttpApiBuilder.ts +32 -13
  292. package/src/unstable/httpapi/HttpApiClient.ts +26 -8
  293. package/src/unstable/httpapi/OpenApi.ts +4 -1
  294. package/src/unstable/reactivity/AsyncResult.ts +11 -6
  295. package/src/unstable/reactivity/Atom.ts +44 -25
  296. package/src/unstable/rpc/RpcClient.ts +9 -1
  297. package/src/unstable/rpc/RpcServer.ts +4 -2
  298. package/src/unstable/sql/SqlResolver.ts +28 -20
  299. package/src/unstable/workers/Worker.ts +13 -14
  300. package/src/unstable/workflow/Workflow.ts +2 -5
@@ -370,6 +370,8 @@ export type Encoding = readonly [Link, ...Array<Link>];
370
370
  * transformations.
371
371
  * - `concurrency` — maximum number of async parse effects to run concurrently;
372
372
  * defaults to `1`, or use `"unbounded"`.
373
+ * - `reportInput` — includes rejected input values in value-bearing schema
374
+ * issues.
373
375
  *
374
376
  * @category options
375
377
  * @since 3.10.0
@@ -432,6 +434,34 @@ export interface ParseOptions {
432
434
  * @default 1
433
435
  */
434
436
  readonly concurrency?: number | "unbounded" | undefined;
437
+ /**
438
+ * Whether schema issues should retain and report rejected input values.
439
+ *
440
+ * **Details**
441
+ *
442
+ * When enabled, value-bearing issues created by the parser expose an `input`
443
+ * field. Built-in formatters may include reported input in default messages.
444
+ * The input is retained by reference rather than copied.
445
+ *
446
+ * **Gotchas**
447
+ *
448
+ * Enabling this option can retain or disclose secrets, personally
449
+ * identifiable information, and large object graphs. The `input` field is
450
+ * enumerable and may be included by object enumeration, spread, or
451
+ * serialization. Disabling it on a nested schema does not redact that value
452
+ * from an ancestor issue whose input reporting remains enabled. Issues
453
+ * returned directly by user-defined declarations, checks, transformations,
454
+ * and middleware are not modified; their authors decide whether to retain an
455
+ * input. To respect this option, pass the callback's input and parse options
456
+ * directly to a value-bearing issue constructor. Custom messages and
457
+ * annotations remain the caller's responsibility regardless of this option.
458
+ * Formatting an issue with `SchemaIssue.makeFormatterDefault()`, reading
459
+ * `SchemaError.message`, or formatting a Standard Schema failure can disclose
460
+ * retained input.
461
+ *
462
+ * @default false
463
+ */
464
+ readonly reportInput?: boolean | undefined;
435
465
  }
436
466
  /**
437
467
  * Represents per-property metadata attached to AST nodes via {@link Base.context}.
@@ -1344,21 +1374,6 @@ export type Check<T> = Filter<T> | FilterGroup<T>;
1344
1374
  */
1345
1375
  export declare function isPattern(regExp: globalThis.RegExp, annotations?: Schema.Annotations.Filter): Filter<string>;
1346
1376
  export declare function mapOrSame<A>(as: ReadonlyArray<A>, f: (a: A) => A): ReadonlyArray<A>;
1347
- /**
1348
- * Marks an AST node's property key as optional by setting
1349
- * {@link Context.isOptional} to `true`.
1350
- *
1351
- * **Details**
1352
- *
1353
- * Also propagates the optional flag through the last link of the encoding
1354
- * chain if present.
1355
- *
1356
- * @see {@link isOptional}
1357
- * @see {@link Context}
1358
- * @category transforming
1359
- * @since 4.0.0
1360
- */
1361
- export declare function optionalKey<A extends AST>(ast: A): A;
1362
1377
  /**
1363
1378
  * Attaches a `Transformation` to the `to` AST, making it decode from the
1364
1379
  * `from` AST and encode back to it.
@@ -1417,7 +1432,7 @@ export declare function isOptional(ast: AST): boolean;
1417
1432
  * @category transforming
1418
1433
  * @since 4.0.0
1419
1434
  */
1420
- export declare const toType: <A extends AST>(ast: A) => A;
1435
+ export declare const toType: <A extends AST>(a: A) => A;
1421
1436
  /**
1422
1437
  * Returns the encoded (wire-format) AST by flipping and then stripping
1423
1438
  * encodings.
@@ -1444,7 +1459,7 @@ export declare const toType: <A extends AST>(ast: A) => A;
1444
1459
  * @category transforming
1445
1460
  * @since 4.0.0
1446
1461
  */
1447
- export declare const toEncoded: (ast: AST) => AST;
1462
+ export declare const toEncoded: (a: AST) => AST;
1448
1463
  /**
1449
1464
  * Swaps the decode and encode directions of an AST's {@link Encoding} chain.
1450
1465
  *
@@ -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":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AASrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AAGjE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,GAAG,GACX,WAAW,GACX,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,KAAK,GACL,OAAO,GACP,GAAG,GACH,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,YAAY,GACZ,aAAa,GACb,IAAI,GACJ,eAAe,GACf,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,CAAA;AAMX;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,CAE1C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,QAhCX,GAAG,uBAgCmC,CAAA;AAErD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,QAjDJ,GAAG,gBAiDqB,CAAA;AAEvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,QAhET,GAAG,qBAgE+B,CAAA;AAEjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,QA/EJ,GAAG,gBA+EqB,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,QA/FL,GAAG,iBA+FuB,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,QA9GP,GAAG,mBA8G2B,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,KAAK,QA7HH,GAAG,eA6HmB,CAAA;AAErC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,QA9IN,GAAG,kBA8IyB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,QA3JN,GAAG,kBA2JyB,CAAA;AAE3C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,QA3KP,GAAG,mBA2K2B,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,QA1LN,GAAG,kBA0LyB,CAAA;AAE3C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,QAzMN,GAAG,kBAyMyB,CAAA;AAE3C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,QAxNP,GAAG,mBAwN2B,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAhOZ,GAAG,wBAgOqC,CAAA;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,QAjPb,GAAG,yBAiPuC,CAAA;AAEzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,QAhQJ,GAAG,gBAgQqB,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAxQf,GAAG,2BAwQ2C,CAAA;AAE7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,QAvRN,GAAG,kBAuRyB,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,QA/RP,GAAG,mBA+R2B,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAvSL,GAAG,sBAuSuB,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,SAAS,QA/SP,GAAG,mBA+S2B,CAAA;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,IAAI;IACf,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,cAAc,EACnB,oBAAoB,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvD,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAEjE,YACE,EAAE,EAAE,GAAG,EACP,cAAc,EACV,oBAAoB,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvD,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAIlE;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;IAE7C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IAEvE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAExD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3C;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,EAAE,IAAI,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAEjE,YACE,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO;IAClB,8EAA8E;IAC9E,kBAAkB,GAAE,IAAI,GAAG,SAAqB,EAChD,WAAW,GAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAqB,EAMrE;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEhE,QAAA,MAAM,MAAM,mBAAmB,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,IAAI;IACxB,QAAQ,CAAC,CAAC,MAAM,CAAC,oBAAS;IAC1B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,GAAG,SAAS,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAErC,YACE,WAAW,GAAE,MAAM,CAAC,WAAW,CAAC,WAAW,GAAG,SAAqB,EACnE,MAAM,GAAE,MAAM,GAAG,SAAqB,EACtC,QAAQ,GAAE,QAAQ,GAAG,SAAqB,EAC1C,OAAO,GAAE,OAAO,GAAG,SAAqB,EAMzC;IACD,QAAQ,WAEP;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,CACZ,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,KAC/B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC7G,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3C,YACE,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,EAClC,GAAG,EAAE,CACH,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,KAC/B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAC7G,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,MAAM,EAMxB;IASD,OAAO,CAAC,QAAQ;CAoBjB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,IAAK,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,UAAS;CASvB;AAED,QAAA,MAAM,KAAK,MAAa,CAAA;AACxB,OAAO;AACL;;;;;;;;;;GAUG;AACH,KAAK,IAAI,IAAI,EACd,CAAA;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC,QAAQ,CAAC,IAAI,eAAc;CAa5B;AAUD,QAAA,MAAM,UAAU,WAAkB,CAAA;AAClC,OAAO;AACL;;;;;;;;;;GAUG;AACH,UAAU,IAAI,SAAS,EACxB,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,IAAK,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,UAAS;CAcvB;AAED,QAAA,MAAM,KAAK,MAAa,CAAA;AACxB,OAAO;AACL;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,IAAI,IAAI,EACd,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAM,SAAQ,IAAI;IAC7B,QAAQ,CAAC,IAAI,WAAU;CASxB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,OAAc,CAAA;AAEhC;;;;;;;;GAQG;AACH,qBAAa,GAAI,SAAQ,IAAI;IAC3B,QAAQ,CAAC,IAAI,SAAQ;CAStB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,GAAG,KAAY,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,aAAY;CAS1B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,SAAgB,CAAA;AAEpC;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACrC,QAAQ,CAAC,IAAI,mBAAkB;CAShC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,IAAK,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,UAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IAEjE,YACE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EACxD,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EAIlB;CA6BF;AA0BD;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,IAAI;IACvC,QAAQ,CAAC,IAAI,qBAAoB;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IAQlC,YACE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EAuBlB;CA8CF;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,IAAI;IACpC,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,YACE,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EAIlB;CAaF;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,aAAY;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAE9B,YACE,OAAO,EAAE,YAAY,EACrB,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EAOlB;CAqBF;AAeD;;;;;;;;GAQG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,IAAI,YAAW;CAczB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,QAAe,CAAA;AAElC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,IAAI,YAAW;IAaxB,OAAO,CAAC,MAAM;CA2Bf;AAuBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,QAAe,CAAA;AAElC;;;;;;;;GAQG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,aAAY;CAS1B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,SAAgB,CAAA;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,IAAI,YAAW;CAkBzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,MAAM,QAAe,CAAA;AAElC;;;;;;;;;;;;GAYG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,IAAI,YAAW;CAoBzB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,QAAe,CAAA;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,MAAO,SAAQ,IAAI;IAC9B,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3C,YACE,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,EAC5B,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,MAAM,EA0BxB;IAmFD,OAAO,CAAC,QAAQ;CA6BjB;AA6HD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAElB,YACE,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,GAAG,EAIV;CACF;AAED,KAAK,uBAAuB,GACxB,MAAM,GACN,MAAM,GACN,MAAM,GACN,eAAe,GACf,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAoBlC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;IAC3C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAElB,YACE,SAAS,EAAE,GAAG,EACd,IAAI,EAAE,GAAG,EAUV;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,aAAY;IACzB,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC7D,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3C,YACE,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACpD,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,EAC9C,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,MAAM,EAYxB;IA8ND,OAAO,CAAC,QAAQ;CA6CjB;AAgXD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAE,SAAQ,IAAI;IAClD,QAAQ,CAAC,IAAI,WAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAE3C,YACE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,IAAI,EAAE,OAAO,GAAG,OAAO,EACvB,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,MAAM,EAMxB;IA6CD,OAAO,CAAC,QAAQ;CA2DjB;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,aAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,CAAA;IAEzB,YACE,KAAK,EAAE,MAAM,GAAG,EAChB,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,EAC5C,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,OAAO,EAOlB;CAoBF;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAM,CAAC,EAAE,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,KAAK;IAC9C,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,KAAK,WAAW,CAAC,KAAK,GAAG,SAAS,CAAA;IAC3F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAA;IAC3D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,YACE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,KAAK,WAAW,CAAC,KAAK,GAAG,SAAS,EAClF,WAAW,GAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,SAAqB;IAC9D;;OAEG;IACH,OAAO,GAAE,OAAe,EAMzB;IACD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAE1D;IACD,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAEjB;IACD,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAI9E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW,CAAC,EAAE,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,KAAK;IACnD,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAA;IAE3D,YACE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/C,WAAW,GAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,SAAqB,EAK/D;IACD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAE/D;IACD,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAI9E;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAqDjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,kBAuB3F;AAqKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAyEpF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,EACpC,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,CAAC,EACL,cAAc,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACtE,CAAC,CAEH;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE5C;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM,GAAsB,CAAC,SAAS,GAAG,YAmBpD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,SAAS,iBAEpB,CAAA;AAoBF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,mBAMf,CAAA;AAwTF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,WAAW,GAAG,SAAuC,CAAA;AAE5G;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAyC,CAAA;AAEvG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,SAAiD,CAAA;AAExG;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,SAA4C,CAAA;AAE9F;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,SAAkD,CAAA"}
package/dist/SchemaAST.js CHANGED
@@ -15,7 +15,7 @@ import * as Cause from "./Cause.js";
15
15
  import * as Effect from "./Effect.js";
16
16
  import * as Exit from "./Exit.js";
17
17
  import { format, formatPropertyKey } from "./Formatter.js";
18
- import { identity, memoize } from "./Function.js";
18
+ import { identity, memoize, memoizeIdempotent } from "./Function.js";
19
19
  import { effectIsExit, iterateEager } from "./internal/effect.js";
20
20
  import * as InternalRecord from "./internal/record.js";
21
21
  import * as InternalAnnotations from "./internal/schema/annotations.js";
@@ -861,7 +861,7 @@ export class TemplateLiteral extends Base {
861
861
  }
862
862
  return Effect.mapBothEager(result, {
863
863
  onSuccess: () => input,
864
- onFailure: issue => new SchemaIssue.Composite(this, [issue])
864
+ onFailure: issue => new SchemaIssue.Composite(this, [issue], input, options)
865
865
  });
866
866
  };
867
867
  }
@@ -880,8 +880,8 @@ export class TemplateLiteral extends Base {
880
880
  const segments = segmentTemplateLiteralParts(this, s, options);
881
881
  if (segments) return Effect.succeed(segments);
882
882
  return Effect.fail(new SchemaIssue.InvalidValue({
883
- message: "Expected a string matching template literal parts"
884
- }));
883
+ expected: "a string matching template literal parts"
884
+ }, s, options));
885
885
  }), SchemaGetter.transform(parts => parts.join(""))));
886
886
  }
887
887
  }
@@ -1331,7 +1331,7 @@ export class Arrays extends Base {
1331
1331
  }
1332
1332
  // If the input is not an array, return early with an error
1333
1333
  if (!Array.isArray(input)) {
1334
- return yield* Effect.fail(new SchemaIssue.InvalidType(ast));
1334
+ return yield* Effect.fail(new SchemaIssue.InvalidType(ast, input, options));
1335
1335
  }
1336
1336
  if (!elements) {
1337
1337
  elements = ast.elements.map(ast => ({
@@ -1365,16 +1365,17 @@ export class Arrays extends Base {
1365
1365
  // ---------------------------------------------
1366
1366
  if (ast.rest.length === 0 && len > elementLen) {
1367
1367
  for (let i = elementLen; i <= len - 1; i++) {
1368
- const issue = new SchemaIssue.Pointer([i], new SchemaIssue.UnexpectedKey(ast));
1368
+ const unexpected = new SchemaIssue.UnexpectedKey(ast, input[i], options);
1369
+ const issue = new SchemaIssue.Pointer([i], unexpected);
1369
1370
  if (options.errors === "all") {
1370
1371
  if (state.issues) state.issues.push(issue);else state.issues = [issue];
1371
1372
  } else {
1372
- return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue]));
1373
+ return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue], input, options));
1373
1374
  }
1374
1375
  }
1375
1376
  }
1376
1377
  if (state.issues) {
1377
- return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues));
1378
+ return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues, input, options));
1378
1379
  }
1379
1380
  return state.output;
1380
1381
  });
@@ -1416,7 +1417,7 @@ const parseArray = /*#__PURE__*/iterateEager()({
1416
1417
  if (s.options.errors === "all") {
1417
1418
  if (s.issues) s.issues.push(issue);else s.issues = [issue];
1418
1419
  } else {
1419
- return Exit.fail(new SchemaIssue.Composite(s.ast, [issue]));
1420
+ return Exit.fail(new SchemaIssue.Composite(s.ast, [issue], s.input, s.options));
1420
1421
  }
1421
1422
  }
1422
1423
  }
@@ -1433,13 +1434,13 @@ const wrapPropertyKeyIssue = (s, ast, key, exit) => {
1433
1434
  }
1434
1435
  const issue = InternalSchemaCause.getSchemaIssue(exit.cause);
1435
1436
  if (issue === undefined) {
1436
- return Exit.failCause(Cause.map(exit.cause, issue => new SchemaIssue.Composite(ast, [new SchemaIssue.Pointer([key], issue)])));
1437
+ return Exit.failCause(Cause.map(exit.cause, issue => new SchemaIssue.Composite(ast, [new SchemaIssue.Pointer([key], issue)], s.input, s.options)));
1437
1438
  }
1438
1439
  const pointer = new SchemaIssue.Pointer([key], issue);
1439
1440
  if (s.options.errors === "all") {
1440
1441
  if (s.issues) s.issues.push(pointer);else s.issues = [pointer];
1441
1442
  } else {
1442
- return Exit.fail(new SchemaIssue.Composite(ast, [pointer]));
1443
+ return Exit.fail(new SchemaIssue.Composite(ast, [pointer], s.input, s.options));
1443
1444
  }
1444
1445
  };
1445
1446
  /**
@@ -1665,7 +1666,7 @@ export class Objects extends Base {
1665
1666
  }
1666
1667
  // If the input is not a record, return early with an error
1667
1668
  if (!(typeof input === "object" && input !== null && !Array.isArray(input))) {
1668
- return yield* Effect.fail(new SchemaIssue.InvalidType(ast));
1669
+ return yield* Effect.fail(new SchemaIssue.InvalidType(ast, input, options));
1669
1670
  }
1670
1671
  if (!properties) {
1671
1672
  properties = ast.propertySignatures.map(ps => ({
@@ -1703,7 +1704,8 @@ export class Objects extends Base {
1703
1704
  if (!expectedKeysSet.has(key)) {
1704
1705
  // key is unexpected
1705
1706
  if (onExcessPropertyError) {
1706
- const issue = new SchemaIssue.Pointer([key], new SchemaIssue.UnexpectedKey(ast));
1707
+ const unexpected = new SchemaIssue.UnexpectedKey(ast, record[key], options);
1708
+ const issue = new SchemaIssue.Pointer([key], unexpected);
1707
1709
  if (errorsAllOption) {
1708
1710
  if (state.issues) {
1709
1711
  state.issues.push(issue);
@@ -1712,7 +1714,7 @@ export class Objects extends Base {
1712
1714
  }
1713
1715
  continue;
1714
1716
  } else {
1715
- return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue]));
1717
+ return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue], input, options));
1716
1718
  }
1717
1719
  } else {
1718
1720
  // preserve key
@@ -1755,7 +1757,7 @@ export class Objects extends Base {
1755
1757
  if (eff) yield* eff;
1756
1758
  }
1757
1759
  if (state.issues) {
1758
- return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues));
1760
+ return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues, input, options));
1759
1761
  }
1760
1762
  if (options.propertyOrder === "original") {
1761
1763
  // preserve input keys order
@@ -1823,7 +1825,7 @@ const parseProperties = /*#__PURE__*/iterateEager()({
1823
1825
  if (s.issues) s.issues.push(issue);else s.issues = [issue];
1824
1826
  return;
1825
1827
  } else {
1826
- return Exit.fail(new SchemaIssue.Composite(s.ast, [issue]));
1828
+ return Exit.fail(new SchemaIssue.Composite(s.ast, [issue], s.input, s.options));
1827
1829
  }
1828
1830
  }
1829
1831
  }
@@ -1873,7 +1875,7 @@ export function tupleWithRest(ast, rest) {
1873
1875
  }
1874
1876
  return new Arrays(ast.isMutable, ast.elements, rest, undefined, ast.checks);
1875
1877
  }
1876
- const toCandidate = /*#__PURE__*/memoize(ast => {
1878
+ const toCandidate = /*#__PURE__*/memoizeIdempotent(ast => {
1877
1879
  while (true) {
1878
1880
  if (isSuspend(ast)) return unknown;
1879
1881
  const encoding = ast.encoding;
@@ -2129,7 +2131,7 @@ export class Union extends Base {
2129
2131
  if (candidates.length === 1) {
2130
2132
  const result = compile(candidates[0])(input, options);
2131
2133
  if (result._tag === "Success") return result;
2132
- return effectIsExit(result) ? failSingleUnionCandidate(ast, result.cause) : Effect.catchCause(result, cause => failSingleUnionCandidate(ast, cause));
2134
+ return effectIsExit(result) ? failSingleUnionCandidate(ast, result.cause, input, options) : Effect.catchCause(result, cause => failSingleUnionCandidate(ast, cause, input, options));
2133
2135
  }
2134
2136
  const state = {
2135
2137
  ast,
@@ -2146,10 +2148,13 @@ export class Union extends Base {
2146
2148
  orderedStep: true
2147
2149
  } : undefined);
2148
2150
  if (!eff) {
2149
- return state.out ?? Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? []));
2151
+ if (state.out) return state.out;
2152
+ return Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? [], input, options));
2150
2153
  }
2151
2154
  return Effect.flatMapEager(eff, _ => {
2152
- return state.out === InternalParser.sameExit ? Effect.succeed(input) : state.out ?? Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? []));
2155
+ if (state.out === InternalParser.sameExit) return Effect.succeed(input);
2156
+ if (state.out) return state.out;
2157
+ return Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? [], input, options));
2153
2158
  });
2154
2159
  };
2155
2160
  }
@@ -2203,9 +2208,10 @@ export class Union extends Base {
2203
2208
  return Array.from(new Set(types)).join(" | ");
2204
2209
  }
2205
2210
  }
2206
- function failSingleUnionCandidate(ast, cause) {
2211
+ function failSingleUnionCandidate(ast, cause, input, options) {
2207
2212
  const issue = InternalSchemaCause.getSchemaIssue(cause);
2208
- return issue ? Exit.fail(new SchemaIssue.AnyOf(ast, [issue])) : Exit.failCause(cause);
2213
+ if (!issue) return Exit.failCause(cause);
2214
+ return Exit.fail(new SchemaIssue.AnyOf(ast, [issue], input, options));
2209
2215
  }
2210
2216
  const parseUnion = /*#__PURE__*/iterateEager()({
2211
2217
  onItem(s, ast) {
@@ -2222,7 +2228,7 @@ const parseUnion = /*#__PURE__*/iterateEager()({
2222
2228
  } else {
2223
2229
  if (s.out && s.successes) {
2224
2230
  s.successes.push(candidate);
2225
- return Exit.fail(new SchemaIssue.OneOf(s.ast, s.successes));
2231
+ return Exit.fail(new SchemaIssue.OneOf(s.ast, s.successes, s.input, s.options));
2226
2232
  }
2227
2233
  s.out = exit;
2228
2234
  if (s.successes) {
@@ -2398,11 +2404,11 @@ export class FilterGroup extends Pipeable.Class {
2398
2404
  }
2399
2405
  /** @internal */
2400
2406
  export function makeFilter(filter, annotations, aborted = false) {
2401
- return new Filter((input, ast, options) => SchemaIssue.normalizeFilterOutput(ast, filter(input, ast, options)), annotations, aborted);
2407
+ return new Filter((input, ast, options) => SchemaIssue.normalizeFilterOutput(ast, filter(input, ast, options), input, options), annotations, aborted);
2402
2408
  }
2403
2409
  /** @internal */
2404
2410
  export function makeFilterByGuard(is, annotations) {
2405
- return new Filter(input => is(input) ? undefined : new SchemaIssue.InvalidValue(), annotations, true // after a guard, we always want to abort
2411
+ return new Filter((input, _ast, options) => is(input) ? undefined : new SchemaIssue.InvalidValue(undefined, input, options), annotations, true // after a guard, we always want to abort
2406
2412
  );
2407
2413
  }
2408
2414
  /** @internal */
@@ -2497,6 +2503,11 @@ function modifyOwnPropertyDescriptors(ast, f) {
2497
2503
  f(d);
2498
2504
  return Object.create(Object.getPrototypeOf(ast), d);
2499
2505
  }
2506
+ const contextOwners = /*#__PURE__*/new WeakMap();
2507
+ /** @internal */
2508
+ export function getContextOwner(ast) {
2509
+ return contextOwners.get(ast) ?? ast;
2510
+ }
2500
2511
  /** @internal */
2501
2512
  export function replaceEncoding(ast, encoding) {
2502
2513
  if (ast.encoding === encoding) {
@@ -2511,9 +2522,15 @@ export function replaceContext(ast, context) {
2511
2522
  if (ast.context === context) {
2512
2523
  return ast;
2513
2524
  }
2514
- return modifyOwnPropertyDescriptors(ast, d => {
2525
+ const owner = getContextOwner(ast);
2526
+ if (owner.context === context) {
2527
+ return owner;
2528
+ }
2529
+ const out = modifyOwnPropertyDescriptors(ast, d => {
2515
2530
  d.context.value = context;
2516
2531
  });
2532
+ contextOwners.set(out, owner);
2533
+ return out;
2517
2534
  }
2518
2535
  /** @internal */
2519
2536
  export function getLastEncoding(ast) {
@@ -2575,6 +2592,17 @@ export function applyToSelfOrLastLinkEncoding(f) {
2575
2592
  return memoize(out);
2576
2593
  }
2577
2594
  /** @internal */
2595
+ export function applyToSelfOrLastLinkEncodingIdempotent(f, options) {
2596
+ function out(ast) {
2597
+ if (ast.encoding) {
2598
+ const last = ast.encoding[ast.encoding.length - 1];
2599
+ return options?.stopAt?.(last) ? ast : replaceEncoding(ast, updateLastLink(ast.encoding, out));
2600
+ }
2601
+ return f(ast);
2602
+ }
2603
+ return memoizeIdempotent(out);
2604
+ }
2605
+ /** @internal */
2578
2606
  export function middlewareDecoding(ast, middleware) {
2579
2607
  return appendTransformation(ast, middleware, toType(ast));
2580
2608
  }
@@ -2615,31 +2643,20 @@ export function annotateKey(ast, annotations) {
2615
2643
  }) : new Context(false, false, undefined, annotations);
2616
2644
  return replaceContext(ast, context);
2617
2645
  }
2618
- const optionalKeyLastLink = /*#__PURE__*/applyToLastLink(optionalKey);
2619
- /**
2620
- * Marks an AST node's property key as optional by setting
2621
- * {@link Context.isOptional} to `true`.
2622
- *
2623
- * **Details**
2624
- *
2625
- * Also propagates the optional flag through the last link of the encoding
2626
- * chain if present.
2627
- *
2628
- * @see {@link isOptional}
2629
- * @see {@link Context}
2630
- * @category transforming
2631
- * @since 4.0.0
2632
- */
2633
- export function optionalKey(ast) {
2646
+ /** @internal */
2647
+ export const optionalKey = /*#__PURE__*/memoizeIdempotent(ast => {
2634
2648
  const context = ast.context ? ast.context.isOptional === false ? new Context(true, ast.context.isMutable, ast.context.constructorDefault, ast.context.annotations) : ast.context : new Context(true, false);
2635
2649
  return optionalKeyLastLink(replaceContext(ast, context));
2636
- }
2637
- const mutableKeyLastLink = /*#__PURE__*/applyToLastLink(mutableKey);
2650
+ });
2651
+ const optionalKeyLastLink = /*#__PURE__*/applyToLastLink(optionalKey);
2652
+ /** @internal */
2653
+ export const optional = /*#__PURE__*/memoize(ast => optionalKey(new Union([ast, undefined_], "anyOf")));
2638
2654
  /** @internal */
2639
- export function mutableKey(ast) {
2655
+ export const mutableKey = /*#__PURE__*/memoizeIdempotent(ast => {
2640
2656
  const context = ast.context ? ast.context.isMutable === false ? new Context(ast.context.isOptional, true, ast.context.constructorDefault, ast.context.annotations) : ast.context : new Context(false, true);
2641
2657
  return mutableKeyLastLink(replaceContext(ast, context));
2642
- }
2658
+ });
2659
+ const mutableKeyLastLink = /*#__PURE__*/applyToLastLink(mutableKey);
2643
2660
  /** @internal */
2644
2661
  export function withConstructorDefault(ast, defaultValue) {
2645
2662
  const transformation = new SchemaTransformation.Transformation(SchemaGetter.withDefault(defaultValue), SchemaGetter.passthrough());
@@ -2765,7 +2782,7 @@ function extractStructuralChecks(checks) {
2765
2782
  * @category transforming
2766
2783
  * @since 4.0.0
2767
2784
  */
2768
- export const toType = /*#__PURE__*/memoize(ast => {
2785
+ export const toType = /*#__PURE__*/memoizeIdempotent(ast => {
2769
2786
  if (ast.encoding) {
2770
2787
  return toType(replaceEncoding(ast, undefined));
2771
2788
  }
@@ -2807,7 +2824,7 @@ export const toType = /*#__PURE__*/memoize(ast => {
2807
2824
  * @category transforming
2808
2825
  * @since 4.0.0
2809
2826
  */
2810
- export const toEncoded = /*#__PURE__*/memoize(ast => {
2827
+ export const toEncoded = /*#__PURE__*/memoizeIdempotent(ast => {
2811
2828
  return toType(flip(ast));
2812
2829
  });
2813
2830
  function flipEncoding(ast, encoding) {
@@ -2862,15 +2879,17 @@ export function containsUndefined(ast) {
2862
2879
  }
2863
2880
  function fromConst(ast, value) {
2864
2881
  const succeed = InternalParser.succeed(value);
2865
- return input => {
2882
+ return (input, options) => {
2866
2883
  if (input === InternalParser.missing) return InternalParser.missingExit;
2867
- return input === value ? succeed : Effect.fail(new SchemaIssue.InvalidType(ast));
2884
+ if (input === value) return succeed;
2885
+ return Effect.fail(new SchemaIssue.InvalidType(ast, input, options));
2868
2886
  };
2869
2887
  }
2870
2888
  function fromRefinement(ast, refinement) {
2871
- return input => {
2889
+ return (input, options) => {
2872
2890
  if (input === InternalParser.missing) return InternalParser.missingExit;
2873
- return refinement(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast));
2891
+ if (refinement(input)) return InternalParser.sameExit;
2892
+ return Effect.fail(new SchemaIssue.InvalidType(ast, input, options));
2874
2893
  };
2875
2894
  }
2876
2895
  function segmentTemplateLiteralParts(ast, input, options) {
@@ -2927,7 +2946,7 @@ export const enumsToLiterals = /*#__PURE__*/memoize(ast => {
2927
2946
  title: e[0]
2928
2947
  })), "anyOf");
2929
2948
  });
2930
- const parameterFromPropertyKey = /*#__PURE__*/applyToSelfOrLastLinkEncoding(ast => {
2949
+ const parameterFromPropertyKey = /*#__PURE__*/applyToSelfOrLastLinkEncodingIdempotent(ast => {
2931
2950
  switch (ast._tag) {
2932
2951
  default:
2933
2952
  return ast;
@@ -2938,7 +2957,7 @@ const parameterFromPropertyKey = /*#__PURE__*/applyToSelfOrLastLinkEncoding(ast
2938
2957
  }
2939
2958
  });
2940
2959
  /** @internal */
2941
- export const parameterFromString = /*#__PURE__*/applyToSelfOrLastLinkEncoding(ast => {
2960
+ export const parameterFromString = /*#__PURE__*/applyToSelfOrLastLinkEncodingIdempotent(ast => {
2942
2961
  switch (ast._tag) {
2943
2962
  default:
2944
2963
  return ast;
@@ -2949,7 +2968,7 @@ export const parameterFromString = /*#__PURE__*/applyToSelfOrLastLinkEncoding(as
2949
2968
  return ast.recur(parameterFromString);
2950
2969
  }
2951
2970
  });
2952
- const partFromString = /*#__PURE__*/applyToSelfOrLastLinkEncoding(ast => {
2971
+ const partFromString = /*#__PURE__*/applyToSelfOrLastLinkEncodingIdempotent(ast => {
2953
2972
  switch (ast._tag) {
2954
2973
  default:
2955
2974
  return ast;
@@ -3016,14 +3035,14 @@ export const symbolString = /*#__PURE__*/appendChecks(string, [/*#__PURE__*/isSt
3016
3035
  /**
3017
3036
  * to distinguish between Symbol and String, we need to add a check to the string keyword
3018
3037
  */
3019
- const symbolToString = /*#__PURE__*/new Link(symbolString, /*#__PURE__*/new SchemaTransformation.Transformation(/*#__PURE__*/SchemaGetter.transform(description => globalThis.Symbol.for(isStringSymbolRegExp.exec(description)[1])), /*#__PURE__*/SchemaGetter.transformOrFail(sym => {
3038
+ const symbolToString = /*#__PURE__*/new Link(symbolString, /*#__PURE__*/new SchemaTransformation.Transformation(/*#__PURE__*/SchemaGetter.transform(description => globalThis.Symbol.for(isStringSymbolRegExp.exec(description)[1])), /*#__PURE__*/SchemaGetter.transformOrFail((sym, options) => {
3020
3039
  const key = globalThis.Symbol.keyFor(sym);
3021
3040
  if (key !== undefined) {
3022
3041
  return Effect.succeed(globalThis.String(sym));
3023
3042
  }
3024
3043
  return Effect.fail(new SchemaIssue.Forbidden({
3025
3044
  message: "cannot serialize to string, Symbol is not registered"
3026
- }));
3045
+ }, sym, options));
3027
3046
  })));
3028
3047
  /** @internal */
3029
3048
  export function isStringSymbol(annotations) {
@@ -3051,7 +3070,7 @@ export function collectIssues(checks, value, issues, ast, options) {
3051
3070
  } else {
3052
3071
  const issue = check.run(value, ast, options);
3053
3072
  if (issue) {
3054
- const filter = new SchemaIssue.Filter(check, issue);
3073
+ const filter = new SchemaIssue.Filter(check, issue, value, options);
3055
3074
  if (issues) issues.push(filter);else issues = [filter];
3056
3075
  if (options.errors !== "all" || check.aborted) {
3057
3076
  return issues;
@@ -3225,7 +3244,7 @@ export function isJson(u) {
3225
3244
  return isTree(u, isJsonLeaf);
3226
3245
  }
3227
3246
  /** @internal */
3228
- export const Json = /*#__PURE__*/new Declaration([], () => (input, ast) => isJson(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast)), {
3247
+ export const Json = /*#__PURE__*/new Declaration([], () => (input, ast, options) => isJson(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast, input, options)), {
3229
3248
  representation: {
3230
3249
  id: "effect/schema/Json",
3231
3250
  payload: null
@@ -3256,7 +3275,7 @@ export const objectKeywordToJson = /*#__PURE__*/new Link(/*#__PURE__*/new Union(
3256
3275
  export function isStringTree(u) {
3257
3276
  return isTree(u, isStringTreeLeaf);
3258
3277
  }
3259
- const StringTree = /*#__PURE__*/new Declaration([], () => (input, ast) => isStringTree(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast)), {
3278
+ const StringTree = /*#__PURE__*/new Declaration([], () => (input, ast, options) => isStringTree(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast, input, options)), {
3260
3279
  expected: "StringTree",
3261
3280
  toCodecStringTree: () => undefined
3262
3281
  });