effect-app 4.0.0-beta.32 → 4.0.0-beta.320

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 +1553 -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 +136 -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 +6 -9
  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 +579 -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 +630 -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 +200 -20
  121. package/dist/Schema/Class.d.ts.map +1 -1
  122. package/dist/Schema/Class.js +268 -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 +117 -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 +336 -55
  139. package/dist/Schema/ext.d.ts.map +1 -1
  140. package/dist/Schema/ext.js +378 -55
  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 +170 -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 -30
  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 +1124 -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 +15 -17
  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 +950 -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 +78 -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 +3092 -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 +648 -60
  299. package/src/Schema/SchemaParser.ts +12 -0
  300. package/src/Schema/SpecialJsonSchema.ts +137 -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 +499 -95
  305. package/src/Schema/moreStrings.ts +148 -69
  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 +280 -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 +594 -80
  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 +2 -2
  352. package/test/rpc.test.ts +42 -14
  353. package/test/rpcMiddlewareContext.test.ts +63 -0
  354. package/test/schema.test.ts +514 -35
  355. package/test/secretURL.test.ts +160 -0
  356. package/test/special.test.ts +1257 -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,379 @@
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>;
29
+ export interface DateFromString extends S.decodeTo<S.Date, S.String> {
30
+ }
31
+ /**
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
+ * 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
+ *
44
+ * @since 4.0.0
45
+ */
46
+ export declare const DateFromString: 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>;
18
63
  };
19
64
  /**
20
- * Like the default Schema `Number` but with `withDefault` => 0
65
+ * Alias of {@link Date}. Core `Schema.Date` already rejects invalid Dates.
66
+ *
67
+ * @deprecated Use {@link Date}.
21
68
  */
22
- export declare const Number: Schema.Number & {
23
- withDefault: Schema.withConstructorDefault<Schema.Number & Schema.WithoutConstructorDefault>;
69
+ export declare const DateValid: S.Date & {
70
+ /**
71
+ * Construction-only default `new Date()`. Applied only when the field is
72
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
73
+ * used to JIT-migrate database fields. See file-level note.
74
+ */
75
+ withConstructorDefault: S.withConstructorDefault<S.Date>;
76
+ /**
77
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
78
+ * missing field may be data corruption, not an old-shape document; silently
79
+ * substituting `new Date()` hides the problem. Prefer an explicit,
80
+ * preferably versioned migration over a decode-time fallback. See
81
+ * file-level note.
82
+ */
83
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Date, never>;
84
+ };
85
+ /** Like the default Schema `Boolean` but with default helpers. */
86
+ export declare const Boolean: S.Boolean & {
87
+ /**
88
+ * Construction-only default `false`. Applied only when the field is
89
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
90
+ * used to JIT-migrate database fields. See file-level note.
91
+ */
92
+ withConstructorDefault: S.withConstructorDefault<S.Boolean>;
93
+ /**
94
+ * Decode-time default `false`. **Discouraged for persisted data:** a
95
+ * missing field may be data corruption, not an old-shape document; silently
96
+ * substituting `false` hides the problem. Prefer an explicit, preferably
97
+ * versioned migration over a decode-time fallback. See file-level note.
98
+ */
99
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Boolean, never>;
24
100
  };
25
101
  /**
26
- * Like the default Schema `Literal` but with `withDefault` => literals[0]
102
+ * You probably want to use `Finite` instead of this. Like the default Schema
103
+ * `Number` but with default helpers.
27
104
  */
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> & {
105
+ export declare const Number: S.Number & {
106
+ /**
107
+ * Construction-only default `0`. Applied only when the field is omitted
108
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
109
+ * JIT-migrate database fields. See file-level note.
110
+ */
111
+ withConstructorDefault: S.withConstructorDefault<S.Number>;
112
+ /**
113
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
114
+ * field may be data corruption, not an old-shape document; silently
115
+ * substituting `0` hides the problem. Prefer an explicit, preferably
116
+ * versioned migration over a decode-time fallback. See file-level note.
117
+ */
118
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Number, never>;
119
+ };
120
+ /** Like the default Schema `Finite` but with default helpers. */
121
+ export declare const Finite: S.Finite & {
122
+ /**
123
+ * Construction-only default `0`. Applied only when the field is omitted
124
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
125
+ * JIT-migrate database fields. See file-level note.
126
+ */
127
+ withConstructorDefault: S.withConstructorDefault<S.Finite>;
128
+ /**
129
+ * Decode-time default `0`. **Discouraged for persisted data:** a missing
130
+ * field may be data corruption, not an old-shape document; silently
131
+ * substituting `0` hides the problem. Prefer an explicit, preferably
132
+ * versioned migration over a decode-time fallback. See file-level note.
133
+ */
134
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Finite, never>;
135
+ };
136
+ /** Like the default Schema `Literals` but with default helpers. Default value is `literals[0]`. */
137
+ export declare const Literals: <const Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(literals: Literals) => S.Literals<Literals> & {
138
+ /** Override the default literal value used by `withConstructorDefault` / `withDecodingDefaultType`. */
139
+ changeDefault: <A extends Literals[number]>(a: A) => S.Literals<Literals> & {
30
140
  Default: A;
31
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
141
+ /**
142
+ * Construction-only default. Applied only when the field is
143
+ * omitted from `.make(...)` input. NOT applied during decode —
144
+ * cannot be used to JIT-migrate database fields. See file-level
145
+ * note.
146
+ */
147
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
148
+ /**
149
+ * Decode-time default. **Discouraged for persisted data:** a
150
+ * missing field may be data corruption, not an old-shape
151
+ * document; silently substituting hides the problem. Prefer an
152
+ * explicit, preferably versioned migration over a decode-time
153
+ * fallback. See file-level note.
154
+ */
155
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
32
156
  };
33
- Default: (typeof literals)[0];
34
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
157
+ Default: Literals[0];
158
+ /**
159
+ * Construction-only default `literals[0]`. Applied only when the
160
+ * field is omitted from `.make(...)` input. NOT applied during
161
+ * decode — cannot be used to JIT-migrate database fields. See
162
+ * file-level note.
163
+ */
164
+ withConstructorDefault: S.withConstructorDefault<S.Literals<Literals>>;
165
+ /**
166
+ * Decode-time default `literals[0]`. **Discouraged for persisted
167
+ * data:** a missing field may be data corruption, not an old-shape
168
+ * document; silently substituting hides the problem. Prefer an
169
+ * explicit, preferably versioned migration over a decode-time
170
+ * fallback. See file-level note.
171
+ */
172
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>, never>;
35
173
  };
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>;
174
+ /** Like the default Schema `Array` but with default helpers. */
175
+ export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): S.$Array<ValueSchema> & {
176
+ /**
177
+ * Construction-only default `[]`. Applied only when the field is
178
+ * omitted from `.make(...)` input. NOT applied during decode —
179
+ * cannot be used to JIT-migrate database fields. See file-level
180
+ * note.
181
+ */
182
+ withConstructorDefault: S.withConstructorDefault<S.$Array<ValueSchema>>;
183
+ /**
184
+ * Decode-time default `[]`. **Discouraged for persisted data:** a
185
+ * missing field may be data corruption, not an old-shape document;
186
+ * silently substituting `[]` hides the problem. Prefer an explicit,
187
+ * preferably versioned migration over a decode-time fallback. See
188
+ * file-level note.
189
+ */
190
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<ValueSchema>, never>;
41
191
  };
42
192
  /**
43
- * Like the default Schema `Map` but with `withDefault` => []
193
+ * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
44
194
  */
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 };
195
+ 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
196
  /**
53
- * Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
197
+ * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
54
198
  */
55
- export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => Schema.$ReadonlySet<ValueSchema> & {
56
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlySet<ValueSchema> & Schema.WithoutConstructorDefault>;
199
+ export declare const ReadonlyMapFromArray: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
200
+ readonly key: KeySchema;
201
+ readonly value: ValueSchema;
202
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>, ReadonlyMap<KeySchema["Type"], ValueSchema["Type"]>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>;
203
+ /** Like the default Schema `ReadonlySet` (Encoded is `Set`) with default helpers. */
204
+ export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.$ReadonlySet<ValueSchema> & {
205
+ /**
206
+ * Construction-only default `new Set()`. 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.$ReadonlySet<ValueSchema>>;
212
+ /**
213
+ * Decode-time default `new Set()`. **Discouraged for persisted
214
+ * data:** a missing field may be data corruption, not an old-shape
215
+ * document; silently substituting an empty set 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.$ReadonlySet<ValueSchema>, never>;
57
220
  };
58
- /**
59
- * Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
60
- */
221
+ /** Like the default Schema `ReadonlyMap` (Encoded is `Map`) with default helpers. */
61
222
  export declare const ReadonlyMap: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
62
223
  readonly key: KeySchema;
63
224
  readonly value: ValueSchema;
64
- }) => Schema.$ReadonlyMap<KeySchema, ValueSchema> & {
65
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlyMap<KeySchema, ValueSchema> & Schema.WithoutConstructorDefault>;
225
+ }) => S.$ReadonlyMap<KeySchema, ValueSchema> & {
226
+ /**
227
+ * Construction-only default `new Map()`. Applied only when the field
228
+ * is omitted from `.make(...)` input. NOT applied during decode —
229
+ * cannot be used to JIT-migrate database fields. See file-level
230
+ * note.
231
+ */
232
+ withConstructorDefault: S.withConstructorDefault<S.$ReadonlyMap<KeySchema, ValueSchema>>;
233
+ /**
234
+ * Decode-time default `new Map()`. **Discouraged for persisted
235
+ * data:** a missing field may be data corruption, not an old-shape
236
+ * document; silently substituting an empty map hides the problem.
237
+ * Prefer an explicit, preferably versioned migration over a
238
+ * decode-time fallback. See file-level note.
239
+ */
240
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$ReadonlyMap<KeySchema, ValueSchema>, never>;
241
+ };
242
+ /** Like the default Schema `NullOr` but with default helpers. */
243
+ export declare const NullOr: <Schema extends S.Top>(self: Schema) => S.NullOr<Schema> & {
244
+ /**
245
+ * Construction-only default `null`. Applied only when the field is
246
+ * omitted from `.make(...)` input. NOT applied during decode —
247
+ * cannot be used to JIT-migrate database fields. See file-level
248
+ * note.
249
+ */
250
+ withConstructorDefault: S.withConstructorDefault<S.NullOr<Schema>>;
251
+ /**
252
+ * Decode-time default `null`. **Discouraged for persisted data:** a
253
+ * missing field may be data corruption, not an old-shape document;
254
+ * silently substituting `null` hides the problem. Prefer an
255
+ * explicit, preferably versioned migration over a decode-time
256
+ * fallback. See file-level note.
257
+ */
258
+ withDecodingDefaultType: S.withDecodingDefaultType<S.NullOr<Schema>, never>;
66
259
  };
67
260
  /**
68
- * Like the default Schema `NullOr` but with `withDefault` => null
261
+ * Attach a `withConstructorDefault` of `new Date()` 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.
69
266
  */
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>;
267
+ export declare const defaultDate: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
268
+ /**
269
+ * Attach a `withConstructorDefault` of `false` 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 defaultBool: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
276
+ /**
277
+ * Attach a `withConstructorDefault` of `null` 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 defaultNullable: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
284
+ /**
285
+ * Attach a `withConstructorDefault` of `[]` 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 defaultArray: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
292
+ /**
293
+ * Attach a `withConstructorDefault` of `new Map()` 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 defaultMap: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
300
+ /**
301
+ * Attach a `withConstructorDefault` of `new Set()` to any schema.
302
+ *
303
+ * **Construction-only.** Applied only when the field is omitted from
304
+ * `.make(...)` input. NOT applied during decode — cannot be used to
305
+ * JIT-migrate database fields. See file-level note.
306
+ */
307
+ export declare const defaultSet: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
79
308
  export declare const withDefaultMake: <Self extends S.Top>(s: Self) => WithDefaults<Self> & Self;
80
309
  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>;
310
+ /** Union of core `Schema.Date` (Date objects) and string-encoded `DateFromString`, with default helpers. */
311
+ export declare const inputDate: S.Union<readonly [S.Date, DateFromString]> & {
312
+ /**
313
+ * Construction-only default `new Date()`. Applied only when the field is
314
+ * omitted from `.make(...)` input. NOT applied during decode — cannot be
315
+ * used to JIT-migrate database fields. See file-level note.
316
+ */
317
+ withConstructorDefault: S.withConstructorDefault<S.Union<readonly [S.Date, DateFromString]>>;
318
+ /**
319
+ * Decode-time default `new Date()`. **Discouraged for persisted data:** a
320
+ * missing field may be data corruption, not an old-shape document;
321
+ * silently substituting `new Date()` hides the problem. Prefer an
322
+ * explicit, preferably versioned migration over a decode-time fallback.
323
+ * See file-level note.
324
+ */
325
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Union<readonly [S.Date, DateFromString]>, never>;
83
326
  };
84
327
  export interface UnionBrand {
85
328
  }
86
329
  export declare function makeOptional<NER extends S.Struct.Fields>(t: NER): {
87
330
  [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optional<NER[K] & S.Top>> : any;
88
331
  };
332
+ export type DropConstructorDefault<T extends S.Top> = Omit<T, "~type.constructor.default" | "Rebuild" | "annotate" | "annotateKey" | "check" | "rebuild"> & {
333
+ readonly "~type.constructor.default": "no-default";
334
+ readonly "Rebuild": DropConstructorDefault<T>;
335
+ annotate(annotations: S.Annotations.Bottom<T["Type"], T["~type.parameters"]>): DropConstructorDefault<T>;
336
+ annotateKey(annotations: S.Annotations.Key<T["Type"]>): DropConstructorDefault<T>;
337
+ check(...checks: readonly [SchemaAST.Check<T["Type"]>, ...Array<SchemaAST.Check<T["Type"]>>]): DropConstructorDefault<T>;
338
+ rebuild(ast: T["ast"]): DropConstructorDefault<T>;
339
+ };
340
+ export interface DropConstructorDefaultLambda extends Struct.Lambda {
341
+ <T extends S.Top>(self: T): DropConstructorDefault<T>;
342
+ readonly "~lambda.out": DropConstructorDefault<this["~lambda.in"] & S.Top>;
343
+ }
344
+ /**
345
+ * A `Struct.Lambda` that removes a field's `withConstructorDefault`, if any.
346
+ * Compose with `Struct.pick`/`Struct.omit` via `Struct.map` to derive a
347
+ * partial-update schema from a "create" schema without inheriting defaults
348
+ * that would resurrect omitted fields in `.make(...)` output:
349
+ *
350
+ * ```ts
351
+ * import { flow } from "effect/Function"
352
+ * import * as Struct from "effect/Struct"
353
+ * import * as S from "effect-app/Schema"
354
+ *
355
+ * const Person = S.Struct({
356
+ * id: S.String,
357
+ * name: S.String.pipe(S.optionalKey, S.withConstructorDefault(() => ""))
358
+ * })
359
+ *
360
+ * const UpdatePerson = Person.mapFields(
361
+ * flow(Struct.omit(["id"]), Struct.map(S.dropConstructorDefault))
362
+ * )
363
+ * ```
364
+ */
365
+ export declare const dropConstructorDefault: DropConstructorDefaultLambda;
89
366
  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;
367
+ [K in keyof NER]: NER[K] extends S.Top ? DropConstructorDefault<ReturnType<typeof S.optionalKey<NER[K] & S.Top>>> : any;
91
368
  };
92
369
  /** 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>;
370
+ 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
371
  /** 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]>>;
372
+ 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>;
373
+ export declare const provide: {
374
+ <R>(context: Context.Context<R>): <Self extends S.Top>(self: Self) => ProvidedCodec<Self, R>;
375
+ <Self extends S.Top, R>(self: Self, context: Context.Context<R>): ProvidedCodec<Self, R>;
376
+ };
377
+ 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]>>;
378
+ export {};
98
379
  //# 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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"}