effect 4.0.0-beta.97 → 4.0.0-beta.99

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 (221) hide show
  1. package/README.md +1 -3
  2. package/dist/Array.js +1 -1
  3. package/dist/Array.js.map +1 -1
  4. package/dist/Graph.d.ts +1187 -196
  5. package/dist/Graph.d.ts.map +1 -1
  6. package/dist/Graph.js +1031 -283
  7. package/dist/Graph.js.map +1 -1
  8. package/dist/Iterable.d.ts.map +1 -1
  9. package/dist/Iterable.js +41 -1
  10. package/dist/Iterable.js.map +1 -1
  11. package/dist/LayerRef.d.ts +4 -6
  12. package/dist/LayerRef.d.ts.map +1 -1
  13. package/dist/LayerRef.js +4 -6
  14. package/dist/LayerRef.js.map +1 -1
  15. package/dist/Number.d.ts.map +1 -1
  16. package/dist/Number.js +28 -10
  17. package/dist/Number.js.map +1 -1
  18. package/dist/Schema.d.ts +22 -22
  19. package/dist/Schema.d.ts.map +1 -1
  20. package/dist/Schema.js +37 -34
  21. package/dist/Schema.js.map +1 -1
  22. package/dist/SchemaAST.d.ts.map +1 -1
  23. package/dist/SchemaAST.js +25 -10
  24. package/dist/SchemaAST.js.map +1 -1
  25. package/dist/SchemaError.d.ts +53 -0
  26. package/dist/SchemaError.d.ts.map +1 -0
  27. package/dist/SchemaError.js +61 -0
  28. package/dist/SchemaError.js.map +1 -0
  29. package/dist/SchemaGetter.d.ts.map +1 -1
  30. package/dist/SchemaGetter.js +17 -12
  31. package/dist/SchemaGetter.js.map +1 -1
  32. package/dist/SchemaRepresentation.d.ts.map +1 -1
  33. package/dist/SchemaRepresentation.js +186 -224
  34. package/dist/SchemaRepresentation.js.map +1 -1
  35. package/dist/index.d.ts +8 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +8 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/internal/effect.js +35 -11
  40. package/dist/internal/effect.js.map +1 -1
  41. package/dist/internal/schema/equivalence.js +1 -2
  42. package/dist/internal/schema/equivalence.js.map +1 -1
  43. package/dist/internal/schema/representation.js +1 -3
  44. package/dist/internal/schema/representation.js.map +1 -1
  45. package/dist/internal/schema/schema.d.ts +0 -13
  46. package/dist/internal/schema/schema.d.ts.map +1 -1
  47. package/dist/internal/schema/schema.js +4 -29
  48. package/dist/internal/schema/schema.js.map +1 -1
  49. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  50. package/dist/unstable/ai/Tool.js +11 -13
  51. package/dist/unstable/ai/Tool.js.map +1 -1
  52. package/dist/unstable/cli/CliConfig.d.ts +76 -0
  53. package/dist/unstable/cli/CliConfig.d.ts.map +1 -0
  54. package/dist/unstable/cli/CliConfig.js +63 -0
  55. package/dist/unstable/cli/CliConfig.js.map +1 -0
  56. package/dist/unstable/cli/CliError.d.ts +8 -16
  57. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  58. package/dist/unstable/cli/CliError.js +11 -16
  59. package/dist/unstable/cli/CliError.js.map +1 -1
  60. package/dist/unstable/cli/Command.d.ts +40 -4
  61. package/dist/unstable/cli/Command.d.ts.map +1 -1
  62. package/dist/unstable/cli/Command.js +63 -6
  63. package/dist/unstable/cli/Command.js.map +1 -1
  64. package/dist/unstable/cli/GlobalFlag.d.ts +24 -5
  65. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  66. package/dist/unstable/cli/GlobalFlag.js +26 -10
  67. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  68. package/dist/unstable/cli/Param.js +6 -2
  69. package/dist/unstable/cli/Param.js.map +1 -1
  70. package/dist/unstable/cli/index.d.ts +4 -0
  71. package/dist/unstable/cli/index.d.ts.map +1 -1
  72. package/dist/unstable/cli/index.js +4 -0
  73. package/dist/unstable/cli/index.js.map +1 -1
  74. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  75. package/dist/unstable/cli/internal/ansi.js +2 -0
  76. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  77. package/dist/unstable/cli/internal/parser.js +11 -2
  78. package/dist/unstable/cli/internal/parser.js.map +1 -1
  79. package/dist/unstable/cli/internal/wizard.d.ts +13 -0
  80. package/dist/unstable/cli/internal/wizard.d.ts.map +1 -0
  81. package/dist/unstable/cli/internal/wizard.js +212 -0
  82. package/dist/unstable/cli/internal/wizard.js.map +1 -0
  83. package/dist/unstable/cluster/EntityProxyServer.d.ts +1 -1
  84. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  85. package/dist/unstable/cluster/EntityProxyServer.js +2 -4
  86. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  87. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  88. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  89. package/dist/unstable/cluster/internal/entityManager.js +15 -12
  90. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  91. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  92. package/dist/unstable/http/Multipart.js +3 -1
  93. package/dist/unstable/http/Multipart.js.map +1 -1
  94. package/dist/unstable/httpapi/HttpApi.d.ts +36 -15
  95. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  96. package/dist/unstable/httpapi/HttpApi.js +19 -20
  97. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  98. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +51 -62
  99. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  100. package/dist/unstable/httpapi/HttpApiBuilder.js +68 -58
  101. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  102. package/dist/unstable/httpapi/HttpApiClient.d.ts +53 -53
  103. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  104. package/dist/unstable/httpapi/HttpApiClient.js +40 -30
  105. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  106. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +165 -164
  107. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  108. package/dist/unstable/httpapi/HttpApiEndpoint.js +31 -19
  109. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  110. package/dist/unstable/httpapi/HttpApiError.d.ts +22 -0
  111. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  112. package/dist/unstable/httpapi/HttpApiError.js +31 -0
  113. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  114. package/dist/unstable/httpapi/HttpApiGroup.d.ts +55 -30
  115. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  116. package/dist/unstable/httpapi/HttpApiGroup.js +22 -29
  117. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  118. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +8 -8
  119. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  120. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  121. package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
  122. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  123. package/dist/unstable/httpapi/HttpApiScalar.js +4 -3
  124. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  125. package/dist/unstable/httpapi/HttpApiSchema.d.ts +8 -0
  126. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  127. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  128. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +1 -1
  129. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  130. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  131. package/dist/unstable/httpapi/HttpApiTest.d.ts +4 -4
  132. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  133. package/dist/unstable/httpapi/HttpApiTest.js +9 -8
  134. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  135. package/dist/unstable/httpapi/OpenApi.d.ts +1 -1
  136. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  137. package/dist/unstable/httpapi/OpenApi.js +77 -37
  138. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  139. package/dist/unstable/httpapi/internal/html.js +6 -2
  140. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  141. package/dist/unstable/httpapi/internal/mediaType.d.ts +2 -0
  142. package/dist/unstable/httpapi/internal/mediaType.d.ts.map +1 -0
  143. package/dist/unstable/httpapi/internal/mediaType.js +7 -0
  144. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -0
  145. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  146. package/dist/unstable/persistence/PersistedQueue.js +16 -12
  147. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  148. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  149. package/dist/unstable/persistence/Redis.js +5 -3
  150. package/dist/unstable/persistence/Redis.js.map +1 -1
  151. package/dist/unstable/reactivity/Atom.js +1 -1
  152. package/dist/unstable/reactivity/Atom.js.map +1 -1
  153. package/dist/unstable/reactivity/AtomHttpApi.d.ts +7 -7
  154. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  155. package/dist/unstable/reactivity/AtomHttpApi.js +3 -2
  156. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  157. package/dist/unstable/rpc/RpcServer.d.ts +3 -1
  158. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  159. package/dist/unstable/rpc/RpcServer.js +6 -3
  160. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  161. package/dist/unstable/sql/SqlClient.d.ts +1 -2
  162. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  163. package/dist/unstable/sql/SqlClient.js.map +1 -1
  164. package/dist/unstable/workflow/DurableDeferred.js +1 -1
  165. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  166. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +1 -1
  167. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  168. package/dist/unstable/workflow/WorkflowProxyServer.js +1 -2
  169. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  170. package/package.json +3 -3
  171. package/src/Array.ts +1 -1
  172. package/src/Graph.ts +2967 -457
  173. package/src/Iterable.ts +32 -2
  174. package/src/LayerRef.ts +4 -6
  175. package/src/Number.ts +29 -10
  176. package/src/Schema.ts +43 -35
  177. package/src/SchemaAST.ts +25 -13
  178. package/src/SchemaError.ts +64 -0
  179. package/src/SchemaGetter.ts +22 -16
  180. package/src/SchemaRepresentation.ts +165 -202
  181. package/src/index.ts +10 -0
  182. package/src/internal/effect.ts +48 -25
  183. package/src/internal/schema/equivalence.ts +1 -2
  184. package/src/internal/schema/representation.ts +4 -4
  185. package/src/internal/schema/schema.ts +4 -37
  186. package/src/unstable/ai/Tool.ts +13 -16
  187. package/src/unstable/cli/CliConfig.ts +85 -0
  188. package/src/unstable/cli/CliError.ts +27 -16
  189. package/src/unstable/cli/Command.ts +90 -14
  190. package/src/unstable/cli/GlobalFlag.ts +46 -29
  191. package/src/unstable/cli/Param.ts +15 -3
  192. package/src/unstable/cli/index.ts +5 -0
  193. package/src/unstable/cli/internal/ansi.ts +3 -0
  194. package/src/unstable/cli/internal/parser.ts +14 -2
  195. package/src/unstable/cli/internal/wizard.ts +283 -0
  196. package/src/unstable/cluster/EntityProxyServer.ts +15 -17
  197. package/src/unstable/cluster/RunnerStorage.ts +1 -1
  198. package/src/unstable/cluster/internal/entityManager.ts +48 -34
  199. package/src/unstable/http/Multipart.ts +3 -1
  200. package/src/unstable/httpapi/HttpApi.ts +72 -47
  201. package/src/unstable/httpapi/HttpApiBuilder.ts +320 -217
  202. package/src/unstable/httpapi/HttpApiClient.ts +196 -151
  203. package/src/unstable/httpapi/HttpApiEndpoint.ts +251 -447
  204. package/src/unstable/httpapi/HttpApiError.ts +33 -0
  205. package/src/unstable/httpapi/HttpApiGroup.ts +95 -74
  206. package/src/unstable/httpapi/HttpApiMiddleware.ts +10 -7
  207. package/src/unstable/httpapi/HttpApiScalar.ts +15 -12
  208. package/src/unstable/httpapi/HttpApiSchema.ts +8 -0
  209. package/src/unstable/httpapi/HttpApiSwagger.ts +2 -2
  210. package/src/unstable/httpapi/HttpApiTest.ts +15 -14
  211. package/src/unstable/httpapi/OpenApi.ts +74 -36
  212. package/src/unstable/httpapi/internal/html.ts +9 -2
  213. package/src/unstable/httpapi/internal/mediaType.ts +6 -0
  214. package/src/unstable/persistence/PersistedQueue.ts +16 -14
  215. package/src/unstable/persistence/Redis.ts +9 -4
  216. package/src/unstable/reactivity/Atom.ts +1 -1
  217. package/src/unstable/reactivity/AtomHttpApi.ts +164 -162
  218. package/src/unstable/rpc/RpcServer.ts +10 -4
  219. package/src/unstable/sql/SqlClient.ts +1 -2
  220. package/src/unstable/workflow/DurableDeferred.ts +1 -1
  221. package/src/unstable/workflow/WorkflowProxyServer.ts +11 -12
package/dist/Schema.js CHANGED
@@ -33,7 +33,6 @@ import * as InternalArbitrary from "./internal/schema/arbitrary.js";
33
33
  import * as InternalEquivalence from "./internal/schema/equivalence.js";
34
34
  import * as InternalStandard from "./internal/schema/representation.js";
35
35
  import * as InternalSchema from "./internal/schema/schema.js";
36
- import { SchemaError } from "./internal/schema/schema.js";
37
36
  import * as JsonPatch from "./JsonPatch.js";
38
37
  import * as JsonSchema from "./JsonSchema.js";
39
38
  import { remainder } from "./Number.js";
@@ -47,6 +46,7 @@ import * as Redacted_ from "./Redacted.js";
47
46
  import * as Result_ from "./Result.js";
48
47
  import * as Scheduler from "./Scheduler.js";
49
48
  import * as SchemaAST from "./SchemaAST.js";
49
+ import { isSchemaError, SchemaError } from "./SchemaError.js";
50
50
  import * as SchemaGetter from "./SchemaGetter.js";
51
51
  import * as SchemaIssue from "./SchemaIssue.js";
52
52
  import * as SchemaParser from "./SchemaParser.js";
@@ -307,6 +307,27 @@ export function revealCodec(codec) {
307
307
  return codec;
308
308
  }
309
309
  export {
310
+ /**
311
+ * Returns `true` if `u` is a {@link SchemaError}.
312
+ *
313
+ * **Example** (Narrowing Schema errors in a catch block)
314
+ *
315
+ * ```ts
316
+ * import { Schema } from "effect"
317
+ *
318
+ * try {
319
+ * Schema.decodeUnknownSync(Schema.Number)("oops")
320
+ * } catch (err) {
321
+ * if (Schema.isSchemaError(err)) {
322
+ * console.log(err._tag) // "SchemaError"
323
+ * }
324
+ * }
325
+ * ```
326
+ *
327
+ * @category guards
328
+ * @since 4.0.0
329
+ */
330
+ isSchemaError,
310
331
  /**
311
332
  * Error thrown (or returned as the error channel value) when schema decoding
312
333
  * or encoding fails.
@@ -339,29 +360,6 @@ export {
339
360
  * @since 4.0.0
340
361
  */
341
362
  SchemaError };
342
- /**
343
- * Returns `true` if `u` is a {@link SchemaError}.
344
- *
345
- * **Example** (Narrowing Schema errors in a catch block)
346
- *
347
- * ```ts
348
- * import { Schema } from "effect"
349
- *
350
- * try {
351
- * Schema.decodeUnknownSync(Schema.Number)("oops")
352
- * } catch (err) {
353
- * if (Schema.isSchemaError(err)) {
354
- * console.log(err._tag) // "SchemaError"
355
- * }
356
- * }
357
- * ```
358
- *
359
- * @category guards
360
- * @since 4.0.0
361
- */
362
- export function isSchemaError(u) {
363
- return Predicate.hasProperty(u, InternalSchema.SchemaErrorTypeId);
364
- }
365
363
  function makeStandardResult(exit) {
366
364
  return Exit_.isSuccess(exit) ? exit.value : {
367
365
  issues: [{
@@ -637,7 +635,7 @@ export const asserts = SchemaParser.asserts;
637
635
  export function decodeUnknownEffect(schema, options) {
638
636
  const parser = SchemaParser.decodeUnknownEffect(schema, options);
639
637
  return (input, options) => {
640
- return InternalSchema.mapSchemaIssueEffect(parser(input, options));
638
+ return InternalSchema.fromIssueEffect(parser(input, options));
641
639
  };
642
640
  }
643
641
  /**
@@ -727,9 +725,12 @@ function runSchemaErrorSync(self) {
727
725
  export function decodeUnknownExit(schema, options) {
728
726
  const parser = SchemaParser.decodeUnknownExit(schema, options);
729
727
  return (input, options) => {
730
- return InternalSchema.mapSchemaIssueExit(parser(input, options));
728
+ return fromIssueExit(parser(input, options));
731
729
  };
732
730
  }
731
+ function fromIssueExit(exit) {
732
+ return Exit_.isSuccess(exit) ? Exit_.succeed(exit.value) : Exit_.failCause(Cause_.map(exit.cause, issue => new SchemaError(issue)));
733
+ }
733
734
  /**
734
735
  * Decodes a typed input (the schema's `Encoded` type) against a schema
735
736
  * synchronously, returning an `Exit` that is either a `Success` with the decoded
@@ -1051,7 +1052,7 @@ export const decodeSync = decodeUnknownSync;
1051
1052
  export function encodeUnknownEffect(schema, options) {
1052
1053
  const parser = SchemaParser.encodeUnknownEffect(schema, options);
1053
1054
  return (input, options) => {
1054
- return InternalSchema.mapSchemaIssueEffect(parser(input, options));
1055
+ return InternalSchema.fromIssueEffect(parser(input, options));
1055
1056
  };
1056
1057
  }
1057
1058
  /**
@@ -1108,7 +1109,7 @@ export const encodeEffect = encodeUnknownEffect;
1108
1109
  export function encodeUnknownExit(schema, options) {
1109
1110
  const parser = SchemaParser.encodeUnknownExit(schema, options);
1110
1111
  return (input, options) => {
1111
- return InternalSchema.mapSchemaIssueExit(parser(input, options));
1112
+ return fromIssueExit(parser(input, options));
1112
1113
  };
1113
1114
  }
1114
1115
  /**
@@ -2750,10 +2751,13 @@ export function withConstructorDefault(
2750
2751
  // `S["~type.make.in"]` instead of `S["Type"]` is intentional here because
2751
2752
  // it makes easier to define the default value if there are nested defaults
2752
2753
  defaultValue) {
2753
- return schema => make(SchemaAST.withConstructorDefault(schema.ast, InternalSchema.mapSchemaErrorEffect(defaultValue)), {
2754
+ return schema => make(SchemaAST.withConstructorDefault(schema.ast, toIssueEffect(defaultValue)), {
2754
2755
  schema
2755
2756
  });
2756
2757
  }
2758
+ function toIssueEffect(self) {
2759
+ return Effect.catchCause(self, cause => Effect.failCauseSync(() => Cause_.map(cause, error => error.issue)));
2760
+ }
2757
2761
  /**
2758
2762
  * Makes a struct key optional on the `Encoded` side and provides a default
2759
2763
  * `Encoded` value when the key is missing during decoding.
@@ -2792,7 +2796,7 @@ export function withDecodingDefaultKey(defaultValue, options) {
2792
2796
  const encode = options?.encodingStrategy === "omit" ? SchemaGetter.omit() : SchemaGetter.passthrough();
2793
2797
  return self => {
2794
2798
  return optionalKey(toEncoded(self)).pipe(decodeTo(self, {
2795
- decode: SchemaGetter.withDefault(InternalSchema.mapSchemaErrorEffect(defaultValue)),
2799
+ decode: SchemaGetter.withDefault(toIssueEffect(defaultValue)),
2796
2800
  encode
2797
2801
  }));
2798
2802
  };
@@ -2867,7 +2871,7 @@ export function withDecodingDefault(defaultValue, options) {
2867
2871
  const encode = options?.encodingStrategy === "omit" ? SchemaGetter.omit() : SchemaGetter.passthrough();
2868
2872
  return self => {
2869
2873
  return optional(toEncoded(self)).pipe(decodeTo(self, {
2870
- decode: SchemaGetter.withDefault(InternalSchema.mapSchemaErrorEffect(defaultValue)),
2874
+ decode: SchemaGetter.withDefault(toIssueEffect(defaultValue)),
2871
2875
  encode
2872
2876
  }));
2873
2877
  };
@@ -4158,7 +4162,7 @@ export function isInt(annotations) {
4158
4162
  * @since 4.0.0
4159
4163
  */
4160
4164
  export function isInt32(annotations) {
4161
- return new SchemaAST.FilterGroup([isInt(annotations), isBetween({
4165
+ return new SchemaAST.FilterGroup([isInt(), isBetween({
4162
4166
  minimum: -2147483648,
4163
4167
  maximum: 2147483647
4164
4168
  })], {
@@ -7924,8 +7928,7 @@ export function toFormatter(schema, options) {
7924
7928
  // handle post rest elements
7925
7929
  // ---------------------------------------------
7926
7930
  for (let j = 0; j < tail.length; j++) {
7927
- i += j;
7928
- out.push(tail[j](t[i]));
7931
+ out.push(tail[j](t[i + j]));
7929
7932
  }
7930
7933
  }
7931
7934
  return "[" + out.join(", ") + "]";