effect-app 4.0.0-beta.99 → 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 (391) hide show
  1. package/CHANGELOG.md +2042 -0
  2. package/dist/Array.d.ts +1 -17
  3. package/dist/Array.d.ts.map +1 -1
  4. package/dist/Array.js +3 -27
  5. package/dist/Chunk.d.ts +3 -27
  6. package/dist/Chunk.d.ts.map +1 -1
  7. package/dist/Chunk.js +4 -39
  8. package/dist/Config/SecretURL.d.ts +3 -1
  9. package/dist/Config/SecretURL.d.ts.map +1 -1
  10. package/dist/Config/SecretURL.js +3 -6
  11. package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
  12. package/dist/Config/internal/configSecretURL.js +2 -2
  13. package/dist/Config.d.ts +0 -5
  14. package/dist/Config.d.ts.map +1 -1
  15. package/dist/Config.js +7 -5
  16. package/dist/ConfigProvider.d.ts +0 -37
  17. package/dist/ConfigProvider.d.ts.map +1 -1
  18. package/dist/ConfigProvider.js +5 -41
  19. package/dist/Context.d.ts +6 -4
  20. package/dist/Context.d.ts.map +1 -1
  21. package/dist/Context.js +4 -3
  22. package/dist/DataDependencies.d.ts +136 -0
  23. package/dist/DataDependencies.d.ts.map +1 -0
  24. package/dist/DataDependencies.js +112 -0
  25. package/dist/DateTime.d.ts +33 -0
  26. package/dist/DateTime.d.ts.map +1 -0
  27. package/dist/DateTime.js +18 -0
  28. package/dist/Effect.d.ts +3 -14
  29. package/dist/Effect.d.ts.map +1 -1
  30. package/dist/Effect.js +8 -26
  31. package/dist/Emailer.d.ts +51 -0
  32. package/dist/Emailer.d.ts.map +1 -0
  33. package/dist/Emailer.js +7 -0
  34. package/dist/Function.d.ts +0 -4
  35. package/dist/Function.d.ts.map +1 -1
  36. package/dist/Function.js +1 -7
  37. package/dist/Layer.d.ts +6 -3
  38. package/dist/Layer.d.ts.map +1 -1
  39. package/dist/Layer.js +3 -2
  40. package/dist/Model/Repository/Registry.d.ts +22 -0
  41. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  42. package/dist/Model/Repository/Registry.js +18 -0
  43. package/dist/Model/Repository/dependency.d.ts +6 -0
  44. package/dist/Model/Repository/dependency.d.ts.map +1 -0
  45. package/dist/Model/Repository/dependency.js +29 -0
  46. package/dist/Model/Repository/ext.d.ts +60 -0
  47. package/dist/Model/Repository/ext.d.ts.map +1 -0
  48. package/dist/Model/Repository/ext.js +124 -0
  49. package/dist/Model/Repository/internal/internal.d.ts +68 -0
  50. package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
  51. package/dist/Model/Repository/internal/internal.js +610 -0
  52. package/dist/Model/Repository/legacy.d.ts +21 -0
  53. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  54. package/dist/Model/Repository/legacy.js +2 -0
  55. package/dist/Model/Repository/makeRepo.d.ts +71 -0
  56. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  57. package/dist/Model/Repository/makeRepo.js +30 -0
  58. package/dist/Model/Repository/service.d.ts +121 -0
  59. package/dist/Model/Repository/service.d.ts.map +1 -0
  60. package/dist/Model/Repository/service.js +2 -0
  61. package/dist/Model/Repository/validation.d.ts +72 -0
  62. package/dist/Model/Repository/validation.d.ts.map +1 -0
  63. package/dist/Model/Repository/validation.js +39 -0
  64. package/dist/Model/Repository.d.ts +8 -0
  65. package/dist/Model/Repository.d.ts.map +1 -0
  66. package/dist/Model/Repository.js +8 -0
  67. package/dist/Model/dsl.d.ts +34 -0
  68. package/dist/Model/dsl.d.ts.map +1 -0
  69. package/dist/Model/dsl.js +45 -0
  70. package/dist/Model/filter/filterApi.d.ts +30 -0
  71. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  72. package/dist/Model/filter/filterApi.js +2 -0
  73. package/dist/Model/filter/types/errors.d.ts +29 -0
  74. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  75. package/dist/Model/filter/types/errors.js +2 -0
  76. package/dist/Model/filter/types/fields.d.ts +15 -0
  77. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  78. package/dist/Model/filter/types/fields.js +2 -0
  79. package/dist/Model/filter/types/path/common.d.ts +316 -0
  80. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  81. package/dist/Model/filter/types/path/common.js +2 -0
  82. package/dist/Model/filter/types/path/eager.d.ts +94 -0
  83. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  84. package/dist/Model/filter/types/path/eager.js +36 -0
  85. package/dist/Model/filter/types/path/index.d.ts +4 -0
  86. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  87. package/dist/Model/filter/types/path/index.js +3 -0
  88. package/dist/Model/filter/types/utils.d.ts +79 -0
  89. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  90. package/dist/Model/filter/types/utils.js +2 -0
  91. package/dist/Model/filter/types/validator.d.ts +30 -0
  92. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  93. package/dist/Model/filter/types/validator.js +2 -0
  94. package/dist/Model/filter/types.d.ts +5 -0
  95. package/dist/Model/filter/types.d.ts.map +1 -0
  96. package/dist/Model/filter/types.js +7 -0
  97. package/dist/Model/query/dsl.d.ts +630 -0
  98. package/dist/Model/query/dsl.d.ts.map +1 -0
  99. package/dist/Model/query/dsl.js +376 -0
  100. package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
  101. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  102. package/dist/Model/query/new-kid-interpreter.js +369 -0
  103. package/dist/Model/query.d.ts +15 -0
  104. package/dist/Model/query.d.ts.map +1 -0
  105. package/dist/Model/query.js +3 -0
  106. package/dist/Model.d.ts +6 -0
  107. package/dist/Model.d.ts.map +1 -0
  108. package/dist/Model.js +6 -0
  109. package/dist/NonEmptySet.d.ts +3 -1
  110. package/dist/NonEmptySet.d.ts.map +1 -1
  111. package/dist/NonEmptySet.js +2 -2
  112. package/dist/Option.d.ts +1 -2
  113. package/dist/Option.d.ts.map +1 -1
  114. package/dist/Option.js +3 -7
  115. package/dist/Pure.d.ts +9 -7
  116. package/dist/Pure.d.ts.map +1 -1
  117. package/dist/Pure.js +20 -17
  118. package/dist/QueueMaker.d.ts +11 -0
  119. package/dist/QueueMaker.d.ts.map +1 -0
  120. package/dist/QueueMaker.js +11 -0
  121. package/dist/RequestContext.d.ts +87 -0
  122. package/dist/RequestContext.d.ts.map +1 -0
  123. package/dist/RequestContext.js +45 -0
  124. package/dist/RequestScopedDependencies.d.ts +21 -0
  125. package/dist/RequestScopedDependencies.d.ts.map +1 -0
  126. package/dist/RequestScopedDependencies.js +16 -0
  127. package/dist/Schema/Class.d.ts +163 -16
  128. package/dist/Schema/Class.d.ts.map +1 -1
  129. package/dist/Schema/Class.js +193 -21
  130. package/dist/Schema/FastCheck.d.ts.map +1 -1
  131. package/dist/Schema/SchemaParser.d.ts +5 -0
  132. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  133. package/dist/Schema/SchemaParser.js +6 -0
  134. package/dist/Schema/SpecialJsonSchema.d.ts +15 -2
  135. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -1
  136. package/dist/Schema/SpecialJsonSchema.js +70 -12
  137. package/dist/Schema/SpecialOpenApi.d.ts +1 -1
  138. package/dist/Schema/SpecialOpenApi.js +3 -3
  139. package/dist/Schema/brand.d.ts +5 -5
  140. package/dist/Schema/brand.d.ts.map +1 -1
  141. package/dist/Schema/brand.js +6 -4
  142. package/dist/Schema/email.d.ts.map +1 -1
  143. package/dist/Schema/email.js +8 -5
  144. package/dist/Schema/ext.d.ts +279 -75
  145. package/dist/Schema/ext.d.ts.map +1 -1
  146. package/dist/Schema/ext.js +330 -72
  147. package/dist/Schema/moreStrings.d.ts +82 -48
  148. package/dist/Schema/moreStrings.d.ts.map +1 -1
  149. package/dist/Schema/moreStrings.js +85 -51
  150. package/dist/Schema/numbers.d.ts +33 -21
  151. package/dist/Schema/numbers.d.ts.map +1 -1
  152. package/dist/Schema/numbers.js +64 -12
  153. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  154. package/dist/Schema/phoneNumber.js +6 -6
  155. package/dist/Schema/schema.d.ts +1 -1
  156. package/dist/Schema/schema.d.ts.map +1 -1
  157. package/dist/Schema/schema.js +2 -2
  158. package/dist/Schema/strings.d.ts +18 -4
  159. package/dist/Schema/strings.d.ts.map +1 -1
  160. package/dist/Schema/strings.js +1 -5
  161. package/dist/Schema.d.ts +224 -7
  162. package/dist/Schema.d.ts.map +1 -1
  163. package/dist/Schema.js +190 -24
  164. package/dist/SchemaAST.d.ts +2 -0
  165. package/dist/SchemaAST.d.ts.map +1 -0
  166. package/dist/SchemaAST.js +2 -0
  167. package/dist/Set.d.ts +4 -1
  168. package/dist/Set.d.ts.map +1 -1
  169. package/dist/Set.js +8 -6
  170. package/dist/Store.d.ts +215 -0
  171. package/dist/Store.d.ts.map +1 -0
  172. package/dist/Store.js +113 -0
  173. package/dist/_ext/Array.d.ts +1 -1
  174. package/dist/_ext/Array.d.ts.map +1 -1
  175. package/dist/_ext/Array.js +4 -2
  176. package/dist/_ext/ord.ext.d.ts +2 -1
  177. package/dist/_ext/ord.ext.d.ts.map +1 -1
  178. package/dist/_ext/ord.ext.js +2 -2
  179. package/dist/builtin.d.ts +2 -14
  180. package/dist/builtin.d.ts.map +1 -1
  181. package/dist/builtin.js +1 -1
  182. package/dist/client/InvalidationKeys.d.ts +30 -0
  183. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  184. package/dist/client/InvalidationKeys.js +37 -0
  185. package/dist/client/apiClientFactory.d.ts +13 -8
  186. package/dist/client/apiClientFactory.d.ts.map +1 -1
  187. package/dist/client/apiClientFactory.js +154 -34
  188. package/dist/client/clientFor.d.ts +48 -13
  189. package/dist/client/clientFor.d.ts.map +1 -1
  190. package/dist/client/clientFor.js +9 -1
  191. package/dist/client/errors.d.ts +74 -28
  192. package/dist/client/errors.d.ts.map +1 -1
  193. package/dist/client/errors.js +41 -10
  194. package/dist/client/makeClient.d.ts +487 -32
  195. package/dist/client/makeClient.d.ts.map +1 -1
  196. package/dist/client/makeClient.js +47 -21
  197. package/dist/client.d.ts +2 -0
  198. package/dist/client.d.ts.map +1 -1
  199. package/dist/client.js +3 -1
  200. package/dist/faker.d.ts.map +1 -1
  201. package/dist/http/Request.d.ts +2 -2
  202. package/dist/http/Request.d.ts.map +1 -1
  203. package/dist/http/Request.js +2 -2
  204. package/dist/http/internal/lib.d.ts +12 -12
  205. package/dist/http/internal/lib.d.ts.map +1 -1
  206. package/dist/http/internal/lib.js +13 -13
  207. package/dist/ids.d.ts +32 -14
  208. package/dist/ids.d.ts.map +1 -1
  209. package/dist/ids.js +38 -7
  210. package/dist/index.d.ts +3 -0
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +5 -1
  213. package/dist/middleware.d.ts +12 -6
  214. package/dist/middleware.d.ts.map +1 -1
  215. package/dist/middleware.js +13 -7
  216. package/dist/migration/nativeEffect.d.ts +21 -0
  217. package/dist/migration/nativeEffect.d.ts.map +1 -0
  218. package/dist/migration/nativeEffect.js +598 -0
  219. package/dist/rpc/Invalidation.d.ts +1124 -0
  220. package/dist/rpc/Invalidation.d.ts.map +1 -0
  221. package/dist/rpc/Invalidation.js +178 -0
  222. package/dist/rpc/MiddlewareMaker.d.ts +10 -7
  223. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  224. package/dist/rpc/MiddlewareMaker.js +57 -37
  225. package/dist/rpc/RpcContextMap.d.ts +2 -2
  226. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  227. package/dist/rpc/RpcMiddleware.d.ts +13 -10
  228. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  229. package/dist/rpc/RpcMiddleware.js +2 -2
  230. package/dist/rpc.d.ts +1 -1
  231. package/dist/rpc.d.ts.map +1 -1
  232. package/dist/rpc.js +2 -2
  233. package/dist/runtime.d.ts +19 -0
  234. package/dist/runtime.d.ts.map +1 -0
  235. package/dist/runtime.js +40 -0
  236. package/dist/setupRequest.d.ts +20 -0
  237. package/dist/setupRequest.d.ts.map +1 -0
  238. package/dist/setupRequest.js +72 -0
  239. package/dist/toast.d.ts +51 -0
  240. package/dist/toast.d.ts.map +1 -0
  241. package/dist/toast.js +34 -0
  242. package/dist/transform.d.ts +1 -1
  243. package/dist/transform.d.ts.map +1 -1
  244. package/dist/transform.js +4 -5
  245. package/dist/utils/effectify.d.ts +1 -1
  246. package/dist/utils/effectify.d.ts.map +1 -1
  247. package/dist/utils/effectify.js +2 -2
  248. package/dist/utils/extend.d.ts +6 -1
  249. package/dist/utils/extend.d.ts.map +1 -1
  250. package/dist/utils/extend.js +24 -6
  251. package/dist/utils/gen.d.ts +4 -4
  252. package/dist/utils/gen.d.ts.map +1 -1
  253. package/dist/utils/logLevel.d.ts +2 -2
  254. package/dist/utils/logLevel.d.ts.map +1 -1
  255. package/dist/utils/logger.d.ts +2 -1
  256. package/dist/utils/logger.d.ts.map +1 -1
  257. package/dist/utils/logger.js +2 -2
  258. package/dist/utils.d.ts +34 -45
  259. package/dist/utils.d.ts.map +1 -1
  260. package/dist/utils.js +33 -49
  261. package/dist/validation/validators.d.ts.map +1 -1
  262. package/dist/validation.d.ts.map +1 -1
  263. package/dist/withToast.d.ts +30 -0
  264. package/dist/withToast.d.ts.map +1 -0
  265. package/dist/withToast.js +64 -0
  266. package/package.json +25 -266
  267. package/src/Array.ts +7 -39
  268. package/src/Chunk.ts +6 -55
  269. package/src/Config/SecretURL.ts +6 -3
  270. package/src/Config/internal/configSecretURL.ts +2 -2
  271. package/src/Config.ts +6 -13
  272. package/src/ConfigProvider.ts +4 -47
  273. package/src/Context.ts +9 -8
  274. package/src/DataDependencies.ts +171 -0
  275. package/src/DateTime.ts +473 -0
  276. package/src/Effect.ts +10 -32
  277. package/src/Emailer.ts +51 -0
  278. package/src/Function.ts +0 -7
  279. package/src/Inputify.type.ts +1 -1
  280. package/src/Layer.ts +8 -5
  281. package/src/Model/Repository/Registry.ts +35 -0
  282. package/src/Model/Repository/dependency.ts +32 -0
  283. package/src/Model/Repository/ext.ts +374 -0
  284. package/src/Model/Repository/internal/internal.ts +987 -0
  285. package/src/Model/Repository/legacy.ts +29 -0
  286. package/src/Model/Repository/makeRepo.ts +168 -0
  287. package/src/Model/Repository/service.ts +676 -0
  288. package/src/Model/Repository/validation.ts +38 -0
  289. package/src/Model/Repository.ts +7 -0
  290. package/src/Model/dsl.ts +130 -0
  291. package/src/Model/filter/filterApi.ts +78 -0
  292. package/src/Model/filter/types/errors.ts +47 -0
  293. package/src/Model/filter/types/fields.ts +50 -0
  294. package/src/Model/filter/types/path/common.ts +404 -0
  295. package/src/Model/filter/types/path/eager.ts +329 -0
  296. package/src/Model/filter/types/path/index.ts +4 -0
  297. package/src/Model/filter/types/utils.ts +128 -0
  298. package/src/Model/filter/types/validator.ts +46 -0
  299. package/src/Model/filter/types.ts +6 -0
  300. package/src/Model/query/dsl.ts +3092 -0
  301. package/src/Model/query/new-kid-interpreter.ts +531 -0
  302. package/src/Model/query.ts +13 -0
  303. package/src/Model.ts +5 -0
  304. package/src/NonEmptySet.ts +6 -4
  305. package/src/Option.ts +3 -8
  306. package/src/Pure.ts +20 -17
  307. package/src/QueueMaker.ts +11 -0
  308. package/src/RequestContext.ts +48 -0
  309. package/src/RequestScopedDependencies.ts +45 -0
  310. package/src/Schema/Class.ts +550 -56
  311. package/src/Schema/SchemaParser.ts +12 -0
  312. package/src/Schema/SpecialJsonSchema.ts +75 -7
  313. package/src/Schema/SpecialOpenApi.ts +5 -5
  314. package/src/Schema/brand.ts +27 -12
  315. package/src/Schema/email.ts +9 -7
  316. package/src/Schema/ext.ts +405 -95
  317. package/src/Schema/moreStrings.ts +213 -88
  318. package/src/Schema/numbers.ts +107 -29
  319. package/src/Schema/phoneNumber.ts +8 -9
  320. package/src/Schema/schema.ts +1 -1
  321. package/src/Schema/strings.ts +23 -14
  322. package/src/Schema.ts +403 -46
  323. package/src/SchemaAST.ts +1 -0
  324. package/src/Set.ts +10 -5
  325. package/src/Store.ts +325 -0
  326. package/src/_ext/Array.ts +4 -2
  327. package/src/_ext/ord.ext.ts +2 -1
  328. package/src/builtin-json.d.ts +24 -0
  329. package/src/builtin.ts +16 -21
  330. package/src/client/InvalidationKeys.ts +55 -0
  331. package/src/client/apiClientFactory.ts +295 -129
  332. package/src/client/clientFor.ts +101 -33
  333. package/src/client/errors.ts +66 -20
  334. package/src/client/makeClient.ts +519 -60
  335. package/src/client.ts +6 -4
  336. package/src/http/Request.ts +4 -4
  337. package/src/http/internal/lib.ts +12 -12
  338. package/src/http.ts +1 -1
  339. package/src/ids.ts +45 -8
  340. package/src/index.ts +20 -16
  341. package/src/middleware.ts +12 -8
  342. package/src/migration/nativeEffect.ts +645 -0
  343. package/src/rpc/Invalidation.ts +278 -0
  344. package/src/rpc/MiddlewareMaker.ts +86 -79
  345. package/src/rpc/README.md +2 -2
  346. package/src/rpc/RpcContextMap.ts +4 -4
  347. package/src/rpc/RpcMiddleware.ts +18 -13
  348. package/src/rpc.ts +4 -4
  349. package/src/runtime.ts +57 -0
  350. package/src/setupRequest.ts +138 -0
  351. package/src/toast.ts +54 -0
  352. package/src/transform.ts +4 -4
  353. package/src/utils/effectify.ts +1 -1
  354. package/src/utils/extend.ts +24 -5
  355. package/src/utils/gen.ts +7 -7
  356. package/src/utils/logLevel.ts +1 -1
  357. package/src/utils/logger.ts +3 -2
  358. package/src/utils.ts +85 -175
  359. package/src/validation.ts +2 -2
  360. package/src/withToast.ts +133 -0
  361. package/test/dateTimeLocal.test.ts +55 -0
  362. package/test/dist/dateTimeLocal.test.d.ts.map +1 -0
  363. package/test/dist/nativeEffectMigration.test.d.ts.map +1 -0
  364. package/test/dist/rpc.test.d.ts.map +1 -1
  365. package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
  366. package/test/moreStrings.test.ts +55 -10
  367. package/test/nativeEffectMigration.test.ts +77 -0
  368. package/test/rpc.test.ts +28 -11
  369. package/test/rpcMiddlewareContext.test.ts +63 -0
  370. package/test/schema.test.ts +318 -55
  371. package/test/secretURL.test.ts +4 -1
  372. package/test/special.test.ts +663 -131
  373. package/test/utils.test.ts +5 -5
  374. package/tsconfig.base.json +6 -4
  375. package/tsconfig.json +9 -1
  376. package/tsconfig.src.json +29 -29
  377. package/tsconfig.test.json +2 -2
  378. package/dist/Operations.d.ts +0 -124
  379. package/dist/Operations.d.ts.map +0 -1
  380. package/dist/Operations.js +0 -29
  381. package/dist/_ext/date.d.ts +0 -15
  382. package/dist/_ext/date.d.ts.map +0 -1
  383. package/dist/_ext/date.js +0 -16
  384. package/dist/_ext/misc.d.ts +0 -14
  385. package/dist/_ext/misc.d.ts.map +0 -1
  386. package/dist/_ext/misc.js +0 -17
  387. package/eslint.config.mjs +0 -26
  388. package/src/Operations.ts +0 -55
  389. package/src/_ext/date.ts +0 -27
  390. package/src/_ext/misc.ts +0 -46
  391. package/tsconfig.json.bak +0 -12
@@ -1,9 +1,25 @@
1
- import { Effect, type SchemaAST, SchemaIssue } from "effect";
1
+ import * as Effect from "effect/Effect";
2
2
  import * as S from "effect/Schema";
3
+ import * as SchemaIssue from "effect/SchemaIssue";
4
+ import * as Struct from "effect/Struct";
3
5
  import { type NonEmptyReadonlyArray } from "../Array.js";
4
6
  import * as Context from "../Context.js";
7
+ import * as SchemaAST from "../SchemaAST.js";
5
8
  import { type AST } from "./schema.js";
6
9
  type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
10
+ export declare const DefaultParseOptions: SchemaAST.ParseOptions;
11
+ /**
12
+ * Parse-options annotation used on schema constructors for decode paths where callers
13
+ * cannot currently pass parse options (notably some RPC / HttpApi integration paths).
14
+ *
15
+ * Keep this annotation in place so those framework-managed decodes still run with
16
+ * unbounded concurrency by default.
17
+ */
18
+ export declare const concurrencyUnbounded: {
19
+ readonly parseOptions: SchemaAST.ParseOptions;
20
+ };
21
+ type DecodeLike = (schema: any) => (input: any, options?: SchemaAST.ParseOptions) => any;
22
+ export declare const withDefaultParseOptions: <Decode extends DecodeLike>(decode: Decode, defaultParseOptions?: SchemaAST.ParseOptions) => Decode;
7
23
  /**
8
24
  * Schema type for {@link DateFromString}.
9
25
  *
@@ -21,134 +37,322 @@ export interface DateFromString extends S.decodeTo<S.Date, S.String> {
21
37
  * Encoding:
22
38
  * - A `Date` is encoded as a `string`.
23
39
  *
40
+ * Use this when the Encoded form must be JSON (`string`). Domain models should
41
+ * prefer {@link Date}, whose Encoded form is `Date`; JSON stores convert via
42
+ * `Schema.toCodecJson`.
43
+ *
24
44
  * @since 4.0.0
25
45
  */
26
46
  export declare const DateFromString: DateFromString;
27
- /**
28
- * Like the default Schema `Date` but from String with `withDefault` => now
29
- */
30
- export declare const Date: DateFromString & {
31
- withDefault: S.withConstructorDefault<DateFromString>;
32
- withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
47
+ /** Like the default Schema `Date` (Encoded is `Date`) with default helpers. */
48
+ export declare const Date: S.Date & {
49
+ /**
50
+ * Construction-only default `new Date()`. Applied only when the field is
51
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
52
+ * used to JIT-migrate database fields. See file-level note.
53
+ */
54
+ withConstructorDefault: S.withConstructorDefault<S.Date>;
55
+ /**
56
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
57
+ * missing field may be data corruption, not an old-shape document; silently
58
+ * substituting `new Date()` hides the problem. Prefer an explicit,
59
+ * preferably versioned migration over a decode-time fallback. See
60
+ * file-level note.
61
+ */
62
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Date, never>;
33
63
  };
34
- /**
35
- * Like the default Schema `DateValid` but from String with `withDefault` => now
36
- */
37
- export declare const DateValid: S.decodeTo<S.Date, S.String, never, never> & {
38
- withDefault: S.withConstructorDefault<DateFromString>;
39
- withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
40
- };
41
- /**
42
- * Like the default Schema `Boolean` but with `withDefault` => false
43
- */
64
+ /** Like the default Schema `Boolean` but with default helpers. */
44
65
  export declare const Boolean: S.Boolean & {
45
- withDefault: S.withConstructorDefault<S.Boolean>;
46
- withDecodingDefaultType: S.withDecodingDefaultType<S.Boolean>;
66
+ /**
67
+ * Construction-only default `false`. Applied only when the field is
68
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
69
+ * used to JIT-migrate database fields. See file-level note.
70
+ */
71
+ withConstructorDefault: S.withConstructorDefault<S.Boolean>;
72
+ /**
73
+ * Decode-time default `false`. **Discouraged for persisted data:** a
74
+ * missing field may be data corruption, not an old-shape document; silently
75
+ * substituting `false` hides the problem. Prefer an explicit, preferably
76
+ * versioned migration over a decode-time fallback. See file-level note.
77
+ */
78
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Boolean, never>;
47
79
  };
48
80
  /**
49
- * You probably want to use `Finite` instead of this.
50
- * Like the default Schema `Number` but with `withDefault` => 0
81
+ * You probably want to use `Finite` instead of this. Like the default Schema
82
+ * `Number` but with default helpers.
51
83
  */
52
84
  export declare const Number: S.Number & {
53
- withDefault: S.withConstructorDefault<S.Number>;
54
- withDecodingDefaultType: S.withDecodingDefaultType<S.Number>;
85
+ /**
86
+ * Construction-only default `0`. Applied only when the field is omitted
87
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
88
+ * JIT-migrate database fields. See file-level note.
89
+ */
90
+ withConstructorDefault: S.withConstructorDefault<S.Number>;
91
+ /**
92
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
93
+ * field may be data corruption, not an old-shape document; silently
94
+ * substituting `0` hides the problem. Prefer an explicit, preferably
95
+ * versioned migration over a decode-time fallback. See file-level note.
96
+ */
97
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Number, never>;
55
98
  };
56
- /**
57
- * Like the default Schema `Finite` but with `withDefault` => 0
58
- */
99
+ /** Like the default Schema `Finite` but with default helpers. */
59
100
  export declare const Finite: S.Finite & {
60
- withDefault: S.withConstructorDefault<S.Finite>;
61
- withDecodingDefaultType: S.withDecodingDefaultType<S.Finite>;
101
+ /**
102
+ * Construction-only default `0`. Applied only when the field is omitted
103
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
104
+ * JIT-migrate database fields. See file-level note.
105
+ */
106
+ withConstructorDefault: S.withConstructorDefault<S.Finite>;
107
+ /**
108
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
109
+ * field may be data corruption, not an old-shape document; silently
110
+ * substituting `0` hides the problem. Prefer an explicit, preferably
111
+ * versioned migration over a decode-time fallback. See file-level note.
112
+ */
113
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Finite, never>;
62
114
  };
63
- /**
64
- * Like the default Schema `Literals` but with `withDefault` => literals[0]
65
- */
115
+ /** Like the default Schema `Literals` but with default helpers. Default value is `literals[0]`. */
66
116
  export declare const Literals: <const Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(literals: Literals) => S.Literals<Literals> & {
117
+ /** Override the default literal value used by `withConstructorDefault` / `withDecodingDefaultType`. */
67
118
  changeDefault: <A extends Literals[number]>(a: A) => S.Literals<Literals> & {
68
119
  Default: A;
69
- withDefault: S.withConstructorDefault<S.Literals<Literals>>;
70
- withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>>;
120
+ /**
121
+ * Construction-only default. Applied only when the field is
122
+ * omitted from `.make(...)` input. NOT applied during decode —
123
+ * cannot be used to JIT-migrate database fields. See file-level
124
+ * note.
125
+ */
126
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
127
+ /**
128
+ * Decode-time default. **Discouraged for persisted data:** a
129
+ * missing field may be data corruption, not an old-shape
130
+ * document; silently substituting hides the problem. Prefer an
131
+ * explicit, preferably versioned migration over a decode-time
132
+ * fallback. See file-level note.
133
+ */
134
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
71
135
  };
72
- Default: (typeof literals)[0];
73
- withDefault: S.withConstructorDefault<S.Literals<Literals>>;
74
- withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>>;
136
+ Default: Literals[0];
137
+ /**
138
+ * Construction-only default `literals[0]`. Applied only when the
139
+ * field is omitted from `.make(...)` input. NOT applied during
140
+ * decode — cannot be used to JIT-migrate database fields. See
141
+ * file-level note.
142
+ */
143
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
144
+ /**
145
+ * Decode-time default `literals[0]`. **Discouraged for persisted
146
+ * data:** a missing field may be data corruption, not an old-shape
147
+ * document; silently substituting hides the problem. Prefer an
148
+ * explicit, preferably versioned migration over a decode-time
149
+ * fallback. See file-level note.
150
+ */
151
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
75
152
  };
76
- /**
77
- * Like the default Schema `Array` but with `withDefault` => []
78
- */
153
+ /** Like the default Schema `Array` but with default helpers. */
79
154
  export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): S.$Array<ValueSchema> & {
80
- withDefault: S.withConstructorDefault<S.$Array<ValueSchema>>;
81
- withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<ValueSchema>>;
155
+ /**
156
+ * Construction-only default `[]`. Applied only when the field is
157
+ * omitted from `.make(...)` input. NOT applied during decode —
158
+ * cannot be used to JIT-migrate database fields. See file-level
159
+ * note.
160
+ */
161
+ withConstructorDefault: S.withConstructorDefault<S.$Array<ValueSchema>>;
162
+ /**
163
+ * Decode-time default `[]`. **Discouraged for persisted data:** a
164
+ * missing field may be data corruption, not an old-shape document;
165
+ * silently substituting `[]` hides the problem. Prefer an explicit,
166
+ * preferably versioned migration over a decode-time fallback. See
167
+ * file-level note.
168
+ */
169
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<ValueSchema>, never>;
82
170
  };
83
171
  /**
84
172
  * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
85
173
  */
86
- export declare const ReadonlySetFromArray: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>;
174
+ export declare const ReadonlySetFromArray: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<ValueSchema["Type"]>, ReadonlySet<ValueSchema["Type"]>>, S.$Array<ValueSchema>, never, never>;
87
175
  /**
88
176
  * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
89
177
  */
90
178
  export declare const ReadonlyMapFromArray: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
91
179
  readonly key: KeySchema;
92
180
  readonly value: ValueSchema;
93
- }) => S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>;
94
- /**
95
- * Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
96
- */
97
- export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never> & {
98
- withDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>>;
99
- withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>>;
181
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>;
182
+ /** Like the default Schema `ReadonlySet` (Encoded is `Set`) with default helpers. */
183
+ export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.$ReadonlySet<ValueSchema> & {
184
+ /**
185
+ * Construction-only default `new Set()`. Applied only when the field
186
+ * is omitted from `.make(...)` input. NOT applied during decode —
187
+ * cannot be used to JIT-migrate database fields. See file-level
188
+ * note.
189
+ */
190
+ withConstructorDefault: S.withConstructorDefault<S.$ReadonlySet<ValueSchema>>;
191
+ /**
192
+ * Decode-time default `new Set()`. **Discouraged for persisted
193
+ * data:** a missing field may be data corruption, not an old-shape
194
+ * document; silently substituting an empty set hides the problem.
195
+ * Prefer an explicit, preferably versioned migration over a
196
+ * decode-time fallback. See file-level note.
197
+ */
198
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$ReadonlySet<ValueSchema>, never>;
100
199
  };
101
- /**
102
- * Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
103
- */
200
+ /** Like the default Schema `ReadonlyMap` (Encoded is `Map`) with default helpers. */
104
201
  export declare const ReadonlyMap: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
105
202
  readonly key: KeySchema;
106
203
  readonly value: ValueSchema;
107
- }) => S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never> & {
108
- withDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>>;
109
- withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>>;
204
+ }) => S.$ReadonlyMap<KeySchema, ValueSchema> & {
205
+ /**
206
+ * Construction-only default `new Map()`. Applied only when the field
207
+ * is omitted from `.make(...)` input. NOT applied during decode —
208
+ * cannot be used to JIT-migrate database fields. See file-level
209
+ * note.
210
+ */
211
+ withConstructorDefault: S.withConstructorDefault<S.$ReadonlyMap<KeySchema, ValueSchema>>;
212
+ /**
213
+ * Decode-time default `new Map()`. **Discouraged for persisted
214
+ * data:** a missing field may be data corruption, not an old-shape
215
+ * document; silently substituting an empty map hides the problem.
216
+ * Prefer an explicit, preferably versioned migration over a
217
+ * decode-time fallback. See file-level note.
218
+ */
219
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$ReadonlyMap<KeySchema, ValueSchema>, never>;
110
220
  };
111
- /**
112
- * Like the default Schema `NullOr` but with `withDefault` => null
113
- */
221
+ /** Like the default Schema `NullOr` but with default helpers. */
114
222
  export declare const NullOr: <Schema extends S.Top>(self: Schema) => S.NullOr<Schema> & {
115
- withDefault: S.withConstructorDefault<S.NullOr<Schema>>;
116
- withDecodingDefaultType: S.withDecodingDefaultType<S.NullOr<Schema>>;
223
+ /**
224
+ * Construction-only default `null`. Applied only when the field is
225
+ * omitted from `.make(...)` input. NOT applied during decode —
226
+ * cannot be used to JIT-migrate database fields. See file-level
227
+ * note.
228
+ */
229
+ withConstructorDefault: S.withConstructorDefault<S.NullOr<Schema>>;
230
+ /**
231
+ * Decode-time default `null`. **Discouraged for persisted data:** a
232
+ * missing field may be data corruption, not an old-shape document;
233
+ * silently substituting `null` hides the problem. Prefer an
234
+ * explicit, preferably versioned migration over a decode-time
235
+ * fallback. See file-level note.
236
+ */
237
+ withDecodingDefaultType: S.withDecodingDefaultType<S.NullOr<Schema>, never>;
117
238
  };
239
+ /**
240
+ * Attach a `withConstructorDefault` of `new Date()` to any schema.
241
+ *
242
+ * **Construction-only.** Applied only when the field is omitted from
243
+ * `.make(...)` input. NOT applied during decode — cannot be used to
244
+ * JIT-migrate database fields. See file-level note.
245
+ */
118
246
  export declare const defaultDate: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
247
+ /**
248
+ * Attach a `withConstructorDefault` of `false` to any schema.
249
+ *
250
+ * **Construction-only.** Applied only when the field is omitted from
251
+ * `.make(...)` input. NOT applied during decode — cannot be used to
252
+ * JIT-migrate database fields. See file-level note.
253
+ */
119
254
  export declare const defaultBool: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
255
+ /**
256
+ * Attach a `withConstructorDefault` of `null` to any schema.
257
+ *
258
+ * **Construction-only.** Applied only when the field is omitted from
259
+ * `.make(...)` input. NOT applied during decode — cannot be used to
260
+ * JIT-migrate database fields. See file-level note.
261
+ */
120
262
  export declare const defaultNullable: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
263
+ /**
264
+ * Attach a `withConstructorDefault` of `[]` to any schema.
265
+ *
266
+ * **Construction-only.** Applied only when the field is omitted from
267
+ * `.make(...)` input. NOT applied during decode — cannot be used to
268
+ * JIT-migrate database fields. See file-level note.
269
+ */
121
270
  export declare const defaultArray: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
271
+ /**
272
+ * Attach a `withConstructorDefault` of `new Map()` to any schema.
273
+ *
274
+ * **Construction-only.** Applied only when the field is omitted from
275
+ * `.make(...)` input. NOT applied during decode — cannot be used to
276
+ * JIT-migrate database fields. See file-level note.
277
+ */
122
278
  export declare const defaultMap: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
279
+ /**
280
+ * Attach a `withConstructorDefault` of `new Set()` to any schema.
281
+ *
282
+ * **Construction-only.** Applied only when the field is omitted from
283
+ * `.make(...)` input. NOT applied during decode — cannot be used to
284
+ * JIT-migrate database fields. See file-level note.
285
+ */
123
286
  export declare const defaultSet: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
124
287
  export declare const withDefaultMake: <Self extends S.Top>(s: Self) => WithDefaults<Self> & Self;
125
288
  export type WithDefaults<Self extends S.Top> = (i: Self["Encoded"], options?: SchemaAST.ParseOptions) => Self["Type"];
126
- export declare const inputDate: S.Union<readonly [S.DateValid, DateFromString & {
127
- withDefault: S.withConstructorDefault<DateFromString>;
128
- withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
129
- }]> & {
130
- withDefault: S.withConstructorDefault<S.Union<readonly [S.DateValid, DateFromString & {
131
- withDefault: S.withConstructorDefault<DateFromString>;
132
- withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
133
- }]>>;
134
- withDecodingDefaultType: S.withDecodingDefaultType<S.Union<readonly [S.DateValid, DateFromString & {
135
- withDefault: S.withConstructorDefault<DateFromString>;
136
- withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
137
- }]>>;
289
+ /** Union of core `Schema.Date` (Date objects) and string-encoded `DateFromString`, with default helpers. */
290
+ export declare const inputDate: S.Union<readonly [S.Date, DateFromString]> & {
291
+ /**
292
+ * Construction-only default `new Date()`. Applied only when the field is
293
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
294
+ * used to JIT-migrate database fields. See file-level note.
295
+ */
296
+ withConstructorDefault: S.withConstructorDefault<S.Union<readonly [S.Date, DateFromString]>>;
297
+ /**
298
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
299
+ * missing field may be data corruption, not an old-shape document;
300
+ * silently substituting `new Date()` hides the problem. Prefer an
301
+ * explicit, preferably versioned migration over a decode-time fallback.
302
+ * See file-level note.
303
+ */
304
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Union<readonly [S.Date, DateFromString]>, never>;
138
305
  };
139
306
  export interface UnionBrand {
140
307
  }
141
308
  export declare function makeOptional<NER extends S.Struct.Fields>(t: NER): {
142
309
  [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optional<NER[K] & S.Top>> : any;
143
310
  };
311
+ export type DropConstructorDefault<T extends S.Top> = Omit<T, "~type.constructor.default" | "Rebuild" | "annotate" | "annotateKey" | "check" | "rebuild"> & {
312
+ readonly "~type.constructor.default": "no-default";
313
+ readonly "Rebuild": DropConstructorDefault<T>;
314
+ annotate(annotations: S.Annotations.Bottom<T["Type"], T["~type.parameters"]>): DropConstructorDefault<T>;
315
+ annotateKey(annotations: S.Annotations.Key<T["Type"]>): DropConstructorDefault<T>;
316
+ check(...checks: readonly [SchemaAST.Check<T["Type"]>, ...Array<SchemaAST.Check<T["Type"]>>]): DropConstructorDefault<T>;
317
+ rebuild(ast: T["ast"]): DropConstructorDefault<T>;
318
+ };
319
+ export interface DropConstructorDefaultLambda extends Struct.Lambda {
320
+ <T extends S.Top>(self: T): DropConstructorDefault<T>;
321
+ readonly "~lambda.out": DropConstructorDefault<this["~lambda.in"] & S.Top>;
322
+ }
323
+ /**
324
+ * A `Struct.Lambda` that removes a field's `withConstructorDefault`, if any.
325
+ * Compose with `Struct.pick`/`Struct.omit` via `Struct.map` to derive a
326
+ * partial-update schema from a "create" schema without inheriting defaults
327
+ * that would resurrect omitted fields in `.make(...)` output:
328
+ *
329
+ * ```ts
330
+ * import { flow } from "effect/Function"
331
+ * import * as Struct from "effect/Struct"
332
+ * import * as S from "effect-app/Schema"
333
+ *
334
+ * const Person = S.Struct({
335
+ * id: S.String,
336
+ * name: S.String.pipe(S.optionalKey, S.withConstructorDefault(() => ""))
337
+ * })
338
+ *
339
+ * const UpdatePerson = Person.mapFields(
340
+ * flow(Struct.omit(["id"]), Struct.map(S.dropConstructorDefault))
341
+ * )
342
+ * ```
343
+ */
344
+ export declare const dropConstructorDefault: DropConstructorDefaultLambda;
144
345
  export declare function makeExactOptional<NER extends S.Struct.Fields>(t: NER): {
145
- [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optionalKey<NER[K] & S.Top>> : any;
346
+ [K in keyof NER]: NER[K] extends S.Top ? DropConstructorDefault<ReturnType<typeof S.optionalKey<NER[K] & S.Top>>> : any;
146
347
  };
147
348
  /** A version of transform which is only a one way mapping of From->To */
148
349
  export declare const transformTo: <To extends S.Top, From extends S.Top>(from: From, to: To, decode: (fromA: From["Type"], options: SchemaAST.ParseOptions) => To["Encoded"]) => S.decodeTo<To, From, never, never>;
149
- /** A version of transformOrFail which is only a one way mapping of From->To */
350
+ /** A version of transformEffect which is only a one way mapping of From->To */
150
351
  export declare const transformToOrFail: <To extends S.Top, From extends S.Top, RD>(from: From, to: To, decode: (fromA: From["Type"], options: SchemaAST.ParseOptions) => Effect.Effect<To["Encoded"], SchemaIssue.Issue, RD>) => S.decodeTo<To, From, RD, never>;
151
- export declare const provide: <Self extends S.Top, R>(self: Self, context: Context.Context<R>) => ProvidedCodec<Self, R>;
352
+ export declare const provide: {
353
+ <R>(context: Context.Context<R>): <Self extends S.Top>(self: Self) => ProvidedCodec<Self, R>;
354
+ <Self extends S.Top, R>(self: Self, context: Context.Context<R>): ProvidedCodec<Self, R>;
355
+ };
152
356
  export declare const contextFromServices: <Self extends S.Top, Tags extends ReadonlyArray<Context.Key<any, any>>>(self: Self, ...services: Tags) => Effect.Effect<ProvidedCodec<Self, Context.Service.Identifier<Tags[number]>>, never, Context.Service.Identifier<Tags[number]>>;
153
357
  export {};
154
358
  //# sourceMappingURL=ext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,KAAK,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CACjD,IAAI,CAAC,MAAM,CAAC,EACZ,IAAI,CAAC,SAAS,CAAC,EACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EACpC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACrC,CAAA;AAQD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,YAE3C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;aAAK,YAAY;CAAgC,CAAA;AAElF,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,KAAK,GAAG,CAAA;AAExF,eAAO,MAAM,uBAAuB,GAAI,MAAM,SAAS,UAAU,UACvD,MAAM,wBACO,SAAS,CAAC,YAAY,KAC1C,MAIW,CAAA;AAQd;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;CAAG;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,cAAyF,CAAA;AAmBtH,+EAA+E;AAC/E,eAAO,MAAM,IAAI;IAjBf;;;;OAIG;;IAEH;;;;;;OAMG;;CAK2C,CAAA;AAEhD,kEAAkE;AAClE,eAAO,MAAM,OAAO;IAClB;;;;OAIG;;IAEH;;;;;OAKG;;CAEH,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;;IAEH;;;;;OAKG;;CAEH,CAAA;AASF,iEAAiE;AACjE,eAAO,MAAM,MAAM;IACjB;;;;OAIG;;IAEH;;;;;OAKG;;CAEH,CAAA;AAEF,mGAAmG;AACnG,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,QAAQ,SAAS,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,QAAQ;IAKnG,uGAAuG;oBACvF,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;;QAG5C;;;;;WAKG;;QAEH;;;;;;WAMG;;;aAKiB,QAAQ,CAAC,CAAC,CAAC;IACnC;;;;;OAKG;;IAEH;;;;;;OAMG;;CAGR,CAAA;AAEH,gEAAgE;AAChE,wBAAgB,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW;IAK3D;;;;;OAKG;;IAEH;;;;;;OAMG;;EAIV;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,CAAC,CAAC,GAAG,SAAS,WAAW,sIAejF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,CAAC,CAAC,GAAG,EAAE,WAAW,SAAS,CAAC,CAAC,GAAG,QAAQ;IAC7F,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B,2MAwBA,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,GAAI,WAAW,SAAS,CAAC,CAAC,GAAG,SAAS,WAAW;IAKjE;;;;;OAKG;;IAIH;;;;;;OAMG;;CAKR,CAAA;AAEH,qFAAqF;AACrF,eAAO,MAAM,WAAW,GAAI,SAAS,SAAS,CAAC,CAAC,GAAG,EAAE,WAAW,SAAS,CAAC,CAAC,GAAG,QAAQ;IACpF,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;IAKO;;;;;OAKG;;IAEH;;;;;;OAMG;;CAGR,CAAA;AAEH,iEAAiE;AACjE,eAAO,MAAM,MAAM,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,QAAQ,MAAM;IAKjD;;;;;OAKG;;IAEH;;;;;;OAMG;;CAGR,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCACjB,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCAChC,CAAA;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCACrC,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCACjC,CAAA;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCACxB,CAAA;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,yBAAyB,UAAU,MAAM,qCACxB,CAAA;AAErE,eAAO,MAAM,eAAe,GAAI,IAAI,SAAS,CAAC,CAAC,GAAG,KAAK,IAAI,8BAM1D,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,CAC7C,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,KAC7B,IAAI,CAAC,MAAM,CAAC,CAAA;AAgBjB,4GAA4G;AAC5G,eAAO,MAAM,SAAS;IAGlB;;;;OAIG;;IAEH;;;;;;OAMG;;CAGN,CAAA;AAED,MAAM,WAAW,UAAU;CAAG;AAI9B,wBAAgB,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EACtD,CAAC,EAAE,GAAG,GACL;KACA,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;CAC7F,CAKA;AAMD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAC9C,IAAI,CACJ,CAAC,EACD,2BAA2B,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAC3F,GACC;IACA,QAAQ,CAAC,2BAA2B,EAAE,YAAY,CAAA;IAClD,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;IACxG,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;IACjF,KAAK,CACH,GAAG,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACrF,sBAAsB,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAClD,CAAA;AAUH,MAAM,WAAW,4BAA6B,SAAQ,MAAM,CAAC,MAAM;IACjE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;CAC3E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,EAAE,4BAWpC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAC3D,CAAC,EAAE,GAAG,GACL;KACA,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAC7G,GAAG;CACR,CAKA;AAED,yEAAyE;AACzE,eAAO,MAAM,WAAW,GAAI,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,QACxD,IAAI,MACN,EAAE,UACE,CACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EACnB,OAAO,EAAE,SAAS,CAAC,YAAY,KAC5B,EAAE,CAAC,SAAS,CAAC,uCAgBjB,CAAA;AAEH,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,GAAI,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,QAClE,IAAI,MACN,EAAE,UACE,CACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EACnB,OAAO,EAAE,SAAS,CAAC,YAAY,KAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,oCAgBvD,CAAA;AAEH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;CAOxF,CAAA;AACF,eAAO,MAAM,mBAAmB,EAQ1B,CACJ,IAAI,SAAS,CAAC,CAAC,GAAG,EAClB,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAEjD,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EAAE,IAAI,KACd,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7D,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACzC,CAAA"}