effect-app 4.0.0-beta.31 → 4.0.0-beta.310

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 (369) hide show
  1. package/CHANGELOG.md +1486 -0
  2. package/dist/Array.d.ts +2 -1
  3. package/dist/Array.d.ts.map +1 -1
  4. package/dist/Array.js +4 -4
  5. package/dist/Chunk.d.ts.map +1 -1
  6. package/dist/Config/SecretURL.d.ts +3 -1
  7. package/dist/Config/SecretURL.d.ts.map +1 -1
  8. package/dist/Config/SecretURL.js +3 -6
  9. package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
  10. package/dist/Config/internal/configSecretURL.js +2 -2
  11. package/dist/Config.d.ts +2 -0
  12. package/dist/Config.d.ts.map +1 -0
  13. package/dist/Config.js +8 -0
  14. package/dist/ConfigProvider.d.ts +2 -0
  15. package/dist/ConfigProvider.d.ts.map +1 -0
  16. package/dist/ConfigProvider.js +6 -0
  17. package/dist/{ServiceMap.d.ts → Context.d.ts} +18 -20
  18. package/dist/Context.d.ts.map +1 -0
  19. package/dist/Context.js +67 -0
  20. package/dist/DataDependencies.d.ts +280 -0
  21. package/dist/DataDependencies.d.ts.map +1 -0
  22. package/dist/DataDependencies.js +112 -0
  23. package/dist/Effect.d.ts +10 -9
  24. package/dist/Effect.d.ts.map +1 -1
  25. package/dist/Effect.js +5 -8
  26. package/dist/Emailer.d.ts +51 -0
  27. package/dist/Emailer.d.ts.map +1 -0
  28. package/dist/Emailer.js +7 -0
  29. package/dist/Function.d.ts.map +1 -1
  30. package/dist/Layer.d.ts +10 -6
  31. package/dist/Layer.d.ts.map +1 -1
  32. package/dist/Layer.js +3 -2
  33. package/dist/Model/Repository/Registry.d.ts +22 -0
  34. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  35. package/dist/Model/Repository/Registry.js +18 -0
  36. package/dist/Model/Repository/dependency.d.ts +6 -0
  37. package/dist/Model/Repository/dependency.d.ts.map +1 -0
  38. package/dist/Model/Repository/dependency.js +29 -0
  39. package/dist/Model/Repository/ext.d.ts +60 -0
  40. package/dist/Model/Repository/ext.d.ts.map +1 -0
  41. package/dist/Model/Repository/ext.js +124 -0
  42. package/dist/Model/Repository/internal/internal.d.ts +68 -0
  43. package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
  44. package/dist/Model/Repository/internal/internal.js +537 -0
  45. package/dist/Model/Repository/legacy.d.ts +21 -0
  46. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  47. package/dist/Model/Repository/legacy.js +2 -0
  48. package/dist/Model/Repository/makeRepo.d.ts +63 -0
  49. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  50. package/dist/Model/Repository/makeRepo.js +27 -0
  51. package/dist/Model/Repository/service.d.ts +121 -0
  52. package/dist/Model/Repository/service.d.ts.map +1 -0
  53. package/dist/Model/Repository/service.js +2 -0
  54. package/dist/Model/Repository/validation.d.ts +58 -0
  55. package/dist/Model/Repository/validation.d.ts.map +1 -0
  56. package/dist/Model/Repository/validation.js +32 -0
  57. package/dist/Model/Repository.d.ts +8 -0
  58. package/dist/Model/Repository.d.ts.map +1 -0
  59. package/dist/Model/Repository.js +8 -0
  60. package/dist/Model/dsl.d.ts +33 -0
  61. package/dist/Model/dsl.d.ts.map +1 -0
  62. package/dist/Model/dsl.js +43 -0
  63. package/dist/Model/filter/filterApi.d.ts +30 -0
  64. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  65. package/dist/Model/filter/filterApi.js +2 -0
  66. package/dist/Model/filter/types/errors.d.ts +29 -0
  67. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  68. package/dist/Model/filter/types/errors.js +2 -0
  69. package/dist/Model/filter/types/fields.d.ts +15 -0
  70. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  71. package/dist/Model/filter/types/fields.js +2 -0
  72. package/dist/Model/filter/types/path/common.d.ts +316 -0
  73. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  74. package/dist/Model/filter/types/path/common.js +2 -0
  75. package/dist/Model/filter/types/path/eager.d.ts +94 -0
  76. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  77. package/dist/Model/filter/types/path/eager.js +36 -0
  78. package/dist/Model/filter/types/path/index.d.ts +4 -0
  79. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  80. package/dist/Model/filter/types/path/index.js +3 -0
  81. package/dist/Model/filter/types/utils.d.ts +79 -0
  82. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  83. package/dist/Model/filter/types/utils.js +2 -0
  84. package/dist/Model/filter/types/validator.d.ts +30 -0
  85. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  86. package/dist/Model/filter/types/validator.js +2 -0
  87. package/dist/Model/filter/types.d.ts +5 -0
  88. package/dist/Model/filter/types.d.ts.map +1 -0
  89. package/dist/Model/filter/types.js +7 -0
  90. package/dist/Model/query/dsl.d.ts +614 -0
  91. package/dist/Model/query/dsl.d.ts.map +1 -0
  92. package/dist/Model/query/dsl.js +376 -0
  93. package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
  94. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  95. package/dist/Model/query/new-kid-interpreter.js +361 -0
  96. package/dist/Model/query.d.ts +15 -0
  97. package/dist/Model/query.d.ts.map +1 -0
  98. package/dist/Model/query.js +3 -0
  99. package/dist/Model.d.ts +6 -0
  100. package/dist/Model.d.ts.map +1 -0
  101. package/dist/Model.js +6 -0
  102. package/dist/NonEmptySet.d.ts +3 -1
  103. package/dist/NonEmptySet.d.ts.map +1 -1
  104. package/dist/NonEmptySet.js +2 -2
  105. package/dist/Option.d.ts +1 -0
  106. package/dist/Option.d.ts.map +1 -1
  107. package/dist/Option.js +3 -1
  108. package/dist/Pure.d.ts +7 -5
  109. package/dist/Pure.d.ts.map +1 -1
  110. package/dist/Pure.js +7 -4
  111. package/dist/QueueMaker.d.ts +11 -0
  112. package/dist/QueueMaker.d.ts.map +1 -0
  113. package/dist/QueueMaker.js +11 -0
  114. package/dist/RequestContext.d.ts +87 -0
  115. package/dist/RequestContext.d.ts.map +1 -0
  116. package/dist/RequestContext.js +45 -0
  117. package/dist/RequestScopedDependencies.d.ts +21 -0
  118. package/dist/RequestScopedDependencies.d.ts.map +1 -0
  119. package/dist/RequestScopedDependencies.js +16 -0
  120. package/dist/Schema/Class.d.ts +188 -19
  121. package/dist/Schema/Class.d.ts.map +1 -1
  122. package/dist/Schema/Class.js +260 -17
  123. package/dist/Schema/FastCheck.d.ts.map +1 -1
  124. package/dist/Schema/SchemaParser.d.ts +5 -0
  125. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  126. package/dist/Schema/SchemaParser.js +6 -0
  127. package/dist/Schema/SpecialJsonSchema.d.ts +34 -0
  128. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  129. package/dist/Schema/SpecialJsonSchema.js +118 -0
  130. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  131. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  132. package/dist/Schema/SpecialOpenApi.js +123 -0
  133. package/dist/Schema/brand.d.ts +4 -2
  134. package/dist/Schema/brand.d.ts.map +1 -1
  135. package/dist/Schema/brand.js +3 -1
  136. package/dist/Schema/email.d.ts.map +1 -1
  137. package/dist/Schema/email.js +7 -4
  138. package/dist/Schema/ext.d.ts +374 -56
  139. package/dist/Schema/ext.d.ts.map +1 -1
  140. package/dist/Schema/ext.js +393 -54
  141. package/dist/Schema/moreStrings.d.ts +82 -36
  142. package/dist/Schema/moreStrings.d.ts.map +1 -1
  143. package/dist/Schema/moreStrings.js +49 -42
  144. package/dist/Schema/numbers.d.ts +34 -21
  145. package/dist/Schema/numbers.d.ts.map +1 -1
  146. package/dist/Schema/numbers.js +55 -12
  147. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  148. package/dist/Schema/phoneNumber.js +6 -3
  149. package/dist/Schema/schema.d.ts +1 -1
  150. package/dist/Schema/schema.d.ts.map +1 -1
  151. package/dist/Schema/schema.js +2 -2
  152. package/dist/Schema/strings.d.ts +18 -4
  153. package/dist/Schema/strings.d.ts.map +1 -1
  154. package/dist/Schema/strings.js +1 -5
  155. package/dist/Schema.d.ts +222 -8
  156. package/dist/Schema.d.ts.map +1 -1
  157. package/dist/Schema.js +191 -12
  158. package/dist/SchemaAST.d.ts +2 -0
  159. package/dist/SchemaAST.d.ts.map +1 -0
  160. package/dist/SchemaAST.js +2 -0
  161. package/dist/Set.d.ts +4 -1
  162. package/dist/Set.d.ts.map +1 -1
  163. package/dist/Set.js +3 -2
  164. package/dist/Store.d.ts +163 -0
  165. package/dist/Store.d.ts.map +1 -0
  166. package/dist/Store.js +113 -0
  167. package/dist/_ext/Array.d.ts +1 -1
  168. package/dist/_ext/Array.d.ts.map +1 -1
  169. package/dist/_ext/Array.js +4 -2
  170. package/dist/_ext/misc.d.ts +4 -1
  171. package/dist/_ext/misc.d.ts.map +1 -1
  172. package/dist/_ext/misc.js +4 -2
  173. package/dist/_ext/ord.ext.d.ts +2 -1
  174. package/dist/_ext/ord.ext.d.ts.map +1 -1
  175. package/dist/_ext/ord.ext.js +2 -2
  176. package/dist/builtin.d.ts +2 -14
  177. package/dist/builtin.d.ts.map +1 -1
  178. package/dist/builtin.js +1 -1
  179. package/dist/client/InvalidationKeys.d.ts +30 -0
  180. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  181. package/dist/client/InvalidationKeys.js +37 -0
  182. package/dist/client/apiClientFactory.d.ts +19 -31
  183. package/dist/client/apiClientFactory.d.ts.map +1 -1
  184. package/dist/client/apiClientFactory.js +155 -35
  185. package/dist/client/clientFor.d.ts +54 -18
  186. package/dist/client/clientFor.d.ts.map +1 -1
  187. package/dist/client/clientFor.js +9 -1
  188. package/dist/client/errors.d.ts +82 -27
  189. package/dist/client/errors.d.ts.map +1 -1
  190. package/dist/client/errors.js +75 -19
  191. package/dist/client/makeClient.d.ts +490 -34
  192. package/dist/client/makeClient.d.ts.map +1 -1
  193. package/dist/client/makeClient.js +62 -36
  194. package/dist/client.d.ts +2 -0
  195. package/dist/client.d.ts.map +1 -1
  196. package/dist/client.js +3 -1
  197. package/dist/faker.d.ts.map +1 -1
  198. package/dist/http/Request.d.ts +1 -1
  199. package/dist/http/Request.d.ts.map +1 -1
  200. package/dist/http/Request.js +2 -2
  201. package/dist/ids.d.ts +42 -14
  202. package/dist/ids.d.ts.map +1 -1
  203. package/dist/ids.js +30 -5
  204. package/dist/index.d.ts +6 -7
  205. package/dist/index.d.ts.map +1 -1
  206. package/dist/index.js +8 -8
  207. package/dist/middleware.d.ts +13 -7
  208. package/dist/middleware.d.ts.map +1 -1
  209. package/dist/middleware.js +14 -8
  210. package/dist/rpc/Invalidation.d.ts +2276 -0
  211. package/dist/rpc/Invalidation.d.ts.map +1 -0
  212. package/dist/rpc/Invalidation.js +178 -0
  213. package/dist/rpc/MiddlewareMaker.d.ts +11 -7
  214. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  215. package/dist/rpc/MiddlewareMaker.js +59 -38
  216. package/dist/rpc/RpcContextMap.d.ts +3 -3
  217. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  218. package/dist/rpc/RpcContextMap.js +4 -4
  219. package/dist/rpc/RpcMiddleware.d.ts +14 -10
  220. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  221. package/dist/rpc/RpcMiddleware.js +1 -1
  222. package/dist/rpc.d.ts +1 -1
  223. package/dist/rpc.d.ts.map +1 -1
  224. package/dist/rpc.js +2 -2
  225. package/dist/runtime.d.ts +19 -0
  226. package/dist/runtime.d.ts.map +1 -0
  227. package/dist/runtime.js +40 -0
  228. package/dist/setupRequest.d.ts +20 -0
  229. package/dist/setupRequest.d.ts.map +1 -0
  230. package/dist/setupRequest.js +72 -0
  231. package/dist/toast.d.ts +51 -0
  232. package/dist/toast.d.ts.map +1 -0
  233. package/dist/toast.js +34 -0
  234. package/dist/transform.d.ts +1 -1
  235. package/dist/transform.d.ts.map +1 -1
  236. package/dist/transform.js +4 -5
  237. package/dist/utils/effectify.d.ts +1 -1
  238. package/dist/utils/effectify.d.ts.map +1 -1
  239. package/dist/utils/effectify.js +2 -2
  240. package/dist/utils/extend.d.ts.map +1 -1
  241. package/dist/utils/gen.d.ts +4 -4
  242. package/dist/utils/gen.d.ts.map +1 -1
  243. package/dist/utils/logLevel.d.ts +2 -2
  244. package/dist/utils/logLevel.d.ts.map +1 -1
  245. package/dist/utils/logger.d.ts +4 -3
  246. package/dist/utils/logger.d.ts.map +1 -1
  247. package/dist/utils/logger.js +4 -4
  248. package/dist/utils.d.ts +34 -39
  249. package/dist/utils.d.ts.map +1 -1
  250. package/dist/utils.js +33 -37
  251. package/dist/validation/validators.d.ts.map +1 -1
  252. package/dist/validation.d.ts.map +1 -1
  253. package/dist/withToast.d.ts +30 -0
  254. package/dist/withToast.d.ts.map +1 -0
  255. package/dist/withToast.js +64 -0
  256. package/package.json +27 -251
  257. package/src/Array.ts +5 -5
  258. package/src/Chunk.ts +3 -3
  259. package/src/Config/SecretURL.ts +6 -3
  260. package/src/Config/internal/configSecretURL.ts +2 -2
  261. package/src/Config.ts +7 -0
  262. package/src/ConfigProvider.ts +5 -0
  263. package/src/{ServiceMap.ts → Context.ts} +56 -63
  264. package/src/DataDependencies.ts +171 -0
  265. package/src/Effect.ts +14 -16
  266. package/src/Emailer.ts +51 -0
  267. package/src/Inputify.type.ts +1 -1
  268. package/src/Layer.ts +11 -7
  269. package/src/Model/Repository/Registry.ts +35 -0
  270. package/src/Model/Repository/dependency.ts +32 -0
  271. package/src/Model/Repository/ext.ts +374 -0
  272. package/src/Model/Repository/internal/internal.ts +905 -0
  273. package/src/Model/Repository/legacy.ts +29 -0
  274. package/src/Model/Repository/makeRepo.ts +156 -0
  275. package/src/Model/Repository/service.ts +676 -0
  276. package/src/Model/Repository/validation.ts +31 -0
  277. package/src/Model/Repository.ts +7 -0
  278. package/src/Model/dsl.ts +129 -0
  279. package/src/Model/filter/filterApi.ts +60 -0
  280. package/src/Model/filter/types/errors.ts +47 -0
  281. package/src/Model/filter/types/fields.ts +50 -0
  282. package/src/Model/filter/types/path/common.ts +404 -0
  283. package/src/Model/filter/types/path/eager.ts +329 -0
  284. package/src/Model/filter/types/path/index.ts +4 -0
  285. package/src/Model/filter/types/utils.ts +128 -0
  286. package/src/Model/filter/types/validator.ts +46 -0
  287. package/src/Model/filter/types.ts +6 -0
  288. package/src/Model/query/dsl.ts +2911 -0
  289. package/src/Model/query/new-kid-interpreter.ts +526 -0
  290. package/src/Model/query.ts +13 -0
  291. package/src/Model.ts +5 -0
  292. package/src/NonEmptySet.ts +6 -4
  293. package/src/Option.ts +2 -0
  294. package/src/Pure.ts +10 -7
  295. package/src/QueueMaker.ts +11 -0
  296. package/src/RequestContext.ts +48 -0
  297. package/src/RequestScopedDependencies.ts +45 -0
  298. package/src/Schema/Class.ts +633 -59
  299. package/src/Schema/SchemaParser.ts +12 -0
  300. package/src/Schema/SpecialJsonSchema.ts +139 -0
  301. package/src/Schema/SpecialOpenApi.ts +130 -0
  302. package/src/Schema/brand.ts +22 -2
  303. package/src/Schema/email.ts +9 -4
  304. package/src/Schema/ext.ts +517 -93
  305. package/src/Schema/moreStrings.ts +147 -68
  306. package/src/Schema/numbers.ts +97 -28
  307. package/src/Schema/phoneNumber.ts +9 -5
  308. package/src/Schema/schema.ts +1 -1
  309. package/src/Schema/strings.ts +23 -14
  310. package/src/Schema.ts +397 -26
  311. package/src/SchemaAST.ts +1 -0
  312. package/src/Set.ts +6 -2
  313. package/src/Store.ts +273 -0
  314. package/src/_ext/Array.ts +4 -2
  315. package/src/_ext/misc.ts +4 -1
  316. package/src/_ext/ord.ext.ts +2 -1
  317. package/src/builtin-json.d.ts +24 -0
  318. package/src/builtin.ts +16 -21
  319. package/src/client/InvalidationKeys.ts +55 -0
  320. package/src/client/apiClientFactory.ts +299 -134
  321. package/src/client/clientFor.ts +107 -34
  322. package/src/client/errors.ts +100 -29
  323. package/src/client/makeClient.ts +593 -92
  324. package/src/client.ts +6 -4
  325. package/src/http/Request.ts +3 -3
  326. package/src/http.ts +1 -1
  327. package/src/ids.ts +33 -6
  328. package/src/index.ts +20 -23
  329. package/src/middleware.ts +13 -9
  330. package/src/rpc/Invalidation.ts +278 -0
  331. package/src/rpc/MiddlewareMaker.ts +88 -80
  332. package/src/rpc/README.md +2 -2
  333. package/src/rpc/RpcContextMap.ts +7 -6
  334. package/src/rpc/RpcMiddleware.ts +19 -13
  335. package/src/rpc.ts +4 -4
  336. package/src/runtime.ts +56 -0
  337. package/src/setupRequest.ts +138 -0
  338. package/src/toast.ts +54 -0
  339. package/src/transform.ts +4 -4
  340. package/src/utils/effectify.ts +1 -1
  341. package/src/utils/gen.ts +8 -8
  342. package/src/utils/logLevel.ts +1 -1
  343. package/src/utils/logger.ts +4 -3
  344. package/src/utils.ts +85 -158
  345. package/src/validation.ts +2 -2
  346. package/src/withToast.ts +133 -0
  347. package/test/dist/rpc.test.d.ts.map +1 -1
  348. package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
  349. package/test/dist/secretURL.test.d.ts.map +1 -0
  350. package/test/dist/special.test.d.ts.map +1 -0
  351. package/test/moreStrings.test.ts +1 -1
  352. package/test/rpc.test.ts +42 -13
  353. package/test/rpcMiddlewareContext.test.ts +63 -0
  354. package/test/schema.test.ts +504 -30
  355. package/test/secretURL.test.ts +160 -0
  356. package/test/special.test.ts +1258 -0
  357. package/test/utils.test.ts +7 -7
  358. package/tsconfig.base.json +6 -5
  359. package/tsconfig.json +9 -2
  360. package/tsconfig.src.json +29 -29
  361. package/tsconfig.test.json +2 -2
  362. package/dist/Operations.d.ts +0 -123
  363. package/dist/Operations.d.ts.map +0 -1
  364. package/dist/Operations.js +0 -29
  365. package/dist/ServiceMap.d.ts.map +0 -1
  366. package/dist/ServiceMap.js +0 -91
  367. package/eslint.config.mjs +0 -26
  368. package/src/Operations.ts +0 -55
  369. package/tsconfig.json.bak +0 -12
@@ -1,98 +1,416 @@
1
- import { Effect, Schema, type SchemaAST, SchemaIssue, ServiceMap } 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";
6
+ import * as Context from "../Context.js";
7
+ import * as SchemaAST from "../SchemaAST.js";
4
8
  import { type AST } from "./schema.js";
5
9
  type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
6
- export declare const withDefaultConstructor: <A>(makeDefault: () => NoInfer<A>) => <Self extends S.Top>(self: Self) => S.withConstructorDefault<Self & S.WithoutConstructorDefault>;
10
+ export declare const DefaultParseOptions: SchemaAST.ParseOptions;
7
11
  /**
8
- * Like the default Schema `Date` but from String with `withDefault` => now
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.
9
17
  */
10
- export declare const Date: Schema.decodeTo<Schema.Date, Schema.String, never, never> & {
11
- withDefault: Schema.withConstructorDefault<Schema.decodeTo<Schema.Date, Schema.String, never, never> & Schema.WithoutConstructorDefault>;
18
+ export declare const concurrencyUnbounded: {
19
+ readonly parseOptions: SchemaAST.ParseOptions;
12
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;
13
23
  /**
14
- * Like the default Schema `Boolean` but with `withDefault` => false
24
+ * Schema type for {@link DateFromString}.
25
+ *
26
+ * @category Schemas
27
+ * @since 4.0.0
15
28
  */
16
- export declare const Boolean: Schema.Boolean & {
17
- withDefault: Schema.withConstructorDefault<Schema.Boolean & Schema.WithoutConstructorDefault>;
18
- };
29
+ export interface DateFromString extends S.decodeTo<S.Date, S.String> {
30
+ }
19
31
  /**
20
- * Like the default Schema `Number` but with `withDefault` => 0
32
+ * A transformation schema that parses an ISO 8601 string into a `Date`.
33
+ *
34
+ * Decoding:
35
+ * - A `string` is decoded as a `Date`.
36
+ *
37
+ * Encoding:
38
+ * - A `Date` is encoded as a `string`.
39
+ *
40
+ * @since 4.0.0
21
41
  */
22
- export declare const Number: Schema.Number & {
23
- withDefault: Schema.withConstructorDefault<Schema.Number & Schema.WithoutConstructorDefault>;
42
+ export declare const DateFromString: DateFromString;
43
+ /** Like the default Schema `Date` but from String, with default helpers. */
44
+ export declare const Date: DateFromString & {
45
+ /**
46
+ * Construction-only default `new Date()`. Applied only when the field is
47
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
48
+ * used to JIT-migrate database fields. See file-level note.
49
+ */
50
+ withConstructorDefault: S.withConstructorDefault<DateFromString>;
51
+ /**
52
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
53
+ * missing field may be data corruption, not an old-shape document; silently
54
+ * substituting `new Date()` hides the problem. Prefer an explicit,
55
+ * preferably versioned migration over a decode-time fallback. See
56
+ * file-level note.
57
+ */
58
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString, never>;
59
+ };
60
+ /** Like the default Schema `DateValid` but from String, with default helpers. */
61
+ export declare const DateValid: S.decodeTo<S.Date, S.String, never, never> & {
62
+ /**
63
+ * Construction-only default `new Date()`. Applied only when the field is
64
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
65
+ * used to JIT-migrate database fields. See file-level note.
66
+ */
67
+ withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.Date, S.String, never, never>>;
68
+ /**
69
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
70
+ * missing field may be data corruption, not an old-shape document; silently
71
+ * substituting `new Date()` hides the problem. Prefer an explicit,
72
+ * preferably versioned migration over a decode-time fallback. See
73
+ * file-level note.
74
+ */
75
+ withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.Date, S.String, never, never>, never>;
76
+ };
77
+ /** Like the default Schema `Boolean` but with default helpers. */
78
+ export declare const Boolean: S.Boolean & {
79
+ /**
80
+ * Construction-only default `false`. Applied only when the field is
81
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
82
+ * used to JIT-migrate database fields. See file-level note.
83
+ */
84
+ withConstructorDefault: S.withConstructorDefault<S.Boolean>;
85
+ /**
86
+ * Decode-time default `false`. **Discouraged for persisted data:** a
87
+ * missing field may be data corruption, not an old-shape document; silently
88
+ * substituting `false` hides the problem. Prefer an explicit, preferably
89
+ * versioned migration over a decode-time fallback. See file-level note.
90
+ */
91
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Boolean, never>;
24
92
  };
25
93
  /**
26
- * Like the default Schema `Literal` but with `withDefault` => literals[0]
94
+ * You probably want to use `Finite` instead of this. Like the default Schema
95
+ * `Number` but with default helpers.
27
96
  */
28
- export declare const Literal: <Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(...literals: Literals) => Schema.Literals<Literals> & {
29
- changeDefault: <A extends Literals[number]>(a: A) => Schema.Literals<Literals> & {
97
+ export declare const Number: S.Number & {
98
+ /**
99
+ * Construction-only default `0`. Applied only when the field is omitted
100
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
101
+ * JIT-migrate database fields. See file-level note.
102
+ */
103
+ withConstructorDefault: S.withConstructorDefault<S.Number>;
104
+ /**
105
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
106
+ * field may be data corruption, not an old-shape document; silently
107
+ * substituting `0` hides the problem. Prefer an explicit, preferably
108
+ * versioned migration over a decode-time fallback. See file-level note.
109
+ */
110
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Number, never>;
111
+ };
112
+ /** Like the default Schema `Finite` but with default helpers. */
113
+ export declare const Finite: S.Finite & {
114
+ /**
115
+ * Construction-only default `0`. Applied only when the field is omitted
116
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
117
+ * JIT-migrate database fields. See file-level note.
118
+ */
119
+ withConstructorDefault: S.withConstructorDefault<S.Finite>;
120
+ /**
121
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
122
+ * field may be data corruption, not an old-shape document; silently
123
+ * substituting `0` hides the problem. Prefer an explicit, preferably
124
+ * versioned migration over a decode-time fallback. See file-level note.
125
+ */
126
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Finite, never>;
127
+ };
128
+ /** Like the default Schema `Literals` but with default helpers. Default value is `literals[0]`. */
129
+ export declare const Literals: <const Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(literals: Literals) => S.Literals<Literals> & {
130
+ /** Override the default literal value used by `withConstructorDefault` / `withDecodingDefaultType`. */
131
+ changeDefault: <A extends Literals[number]>(a: A) => S.Literals<Literals> & {
30
132
  Default: A;
31
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
133
+ /**
134
+ * Construction-only default. Applied only when the field is
135
+ * omitted from `.make(...)` input. NOT applied during decode —
136
+ * cannot be used to JIT-migrate database fields. See file-level
137
+ * note.
138
+ */
139
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
140
+ /**
141
+ * Decode-time default. **Discouraged for persisted data:** a
142
+ * missing field may be data corruption, not an old-shape
143
+ * document; silently substituting hides the problem. Prefer an
144
+ * explicit, preferably versioned migration over a decode-time
145
+ * fallback. See file-level note.
146
+ */
147
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
32
148
  };
33
- Default: (typeof literals)[0];
34
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
149
+ Default: Literals[0];
150
+ /**
151
+ * Construction-only default `literals[0]`. Applied only when the
152
+ * field is omitted from `.make(...)` input. NOT applied during
153
+ * decode — cannot be used to JIT-migrate database fields. See
154
+ * file-level note.
155
+ */
156
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
157
+ /**
158
+ * Decode-time default `literals[0]`. **Discouraged for persisted
159
+ * data:** a missing field may be data corruption, not an old-shape
160
+ * document; silently substituting hides the problem. Prefer an
161
+ * explicit, preferably versioned migration over a decode-time
162
+ * fallback. See file-level note.
163
+ */
164
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
35
165
  };
36
- /**
37
- * Like the default Schema `Array` but with `withDefault` => []
38
- */
39
- export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): Schema.$Array<ValueSchema> & {
40
- withDefault: Schema.withConstructorDefault<Schema.$Array<ValueSchema> & Schema.WithoutConstructorDefault>;
166
+ /** Like the default Schema `Array` but with default helpers. */
167
+ export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): S.$Array<ValueSchema> & {
168
+ /**
169
+ * Construction-only default `[]`. Applied only when the field is
170
+ * omitted from `.make(...)` input. NOT applied during decode —
171
+ * cannot be used to JIT-migrate database fields. See file-level
172
+ * note.
173
+ */
174
+ withConstructorDefault: S.withConstructorDefault<S.$Array<ValueSchema>>;
175
+ /**
176
+ * Decode-time default `[]`. **Discouraged for persisted data:** a
177
+ * missing field may be data corruption, not an old-shape document;
178
+ * silently substituting `[]` hides the problem. Prefer an explicit,
179
+ * preferably versioned migration over a decode-time fallback. See
180
+ * file-level note.
181
+ */
182
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<ValueSchema>, never>;
41
183
  };
42
184
  /**
43
- * Like the default Schema `Map` but with `withDefault` => []
185
+ * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
44
186
  */
45
- declare function Map_<KeySchema extends S.Top, ValueSchema extends S.Top>(input: {
46
- key: KeySchema;
47
- value: ValueSchema;
48
- }): Schema.$ReadonlyMap<KeySchema, ValueSchema> & {
49
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlyMap<KeySchema, ValueSchema> & Schema.WithoutConstructorDefault>;
50
- };
51
- export { Map_ as Map };
187
+ 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>;
52
188
  /**
53
- * Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
189
+ * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
54
190
  */
55
- export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => Schema.$ReadonlySet<ValueSchema> & {
56
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlySet<ValueSchema> & Schema.WithoutConstructorDefault>;
191
+ export declare const ReadonlyMapFromArray: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
192
+ readonly key: KeySchema;
193
+ readonly value: ValueSchema;
194
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>;
195
+ /** Like the default Schema `ReadonlySet` but from Array, with default helpers. */
196
+ export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<ValueSchema["Type"]>, ReadonlySet<ValueSchema["Type"]>>, S.$Array<ValueSchema>, never, never> & {
197
+ /**
198
+ * Construction-only default `new Set()`. Applied only when the field
199
+ * is omitted from `.make(...)` input. NOT applied during decode —
200
+ * cannot be used to JIT-migrate database fields. See file-level
201
+ * note.
202
+ */
203
+ withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<ValueSchema["Type"]>, ReadonlySet<ValueSchema["Type"]>>, S.$Array<ValueSchema>, never, never>>;
204
+ /**
205
+ * Decode-time default `new Set()`. **Discouraged for persisted
206
+ * data:** a missing field may be data corruption, not an old-shape
207
+ * document; silently substituting an empty set hides the problem.
208
+ * Prefer an explicit, preferably versioned migration over a
209
+ * decode-time fallback. See file-level note.
210
+ */
211
+ withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<ValueSchema["Type"]>, ReadonlySet<ValueSchema["Type"]>>, S.$Array<ValueSchema>, never, never>, never>;
57
212
  };
58
- /**
59
- * Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
60
- */
213
+ /** Like the default Schema `ReadonlyMap` but from Array, with default helpers. */
61
214
  export declare const ReadonlyMap: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
62
215
  readonly key: KeySchema;
63
216
  readonly value: ValueSchema;
64
- }) => Schema.$ReadonlyMap<KeySchema, ValueSchema> & {
65
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlyMap<KeySchema, ValueSchema> & Schema.WithoutConstructorDefault>;
217
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never> & {
218
+ /**
219
+ * Construction-only default `new Map()`. Applied only when the field
220
+ * is omitted from `.make(...)` input. NOT applied during decode —
221
+ * cannot be used to JIT-migrate database fields. See file-level
222
+ * note.
223
+ */
224
+ withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>>;
225
+ /**
226
+ * Decode-time default `new Map()`. **Discouraged for persisted
227
+ * data:** a missing field may be data corruption, not an old-shape
228
+ * document; silently substituting an empty map hides the problem.
229
+ * Prefer an explicit, preferably versioned migration over a
230
+ * decode-time fallback. See file-level note.
231
+ */
232
+ withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>, never>;
233
+ };
234
+ /** Like the default Schema `NullOr` but with default helpers. */
235
+ export declare const NullOr: <Schema extends S.Top>(self: Schema) => S.NullOr<Schema> & {
236
+ /**
237
+ * Construction-only default `null`. Applied only when the field is
238
+ * omitted from `.make(...)` input. NOT applied during decode —
239
+ * cannot be used to JIT-migrate database fields. See file-level
240
+ * note.
241
+ */
242
+ withConstructorDefault: S.withConstructorDefault<S.NullOr<Schema>>;
243
+ /**
244
+ * Decode-time default `null`. **Discouraged for persisted data:** a
245
+ * missing field may be data corruption, not an old-shape document;
246
+ * silently substituting `null` hides the problem. Prefer an
247
+ * explicit, preferably versioned migration over a decode-time
248
+ * fallback. See file-level note.
249
+ */
250
+ withDecodingDefaultType: S.withDecodingDefaultType<S.NullOr<Schema>, never>;
66
251
  };
67
252
  /**
68
- * Like the default Schema `NullOr` but with `withDefault` => null
253
+ * Attach a `withConstructorDefault` of `new Date()` to any schema.
254
+ *
255
+ * **Construction-only.** Applied only when the field is omitted from
256
+ * `.make(...)` input. NOT applied during decode — cannot be used to
257
+ * JIT-migrate database fields. See file-level note.
69
258
  */
70
- export declare const NullOr: <Schema extends S.Top>(self: Schema) => Schema.NullOr<Schema> & {
71
- withDefault: Schema.withConstructorDefault<Schema.NullOr<Schema> & Schema.WithoutConstructorDefault>;
72
- };
73
- export declare const defaultDate: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
74
- export declare const defaultBool: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
75
- export declare const defaultNullable: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
76
- export declare const defaultArray: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
77
- export declare const defaultMap: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
78
- export declare const defaultSet: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
259
+ export declare const defaultDate: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
260
+ /**
261
+ * Attach a `withConstructorDefault` of `false` to any schema.
262
+ *
263
+ * **Construction-only.** Applied only when the field is omitted from
264
+ * `.make(...)` input. NOT applied during decode — cannot be used to
265
+ * JIT-migrate database fields. See file-level note.
266
+ */
267
+ export declare const defaultBool: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
268
+ /**
269
+ * Attach a `withConstructorDefault` of `null` to any schema.
270
+ *
271
+ * **Construction-only.** Applied only when the field is omitted from
272
+ * `.make(...)` input. NOT applied during decode — cannot be used to
273
+ * JIT-migrate database fields. See file-level note.
274
+ */
275
+ export declare const defaultNullable: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
276
+ /**
277
+ * Attach a `withConstructorDefault` of `[]` to any schema.
278
+ *
279
+ * **Construction-only.** Applied only when the field is omitted from
280
+ * `.make(...)` input. NOT applied during decode — cannot be used to
281
+ * JIT-migrate database fields. See file-level note.
282
+ */
283
+ export declare const defaultArray: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
284
+ /**
285
+ * Attach a `withConstructorDefault` of `new Map()` to any schema.
286
+ *
287
+ * **Construction-only.** Applied only when the field is omitted from
288
+ * `.make(...)` input. NOT applied during decode — cannot be used to
289
+ * JIT-migrate database fields. See file-level note.
290
+ */
291
+ export declare const defaultMap: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
292
+ /**
293
+ * Attach a `withConstructorDefault` of `new Set()` to any schema.
294
+ *
295
+ * **Construction-only.** Applied only when the field is omitted from
296
+ * `.make(...)` input. NOT applied during decode — cannot be used to
297
+ * JIT-migrate database fields. See file-level note.
298
+ */
299
+ export declare const defaultSet: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
79
300
  export declare const withDefaultMake: <Self extends S.Top>(s: Self) => WithDefaults<Self> & Self;
80
301
  export type WithDefaults<Self extends S.Top> = (i: Self["Encoded"], options?: SchemaAST.ParseOptions) => Self["Type"];
81
- export declare const inputDate: Schema.Union<readonly [Schema.Date, Schema.Date]> & {
82
- withDefault: Schema.withConstructorDefault<Schema.Union<readonly [Schema.Date, Schema.Date]> & Schema.WithoutConstructorDefault>;
302
+ /** Union of `DateValid` and `Date`, with default helpers. */
303
+ export declare const inputDate: S.Union<readonly [S.DateValid, DateFromString & {
304
+ /**
305
+ * Construction-only default `new Date()`. Applied only when the field is
306
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
307
+ * used to JIT-migrate database fields. See file-level note.
308
+ */
309
+ withConstructorDefault: S.withConstructorDefault<DateFromString>;
310
+ /**
311
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
312
+ * missing field may be data corruption, not an old-shape document; silently
313
+ * substituting `new Date()` hides the problem. Prefer an explicit,
314
+ * preferably versioned migration over a decode-time fallback. See
315
+ * file-level note.
316
+ */
317
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString, never>;
318
+ }]> & {
319
+ /**
320
+ * Construction-only default `new Date()`. Applied only when the field is
321
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
322
+ * used to JIT-migrate database fields. See file-level note.
323
+ */
324
+ withConstructorDefault: S.withConstructorDefault<S.Union<readonly [S.DateValid, DateFromString & {
325
+ /**
326
+ * Construction-only default `new Date()`. Applied only when the field is
327
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
328
+ * used to JIT-migrate database fields. See file-level note.
329
+ */
330
+ withConstructorDefault: S.withConstructorDefault<DateFromString>;
331
+ /**
332
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
333
+ * missing field may be data corruption, not an old-shape document; silently
334
+ * substituting `new Date()` hides the problem. Prefer an explicit,
335
+ * preferably versioned migration over a decode-time fallback. See
336
+ * file-level note.
337
+ */
338
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString, never>;
339
+ }]>>;
340
+ /**
341
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
342
+ * missing field may be data corruption, not an old-shape document;
343
+ * silently substituting `new Date()` hides the problem. Prefer an
344
+ * explicit, preferably versioned migration over a decode-time fallback.
345
+ * See file-level note.
346
+ */
347
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Union<readonly [S.DateValid, DateFromString & {
348
+ /**
349
+ * Construction-only default `new Date()`. Applied only when the field is
350
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
351
+ * used to JIT-migrate database fields. See file-level note.
352
+ */
353
+ withConstructorDefault: S.withConstructorDefault<DateFromString>;
354
+ /**
355
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
356
+ * missing field may be data corruption, not an old-shape document; silently
357
+ * substituting `new Date()` hides the problem. Prefer an explicit,
358
+ * preferably versioned migration over a decode-time fallback. See
359
+ * file-level note.
360
+ */
361
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString, never>;
362
+ }]>, never>;
83
363
  };
84
364
  export interface UnionBrand {
85
365
  }
86
366
  export declare function makeOptional<NER extends S.Struct.Fields>(t: NER): {
87
367
  [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optional<NER[K] & S.Top>> : any;
88
368
  };
369
+ export type DropConstructorDefault<T extends S.Top> = Omit<T, "~type.constructor.default" | "Rebuild" | "annotate" | "annotateKey" | "check" | "rebuild"> & {
370
+ readonly "~type.constructor.default": "no-default";
371
+ readonly "Rebuild": DropConstructorDefault<T>;
372
+ annotate(annotations: S.Annotations.Bottom<T["Type"], T["~type.parameters"]>): DropConstructorDefault<T>;
373
+ annotateKey(annotations: S.Annotations.Key<T["Type"]>): DropConstructorDefault<T>;
374
+ check(...checks: readonly [SchemaAST.Check<T["Type"]>, ...Array<SchemaAST.Check<T["Type"]>>]): DropConstructorDefault<T>;
375
+ rebuild(ast: T["ast"]): DropConstructorDefault<T>;
376
+ };
377
+ export interface DropConstructorDefaultLambda extends Struct.Lambda {
378
+ <T extends S.Top>(self: T): DropConstructorDefault<T>;
379
+ readonly "~lambda.out": DropConstructorDefault<this["~lambda.in"] & S.Top>;
380
+ }
381
+ /**
382
+ * A `Struct.Lambda` that removes a field's `withConstructorDefault`, if any.
383
+ * Compose with `Struct.pick`/`Struct.omit` via `Struct.map` to derive a
384
+ * partial-update schema from a "create" schema without inheriting defaults
385
+ * that would resurrect omitted fields in `.make(...)` output:
386
+ *
387
+ * ```ts
388
+ * import { flow } from "effect/Function"
389
+ * import * as Struct from "effect/Struct"
390
+ * import * as S from "effect-app/Schema"
391
+ *
392
+ * const Person = S.Struct({
393
+ * id: S.String,
394
+ * name: S.String.pipe(S.optionalKey, S.withConstructorDefault(() => ""))
395
+ * })
396
+ *
397
+ * const UpdatePerson = Person.mapFields(
398
+ * flow(Struct.omit(["id"]), Struct.map(S.dropConstructorDefault))
399
+ * )
400
+ * ```
401
+ */
402
+ export declare const dropConstructorDefault: DropConstructorDefaultLambda;
89
403
  export declare function makeExactOptional<NER extends S.Struct.Fields>(t: NER): {
90
- [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optionalKey<NER[K] & S.Top>> : any;
404
+ [K in keyof NER]: NER[K] extends S.Top ? DropConstructorDefault<ReturnType<typeof S.optionalKey<NER[K] & S.Top>>> : any;
91
405
  };
92
406
  /** A version of transform which is only a one way mapping of From->To */
93
- 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"]) => Schema.decodeTo<To, From, never, never>;
407
+ 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>;
94
408
  /** A version of transformOrFail which is only a one way mapping of From->To */
95
- 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>) => Schema.decodeTo<To, From, never, never>;
96
- export declare const provide: <Self extends S.Top, R>(self: Self, context: ServiceMap.ServiceMap<R>) => ProvidedCodec<Self, R>;
97
- export declare const contextFromServices: <Self extends S.Top, Tags extends ReadonlyArray<ServiceMap.Key<any, any>>>(self: Self, ...services: Tags) => Effect.Effect<ProvidedCodec<Self, ServiceMap.Service.Identifier<Tags[number]>>, never, ServiceMap.Service.Identifier<Tags[number]>>;
409
+ 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>;
410
+ export declare const provide: {
411
+ <R>(context: Context.Context<R>): <Self extends S.Top>(self: Self) => ProvidedCodec<Self, R>;
412
+ <Self extends S.Top, R>(self: Self, context: Context.Context<R>): ProvidedCodec<Self, R>;
413
+ };
414
+ 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]>>;
415
+ export {};
98
416
  //# 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":"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"}