effect-app 4.0.0-beta.14 → 4.0.0-beta.16
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 +12 -0
- package/dist/Operations.d.ts +6 -2
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Schema/brand.d.ts +5 -1
- 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/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +6 -4
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +3 -2
- package/dist/Schema.d.ts +11 -7
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +6 -4
- package/package.json +1 -1
- package/src/Schema/brand.ts +9 -2
- package/src/Schema/email.ts +4 -2
- package/src/Schema/moreStrings.ts +10 -6
- package/src/Schema/phoneNumber.ts +3 -1
- package/src/Schema.ts +12 -9
- package/test/dist/moreStrings.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 56db2c4: fix: isA
|
|
8
|
+
|
|
9
|
+
## 4.0.0-beta.15
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 20186b6: Migrate schema arbitrary annotations to Effect v4 `toArbitrary` and cover `StringId` generation with a fast-check test.
|
|
14
|
+
|
|
3
15
|
## 4.0.0-beta.14
|
|
4
16
|
|
|
5
17
|
## 4.0.0-beta.13
|
package/dist/Operations.d.ts
CHANGED
|
@@ -33,7 +33,9 @@ export declare class OperationFailure extends OperationFailure_base {
|
|
|
33
33
|
}
|
|
34
34
|
export declare const OperationResult: S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
|
|
35
35
|
is: <I>(input: I) => input is any;
|
|
36
|
-
isA:
|
|
36
|
+
isA: S.Is<{
|
|
37
|
+
_tag: string;
|
|
38
|
+
}>;
|
|
37
39
|
isAnyOf: S.IsAny<{
|
|
38
40
|
_tag: string;
|
|
39
41
|
}>;
|
|
@@ -53,7 +55,9 @@ declare const Operation_base: S.EnhancedClass<Operation, S.Struct<{
|
|
|
53
55
|
progress: S.optional<typeof OperationProgress>;
|
|
54
56
|
result: S.optional<S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
|
|
55
57
|
is: <I>(input: I) => input is any;
|
|
56
|
-
isA:
|
|
58
|
+
isA: S.Is<{
|
|
59
|
+
_tag: string;
|
|
60
|
+
}>;
|
|
57
61
|
isAnyOf: S.IsAny<{
|
|
58
62
|
_tag: string;
|
|
59
63
|
}>;
|
package/dist/Operations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../src/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAA;AACpC,eAAO,MAAM,WAAW;;;;;;CAAa,CAAA;;;;;;;;;AAErC,qBAAa,iBAAkB,SAAQ,sBAMrC;CAAG;;;;;;AAEL,qBAAa,gBACX,SAAQ,qBAEN;CACF;;;;;;AAEF,qBAAa,gBACX,SAAQ,qBAEN;CACF;AAEF,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../src/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAEhC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAA;AACpC,eAAO,MAAM,WAAW;;;;;;CAAa,CAAA;;;;;;;;;AAErC,qBAAa,iBAAkB,SAAQ,sBAMrC;CAAG;;;;;;AAEL,qBAAa,gBACX,SAAQ,qBAEN;CACF;;;;;;AAEF,qBAAa,gBACX,SAAQ,qBAEN;CACF;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAAoD,CAAA;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnE,qBAAa,SAAU,SAAQ,cAO7B;CAAG;AAKL,yBAAiB,iBAAiB,CAAC;IACjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACzF;AACD,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACxF;AACD,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACxF;AACD,yBAAiB,SAAS,CAAC;IACzB,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;KAAG;CACjF"}
|
package/dist/Schema/brand.d.ts
CHANGED
|
@@ -24,8 +24,12 @@ export interface Constructor<in out A extends B.Brand<any>> {
|
|
|
24
24
|
*/
|
|
25
25
|
is(a: Unbranded<A>): a is Unbranded<A> & A;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
type BrandAnnotations<C extends B.Brand<any>> = S.Annotations.Filter & (C extends string ? {
|
|
28
|
+
readonly toArbitrary?: S.Annotations.ToArbitrary.Declaration<C, readonly []>;
|
|
29
|
+
} : {});
|
|
30
|
+
export declare const fromBrand: <C extends B.Brand<any>>(constructor: Constructor<C>, options?: BrandAnnotations<C>) => <Self extends S.Top>(self: Self) => S.brand<Self["~rebuild.out"], B.Brand.Keys<C>>;
|
|
28
31
|
export type Brands<P> = P extends B.Brand<any> ? B.Brand.Brands<P> : never;
|
|
29
32
|
export type Unbranded<P> = P extends B.Brand<any> ? B.Brand.Unbranded<P> : P;
|
|
30
33
|
export declare const nominal: <A extends B.Brand<any>>() => Constructor<A>;
|
|
34
|
+
export {};
|
|
31
35
|
//# sourceMappingURL=brand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/Schema/brand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC,MAAM,WAAW,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACxD;;;OAGG;IACH,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;IAC1D;;;OAGG;IACH,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC3C;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/Schema/brand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAElC,MAAM,WAAW,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACxD;;;OAGG;IACH,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;IAC1D;;;OAGG;IACH,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC3C;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IACxC,CAAC,CAAC,WAAW,CAAC,MAAM,GACpB,CACA,CAAC,SAAS,MAAM,GAAG;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAC/F,EAAE,CACP,CAAA;AAEH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9C,aAAa,WAAW,CAAC,CAAC,CAAC,EAC3B,UAAU,gBAAgB,CAAC,CAAC,CAAC,MAE9B,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,KAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAG9E,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC9D,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE5E,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAIvC,CAAA"}
|
package/dist/Schema/brand.js
CHANGED
|
@@ -5,4 +5,4 @@ export const fromBrand = (constructor, options) => (self) => {
|
|
|
5
5
|
return options ? branded.pipe(S.annotate(options)) : branded;
|
|
6
6
|
};
|
|
7
7
|
export const nominal = () => B.nominal();
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL2JyYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBZ0NsQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FDdkIsV0FBMkIsRUFDM0IsT0FBNkIsRUFDN0IsRUFBRSxDQUNKLENBQXFCLElBQVUsRUFBa0QsRUFBRTtJQUNqRixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksT0FBTyxFQUFFLFdBQWtCLENBQUMsQ0FBQyxJQUFXLENBQUMsQ0FBQTtJQUM1RixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUUsT0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQWMsQ0FBQTtBQUM5RSxDQUFDLENBQUE7QUFPRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQWlELEdBSW5FLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFZLENBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/Schema/email.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAAG;AAEvF,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,UAAU,CAAA;AAEvC,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/Schema/email.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAAG;AAEvF,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,UAAU,CAAA;AAEvC,eAAO,MAAM,KAAK,2BAYf,CAAA"}
|
package/dist/Schema/email.js
CHANGED
|
@@ -6,7 +6,8 @@ export const Email = S
|
|
|
6
6
|
identifier: "Email",
|
|
7
7
|
title: "Email",
|
|
8
8
|
description: "an email according to RFC 5322",
|
|
9
|
-
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 }
|
|
10
|
-
|
|
9
|
+
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 }
|
|
10
|
+
}), S.annotate({
|
|
11
|
+
toArbitrary: () => (fc) => fc.emailAddress().map((_) => _)
|
|
11
12
|
}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL2VtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQVNsQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQztLQUNuQixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBeUMsRUFBRTtJQUNsRCxVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVBQUUsT0FBTztJQUNkLFdBQVcsRUFBRSxnQ0FBZ0M7SUFDN0MsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO0NBQ3hFLENBQUMsRUFDRixDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ1QsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFVLENBQUM7Q0FDcEUsQ0FBQyxDQUNILENBQUEifQ==
|
|
@@ -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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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"phoneNumber.d.ts","sourceRoot":"","sources":["../../src/Schema/phoneNumber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEnD,eAAO,MAAM,WAAW,oGAarB,CAAA"}
|
|
@@ -8,7 +8,8 @@ export const PhoneNumber = S
|
|
|
8
8
|
identifier: "PhoneNumber",
|
|
9
9
|
title: "PhoneNumber",
|
|
10
10
|
description: "a phone number with at least 7 digits",
|
|
11
|
-
arbitrary: () => (fc) => Numbers(7, 10)(fc).map((_) => _),
|
|
12
11
|
jsonSchema: { format: "phone" }
|
|
12
|
+
}), S.annotate({
|
|
13
|
+
toArbitrary: () => (fc) => Numbers(7, 10)(fc).map((_) => _)
|
|
13
14
|
}), withDefaultMake);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL3Bob25lTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQU94QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQztLQUN6QixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBK0MsRUFBRTtJQUN4RCxVQUFVLEVBQUUsYUFBYTtJQUN6QixLQUFLLEVBQUUsYUFBYTtJQUNwQixXQUFXLEVBQUUsdUNBQXVDO0lBQ3BELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7Q0FDaEMsQ0FBQyxFQUNGLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDVCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFnQixDQUFDO0NBQzNFLENBQUMsRUFDRixlQUFlLENBQ2hCLENBQUEifQ==
|
package/dist/Schema.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Tracer } from "effect";
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
3
|
import type { NonEmptyReadonlyArray } from "./Array.js";
|
|
4
|
-
import { Email as EmailT } from "./Schema/email.js";
|
|
5
|
-
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js";
|
|
4
|
+
import { Email as EmailT, type Email as EmailType } from "./Schema/email.js";
|
|
5
|
+
import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js";
|
|
6
6
|
export * from "effect/Schema";
|
|
7
7
|
export { TaggedErrorClass as TaggedError } from "effect/Schema";
|
|
8
8
|
export * from "./Schema/Class.js";
|
|
@@ -27,11 +27,12 @@ export interface WithOptionalSpan {
|
|
|
27
27
|
[SpanId]?: Tracer.Span;
|
|
28
28
|
}
|
|
29
29
|
export declare const Email: import("./Schema/ext.js").WithDefaults<S.refine<EmailT, S.String>> & S.refine<EmailT, S.String>;
|
|
30
|
-
export type Email =
|
|
30
|
+
export type Email = EmailType;
|
|
31
31
|
export declare const PhoneNumber: import("./Schema/ext.js").WithDefaults<import("./Schema/ext.js").WithDefaults<S.refine<PhoneNumberT, S.String>> & S.refine<PhoneNumberT, S.String>> & import("./Schema/ext.js").WithDefaults<S.refine<PhoneNumberT, S.String>> & S.refine<PhoneNumberT, S.String>;
|
|
32
|
+
export type PhoneNumber = PhoneNumberType;
|
|
32
33
|
export declare const makeIs: <A extends {
|
|
33
34
|
_tag: string;
|
|
34
|
-
}, I, R>(schema: S.Codec<A, I, R>) =>
|
|
35
|
+
}, I, R>(schema: S.Codec<A, I, R>) => Is<A>;
|
|
35
36
|
export declare const makeIsAnyOf: <A extends {
|
|
36
37
|
_tag: string;
|
|
37
38
|
}, I, R>(schema: S.Codec<A, I, R>) => IsAny<A>;
|
|
@@ -63,7 +64,9 @@ export declare const ExtendTaggedUnion: <A extends {
|
|
|
63
64
|
_tag: string;
|
|
64
65
|
}, I, R>(schema: S.Codec<A, I, R>) => S.Codec<A, I, R, never> & {
|
|
65
66
|
is: <I_1>(input: I_1) => input is any;
|
|
66
|
-
isA:
|
|
67
|
+
isA: Is<{
|
|
68
|
+
_tag: string;
|
|
69
|
+
}>;
|
|
67
70
|
isAnyOf: IsAny<{
|
|
68
71
|
_tag: string;
|
|
69
72
|
}>;
|
|
@@ -74,12 +77,13 @@ export declare const TaggedUnion: <Members extends readonly (S.Top & {
|
|
|
74
77
|
};
|
|
75
78
|
})[]>(...a: Members) => S.Union<Members> & {
|
|
76
79
|
is: <I>(input: I) => input is any;
|
|
77
|
-
isA:
|
|
80
|
+
isA: Is<{
|
|
81
|
+
_tag: string;
|
|
82
|
+
}>;
|
|
78
83
|
isAnyOf: IsAny<{
|
|
79
84
|
_tag: string;
|
|
80
85
|
}>;
|
|
81
86
|
tagMap: any;
|
|
82
87
|
tags: any;
|
|
83
88
|
};
|
|
84
|
-
export type PhoneNumber = PhoneNumberT;
|
|
85
89
|
//# sourceMappingURL=Schema.d.ts.map
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.js
CHANGED
|
@@ -25,16 +25,18 @@ export * as SchemaIssue from "effect/SchemaIssue";
|
|
|
25
25
|
export * as SchemaParser from "effect/SchemaParser";
|
|
26
26
|
export { Void as Void_ } from "effect/Schema";
|
|
27
27
|
export const SpanId = Symbol();
|
|
28
|
+
const makeEmail = S.decodeSync(EmailT);
|
|
29
|
+
const makePhoneNumber = S.decodeSync(PhoneNumberT);
|
|
28
30
|
export const Email = EmailT
|
|
29
31
|
.pipe(S.annotate({
|
|
30
32
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
31
|
-
|
|
33
|
+
toArbitrary: () => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(makeEmail)
|
|
32
34
|
}), withDefaultMake);
|
|
33
35
|
export const PhoneNumber = PhoneNumberT
|
|
34
36
|
.pipe(S.annotate({
|
|
35
|
-
|
|
37
|
+
toArbitrary: () => (fc) =>
|
|
36
38
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
37
|
-
fakerArb((faker) => faker.phone.number)(fc).map(
|
|
39
|
+
fakerArb((faker) => faker.phone.number)(fc).map(makePhoneNumber)
|
|
38
40
|
}), withDefaultMake);
|
|
39
41
|
export const makeIs = (schema) => {
|
|
40
42
|
// In v4, transformations are stored as encoding on nodes, not as wrapper nodes.
|
|
@@ -94,4 +96,4 @@ export const TaggedUnion = (...a) => pipe(S.Union(a), (_) => extendM(_, (_) => (
|
|
|
94
96
|
tagMap: taggedUnionMap(a),
|
|
95
97
|
tags: tags(a)
|
|
96
98
|
})));
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQ3BFLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQTJCLE1BQU0sbUJBQW1CLENBQUE7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWSxFQUF1QyxNQUFNLHlCQUF5QixDQUFBO0FBRTFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFcEMsY0FBYyxlQUFlLENBQUE7QUFDN0IsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFL0QsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUV6RCxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyx5QkFBeUIsQ0FB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
|
package/package.json
CHANGED
package/src/Schema/brand.ts
CHANGED
|
@@ -28,9 +28,16 @@ export interface Constructor<in out A extends B.Brand<any>> {
|
|
|
28
28
|
is(a: Unbranded<A>): a is Unbranded<A> & A
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
type BrandAnnotations<C extends B.Brand<any>> =
|
|
32
|
+
& S.Annotations.Filter
|
|
33
|
+
& (
|
|
34
|
+
C extends string ? { readonly toArbitrary?: S.Annotations.ToArbitrary.Declaration<C, readonly []> }
|
|
35
|
+
: {}
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
export const fromBrand = <C extends B.Brand<any>>(
|
|
32
39
|
constructor: Constructor<C>,
|
|
33
|
-
options?:
|
|
40
|
+
options?: BrandAnnotations<C>
|
|
34
41
|
) =>
|
|
35
42
|
<Self extends S.Top>(self: Self): S.brand<Self["~rebuild.out"], B.Brand.Keys<C>> => {
|
|
36
43
|
const branded = S.fromBrand(options?.identifier ?? "Brand", constructor as any)(self as any)
|
package/src/Schema/email.ts
CHANGED
|
@@ -16,7 +16,9 @@ export const Email = S
|
|
|
16
16
|
identifier: "Email",
|
|
17
17
|
title: "Email",
|
|
18
18
|
description: "an email according to RFC 5322",
|
|
19
|
-
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 }
|
|
20
|
-
|
|
19
|
+
jsonSchema: { format: "email", minLength: 3, /* a@b */ maxLength: 998 }
|
|
20
|
+
}),
|
|
21
|
+
S.annotate({
|
|
22
|
+
toArbitrary: () => (fc) => fc.emailAddress().map((_) => _ as Email)
|
|
21
23
|
})
|
|
22
24
|
)
|
|
@@ -140,10 +140,10 @@ const minLength = 6
|
|
|
140
140
|
const maxLength = 50
|
|
141
141
|
const size = 21
|
|
142
142
|
const length = 10 * size
|
|
143
|
-
const StringIdArb = (): S.LazyArbitrary<
|
|
143
|
+
const StringIdArb = (): S.LazyArbitrary<StringId> => (fc) =>
|
|
144
144
|
fc
|
|
145
145
|
.uint8Array({ minLength: length, maxLength: length })
|
|
146
|
-
.map((_) => customRandom(urlAlphabet, size, (size) => _.subarray(0, size))())
|
|
146
|
+
.map((_) => customRandom(urlAlphabet, size, (size) => _.subarray(0, size))() as StringId)
|
|
147
147
|
/**
|
|
148
148
|
* A string that is at least 6 characters long and a maximum of 50.
|
|
149
149
|
*/
|
|
@@ -154,7 +154,7 @@ export const StringId = extendM(
|
|
|
154
154
|
fromBrand(nominal<StringId>(), {
|
|
155
155
|
identifier: "StringId",
|
|
156
156
|
title: "StringId",
|
|
157
|
-
|
|
157
|
+
toArbitrary: () => (fc) => StringIdArb()(fc),
|
|
158
158
|
jsonSchema: {}
|
|
159
159
|
})
|
|
160
160
|
),
|
|
@@ -185,11 +185,13 @@ export function prefixedStringId<Brand extends StringId>() {
|
|
|
185
185
|
const s: S.Codec<string & Brand, string> = StringId
|
|
186
186
|
.pipe(
|
|
187
187
|
S.refine((x: string): x is string & Brand => x.startsWith(pref), {
|
|
188
|
-
arbitrary: arb,
|
|
189
188
|
identifier: name,
|
|
190
189
|
title: name
|
|
190
|
+
}),
|
|
191
|
+
S.annotate({
|
|
192
|
+
toArbitrary: () => (fc) => arb()(fc)
|
|
191
193
|
})
|
|
192
|
-
) as
|
|
194
|
+
) as S.Codec<string & Brand, string>
|
|
193
195
|
const schema = s.pipe(withDefaultMake)
|
|
194
196
|
const make = () => (pref + StringId.make().substring(0, 50 - pref.length)) as Brand
|
|
195
197
|
|
|
@@ -246,10 +248,12 @@ export const Url = S
|
|
|
246
248
|
.String
|
|
247
249
|
.pipe(
|
|
248
250
|
S.refine(isUrl, {
|
|
249
|
-
arbitrary: (): S.LazyArbitrary<Url> => (fc) => fc.webUrl().map((_) => _ as Url),
|
|
250
251
|
identifier: "Url",
|
|
251
252
|
title: "Url",
|
|
252
253
|
jsonSchema: { format: "uri" }
|
|
253
254
|
}),
|
|
255
|
+
S.annotate({
|
|
256
|
+
toArbitrary: () => (fc) => fc.webUrl().map((_) => _ as Url)
|
|
257
|
+
}),
|
|
254
258
|
withDefaultMake
|
|
255
259
|
)
|
|
@@ -17,8 +17,10 @@ export const PhoneNumber = S
|
|
|
17
17
|
identifier: "PhoneNumber",
|
|
18
18
|
title: "PhoneNumber",
|
|
19
19
|
description: "a phone number with at least 7 digits",
|
|
20
|
-
arbitrary: () => (fc: any) => Numbers(7, 10)(fc).map((_: any) => _ as PhoneNumber),
|
|
21
20
|
jsonSchema: { format: "phone" }
|
|
22
21
|
}),
|
|
22
|
+
S.annotate({
|
|
23
|
+
toArbitrary: () => (fc) => Numbers(7, 10)(fc).map((_) => _ as PhoneNumber)
|
|
24
|
+
}),
|
|
23
25
|
withDefaultMake
|
|
24
26
|
)
|
package/src/Schema.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Array, Option, pipe, SchemaAST, type Tracer } from "effect"
|
|
|
2
2
|
import * as S from "effect/Schema"
|
|
3
3
|
import type { NonEmptyReadonlyArray } from "./Array.js"
|
|
4
4
|
import { fakerArb } from "./faker.js"
|
|
5
|
-
import { Email as EmailT } from "./Schema/email.js"
|
|
5
|
+
import { Email as EmailT, type Email as EmailType } from "./Schema/email.js"
|
|
6
6
|
import { withDefaultMake } from "./Schema/ext.js"
|
|
7
|
-
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js"
|
|
7
|
+
import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js"
|
|
8
8
|
import type { AST } from "./Schema/schema.js"
|
|
9
9
|
import { extendM } from "./utils.js"
|
|
10
10
|
|
|
@@ -40,34 +40,39 @@ export interface WithOptionalSpan {
|
|
|
40
40
|
[SpanId]?: Tracer.Span
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
const makeEmail = S.decodeSync(EmailT as any) as (value: string) => EmailType
|
|
44
|
+
const makePhoneNumber = S.decodeSync(PhoneNumberT as any) as (value: string) => PhoneNumberType
|
|
45
|
+
|
|
43
46
|
export const Email = EmailT
|
|
44
47
|
.pipe(
|
|
45
48
|
S.annotate({
|
|
46
49
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
47
|
-
|
|
50
|
+
toArbitrary: () => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(makeEmail)
|
|
48
51
|
}),
|
|
49
52
|
withDefaultMake
|
|
50
53
|
)
|
|
51
54
|
|
|
52
|
-
export type Email =
|
|
55
|
+
export type Email = EmailType
|
|
53
56
|
|
|
54
57
|
export const PhoneNumber = PhoneNumberT
|
|
55
58
|
.pipe(
|
|
56
59
|
S.annotate({
|
|
57
|
-
|
|
60
|
+
toArbitrary: () => (fc) =>
|
|
58
61
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
59
|
-
fakerArb((faker) => faker.phone.number)(fc).map(
|
|
62
|
+
fakerArb((faker) => faker.phone.number)(fc).map(makePhoneNumber)
|
|
60
63
|
}),
|
|
61
64
|
withDefaultMake
|
|
62
65
|
)
|
|
63
66
|
|
|
67
|
+
export type PhoneNumber = PhoneNumberType
|
|
68
|
+
|
|
64
69
|
export const makeIs = <A extends { _tag: string }, I, R>(
|
|
65
70
|
schema: S.Codec<A, I, R>
|
|
66
71
|
) => {
|
|
67
72
|
// In v4, transformations are stored as encoding on nodes, not as wrapper nodes.
|
|
68
73
|
// Union member ASTs are directly Objects (TypeLiteral equivalent).
|
|
69
74
|
if (SchemaAST.isUnion(schema.ast)) {
|
|
70
|
-
return schema.ast.types.reduce((acc
|
|
75
|
+
return schema.ast.types.reduce((acc, t: AST.AST) => {
|
|
71
76
|
if (!SchemaAST.isObjects(t)) return acc
|
|
72
77
|
const tag = Array.findFirst(t.propertySignatures, (_: any) => {
|
|
73
78
|
if (_.name === "_tag" && SchemaAST.isLiteral(_.type)) {
|
|
@@ -162,5 +167,3 @@ export const TaggedUnion = <
|
|
|
162
167
|
tags: tags(a as any)
|
|
163
168
|
}))
|
|
164
169
|
)
|
|
165
|
-
|
|
166
|
-
export type PhoneNumber = PhoneNumberT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moreStrings.test.d.ts","sourceRoot":"","sources":["../moreStrings.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { S } from "effect-app"
|
|
2
|
+
import * as fc from "fast-check"
|
|
3
|
+
import { urlAlphabet } from "nanoid"
|
|
4
|
+
import { test } from "vitest"
|
|
5
|
+
|
|
6
|
+
const nanoidAlphabet = new Set(urlAlphabet)
|
|
7
|
+
|
|
8
|
+
const isNanoId = (value: string) => value.length === 21 && Array.from(value).every((char) => nanoidAlphabet.has(char))
|
|
9
|
+
|
|
10
|
+
test("StringId arbitrary generates nanoid-shaped values", () => {
|
|
11
|
+
fc.assert(
|
|
12
|
+
fc.property(S.toArbitrary(S.StringId), (value) => {
|
|
13
|
+
expect(isNanoId(value)).toBe(true)
|
|
14
|
+
expect(S.is(S.StringId)(value)).toBe(true)
|
|
15
|
+
})
|
|
16
|
+
)
|
|
17
|
+
})
|