effect 4.0.0-beta.101 → 4.0.0-beta.102

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 (494) hide show
  1. package/dist/Array.d.ts.map +1 -1
  2. package/dist/Array.js +81 -5
  3. package/dist/Array.js.map +1 -1
  4. package/dist/Channel.d.ts.map +1 -1
  5. package/dist/Channel.js +27 -9
  6. package/dist/Channel.js.map +1 -1
  7. package/dist/Config.d.ts +1 -1
  8. package/dist/Config.d.ts.map +1 -1
  9. package/dist/Config.js +6 -5
  10. package/dist/Config.js.map +1 -1
  11. package/dist/ConfigProvider.js +7 -7
  12. package/dist/ConfigProvider.js.map +1 -1
  13. package/dist/Data.d.ts.map +1 -1
  14. package/dist/Data.js +2 -1
  15. package/dist/Data.js.map +1 -1
  16. package/dist/Effect.d.ts +61 -100
  17. package/dist/Effect.d.ts.map +1 -1
  18. package/dist/Effect.js +66 -39
  19. package/dist/Effect.js.map +1 -1
  20. package/dist/FiberHandle.d.ts.map +1 -1
  21. package/dist/FiberHandle.js +3 -2
  22. package/dist/FiberHandle.js.map +1 -1
  23. package/dist/Iterable.d.ts.map +1 -1
  24. package/dist/Iterable.js +2 -1
  25. package/dist/Iterable.js.map +1 -1
  26. package/dist/JsonPatch.d.ts.map +1 -1
  27. package/dist/JsonPatch.js +4 -3
  28. package/dist/JsonPatch.js.map +1 -1
  29. package/dist/JsonSchema.d.ts.map +1 -1
  30. package/dist/JsonSchema.js +9 -11
  31. package/dist/JsonSchema.js.map +1 -1
  32. package/dist/Logger.d.ts.map +1 -1
  33. package/dist/Logger.js +3 -2
  34. package/dist/Logger.js.map +1 -1
  35. package/dist/ManagedRuntime.d.ts +9 -0
  36. package/dist/ManagedRuntime.d.ts.map +1 -1
  37. package/dist/ManagedRuntime.js +3 -0
  38. package/dist/ManagedRuntime.js.map +1 -1
  39. package/dist/Metric.d.ts.map +1 -1
  40. package/dist/Metric.js +4 -3
  41. package/dist/Metric.js.map +1 -1
  42. package/dist/Optic.d.ts.map +1 -1
  43. package/dist/Optic.js +5 -4
  44. package/dist/Optic.js.map +1 -1
  45. package/dist/Option.d.ts.map +1 -1
  46. package/dist/Option.js +2 -1
  47. package/dist/Option.js.map +1 -1
  48. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  49. package/dist/PartitionedSemaphore.js +1 -4
  50. package/dist/PartitionedSemaphore.js.map +1 -1
  51. package/dist/Record.d.ts +93 -1
  52. package/dist/Record.d.ts.map +1 -1
  53. package/dist/Record.js +57 -19
  54. package/dist/Record.js.map +1 -1
  55. package/dist/References.d.ts +0 -45
  56. package/dist/References.d.ts.map +1 -1
  57. package/dist/References.js +0 -45
  58. package/dist/References.js.map +1 -1
  59. package/dist/Request.d.ts.map +1 -1
  60. package/dist/Request.js +9 -6
  61. package/dist/Request.js.map +1 -1
  62. package/dist/Result.d.ts.map +1 -1
  63. package/dist/Result.js +2 -1
  64. package/dist/Result.js.map +1 -1
  65. package/dist/Schema.d.ts +1268 -495
  66. package/dist/Schema.d.ts.map +1 -1
  67. package/dist/Schema.js +2308 -614
  68. package/dist/Schema.js.map +1 -1
  69. package/dist/SchemaAST.d.ts +2 -2
  70. package/dist/SchemaAST.d.ts.map +1 -1
  71. package/dist/SchemaAST.js +189 -130
  72. package/dist/SchemaAST.js.map +1 -1
  73. package/dist/SchemaError.js +1 -1
  74. package/dist/SchemaError.js.map +1 -1
  75. package/dist/SchemaGetter.d.ts +13 -11
  76. package/dist/SchemaGetter.d.ts.map +1 -1
  77. package/dist/SchemaGetter.js +34 -24
  78. package/dist/SchemaGetter.js.map +1 -1
  79. package/dist/SchemaIssue.js +1 -1
  80. package/dist/SchemaIssue.js.map +1 -1
  81. package/dist/SchemaParser.d.ts.map +1 -1
  82. package/dist/SchemaParser.js +1 -12
  83. package/dist/SchemaParser.js.map +1 -1
  84. package/dist/SchemaRepresentation.d.ts +403 -1504
  85. package/dist/SchemaRepresentation.d.ts.map +1 -1
  86. package/dist/SchemaRepresentation.js +294 -2852
  87. package/dist/SchemaRepresentation.js.map +1 -1
  88. package/dist/SchemaTransformation.d.ts +2 -2
  89. package/dist/SchemaTransformation.js +3 -3
  90. package/dist/SchemaTransformation.js.map +1 -1
  91. package/dist/Semaphore.d.ts +5 -3
  92. package/dist/Semaphore.d.ts.map +1 -1
  93. package/dist/Semaphore.js.map +1 -1
  94. package/dist/Stream.d.ts +15 -9
  95. package/dist/Stream.d.ts.map +1 -1
  96. package/dist/Stream.js +46 -16
  97. package/dist/Stream.js.map +1 -1
  98. package/dist/Struct.d.ts.map +1 -1
  99. package/dist/Struct.js +5 -4
  100. package/dist/Struct.js.map +1 -1
  101. package/dist/Types.d.ts +1 -3
  102. package/dist/Types.d.ts.map +1 -1
  103. package/dist/index.d.ts +0 -4
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +0 -4
  106. package/dist/index.js.map +1 -1
  107. package/dist/internal/core.js +2 -1
  108. package/dist/internal/core.js.map +1 -1
  109. package/dist/internal/effect.js +64 -21
  110. package/dist/internal/effect.js.map +1 -1
  111. package/dist/internal/matcher.js +1 -1
  112. package/dist/internal/matcher.js.map +1 -1
  113. package/dist/internal/record.d.ts +0 -3
  114. package/dist/internal/record.d.ts.map +1 -1
  115. package/dist/internal/record.js +10 -5
  116. package/dist/internal/record.js.map +1 -1
  117. package/dist/internal/references.js +0 -4
  118. package/dist/internal/references.js.map +1 -1
  119. package/dist/internal/schema/annotations.js +12 -0
  120. package/dist/internal/schema/annotations.js.map +1 -1
  121. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  122. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  123. package/dist/internal/schema/fromJsonSchemaDocument.js +743 -0
  124. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  125. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  126. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  127. package/dist/internal/schema/fromRepresentation.js +252 -0
  128. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  129. package/dist/internal/schema/schema.js +28 -40
  130. package/dist/internal/schema/schema.js.map +1 -1
  131. package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
  132. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  133. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
  134. package/dist/internal/schema/toArbitrary.js.map +1 -0
  135. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  136. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  137. package/dist/internal/schema/toCodeDocument.js +438 -0
  138. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  139. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  140. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  141. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  142. package/dist/internal/schema/toEquivalence.js.map +1 -0
  143. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  144. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  145. package/dist/internal/schema/toJsonSchemaDocument.js +466 -0
  146. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  147. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  148. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  149. package/dist/internal/schema/toRepresentation.js +369 -0
  150. package/dist/internal/schema/toRepresentation.js.map +1 -0
  151. package/dist/internal/stackTraceLimit.js +3 -6
  152. package/dist/internal/stackTraceLimit.js.map +1 -1
  153. package/dist/testing/TestClock.js +4 -1
  154. package/dist/testing/TestClock.js.map +1 -1
  155. package/dist/unstable/ai/AiError.d.ts +26 -26
  156. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  157. package/dist/unstable/ai/AiError.js +5 -4
  158. package/dist/unstable/ai/AiError.js.map +1 -1
  159. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +21 -6
  160. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  161. package/dist/unstable/ai/AnthropicStructuredOutput.js +86 -316
  162. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  163. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  164. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  165. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  166. package/dist/unstable/ai/LanguageModel.d.ts +4 -1
  167. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  168. package/dist/unstable/ai/LanguageModel.js +19 -17
  169. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  170. package/dist/unstable/ai/McpSchema.d.ts +197 -197
  171. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  172. package/dist/unstable/ai/McpSchema.js +13 -13
  173. package/dist/unstable/ai/McpSchema.js.map +1 -1
  174. package/dist/unstable/ai/McpServer.d.ts +4 -4
  175. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  176. package/dist/unstable/ai/McpServer.js +116 -49
  177. package/dist/unstable/ai/McpServer.js.map +1 -1
  178. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +32 -10
  179. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  180. package/dist/unstable/ai/OpenAiStructuredOutput.js +193 -377
  181. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  182. package/dist/unstable/ai/Response.d.ts +19 -19
  183. package/dist/unstable/ai/Response.d.ts.map +1 -1
  184. package/dist/unstable/ai/Response.js +14 -14
  185. package/dist/unstable/ai/Response.js.map +1 -1
  186. package/dist/unstable/ai/Tool.d.ts +4 -0
  187. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  188. package/dist/unstable/ai/Tool.js +11 -3
  189. package/dist/unstable/ai/Tool.js.map +1 -1
  190. package/dist/unstable/ai/Toolkit.d.ts +9 -1
  191. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  192. package/dist/unstable/ai/Toolkit.js +14 -10
  193. package/dist/unstable/ai/Toolkit.js.map +1 -1
  194. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  195. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  196. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  197. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  198. package/dist/unstable/ai/internal/structured-output.js +316 -0
  199. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  200. package/dist/unstable/cli/CliError.d.ts +40 -2
  201. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  202. package/dist/unstable/cli/CliError.js +45 -6
  203. package/dist/unstable/cli/CliError.js.map +1 -1
  204. package/dist/unstable/cli/Command.js +14 -5
  205. package/dist/unstable/cli/Command.js.map +1 -1
  206. package/dist/unstable/cli/Param.js +3 -3
  207. package/dist/unstable/cli/Param.js.map +1 -1
  208. package/dist/unstable/cli/Primitive.js +1 -1
  209. package/dist/unstable/cli/Primitive.js.map +1 -1
  210. package/dist/unstable/cli/internal/command.d.ts +3 -1
  211. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  212. package/dist/unstable/cli/internal/command.js +11 -4
  213. package/dist/unstable/cli/internal/command.js.map +1 -1
  214. package/dist/unstable/cli/internal/config.d.ts +0 -48
  215. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  216. package/dist/unstable/cli/internal/config.js +8 -10
  217. package/dist/unstable/cli/internal/config.js.map +1 -1
  218. package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
  219. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  220. package/dist/unstable/cluster/Entity.js +1 -1
  221. package/dist/unstable/cluster/Entity.js.map +1 -1
  222. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  223. package/dist/unstable/cluster/Envelope.js +2 -1
  224. package/dist/unstable/cluster/Envelope.js.map +1 -1
  225. package/dist/unstable/cluster/Reply.js +1 -1
  226. package/dist/unstable/cluster/Reply.js.map +1 -1
  227. package/dist/unstable/cluster/Runner.d.ts +1 -1
  228. package/dist/unstable/cluster/Runner.js +1 -1
  229. package/dist/unstable/cluster/Runner.js.map +1 -1
  230. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  231. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  232. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  233. package/dist/unstable/cluster/ShardId.js +1 -1
  234. package/dist/unstable/cluster/ShardId.js.map +1 -1
  235. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  236. package/dist/unstable/cluster/Sharding.js +125 -24
  237. package/dist/unstable/cluster/Sharding.js.map +1 -1
  238. package/dist/unstable/cluster/ShardingConfig.d.ts +10 -2
  239. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  240. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  241. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  242. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  243. package/dist/unstable/cluster/SingleRunner.js +2 -1
  244. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  245. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  246. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  247. package/dist/unstable/cluster/SqlMessageStorage.js +55 -24
  248. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  249. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  250. package/dist/unstable/cluster/SqlRunnerStorage.js +109 -62
  251. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  252. package/dist/unstable/cluster/internal/entityManager.js +19 -7
  253. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  254. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  255. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  256. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  257. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  258. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  259. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  260. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  261. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  262. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  263. package/dist/unstable/eventlog/EventJournal.js +1 -1
  264. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  265. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  266. package/dist/unstable/eventlog/EventLog.js +15 -11
  267. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  268. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  269. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  270. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  271. package/dist/unstable/eventlog/EventLogMessage.d.ts +4 -4
  272. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  273. package/dist/unstable/eventlog/EventLogMessage.js +8 -3
  274. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  275. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  276. package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
  277. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  278. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  279. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  280. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  281. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  282. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  283. package/dist/unstable/http/Cookies.js +24 -22
  284. package/dist/unstable/http/Cookies.js.map +1 -1
  285. package/dist/unstable/http/Headers.js +8 -8
  286. package/dist/unstable/http/Headers.js.map +1 -1
  287. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  288. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  289. package/dist/unstable/http/HttpClientRequest.js +14 -0
  290. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  291. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  292. package/dist/unstable/http/HttpServerRequest.js +5 -4
  293. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  294. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  295. package/dist/unstable/http/Multipart.js +17 -15
  296. package/dist/unstable/http/Multipart.js.map +1 -1
  297. package/dist/unstable/http/Template.js +1 -1
  298. package/dist/unstable/http/Template.js.map +1 -1
  299. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  300. package/dist/unstable/http/UrlParams.js +17 -14
  301. package/dist/unstable/http/UrlParams.js.map +1 -1
  302. package/dist/unstable/httpapi/HttpApi.js +3 -3
  303. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  304. package/dist/unstable/httpapi/HttpApiClient.js +5 -5
  305. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  306. package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
  307. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  308. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  309. package/dist/unstable/httpapi/OpenApi.js +37 -24
  310. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  311. package/dist/unstable/observability/OtlpExporter.d.ts +72 -1
  312. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  313. package/dist/unstable/observability/OtlpExporter.js +69 -4
  314. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  315. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  316. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  317. package/dist/unstable/observability/OtlpLogger.js +2 -2
  318. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  319. package/dist/unstable/observability/OtlpMetrics.d.ts +7 -3
  320. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  321. package/dist/unstable/observability/OtlpMetrics.js +5 -2
  322. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  323. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  324. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  325. package/dist/unstable/observability/OtlpTracer.js +2 -2
  326. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  327. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  328. package/dist/unstable/persistence/Persistable.js +2 -1
  329. package/dist/unstable/persistence/Persistable.js.map +1 -1
  330. package/dist/unstable/persistence/RateLimiter.d.ts +2 -2
  331. package/dist/unstable/persistence/RateLimiter.js +2 -2
  332. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  333. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  334. package/dist/unstable/persistence/Redis.js +2 -2
  335. package/dist/unstable/persistence/Redis.js.map +1 -1
  336. package/dist/unstable/process/ChildProcessSpawner.js +3 -1
  337. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  338. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  339. package/dist/unstable/reactivity/AsyncResult.js +4 -3
  340. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  341. package/dist/unstable/reactivity/Atom.d.ts +83 -0
  342. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  343. package/dist/unstable/reactivity/Atom.js +31 -0
  344. package/dist/unstable/reactivity/Atom.js.map +1 -1
  345. package/dist/unstable/reactivity/AtomRegistry.js +1 -1
  346. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  347. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  348. package/dist/unstable/rpc/RpcClient.js +2 -1
  349. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  350. package/dist/unstable/schema/VariantSchema.d.ts +1 -2
  351. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  352. package/dist/unstable/schema/VariantSchema.js +13 -10
  353. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  354. package/dist/unstable/socket/Socket.d.ts +1 -1
  355. package/dist/unstable/socket/Socket.js +1 -1
  356. package/dist/unstable/socket/Socket.js.map +1 -1
  357. package/dist/unstable/sql/SqlError.d.ts +2 -2
  358. package/dist/unstable/sql/SqlError.js +2 -2
  359. package/dist/unstable/sql/SqlError.js.map +1 -1
  360. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  361. package/dist/unstable/sql/Statement.js +7 -6
  362. package/dist/unstable/sql/Statement.js.map +1 -1
  363. package/package.json +1 -1
  364. package/src/Array.ts +86 -25
  365. package/src/Channel.ts +32 -14
  366. package/src/Config.ts +6 -5
  367. package/src/ConfigProvider.ts +7 -7
  368. package/src/Data.ts +3 -2
  369. package/src/Effect.ts +70 -116
  370. package/src/FiberHandle.ts +3 -2
  371. package/src/Iterable.ts +2 -1
  372. package/src/JsonPatch.ts +4 -3
  373. package/src/JsonSchema.ts +9 -11
  374. package/src/Logger.ts +3 -2
  375. package/src/ManagedRuntime.ts +13 -0
  376. package/src/Metric.ts +4 -3
  377. package/src/Optic.ts +5 -4
  378. package/src/Option.ts +2 -1
  379. package/src/PartitionedSemaphore.ts +1 -4
  380. package/src/Record.ts +119 -22
  381. package/src/References.ts +0 -46
  382. package/src/Request.ts +5 -7
  383. package/src/Result.ts +2 -1
  384. package/src/Schema.ts +2537 -986
  385. package/src/SchemaAST.ts +228 -149
  386. package/src/SchemaError.ts +1 -1
  387. package/src/SchemaGetter.ts +36 -29
  388. package/src/SchemaIssue.ts +1 -1
  389. package/src/SchemaParser.ts +1 -25
  390. package/src/SchemaRepresentation.ts +697 -3398
  391. package/src/SchemaTransformation.ts +3 -3
  392. package/src/Semaphore.ts +5 -3
  393. package/src/Stream.ts +63 -19
  394. package/src/Struct.ts +5 -4
  395. package/src/Types.ts +1 -3
  396. package/src/index.ts +0 -5
  397. package/src/internal/core.ts +3 -2
  398. package/src/internal/effect.ts +67 -31
  399. package/src/internal/matcher.ts +1 -1
  400. package/src/internal/record.ts +11 -7
  401. package/src/internal/references.ts +0 -5
  402. package/src/internal/schema/annotations.ts +44 -0
  403. package/src/internal/schema/fromJsonSchemaDocument.ts +957 -0
  404. package/src/internal/schema/fromRepresentation.ts +345 -0
  405. package/src/internal/schema/schema.ts +45 -46
  406. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
  407. package/src/internal/schema/toCodeDocument.ts +572 -0
  408. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  409. package/src/internal/schema/toJsonSchemaDocument.ts +475 -0
  410. package/src/internal/schema/toRepresentation.ts +401 -0
  411. package/src/internal/stackTraceLimit.ts +3 -7
  412. package/src/testing/TestClock.ts +1 -1
  413. package/src/unstable/ai/AiError.ts +5 -4
  414. package/src/unstable/ai/AnthropicStructuredOutput.ts +102 -333
  415. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  416. package/src/unstable/ai/LanguageModel.ts +30 -28
  417. package/src/unstable/ai/McpSchema.ts +15 -15
  418. package/src/unstable/ai/McpServer.ts +172 -56
  419. package/src/unstable/ai/OpenAiStructuredOutput.ts +230 -395
  420. package/src/unstable/ai/Response.ts +24 -24
  421. package/src/unstable/ai/Tool.ts +22 -4
  422. package/src/unstable/ai/Toolkit.ts +19 -7
  423. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  424. package/src/unstable/ai/internal/structured-output.ts +458 -0
  425. package/src/unstable/cli/CliError.ts +51 -5
  426. package/src/unstable/cli/Command.ts +4 -4
  427. package/src/unstable/cli/Param.ts +3 -3
  428. package/src/unstable/cli/Primitive.ts +1 -1
  429. package/src/unstable/cli/internal/command.ts +13 -5
  430. package/src/unstable/cli/internal/config.ts +8 -10
  431. package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -3
  432. package/src/unstable/cluster/Entity.ts +1 -1
  433. package/src/unstable/cluster/Envelope.ts +2 -1
  434. package/src/unstable/cluster/Reply.ts +1 -1
  435. package/src/unstable/cluster/Runner.ts +1 -1
  436. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  437. package/src/unstable/cluster/ShardId.ts +1 -1
  438. package/src/unstable/cluster/Sharding.ts +161 -34
  439. package/src/unstable/cluster/ShardingConfig.ts +5 -1
  440. package/src/unstable/cluster/SingleRunner.ts +4 -2
  441. package/src/unstable/cluster/SqlMessageStorage.ts +83 -35
  442. package/src/unstable/cluster/SqlRunnerStorage.ts +186 -116
  443. package/src/unstable/cluster/internal/entityManager.ts +31 -10
  444. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  445. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  446. package/src/unstable/eventlog/EventJournal.ts +1 -1
  447. package/src/unstable/eventlog/EventLog.ts +21 -11
  448. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  449. package/src/unstable/eventlog/EventLogMessage.ts +10 -3
  450. package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
  451. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  452. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  453. package/src/unstable/http/Cookies.ts +29 -24
  454. package/src/unstable/http/Headers.ts +8 -8
  455. package/src/unstable/http/HttpClientRequest.ts +57 -0
  456. package/src/unstable/http/HttpServerRequest.ts +5 -4
  457. package/src/unstable/http/Multipart.ts +16 -13
  458. package/src/unstable/http/Template.ts +1 -1
  459. package/src/unstable/http/UrlParams.ts +17 -14
  460. package/src/unstable/httpapi/HttpApi.ts +3 -3
  461. package/src/unstable/httpapi/HttpApiClient.ts +5 -5
  462. package/src/unstable/httpapi/HttpApiGroup.ts +1 -1
  463. package/src/unstable/httpapi/OpenApi.ts +52 -28
  464. package/src/unstable/observability/OtlpExporter.ts +109 -5
  465. package/src/unstable/observability/OtlpLogger.ts +5 -5
  466. package/src/unstable/observability/OtlpMetrics.ts +8 -4
  467. package/src/unstable/observability/OtlpTracer.ts +8 -4
  468. package/src/unstable/persistence/Persistable.ts +3 -2
  469. package/src/unstable/persistence/RateLimiter.ts +2 -2
  470. package/src/unstable/persistence/Redis.ts +2 -2
  471. package/src/unstable/process/ChildProcessSpawner.ts +1 -1
  472. package/src/unstable/reactivity/AsyncResult.ts +4 -3
  473. package/src/unstable/reactivity/Atom.ts +92 -0
  474. package/src/unstable/reactivity/AtomRegistry.ts +1 -1
  475. package/src/unstable/rpc/RpcClient.ts +2 -1
  476. package/src/unstable/schema/VariantSchema.ts +14 -24
  477. package/src/unstable/socket/Socket.ts +1 -1
  478. package/src/unstable/sql/SqlError.ts +2 -2
  479. package/src/unstable/sql/Statement.ts +7 -6
  480. package/dist/SchemaUtils.d.ts +0 -28
  481. package/dist/SchemaUtils.d.ts.map +0 -1
  482. package/dist/SchemaUtils.js +0 -45
  483. package/dist/SchemaUtils.js.map +0 -1
  484. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  485. package/dist/internal/schema/arbitrary.js.map +0 -1
  486. package/dist/internal/schema/equivalence.d.ts +0 -2
  487. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  488. package/dist/internal/schema/equivalence.js.map +0 -1
  489. package/dist/internal/schema/representation.d.ts +0 -2
  490. package/dist/internal/schema/representation.d.ts.map +0 -1
  491. package/dist/internal/schema/representation.js +0 -865
  492. package/dist/internal/schema/representation.js.map +0 -1
  493. package/src/SchemaUtils.ts +0 -51
  494. package/src/internal/schema/representation.ts +0 -795
@@ -200,7 +200,7 @@ const HandleProto = {
200
200
  * @since 4.0.0
201
201
  */
202
202
  export const makeHandle = (params: Omit<ChildProcessHandle, typeof HandleTypeId>): ChildProcessHandle =>
203
- Object.assign(Object.create(HandleProto), params)
203
+ Object.setPrototypeOf({ ...params }, HandleProto)
204
204
 
205
205
  /**
206
206
  * Creates a `ChildProcessSpawner` service from a `spawn` function, deriving
@@ -17,6 +17,7 @@ import * as Exit from "../../Exit.ts"
17
17
  import type { LazyArg } from "../../Function.ts"
18
18
  import { constTrue, dual, identity } from "../../Function.ts"
19
19
  import * as Hash from "../../Hash.ts"
20
+ import * as InternalRecord from "../../internal/record.ts"
20
21
  import * as Option from "../../Option.ts"
21
22
  import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
22
23
  import type { Predicate, Refinement } from "../../Predicate.ts"
@@ -834,12 +835,12 @@ export const all = <const Arg extends Iterable<any> | Record<string, any>>(
834
835
  for (let i = 0; i < entries.length; i++) {
835
836
  const [key, result] = entries[i]
836
837
  if (!isAsyncResult(result)) {
837
- successes[key] = result
838
+ InternalRecord.assignProperty(successes, key, result)
838
839
  continue
839
840
  } else if (!isSuccess(result)) {
840
841
  return result as any
841
842
  }
842
- successes[key] = result.value
843
+ InternalRecord.assignProperty(successes, key, result.value)
843
844
  if (result.waiting) {
844
845
  waiting = true
845
846
  }
@@ -1149,7 +1150,7 @@ export const Schema = <
1149
1150
  {
1150
1151
  expected: "AsyncResult",
1151
1152
  toCodec([value, cause]) {
1152
- const Success = Schema_.TaggedStruct("Success", { value, waiting: Schema_.Boolean, timestamp: Schema_.Number })
1153
+ const Success = Schema_.TaggedStruct("Success", { value, waiting: Schema_.Boolean, timestamp: Schema_.Int })
1153
1154
  return Schema_.link<AsyncResult<A["Encoded"], E["Encoded"]>>()(
1154
1155
  Schema_.Union([
1155
1156
  Schema_.TaggedStruct("Initial", { waiting: Schema_.Boolean }),
@@ -68,6 +68,7 @@ export interface Atom<A> extends Pipeable, Inspectable.Inspectable {
68
68
  readonly keepAlive: boolean
69
69
  readonly lazy: boolean
70
70
  readonly read: (get: AtomContext) => A
71
+ equals(value: A, next: A): boolean
71
72
  readonly refresh?: (f: <A>(atom: Atom<A>) => void) => void
72
73
  readonly label?: readonly [name: string, stack: string]
73
74
  readonly idleTTL?: number
@@ -253,6 +254,7 @@ const removeTtl = setIdleTTL(0)
253
254
 
254
255
  const AtomProto = {
255
256
  [TypeId]: TypeId,
257
+ equals: Object.is,
256
258
  ...PipeInspectableProto,
257
259
  toJSON(this: Atom<any>) {
258
260
  return {
@@ -1702,6 +1704,96 @@ export const setLazy: {
1702
1704
  lazy
1703
1705
  }))
1704
1706
 
1707
+ /**
1708
+ * Returns a copy of an atom that uses a custom equality function to detect
1709
+ * value changes.
1710
+ *
1711
+ * **Details**
1712
+ *
1713
+ * When an atom's value is rebuilt or written, the registry compares the new
1714
+ * value against the current one to decide whether dependents and listeners
1715
+ * should be notified. By default the comparison uses `Object.is`, so a
1716
+ * structurally equal but referentially distinct value still triggers
1717
+ * notifications. Providing an equality function lets the atom skip updates
1718
+ * when the new value is equal to the current one.
1719
+ *
1720
+ * **Example** (Comparing values structurally)
1721
+ *
1722
+ * ```ts
1723
+ * import { Atom } from "effect/unstable/reactivity"
1724
+ *
1725
+ * const point = Atom.make({ x: 0, y: 0 }).pipe(
1726
+ * Atom.withEquality<{ x: number; y: number }>((a, b) => a.x === b.x && a.y === b.y)
1727
+ * )
1728
+ * ```
1729
+ *
1730
+ * @category combinators
1731
+ * @since 4.0.0
1732
+ */
1733
+ export const withEquality: {
1734
+ /**
1735
+ * Returns a copy of an atom that uses a custom equality function to detect
1736
+ * value changes.
1737
+ *
1738
+ * **Details**
1739
+ *
1740
+ * When an atom's value is rebuilt or written, the registry compares the new
1741
+ * value against the current one to decide whether dependents and listeners
1742
+ * should be notified. By default the comparison uses `Object.is`, so a
1743
+ * structurally equal but referentially distinct value still triggers
1744
+ * notifications. Providing an equality function lets the atom skip updates
1745
+ * when the new value is equal to the current one.
1746
+ *
1747
+ * **Example** (Comparing values structurally)
1748
+ *
1749
+ * ```ts
1750
+ * import { Atom } from "effect/unstable/reactivity"
1751
+ *
1752
+ * const point = Atom.make({ x: 0, y: 0 }).pipe(
1753
+ * Atom.withEquality<{ x: number; y: number }>((a, b) => a.x === b.x && a.y === b.y)
1754
+ * )
1755
+ * ```
1756
+ *
1757
+ * @category combinators
1758
+ * @since 4.0.0
1759
+ */
1760
+ <A>(equals: (value: A, next: A) => boolean): <T extends Atom<A>>(self: T) => T
1761
+ /**
1762
+ * Returns a copy of an atom that uses a custom equality function to detect
1763
+ * value changes.
1764
+ *
1765
+ * **Details**
1766
+ *
1767
+ * When an atom's value is rebuilt or written, the registry compares the new
1768
+ * value against the current one to decide whether dependents and listeners
1769
+ * should be notified. By default the comparison uses `Object.is`, so a
1770
+ * structurally equal but referentially distinct value still triggers
1771
+ * notifications. Providing an equality function lets the atom skip updates
1772
+ * when the new value is equal to the current one.
1773
+ *
1774
+ * **Example** (Comparing values structurally)
1775
+ *
1776
+ * ```ts
1777
+ * import { Atom } from "effect/unstable/reactivity"
1778
+ *
1779
+ * const point = Atom.make({ x: 0, y: 0 }).pipe(
1780
+ * Atom.withEquality<{ x: number; y: number }>((a, b) => a.x === b.x && a.y === b.y)
1781
+ * )
1782
+ * ```
1783
+ *
1784
+ * @category combinators
1785
+ * @since 4.0.0
1786
+ */
1787
+ <T extends Atom<any>>(self: T, equals: (value: Type<T>, next: Type<T>) => boolean): T
1788
+ } = dual(
1789
+ 2,
1790
+ <T extends Atom<any>>(self: T, equals: (value: Type<T>, next: Type<T>) => boolean): T =>
1791
+ Object.assign(Object.create(Object.getPrototypeOf(self)), {
1792
+ ...self,
1793
+ equals
1794
+ })
1795
+ )
1796
+
1705
1797
  /**
1706
1798
  * Attaches a diagnostic label to an atom.
1707
1799
  *
@@ -805,7 +805,7 @@ class NodeImpl<A> {
805
805
  }
806
806
 
807
807
  this.state = NodeState.valid
808
- if (Object.is(this._value, value)) {
808
+ if (this.atom.equals(this._value, value)) {
809
809
  return
810
810
  }
811
811
 
@@ -18,6 +18,7 @@ import * as Effect from "../../Effect.ts"
18
18
  import * as Exit from "../../Exit.ts"
19
19
  import * as Fiber from "../../Fiber.ts"
20
20
  import { constVoid, dual, flow, identity } from "../../Function.ts"
21
+ import * as InternalRecord from "../../internal/record.ts"
21
22
  import * as Latch from "../../Latch.ts"
22
23
  import * as Layer from "../../Layer.ts"
23
24
  import * as Option from "../../Option.ts"
@@ -608,7 +609,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
608
609
  } else {
609
610
  client = {}
610
611
  group.requests.forEach((rpc) => {
611
- client[rpc._tag] = onRequest(rpc as any)
612
+ InternalRecord.assignProperty(client, rpc._tag, onRequest(rpc as any))
612
613
  })
613
614
  }
614
615
 
@@ -11,10 +11,10 @@
11
11
  import type { Brand } from "../../Brand.ts"
12
12
  import * as Effect from "../../Effect.ts"
13
13
  import { dual } from "../../Function.ts"
14
+ import * as InternalRecord from "../../internal/record.ts"
14
15
  import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
15
16
  import * as Predicate from "../../Predicate.ts"
16
17
  import * as Schema from "../../Schema.ts"
17
- import type * as SchemaAST from "../../SchemaAST.ts"
18
18
  import * as Struct_ from "../../Struct.ts"
19
19
 
20
20
  /**
@@ -214,9 +214,9 @@ const extract: {
214
214
  readonly isDefault?: boolean | undefined
215
215
  }
216
216
  ): Extract<V, A> => {
217
- const cache = self[cacheSymbol] ?? (self[cacheSymbol] = {})
217
+ const cache = self[cacheSymbol] ?? (self[cacheSymbol] = Object.create(null))
218
218
  const cacheKey = options?.isDefault === true ? "__default" : variant
219
- if (cache[cacheKey] !== undefined) {
219
+ if (Object.hasOwn(cache, cacheKey)) {
220
220
  return cache[cacheKey] as any
221
221
  }
222
222
  const fields: Record<string, any> = {}
@@ -224,19 +224,21 @@ const extract: {
224
224
  const value = self[TypeId][key]
225
225
  if (TypeId in value) {
226
226
  if (options?.isDefault === true && Schema.isSchema(value)) {
227
- fields[key] = value
227
+ InternalRecord.assignProperty(fields, key, value)
228
228
  } else {
229
- fields[key] = extract(value, variant)
229
+ InternalRecord.assignProperty(fields, key, extract(value, variant))
230
230
  }
231
231
  } else if (FieldTypeId in value) {
232
- if (variant in value.schemas) {
233
- fields[key] = value.schemas[variant]
232
+ if (Object.hasOwn(value.schemas, variant)) {
233
+ InternalRecord.assignProperty(fields, key, value.schemas[variant])
234
234
  }
235
235
  } else {
236
- fields[key] = value
236
+ InternalRecord.assignProperty(fields, key, value)
237
237
  }
238
238
  }
239
- return cache[cacheKey] = Schema.Struct(fields) as any
239
+ const schema = Schema.Struct(fields)
240
+ cache[cacheKey] = schema
241
+ return schema as any
240
242
  }
241
243
  )
242
244
 
@@ -261,19 +263,7 @@ export interface Class<
261
263
  S extends Schema.Top & {
262
264
  readonly fields: Schema.Struct.Fields
263
265
  }
264
- > extends
265
- Schema.BottomLazy<
266
- SchemaAST.Declaration,
267
- Schema.decodeTo<Schema.declareConstructor<Self, S["Encoded"], readonly [S], S["Iso"]>, S>,
268
- readonly [S],
269
- S["~type.mutability"],
270
- S["~type.optionality"],
271
- S["~type.constructor.default"],
272
- S["~encoded.mutability"],
273
- S["~encoded.optionality"]
274
- >,
275
- Struct<Struct_.Simplify<Fields>>
276
- {
266
+ > extends Schema.Class<Self, S, {}>, Struct<Struct_.Simplify<Fields>> {
277
267
  readonly "Type": Self
278
268
  readonly "Encoded": S["Encoded"]
279
269
  readonly "DecodingServices": S["DecodingServices"]
@@ -462,7 +452,7 @@ export const make = <
462
452
  return function<S extends Schema.Top>(schema: S) {
463
453
  const obj: Record<string, S> = {}
464
454
  for (const key of keys) {
465
- obj[key] = schema
455
+ InternalRecord.assignProperty(obj, key, schema)
466
456
  }
467
457
  return Field(obj)
468
458
  }
@@ -472,7 +462,7 @@ export const make = <
472
462
  const obj: Record<string, S> = {}
473
463
  for (const variant of options.variants) {
474
464
  if (!keys.includes(variant)) {
475
- obj[variant] = schema
465
+ InternalRecord.assignProperty(obj, variant, schema)
476
466
  }
477
467
  }
478
468
  return Field(obj)
@@ -283,7 +283,7 @@ export class SocketOpenError extends Schema.ErrorClass<SocketOpenError>("effect/
283
283
  */
284
284
  export class SocketCloseError extends Schema.ErrorClass<SocketCloseError>("effect/socket/Socket/SocketCloseError")({
285
285
  _tag: Schema.tag("SocketCloseError"),
286
- code: Schema.Number,
286
+ code: Schema.Int,
287
287
  closeReason: Schema.optional(Schema.String)
288
288
  }) {
289
289
  /**
@@ -575,8 +575,8 @@ export const classifySqliteError = (
575
575
  */
576
576
  export class ResultLengthMismatch
577
577
  extends Schema.TaggedErrorClass<ResultLengthMismatch>("effect/sql/ResultLengthMismatch")("ResultLengthMismatch", {
578
- expected: Schema.Number,
579
- actual: Schema.Number
578
+ expected: Schema.Natural,
579
+ actual: Schema.Natural
580
580
  })
581
581
  {
582
582
  /**
@@ -17,6 +17,7 @@ import * as Effectable from "../../Effectable.ts"
17
17
  import type * as Fiber from "../../Fiber.ts"
18
18
  import { constUndefined } from "../../Function.ts"
19
19
  import * as internalEffect from "../../internal/effect.ts"
20
+ import * as InternalRecord from "../../internal/record.ts"
20
21
  import { hasProperty } from "../../Predicate.ts"
21
22
  import { TracerTimingEnabled } from "../../References.ts"
22
23
  import * as Stream from "../../Stream.ts"
@@ -1160,8 +1161,8 @@ export const defaultTransforms = (
1160
1161
 
1161
1162
  const transformObject = (obj: Record<string, any>): any => {
1162
1163
  const newObj: Record<string, any> = {}
1163
- for (const key in obj) {
1164
- newObj[transformer(key)] = transformValue(obj[key])
1164
+ for (const key of Object.keys(obj)) {
1165
+ InternalRecord.assignProperty(newObj, transformer(key), transformValue(obj[key]))
1165
1166
  }
1166
1167
  return newObj
1167
1168
  }
@@ -1176,8 +1177,8 @@ export const defaultTransforms = (
1176
1177
  newRows[i] = transformArrayNested(row) as any
1177
1178
  } else {
1178
1179
  const obj: any = {}
1179
- for (const key in row) {
1180
- obj[transformer(key)] = transformValue(row[key])
1180
+ for (const [key, value] of Object.entries(row)) {
1181
+ InternalRecord.assignProperty(obj, transformer(key), transformValue(value))
1181
1182
  }
1182
1183
  newRows[i] = obj
1183
1184
  }
@@ -1195,8 +1196,8 @@ export const defaultTransforms = (
1195
1196
  newRows[i] = transformArray(row) as any
1196
1197
  } else {
1197
1198
  const obj: any = {}
1198
- for (const key in row) {
1199
- obj[transformer(key)] = row[key]
1199
+ for (const [key, value] of Object.entries(row)) {
1200
+ InternalRecord.assignProperty(obj, transformer(key), value)
1200
1201
  }
1201
1202
  newRows[i] = obj
1202
1203
  }
@@ -1,28 +0,0 @@
1
- import * as Schema from "./Schema.ts";
2
- /**
3
- * Builds an experimental schema for instances of a native class using a struct
4
- * schema as the encoded representation.
5
- *
6
- * **When to use**
7
- *
8
- * Use when you need a schema for an existing native class while keeping a
9
- * `Struct` schema as its encoded representation.
10
- *
11
- * **Details**
12
- *
13
- * Decoding constructs `new constructor(props)` from the encoded fields.
14
- * Encoding uses the instance as the encoded shape, so the class should expose
15
- * properties compatible with the provided encoding schema.
16
- *
17
- * @see {@link Schema.instanceOf} for validating existing class instances without a struct encoding
18
- * @see {@link Schema.Class} for defining schema-backed classes directly
19
- * @see {@link Schema.ErrorClass} for defining schema-backed error classes
20
- *
21
- * @category schemas
22
- * @since 4.0.0
23
- */
24
- export declare function getNativeClassSchema<C extends new (...args: any) => any, S extends Schema.Struct<Schema.Struct.Fields>>(constructor: C, options: {
25
- readonly encoding: S;
26
- readonly annotations?: Schema.Annotations.Declaration<InstanceType<C>>;
27
- }): Schema.decodeTo<Schema.instanceOf<InstanceType<C>, S["Iso"]>, S>;
28
- //# sourceMappingURL=SchemaUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaUtils.d.ts","sourceRoot":"","sources":["../src/SchemaUtils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAI,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACpH,WAAW,EAAE,CAAC,EACd,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CACvE,GACA,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CASlE"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Small helpers for schema patterns that are too specialized for the main
3
- * `Schema` module. The current helper builds a schema for an existing class:
4
- * the encoded input is checked with a struct schema, decoding calls the class
5
- * constructor with the decoded properties, and the final value remains an
6
- * instance of that class.
7
- *
8
- * @since 4.0.0
9
- */
10
- import { identity } from "./Function.js";
11
- import * as Schema from "./Schema.js";
12
- import * as SchemaTransformation from "./SchemaTransformation.js";
13
- /**
14
- * Builds an experimental schema for instances of a native class using a struct
15
- * schema as the encoded representation.
16
- *
17
- * **When to use**
18
- *
19
- * Use when you need a schema for an existing native class while keeping a
20
- * `Struct` schema as its encoded representation.
21
- *
22
- * **Details**
23
- *
24
- * Decoding constructs `new constructor(props)` from the encoded fields.
25
- * Encoding uses the instance as the encoded shape, so the class should expose
26
- * properties compatible with the provided encoding schema.
27
- *
28
- * @see {@link Schema.instanceOf} for validating existing class instances without a struct encoding
29
- * @see {@link Schema.Class} for defining schema-backed classes directly
30
- * @see {@link Schema.ErrorClass} for defining schema-backed error classes
31
- *
32
- * @category schemas
33
- * @since 4.0.0
34
- */
35
- export function getNativeClassSchema(constructor, options) {
36
- const transformation = SchemaTransformation.transform({
37
- decode: props => new constructor(props),
38
- encode: identity
39
- });
40
- return Schema.instanceOf(constructor, {
41
- toCodec: () => Schema.link()(options.encoding, transformation),
42
- ...options.annotations
43
- }).pipe(Schema.encodeTo(options.encoding, transformation));
44
- }
45
- //# sourceMappingURL=SchemaUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaUtils.js","names":["identity","Schema","SchemaTransformation","getNativeClassSchema","constructor","options","transformation","transform","decode","props","encode","instanceOf","toCodec","link","encoding","annotations","pipe","encodeTo"],"sources":["../src/SchemaUtils.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;AASA,SAASA,QAAQ,QAAQ,eAAe;AACxC,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,OAAO,KAAKC,oBAAoB,MAAM,2BAA2B;AAEjE;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAM,SAAUC,oBAAoBA,CAClCC,WAAc,EACdC,OAGC;EAED,MAAMC,cAAc,GAAGJ,oBAAoB,CAACK,SAAS,CAA6B;IAChFC,MAAM,EAAGC,KAAK,IAAK,IAAIL,WAAW,CAACK,KAAK,CAAC;IACzCC,MAAM,EAAEV;GACT,CAAC;EACF,OAAOC,MAAM,CAACU,UAAU,CAACP,WAAW,EAAE;IACpCQ,OAAO,EAAEA,CAAA,KAAMX,MAAM,CAACY,IAAI,EAAmB,CAACR,OAAO,CAACS,QAAQ,EAAER,cAAc,CAAC;IAC/E,GAAGD,OAAO,CAACU;GACZ,CAAC,CAACC,IAAI,CAACf,MAAM,CAACgB,QAAQ,CAACZ,OAAO,CAACS,QAAQ,EAAER,cAAc,CAAC,CAAC;AAC5D","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"arbitrary.d.ts","sourceRoot":"","sources":["../../../src/internal/schema/arbitrary.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAA;AA0B9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;CACjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"arbitrary.js","names":["Array","Boolean","Equal","memoize","Number","Option","Order","Predicate","SchemaAST","Struct","UndefinedOr","errorWithPath","InternalAnnotations","arbitraryMemoMap","WeakMap","suspendDepthIdentifierMap","emptyRecursionStack","makeReport","warnings","toReport","report","slice","arbitraryError","what","Error","entryComparator","a","b","equals","applyChecks","ast","filters","arbitrary","reduce","acc","filter","run","defaultParseOptions","undefined","validateArrayConstraints","constraint","label","minLength","maxLength","lengthToFastCheckConstraints","arrayWithConstraints","fc","item","comparator","uniqueArray","array","ctx","terminal","arrayConstraints","unique","appendArray","out","len","rest","chain","as","length","constant","map","appendObjectEntries","entries","o","Object","fromEntries","max","makeReducer","ReducerMax","min","ReducerMin","or","ReducerOr","concat","makeReducerConcat","combiner","makeCombiner","integer","noInfinity","noNaN","patterns","valid","omitKeyWhen","isUndefined","mergeOrderedBound","order","self","selfExclusive","that","thatExclusive","takeComparison","comparison","mergeOrderedConstraints","minimum","exclusiveMinimum","maximum","exclusiveMaximum","mergeConstraint","ordered","selfOrdered","selfRest","thatOrdered","thatRest","combine","collectChecks","checks","arbitraries","visit","check","annotations","push","_tag","child","forEach","constraintContext","constraintAnnotations","isNotUndefined","c","resetContext","objectEntriesConstraints","requiredKeys","indexSignatures","propertySignatures","Math","objectWithOptionalCount","pss","orderedNames","optionalNames","requiredCount","minOptional","maxOptional","full","record","chosen","shuffledSubarray","tuple","base","names","keep","Set","name","has","toRangeConstraints","error","toIntegerConstraints","excluded","floor","ceil","toFloatConstraints","noDefaultInfinity","minExcluded","maxExcluded","toBigIntConstraints","BigInt","makeLazy","normal","recursionStack","same","f","getSuspendRecursion","depthIdentifier","get","createDepthIdentifier","set","maxDepth","oneOf","oneof","finiteNumberConstraint","finiteNumberContext","reportChecks","path","covered","nextCovered","candidate","meta","description","identifier","expected","collectReport","stack","WeakSet","add","typeParameters","tp","i","type","elements","ps","is","parameter","types","parts","part","toEncoded","thunk","delete","applyCandidates","weighted","weight","make","globalThis","isInteger","applyFilterLayer","normalizeDerivation","output","hasTypeParameters","makeTypeParameters","lazyNormal","filterLayer","normalBase","terminalBase","nextCtx","memoized","recur","annotation","resolve","toArbitrary","isDeclaration","derive","lawc","replaceChecks","_ctx","anything","pattern","stringMatching","RegExp","string","float","boolean","bigInt","Symbol","for","literal","symbol","object","enumsToLiterals","segments","segment","String","join","reset","elementArbitraries","optionals","element","isOptional","some","needsRest","isReadonlyArrayNonEmpty","optionalTarget","includedOptionals","none","getSomes","head","tail","restCtx","minRestLength","headArbitrary","restArbitrary","tailArbitraries","t","recursion","terminalOut","optionalCount","entriesConstraints","minEntries","key","value","entry","memo","memoizeThunk","nextStack","includes"],"sources":["../../../src/internal/schema/arbitrary.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=equivalence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equivalence.d.ts","sourceRoot":"","sources":["../../../src/internal/schema/equivalence.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"equivalence.js","names":["Equal","Equivalence","memoize","Predicate","SchemaAST","SchemaParser","errorWithPath","InternalAnnotations","toEquivalence","ast","recur","path","annotation","resolve","isDeclaration","typeParameters","map","tp","_tag","equals","elements","e","i","len","length","rest","r","make","a","b","Array","isArray","Math","min","head","tail","j","propertySignatures","indexSignatures","ps","type","name","is","isObject","aHas","Object","hasOwn","bHas","isOptional","aKeys","getIndexSignatureKeys","parameter","bKeys","key","candidates","getCandidates","types","_is","get","memoizeThunk","thunk"],"sources":["../../../src/internal/schema/equivalence.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=representation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"representation.d.ts","sourceRoot":"","sources":["../../../src/internal/schema/representation.ts"],"names":[],"mappings":""}