effect-app 4.0.0-beta.18 → 4.0.0-beta.180

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 (218) hide show
  1. package/CHANGELOG.md +760 -0
  2. package/dist/Array.d.ts +1 -1
  3. package/dist/Chunk.d.ts +1 -1
  4. package/dist/Chunk.d.ts.map +1 -1
  5. package/dist/Config/SecretURL.d.ts +1 -1
  6. package/dist/Config/SecretURL.d.ts.map +1 -1
  7. package/dist/Config/SecretURL.js +2 -2
  8. package/dist/Config/internal/configSecretURL.d.ts +1 -1
  9. package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
  10. package/dist/Config.d.ts +7 -0
  11. package/dist/Config.d.ts.map +1 -0
  12. package/dist/Config.js +6 -0
  13. package/dist/ConfigProvider.d.ts +39 -0
  14. package/dist/ConfigProvider.d.ts.map +1 -0
  15. package/dist/ConfigProvider.js +42 -0
  16. package/dist/Context.d.ts +40 -0
  17. package/dist/Context.d.ts.map +1 -0
  18. package/dist/Context.js +67 -0
  19. package/dist/Effect.d.ts +9 -10
  20. package/dist/Effect.d.ts.map +1 -1
  21. package/dist/Effect.js +3 -6
  22. package/dist/Function.d.ts +1 -1
  23. package/dist/Function.d.ts.map +1 -1
  24. package/dist/Inputify.type.d.ts +1 -1
  25. package/dist/Layer.d.ts +6 -5
  26. package/dist/Layer.d.ts.map +1 -1
  27. package/dist/Layer.js +1 -1
  28. package/dist/NonEmptySet.d.ts +1 -1
  29. package/dist/NonEmptySet.d.ts.map +1 -1
  30. package/dist/Operations.d.ts +369 -47
  31. package/dist/Operations.d.ts.map +1 -1
  32. package/dist/Operations.js +10 -10
  33. package/dist/Option.d.ts +1 -1
  34. package/dist/Option.d.ts.map +1 -1
  35. package/dist/Pure.d.ts +5 -5
  36. package/dist/Pure.d.ts.map +1 -1
  37. package/dist/Pure.js +13 -13
  38. package/dist/Schema/Class.d.ts +69 -20
  39. package/dist/Schema/Class.d.ts.map +1 -1
  40. package/dist/Schema/Class.js +190 -22
  41. package/dist/Schema/FastCheck.d.ts +1 -1
  42. package/dist/Schema/FastCheck.d.ts.map +1 -1
  43. package/dist/Schema/Methods.d.ts +1 -1
  44. package/dist/Schema/SchemaParser.d.ts +5 -0
  45. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  46. package/dist/Schema/SchemaParser.js +6 -0
  47. package/dist/Schema/SpecialJsonSchema.d.ts +33 -0
  48. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  49. package/dist/Schema/SpecialJsonSchema.js +122 -0
  50. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  51. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  52. package/dist/Schema/SpecialOpenApi.js +123 -0
  53. package/dist/Schema/brand.d.ts +7 -2
  54. package/dist/Schema/brand.d.ts.map +1 -1
  55. package/dist/Schema/brand.js +1 -1
  56. package/dist/Schema/email.d.ts +1 -1
  57. package/dist/Schema/email.d.ts.map +1 -1
  58. package/dist/Schema/email.js +7 -4
  59. package/dist/Schema/ext.d.ts +118 -45
  60. package/dist/Schema/ext.d.ts.map +1 -1
  61. package/dist/Schema/ext.js +129 -53
  62. package/dist/Schema/moreStrings.d.ts +111 -11
  63. package/dist/Schema/moreStrings.d.ts.map +1 -1
  64. package/dist/Schema/moreStrings.js +14 -15
  65. package/dist/Schema/numbers.d.ts +127 -15
  66. package/dist/Schema/numbers.d.ts.map +1 -1
  67. package/dist/Schema/numbers.js +10 -12
  68. package/dist/Schema/phoneNumber.d.ts +1 -1
  69. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  70. package/dist/Schema/phoneNumber.js +6 -3
  71. package/dist/Schema/schema.d.ts +1 -1
  72. package/dist/Schema/strings.d.ts +37 -5
  73. package/dist/Schema/strings.d.ts.map +1 -1
  74. package/dist/Schema/strings.js +1 -5
  75. package/dist/Schema.d.ts +102 -56
  76. package/dist/Schema.d.ts.map +1 -1
  77. package/dist/Schema.js +128 -64
  78. package/dist/Set.d.ts +1 -1
  79. package/dist/Set.d.ts.map +1 -1
  80. package/dist/TypeTest.d.ts +1 -1
  81. package/dist/Types.d.ts +1 -1
  82. package/dist/Widen.type.d.ts +1 -1
  83. package/dist/_ext/Array.d.ts +1 -1
  84. package/dist/_ext/Array.d.ts.map +1 -1
  85. package/dist/_ext/date.d.ts +1 -1
  86. package/dist/_ext/misc.d.ts +1 -1
  87. package/dist/_ext/ord.ext.d.ts +1 -1
  88. package/dist/_ext/ord.ext.d.ts.map +1 -1
  89. package/dist/builtin.d.ts +1 -1
  90. package/dist/builtin.d.ts.map +1 -1
  91. package/dist/client/InvalidationKeys.d.ts +29 -0
  92. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  93. package/dist/client/InvalidationKeys.js +33 -0
  94. package/dist/client/apiClientFactory.d.ts +17 -31
  95. package/dist/client/apiClientFactory.d.ts.map +1 -1
  96. package/dist/client/apiClientFactory.js +81 -26
  97. package/dist/client/clientFor.d.ts +63 -10
  98. package/dist/client/clientFor.d.ts.map +1 -1
  99. package/dist/client/clientFor.js +9 -1
  100. package/dist/client/errors.d.ts +49 -25
  101. package/dist/client/errors.d.ts.map +1 -1
  102. package/dist/client/errors.js +43 -17
  103. package/dist/client/makeClient.d.ts +360 -30
  104. package/dist/client/makeClient.d.ts.map +1 -1
  105. package/dist/client/makeClient.js +63 -23
  106. package/dist/client.d.ts +2 -1
  107. package/dist/client.d.ts.map +1 -1
  108. package/dist/client.js +2 -1
  109. package/dist/faker.d.ts +1 -1
  110. package/dist/faker.d.ts.map +1 -1
  111. package/dist/http/Request.d.ts +2 -2
  112. package/dist/http/Request.d.ts.map +1 -1
  113. package/dist/http/Request.js +5 -5
  114. package/dist/http/internal/lib.d.ts +1 -1
  115. package/dist/http.d.ts +1 -1
  116. package/dist/ids.d.ts +3 -3
  117. package/dist/ids.d.ts.map +1 -1
  118. package/dist/ids.js +3 -2
  119. package/dist/index.d.ts +5 -8
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +6 -8
  122. package/dist/logger.d.ts +1 -1
  123. package/dist/middleware.d.ts +16 -9
  124. package/dist/middleware.d.ts.map +1 -1
  125. package/dist/middleware.js +13 -9
  126. package/dist/rpc/Invalidation.d.ts +490 -0
  127. package/dist/rpc/Invalidation.d.ts.map +1 -0
  128. package/dist/rpc/Invalidation.js +129 -0
  129. package/dist/rpc/MiddlewareMaker.d.ts +5 -4
  130. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  131. package/dist/rpc/MiddlewareMaker.js +26 -27
  132. package/dist/rpc/RpcContextMap.d.ts +3 -3
  133. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  134. package/dist/rpc/RpcContextMap.js +4 -4
  135. package/dist/rpc/RpcMiddleware.d.ts +5 -4
  136. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  137. package/dist/rpc/RpcMiddleware.js +1 -1
  138. package/dist/rpc.d.ts +2 -2
  139. package/dist/rpc.d.ts.map +1 -1
  140. package/dist/rpc.js +2 -2
  141. package/dist/transform.d.ts +1 -1
  142. package/dist/transform.d.ts.map +1 -1
  143. package/dist/transform.js +3 -3
  144. package/dist/utils/effectify.d.ts +1 -1
  145. package/dist/utils/extend.d.ts +1 -1
  146. package/dist/utils/extend.d.ts.map +1 -1
  147. package/dist/utils/gen.d.ts +2 -2
  148. package/dist/utils/gen.d.ts.map +1 -1
  149. package/dist/utils/logLevel.d.ts +2 -2
  150. package/dist/utils/logLevel.d.ts.map +1 -1
  151. package/dist/utils/logger.d.ts +3 -3
  152. package/dist/utils/logger.d.ts.map +1 -1
  153. package/dist/utils/logger.js +3 -3
  154. package/dist/utils.d.ts +30 -10
  155. package/dist/utils.d.ts.map +1 -1
  156. package/dist/utils.js +10 -4
  157. package/dist/validation/validators.d.ts +1 -1
  158. package/dist/validation/validators.d.ts.map +1 -1
  159. package/dist/validation.d.ts +1 -1
  160. package/dist/validation.d.ts.map +1 -1
  161. package/eslint.config.mjs +2 -2
  162. package/package.json +47 -19
  163. package/src/Config/SecretURL.ts +2 -1
  164. package/src/Config.ts +14 -0
  165. package/src/ConfigProvider.ts +48 -0
  166. package/src/{ServiceMap.ts → Context.ts} +52 -59
  167. package/src/Effect.ts +12 -14
  168. package/src/Layer.ts +5 -4
  169. package/src/Operations.ts +14 -14
  170. package/src/Pure.ts +17 -18
  171. package/src/Schema/Class.ts +279 -62
  172. package/src/Schema/SchemaParser.ts +12 -0
  173. package/src/Schema/SpecialJsonSchema.ts +137 -0
  174. package/src/Schema/SpecialOpenApi.ts +130 -0
  175. package/src/Schema/brand.ts +9 -1
  176. package/src/Schema/email.ts +7 -2
  177. package/src/Schema/ext.ts +210 -80
  178. package/src/Schema/moreStrings.ts +22 -20
  179. package/src/Schema/numbers.ts +14 -16
  180. package/src/Schema/phoneNumber.ts +5 -1
  181. package/src/Schema/strings.ts +4 -8
  182. package/src/Schema.ts +265 -105
  183. package/src/client/InvalidationKeys.ts +50 -0
  184. package/src/client/apiClientFactory.ts +203 -119
  185. package/src/client/clientFor.ts +112 -23
  186. package/src/client/errors.ts +52 -26
  187. package/src/client/makeClient.ts +339 -63
  188. package/src/client.ts +1 -0
  189. package/src/http/Request.ts +7 -4
  190. package/src/ids.ts +2 -1
  191. package/src/index.ts +5 -10
  192. package/src/middleware.ts +12 -10
  193. package/src/rpc/Invalidation.ts +174 -0
  194. package/src/rpc/MiddlewareMaker.ts +36 -47
  195. package/src/rpc/README.md +2 -2
  196. package/src/rpc/RpcContextMap.ts +6 -5
  197. package/src/rpc/RpcMiddleware.ts +5 -4
  198. package/src/rpc.ts +1 -1
  199. package/src/transform.ts +2 -2
  200. package/src/utils/gen.ts +1 -1
  201. package/src/utils/logger.ts +2 -2
  202. package/src/utils.ts +47 -11
  203. package/test/dist/rpc.test.d.ts.map +1 -1
  204. package/test/dist/secretURL.test.d.ts.map +1 -0
  205. package/test/dist/special.test.d.ts.map +1 -0
  206. package/test/rpc.test.ts +38 -6
  207. package/test/schema.test.ts +591 -17
  208. package/test/secretURL.test.ts +157 -0
  209. package/test/special.test.ts +1023 -0
  210. package/test/utils.test.ts +6 -6
  211. package/tsconfig.base.json +3 -4
  212. package/tsconfig.json +0 -1
  213. package/tsconfig.json.bak +2 -2
  214. package/tsconfig.src.json +29 -29
  215. package/tsconfig.test.json +2 -2
  216. package/dist/ServiceMap.d.ts +0 -44
  217. package/dist/ServiceMap.d.ts.map +0 -1
  218. package/dist/ServiceMap.js +0 -91
@@ -1,84 +1,153 @@
1
- import { Effect, Schema, type SchemaAST, SchemaIssue, type ServiceMap } from "effect";
1
+ import { Effect, type SchemaAST, SchemaIssue } from "effect";
2
2
  import * as S from "effect/Schema";
3
3
  import { type NonEmptyReadonlyArray } from "../Array.js";
4
+ import * as Context from "../Context.js";
4
5
  import { type AST } from "./schema.js";
5
- export declare const withDefaultConstructor: <A>(makeDefault: () => NoInfer<A>) => <Self extends S.Top>(self: Self) => S.withConstructorDefault<Self & S.WithoutConstructorDefault>;
6
+ type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
7
+ export declare const DefaultParseOptions: SchemaAST.ParseOptions;
8
+ /**
9
+ * Parse-options annotation used on schema constructors for decode paths where callers
10
+ * cannot currently pass parse options (notably some RPC / HttpApi integration paths).
11
+ *
12
+ * Keep this annotation in place so those framework-managed decodes still run with
13
+ * unbounded concurrency by default.
14
+ */
15
+ export declare const concurrencyUnbounded: {
16
+ readonly parseOptions: SchemaAST.ParseOptions;
17
+ };
18
+ type DecodeLike = (schema: any) => (input: any, options?: SchemaAST.ParseOptions) => any;
19
+ export declare const withDefaultParseOptions: <Decode extends DecodeLike>(decode: Decode, defaultParseOptions?: SchemaAST.ParseOptions) => Decode;
20
+ /**
21
+ * Schema type for {@link DateFromString}.
22
+ *
23
+ * @category Schemas
24
+ * @since 4.0.0
25
+ */
26
+ export interface DateFromString extends S.decodeTo<S.Date, S.String> {
27
+ }
28
+ /**
29
+ * A transformation schema that parses an ISO 8601 string into a `Date`.
30
+ *
31
+ * Decoding:
32
+ * - A `string` is decoded as a `Date`.
33
+ *
34
+ * Encoding:
35
+ * - A `Date` is encoded as a `string`.
36
+ *
37
+ * @since 4.0.0
38
+ */
39
+ export declare const DateFromString: DateFromString;
6
40
  /**
7
41
  * Like the default Schema `Date` but from String with `withDefault` => now
8
42
  */
9
- export declare const Date: Schema.decodeTo<Schema.Date, Schema.String, never, never> & {
10
- withDefault: Schema.withConstructorDefault<Schema.decodeTo<Schema.Date, Schema.String, never, never> & Schema.WithoutConstructorDefault>;
43
+ export declare const Date: DateFromString & {
44
+ withDefault: S.withConstructorDefault<DateFromString>;
45
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
46
+ };
47
+ /**
48
+ * Like the default Schema `DateValid` but from String with `withDefault` => now
49
+ */
50
+ export declare const DateValid: S.decodeTo<S.Date, S.String, never, never> & {
51
+ withDefault: S.withConstructorDefault<DateFromString>;
52
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
11
53
  };
12
54
  /**
13
55
  * Like the default Schema `Boolean` but with `withDefault` => false
14
56
  */
15
- export declare const Boolean: Schema.Boolean & {
16
- withDefault: Schema.withConstructorDefault<Schema.Boolean & Schema.WithoutConstructorDefault>;
57
+ export declare const Boolean: S.Boolean & {
58
+ withDefault: S.withConstructorDefault<S.Boolean>;
59
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Boolean>;
17
60
  };
18
61
  /**
62
+ * You probably want to use `Finite` instead of this.
19
63
  * Like the default Schema `Number` but with `withDefault` => 0
20
64
  */
21
- export declare const Number: Schema.Number & {
22
- withDefault: Schema.withConstructorDefault<Schema.Number & Schema.WithoutConstructorDefault>;
65
+ export declare const Number: S.Number & {
66
+ withDefault: S.withConstructorDefault<S.Number>;
67
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Number>;
23
68
  };
24
69
  /**
25
- * Like the default Schema `Literal` but with `withDefault` => literals[0]
70
+ * Like the default Schema `Finite` but with `withDefault` => 0
26
71
  */
27
- export declare const Literal: <Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(...literals: Literals) => Schema.Literals<Literals> & {
28
- changeDefault: <A extends Literals[number]>(a: A) => Schema.Literals<Literals> & {
72
+ export declare const Finite: S.Finite & {
73
+ withDefault: S.withConstructorDefault<S.Finite>;
74
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Finite>;
75
+ };
76
+ /**
77
+ * Like the default Schema `Literals` but with `withDefault` => literals[0]
78
+ */
79
+ export declare const Literals: <const Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(literals: Literals) => S.Literals<Literals> & {
80
+ changeDefault: <A extends Literals[number]>(a: A) => S.Literals<Literals> & {
29
81
  Default: A;
30
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
82
+ withDefault: S.withConstructorDefault<S.Literals<Literals>>;
83
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>>;
31
84
  };
32
- Default: (typeof literals)[0];
33
- withDefault: Schema.withConstructorDefault<Schema.Literals<Literals> & Schema.WithoutConstructorDefault>;
85
+ Default: Literals[0];
86
+ withDefault: S.withConstructorDefault<S.Literals<Literals>>;
87
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Literals<Literals>>;
34
88
  };
35
89
  /**
36
90
  * Like the default Schema `Array` but with `withDefault` => []
37
91
  */
38
- export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): Schema.$Array<ValueSchema> & {
39
- withDefault: Schema.withConstructorDefault<Schema.$Array<ValueSchema> & Schema.WithoutConstructorDefault>;
92
+ export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): S.$Array<ValueSchema> & {
93
+ withDefault: S.withConstructorDefault<S.$Array<ValueSchema>>;
94
+ withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<ValueSchema>>;
40
95
  };
41
96
  /**
42
- * Like the default Schema `Map` but with `withDefault` => []
97
+ * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
43
98
  */
44
- declare function Map_<KeySchema extends S.Top, ValueSchema extends S.Top>(input: {
45
- key: KeySchema;
46
- value: ValueSchema;
47
- }): Schema.$ReadonlyMap<KeySchema, ValueSchema> & {
48
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlyMap<KeySchema, ValueSchema> & Schema.WithoutConstructorDefault>;
49
- };
50
- export { Map_ as Map };
99
+ export declare const ReadonlySetFromArray: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>;
51
100
  /**
52
- * Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
101
+ * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
53
102
  */
54
- export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => Schema.$ReadonlySet<ValueSchema> & {
55
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlySet<ValueSchema> & Schema.WithoutConstructorDefault>;
103
+ export declare const ReadonlyMapFromArray: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
104
+ readonly key: KeySchema;
105
+ readonly value: ValueSchema;
106
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>;
107
+ /**
108
+ * Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
109
+ */
110
+ export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never> & {
111
+ withDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>>;
112
+ withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<S.Schema.Type<ValueSchema>>, ReadonlySet<S.Schema.Type<ValueSchema>>>, S.$Array<ValueSchema>, never, never>>;
56
113
  };
57
114
  /**
58
- * Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
115
+ * Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
59
116
  */
60
117
  export declare const ReadonlyMap: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
61
118
  readonly key: KeySchema;
62
119
  readonly value: ValueSchema;
63
- }) => Schema.$ReadonlyMap<KeySchema, ValueSchema> & {
64
- withDefault: Schema.withConstructorDefault<Schema.$ReadonlyMap<KeySchema, ValueSchema> & Schema.WithoutConstructorDefault>;
120
+ }) => S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never> & {
121
+ withDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>>;
122
+ withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>, ReadonlyMap<S.Schema.Type<KeySchema>, S.Schema.Type<ValueSchema>>>, S.$Array<S.Tuple<readonly [KeySchema, ValueSchema]>>, never, never>>;
65
123
  };
66
124
  /**
67
125
  * Like the default Schema `NullOr` but with `withDefault` => null
68
126
  */
69
- export declare const NullOr: <Schema extends S.Top>(self: Schema) => Schema.NullOr<Schema> & {
70
- withDefault: Schema.withConstructorDefault<Schema.NullOr<Schema> & Schema.WithoutConstructorDefault>;
127
+ export declare const NullOr: <Schema extends S.Top>(self: Schema) => S.NullOr<Schema> & {
128
+ withDefault: S.withConstructorDefault<S.NullOr<Schema>>;
129
+ withDecodingDefaultType: S.withDecodingDefaultType<S.NullOr<Schema>>;
71
130
  };
72
- export declare const defaultDate: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
73
- export declare const defaultBool: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
74
- export declare const defaultNullable: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
75
- export declare const defaultArray: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
76
- export declare const defaultMap: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
77
- export declare const defaultSet: <Schema extends S.Top>(schema: Schema) => Schema.withConstructorDefault<Schema & Schema.WithoutConstructorDefault>;
131
+ export declare const defaultDate: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
132
+ export declare const defaultBool: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
133
+ export declare const defaultNullable: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
134
+ export declare const defaultArray: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
135
+ export declare const defaultMap: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
136
+ export declare const defaultSet: <Schema extends S.Top & S.WithoutConstructorDefault>(schema: Schema) => S.withConstructorDefault<Schema>;
78
137
  export declare const withDefaultMake: <Self extends S.Top>(s: Self) => WithDefaults<Self> & Self;
79
138
  export type WithDefaults<Self extends S.Top> = (i: Self["Encoded"], options?: SchemaAST.ParseOptions) => Self["Type"];
80
- export declare const inputDate: Schema.Union<readonly [Schema.Date, Schema.Date]> & {
81
- withDefault: Schema.withConstructorDefault<Schema.Union<readonly [Schema.Date, Schema.Date]> & Schema.WithoutConstructorDefault>;
139
+ export declare const inputDate: S.Union<readonly [S.DateValid, DateFromString & {
140
+ withDefault: S.withConstructorDefault<DateFromString>;
141
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
142
+ }]> & {
143
+ withDefault: S.withConstructorDefault<S.Union<readonly [S.DateValid, DateFromString & {
144
+ withDefault: S.withConstructorDefault<DateFromString>;
145
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
146
+ }]>>;
147
+ withDecodingDefaultType: S.withDecodingDefaultType<S.Union<readonly [S.DateValid, DateFromString & {
148
+ withDefault: S.withConstructorDefault<DateFromString>;
149
+ withDecodingDefaultType: S.withDecodingDefaultType<DateFromString>;
150
+ }]>>;
82
151
  };
83
152
  export interface UnionBrand {
84
153
  }
@@ -89,9 +158,13 @@ export declare function makeExactOptional<NER extends S.Struct.Fields>(t: NER):
89
158
  [K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optionalKey<NER[K] & S.Top>> : any;
90
159
  };
91
160
  /** A version of transform which is only a one way mapping of From->To */
92
- 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>;
161
+ 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>;
93
162
  /** A version of transformOrFail which is only a one way mapping of From->To */
94
- 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>;
95
- export declare const provide: <Self extends S.Top, R>(self: Self, context: ServiceMap.ServiceMap<R>) => any;
96
- export declare const contextFromServices: <Self extends S.Top, Tags extends readonly any[]>(_self: Self, ..._services: Tags) => any;
97
- //# sourceMappingURL=ext.d.ts.map
163
+ 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>;
164
+ export declare const provide: {
165
+ <R>(context: Context.Context<R>): <Self extends S.Top>(self: Self) => ProvidedCodec<Self, R>;
166
+ <Self extends S.Top, R>(self: Self, context: Context.Context<R>): ProvidedCodec<Self, R>;
167
+ };
168
+ 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]>>;
169
+ export {};
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL2V4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUEwQixLQUFLLFNBQVMsRUFBRSxXQUFXLEVBQXdCLE1BQU0sUUFBUSxDQUFBO0FBQzFHLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hELE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV0QyxLQUFLLGFBQWEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDckMsQ0FBQTtBQUVELGVBQU8sTUFBTSxtQkFBbUIsRUFBRSxTQUFTLENBQUMsWUFBMkMsQ0FBQTtBQUN2Rjs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sb0JBQW9CO2FBQUssWUFBWTtDQUFnQyxDQUFBO0FBRWxGLEtBQUssVUFBVSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFlBQVksS0FBSyxHQUFHLENBQUE7QUFFeEYsZUFBTyxNQUFNLHVCQUF1QixHQUFJLE1BQU0sU0FBUyxVQUFVLFVBQ3ZELE1BQU0sd0JBQ08sU0FBUyxDQUFDLFlBQVksS0FDMUMsTUFJVyxDQUFBO0FBVWQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcsY0FBZSxTQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0NBQUc7QUFFdkU7Ozs7Ozs7Ozs7R0FVRztBQUNILGVBQU8sTUFBTSxjQUFjLEVBQUUsY0FBeUYsQ0FBQTtBQUV0SDs7R0FFRztBQUNILGVBQU8sTUFBTSxJQUFJOzs7Q0FHZixDQUFBO0FBRUY7O0dBRUc7QUFDSCxlQUFPLE1BQU0sU0FBUzs7O0NBR3BCLENBQUE7QUFFRjs7R0FFRztBQUNILGVBQU8sTUFBTSxPQUFPOzs7Q0FHbEIsQ0FBQTtBQUVGOzs7R0FHRztBQUNILGVBQU8sTUFBTSxNQUFNOzs7Q0FHakIsQ0FBQTtBQUVGOztHQUVHO0FBQ0gsZUFBTyxNQUFNLE1BQU07OztDQUdqQixDQUFBO0FBRUY7O0dBRUc7QUFDSCxlQUFPLE1BQU0sUUFBUSxHQUFJLEtBQUssQ0FBQyxRQUFRLFNBQVMscUJBQXFCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLFFBQVE7b0JBS25GLENBQUMsU0FBUyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs7YUFReEIsUUFBUSxDQUFDLENBQUMsQ0FBQzs7O0NBSXhDLENBQUE7QUFFSDs7R0FFRztBQUNILHdCQUFnQixLQUFLLENBQUMsV0FBVyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVc7OztFQVNsRTtBQUVEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLG9CQUFvQixHQUFJLFdBQVcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLFdBQVcsb0pBZWpGLENBQUE7QUFFRDs7R0FFRztBQUNILGVBQU8sTUFBTSxvQkFBb0IsR0FBSSxTQUFTLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUTtJQUM3RixRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQTtJQUN2QixRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQTtDQUM1Qix1T0F3QkEsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLFdBQVcsR0FBSSxXQUFXLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxXQUFXOzs7Q0FVdEUsQ0FBQTtBQUVIOztHQUVHO0FBQ0gsZUFBTyxNQUFNLFdBQVcsR0FBSSxTQUFTLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUTtJQUNwRixRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQTtJQUN2QixRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQTtDQUM1Qjs7O0NBUUUsQ0FBQTtBQUVIOztHQUVHO0FBQ0gsZUFBTyxNQUFNLE1BQU0sR0FBSSxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxNQUFNOzs7Q0FRdEQsQ0FBQTtBQUVILGVBQU8sTUFBTSxXQUFXLEdBQUksTUFBTSxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHlCQUF5QixVQUFVLE1BQU0scUNBQ2pCLENBQUE7QUFFN0UsZUFBTyxNQUFNLFdBQVcsR0FBSSxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMseUJBQXlCLFVBQVUsTUFBTSxxQ0FDaEMsQ0FBQTtBQUU5RCxlQUFPLE1BQU0sZUFBZSxHQUFJLE1BQU0sU0FBUyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyx5QkFBeUIsVUFBVSxNQUFNLHFDQUNyQyxDQUFBO0FBRTdELGVBQU8sTUFBTSxZQUFZLEdBQUksTUFBTSxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHlCQUF5QixVQUFVLE1BQU0scUNBQ2pDLENBQUE7QUFFOUQsZUFBTyxNQUFNLFVBQVUsR0FBSSxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMseUJBQXlCLFVBQVUsTUFBTSxxQ0FDeEIsQ0FBQTtBQUVyRSxlQUFPLE1BQU0sVUFBVSxHQUFJLE1BQU0sU0FBUyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyx5QkFBeUIsVUFBVSxNQUFNLHFDQUN4QixDQUFBO0FBRXJFLGVBQU8sTUFBTSxlQUFlLEdBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSw4QkFNMUQsQ0FBQTtBQUVELE1BQU0sTUFBTSxZQUFZLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FDN0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDbEIsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFlBQVksS0FDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBZ0JqQixlQUFPLE1BQU0sU0FBUzs7Ozs7Ozs7Ozs7O0NBTXJCLENBQUE7QUFFRCxNQUFNLFdBQVcsVUFBVTtDQUFHO0FBSTlCLHdCQUFnQixZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN0RCxDQUFDLEVBQUUsR0FBRyxHQUNMO0tBQ0EsQ0FBQyxJQUFJLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUc7Q0FDN0YsQ0FLQTtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQzNELENBQUMsRUFBRSxHQUFHLEdBQ0w7S0FDQSxDQUFDLElBQUksTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRztDQUNoRyxDQUtBO0FBRUQseUVBQXlFO0FBQ3pFLGVBQU8sTUFBTSxXQUFXLEdBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFFBQ3hELElBQUksTUFDTixFQUFFLFVBQ0UsQ0FDTixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNuQixPQUFPLEVBQUUsU0FBUyxDQUFDLFlBQVksS0FDNUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyx1Q0FnQmpCLENBQUE7QUFFSCwrRUFBK0U7QUFDL0UsZUFBTyxNQUFNLGlCQUFpQixHQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFDbEUsSUFBSSxNQUNOLEVBQUUsVUFDRSxDQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ25CLE9BQU8sRUFBRSxTQUFTLENBQUMsWUFBWSxLQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxvQ0FnQnZELENBQUE7QUFFSCxlQUFPLE1BQU0sT0FBTyxFQUFFO0lBQ3BCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksS0FBSyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVGLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtDQU94RixDQUFBO0FBQ0YsZUFBTyxNQUFNLG1CQUFtQixFQVExQixDQUNKLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxFQUNsQixJQUFJLFNBQVMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRWpELElBQUksRUFBRSxJQUFJLEVBQ1YsR0FBRyxRQUFRLEVBQUUsSUFBSSxLQUNkLE1BQU0sQ0FBQyxNQUFNLENBQ2hCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDN0QsS0FBSyxFQUNMLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN6QyxDQUFBIn0=
@@ -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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"}
@@ -1,80 +1,160 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-return */
3
- import { Effect, Option, pipe, Schema, SchemaGetter, SchemaIssue, SchemaParser, SchemaTransformation } from "effect";
3
+ import { Effect, Function, Option, pipe, SchemaIssue, SchemaTransformation } from "effect";
4
4
  import * as S from "effect/Schema";
5
+ import { isDateValid } from "effect/Schema";
6
+ import * as Context from "../Context.js";
5
7
  import { extendM, typedKeysOf } from "../utils.js";
6
- // TODO: v4 migration withConstructorDefault signature changed, propertySignature removed
7
- // Constraint relaxed from `Self extends S.Top & S.WithoutConstructorDefault` to `Self extends S.Top`
8
- // because `.pipe()` widens the schema type to `Top` which doesn't satisfy `WithoutConstructorDefault`.
9
- // The narrowing assertions below are safe we're asserting "this schema hasn't had a default applied yet".
10
- export const withDefaultConstructor = (makeDefault) => (self) => {
11
- return S.withConstructorDefault(() => Option.some(makeDefault()))(self);
12
- };
8
+ export const DefaultParseOptions = { concurrency: "unbounded" };
9
+ /**
10
+ * Parse-options annotation used on schema constructors for decode paths where callers
11
+ * cannot currently pass parse options (notably some RPC / HttpApi integration paths).
12
+ *
13
+ * Keep this annotation in place so those framework-managed decodes still run with
14
+ * unbounded concurrency by default.
15
+ */
16
+ export const concurrencyUnbounded = { parseOptions: DefaultParseOptions };
17
+ export const withDefaultParseOptions = (decode, defaultParseOptions = DefaultParseOptions) => ((schema) => {
18
+ const run = decode(schema);
19
+ return (input, options) => run(input, { ...defaultParseOptions, ...options });
20
+ });
13
21
  // TODO: v4 migration - Date is no longer by default encoded to string.
14
- const DateFromString = Schema.Date.pipe(Schema.encodeTo(Schema.String, {
15
- decode: SchemaGetter.Date(),
16
- encode: SchemaGetter.transform((_) => _.toISOString())
17
- }));
22
+ const DateString = S.String.annotate({
23
+ identifier: "Date",
24
+ description: "a string in ISO 8601 format that will be decoded as a Date",
25
+ format: "date-time"
26
+ });
27
+ /**
28
+ * A transformation schema that parses an ISO 8601 string into a `Date`.
29
+ *
30
+ * Decoding:
31
+ * - A `string` is decoded as a `Date`.
32
+ *
33
+ * Encoding:
34
+ * - A `Date` is encoded as a `string`.
35
+ *
36
+ * @since 4.0.0
37
+ */
38
+ export const DateFromString = DateString.pipe(S.decodeTo(S.Date, SchemaTransformation.dateFromString));
18
39
  /**
19
40
  * Like the default Schema `Date` but from String with `withDefault` => now
20
41
  */
21
42
  export const Date = Object.assign(DateFromString, {
22
- withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
43
+ withDefault: DateFromString.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date()))),
44
+ withDecodingDefaultType: DateFromString.pipe(S.withDecodingDefaultType(Effect.sync(() => new global.Date())))
45
+ });
46
+ /**
47
+ * Like the default Schema `DateValid` but from String with `withDefault` => now
48
+ */
49
+ export const DateValid = Object.assign(Date.check(isDateValid()), {
50
+ withDefault: DateFromString.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date()))),
51
+ withDecodingDefaultType: DateFromString.pipe(S.withDecodingDefaultType(Effect.sync(() => new global.Date())))
23
52
  });
24
53
  /**
25
54
  * Like the default Schema `Boolean` but with `withDefault` => false
26
55
  */
27
56
  export const Boolean = Object.assign(S.Boolean, {
28
- withDefault: S.Boolean.pipe(withDefaultConstructor(() => false))
57
+ withDefault: S.Boolean.pipe(S.withConstructorDefault(Effect.succeed(false))),
58
+ withDecodingDefaultType: S.Boolean.pipe(S.withDecodingDefaultType(Effect.succeed(false)))
29
59
  });
30
60
  /**
61
+ * You probably want to use `Finite` instead of this.
31
62
  * Like the default Schema `Number` but with `withDefault` => 0
32
63
  */
33
- export const Number = Object.assign(S.Number, { withDefault: S.Number.pipe(withDefaultConstructor(() => 0)) });
64
+ export const Number = Object.assign(S.Number, {
65
+ withDefault: S.Number.pipe(S.withConstructorDefault(Effect.succeed(0))),
66
+ withDecodingDefaultType: S.Number.pipe(S.withDecodingDefaultType(Effect.succeed(0)))
67
+ });
68
+ /**
69
+ * Like the default Schema `Finite` but with `withDefault` => 0
70
+ */
71
+ export const Finite = Object.assign(S.Finite, {
72
+ withDefault: S.Finite.pipe(S.withConstructorDefault(Effect.succeed(0))),
73
+ withDecodingDefaultType: S.Finite.pipe(S.withDecodingDefaultType(Effect.succeed(0)))
74
+ });
34
75
  /**
35
- * Like the default Schema `Literal` but with `withDefault` => literals[0]
76
+ * Like the default Schema `Literals` but with `withDefault` => literals[0]
36
77
  */
37
- export const Literal = (...literals) => pipe(S.Literals(literals), (s) => Object.assign(s, {
78
+ export const Literals = (literals) => pipe(S.Literals(literals), (s) => Object.assign(s, {
38
79
  changeDefault: (a) => {
39
80
  return Object.assign(S.Literals(literals), {
40
81
  Default: a,
41
- withDefault: s.pipe(withDefaultConstructor(() => a))
82
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(a))),
83
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(a)))
42
84
  }); // todo: copy annotations from original?
43
85
  },
86
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- load-bearing: Object.assign widens the field type without it, breaking `expectTypeOf(l.Default).toEqualTypeOf<"a">()` in tests
44
87
  Default: literals[0],
45
- withDefault: s.pipe(withDefaultConstructor(() => literals[0]))
88
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(literals[0]))),
89
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(literals[0])))
46
90
  }));
47
91
  /**
48
92
  * Like the default Schema `Array` but with `withDefault` => []
49
93
  */
50
94
  export function Array(value) {
51
- return pipe(S.Array(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => [])) }));
95
+ return pipe(S.Array(value).annotate(concurrencyUnbounded), (s) => Object.assign(s, {
96
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => []))),
97
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => [])))
98
+ }));
52
99
  }
53
100
  /**
54
- * Like the default Schema `Map` but with `withDefault` => []
101
+ * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
55
102
  */
56
- function Map_(input) {
57
- return pipe(S.ReadonlyMap(input.key, input.value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new global.Map())) }));
58
- }
59
- export { Map_ as Map };
103
+ export const ReadonlySetFromArray = (value) => {
104
+ const from = S
105
+ .Array(value)
106
+ .annotate({ ...concurrencyUnbounded, expected: "an array of unique items that will be decoded as a ReadonlySet" });
107
+ const to = S.instanceOf(Set);
108
+ const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
109
+ decode: (arr) => new Set(arr),
110
+ encode: (set) => [...set]
111
+ })));
112
+ return schema;
113
+ };
114
+ /**
115
+ * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
116
+ */
117
+ export const ReadonlyMapFromArray = (pair) => {
118
+ const from = S
119
+ .Array(S.Tuple([pair.key, pair.value]))
120
+ .annotate({
121
+ ...concurrencyUnbounded,
122
+ expected: "an array of key-value tuples that will be decoded as a ReadonlyMap"
123
+ });
124
+ const to = S.instanceOf(Map);
125
+ const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
126
+ decode: (arr) => new Map(arr),
127
+ encode: (map) => [...map.entries()] // fu
128
+ })));
129
+ return schema;
130
+ };
60
131
  /**
61
- * Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
132
+ * Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
62
133
  */
63
- export const ReadonlySet = (value) => pipe(S.ReadonlySet(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Set())) }));
134
+ export const ReadonlySet = (value) => pipe(ReadonlySetFromArray(value), (s) => Object.assign(s, {
135
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new Set()))),
136
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new Set())))
137
+ }));
64
138
  /**
65
- * Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
139
+ * Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
66
140
  */
67
- export const ReadonlyMap = (pair) => pipe(S.ReadonlyMap(pair.key, pair.value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Map())) }));
141
+ export const ReadonlyMap = (pair) => pipe(ReadonlyMapFromArray(pair), (s) => Object.assign(s, {
142
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new Map()))),
143
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new Map())))
144
+ }));
68
145
  /**
69
146
  * Like the default Schema `NullOr` but with `withDefault` => null
70
147
  */
71
- export const NullOr = (self) => pipe(S.NullOr(self), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => null)) }));
72
- export const defaultDate = (schema) => schema.pipe(withDefaultConstructor(() => new global.Date()));
73
- export const defaultBool = (schema) => schema.pipe(withDefaultConstructor(() => false));
74
- export const defaultNullable = (schema) => schema.pipe(withDefaultConstructor(() => null));
75
- export const defaultArray = (schema) => schema.pipe(withDefaultConstructor(() => []));
76
- export const defaultMap = (schema) => schema.pipe(withDefaultConstructor(() => new Map()));
77
- export const defaultSet = (schema) => schema.pipe(withDefaultConstructor(() => new Set()));
148
+ export const NullOr = (self) => pipe(S.NullOr(self), (s) => Object.assign(s, {
149
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(null))),
150
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(null)))
151
+ }));
152
+ export const defaultDate = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date())));
153
+ export const defaultBool = (schema) => schema.pipe(S.withConstructorDefault(Effect.succeed(false)));
154
+ export const defaultNullable = (schema) => schema.pipe(S.withConstructorDefault(Effect.succeed(null)));
155
+ export const defaultArray = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => [])));
156
+ export const defaultMap = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new Map())));
157
+ export const defaultSet = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new Set())));
78
158
  export const withDefaultMake = (s) => {
79
159
  const a = Object.assign(S.decodeSync(s), s);
80
160
  Object.setPrototypeOf(a, s);
@@ -93,7 +173,10 @@ export const withDefaultMake = (s) => {
93
173
  // }[keyof P[B.BrandTypeId]]
94
174
  // export type UnionToIntersection3<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I
95
175
  // : never
96
- export const inputDate = extendM(S.Union([S.DateValid, S.Date]), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => new globalThis.Date())) }));
176
+ export const inputDate = extendM(S.Union([S.DateValid, Date]), (s) => ({
177
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new globalThis.Date()))),
178
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new globalThis.Date())))
179
+ }));
97
180
  // TODO: v4 migration — makeOpt used internal PropertySignature types that are removed in v4
98
181
  // Simplified to use v4's S.optional / S.optionalKey directly
99
182
  export function makeOptional(t) {
@@ -115,22 +198,15 @@ export const transformTo = (from, to, decode) => from.pipe(S.decodeTo(to, Schema
115
198
  })));
116
199
  /** A version of transformOrFail which is only a one way mapping of From->To */
117
200
  export const transformToOrFail = (from, to, decode) => from.pipe(S.decodeTo(to, SchemaTransformation.transformOrFail({
118
- decode: decode,
201
+ decode,
119
202
  encode: (i) => Effect.fail(new SchemaIssue.Forbidden(Option.some(i), { message: "One way schema transformation, encoding is not allowed" }))
120
203
  })));
121
- // TODO: v4 migration — S.declare API changed (no [self] + decode/encode pattern)
122
- // Need to find v4 equivalent for contextual schema wrapping
123
- export const provide = (self, context) => {
204
+ export const provide = Function.dual(2, (self, context) => {
124
205
  const prov = Effect.provide(context);
125
- return S
126
- .declare((_u) => true) // placeholder — needs proper v4 declare
127
- .pipe(S.decodeTo(self, SchemaTransformation.transformOrFail({
128
- decode: (n) => prov(SchemaParser.decodeUnknownEffect(self)(n)),
129
- encode: (n) => prov(SchemaParser.encodeUnknownEffect(self)(n))
130
- })));
131
- };
132
- // TODO: v4 migration — ServiceMap.pick and S.declare pattern removed
133
- export const contextFromServices = (_self, ..._services) => {
134
- throw new Error("contextFromServices: not yet migrated to v4");
135
- };
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFrQixZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBbUIsTUFBTSxRQUFRLENBQUE7QUFDckosT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHbEQsMkZBQTJGO0FBQzNGLHFHQUFxRztBQUNyRyx1R0FBdUc7QUFDdkcsNEdBQTRHO0FBQzVHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLFdBQTZCLEVBQzdCLEVBQUUsQ0FDSixDQUFxQixJQUFVLEVBQWdFLEVBQUU7SUFFL0YsT0FBTyxDQUFDLENBQUMsc0JBQXNCLENBQzdCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUErQixDQUFDLENBQzlELENBQUMsSUFBZ0IsQ0FBQyxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVELHVFQUF1RTtBQUN2RSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFO0lBQzNCLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Q0FDdkQsQ0FBQyxDQUNILENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxD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
206
+ return self.pipe(S.middlewareDecoding((effect) => prov(effect)), S.middlewareEncoding((effect) => prov(effect)));
207
+ });
208
+ export const contextFromServices = Effect.fnUntraced(function* (self, ...services) {
209
+ const context = Context.pick(...services)(yield* Effect.context());
210
+ return provide(self, context);
211
+ });
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFrQixXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDMUcsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVVsRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUE7QUFDdkY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQVcsQ0FBQTtBQUlsRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUFjLEVBQ2QsbUJBQW1CLEdBQTJCLG1CQUFtQixFQUN6RCxFQUFFLENBQ1YsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO0lBQ2YsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFCLE9BQU8sQ0FBQyxLQUFVLEVBQUUsT0FBZ0MsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQzdHLENBQUMsQ0FBVyxDQUFBO0FBRWQsdUVBQXVFO0FBRXZFLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ25DLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSw0REFBNEQ7SUFDekUsTUFBTSxFQUFFLFdBQVc7Q0FDcEIsQ0FBQyxDQUFBO0FBVUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBbUIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtBQUV0SDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtJQUNoRCxXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEcsdUJBQXVCLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDOUcsQ0FBQyxDQUFBO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7SUFDaEUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQzlHLENBQUMsQ0FBQTtBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUM5QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1RSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0NBQzFGLENBQUMsQ0FBQTtBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDNUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNyRixDQUFDLENBQUE7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDNUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLE1B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