effect-app 4.0.0-beta.6 → 4.0.0-beta.60
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.
- package/CHANGELOG.md +265 -0
- package/dist/Config.d.ts +7 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +6 -0
- package/dist/ConfigProvider.d.ts +39 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +42 -0
- package/dist/{ServiceMap.d.ts → Context.d.ts} +9 -12
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +87 -0
- package/dist/Effect.d.ts +8 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +3 -2
- package/dist/Layer.d.ts +5 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +1 -1
- package/dist/Operations.d.ts +51 -15
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Pure.d.ts +2 -2
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +13 -13
- package/dist/Schema/Class.d.ts +39 -1
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +89 -12
- package/dist/Schema/SpecialJsonSchema.d.ts +40 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +199 -0
- package/dist/Schema/SpecialOpenApi.d.ts +30 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +120 -0
- package/dist/Schema/brand.d.ts +8 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +4 -3
- package/dist/Schema/ext.d.ts +142 -44
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +145 -35
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +6 -4
- package/dist/Schema/numbers.d.ts +8 -8
- package/dist/Schema/numbers.js +2 -2
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +3 -2
- package/dist/Schema.d.ts +21 -54
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +43 -64
- package/dist/client/apiClientFactory.d.ts +3 -3
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +12 -13
- package/dist/client/errors.d.ts +8 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +35 -10
- package/dist/client/makeClient.d.ts +13 -12
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +5 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +5 -5
- package/dist/ids.d.ts +1 -1
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +1 -1
- package/dist/index.d.ts +6 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -9
- package/dist/middleware.d.ts +2 -2
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +3 -3
- package/dist/rpc/MiddlewareMaker.d.ts +4 -3
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +6 -5
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +4 -3
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/utils/gen.d.ts +1 -1
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -3
- package/dist/utils.d.ts +18 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +24 -5
- package/package.json +29 -17
- package/src/Config.ts +14 -0
- package/src/ConfigProvider.ts +48 -0
- package/src/{ServiceMap.ts → Context.ts} +16 -17
- package/src/Effect.ts +11 -9
- package/src/Layer.ts +5 -4
- package/src/Pure.ts +17 -18
- package/src/Schema/Class.ts +114 -16
- package/src/Schema/SpecialJsonSchema.ts +216 -0
- package/src/Schema/SpecialOpenApi.ts +126 -0
- package/src/Schema/brand.ts +13 -7
- package/src/Schema/email.ts +4 -2
- package/src/Schema/ext.ts +222 -57
- package/src/Schema/moreStrings.ts +10 -6
- package/src/Schema/numbers.ts +2 -2
- package/src/Schema/phoneNumber.ts +3 -1
- package/src/Schema.ts +79 -103
- package/src/client/apiClientFactory.ts +16 -19
- package/src/client/errors.ts +46 -12
- package/src/client/makeClient.ts +32 -12
- package/src/http/Request.ts +7 -4
- package/src/ids.ts +1 -1
- package/src/index.ts +6 -9
- package/src/middleware.ts +2 -2
- package/src/rpc/MiddlewareMaker.ts +7 -6
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +5 -4
- package/src/utils/gen.ts +1 -1
- package/src/utils/logger.ts +2 -2
- package/src/utils.ts +26 -4
- package/test/dist/moreStrings.test.d.ts.map +1 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +17 -0
- package/test/rpc.test.ts +26 -5
- package/test/schema.test.ts +292 -1
- package/test/special.test.ts +525 -0
- package/test/utils.test.ts +1 -1
- package/tsconfig.base.json +0 -1
- package/tsconfig.json +0 -1
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/dist/Struct.d.ts +0 -44
- package/dist/Struct.d.ts.map +0 -1
- package/dist/Struct.js +0 -29
- package/src/Struct.ts +0 -54
package/dist/Schema/ext.d.ts
CHANGED
|
@@ -1,84 +1,181 @@
|
|
|
1
|
-
import { Effect,
|
|
1
|
+
import { Effect, type SchemaAST, SchemaIssue, SchemaTransformation } 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";
|
|
6
|
+
type ProvidedCodec<Self extends S.Top, R> = S.Codec<Self["Type"], Self["Encoded"], Exclude<Self["DecodingServices"], R>, Exclude<Self["EncodingServices"], R>>;
|
|
5
7
|
export declare const withDefaultConstructor: <A>(makeDefault: () => NoInfer<A>) => <Self extends S.Top>(self: Self) => S.withConstructorDefault<Self & S.WithoutConstructorDefault>;
|
|
8
|
+
/**
|
|
9
|
+
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
10
|
+
* invalid dates instead of throwing.
|
|
11
|
+
*
|
|
12
|
+
* When to use:
|
|
13
|
+
* - You want a safe `toISOString()` that never throws.
|
|
14
|
+
*
|
|
15
|
+
* Behavior:
|
|
16
|
+
* - Returns `date.toISOString()` on success.
|
|
17
|
+
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
18
|
+
* `new Date(NaN)`).
|
|
19
|
+
* - Pure function; does not mutate input.
|
|
20
|
+
*
|
|
21
|
+
* **Example** (Safe date formatting)
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { Formatter } from "effect"
|
|
25
|
+
*
|
|
26
|
+
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
27
|
+
* // 2024-01-15T10:30:00.000Z
|
|
28
|
+
*
|
|
29
|
+
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
30
|
+
* // Invalid Date
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* See also: {@link format}
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatDate(date: Date): string;
|
|
38
|
+
/**
|
|
39
|
+
* Decodes a `string` into a `Date` and encodes a `Date` back to a `string`.
|
|
40
|
+
*
|
|
41
|
+
* When to use this:
|
|
42
|
+
* - Parsing ISO 8601 date strings from APIs or user input.
|
|
43
|
+
*
|
|
44
|
+
* Behavior:
|
|
45
|
+
* - Decode: creates a `Date` from the string (like `new Date(s)`).
|
|
46
|
+
* - Encode: converts the `Date` to an ISO string (like `date.toISOString()`),
|
|
47
|
+
* returning `"Invalid Date"` for invalid dates.
|
|
48
|
+
*
|
|
49
|
+
* **Example** (Date from string)
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { Schema, SchemaTransformation } from "effect"
|
|
53
|
+
*
|
|
54
|
+
* const schema = Schema.String.pipe(
|
|
55
|
+
* Schema.decodeTo(Schema.Date, SchemaTransformation.dateFromString)
|
|
56
|
+
* )
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* See also:
|
|
60
|
+
* - {@link numberFromString}
|
|
61
|
+
* - {@link dateTimeUtcFromString}
|
|
62
|
+
*
|
|
63
|
+
* @category Coercions
|
|
64
|
+
* @since 4.0.0
|
|
65
|
+
*/
|
|
66
|
+
export declare const dateFromString: SchemaTransformation.Transformation<globalThis.Date, string>;
|
|
67
|
+
/**
|
|
68
|
+
* Schema type for {@link DateFromString}.
|
|
69
|
+
*
|
|
70
|
+
* @category Schemas
|
|
71
|
+
* @since 4.0.0
|
|
72
|
+
*/
|
|
73
|
+
export interface DateFromString extends S.decodeTo<S.Date, S.String> {
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A transformation schema that parses an ISO 8601 string into a `Date`.
|
|
77
|
+
*
|
|
78
|
+
* Decoding:
|
|
79
|
+
* - A `string` is decoded as a `Date`.
|
|
80
|
+
*
|
|
81
|
+
* Encoding:
|
|
82
|
+
* - A `Date` is encoded as a `string`.
|
|
83
|
+
*
|
|
84
|
+
* @since 4.0.0
|
|
85
|
+
*/
|
|
86
|
+
export declare const DateFromString: DateFromString;
|
|
6
87
|
/**
|
|
7
88
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
8
89
|
*/
|
|
9
|
-
export declare const Date:
|
|
10
|
-
withDefault:
|
|
90
|
+
export declare const Date: DateFromString & {
|
|
91
|
+
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Like the default Schema `DateValid` but from String with `withDefault` => now
|
|
95
|
+
*/
|
|
96
|
+
export declare const DateValid: DateFromString & {
|
|
97
|
+
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
98
|
+
} & {
|
|
99
|
+
withDefault: S.withConstructorDefault<DateFromString & S.WithoutConstructorDefault>;
|
|
11
100
|
};
|
|
12
101
|
/**
|
|
13
102
|
* Like the default Schema `Boolean` but with `withDefault` => false
|
|
14
103
|
*/
|
|
15
|
-
export declare const Boolean:
|
|
16
|
-
withDefault:
|
|
104
|
+
export declare const Boolean: S.Boolean & {
|
|
105
|
+
withDefault: S.withConstructorDefault<S.Boolean & S.WithoutConstructorDefault>;
|
|
17
106
|
};
|
|
18
107
|
/**
|
|
108
|
+
* You probably want to use `Finite` instead of this.
|
|
19
109
|
* Like the default Schema `Number` but with `withDefault` => 0
|
|
20
110
|
*/
|
|
21
|
-
export declare const Number:
|
|
22
|
-
withDefault:
|
|
111
|
+
export declare const Number: S.Number & {
|
|
112
|
+
withDefault: S.withConstructorDefault<S.Number & S.WithoutConstructorDefault>;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Like the default Schema `Finite` but with `withDefault` => 0
|
|
116
|
+
*/
|
|
117
|
+
export declare const Finite: S.Finite & {
|
|
118
|
+
withDefault: S.withConstructorDefault<S.Finite & S.WithoutConstructorDefault>;
|
|
23
119
|
};
|
|
24
120
|
/**
|
|
25
121
|
* Like the default Schema `Literal` but with `withDefault` => literals[0]
|
|
26
122
|
*/
|
|
27
|
-
export declare const Literal: <Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(...literals: Literals) =>
|
|
28
|
-
changeDefault: <A extends Literals[number]>(a: A) =>
|
|
123
|
+
export declare const Literal: <Literals extends NonEmptyReadonlyArray<AST.LiteralValue>>(...literals: Literals) => S.Literals<Literals> & {
|
|
124
|
+
changeDefault: <A extends Literals[number]>(a: A) => S.Literals<Literals> & {
|
|
29
125
|
Default: A;
|
|
30
|
-
withDefault:
|
|
126
|
+
withDefault: S.withConstructorDefault<S.Literals<Literals> & S.WithoutConstructorDefault>;
|
|
31
127
|
};
|
|
32
128
|
Default: (typeof literals)[0];
|
|
33
|
-
withDefault:
|
|
129
|
+
withDefault: S.withConstructorDefault<S.Literals<Literals> & S.WithoutConstructorDefault>;
|
|
34
130
|
};
|
|
35
131
|
/**
|
|
36
132
|
* Like the default Schema `Array` but with `withDefault` => []
|
|
37
133
|
*/
|
|
38
|
-
export declare function Array<
|
|
39
|
-
withDefault:
|
|
134
|
+
export declare function Array<ValueSchema extends S.Top>(value: ValueSchema): S.$Array<ValueSchema> & {
|
|
135
|
+
withDefault: S.withConstructorDefault<S.$Array<ValueSchema> & S.WithoutConstructorDefault>;
|
|
40
136
|
};
|
|
41
137
|
/**
|
|
42
|
-
*
|
|
138
|
+
* An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
|
|
43
139
|
*/
|
|
44
|
-
declare
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
140
|
+
export declare const ReadonlySetFromArray: <ValueSchema extends S.Top>(value: ValueSchema) => S.Codec<ReadonlySet<ValueSchema["Type"]>, readonly ValueSchema["Encoded"][], ValueSchema["DecodingServices"], ValueSchema["EncodingServices"]>;
|
|
141
|
+
/**
|
|
142
|
+
* An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
|
|
143
|
+
*/
|
|
144
|
+
export declare const ReadonlyMapFromArray: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
|
|
145
|
+
readonly key: KeySchema;
|
|
146
|
+
readonly value: ValueSchema;
|
|
147
|
+
}) => S.Codec<ReadonlyMap<KeySchema["Type"], S.Schema.Type<ValueSchema>>, readonly (readonly [KeySchema["Encoded"], ValueSchema["Encoded"]])[], KeySchema["DecodingServices"] | ValueSchema["DecodingServices"], KeySchema["EncodingServices"] | ValueSchema["EncodingServices"]>;
|
|
51
148
|
/**
|
|
52
|
-
* Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
|
|
149
|
+
* Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
|
|
53
150
|
*/
|
|
54
|
-
export declare const ReadonlySet: <
|
|
55
|
-
withDefault:
|
|
151
|
+
export declare const ReadonlySet: <ValueSchema extends S.Top>(value: ValueSchema) => S.Codec<ReadonlySet<ValueSchema["Type"]>, readonly ValueSchema["Encoded"][], ValueSchema["DecodingServices"], ValueSchema["EncodingServices"]> & {
|
|
152
|
+
withDefault: S.withConstructorDefault<S.Codec<ReadonlySet<ValueSchema["Type"]>, readonly ValueSchema["Encoded"][], ValueSchema["DecodingServices"], ValueSchema["EncodingServices"]> & S.WithoutConstructorDefault>;
|
|
56
153
|
};
|
|
57
154
|
/**
|
|
58
|
-
* Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
|
|
155
|
+
* Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
|
|
59
156
|
*/
|
|
60
|
-
export declare const ReadonlyMap: <
|
|
61
|
-
readonly key:
|
|
62
|
-
readonly value:
|
|
63
|
-
}) =>
|
|
64
|
-
withDefault:
|
|
157
|
+
export declare const ReadonlyMap: <KeySchema extends S.Top, ValueSchema extends S.Top>(pair: {
|
|
158
|
+
readonly key: KeySchema;
|
|
159
|
+
readonly value: ValueSchema;
|
|
160
|
+
}) => S.Codec<ReadonlyMap<KeySchema["Type"], S.Schema.Type<ValueSchema>>, readonly (readonly [KeySchema["Encoded"], ValueSchema["Encoded"]])[], KeySchema["DecodingServices"] | ValueSchema["DecodingServices"], KeySchema["EncodingServices"] | ValueSchema["EncodingServices"]> & {
|
|
161
|
+
withDefault: S.withConstructorDefault<S.Codec<ReadonlyMap<KeySchema["Type"], S.Schema.Type<ValueSchema>>, readonly (readonly [KeySchema["Encoded"], ValueSchema["Encoded"]])[], KeySchema["DecodingServices"] | ValueSchema["DecodingServices"], KeySchema["EncodingServices"] | ValueSchema["EncodingServices"]> & S.WithoutConstructorDefault>;
|
|
65
162
|
};
|
|
66
163
|
/**
|
|
67
164
|
* Like the default Schema `NullOr` but with `withDefault` => null
|
|
68
165
|
*/
|
|
69
|
-
export declare const NullOr: <
|
|
70
|
-
withDefault:
|
|
166
|
+
export declare const NullOr: <Schema extends S.Top>(self: Schema) => S.NullOr<Schema> & {
|
|
167
|
+
withDefault: S.withConstructorDefault<S.NullOr<Schema> & S.WithoutConstructorDefault>;
|
|
71
168
|
};
|
|
72
|
-
export declare const defaultDate:
|
|
73
|
-
export declare const defaultBool:
|
|
74
|
-
export declare const defaultNullable:
|
|
75
|
-
export declare const defaultArray:
|
|
76
|
-
export declare const defaultMap:
|
|
77
|
-
export declare const defaultSet:
|
|
169
|
+
export declare const defaultDate: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
170
|
+
export declare const defaultBool: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
171
|
+
export declare const defaultNullable: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
172
|
+
export declare const defaultArray: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
173
|
+
export declare const defaultMap: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
174
|
+
export declare const defaultSet: <Schema extends S.Top>(schema: Schema) => S.withConstructorDefault<Schema & S.WithoutConstructorDefault>;
|
|
78
175
|
export declare const withDefaultMake: <Self extends S.Top>(s: Self) => WithDefaults<Self> & Self;
|
|
79
176
|
export type WithDefaults<Self extends S.Top> = (i: Self["Encoded"], options?: SchemaAST.ParseOptions) => Self["Type"];
|
|
80
|
-
export declare const inputDate:
|
|
81
|
-
withDefault:
|
|
177
|
+
export declare const inputDate: S.Codec<Date, string | Date, never, never> & {
|
|
178
|
+
withDefault: S.withConstructorDefault<S.Codec<Date, string | Date, never, never> & S.WithoutConstructorDefault>;
|
|
82
179
|
};
|
|
83
180
|
export interface UnionBrand {
|
|
84
181
|
}
|
|
@@ -89,9 +186,10 @@ export declare function makeExactOptional<NER extends S.Struct.Fields>(t: NER):
|
|
|
89
186
|
[K in keyof NER]: NER[K] extends S.Top ? ReturnType<typeof S.optionalKey<NER[K] & S.Top>> : any;
|
|
90
187
|
};
|
|
91
188
|
/** 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"]) =>
|
|
189
|
+
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
190
|
/** 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>) =>
|
|
95
|
-
export declare const provide: <Self extends S.Top, R>(self: Self, context:
|
|
96
|
-
export declare const contextFromServices: <Self extends S.Top, Tags extends
|
|
191
|
+
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>;
|
|
192
|
+
export declare const provide: <Self extends S.Top, R>(self: Self, context: Context.Context<R>) => ProvidedCodec<Self, R>;
|
|
193
|
+
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]>>;
|
|
194
|
+
export {};
|
|
97
195
|
//# sourceMappingURL=ext.d.ts.map
|
package/dist/Schema/ext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAgB,
|
|
1
|
+
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../src/Schema/ext.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/ext.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
|
-
import { Effect, Option, pipe,
|
|
3
|
+
import { Effect, Option, pipe, SchemaGetter, 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
8
|
// TODO: v4 migration — withConstructorDefault signature changed, propertySignature removed
|
|
7
9
|
// Constraint relaxed from `Self extends S.Top & S.WithoutConstructorDefault` to `Self extends S.Top`
|
|
@@ -11,16 +13,105 @@ export const withDefaultConstructor = (makeDefault) => (self) => {
|
|
|
11
13
|
return S.withConstructorDefault(() => Option.some(makeDefault()))(self);
|
|
12
14
|
};
|
|
13
15
|
// TODO: v4 migration - Date is no longer by default encoded to string.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
/*
|
|
17
|
+
in v4, there's the notion of `toCodecJson`, as a declaration and as a schema transformer.
|
|
18
|
+
this means that Date, Map/Set, etc, remain the same type Encoded as Decoded, but when transformed to and from JSON, will go through
|
|
19
|
+
the toCodecJson transformation, which for e.g Date will be the dateFromString transformation.
|
|
20
|
+
|
|
21
|
+
While this is a cool feature, our stack (especially the Store/Repository api) is based on having an Encoded shape representing the JSON shape, so we revert back to that for now.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
25
|
+
* invalid dates instead of throwing.
|
|
26
|
+
*
|
|
27
|
+
* When to use:
|
|
28
|
+
* - You want a safe `toISOString()` that never throws.
|
|
29
|
+
*
|
|
30
|
+
* Behavior:
|
|
31
|
+
* - Returns `date.toISOString()` on success.
|
|
32
|
+
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
33
|
+
* `new Date(NaN)`).
|
|
34
|
+
* - Pure function; does not mutate input.
|
|
35
|
+
*
|
|
36
|
+
* **Example** (Safe date formatting)
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { Formatter } from "effect"
|
|
40
|
+
*
|
|
41
|
+
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
42
|
+
* // 2024-01-15T10:30:00.000Z
|
|
43
|
+
*
|
|
44
|
+
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
45
|
+
* // Invalid Date
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* See also: {@link format}
|
|
49
|
+
*
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
export function formatDate(date) {
|
|
53
|
+
try {
|
|
54
|
+
return date.toISOString();
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return "Invalid Date";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Decodes a `string` into a `Date` and encodes a `Date` back to a `string`.
|
|
62
|
+
*
|
|
63
|
+
* When to use this:
|
|
64
|
+
* - Parsing ISO 8601 date strings from APIs or user input.
|
|
65
|
+
*
|
|
66
|
+
* Behavior:
|
|
67
|
+
* - Decode: creates a `Date` from the string (like `new Date(s)`).
|
|
68
|
+
* - Encode: converts the `Date` to an ISO string (like `date.toISOString()`),
|
|
69
|
+
* returning `"Invalid Date"` for invalid dates.
|
|
70
|
+
*
|
|
71
|
+
* **Example** (Date from string)
|
|
72
|
+
*
|
|
73
|
+
* ```ts
|
|
74
|
+
* import { Schema, SchemaTransformation } from "effect"
|
|
75
|
+
*
|
|
76
|
+
* const schema = Schema.String.pipe(
|
|
77
|
+
* Schema.decodeTo(Schema.Date, SchemaTransformation.dateFromString)
|
|
78
|
+
* )
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* See also:
|
|
82
|
+
* - {@link numberFromString}
|
|
83
|
+
* - {@link dateTimeUtcFromString}
|
|
84
|
+
*
|
|
85
|
+
* @category Coercions
|
|
86
|
+
* @since 4.0.0
|
|
87
|
+
*/
|
|
88
|
+
export const dateFromString = new SchemaTransformation
|
|
89
|
+
.Transformation(SchemaGetter.Date(), SchemaGetter.transform(formatDate));
|
|
90
|
+
const DateString = S.String.annotate({ expected: "a string in ISO 8601 format that will be decoded as a Date" });
|
|
91
|
+
/**
|
|
92
|
+
* A transformation schema that parses an ISO 8601 string into a `Date`.
|
|
93
|
+
*
|
|
94
|
+
* Decoding:
|
|
95
|
+
* - A `string` is decoded as a `Date`.
|
|
96
|
+
*
|
|
97
|
+
* Encoding:
|
|
98
|
+
* - A `Date` is encoded as a `string`.
|
|
99
|
+
*
|
|
100
|
+
* @since 4.0.0
|
|
101
|
+
*/
|
|
102
|
+
export const DateFromString = DateString.pipe(S.decodeTo(S.Date, dateFromString));
|
|
18
103
|
/**
|
|
19
104
|
* Like the default Schema `Date` but from String with `withDefault` => now
|
|
20
105
|
*/
|
|
21
106
|
export const Date = Object.assign(DateFromString, {
|
|
22
107
|
withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
|
|
23
108
|
});
|
|
109
|
+
/**
|
|
110
|
+
* Like the default Schema `DateValid` but from String with `withDefault` => now
|
|
111
|
+
*/
|
|
112
|
+
export const DateValid = Object.assign(Date.check(isDateValid()), {
|
|
113
|
+
withDefault: DateFromString.pipe(withDefaultConstructor(() => new global.Date()))
|
|
114
|
+
});
|
|
24
115
|
/**
|
|
25
116
|
* Like the default Schema `Boolean` but with `withDefault` => false
|
|
26
117
|
*/
|
|
@@ -28,9 +119,14 @@ export const Boolean = Object.assign(S.Boolean, {
|
|
|
28
119
|
withDefault: S.Boolean.pipe(withDefaultConstructor(() => false))
|
|
29
120
|
});
|
|
30
121
|
/**
|
|
122
|
+
* You probably want to use `Finite` instead of this.
|
|
31
123
|
* Like the default Schema `Number` but with `withDefault` => 0
|
|
32
124
|
*/
|
|
33
125
|
export const Number = Object.assign(S.Number, { withDefault: S.Number.pipe(withDefaultConstructor(() => 0)) });
|
|
126
|
+
/**
|
|
127
|
+
* Like the default Schema `Finite` but with `withDefault` => 0
|
|
128
|
+
*/
|
|
129
|
+
export const Finite = Object.assign(S.Finite, { withDefault: S.Finite.pipe(withDefaultConstructor(() => 0)) });
|
|
34
130
|
/**
|
|
35
131
|
* Like the default Schema `Literal` but with `withDefault` => literals[0]
|
|
36
132
|
*/
|
|
@@ -51,30 +147,51 @@ export function Array(value) {
|
|
|
51
147
|
return pipe(S.Array(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => [])) }));
|
|
52
148
|
}
|
|
53
149
|
/**
|
|
54
|
-
*
|
|
150
|
+
* An annotated `S.Array` of unique items that decodes to a `ReadonlySet`.
|
|
55
151
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
152
|
+
export const ReadonlySetFromArray = (value) => {
|
|
153
|
+
const from = S
|
|
154
|
+
.Array(value)
|
|
155
|
+
.annotate({ expected: "an array of unique items that will be decoded as a ReadonlySet" });
|
|
156
|
+
const to = S.instanceOf(Set);
|
|
157
|
+
const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
|
|
158
|
+
decode: (arr) => new Set(arr),
|
|
159
|
+
encode: (set) => [...set]
|
|
160
|
+
})));
|
|
161
|
+
return S.revealCodec(schema);
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* An annotated `S.Array` of key-value tuples that decodes to a `ReadonlyMap`.
|
|
165
|
+
*/
|
|
166
|
+
export const ReadonlyMapFromArray = (pair) => {
|
|
167
|
+
const from = S
|
|
168
|
+
.Array(S.Tuple([pair.key, pair.value]))
|
|
169
|
+
.annotate({ expected: "an array of key-value tuples that will be decoded as a ReadonlyMap" });
|
|
170
|
+
const to = S.instanceOf(Map);
|
|
171
|
+
const schema = from.pipe(S.decodeTo(to, SchemaTransformation.transform({
|
|
172
|
+
decode: (arr) => new Map(arr),
|
|
173
|
+
encode: (map) => [...map.entries()] // fu
|
|
174
|
+
})));
|
|
175
|
+
return S.revealCodec(schema);
|
|
176
|
+
};
|
|
60
177
|
/**
|
|
61
|
-
* Like the default Schema `ReadonlySet` but with `withDefault` => new Set()
|
|
178
|
+
* Like the default Schema `ReadonlySet` but from Array with `withDefault` => new Set()
|
|
62
179
|
*/
|
|
63
|
-
export const ReadonlySet = (value) => pipe(
|
|
180
|
+
export const ReadonlySet = (value) => pipe(ReadonlySetFromArray(value), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Set())) }));
|
|
64
181
|
/**
|
|
65
|
-
* Like the default Schema `ReadonlyMap` but with `withDefault` => new Map()
|
|
182
|
+
* Like the default Schema `ReadonlyMap` but from Array with `withDefault` => new Map()
|
|
66
183
|
*/
|
|
67
|
-
export const ReadonlyMap = (pair) => pipe(
|
|
184
|
+
export const ReadonlyMap = (pair) => pipe(ReadonlyMapFromArray(pair), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => new Map())) }));
|
|
68
185
|
/**
|
|
69
186
|
* Like the default Schema `NullOr` but with `withDefault` => null
|
|
70
187
|
*/
|
|
71
188
|
export const NullOr = (self) => pipe(S.NullOr(self), (s) => Object.assign(s, { withDefault: s.pipe(withDefaultConstructor(() => null)) }));
|
|
72
|
-
export const defaultDate = (
|
|
73
|
-
export const defaultBool = (
|
|
74
|
-
export const defaultNullable = (
|
|
75
|
-
export const defaultArray = (
|
|
76
|
-
export const defaultMap = (
|
|
77
|
-
export const defaultSet = (
|
|
189
|
+
export const defaultDate = (schema) => schema.pipe(withDefaultConstructor(() => new global.Date()));
|
|
190
|
+
export const defaultBool = (schema) => schema.pipe(withDefaultConstructor(() => false));
|
|
191
|
+
export const defaultNullable = (schema) => schema.pipe(withDefaultConstructor(() => null));
|
|
192
|
+
export const defaultArray = (schema) => schema.pipe(withDefaultConstructor(() => []));
|
|
193
|
+
export const defaultMap = (schema) => schema.pipe(withDefaultConstructor(() => new Map()));
|
|
194
|
+
export const defaultSet = (schema) => schema.pipe(withDefaultConstructor(() => new Set()));
|
|
78
195
|
export const withDefaultMake = (s) => {
|
|
79
196
|
const a = Object.assign(S.decodeSync(s), s);
|
|
80
197
|
Object.setPrototypeOf(a, s);
|
|
@@ -93,7 +210,7 @@ export const withDefaultMake = (s) => {
|
|
|
93
210
|
// }[keyof P[B.BrandTypeId]]
|
|
94
211
|
// export type UnionToIntersection3<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I
|
|
95
212
|
// : never
|
|
96
|
-
export const inputDate = extendM(S.Union([S.DateValid,
|
|
213
|
+
export const inputDate = extendM(S.Union([S.DateValid, Date]).pipe(S.revealCodec), (s) => ({ withDefault: s.pipe(withDefaultConstructor(() => new globalThis.Date())) }));
|
|
97
214
|
// TODO: v4 migration — makeOpt used internal PropertySignature types that are removed in v4
|
|
98
215
|
// Simplified to use v4's S.optional / S.optionalKey directly
|
|
99
216
|
export function makeOptional(t) {
|
|
@@ -115,22 +232,15 @@ export const transformTo = (from, to, decode) => from.pipe(S.decodeTo(to, Schema
|
|
|
115
232
|
})));
|
|
116
233
|
/** A version of transformOrFail which is only a one way mapping of From->To */
|
|
117
234
|
export const transformToOrFail = (from, to, decode) => from.pipe(S.decodeTo(to, SchemaTransformation.transformOrFail({
|
|
118
|
-
decode
|
|
235
|
+
decode,
|
|
119
236
|
encode: (i) => Effect.fail(new SchemaIssue.Forbidden(Option.some(i), { message: "One way schema transformation, encoding is not allowed" }))
|
|
120
237
|
})));
|
|
121
|
-
// TODO: v4 migration — S.declare API changed (no [self] + decode/encode pattern)
|
|
122
|
-
// Need to find v4 equivalent for contextual schema wrapping
|
|
123
238
|
export const provide = (self, context) => {
|
|
124
239
|
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");
|
|
240
|
+
return self.pipe(S.middlewareDecoding((effect) => prov(effect)), S.middlewareEncoding((effect) => prov(effect)));
|
|
135
241
|
};
|
|
136
|
-
|
|
242
|
+
export const contextFromServices = (self, ...services) => Effect.gen(function* () {
|
|
243
|
+
const context = Context.pick(...services)(yield* Effect.services());
|
|
244
|
+
return provide(self, context);
|
|
245
|
+
});
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjaGVtYS9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWtCLFlBQVksRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDOUcsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVVsRCwyRkFBMkY7QUFDM0YscUdBQXFHO0FBQ3JHLHVHQUF1RztBQUN2Ryw0R0FBNEc7QUFDNUcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsV0FBNkIsRUFDN0IsRUFBRSxDQUNKLENBQXFCLElBQVUsRUFBZ0UsRUFBRTtJQUUvRixPQUFPLENBQUMsQ0FBQyxzQkFBc0IsQ0FDN0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQStCLENBQUMsQ0FDOUQsQ0FBQyxJQUFnQixDQUFDLENBQUE7QUFDckIsQ0FBQyxDQUFBO0FBRUQsdUVBQXVFO0FBQ3ZFOzs7Ozs7RUFNRTtBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVO0lBQ25DLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLGNBQWMsQ0FBQTtJQUN2QixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0Ey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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI5C,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAI/E;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,qYAQ5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/G;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,2VAQ5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAEhH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE7D;;GAEG;AAEH,eAAO,MAAM,gBAAgB,iTAQ5B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAElH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,sBAAsB,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,uQAQ7B,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,sBAAsB,CAAC;CAAG;AAE1G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,kBAAkB,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,+PAKzB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC;CAAG;AAE/F;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAA;AAW7C;;GAEG;AACH,eAAO,MAAM,QAAQ;gBAZI,QAAQ;;;gBAAR,QAAQ;;CA4BT,CAAA;AAMxB,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,QAAQ,MAC7C,MAAM,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,GAAG,GAAG,EAC3D,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,YAAY,SAAS,
|
|
1
|
+
{"version":3,"file":"moreStrings.d.ts","sourceRoot":"","sources":["../../src/Schema/moreStrings.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ const StringIdArb = () => (fc) => fc
|
|
|
56
56
|
export const StringId = extendM(pipe(S.String, S.check(S.isMinLength(minLength), S.isMaxLength(maxLength)), fromBrand(nominal(), {
|
|
57
57
|
identifier: "StringId",
|
|
58
58
|
title: "StringId",
|
|
59
|
-
|
|
59
|
+
toArbitrary: () => (fc) => StringIdArb()(fc),
|
|
60
60
|
jsonSchema: {}
|
|
61
61
|
})), (s) => ({
|
|
62
62
|
make: makeStringId,
|
|
@@ -72,9 +72,10 @@ export function prefixedStringId() {
|
|
|
72
72
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
73
73
|
const s = StringId
|
|
74
74
|
.pipe(S.refine((x) => x.startsWith(pref), {
|
|
75
|
-
arbitrary: arb,
|
|
76
75
|
identifier: name,
|
|
77
76
|
title: name
|
|
77
|
+
}), S.annotate({
|
|
78
|
+
toArbitrary: () => (fc) => arb()(fc)
|
|
78
79
|
}));
|
|
79
80
|
const schema = s.pipe(withDefaultMake);
|
|
80
81
|
const make = () => (pref + StringId.make().substring(0, 50 - pref.length));
|
|
@@ -100,9 +101,10 @@ const isUrl = (s) => {
|
|
|
100
101
|
export const Url = S
|
|
101
102
|
.String
|
|
102
103
|
.pipe(S.refine(isUrl, {
|
|
103
|
-
arbitrary: () => (fc) => fc.webUrl().map((_) => _),
|
|
104
104
|
identifier: "Url",
|
|
105
105
|
title: "Url",
|
|
106
106
|
jsonSchema: { format: "uri" }
|
|
107
|
+
}), S.annotate({
|
|
108
|
+
toArbitrary: () => (fc) => fc.webUrl().map((_) => _)
|
|
107
109
|
}), withDefaultMake);
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZVN0cmluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL21vcmVTdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMxRCxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBcUIsTUFBTSxVQUFVLENBQUE7QUFJckYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtBQVl2Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUMxQixTQUFTLENBQUMsT0FBTyxFQUFvQixFQUFFO0lBQ3JDLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUE7QUFZRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUMxQixTQUFTLENBQUMsT0FBTyxFQUFvQixFQUFFO0lBQ3JDLFVBQVUsRUFBRSxrQkFB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
|