effect-app 0.198.2 → 0.200.0
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 +24 -0
- package/_cjs/Operations.cjs +1 -0
- package/_cjs/Operations.cjs.map +1 -1
- package/_cjs/schema.cjs +8 -24
- package/_cjs/schema.cjs.map +1 -1
- package/dist/Operations.d.ts +3 -0
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Operations.js +2 -1
- package/dist/schema.d.ts +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +10 -18
- package/package.json +8 -8
- package/src/Operations.ts +1 -0
- package/src/schema.ts +9 -18
- package/test/schema.test.ts +11 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 0.200.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 564a95c: fix branded schemas
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [564a95c]
|
|
12
|
+
- @effect-app/schema@0.219.0
|
|
13
|
+
|
|
14
|
+
## 0.199.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- ecb05f6: update packages
|
|
19
|
+
- fbfa538: add title to Operations and expose all
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [ecb05f6]
|
|
24
|
+
- @effect-app/schema@0.218.0
|
|
25
|
+
- @effect-app/core@0.168.0
|
|
26
|
+
|
|
3
27
|
## 0.198.2
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
package/_cjs/Operations.cjs
CHANGED
|
@@ -24,6 +24,7 @@ exports.Failure = Failure;
|
|
|
24
24
|
const OperationResult = exports.OperationResult = S.extendTaggedUnion(S.union(Success, Failure));
|
|
25
25
|
class Operation extends S.ExtendedClass()({
|
|
26
26
|
id: OperationId,
|
|
27
|
+
title: S.NonEmptyString2k,
|
|
27
28
|
progress: S.optional(OperationProgress),
|
|
28
29
|
result: S.optional(OperationResult),
|
|
29
30
|
createdAt: S.Date.withDefault,
|
package/_cjs/Operations.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.cjs","names":["S","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OperationId","exports","StringId","OperationProgress","ExtendedClass","completed","NonNegativeInt","total","Success","ExtendedTaggedClass","message","nullable","NonEmptyString2k","withDefault","Failure","OperationResult","extendTaggedUnion","union","Operation","id","progress","optional","result","createdAt","Date","updatedAt"],"sources":["../src/Operations.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGzB,MAAMW,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGvB,CAAC,CAACyB,QAAQ;AAE/B,MAAOC,iBAAkB,SAAQ1B,CAAC,CAAC2B,aAAa,EAGnD,CAAC;EACFC,SAAS,EAAE5B,CAAC,CAAC6B,cAAc;EAC3BC,KAAK,EAAE9B,CAAC,CAAC6B;CACV,CAAC;AAAGL,OAAA,CAAAE,iBAAA,GAAAA,iBAAA;AAEC,MAAOK,OAAQ,SAAQ/B,CAAC,CAACgC,mBAAmB,EAAyB,CAAC,SAAS,EAAE;EACrFC,OAAO,EAAEjC,CAAC,CAACkC,QAAQ,CAAClC,CAAC,CAACmC,gBAAgB,CAAC,CAACC;CACzC,CAAC;AAAGZ,OAAA,CAAAO,OAAA,GAAAA,OAAA;AAEC,MAAOM,OAAQ,SAAQrC,CAAC,CAACgC,mBAAmB,EAAyB,CAAC,SAAS,EAAE;EACrFC,OAAO,EAAEjC,CAAC,CAACkC,QAAQ,CAAClC,CAAC,CAACmC,gBAAgB,CAAC,CAACC;CACzC,CAAC;AAAGZ,OAAA,CAAAa,OAAA,GAAAA,OAAA;AAEE,MAAMC,eAAe,GAAAd,OAAA,CAAAc,eAAA,GAAGtC,CAAC,CAACuC,iBAAiB,CAACvC,CAAC,CAACwC,KAAK,CAACT,OAAO,EAAEM,OAAO,CAAC,CAAC;AAGvE,MAAOI,SAAU,SAAQzC,CAAC,CAAC2B,aAAa,EAA6B,CAAC;EAC1Ee,EAAE,EAAEnB,WAAW;EACfoB,
|
|
1
|
+
{"version":3,"file":"Operations.cjs","names":["S","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OperationId","exports","StringId","OperationProgress","ExtendedClass","completed","NonNegativeInt","total","Success","ExtendedTaggedClass","message","nullable","NonEmptyString2k","withDefault","Failure","OperationResult","extendTaggedUnion","union","Operation","id","title","progress","optional","result","createdAt","Date","updatedAt"],"sources":["../src/Operations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/schema.cjs
CHANGED
|
@@ -13,17 +13,15 @@ var _exportNames = {
|
|
|
13
13
|
};
|
|
14
14
|
exports.taggedUnion = exports.makeIsAnyOf = exports.makeIs = exports.extendTaggedUnion = exports.PhoneNumber = exports.Email = void 0;
|
|
15
15
|
var _core = require("@effect-app/core");
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var S = _schema;
|
|
19
|
-
Object.keys(_schema).forEach(function (key) {
|
|
16
|
+
var S = _interopRequireWildcard(require("@effect-app/schema"));
|
|
17
|
+
Object.keys(S).forEach(function (key) {
|
|
20
18
|
if (key === "default" || key === "__esModule") return;
|
|
21
19
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
22
|
-
if (key in exports && exports[key] ===
|
|
20
|
+
if (key in exports && exports[key] === S[key]) return;
|
|
23
21
|
Object.defineProperty(exports, key, {
|
|
24
22
|
enumerable: true,
|
|
25
23
|
get: function () {
|
|
26
|
-
return
|
|
24
|
+
return S[key];
|
|
27
25
|
}
|
|
28
26
|
});
|
|
29
27
|
});
|
|
@@ -31,27 +29,13 @@ var _faker = require("./faker.cjs");
|
|
|
31
29
|
var _utils = require("./utils.cjs");
|
|
32
30
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
33
31
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
34
|
-
const Email = exports.Email = S.
|
|
35
|
-
title: "Email",
|
|
36
|
-
description: "an email according to RFC 5322",
|
|
37
|
-
jsonSchema: {
|
|
38
|
-
format: "email"
|
|
39
|
-
},
|
|
32
|
+
const Email = exports.Email = S.Email.pipe(S.annotations({
|
|
40
33
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
41
|
-
arbitrary: () => (0, _faker.fakerArb)(faker => faker.internet.exampleEmail)
|
|
42
|
-
}), (0, _schema.fromBrand)((0, _schema.nominal)(), {
|
|
43
|
-
jsonSchema: {}
|
|
34
|
+
arbitrary: () => fc => (0, _faker.fakerArb)(faker => faker.internet.exampleEmail)(fc).map(Email)
|
|
44
35
|
}), S.withDefaults);
|
|
45
|
-
const PhoneNumber = exports.PhoneNumber = S.
|
|
46
|
-
title: "PhoneNumber",
|
|
47
|
-
description: "a phone number with at least 7 digits",
|
|
48
|
-
jsonSchema: {
|
|
49
|
-
format: "phone"
|
|
50
|
-
},
|
|
36
|
+
const PhoneNumber = exports.PhoneNumber = S.PhoneNumber.pipe(S.annotations({
|
|
51
37
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
52
|
-
arbitrary: () => (0, _faker.fakerArb)(faker => faker.phone.number)
|
|
53
|
-
}), (0, _schema.fromBrand)((0, _schema.nominal)(), {
|
|
54
|
-
jsonSchema: {}
|
|
38
|
+
arbitrary: () => fc => (0, _faker.fakerArb)(faker => faker.phone.number)(fc).map(PhoneNumber)
|
|
55
39
|
}), S.withDefaults);
|
|
56
40
|
const makeIs = schema => {
|
|
57
41
|
if (S.AST.isUnion(schema.ast)) {
|
package/_cjs/schema.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.cjs","names":["_core","require","
|
|
1
|
+
{"version":3,"file":"schema.cjs","names":["_core","require","S","_interopRequireWildcard","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_faker","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","Email","pipe","annotations","arbitrary","fc","fakerArb","faker","internet","exampleEmail","map","withDefaults","PhoneNumber","phone","number","makeIs","schema","AST","isUnion","ast","types","reduce","acc","isTransform","isDeclaration","to","from","isTypeLiteral","tag","ReadonlyArray","findFirst","propertySignatures","_","name","isLiteral","type","Option","some","none","getOrUndefined","String","literal","x","_tag","Error","makeIsAnyOf","includes","extendTaggedUnion","extendM","is","isAnyOf","taggedUnion","union"],"sources":["../src/schema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/Operations.d.ts
CHANGED
|
@@ -60,18 +60,21 @@ declare const Operation_base: S.EnhancedClass<Operation, {
|
|
|
60
60
|
make: () => S.StringId;
|
|
61
61
|
withDefault: S.PropertySignature<":", S.StringId, never, ":", string, true, never>;
|
|
62
62
|
};
|
|
63
|
+
title: S.WithDefaults<S.Schema<string & S.NonEmptyString2kBrand, string, never>> & S.Schema<string & S.NonEmptyString2kBrand, string, never>;
|
|
63
64
|
progress: S.PropertySignature<"?:", OperationProgress | undefined, never, "?:", OperationProgress.From | undefined, false, never>;
|
|
64
65
|
result: S.PropertySignature<"?:", Success | Failure | undefined, never, "?:", Success.From | Failure.From | undefined, false, never>;
|
|
65
66
|
createdAt: S.PropertySignature<":", Date, never, ":", string, true, never>;
|
|
66
67
|
updatedAt: S.PropertySignature<":", Date | null, never, ":", string | null, true, never>;
|
|
67
68
|
}, {
|
|
68
69
|
readonly id: string & S.StringIdBrand;
|
|
70
|
+
readonly title: string & S.NonEmptyString2kBrand;
|
|
69
71
|
readonly progress?: OperationProgress | undefined;
|
|
70
72
|
readonly result?: Success | Failure | undefined;
|
|
71
73
|
readonly createdAt: Date;
|
|
72
74
|
readonly updatedAt: Date | null;
|
|
73
75
|
}, Operation.From, never, {
|
|
74
76
|
readonly id: string & S.StringIdBrand;
|
|
77
|
+
readonly title: string & S.NonEmptyString2kBrand;
|
|
75
78
|
readonly progress?: OperationProgress | undefined;
|
|
76
79
|
readonly result?: Success | Failure | undefined;
|
|
77
80
|
readonly createdAt?: Date;
|
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,OAAQ,SAAQ,YAE3B;CAAG;;;;;;;;;;;AAEL,qBAAa,OAAQ,SAAQ,YAE3B;CAAG;AAEL,eAAO,MAAM,eAAe;;;CAAiD,CAAA;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA
|
|
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,OAAQ,SAAQ,YAE3B;CAAG;;;;;;;;;;;AAEL,qBAAa,OAAQ,SAAQ,YAE3B;CAAG;AAEL,eAAO,MAAM,eAAe;;;CAAiD,CAAA;AAC7E,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,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACtF;AACD,yBAAiB,OAAO,CAAC;IACvB,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAAG;CAC5E;AACD,yBAAiB,OAAO,CAAC;IACvB,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAAG;CAC5E;AACD,yBAAiB,SAAS,CAAC;IACzB,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;KAAG;CAC9E"}
|
package/dist/Operations.js
CHANGED
|
@@ -16,6 +16,7 @@ export class Failure extends S.ExtendedTaggedClass()("Failure", {
|
|
|
16
16
|
export const OperationResult = S.extendTaggedUnion(S.union(Success, Failure));
|
|
17
17
|
export class Operation extends S.ExtendedClass()({
|
|
18
18
|
id: OperationId,
|
|
19
|
+
title: S.NonEmptyString2k,
|
|
19
20
|
progress: S.optional(OperationProgress),
|
|
20
21
|
result: S.optional(OperationResult),
|
|
21
22
|
createdAt: S.Date.withDefault,
|
|
@@ -25,4 +26,4 @@ export class Operation extends S.ExtendedClass()({
|
|
|
25
26
|
/* eslint-enable */
|
|
26
27
|
//
|
|
27
28
|
// codegen:end
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBR2hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFBO0FBRXJDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxDQUFDLENBQUMsYUFBYSxFQUduRCxDQUFDO0lBQ0YsU0FBUyxFQUFFLENBQUMsQ0FBQyxjQUFjO0lBQzNCLEtBQUssRUFBRSxDQUFDLENBQUMsY0FBYztDQUN4QixDQUFDO0NBQUc7QUFFTCxNQUFNLE9BQU8sT0FBUSxTQUFRLENBQUMsQ0FBQyxtQkFBbUIsRUFBeUIsQ0FBQyxTQUFTLEVBQUU7SUFDckYsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FBVztDQUNwRCxDQUFDO0NBQUc7QUFFTCxNQUFNLE9BQU8sT0FBUSxTQUFRLENBQUMsQ0FBQyxtQkFBbUIsRUFBeUIsQ0FBQyxTQUFTLEVBQUU7SUFDckYsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FBVztDQUNwRCxDQUFDO0NBQUc7QUFFTCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFHN0UsTUFBTSxPQUFPLFNBQVUsU0FBUSxDQUFDLENBQUMsYUFBYSxFQUE2QixDQUFDO0lBQzFFLEVBQUUsRUFBRSxXQUFXO0lBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7SUFDdkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ25DLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVc7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVc7Q0FDMUMsQ0FBQztDQUFHO0FBaUJMLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsY0FBYyJ9
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Email as EmailT, type PhoneNumber as PhoneNumberT } from "@effect-app/schema";
|
|
2
2
|
import * as S from "@effect-app/schema";
|
|
3
|
+
export * from "@effect-app/schema";
|
|
3
4
|
export declare const Email: S.WithDefaults<S.Schema<string & S.EmailBrand, string, never>> & S.Schema<string & S.EmailBrand, string, never>;
|
|
4
5
|
export type Email = EmailT;
|
|
5
6
|
export declare const PhoneNumber: S.WithDefaults<S.Schema<string & S.PhoneNumberBrand, string, never>> & S.Schema<string & S.PhoneNumberBrand, string, never>;
|
|
@@ -36,5 +37,4 @@ export declare const taggedUnion: <Members extends readonly S.Schema<{
|
|
|
36
37
|
isAnyOf: IsAny<S.Schema.Type<[...Members][number]>>;
|
|
37
38
|
};
|
|
38
39
|
export type PhoneNumber = PhoneNumberT;
|
|
39
|
-
export * from "@effect-app/schema";
|
|
40
40
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,KAAK,IAAI,MAAM,EAAE,KAAK,WAAW,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAIvC,cAAc,oBAAoB,CAAA;AAElC,eAAO,MAAM,KAAK,iHAQf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,eAAO,MAAM,WAAW,6HAQrB,CAAA;AAEH,eAAO,MAAM,MAAM;UAAsB,MAAM;iBACrC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UA6B1B,CAAA;AAED,eAAO,MAAM,WAAW;UAAsB,MAAM;iBAC1C,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,CAMT,CAAA;AAED,eAAO,MAAM,iBAAiB;UAAsB,MAAM;iBAChD,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;CAC8C,CAAA;AAEzE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/G,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;CAAE,CAAA;AACxF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC9D,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;IAC/C,CAAC,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;CAC1F;AAED,eAAO,MAAM,WAAW;UAA8C,MAAM;sBAAuB,OAAO;;;CACb,CAAA;AAE7F,MAAM,MAAM,WAAW,GAAG,YAAY,CAAA"}
|
package/dist/schema.js
CHANGED
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
import { Option, pipe, ReadonlyArray } from "@effect-app/core";
|
|
2
|
-
import { isValidEmail, isValidPhone } from "@effect-app/core/validation";
|
|
3
|
-
import { fromBrand, nominal } from "@effect-app/schema";
|
|
4
2
|
import * as S from "@effect-app/schema";
|
|
5
3
|
import { fakerArb } from "./faker.js";
|
|
6
4
|
import { extendM } from "./utils.js";
|
|
5
|
+
export * from "@effect-app/schema";
|
|
7
6
|
export const Email = S
|
|
8
|
-
.
|
|
9
|
-
.pipe(S.
|
|
10
|
-
title: "Email",
|
|
11
|
-
description: "an email according to RFC 5322",
|
|
12
|
-
jsonSchema: { format: "email" },
|
|
7
|
+
.Email
|
|
8
|
+
.pipe(S.annotations({
|
|
13
9
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
14
|
-
arbitrary: () => fakerArb((faker) => faker.internet.exampleEmail)
|
|
15
|
-
}),
|
|
10
|
+
arbitrary: () => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(Email)
|
|
11
|
+
}), S.withDefaults);
|
|
16
12
|
export const PhoneNumber = S
|
|
17
|
-
.
|
|
18
|
-
.pipe(S.
|
|
19
|
-
title: "PhoneNumber",
|
|
20
|
-
description: "a phone number with at least 7 digits",
|
|
21
|
-
jsonSchema: { format: "phone" },
|
|
13
|
+
.PhoneNumber
|
|
14
|
+
.pipe(S.annotations({
|
|
22
15
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
23
|
-
arbitrary: () => fakerArb((faker) => faker.phone.number)
|
|
24
|
-
}),
|
|
16
|
+
arbitrary: () => (fc) => fakerArb((faker) => faker.phone.number)(fc).map(PhoneNumber)
|
|
17
|
+
}), S.withDefaults);
|
|
25
18
|
export const makeIs = (schema) => {
|
|
26
19
|
if (S.AST.isUnion(schema.ast)) {
|
|
27
20
|
return schema.ast.types.reduce((acc, t) => {
|
|
@@ -61,5 +54,4 @@ export const makeIsAnyOf = (schema) => {
|
|
|
61
54
|
};
|
|
62
55
|
export const extendTaggedUnion = (schema) => extendM(schema, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_) }));
|
|
63
56
|
export const taggedUnion = (...a) => pipe(S.union(...a), (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_) })));
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBZ0MsU0FBUyxFQUFFLE9BQU8sRUFBb0MsTUFBTSxvQkFBb0IsQ0FBQTtBQUN2SCxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVwQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQztLQUNuQixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO0lBQ3JCLEtBQUssRUFBRSxPQUFPO0lBQ2QsV0FBVyxFQUFFLGdDQUFnQztJQUM3QyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQy9CLDZEQUE2RDtJQUM3RCxTQUFTLEVBQUUsR0FBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7Q0FDdkYsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxPQUFPLEVBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUMvQyxDQUFDLENBQUMsWUFBWSxDQUNmLENBQUE7QUFJSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQztLQUN6QixNQUFNO0tBQ04sSUFBSSxDQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO0lBQ3JCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFdB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LEdBQUcsQ0FDL0IsTUFBeUIsRUFDekIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFTekUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQWtFLEdBQUcsQ0FBVSxFQUFFLEVBQUUsQ0FDNUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBSTdGLGNBQWMsb0JBQW9CLENBQUEifQ==
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUU5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVwQyxjQUFjLG9CQUFvQixDQUFBO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDO0tBQ25CLEtBQUs7S0FDTCxJQUFJLENBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNaLDZEQUE2RDtJQUM3RCxTQUFTLEVBQUUsR0FBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztDQUM3RyxDQUFDLEVBQ0YsQ0FBQyxDQUFDLFlBQVksQ0FDZixDQUFBO0FBSUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUM7S0FDekIsV0FBVztLQUNYLElBQUksQ0FDSCxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ1osNkRBQTZEO0lBQzdELFNBQVMsRUFBRSxHQUE2QixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0NBQ2hILENBQUMsRUFDRixDQUFDLENBQUMsWUFBWSxDQUNmLENBQUE7QUFFSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FDcEIsTUFBeUIsRUFDekIsRUFBRTtJQUNGLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUM5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQTtnQkFDWixDQUFDO3FCQUFNLENBQUM7b0JBQ04sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUE7Z0JBQ1YsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE9BQU8sR0FBRyxDQUFBO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2pELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzVCLENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQUE7WUFDRixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3RDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDVCxPQUFPLEdBQUcsQ0FBQTtZQUNaLENBQUM7WUFDRCxPQUFPO2dCQUNMLEdBQUcsR0FBRztnQkFDTixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU87YUFDdkUsQ0FBQTtRQUNILENBQUMsRUFBRSxFQUFXLENBQUMsQ0FBQTtJQUNqQixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsTUFBeUIsRUFDZixFQUFFO0lBQ1osSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQTJCLEdBQUcsSUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUksRUFBd0MsRUFBRSxDQUNqRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixNQUF5QixFQUN6QixFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQVN6RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBa0UsR0FBRyxDQUFVLEVBQUUsRUFBRSxDQUM1RyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.200.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,27 +9,27 @@
|
|
|
9
9
|
"nanoid": "^5.0.6",
|
|
10
10
|
"path-parser": "^6.1.0",
|
|
11
11
|
"query-string": "^9.0.0",
|
|
12
|
-
"ts-pattern": "^5.0
|
|
12
|
+
"ts-pattern": "^5.1.0",
|
|
13
13
|
"uuid": "^9.0.1",
|
|
14
14
|
"validator": "^13.11.0",
|
|
15
|
-
"@effect-app/core": "0.
|
|
16
|
-
"@effect-app/schema": "0.
|
|
15
|
+
"@effect-app/core": "0.168.0",
|
|
16
|
+
"@effect-app/schema": "0.219.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@babel/cli": "^7.24.1",
|
|
20
20
|
"@faker-js/faker": "^8.4.1",
|
|
21
|
-
"@types/node": "~20.
|
|
21
|
+
"@types/node": "~20.12.2",
|
|
22
22
|
"@types/uuid": "^9.0.8",
|
|
23
23
|
"@types/validator": "^13.11.9",
|
|
24
|
-
"fast-check": "~3.17.
|
|
24
|
+
"fast-check": "~3.17.1",
|
|
25
25
|
"ts-node": "^10.9.2",
|
|
26
26
|
"typescript": "^5.4.3",
|
|
27
27
|
"vitest": "^1.4.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@effect/platform": "^0.48.
|
|
30
|
+
"@effect/platform": "^0.48.22",
|
|
31
31
|
"effect": "^2.4.15",
|
|
32
|
-
"@effect/schema": "^0.64.
|
|
32
|
+
"@effect/schema": "^0.64.16"
|
|
33
33
|
},
|
|
34
34
|
"typesVersions": {
|
|
35
35
|
"*": {
|
package/src/Operations.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type OperationResult = S.Schema.Type<typeof OperationResult>
|
|
|
24
24
|
|
|
25
25
|
export class Operation extends S.ExtendedClass<Operation, Operation.From>()({
|
|
26
26
|
id: OperationId,
|
|
27
|
+
title: S.NonEmptyString2k,
|
|
27
28
|
progress: S.optional(OperationProgress),
|
|
28
29
|
result: S.optional(OperationResult),
|
|
29
30
|
createdAt: S.Date.withDefault,
|
package/src/schema.ts
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
1
|
import { Option, pipe, ReadonlyArray } from "@effect-app/core"
|
|
2
|
-
import {
|
|
3
|
-
import { type A, type Email as EmailT, fromBrand, nominal, type PhoneNumber as PhoneNumberT } from "@effect-app/schema"
|
|
2
|
+
import { type A, type Email as EmailT, type PhoneNumber as PhoneNumberT } from "@effect-app/schema"
|
|
4
3
|
import * as S from "@effect-app/schema"
|
|
5
4
|
import { fakerArb } from "./faker.js"
|
|
6
5
|
import { extendM } from "./utils.js"
|
|
7
6
|
|
|
7
|
+
export * from "@effect-app/schema"
|
|
8
|
+
|
|
8
9
|
export const Email = S
|
|
9
|
-
.
|
|
10
|
+
.Email
|
|
10
11
|
.pipe(
|
|
11
|
-
S.
|
|
12
|
-
title: "Email",
|
|
13
|
-
description: "an email according to RFC 5322",
|
|
14
|
-
jsonSchema: { format: "email" },
|
|
12
|
+
S.annotations({
|
|
15
13
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
16
|
-
arbitrary: (): A.Arbitrary<
|
|
14
|
+
arbitrary: (): A.Arbitrary<Email> => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(Email)
|
|
17
15
|
}),
|
|
18
|
-
fromBrand(nominal<Email>(), { jsonSchema: {} }),
|
|
19
16
|
S.withDefaults
|
|
20
17
|
)
|
|
21
18
|
|
|
22
19
|
export type Email = EmailT
|
|
23
20
|
|
|
24
21
|
export const PhoneNumber = S
|
|
25
|
-
.
|
|
22
|
+
.PhoneNumber
|
|
26
23
|
.pipe(
|
|
27
|
-
S.
|
|
28
|
-
title: "PhoneNumber",
|
|
29
|
-
description: "a phone number with at least 7 digits",
|
|
30
|
-
jsonSchema: { format: "phone" },
|
|
24
|
+
S.annotations({
|
|
31
25
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
32
|
-
arbitrary: (): A.Arbitrary<
|
|
26
|
+
arbitrary: (): A.Arbitrary<PhoneNumber> => (fc) => fakerArb((faker) => faker.phone.number)(fc).map(PhoneNumber)
|
|
33
27
|
}),
|
|
34
|
-
fromBrand(nominal<PhoneNumber>(), { jsonSchema: {} }),
|
|
35
28
|
S.withDefaults
|
|
36
29
|
)
|
|
37
30
|
|
|
@@ -92,5 +85,3 @@ export const taggedUnion = <Members extends readonly S.Schema<{ _tag: string },
|
|
|
92
85
|
pipe(S.union(...a), (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_) })))
|
|
93
86
|
|
|
94
87
|
export type PhoneNumber = PhoneNumberT
|
|
95
|
-
|
|
96
|
-
export * from "@effect-app/schema"
|
package/test/schema.test.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateFromArbitrary } from "@effect-app/infra/test.arbs"
|
|
2
|
+
import { JSONSchema } from "@effect/schema"
|
|
3
|
+
import { ReadonlyArray, S } from "effect-app"
|
|
2
4
|
import { test } from "vitest"
|
|
3
5
|
|
|
6
|
+
const A = S.struct({ a: S.NonEmptyString255, email: S.nullable(S.Email) })
|
|
4
7
|
test("works", () => {
|
|
5
|
-
console.log(StringId.make())
|
|
8
|
+
console.log(S.StringId.make())
|
|
9
|
+
console.log(generateFromArbitrary(S.A.make(A)).value)
|
|
10
|
+
console.log(S.AST.getTitleAnnotation(S.Email.ast))
|
|
11
|
+
console.log(S.AST.getDescriptionAnnotation(S.Email.ast))
|
|
12
|
+
console.log(S.AST.getJSONSchemaAnnotation(S.Email.ast))
|
|
13
|
+
console.log(JSONSchema.make(S.Email))
|
|
14
|
+
console.log(S.decodeEither(A, { errors: "all" })({ a: ReadonlyArray.range(1, 256).join(""), email: "hello" }))
|
|
6
15
|
})
|