effect-app 4.0.0-beta.33 → 4.0.0-beta.331

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 +1628 -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 +611 -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 +71 -0
  49. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  50. package/dist/Model/Repository/makeRepo.js +30 -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 +72 -0
  55. package/dist/Model/Repository/validation.d.ts.map +1 -0
  56. package/dist/Model/Repository/validation.js +39 -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 +370 -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 +5 -5
  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 +12 -6
  138. package/dist/Schema/ext.d.ts +335 -61
  139. package/dist/Schema/ext.d.ts.map +1 -1
  140. package/dist/Schema/ext.js +388 -63
  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 +90 -53
  144. package/dist/Schema/numbers.d.ts +33 -21
  145. package/dist/Schema/numbers.d.ts.map +1 -1
  146. package/dist/Schema/numbers.js +65 -12
  147. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  148. package/dist/Schema/phoneNumber.js +11 -7
  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 +225 -7
  156. package/dist/Schema.d.ts.map +1 -1
  157. package/dist/Schema.js +193 -26
  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 +215 -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 +157 -39
  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 +32 -14
  202. package/dist/ids.d.ts.map +1 -1
  203. package/dist/ids.js +38 -6
  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 +988 -0
  273. package/src/Model/Repository/legacy.ts +29 -0
  274. package/src/Model/Repository/makeRepo.ts +168 -0
  275. package/src/Model/Repository/service.ts +676 -0
  276. package/src/Model/Repository/validation.ts +38 -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 +532 -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 +24 -9
  303. package/src/Schema/email.ts +14 -7
  304. package/src/Schema/ext.ts +508 -102
  305. package/src/Schema/moreStrings.ts +217 -86
  306. package/src/Schema/numbers.ts +107 -28
  307. package/src/Schema/phoneNumber.ts +13 -9
  308. package/src/Schema/schema.ts +1 -1
  309. package/src/Schema/strings.ts +23 -14
  310. package/src/Schema.ts +403 -46
  311. package/src/SchemaAST.ts +1 -0
  312. package/src/Set.ts +6 -2
  313. package/src/Store.ts +325 -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 +301 -141
  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 +45 -7
  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 +57 -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 +55 -10
  352. package/test/rpc.test.ts +38 -10
  353. package/test/rpcMiddlewareContext.test.ts +63 -0
  354. package/test/schema.test.ts +505 -26
  355. package/test/secretURL.test.ts +160 -0
  356. package/test/special.test.ts +1261 -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,28 +1,81 @@
1
+ /**
2
+ * Numeric brand schemas with `.withConstructorDefault` extensions.
3
+ *
4
+ * Each `.withConstructorDefault` here is **only** applied when the field is
5
+ * omitted during construction (`.make(...)`). It is **not** applied during
6
+ * decode and therefore cannot be used to JIT-migrate database fields.
7
+ *
8
+ * For persisted data, prefer an explicit, preferably versioned migration
9
+ * over decode-time fallbacks. See `./ext.ts` for the full policy note.
10
+ */
1
11
  import { extendM } from "effect-app/utils";
12
+ import * as Effect from "effect/Effect";
13
+ import * as Order from "effect/Order";
2
14
  import * as S from "effect/Schema";
3
15
  import { fromBrand, nominal } from "./brand.js";
4
- import { withDefaultConstructor, withDefaultMake } from "./ext.js";
5
- export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt", title: "PositiveInt", jsonSchema: {} }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(1))) }));
16
+ import { withDefaultMake } from "./ext.js";
17
+ export const PositiveInt = extendM(S.Int.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), { identifier: "PositiveInt", jsonSchema: {} }), withDefaultMake), (s) => ({
18
+ /**
19
+ * Construction-only default `1`. Applied only when the field is omitted
20
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
21
+ * JIT-migrate database fields. See file-level note.
22
+ */
23
+ withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
24
+ }));
6
25
  export const NonNegativeInt = extendM(S.Int.pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
7
26
  identifier: "NonNegativeInt",
8
- title: "NonNegativeInt",
9
27
  jsonSchema: {}
10
- }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(0))) }));
11
- export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int", title: "Int", jsonSchema: {} }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(0))) }));
12
- export const PositiveNumber = extendM(S.Finite.pipe(S.check(S.isGreaterThan(0)), fromBrand(nominal(), {
28
+ }), withDefaultMake), (s) => ({
29
+ /**
30
+ * Construction-only default `0`. Applied only when the field is omitted
31
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
32
+ * JIT-migrate database fields. See file-level note.
33
+ */
34
+ withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
35
+ }));
36
+ export const Int = extendM(S.Int.pipe(fromBrand(nominal(), { identifier: "Int", jsonSchema: {} }), withDefaultMake), (s) => ({
37
+ /**
38
+ * Construction-only default `0`. Applied only when the field is omitted
39
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
40
+ * JIT-migrate database fields. See file-level note.
41
+ */
42
+ withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
43
+ }));
44
+ /** Positive finite number. `.withConstructorDefault` => `1` (construction-only). */
45
+ // Generation-only: native Arbitrary otherwise samples up to Number.MAX_VALUE, so derived totals
46
+ // (amount x weight, sums) overflow to Infinity. Validation and JSON Schema are unaffected.
47
+ const realisticMaximum = 1_000_000;
48
+ export const PositiveNumber = extendM(S.Finite.pipe(S.check(S.isGreaterThan(0, {
49
+ // the full constraint: annotations replace the check default, which carries `order` + `minimum`
50
+ arbitraryConstraint: { order: Order.Number, minimum: 0, exclusiveMinimum: true, maximum: realisticMaximum }
51
+ })), fromBrand(nominal(), {
13
52
  identifier: "PositiveNumber",
14
- title: "PositiveNumber",
15
53
  jsonSchema: {}
16
- }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(1))) }));
54
+ }), withDefaultMake), (s) => ({
55
+ /**
56
+ * Construction-only default `1`. Applied only when the field is omitted
57
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
58
+ * JIT-migrate database fields. See file-level note.
59
+ */
60
+ withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(1))))
61
+ }));
17
62
  export const NonNegativeNumber = extendM(S
18
63
  .Finite
19
- .pipe(S.check(S.isGreaterThanOrEqualTo(0)), fromBrand(nominal(), {
64
+ .pipe(S.check(S.isGreaterThanOrEqualTo(0, {
65
+ arbitraryConstraint: { order: Order.Number, minimum: 0, maximum: realisticMaximum }
66
+ })), fromBrand(nominal(), {
20
67
  identifier: "NonNegativeNumber",
21
- title: "NonNegativeNumber",
22
68
  jsonSchema: {}
23
- }), withDefaultMake), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => s(0))) }));
69
+ }), withDefaultMake), (s) => ({
70
+ /**
71
+ * Construction-only default `0`. Applied only when the field is omitted
72
+ * from `.make(...)` input. NOT applied during decode — cannot be used to
73
+ * JIT-migrate database fields. See file-level note.
74
+ */
75
+ withConstructorDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => s(0))))
76
+ }));
24
77
  /** @deprecated Not an actual decimal */
25
78
  export const NonNegativeDecimal = NonNegativeNumber;
26
79
  /** @deprecated Not an actual decimal */
27
80
  export const PositiveDecimal = PositiveNumber;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQU1sRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUNoQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDUixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLE9BQU8sRUFBZSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUN0RyxlQUFlLENBQ2hCLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckUsQ0FBQTtBQUlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQ25DLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxPQUFPLEVBQWtCLEVBQUU7SUFDbkMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxFQUMzRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FDbkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxPQUFPLEVBQWtCLEVBQUU7SUFDbkMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRSxDQUFBO0FBSUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUN0QyxDQUFDO0tBQ0UsTUFBTTtLQUNOLElBQUksQ0FDSCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxTQUFTLENBQUMsT0FBTyxFQUFxQixFQUFFO0lBQ3RDLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLEVBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckUsQ0FBQTtBQUdELHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQTtBQUluRCx3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQSJ9
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbnVtYmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFzQixTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFZMUMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFzQixPQUFPLENBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQWMsT0FBTyxFQUFlLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUM3RixlQUFlLENBQ2hCLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDTjs7OztPQUlHO0lBQ0gsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FDSCxDQUFBO0FBU0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF5QixPQUFPLENBQ3pELENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNSLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,oGAarB,CAAA"}
1
+ {"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,oGAkBrB,CAAA"}
@@ -1,15 +1,19 @@
1
1
  import { isValidPhone } from "effect-app/validation";
2
2
  import * as S from "effect/Schema";
3
3
  import { withDefaultMake } from "./ext.js";
4
- import { Numbers } from "./FastCheck.js";
5
4
  export const PhoneNumber = S
6
5
  .String
7
- .pipe(S.refine(isValidPhone, {
8
- identifier: "PhoneNumber",
6
+ .pipe(S.annotate({
9
7
  title: "PhoneNumber",
10
8
  description: "a phone number with at least 7 digits",
11
- jsonSchema: { format: "phone" }
12
- }), S.annotate({
13
- toArbitrary: () => (fc) => Numbers(7, 10)(fc).map((_) => _)
9
+ format: "phone"
10
+ }), S.refine(isValidPhone, {
11
+ identifier: "PhoneNumber",
12
+ description: "a phone number with at least 7 digits",
13
+ jsonSchema: { format: "phone" },
14
+ // Native Arbitrary cannot invert `isValidPhone`; steer sampling to digit-only numbers (>= 7 digits).
15
+ arbitraryConstraint: {
16
+ patterns: [{ source: "^\\+?[1-9][0-9]{6,11}$", flags: "" }]
17
+ }
14
18
  }), withDefaultMake);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL3Bob25lTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQU94QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQztLQUN6QixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBK0MsRUFBRTtJQUN4RCxVQUFVLEVBQUUsYUFBYTtJQUN6QixLQUFLLEVBQUUsYUFBYTtJQUNwQixXQUFXLEVBQUUsdUNBQXVDO0lBQ3BELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7Q0FDaEMsQ0FBQyxFQUNGLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDVCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFnQixDQUFDO0NBQzNFLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUEifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL3Bob25lTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBTzFDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDO0tBQ3pCLE1BQU07S0FDTixJQUFJLENBQ0gsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNULEtBQUssRUFBRSxhQUFhO0lBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7SUFDcEQsTUFBTSxFQUFFLE9BQU87Q0FDaEIsQ0FBQyxFQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBK0MsRUFBRTtJQUN4RCxVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsdUNBQXVDO0lBQ3BELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDL0IscUdBQXFHO0lBQ3JHLG1CQUFtQixFQUFFO1FBQ25CLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUM1RDtDQUNGLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUEifQ==
@@ -1,5 +1,5 @@
1
1
  import * as B from "effect/Brand";
2
- import * as AST from "effect/SchemaAST";
3
2
  import * as P from "effect/SchemaParser";
3
+ import * as AST from "../SchemaAST.js";
4
4
  export { AST, B, P };
5
5
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAA;AAExC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAA;AACxC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as B from "effect/Brand";
2
- import * as AST from "effect/SchemaAST";
3
2
  import * as P from "effect/SchemaParser";
3
+ import * as AST from "../SchemaAST.js";
4
4
  export { AST, B, P };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQTtBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLHFCQUFxQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLENBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLEtBQUssR0FBRyxNQUFNLGlCQUFpQixDQUFBO0FBRXRDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBIn0=
@@ -1,19 +1,33 @@
1
1
  import type * as B from "effect/Brand";
2
2
  import * as S from "effect/Schema";
3
3
  import type { Simplify } from "effect/Types";
4
+ import type * as SchemaAST from "../SchemaAST.js";
5
+ import { type BrandedSchema } from "./brand.js";
4
6
  export type NonEmptyStringBrand = B.Brand<"NonEmptyString">;
5
7
  export type NonEmptyString = string & NonEmptyStringBrand;
6
- export declare const NonEmptyString: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString">> & S.brand<S.String, "NonEmptyString">;
8
+ export interface NonEmptyStringSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString> {
9
+ (i: string, options?: SchemaAST.ParseOptions): NonEmptyString;
10
+ }
11
+ export declare const NonEmptyString: NonEmptyStringSchema;
7
12
  export interface NonEmptyString64kBrand extends Simplify<B.Brand<"NonEmptyString64k"> & NonEmptyStringBrand> {
8
13
  }
9
14
  export type NonEmptyString64k = string & NonEmptyString64kBrand;
10
- export declare const NonEmptyString64k: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k">;
15
+ export interface NonEmptyString64kSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString64k> {
16
+ (i: string, options?: SchemaAST.ParseOptions): NonEmptyString64k;
17
+ }
18
+ export declare const NonEmptyString64k: NonEmptyString64kSchema;
11
19
  export interface NonEmptyString2kBrand extends Simplify<B.Brand<"NonEmptyString2k"> & NonEmptyString64kBrand> {
12
20
  }
13
21
  export type NonEmptyString2k = string & NonEmptyString2kBrand;
14
- export declare const NonEmptyString2k: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">;
22
+ export interface NonEmptyString2kSchema extends BrandedSchema<S.NonEmptyString, NonEmptyString2k> {
23
+ (i: string, options?: SchemaAST.ParseOptions): NonEmptyString2k;
24
+ }
25
+ export declare const NonEmptyString2k: NonEmptyString2kSchema;
15
26
  export interface NonEmptyString255Brand extends Simplify<B.Brand<"NonEmptyString255"> & NonEmptyString2kBrand> {
16
27
  }
17
28
  export type NonEmptyString255 = string & NonEmptyString255Brand;
18
- export declare const NonEmptyString255: import("./ext.js").WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
29
+ export interface NonEmptyString255Schema extends BrandedSchema<S.NonEmptyString, NonEmptyString255> {
30
+ (i: string, options?: SchemaAST.ParseOptions): NonEmptyString255;
31
+ }
32
+ export declare const NonEmptyString255: NonEmptyString255Schema;
19
33
  //# sourceMappingURL=strings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI5C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AACzD,eAAO,MAAM,cAAc,4GASxB,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAAG;AAC/G,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,eAAO,MAAM,iBAAiB,wJAU3B,CAAA;AAEH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAChH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAC7D,eAAO,MAAM,gBAAgB,kMAU1B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AACjH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,eAAO,MAAM,iBAAiB,8OAU3B,CAAA"}
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/Schema/strings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,SAAS,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,YAAY,CAAA;AAGnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,mBAAmB,CAAA;AACzD,MAAM,WAAW,oBAAqB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC;IAC3F,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,cAAc,CAAA;CAC9D;AACD,eAAO,MAAM,cAAc,EAAE,oBAQ1B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAAG;AAC/G,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACjG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAA;CACjE;AACD,eAAO,MAAM,iBAAiB,EAAE,uBAS7B,CAAA;AAEH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAChH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAC7D,MAAM,WAAW,sBAAuB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAC/F,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAA;CAChE;AACD,eAAO,MAAM,gBAAgB,EAAE,sBAS5B,CAAA;AAEH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AACjH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAC/D,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACjG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAA;CACjE;AACD,eAAO,MAAM,iBAAiB,EAAE,uBAS7B,CAAA"}
@@ -5,28 +5,24 @@ export const NonEmptyString = S
5
5
  .NonEmptyString
6
6
  .pipe(fromBrand(nominal(), {
7
7
  identifier: "NonEmptyString",
8
- title: "NonEmptyString",
9
8
  jsonSchema: {}
10
9
  }), withDefaultMake);
11
10
  export const NonEmptyString64k = S
12
11
  .NonEmptyString
13
12
  .pipe(S.check(S.isMaxLength(64 * 1024)), fromBrand(nominal(), {
14
13
  identifier: "NonEmptyString64k",
15
- title: "NonEmptyString64k",
16
14
  jsonSchema: {}
17
15
  }), withDefaultMake);
18
16
  export const NonEmptyString2k = S
19
17
  .NonEmptyString
20
18
  .pipe(S.check(S.isMaxLength(2 * 1024)), fromBrand(nominal(), {
21
19
  identifier: "NonEmptyString2k",
22
- title: "NonEmptyString2k",
23
20
  jsonSchema: {}
24
21
  }), withDefaultMake);
25
22
  export const NonEmptyString255 = S
26
23
  .NonEmptyString
27
24
  .pipe(S.check(S.isMaxLength(255)), fromBrand(nominal(), {
28
25
  identifier: "NonEmptyString255",
29
- title: "NonEmptyString255",
30
26
  jsonSchema: {}
31
27
  }), withDefaultMake);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBSTFDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDO0tBQzVCLGNBQWM7S0FDZCxJQUFJLENBQ0gsU0FBUyxDQUFDLE9BQU8sRUFBa0IsRUFBRTtJQUNuQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQztLQUMvQixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDakMsU0FBUyxDQUFDLE9BQU8sRUFBcUIsRUFBRTtJQUN0QyxVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQztLQUM5QixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDaEMsU0FBUyxDQUFDLE9BQU8sRUFBb0IsRUFBRTtJQUNyQyxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQztLQUMvQixjQUFjO0tBQ2QsSUFBSSxDQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQUMsT0FBTyxFQUFxQixFQUFFO0lBQ3RDLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUEifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUdsQyxPQUFPLEVBQXNCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQU8xQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXlCLENBQUM7S0FDbEQsY0FBYztLQUNkLElBQUksQ0FDSCxTQUFTLENBQWlCLE9BQU8sRUFBa0IsRUFBRTtJQUNuRCxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixDQUFDO0tBQ3hELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUNqQyxTQUFTLENBQW9CLE9BQU8sRUFBcUIsRUFBRTtJQUN6RCxVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyQixDQUFDO0tBQ3RELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUNoQyxTQUFTLENBQW1CLE9BQU8sRUFBb0IsRUFBRTtJQUN2RCxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQyxFQUNGLGVBQWUsQ0FDaEIsQ0FBQTtBQU9ILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixDQUFDO0tBQ3hELGNBQWM7S0FDZCxJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNCLFNBQVMsQ0FBb0IsT0FBTyxFQUFxQixFQUFFO0lBQ3pELFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDLEVBQ0YsZUFBZSxDQUNoQixDQUFBIn0=
package/dist/Schema.d.ts CHANGED
@@ -1,14 +1,90 @@
1
- import { type Tracer } from "effect";
2
1
  import * as S from "effect/Schema";
2
+ import { type Simplify } from "effect/Struct";
3
+ import type * as Tracer from "effect/Tracer";
4
+ import type { RequiredKeys } from "effect/Types";
5
+ import type { Arbitrary as FastCheckArbitrary } from "fast-check";
3
6
  import type { NonEmptyReadonlyArray } from "./Array.js";
4
7
  import { Email as EmailT, type Email as EmailType } from "./Schema/email.js";
8
+ import type { FC } from "./Schema/FastCheck.js";
5
9
  import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js";
10
+ import { type AST } from "./Schema/schema.js";
11
+ import * as SchemaAST from "./SchemaAST.js";
12
+ import { type StructuralCopyOrigin } from "./utils.js";
13
+ /**
14
+ * Attach a default value used **only** when constructing a value (e.g. via
15
+ * `.make(...)` or struct constructors) and the field is omitted from input.
16
+ *
17
+ * **Not applied during decode.** Decoding a payload that is missing the
18
+ * field will still raise a parse error. Do **not** rely on this to migrate
19
+ * database fields just-in-time — see the section header above.
20
+ *
21
+ * @see {@link withDecodingDefault} / {@link withDecodingDefaultType} —
22
+ * decode-time variants (discouraged for persisted data; use explicit,
23
+ * versioned migrations instead).
24
+ */
25
+ export { withConstructorDefault } from "effect/Schema";
26
+ /**
27
+ * Attach a default value used during decode when the field's `Encoded` value
28
+ * is missing **or** `undefined`. The default is specified as an `Encoded`
29
+ * value and threaded through the schema's decode step.
30
+ *
31
+ * **Discouraged for persisted data.** A missing field in a stored record is
32
+ * just as likely to be data corruption as it is an old-shape document;
33
+ * silently substituting a default hides the problem. Prefer an explicit,
34
+ * preferably versioned migration of database data — see the section header
35
+ * above.
36
+ *
37
+ * @see {@link withDecodingDefaultKey} — key-absent-only variant
38
+ * @see {@link withDecodingDefaultType} — `Type`-side variant
39
+ * @see {@link withConstructorDefault} — for `.make(...)`-time defaults
40
+ */
41
+ export { withDecodingDefault } from "effect/Schema";
42
+ /**
43
+ * Attach a default value used during decode when the field **key is absent**
44
+ * (note: not when present and `undefined`). The default is an `Encoded`
45
+ * value.
46
+ *
47
+ * **Discouraged for persisted data** — same reasoning as
48
+ * {@link withDecodingDefault}. Use explicit, preferably versioned migrations
49
+ * over decode-time fallbacks.
50
+ *
51
+ * @see {@link withDecodingDefault} — value-absent-or-undefined variant
52
+ * @see {@link withDecodingDefaultTypeKey} — `Type`-side variant
53
+ * @see {@link withConstructorDefault} — for `.make(...)`-time defaults
54
+ */
55
+ export { withDecodingDefaultKey } from "effect/Schema";
56
+ /**
57
+ * Attach a default value used during decode when the field is missing **or**
58
+ * `undefined`. The default is specified as a `Type` value (i.e. on the
59
+ * decoded side).
60
+ *
61
+ * **Discouraged for persisted data** — same reasoning as
62
+ * {@link withDecodingDefault}. Use explicit, preferably versioned migrations
63
+ * over decode-time fallbacks.
64
+ *
65
+ * @see {@link withDecodingDefault} — `Encoded`-side variant
66
+ * @see {@link withDecodingDefaultTypeKey} — key-absent-only variant
67
+ * @see {@link withConstructorDefault} — for `.make(...)`-time defaults
68
+ */
69
+ export { withDecodingDefaultType } from "effect/Schema";
70
+ /**
71
+ * Attach a default value used during decode when the field **key is absent**
72
+ * (note: not when present and `undefined`). The default is a `Type` value.
73
+ *
74
+ * **Discouraged for persisted data** — same reasoning as
75
+ * {@link withDecodingDefault}. Use explicit, preferably versioned migrations
76
+ * over decode-time fallbacks.
77
+ *
78
+ * @see {@link withDecodingDefaultKey} — `Encoded`-side variant
79
+ * @see {@link withDecodingDefaultType} — value-absent-or-undefined variant
80
+ * @see {@link withConstructorDefault} — for `.make(...)`-time defaults
81
+ */
82
+ export { withDecodingDefaultTypeKey } from "effect/Schema";
6
83
  export * from "effect/Schema";
7
- export { TaggedErrorClass as TaggedError } from "effect/Schema";
8
84
  export * from "./Schema/Class.js";
9
- export { Class, TaggedClass } from "./Schema/Class.js";
85
+ export { Class, ErrorClass, Opaque, OpaqueErrorFacadeClass, OpaqueFacade, OpaqueShape, OpaqueType, TaggedClass, TaggedErrorClass } from "./Schema/Class.js";
10
86
  export { fromBrand, nominal } from "./Schema/brand.js";
11
- export { Array, Boolean, Date, Finite, Literal, Map, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
87
+ export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literals, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
12
88
  export { Int, NonNegativeInt } from "./Schema/numbers.js";
13
89
  export * from "./Schema/email.js";
14
90
  export * from "./Schema/ext.js";
@@ -16,11 +92,122 @@ export * from "./Schema/moreStrings.js";
16
92
  export * from "./Schema/numbers.js";
17
93
  export * from "./Schema/phoneNumber.js";
18
94
  export * from "./Schema/schema.js";
95
+ export * from "./Schema/SpecialJsonSchema.js";
96
+ export * from "./Schema/SpecialOpenApi.js";
19
97
  export * from "./Schema/strings.js";
20
98
  export { NonEmptyString } from "./Schema/strings.js";
21
99
  export * as SchemaIssue from "effect/SchemaIssue";
22
- export * as SchemaParser from "effect/SchemaParser";
23
- export { Void as Void_ } from "effect/Schema";
100
+ /** Fast-check generator factory previously exported as `Schema.Arbitrary`. */
101
+ export type Arbitrary<T> = (fc: FC) => FastCheckArbitrary<T>;
102
+ export declare const decodeEffectConcurrently: typeof S.decodeEffect;
103
+ export declare const decodeUnknownEffectConcurrently: typeof S.decodeUnknownEffect;
104
+ export * as SchemaParser from "./Schema/SchemaParser.js";
105
+ /**
106
+ * Schema for a TypeScript `void` return value — the canonical `Void` used
107
+ * across the app, including RPC success schemas. Accepts **any present value**
108
+ * at runtime and discards it to `undefined`, while keeping the decoded/encoded
109
+ * type as `void`. Use `S.Undefined` when the input must be exactly `undefined`.
110
+ */
111
+ export interface Void extends S.Void {
112
+ }
113
+ export declare const Void: Void;
114
+ export declare function Struct<const Fields extends S.Struct.Fields>(fields: Fields): Struct<Fields>;
115
+ export interface Struct<Fields extends S.Struct.Fields> extends S.Bottom<Struct.Type<Fields>, Struct.Encoded<Fields>, Struct.DecodingServices<Fields>, Struct.EncodingServices<Fields>, AST.Objects, Struct<Fields>, Struct.MakeIn<Fields>, Struct.Iso<Fields>> {
116
+ /**
117
+ * The field definitions of this struct. Spread them into a new struct to
118
+ * reuse fields across schemas.
119
+ *
120
+ * **Example** (Reusing fields across structs)
121
+ *
122
+ * ```ts
123
+ * import * as Schema from "effect/Schema"
124
+ *
125
+ * const Timestamped = Schema.Struct({
126
+ * createdAt: Schema.Date,
127
+ * updatedAt: Schema.Date
128
+ * })
129
+ *
130
+ * const User = Schema.Struct({
131
+ * ...Timestamped.fields,
132
+ * name: Schema.String,
133
+ * email: Schema.String
134
+ * })
135
+ * ```
136
+ */
137
+ readonly fields: Fields;
138
+ /**
139
+ * Returns a new struct with the fields modified by the provided function.
140
+ *
141
+ * **Options**
142
+ *
143
+ * - `unsafePreserveChecks` - if `true`, keep any `.check(...)` constraints
144
+ * that were attached to the original union. Defaults to `false`.
145
+ *
146
+ * **Warning**: This is an unsafe operation. Since `mapFields`
147
+ * transformations change the schema type, the original refinement functions
148
+ * may no longer be valid or safe to apply to the transformed schema. Only
149
+ * use this option if you have verified that your refinements remain correct
150
+ * after the transformation.
151
+ */
152
+ mapFields<To extends Struct.Fields>(f: (fields: Fields) => To, options?: {
153
+ readonly unsafePreserveChecks?: boolean | undefined;
154
+ } | undefined): Struct<Simplify<Readonly<To>>>;
155
+ readonly copy: StructuralCopyOrigin<Struct.Type<Fields>>;
156
+ }
157
+ export declare namespace Struct {
158
+ type Fields = S.Struct.Fields;
159
+ type Type<F extends S.Struct.Fields> = S.Struct.Type<F>;
160
+ type Encoded<F extends S.Struct.Fields> = S.Struct.Encoded<F>;
161
+ type DecodingServices<F extends S.Struct.Fields> = S.Struct.DecodingServices<F>;
162
+ type EncodingServices<F extends S.Struct.Fields> = S.Struct.EncodingServices<F>;
163
+ type MakeIn<F extends S.Struct.Fields> = RequiredKeys<S.Struct.MakeIn<F>> extends never ? void | S.Struct.MakeIn<F> : S.Struct.MakeIn<F>;
164
+ type Iso<F extends S.Struct.Fields> = S.Struct.Iso<F>;
165
+ }
166
+ export type StructNestedEncodedError<T> = {
167
+ readonly _tag: "StructNestedEncodedError";
168
+ readonly message: "Expected a Struct schema or a schema with from.Encoded";
169
+ readonly schema: T;
170
+ };
171
+ export type StructNestedEncoded<T> = T extends {
172
+ fields: infer Fields extends S.Struct.Fields;
173
+ } ? Struct.Encoded<Fields> : T extends {
174
+ readonly from: {
175
+ readonly Encoded: infer Encoded;
176
+ };
177
+ } ? Encoded : StructNestedEncodedError<T>;
178
+ export declare function NonEmptyArray<Value extends S.Top>(value: Value): S.NonEmptyArray<Value>;
179
+ export declare function TaggedStruct<const Tag extends SchemaAST.LiteralValue, const Fields extends S.Struct.Fields>(value: Tag, fields: Fields): TaggedStruct<Tag, Fields>;
180
+ export interface TaggedStruct<Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields> extends Struct<{
181
+ readonly _tag: S.tag<Tag>;
182
+ } & Fields> {
183
+ }
184
+ export declare namespace TaggedStruct {
185
+ type Fields = S.Struct.Fields;
186
+ type Type<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.Type<{
187
+ readonly _tag: S.tag<Tag>;
188
+ } & F>;
189
+ type Encoded<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.Encoded<{
190
+ readonly _tag: S.tag<Tag>;
191
+ } & F>;
192
+ type DecodingServices<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.DecodingServices<{
193
+ readonly _tag: S.tag<Tag>;
194
+ } & F>;
195
+ type EncodingServices<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.EncodingServices<{
196
+ readonly _tag: S.tag<Tag>;
197
+ } & F>;
198
+ type MakeIn<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.MakeIn<{
199
+ readonly _tag: S.tag<Tag>;
200
+ } & F>;
201
+ type Iso<Tag extends SchemaAST.LiteralValue, F extends S.Struct.Fields> = S.Struct.Iso<{
202
+ readonly _tag: S.tag<Tag>;
203
+ } & F>;
204
+ }
205
+ export declare function Record<Key extends S.Record.Key, Value extends S.Top>(key: Key, value: Value): S.$Record<Key, Value>;
206
+ export declare namespace Record {
207
+ type Key = S.Record.Key;
208
+ type Type<K extends S.Record.Key, V extends S.Top> = S.Record.Type<K, V>;
209
+ type Encoded<K extends S.Record.Key, V extends S.Top> = S.Record.Encoded<K, V>;
210
+ }
24
211
  export declare const SpanId: unique symbol;
25
212
  export type SpanId = typeof SpanId;
26
213
  export interface WithOptionalSpan {
@@ -43,9 +230,40 @@ type TaggedUnionMembers = NonEmptyReadonlyArray<S.Top & {
43
230
  type TaggedUnionTags<Members extends TaggedUnionMembers> = S.Literals<{
44
231
  [Index in keyof Members]: Members[Index]["Type"]["_tag"];
45
232
  }>;
233
+ type TaggedPropertyKeys<A, Members extends TaggedUnionMembers> = {
234
+ [K in keyof A & string]: A[K] extends Members[number]["Type"] ? K : never;
235
+ }[keyof A & string];
236
+ type PropertyGuardsFor<Members extends TaggedUnionMembers, K extends string, A> = {
237
+ readonly [M in Members[number] as `is${M["Type"]["_tag"]}`]: (target: A) => target is A & {
238
+ readonly [P in K]: M["Type"];
239
+ };
240
+ } & {
241
+ readonly isAnyOf: <const Tags extends ReadonlyArray<Members[number]["Type"]["_tag"]>>(tags: Tags) => (target: A) => target is A & {
242
+ readonly [P in K]: Extract<Members[number]["Type"], {
243
+ readonly _tag: Tags[number];
244
+ }>;
245
+ };
246
+ };
247
+ type PropertyGuards<Members extends TaggedUnionMembers, K extends string> = {
248
+ readonly [M in Members[number] as `is${M["Type"]["_tag"]}`]: <T extends {
249
+ readonly [P in K]: Members[number]["Type"];
250
+ }>(target: T) => target is T & {
251
+ readonly [P in K]: M["Type"];
252
+ };
253
+ } & {
254
+ readonly isAnyOf: <const Tags extends ReadonlyArray<Members[number]["Type"]["_tag"]>>(tags: Tags) => <T extends {
255
+ readonly [P in K]: Members[number]["Type"];
256
+ }>(target: T) => target is T & {
257
+ readonly [P in K]: Extract<Members[number]["Type"], {
258
+ readonly _tag: Tags[number];
259
+ }>;
260
+ };
261
+ };
46
262
  type TaggedUnionWithTags<Members extends TaggedUnionMembers> = S.toTaggedUnion<"_tag", Members> & {
47
263
  readonly tags: TaggedUnionTags<Members>;
264
+ readonly generateGuards: <K extends string>(property: K) => PropertyGuards<Members, K>;
265
+ readonly generateGuardsFor: <A>() => <K extends TaggedPropertyKeys<A, Members>>(property: K) => PropertyGuardsFor<Members, K, A>;
48
266
  };
49
267
  export declare const ExtendTaggedUnion: <Members extends TaggedUnionMembers>(schema: S.Union<Members>) => TaggedUnionWithTags<Members>;
50
- export declare const TaggedUnion: <Members extends TaggedUnionMembers>(...a: Members) => TaggedUnionWithTags<Members>;
268
+ export declare const TaggedUnion: <Members extends TaggedUnionMembers>(members: Members) => TaggedUnionWithTags<Members>;
51
269
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}