effect-app 4.0.0-beta.2 → 4.0.0-beta.200

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 (224) hide show
  1. package/CHANGELOG.md +960 -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 +7 -6
  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/Option.d.ts +1 -1
  31. package/dist/Option.d.ts.map +1 -1
  32. package/dist/Pure.d.ts +5 -5
  33. package/dist/Pure.d.ts.map +1 -1
  34. package/dist/Pure.js +13 -13
  35. package/dist/Schema/Class.d.ts +66 -20
  36. package/dist/Schema/Class.d.ts.map +1 -1
  37. package/dist/Schema/Class.js +189 -22
  38. package/dist/Schema/FastCheck.d.ts +1 -1
  39. package/dist/Schema/FastCheck.d.ts.map +1 -1
  40. package/dist/Schema/Methods.d.ts +1 -1
  41. package/dist/Schema/SchemaParser.d.ts +5 -0
  42. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  43. package/dist/Schema/SchemaParser.js +6 -0
  44. package/dist/Schema/SpecialJsonSchema.d.ts +33 -0
  45. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  46. package/dist/Schema/SpecialJsonSchema.js +122 -0
  47. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  48. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  49. package/dist/Schema/SpecialOpenApi.js +123 -0
  50. package/dist/Schema/brand.d.ts +14 -6
  51. package/dist/Schema/brand.d.ts.map +1 -1
  52. package/dist/Schema/brand.js +1 -1
  53. package/dist/Schema/email.d.ts +1 -1
  54. package/dist/Schema/email.d.ts.map +1 -1
  55. package/dist/Schema/email.js +9 -5
  56. package/dist/Schema/ext.d.ts +121 -48
  57. package/dist/Schema/ext.d.ts.map +1 -1
  58. package/dist/Schema/ext.js +134 -52
  59. package/dist/Schema/moreStrings.d.ts +117 -17
  60. package/dist/Schema/moreStrings.d.ts.map +1 -1
  61. package/dist/Schema/moreStrings.js +19 -18
  62. package/dist/Schema/numbers.d.ts +127 -15
  63. package/dist/Schema/numbers.d.ts.map +1 -1
  64. package/dist/Schema/numbers.js +10 -12
  65. package/dist/Schema/phoneNumber.d.ts +1 -1
  66. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  67. package/dist/Schema/phoneNumber.js +8 -4
  68. package/dist/Schema/schema.d.ts +1 -1
  69. package/dist/Schema/strings.d.ts +37 -5
  70. package/dist/Schema/strings.d.ts.map +1 -1
  71. package/dist/Schema/strings.js +1 -5
  72. package/dist/Schema.d.ts +159 -58
  73. package/dist/Schema.d.ts.map +1 -1
  74. package/dist/Schema.js +136 -68
  75. package/dist/Set.d.ts +1 -1
  76. package/dist/Set.d.ts.map +1 -1
  77. package/dist/TypeTest.d.ts +1 -1
  78. package/dist/Types.d.ts +1 -1
  79. package/dist/Widen.type.d.ts +1 -1
  80. package/dist/_ext/Array.d.ts +1 -1
  81. package/dist/_ext/Array.d.ts.map +1 -1
  82. package/dist/_ext/date.d.ts +1 -1
  83. package/dist/_ext/misc.d.ts +1 -1
  84. package/dist/_ext/ord.ext.d.ts +1 -1
  85. package/dist/_ext/ord.ext.d.ts.map +1 -1
  86. package/dist/builtin.d.ts +1 -1
  87. package/dist/builtin.d.ts.map +1 -1
  88. package/dist/client/InvalidationKeys.d.ts +29 -0
  89. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  90. package/dist/client/InvalidationKeys.js +33 -0
  91. package/dist/client/apiClientFactory.d.ts +18 -32
  92. package/dist/client/apiClientFactory.d.ts.map +1 -1
  93. package/dist/client/apiClientFactory.js +98 -36
  94. package/dist/client/clientFor.d.ts +51 -17
  95. package/dist/client/clientFor.d.ts.map +1 -1
  96. package/dist/client/clientFor.js +9 -1
  97. package/dist/client/errors.d.ts +49 -25
  98. package/dist/client/errors.d.ts.map +1 -1
  99. package/dist/client/errors.js +43 -17
  100. package/dist/client/makeClient.d.ts +468 -32
  101. package/dist/client/makeClient.d.ts.map +1 -1
  102. package/dist/client/makeClient.js +61 -34
  103. package/dist/client.d.ts +2 -1
  104. package/dist/client.d.ts.map +1 -1
  105. package/dist/client.js +2 -1
  106. package/dist/faker.d.ts +1 -1
  107. package/dist/faker.d.ts.map +1 -1
  108. package/dist/http/Request.d.ts +2 -2
  109. package/dist/http/Request.d.ts.map +1 -1
  110. package/dist/http/Request.js +5 -5
  111. package/dist/http/internal/lib.d.ts +1 -1
  112. package/dist/http.d.ts +1 -1
  113. package/dist/ids.d.ts +9 -9
  114. package/dist/ids.d.ts.map +1 -1
  115. package/dist/ids.js +3 -2
  116. package/dist/index.d.ts +5 -9
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +6 -9
  119. package/dist/logger.d.ts +1 -1
  120. package/dist/middleware.d.ts +16 -9
  121. package/dist/middleware.d.ts.map +1 -1
  122. package/dist/middleware.js +13 -9
  123. package/dist/rpc/Invalidation.d.ts +397 -0
  124. package/dist/rpc/Invalidation.d.ts.map +1 -0
  125. package/dist/rpc/Invalidation.js +150 -0
  126. package/dist/rpc/MiddlewareMaker.d.ts +6 -5
  127. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  128. package/dist/rpc/MiddlewareMaker.js +51 -28
  129. package/dist/rpc/RpcContextMap.d.ts +3 -3
  130. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  131. package/dist/rpc/RpcContextMap.js +4 -4
  132. package/dist/rpc/RpcMiddleware.d.ts +6 -5
  133. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  134. package/dist/rpc/RpcMiddleware.js +1 -1
  135. package/dist/rpc.d.ts +2 -2
  136. package/dist/rpc.d.ts.map +1 -1
  137. package/dist/rpc.js +2 -2
  138. package/dist/transform.d.ts +1 -1
  139. package/dist/transform.d.ts.map +1 -1
  140. package/dist/transform.js +3 -3
  141. package/dist/utils/effectify.d.ts +1 -1
  142. package/dist/utils/extend.d.ts +1 -1
  143. package/dist/utils/extend.d.ts.map +1 -1
  144. package/dist/utils/gen.d.ts +2 -2
  145. package/dist/utils/gen.d.ts.map +1 -1
  146. package/dist/utils/logLevel.d.ts +2 -2
  147. package/dist/utils/logLevel.d.ts.map +1 -1
  148. package/dist/utils/logger.d.ts +3 -3
  149. package/dist/utils/logger.d.ts.map +1 -1
  150. package/dist/utils/logger.js +3 -3
  151. package/dist/utils.d.ts +48 -10
  152. package/dist/utils.d.ts.map +1 -1
  153. package/dist/utils.js +33 -8
  154. package/dist/validation/validators.d.ts +1 -1
  155. package/dist/validation/validators.d.ts.map +1 -1
  156. package/dist/validation.d.ts +1 -1
  157. package/dist/validation.d.ts.map +1 -1
  158. package/package.json +46 -28
  159. package/src/Config/SecretURL.ts +2 -1
  160. package/src/Config.ts +14 -0
  161. package/src/ConfigProvider.ts +48 -0
  162. package/src/{ServiceMap.ts → Context.ts} +58 -64
  163. package/src/Effect.ts +12 -14
  164. package/src/Layer.ts +6 -5
  165. package/src/Pure.ts +17 -18
  166. package/src/Schema/Class.ts +268 -62
  167. package/src/Schema/SchemaParser.ts +12 -0
  168. package/src/Schema/SpecialJsonSchema.ts +137 -0
  169. package/src/Schema/SpecialOpenApi.ts +130 -0
  170. package/src/Schema/brand.ts +21 -7
  171. package/src/Schema/email.ts +10 -3
  172. package/src/Schema/ext.ts +226 -86
  173. package/src/Schema/moreStrings.ts +37 -32
  174. package/src/Schema/numbers.ts +14 -16
  175. package/src/Schema/phoneNumber.ts +8 -2
  176. package/src/Schema/strings.ts +4 -8
  177. package/src/Schema.ts +350 -107
  178. package/src/client/InvalidationKeys.ts +50 -0
  179. package/src/client/apiClientFactory.ts +227 -136
  180. package/src/client/clientFor.ts +86 -29
  181. package/src/client/errors.ts +61 -26
  182. package/src/client/makeClient.ts +530 -80
  183. package/src/client.ts +1 -0
  184. package/src/http/Request.ts +7 -4
  185. package/src/ids.ts +3 -2
  186. package/src/index.ts +5 -11
  187. package/src/middleware.ts +12 -10
  188. package/src/rpc/Invalidation.ts +221 -0
  189. package/src/rpc/MiddlewareMaker.ts +61 -51
  190. package/src/rpc/README.md +2 -2
  191. package/src/rpc/RpcContextMap.ts +6 -5
  192. package/src/rpc/RpcMiddleware.ts +6 -5
  193. package/src/rpc.ts +1 -1
  194. package/src/transform.ts +2 -2
  195. package/src/utils/gen.ts +1 -1
  196. package/src/utils/logger.ts +2 -2
  197. package/src/utils.ts +73 -15
  198. package/test/dist/moreStrings.test.d.ts.map +1 -0
  199. package/test/dist/rpc.test.d.ts.map +1 -1
  200. package/test/dist/secretURL.test.d.ts.map +1 -0
  201. package/test/dist/special.test.d.ts.map +1 -0
  202. package/test/moreStrings.test.ts +17 -0
  203. package/test/rpc.test.ts +38 -6
  204. package/test/schema.test.ts +609 -4
  205. package/test/secretURL.test.ts +157 -0
  206. package/test/special.test.ts +1023 -0
  207. package/test/utils.test.ts +6 -6
  208. package/tsconfig.base.json +3 -4
  209. package/tsconfig.json +0 -1
  210. package/tsconfig.json.bak +2 -2
  211. package/tsconfig.src.json +29 -29
  212. package/tsconfig.test.json +2 -2
  213. package/dist/Operations.d.ts +0 -87
  214. package/dist/Operations.d.ts.map +0 -1
  215. package/dist/Operations.js +0 -29
  216. package/dist/ServiceMap.d.ts +0 -44
  217. package/dist/ServiceMap.d.ts.map +0 -1
  218. package/dist/ServiceMap.js +0 -91
  219. package/dist/Struct.d.ts +0 -44
  220. package/dist/Struct.d.ts.map +0 -1
  221. package/dist/Struct.js +0 -29
  222. package/eslint.config.mjs +0 -26
  223. package/src/Operations.ts +0 -55
  224. package/src/Struct.ts +0 -54
@@ -1,80 +1,166 @@
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 { Config, 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);
8
+ const concurrencySetting = Effect.runSync(Config
9
+ .literal("unbounded", "SCHEMA_CONCURRENCY")
10
+ .pipe(Config.orElse(() => Config.number("SCHEMA_CONCURRENCY")), Config.option)
11
+ .asEffect());
12
+ export const DefaultParseOptions = {
13
+ concurrency: Option.getOrElse(concurrencySetting, () => "unbounded")
12
14
  };
15
+ /**
16
+ * Parse-options annotation used on schema constructors for decode paths where callers
17
+ * cannot currently pass parse options (notably some RPC / HttpApi integration paths).
18
+ *
19
+ * Keep this annotation in place so those framework-managed decodes still run with
20
+ * unbounded concurrency by default.
21
+ */
22
+ export const concurrencyUnbounded = { parseOptions: DefaultParseOptions };
23
+ export const withDefaultParseOptions = (decode, defaultParseOptions = DefaultParseOptions) => ((schema) => {
24
+ const run = decode(schema);
25
+ return (input, options) => run(input, { ...defaultParseOptions, ...options });
26
+ });
13
27
  // 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
- }));
28
+ const DateString = S.String.annotate({
29
+ identifier: "Date",
30
+ description: "a string in ISO 8601 format that will be decoded as a Date",
31
+ format: "date-time"
32
+ });
33
+ /**
34
+ * A transformation schema that parses an ISO 8601 string into a `Date`.
35
+ *
36
+ * Decoding:
37
+ * - A `string` is decoded as a `Date`.
38
+ *
39
+ * Encoding:
40
+ * - A `Date` is encoded as a `string`.
41
+ *
42
+ * @since 4.0.0
43
+ */
44
+ export const DateFromString = DateString.pipe(S.decodeTo(S.Date, SchemaTransformation.dateFromString));
18
45
  /**
19
46
  * Like the default Schema `Date` but from String with `withDefault` => now
20
47
  */
21
48
  export const Date = Object.assign(DateFromString, {
22
- withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
49
+ withDefault: DateFromString.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date()))),
50
+ withDecodingDefaultType: DateFromString.pipe(S.withDecodingDefaultType(Effect.sync(() => new global.Date())))
51
+ });
52
+ /**
53
+ * Like the default Schema `DateValid` but from String with `withDefault` => now
54
+ */
55
+ export const DateValid = Object.assign(Date.check(isDateValid()), {
56
+ withDefault: DateFromString.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date()))),
57
+ withDecodingDefaultType: DateFromString.pipe(S.withDecodingDefaultType(Effect.sync(() => new global.Date())))
23
58
  });
24
59
  /**
25
60
  * Like the default Schema `Boolean` but with `withDefault` => false
26
61
  */
27
62
  export const Boolean = Object.assign(S.Boolean, {
28
- withDefault: S.Boolean.pipe(withDefaultConstructor(() => false))
63
+ withDefault: S.Boolean.pipe(S.withConstructorDefault(Effect.succeed(false))),
64
+ withDecodingDefaultType: S.Boolean.pipe(S.withDecodingDefaultType(Effect.succeed(false)))
29
65
  });
30
66
  /**
67
+ * You probably want to use `Finite` instead of this.
31
68
  * Like the default Schema `Number` but with `withDefault` => 0
32
69
  */
33
- export const Number = Object.assign(S.Number, { withDefault: S.Number.pipe(withDefaultConstructor(() => 0)) });
70
+ export const Number = Object.assign(S.Number, {
71
+ withDefault: S.Number.pipe(S.withConstructorDefault(Effect.succeed(0))),
72
+ withDecodingDefaultType: S.Number.pipe(S.withDecodingDefaultType(Effect.succeed(0)))
73
+ });
34
74
  /**
35
- * Like the default Schema `Literal` but with `withDefault` => literals[0]
75
+ * Like the default Schema `Finite` but with `withDefault` => 0
36
76
  */
37
- export const Literal = (...literals) => pipe(S.Literals(literals), (s) => Object.assign(s, {
77
+ export const Finite = Object.assign(S.Finite, {
78
+ withDefault: S.Finite.pipe(S.withConstructorDefault(Effect.succeed(0))),
79
+ withDecodingDefaultType: S.Finite.pipe(S.withDecodingDefaultType(Effect.succeed(0)))
80
+ });
81
+ /**
82
+ * Like the default Schema `Literals` but with `withDefault` => literals[0]
83
+ */
84
+ export const Literals = (literals) => pipe(S.Literals(literals), (s) => Object.assign(s, {
38
85
  changeDefault: (a) => {
39
86
  return Object.assign(S.Literals(literals), {
40
87
  Default: a,
41
- withDefault: s.pipe(withDefaultConstructor(() => a))
88
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(a))),
89
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(a)))
42
90
  }); // todo: copy annotations from original?
43
91
  },
92
+ // 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
93
  Default: literals[0],
45
- withDefault: s.pipe(withDefaultConstructor(() => literals[0]))
94
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(literals[0]))),
95
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(literals[0])))
46
96
  }));
47
97
  /**
48
98
  * Like the default Schema `Array` but with `withDefault` => []
49
99
  */
50
100
  export function Array(value) {
51
- return pipe(S.Array(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => [])) }));
101
+ return pipe(S.Array(value).annotate(concurrencyUnbounded), (s) => Object.assign(s, {
102
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => []))),
103
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => [])))
104
+ }));
52
105
  }
53
106
  /**
54
- * Like the default Schema `Map` but with `withDefault` => []
107
+ * An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
55
108
  */
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 };
109
+ export const ReadonlySetFromArray = (value) => {
110
+ const from = S
111
+ .Array(value)
112
+ .annotate({ ...concurrencyUnbounded, expected: "an array of unique items that will be decoded as a ReadonlySet" });
113
+ const to = S.instanceOf(Set);
114
+ const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
115
+ decode: (arr) => new Set(arr),
116
+ encode: (set) => [...set]
117
+ })));
118
+ return schema;
119
+ };
120
+ /**
121
+ * An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
122
+ */
123
+ export const ReadonlyMapFromArray = (pair) => {
124
+ const from = S
125
+ .Array(S.Tuple([pair.key, pair.value]))
126
+ .annotate({
127
+ ...concurrencyUnbounded,
128
+ expected: "an array of key-value tuples that will be decoded as a ReadonlyMap"
129
+ });
130
+ const to = S.instanceOf(Map);
131
+ const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
132
+ decode: (arr) => new Map(arr),
133
+ encode: (map) => [...map.entries()] // fu
134
+ })));
135
+ return schema;
136
+ };
60
137
  /**
61
- * Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
138
+ * Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
62
139
  */
63
- export const ReadonlySet = (value) => pipe(S.ReadonlySet(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Set())) }));
140
+ export const ReadonlySet = (value) => pipe(ReadonlySetFromArray(value), (s) => Object.assign(s, {
141
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new Set()))),
142
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new Set())))
143
+ }));
64
144
  /**
65
- * Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
145
+ * Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
66
146
  */
67
- export const ReadonlyMap = (pair) => pipe(S.ReadonlyMap(pair.key, pair.value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Map())) }));
147
+ export const ReadonlyMap = (pair) => pipe(ReadonlyMapFromArray(pair), (s) => Object.assign(s, {
148
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new Map()))),
149
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new Map())))
150
+ }));
68
151
  /**
69
152
  * Like the default Schema `NullOr` but with `withDefault` => null
70
153
  */
71
- export const NullOr = (self) => pipe(S.NullOr(self), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => null)) }));
72
- export const defaultDate = (s) => s.pipe(withDefaultConstructor(() => new global.Date()));
73
- export const defaultBool = (s) => s.pipe(withDefaultConstructor(() => false));
74
- export const defaultNullable = (s) => s.pipe(withDefaultConstructor(() => null));
75
- export const defaultArray = (s) => s.pipe(withDefaultConstructor(() => []));
76
- export const defaultMap = (s) => s.pipe(withDefaultConstructor(() => new Map()));
77
- export const defaultSet = (s) => s.pipe(withDefaultConstructor(() => new Set()));
154
+ export const NullOr = (self) => pipe(S.NullOr(self), (s) => Object.assign(s, {
155
+ withDefault: s.pipe(S.withConstructorDefault(Effect.succeed(null))),
156
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.succeed(null)))
157
+ }));
158
+ export const defaultDate = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new global.Date())));
159
+ export const defaultBool = (schema) => schema.pipe(S.withConstructorDefault(Effect.succeed(false)));
160
+ export const defaultNullable = (schema) => schema.pipe(S.withConstructorDefault(Effect.succeed(null)));
161
+ export const defaultArray = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => [])));
162
+ export const defaultMap = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new Map())));
163
+ export const defaultSet = (schema) => schema.pipe(S.withConstructorDefault(Effect.sync(() => new Set())));
78
164
  export const withDefaultMake = (s) => {
79
165
  const a = Object.assign(S.decodeSync(s), s);
80
166
  Object.setPrototypeOf(a, s);
@@ -93,7 +179,10 @@ export const withDefaultMake = (s) => {
93
179
  // }[keyof P[B.BrandTypeId]]
94
180
  // export type UnionToIntersection3<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I
95
181
  // : never
96
- export const inputDate = extendM(S.Union([S.DateValid, S.Date]), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => new globalThis.Date())) }));
182
+ export const inputDate = extendM(S.Union([S.DateValid, Date]), (s) => ({
183
+ withDefault: s.pipe(S.withConstructorDefault(Effect.sync(() => new globalThis.Date()))),
184
+ withDecodingDefaultType: s.pipe(S.withDecodingDefaultType(Effect.sync(() => new globalThis.Date())))
185
+ }));
97
186
  // TODO: v4 migration — makeOpt used internal PropertySignature types that are removed in v4
98
187
  // Simplified to use v4's S.optional / S.optionalKey directly
99
188
  export function makeOptional(t) {
@@ -115,22 +204,15 @@ export const transformTo = (from, to, decode) => from.pipe(S.decodeTo(to, Schema
115
204
  })));
116
205
  /** A version of transformOrFail which is only a one way mapping of From->To */
117
206
  export const transformToOrFail = (from, to, decode) => from.pipe(S.decodeTo(to, SchemaTransformation.transformOrFail({
118
- decode: decode,
207
+ decode,
119
208
  encode: (i) => Effect.fail(new SchemaIssue.Forbidden(Option.some(i), { message: "One way schema transformation, encoding is not allowed" }))
120
209
  })));
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) => {
210
+ export const provide = Function.dual(2, (self, context) => {
124
211
  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFrQixZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBbUIsTUFBTSxRQUFRLENBQUE7QUFDckosT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHbEQsMkZBQTJGO0FBQzNGLHFHQUFxRztBQUNyRyx1R0FBdUc7QUFDdkcsNEdBQTRHO0FBQzVHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLFdBQTZCLEVBQzdCLEVBQUUsQ0FDSixDQUFxQixJQUFVLEVBQWdFLEVBQUU7SUFFL0YsT0FBTyxDQUFDLENBQUMsc0JBQXNCLENBQzdCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUErQixDQUFDLENBQzlELENBQUMsSUFBZ0IsQ0FBQyxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVELHVFQUF1RTtBQUN2RSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFO0lBQzNCLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Q0FDdkQsQ0FBQyxDQUNILENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtJQUNoRCxXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FBQTtBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUM5QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7Q0FDakUsQ0FBQyxDQUFBO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBRTlHOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQTJELEdBQUcsUUFBa0IsRUFBRSxFQUFFLENBQ3pHLElBQUksQ0FDRixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7SUFDZixhQUFhLEVBQUUsQ0FBNkIsQ0FBSSxFQUFFLEVBQUU7UUFDbEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekMsT0FBTyxFQUFFLENBQUM7WUFDVixXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRCxDQUFDLENBQUEsQ0FBQyx3Q0FBd0M7SUFDN0MsQ0FBQztJQUNELE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUF1QjtJQUMxQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUMvRCxDQUFDLENBQ0wsQ0FBQTtBQUVIOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBc0IsS0FBWTtJQUNyRCxPQUFPLElBQUksQ0FDVCxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNkLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNuRixDQUFBO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxJQUFJLENBQXlDLEtBQWlDO0lBQ3JGLE9BQU8sSUFBSSxDQUNULENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ2pHLENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQTtBQUV0Qjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFzQixLQUFZLEVBQUUsRUFBRSxDQUMvRCxJQUFJLENBQ0YsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQXdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDaEgsQ0FBQTtBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQW1DLElBRzdELEVBQUUsRUFBRSxDQUNILElBQUksQ0FDRixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNuQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzFGLENBQUE7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFrQixJQUFPLEVBQUUsRUFBRSxDQUNqRCxJQUFJLENBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDZCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckYsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFaEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFFcEYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLENBQVEsRUFDUixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRWxGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUV2RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFdkYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQXFCLENBQU8sRUFBRSxFQUFFO0lBQzdELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFRLENBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0IsT0FBTyxDQUFDLENBQUE7SUFFUix3Q0FBd0M7QUFDMUMsQ0FBQyxDQUFBO0FBT0QsK0RBQStEO0FBQy9ELGtEQUFrRDtBQUNsRCx5RUFBeUU7QUFDekUsSUFBSTtBQUVKLCtDQUErQztBQUMvQyxpRUFBaUU7QUFDakUsNkJBQTZCO0FBQzdCLFFBQVE7QUFDUixjQUFjO0FBQ2QsNEJBQTRCO0FBQzVCLG9IQUFvSDtBQUNwSCxZQUFZO0FBRVosTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FDOUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDdEYsQ0FBQTtBQUlELDRGQUE0RjtBQUM1Riw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLFlBQVksQ0FDMUIsQ0FBTTtJQUlOLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFRLENBQUMsQ0FBQTtRQUNyQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLENBQU07SUFJTixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBUSxDQUFDLENBQUE7UUFDeEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUE7QUFDZixDQUFDO0FBRUQseUVBQXlFO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixJQUFVLEVBQ1YsRUFBTSxFQUNOLE1BR2tCLEVBQ2xCLEVBQUUsQ0FDRixJQUFJLENBQUMsSUFBSSxDQUNQLENBQUMsQ0FBQyxRQUFRLENBQ1IsRUFBRSxFQUNGLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztJQUNuQyxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0UsTUFBTSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLElBQUksQ0FDVCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ2QsRUFBRSxPQUFPLEVBQUUsd0RBQXdELEVBQUUsQ0FDdEUsQ0FDRjtDQUNKLENBQVEsQ0FDVixDQUNGLENBQUE7QUFFSCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsSUFBVSxFQUNWLEVBQU0sRUFDTixNQUd3RCxFQUN4RCxFQUFFLENBQ0YsSUFBSSxDQUFDLElBQUksQ0FDUCxDQUFDLENBQUMsUUFBUSxDQUNSLEVBQUUsRUFDRixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7SUFDbkMsTUFBTSxFQUFFLE1BQWE7SUFDckIsTUFBTSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLElBQUksQ0FDVCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ2QsRUFBRSxPQUFPLEVBQUUsd0RBQXdELEVBQUUsQ0FDdEUsQ0FDRjtDQUNKLENBQVEsQ0FDVixDQUNGLENBQUE7QUFFSCxpRkFBaUY7QUFDakYsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUNyQixJQUFVLEVBQ1YsT0FBaUMsRUFDNUIsRUFBRTtJQUNQLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEMsT0FBTyxDQUFDO1NBQ0wsT0FBTyxDQUFDLENBQUMsRUFBVyxFQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsd0NBQXdDO1NBQ3RGLElBQUksQ0FDSCxDQUFDLENBQUMsUUFBUSxDQUNSLElBQUksRUFDSixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFDbkMsTUFBTSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNwRSxDQUFRLENBQ0gsQ0FDVCxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBQ0QscUVBQXFFO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLEtBQVcsRUFDWCxHQUFHLFNBQWUsRUFDYixFQUFFO0lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO0FBQ2hFLENBQUMsQ0FBQSJ9
212
+ return self.pipe(S.middlewareDecoding((effect) => prov(effect)), S.middlewareEncoding((effect) => prov(effect)));
213
+ });
214
+ export const contextFromServices = Effect.fnUntraced(function* (self, ...services) {
215
+ const context = Context.pick(...services)(yield* Effect.context());
216
+ return provide(self, context);
217
+ });
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBa0IsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ2xILE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFVbEQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUN2QyxNQUFNO0tBQ0gsT0FBTyxDQUFDLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQztLQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQzdFLFFBQVEsRUFBRSxDQUNkLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkI7SUFDekQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBb0IsQ0FBQztDQUM5RSxDQUFBO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQVcsQ0FBQTtBQUlsRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUFjLEVBQ2QsbUJBQW1CLEdBQTJCLG1CQUFtQixFQUN6RCxFQUFF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
@@ -15,7 +15,15 @@ export type NonEmptyString50 = string & NonEmptyString50Brand;
15
15
  /**
16
16
  * A string that is at least 1 character long and a maximum of 50.
17
17
  */
18
- export declare const NonEmptyString50: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100">;
18
+ export declare const NonEmptyString50: WithDefaults<Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
19
+ readonly Type: NonEmptyString50;
20
+ readonly Iso: NonEmptyString50;
21
+ readonly "~type.make": NonEmptyString50;
22
+ }> & Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
23
+ readonly Type: NonEmptyString50;
24
+ readonly Iso: NonEmptyString50;
25
+ readonly "~type.make": NonEmptyString50;
26
+ };
19
27
  /**
20
28
  * A string that is at least 1 character long and a maximum of 64.
21
29
  */
@@ -28,7 +36,15 @@ export type NonEmptyString64 = string & NonEmptyString64Brand;
28
36
  /**
29
37
  * A string that is at least 1 character long and a maximum of 64.
30
38
  */
31
- export declare const NonEmptyString64: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100">;
39
+ export declare const NonEmptyString64: WithDefaults<Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
40
+ readonly Type: NonEmptyString64;
41
+ readonly Iso: NonEmptyString64;
42
+ readonly "~type.make": NonEmptyString64;
43
+ }> & Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
44
+ readonly Type: NonEmptyString64;
45
+ readonly Iso: NonEmptyString64;
46
+ readonly "~type.make": NonEmptyString64;
47
+ };
32
48
  /**
33
49
  * A string that is at least 1 character long and a maximum of 80.
34
50
  */
@@ -41,7 +57,15 @@ export type NonEmptyString80 = string & NonEmptyString80Brand;
41
57
  /**
42
58
  * A string that is at least 1 character long and a maximum of 80.
43
59
  */
44
- export declare const NonEmptyString80: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString80" | "NonEmptyString100">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString80" | "NonEmptyString100">;
60
+ export declare const NonEmptyString80: WithDefaults<Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
61
+ readonly Type: NonEmptyString80;
62
+ readonly Iso: NonEmptyString80;
63
+ readonly "~type.make": NonEmptyString80;
64
+ }> & Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k" | "NonEmptyString80">, "Iso" | "Type" | "~type.make"> & {
65
+ readonly Type: NonEmptyString80;
66
+ readonly Iso: NonEmptyString80;
67
+ readonly "~type.make": NonEmptyString80;
68
+ };
45
69
  /**
46
70
  * A string that is at least 1 character long and a maximum of 100.
47
71
  */
@@ -54,7 +78,15 @@ export type NonEmptyString100 = string & NonEmptyString100Brand;
54
78
  /**
55
79
  * A string that is at least 1 character long and a maximum of 100.
56
80
  */
57
- export declare const NonEmptyString100: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString100">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString100">;
81
+ export declare const NonEmptyString100: WithDefaults<Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
82
+ readonly Type: NonEmptyString100;
83
+ readonly Iso: NonEmptyString100;
84
+ readonly "~type.make": NonEmptyString100;
85
+ }> & Omit<S.brand<S.NonEmptyString, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
86
+ readonly Type: NonEmptyString100;
87
+ readonly Iso: NonEmptyString100;
88
+ readonly "~type.make": NonEmptyString100;
89
+ };
58
90
  /**
59
91
  * A string that is at least 3 character long and a maximum of 255.
60
92
  */
@@ -67,7 +99,15 @@ export type Min3String255 = string & Min3String255Brand;
67
99
  /**
68
100
  * A string that is at least 3 character long and a maximum of 255.
69
101
  */
70
- export declare const Min3String255: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "Min3String255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "Min3String255">;
102
+ export declare const Min3String255: WithDefaults<Omit<S.brand<S.String, "Min3String255" | "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
103
+ readonly Type: Min3String255;
104
+ readonly Iso: Min3String255;
105
+ readonly "~type.make": Min3String255;
106
+ }> & Omit<S.brand<S.String, "Min3String255" | "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
107
+ readonly Type: Min3String255;
108
+ readonly Iso: Min3String255;
109
+ readonly "~type.make": Min3String255;
110
+ };
71
111
  /**
72
112
  * A string that is at least 6 characters long and a maximum of 50.
73
113
  */
@@ -80,30 +120,90 @@ export type StringId = string & StringIdBrand;
80
120
  /**
81
121
  * A string that is at least 6 characters long and a maximum of 50.
82
122
  */
83
- export declare const StringId: WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
123
+ export declare const StringId: WithDefaults<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
124
+ readonly Type: StringId;
125
+ readonly Iso: StringId;
126
+ readonly "~type.make": StringId;
127
+ } & {
84
128
  make: () => StringId;
85
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
86
- }> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
129
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
130
+ readonly Type: StringId;
131
+ readonly Iso: StringId;
132
+ readonly "~type.make": StringId;
133
+ }>;
134
+ }> & Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
135
+ readonly Type: StringId;
136
+ readonly Iso: StringId;
137
+ readonly "~type.make": StringId;
138
+ } & {
87
139
  make: () => StringId;
88
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & S.WithoutConstructorDefault>;
140
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
141
+ readonly Type: StringId;
142
+ readonly Iso: StringId;
143
+ readonly "~type.make": StringId;
144
+ }>;
89
145
  };
90
- export declare function prefixedStringId<Brand extends StringId>(): <Prefix extends string, Separator extends string = "-">(prefix: Prefix, name: string, separator?: Separator) => WithDefaults<S.Codec<string & Brand, string, never, never>> & S.Codec<string & Brand, string, never, never> & PrefixedStringUtils<Brand, Prefix, Separator>;
91
- export declare const brandedStringId: <Brand extends StringIdBrand>() => WithDefaults<S.Codec<string & Brand, string & Brand, never, never> & {
146
+ export declare function prefixedStringId<Brand extends StringId>(): <Prefix extends string, Separator extends string = "-">(prefix: Prefix, name: string, separator?: Separator) => WithDefaults<S.refine<string & Brand, WithDefaults<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
147
+ readonly Type: StringId;
148
+ readonly Iso: StringId;
149
+ readonly "~type.make": StringId;
150
+ } & {
151
+ make: () => StringId;
152
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
153
+ readonly Type: StringId;
154
+ readonly Iso: StringId;
155
+ readonly "~type.make": StringId;
156
+ }>;
157
+ }> & Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
158
+ readonly Type: StringId;
159
+ readonly Iso: StringId;
160
+ readonly "~type.make": StringId;
161
+ } & {
162
+ make: () => StringId;
163
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
164
+ readonly Type: StringId;
165
+ readonly Iso: StringId;
166
+ readonly "~type.make": StringId;
167
+ }>;
168
+ }>> & S.refine<string & Brand, WithDefaults<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
169
+ readonly Type: StringId;
170
+ readonly Iso: StringId;
171
+ readonly "~type.make": StringId;
172
+ } & {
173
+ make: () => StringId;
174
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
175
+ readonly Type: StringId;
176
+ readonly Iso: StringId;
177
+ readonly "~type.make": StringId;
178
+ }>;
179
+ }> & Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
180
+ readonly Type: StringId;
181
+ readonly Iso: StringId;
182
+ readonly "~type.make": StringId;
183
+ } & {
184
+ make: () => StringId;
185
+ withDefault: S.withConstructorDefault<Omit<S.brand<S.String, "NonEmptyString" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString64k" | "NonEmptyString80" | "StringId">, "Iso" | "Type" | "~type.make"> & {
186
+ readonly Type: StringId;
187
+ readonly Iso: StringId;
188
+ readonly "~type.make": StringId;
189
+ }>;
190
+ }> & PrefixedStringUtils<Brand, Prefix, Separator>;
191
+ export declare const brandedStringId: <Brand extends StringIdBrand>() => WithDefaults<S.Codec<string & Brand, string, never, never> & {
92
192
  make: () => string & Brand;
93
- withDefault: any;
94
- } & WithDefaults<S.Codec<string & Brand, string & Brand, never, never>>> & S.Codec<string & Brand, string & Brand, never, never> & {
193
+ withDefault: S.withConstructorDefault<S.Codec<string & Brand, string> & S.WithoutConstructorDefault>;
194
+ } & WithDefaults<S.Codec<string & Brand, string, never, never>>> & S.Codec<string & Brand, string, never, never> & {
95
195
  make: () => string & Brand;
96
- withDefault: any;
97
- } & WithDefaults<S.Codec<string & Brand, string & Brand, never, never>>;
196
+ withDefault: S.withConstructorDefault<S.Codec<string & Brand, string> & S.WithoutConstructorDefault>;
197
+ } & WithDefaults<S.Codec<string & Brand, string, never, never>>;
98
198
  export interface PrefixedStringUtils<Brand extends StringId, Prefix extends string, Separator extends string> {
99
199
  readonly make: () => Brand;
100
200
  readonly unsafeFrom: (str: string) => Brand;
101
201
  prefixSafe: <REST extends string>(str: `${Prefix}${Separator}${REST}`) => Brand;
102
202
  readonly prefix: Prefix;
103
- readonly withDefault: any;
203
+ readonly withDefault: S.withConstructorDefault<S.Codec<Brand, string> & S.WithoutConstructorDefault>;
104
204
  }
105
205
  export interface UrlBrand extends Simplify<B.Brand<"Url"> & NonEmptyStringBrand> {
106
206
  }
107
207
  export type Url = string & UrlBrand;
108
208
  export declare const Url: WithDefaults<S.refine<Url, S.String>> & S.refine<Url, S.String>;
109
- //# sourceMappingURL=moreStrings.d.ts.map
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TY2hlbWEvbW9yZVN0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSTVDLE9BQU8sRUFBbUIsS0FBSyxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDN0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSS9FOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHFCQUFzQixTQUFRLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcscUJBQXFCLENBQUM7Q0FBRztBQUUvRzs7R0FFRztBQUNILE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcscUJBQXFCLENBQUE7QUFFN0Q7O0dBRUc7QUFDSCxlQUFPLE1BQU0sZ0JBQWdCOzs7Ozs7OztDQU81QixDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcscUJBQXNCLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztDQUFHO0FBRS9HOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQTtBQUU3RDs7R0FFRztBQUNILGVBQU8sTUFBTSxnQkFBZ0I7Ozs7Ozs7O0NBTzVCLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxxQkFBc0IsU0FBUSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHNCQUFzQixDQUFDO0NBQUc7QUFFaEg7O0dB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
@@ -1 +1 @@
1
- {"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"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"}