effect-app 0.199.0 → 0.201.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 CHANGED
@@ -1,5 +1,28 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 0.201.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 290a709: update packages
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [290a709]
12
+ - @effect-app/schema@0.220.0
13
+ - @effect-app/core@0.169.0
14
+
15
+ ## 0.200.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 564a95c: fix branded schemas
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [564a95c]
24
+ - @effect-app/schema@0.219.0
25
+
3
26
  ## 0.199.0
4
27
 
5
28
  ### Minor Changes
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 _validation = require("@effect-app/core/validation");
17
- var _schema = _interopRequireWildcard(require("@effect-app/schema"));
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] === _schema[key]) return;
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 _schema[key];
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.string.pipe(S.filter(_validation.isValidEmail, {
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.string.pipe(S.filter(_validation.isValidPhone, {
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)) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.cjs","names":["_core","require","_validation","_schema","_interopRequireWildcard","S","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","string","pipe","filter","isValidEmail","title","description","jsonSchema","format","arbitrary","fakerArb","faker","internet","exampleEmail","fromBrand","nominal","withDefaults","PhoneNumber","isValidPhone","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":";;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAuH,IAAAI,CAAA,GAAAF,OAAA;AA6FvHG,MAAA,CAAAC,IAAA,CAAAJ,OAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,OAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,OAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AA3FA,IAAAS,MAAA,GAAAjB,OAAA;AACA,IAAAkB,MAAA,GAAAlB,OAAA;AAAoC,SAAAmB,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,SAAAjB,wBAAAiB,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,CAAAP,GAAA,CAAAI,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAxB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAyB,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAArB,cAAA,CAAAC,IAAA,CAAAS,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAAxB,MAAA,CAAAyB,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAhB,GAAA,IAAAgB,CAAA,CAAAC,GAAA,IAAA5B,MAAA,CAAAS,cAAA,CAAAa,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA;AAE7B,MAAMO,KAAK,GAAArB,OAAA,CAAAqB,KAAA,GAAG9B,CAAC,CACnB+B,MAAM,CACNC,IAAI,CACHhC,CAAC,CAACiC,MAAM,CAACC,wBAAY,EAAE;EACrBC,KAAK,EAAE,OAAO;EACdC,WAAW,EAAE,gCAAgC;EAC7CC,UAAU,EAAE;IAAEC,MAAM,EAAE;EAAO,CAAE;EAC/B;EACAC,SAAS,EAAEA,CAAA,KAA2B,IAAAC,eAAQ,EAAEC,KAAK,IAAKA,KAAK,CAACC,QAAQ,CAACC,YAAY;CACtF,CAAC,EACF,IAAAC,iBAAS,EAAC,IAAAC,eAAO,GAAS,EAAE;EAAER,UAAU,EAAE;AAAE,CAAE,CAAC,EAC/CrC,CAAC,CAAC8C,YAAY,CACf;AAII,MAAMC,WAAW,GAAAtC,OAAA,CAAAsC,WAAA,GAAG/C,CAAC,CACzB+B,MAAM,CACNC,IAAI,CACHhC,CAAC,CAACiC,MAAM,CAACe,wBAAY,EAAE;EACrBb,KAAK,EAAE,aAAa;EACpBC,WAAW,EAAE,uCAAuC;EACpDC,UAAU,EAAE;IAAEC,MAAM,EAAE;EAAO,CAAE;EAC/B;EACAC,SAAS,EAAEA,CAAA,KAA2B,IAAAC,eAAQ,EAAEC,KAAK,IAAKA,KAAK,CAACQ,KAAK,CAACC,MAAM;CAC7E,CAAC,EACF,IAAAN,iBAAS,EAAC,IAAAC,eAAO,GAAe,EAAE;EAAER,UAAU,EAAE;AAAE,CAAE,CAAC,EACrDrC,CAAC,CAAC8C,YAAY,CACf;AAEI,MAAMK,MAAM,GACjBC,MAAyB,IACvB;EACF,IAAIpD,CAAC,CAACqD,GAAG,CAACC,OAAO,CAACF,MAAM,CAACG,GAAG,CAAC,EAAE;IAC7B,OAAOH,MAAM,CAACG,GAAG,CAACC,KAAK,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEvC,CAAC,KAAI;MACxC,IAAInB,CAAC,CAACqD,GAAG,CAACM,WAAW,CAACxC,CAAC,CAAC,EAAE;QACxB,IAAInB,CAAC,CAACqD,GAAG,CAACO,aAAa,CAACzC,CAAC,CAAC0C,EAAE,CAAC,EAAE;UAC7B1C,CAAC,GAAGA,CAAC,CAAC2C,IAAI;QACZ,CAAC,MAAM;UACL3C,CAAC,GAAGA,CAAC,CAAC0C,EAAE;QACV;MACF;MACA,IAAI,CAAC7D,CAAC,CAACqD,GAAG,CAACU,aAAa,CAAC5C,CAAC,CAAC,EAAE,OAAOuC,GAAG;MACvC,MAAMM,GAAG,GAAGC,mBAAa,CAACC,SAAS,CAAC/C,CAAC,CAACgD,kBAAkB,EAAGC,CAAC,IAAI;QAC9D,IAAIA,CAAC,CAACC,IAAI,KAAK,MAAM,IAAIrE,CAAC,CAACqD,GAAG,CAACiB,SAAS,CAACF,CAAC,CAACG,IAAI,CAAC,EAAE;UAChD,OAAOC,YAAM,CAACC,IAAI,CAACL,CAAC,CAACG,IAAI,CAAC;QAC5B;QACA,OAAOC,YAAM,CAACE,IAAI,EAAE;MACtB,CAAC,CAAC;MACF,MAAMnB,GAAG,GAAGiB,YAAM,CAACG,cAAc,CAACX,GAAG,CAAC;MACtC,IAAI,CAACT,GAAG,EAAE;QACR,OAAOG,GAAG;MACZ;MACA,OAAO;QACL,GAAGA,GAAG;QACN,CAACkB,MAAM,CAACrB,GAAG,CAACsB,OAAO,CAAC,GAAIC,CAAmB,IAAKA,CAAC,CAACC,IAAI,KAAKxB,GAAG,CAACsB;OAChE;IACH,CAAC,EAAE,EAAW,CAAC;EACjB;EACA,MAAM,IAAIG,KAAK,CAAC,aAAa,CAAC;AAChC,CAAC;AAAAvE,OAAA,CAAA0C,MAAA,GAAAA,MAAA;AAEM,MAAM8B,WAAW,GACtB7B,MAAyB,IACb;EACZ,IAAIpD,CAAC,CAACqD,GAAG,CAACC,OAAO,CAACF,MAAM,CAACG,GAAG,CAAC,EAAE;IAC7B,OAAO,CAA2B,GAAGrD,IAAU,KAAMuB,CAAI,IACvDvB,IAAI,CAACgF,QAAQ,CAACzD,CAAC,CAACsD,IAAI,CAAC;EACzB;EACA,MAAM,IAAIC,KAAK,CAAC,aAAa,CAAC;AAChC,CAAC;AAAAvE,OAAA,CAAAwE,WAAA,GAAAA,WAAA;AAEM,MAAME,iBAAiB,GAC5B/B,MAAyB,IACtB,IAAAgC,cAAO,EAAChC,MAAM,EAAGgB,CAAC,KAAM;EAAEiB,EAAE,EAAElC,MAAM,CAACiB,CAAC,CAAC;EAAEkB,OAAO,EAAEL,WAAW,CAACb,CAAC;AAAC,CAAE,CAAC,CAAC;AAAA3D,OAAA,CAAA0E,iBAAA,GAAAA,iBAAA;AASlE,MAAMI,WAAW,GAAGA,CAAkE,GAAG9D,CAAU,KACxG,IAAAO,UAAI,EAAChC,CAAC,CAACwF,KAAK,CAAC,GAAG/D,CAAC,CAAC,EAAG2C,CAAC,IAAK,IAAAgB,cAAO,EAAChB,CAAC,EAAGA,CAAC,KAAM;EAAEiB,EAAE,EAAElC,MAAM,CAACiB,CAAC,CAAC;EAAEkB,OAAO,EAAEL,WAAW,CAACb,CAAC;AAAC,CAAE,CAAC,CAAC,CAAC;AAAA3D,OAAA,CAAA8E,WAAA,GAAAA,WAAA","ignoreList":[]}
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":[]}
@@ -66,15 +66,15 @@ declare const Operation_base: S.EnhancedClass<Operation, {
66
66
  createdAt: S.PropertySignature<":", Date, never, ":", string, true, never>;
67
67
  updatedAt: S.PropertySignature<":", Date | null, never, ":", string | null, true, never>;
68
68
  }, {
69
- readonly title: string & S.NonEmptyString2kBrand;
70
69
  readonly id: string & S.StringIdBrand;
70
+ readonly title: string & S.NonEmptyString2kBrand;
71
71
  readonly progress?: OperationProgress | undefined;
72
72
  readonly result?: Success | Failure | undefined;
73
73
  readonly createdAt: Date;
74
74
  readonly updatedAt: Date | null;
75
75
  }, Operation.From, never, {
76
- readonly title: string & S.NonEmptyString2kBrand;
77
76
  readonly id: string & S.StringIdBrand;
77
+ readonly title: string & S.NonEmptyString2kBrand;
78
78
  readonly progress?: OperationProgress | undefined;
79
79
  readonly result?: Success | Failure | undefined;
80
80
  readonly createdAt?: Date;
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
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,KAAK,IAAI,MAAM,EAAsB,KAAK,WAAW,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACvH,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAIvC,eAAO,MAAM,KAAK,iHAYf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,eAAO,MAAM,WAAW,6HAYrB,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;AAEtC,cAAc,oBAAoB,CAAA"}
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
- .string
9
- .pipe(S.filter(isValidEmail, {
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
- }), fromBrand(nominal(), { jsonSchema: {} }), S.withDefaults);
10
+ arbitrary: () => (fc) => fakerArb((faker) => faker.internet.exampleEmail)(fc).map(Email)
11
+ }), S.withDefaults);
16
12
  export const PhoneNumber = S
17
- .string
18
- .pipe(S.filter(isValidPhone, {
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
- }), fromBrand(nominal(), { jsonSchema: {} }), S.withDefaults);
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
- export * from "@effect-app/schema";
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.199.0",
3
+ "version": "0.201.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -12,13 +12,13 @@
12
12
  "ts-pattern": "^5.1.0",
13
13
  "uuid": "^9.0.1",
14
14
  "validator": "^13.11.0",
15
- "@effect-app/schema": "0.218.0",
16
- "@effect-app/core": "0.168.0"
15
+ "@effect-app/core": "0.169.0",
16
+ "@effect-app/schema": "0.220.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.12.2",
21
+ "@types/node": "~20.12.3",
22
22
  "@types/uuid": "^9.0.8",
23
23
  "@types/validator": "^13.11.9",
24
24
  "fast-check": "~3.17.1",
@@ -27,9 +27,9 @@
27
27
  "vitest": "^1.4.0"
28
28
  },
29
29
  "peerDependencies": {
30
- "@effect/platform": "^0.48.22",
31
- "effect": "^2.4.15",
32
- "@effect/schema": "^0.64.16"
30
+ "@effect/platform": "^0.48.24",
31
+ "effect": "^2.4.17",
32
+ "@effect/schema": "^0.64.18"
33
33
  },
34
34
  "typesVersions": {
35
35
  "*": {
package/src/schema.ts CHANGED
@@ -1,37 +1,30 @@
1
1
  import { Option, pipe, ReadonlyArray } from "@effect-app/core"
2
- import { isValidEmail, isValidPhone } from "@effect-app/core/validation"
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
- .string
10
+ .Email
10
11
  .pipe(
11
- S.filter(isValidEmail, {
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<string> => fakerArb((faker) => faker.internet.exampleEmail)
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
- .string
22
+ .PhoneNumber
26
23
  .pipe(
27
- S.filter(isValidPhone, {
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<string> => fakerArb((faker) => faker.phone.number)
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"
@@ -1,6 +1,15 @@
1
- import { StringId } from "@effect-app/schema"
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
  })