effect-app 1.17.1 → 1.17.3

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,17 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 1.17.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 6a3e66a: feat: expose tags on TaggedUnion
8
+
9
+ ## 1.17.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 13b7aa1: fix: TaggedUnion should inherit the rest of Union
14
+
3
15
  ## 1.17.1
4
16
 
5
17
  ### Patch Changes
package/_cjs/schema.cjs CHANGED
@@ -9,10 +9,11 @@ var _exportNames = {
9
9
  makeIs: true,
10
10
  makeIsAnyOf: true,
11
11
  taggedUnionMap: true,
12
+ tags: true,
12
13
  ExtendTaggedUnion: true,
13
14
  TaggedUnion: true
14
15
  };
15
- exports.taggedUnionMap = exports.makeIsAnyOf = exports.makeIs = exports.TaggedUnion = exports.PhoneNumber = exports.ExtendTaggedUnion = exports.Email = void 0;
16
+ exports.tags = exports.taggedUnionMap = exports.makeIsAnyOf = exports.makeIs = exports.TaggedUnion = exports.PhoneNumber = exports.ExtendTaggedUnion = exports.Email = void 0;
16
17
  var _core = require("@effect-app/core");
17
18
  var S = _interopRequireWildcard(require("@effect-app/schema"));
18
19
  Object.keys(S).forEach(function (key) {
@@ -85,6 +86,13 @@ const taggedUnionMap = self => self.reduce((acc, key) => {
85
86
  return acc;
86
87
  }, {});
87
88
  exports.taggedUnionMap = taggedUnionMap;
89
+ const tags = self => S.Literal(...self.map(key => {
90
+ const ast = key.fields._tag.ast;
91
+ const tag = ast.type.literal;
92
+ return tag;
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
+ }));
95
+ exports.tags = tags;
88
96
  const ExtendTaggedUnion = schema => (0, _utils.extendM)(schema, _ => ({
89
97
  is: makeIs(_),
90
98
  isAnyOf: makeIsAnyOf(_) /*, map: taggedUnionMap(a) */
@@ -93,7 +101,8 @@ exports.ExtendTaggedUnion = ExtendTaggedUnion;
93
101
  const TaggedUnion = (...a) => (0, _core.pipe)(S.Union(...a), _ => (0, _utils.extendM)(_, _ => ({
94
102
  is: makeIs(_),
95
103
  isAnyOf: makeIsAnyOf(_),
96
- tagMap: taggedUnionMap(a)
104
+ tagMap: taggedUnionMap(a),
105
+ tags: tags(a)
97
106
  })));
98
107
  exports.TaggedUnion = TaggedUnion;
99
108
  //# sourceMappingURL=schema.cjs.map
@@ -1 +1 @@
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","withDefaultMake","PhoneNumber","phone","number","makeIs","schema","AST","isUnion","ast","types","reduce","acc","isTransformation","isDeclaration","to","from","isTypeLiteral","tag","Array","findFirst","propertySignatures","_","name","isLiteral","type","Option","some","none","getOrUndefined","String","literal","x","_tag","Error","makeIsAnyOf","includes","taggedUnionMap","self","fields","ExtendTaggedUnion","extendM","is","isAnyOf","TaggedUnion","Union","tagMap"],"sources":["../src/schema.ts"],"sourcesContent":[null],"mappings":"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","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","withDefaultMake","PhoneNumber","phone","number","makeIs","schema","AST","isUnion","ast","types","reduce","acc","isTransformation","isDeclaration","to","from","isTypeLiteral","tag","Array","findFirst","propertySignatures","_","name","isLiteral","type","Option","some","none","getOrUndefined","String","literal","x","_tag","Error","makeIsAnyOf","includes","taggedUnionMap","self","fields","tags","Literal","ExtendTaggedUnion","extendM","is","isAnyOf","TaggedUnion","Union","tagMap"],"sources":["../src/schema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,13 +38,14 @@ declare const Failure_base: S.EnhancedClass<Failure, {
38
38
  }, {}, {}>;
39
39
  export declare class Failure extends Failure_base {
40
40
  }
41
- export declare const OperationResult: S.Schema<Success | Failure, Success.From | Failure.From, never> & {
41
+ export declare const OperationResult: S.Union<[typeof Success, typeof Failure]> & {
42
42
  is: S.Is<Success | Failure>;
43
43
  isAnyOf: S.IsAny<Success | Failure>;
44
44
  tagMap: {
45
45
  Success: typeof Success;
46
46
  Failure: typeof Failure;
47
47
  };
48
+ tags: S.Literal<["Success", "Failure"]>;
48
49
  };
49
50
  export type OperationResult = S.Schema.Type<typeof OperationResult>;
50
51
  declare const Operation_base: S.EnhancedClass<Operation, {
@@ -57,13 +58,14 @@ declare const Operation_base: S.EnhancedClass<Operation, {
57
58
  };
58
59
  title: S.WithDefaults<S.Schema<string & S.NonEmptyString2kBrand, string, never>> & S.Schema<string & S.NonEmptyString2kBrand, string, never>;
59
60
  progress: S.optional<typeof OperationProgress>;
60
- result: S.optional<S.Schema<Success | Failure, Success.From | Failure.From, never> & {
61
+ result: S.optional<S.Union<[typeof Success, typeof Failure]> & {
61
62
  is: S.Is<Success | Failure>;
62
63
  isAnyOf: S.IsAny<Success | Failure>;
63
64
  tagMap: {
64
65
  Success: typeof Success;
65
66
  Failure: typeof Failure;
66
67
  };
68
+ tags: S.Literal<["Success", "Failure"]>;
67
69
  }>;
68
70
  createdAt: S.PropertySignature<":", Date, never, ":", string, true, never>;
69
71
  updatedAt: S.PropertySignature<":", Date | null, never, ":", string | null, true, never>;
@@ -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;;;;;;;CAAkC,CAAA;AAC9D,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"}
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;;;;;;;;CAAkC,CAAA;AAC9D,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/schema.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { NonEmptyReadonlyArray } from "@effect-app/core";
1
2
  import { Array } from "@effect-app/core";
2
3
  import { type Email as EmailT, type PhoneNumber as PhoneNumberT } from "@effect-app/schema";
3
4
  import * as S from "@effect-app/schema";
@@ -32,20 +33,28 @@ export declare const taggedUnionMap: <Members extends readonly (S.Schema<{
32
33
  _tag: S.tag<string>;
33
34
  };
34
35
  })[]>(self: Members) => { [Key in Members[number] as ReturnType<Key["fields"]["_tag"][typeof S.TypeId]["_A"]>]: Key; };
36
+ export declare const tags: <Members extends NonEmptyReadonlyArray<(S.Schema<{
37
+ _tag: string;
38
+ }, any, any> & {
39
+ fields: {
40
+ _tag: S.tag<string>;
41
+ };
42
+ })>>(self: Members) => S.Literal<{ [Index in keyof Members]: S.Schema.Type<Members[Index]["fields"]["_tag"]>; }>;
35
43
  export declare const ExtendTaggedUnion: <A extends {
36
44
  _tag: string;
37
45
  }, I, R>(schema: S.Schema<A, I, R>) => S.Schema<A, I, R> & {
38
46
  is: Is<A>;
39
47
  isAnyOf: IsAny<A>;
40
48
  };
41
- export declare const TaggedUnion: <Members extends ReadonlyArray<S.Schema.Any & {
49
+ export declare const TaggedUnion: <Members extends S.AST.Members<S.Schema.Any & {
42
50
  fields: {
43
51
  _tag: S.tag<any>;
44
52
  };
45
- }>>(...a: Members) => S.Schema<S.Schema.Type<[...Members][number]>, S.Schema.Encoded<[...Members][number]>, S.Schema.Context<[...Members][number]>> & {
53
+ }>>(...a: Members) => S.Union<[...Members]> & {
46
54
  is: Is<S.Schema.Type<[...Members][number]>>;
47
55
  isAnyOf: IsAny<S.Schema.Type<[...Members][number]>>;
48
56
  tagMap: { [Key in Members[number] as ReturnType<Key["fields"]["_tag"][typeof S.TypeId]["_A"]>]: Key; };
57
+ tags: S.Literal<{ [Index in keyof Members]: S.Schema.Type<Members[Index]["fields"]["_tag"]>; }>;
49
58
  };
50
59
  export type PhoneNumber = PhoneNumberT;
51
60
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAA;AACtD,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,qJAQf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,eAAO,MAAM,WAAW,iKASrB,CAAA;AAEH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,UAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UA6B1B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,UAClD,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACxB,KAAK,CAAC,CAAC,CAMT,CAAA;AAED,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,cAAc,GACzB,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC,EAAE,QAEjG,OAAO,QAQD,GAAG,wFAAiF,CAAA;AAElG,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,UACxD,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;CAC4E,CAAA;AAEvG,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,aAAa,CAC3B,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAAE,CAAA;CAAE,CAChD,QACK,OAAO;;;eAVD,GAAG;CAWuG,CAAA;AAExH,MAAM,MAAM,WAAW,GAAG,YAAY,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -61,6 +61,12 @@ export const taggedUnionMap = (self) => self.reduce((acc, key) => {
61
61
  acc[tag] = key;
62
62
  return acc;
63
63
  }, {});
64
+ export const tags = (self) => S.Literal(...self.map((key) => {
65
+ const ast = key.fields._tag.ast;
66
+ const tag = ast.type.literal;
67
+ return tag;
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ }));
64
70
  export const ExtendTaggedUnion = (schema) => extendM(schema, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_) /*, map: taggedUnionMap(a) */ }));
65
- export const TaggedUnion = (...a) => pipe(S.Union(...a), (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_), tagMap: taggedUnionMap(a) })));
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUV0RCxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVwQyxjQUFjLG9CQUFvQixDQUFBO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDO0tBQ25CLEtBQUs7S0FDTCxJQUFJLENBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNaLDZEQUE2RDtJQUM3RCxTQUFTLEVBQUUsR0FBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztDQUNqSCxDQUFDLEVBQ0YsQ0FBQyxDQUFDLGVBQWUsQ0FDbEIsQ0FBQTtBQUlILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDO0tBQ3pCLFdBQVc7S0FDWCxJQUFJLENBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNaLFNBQVMsRUFBRSxHQUFpQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNwRCw2REFBNkQ7SUFDN0QsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7Q0FDL0QsQ0FBQyxFQUNGLENBQUMsQ0FBQyxlQUFlLENBQ2xCLENB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
71
+ export const TaggedUnion = (...a) => pipe(S.Union(...a), (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_), tagMap: taggedUnionMap(a), tags: tags(a) })));
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUV0RCxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVwQyxjQUFjLG9CQUFvQixDQUFBO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDO0tBQ25CLEtBQUs7S0FDTCxJQUFJLENBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNaLDZEQUE2RDtJQUM3RCxTQUFTLEVBQUUsR0FBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztDQUNqSCxDQUFDLEVBQ0YsQ0FBQyxDQUFDLGVBQWUsQ0FDbEIsQ0FBQTtBQUlILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDO0tBQ3pCLFdBQVc7S0FDWCxJQUFJLENBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNaLFNBQVMsRUFBRSxHQUFpQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNwRCw2REFBNkQ7SUFDN0QsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7Q0FDL0QsQ0FBQyxFQUNGLENBQUMsQ0FBQyxlQUFlLENBQ2xCLENB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "1.17.1",
3
+ "version": "1.17.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
package/src/schema.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { NonEmptyReadonlyArray } from "@effect-app/core"
1
2
  import { Array, Option, pipe } from "@effect-app/core"
2
3
  import { type A, type Email as EmailT, type PhoneNumber as PhoneNumberT } from "@effect-app/schema"
3
4
  import * as S from "@effect-app/schema"
@@ -79,6 +80,7 @@ export interface IsAny<A extends { _tag: string }> {
79
80
  }
80
81
 
81
82
  export const taggedUnionMap = <
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
84
  Members extends readonly (S.Schema<{ _tag: string }, any, any> & { fields: { _tag: S.tag<string> } })[]
83
85
  >(
84
86
  self: Members
@@ -91,15 +93,33 @@ export const taggedUnionMap = <
91
93
  return acc
92
94
  }, {} as { [Key in Members[number] as ReturnType<Key["fields"]["_tag"][S.TypeId]["_A"]>]: Key })
93
95
 
96
+ export const tags = <
97
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
+ Members extends NonEmptyReadonlyArray<(S.Schema<{ _tag: string }, any, any> & { fields: { _tag: S.tag<string> } })>
99
+ >(
100
+ self: Members
101
+ ) =>
102
+ S.Literal(...self.map((key) => {
103
+ const ast = key.fields._tag.ast as S.PropertySignatureDeclaration
104
+ const tag = (ast.type as S.AST.Literal).literal
105
+ return tag
106
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
+ })) as any as S.Literal<
108
+ {
109
+ [Index in keyof Members]: S.Schema.Type<Members[Index]["fields"]["_tag"]>
110
+ }
111
+ >
94
112
  export const ExtendTaggedUnion = <A extends { _tag: string }, I, R>(
95
113
  schema: S.Schema<A, I, R>
96
114
  ) => extendM(schema, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_) /*, map: taggedUnionMap(a) */ }))
97
115
 
98
116
  export const TaggedUnion = <
99
- Members extends ReadonlyArray<
100
- S.Schema.Any & { fields: { _tag: S.tag<any> } }
101
- >
117
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
+ Members extends S.AST.Members<S.Schema.Any & { fields: { _tag: S.tag<any> } }>
102
119
  >(...a: Members) =>
103
- pipe(S.Union(...a), (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_), tagMap: taggedUnionMap(a) })))
120
+ pipe(
121
+ S.Union(...a),
122
+ (_) => extendM(_, (_) => ({ is: makeIs(_), isAnyOf: makeIsAnyOf(_), tagMap: taggedUnionMap(a), tags: tags(a) }))
123
+ )
104
124
 
105
125
  export type PhoneNumber = PhoneNumberT