effect 4.0.0-rc.118 → 4.0.1

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