@ddd-ts/shape 0.0.3-55 → 0.0.3-56

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=allcases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allcases.d.ts","sourceRoot":"","sources":["../src/allcases.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const a = 2;
4
+ //# sourceMappingURL=allcases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allcases.js","sourceRoot":"","sources":["../src/allcases.ts"],"names":[],"mappings":";;AA2DA,MAAM,CAAC,GAAM,CAAC,CAAC"}
package/dist/choice.d.ts CHANGED
@@ -7,152 +7,35 @@ type Matcher<S extends string[]> = {
7
7
  [key in S[number]]?: () => any;
8
8
  });
9
9
  type MatcherResult<M extends Matcher<any>> = M[keyof M] extends () => infer R ? R : never;
10
- export declare const Choice: <const S extends string[], B extends AbstractConstructor<{}> = typeof Empty>(config: S, base?: B) => Omit<B, "" | "prototype"> & { [key in S[number]]: <T extends Constructor<any, any[]>>(this: T) => InstanceType<T>; } & (abstract new (value: Expand<S[number]>) => InstanceType<B> & {
11
- [x: string]: any;
10
+ type ActuallyGenerateAllTheThings<B extends AbstractConstructor, Current extends AbstractConstructor> = abstract new (...args: ConstructorParameters<Current>) => InstanceType<B> & InstanceType<Current>;
11
+ export declare const Choice: <const S extends string[], B extends AbstractConstructor<{}> = typeof Empty>(config: S, base?: B) => ActuallyGenerateAllTheThings<B, (abstract new (value: Expand<S[number]>) => {
12
12
  value: Expand<S[number]>;
13
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
14
- value: T_1;
15
- serialize(): T_1;
13
+ is<T extends S[number]>(value: T): this is Omit<any, "serialize" | "value"> & {
14
+ value: T;
15
+ serialize(): T;
16
16
  };
17
17
  match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
18
18
  serialize(): S[number];
19
19
  }) & {
20
- [x: string]: any;
21
- prototype: {
22
- [x: string]: any;
23
- value: any;
24
- is<T_2 extends any>(value: T_2): this is Omit<any, "serialize" | "value"> & {
25
- value: T_2;
26
- serialize(): T_2;
27
- };
28
- match<M_1 extends Matcher<any>>(matcher: M_1): MatcherResult<M_1>;
29
- serialize(): any;
20
+ $name: "choice";
21
+ deserialize<T_1 extends any>(this: T_1, value: S[number]): InstanceType<T_1>;
22
+ $deserialize<T_2 extends any>(this: T_2, value: S[number]): S[number];
23
+ $serialize<T_3 extends any>(this: T_3, value: S[number]): S[number];
24
+ $inline: S[number];
25
+ }> & Omit<B, ""> & Omit<(abstract new (value: Expand<S[number]>) => {
26
+ value: Expand<S[number]>;
27
+ is<T extends S[number]>(value: T): this is Omit<any, "serialize" | "value"> & {
28
+ value: T;
29
+ serialize(): T;
30
30
  };
31
+ match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
32
+ serialize(): S[number];
33
+ }) & {
31
34
  $name: "choice";
32
- deserialize: <T_3 extends Omit<(abstract new (value: Expand<S[number]>) => {
33
- [x: string]: any;
34
- value: Expand<S[number]>;
35
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
36
- value: T_1;
37
- serialize(): T_1;
38
- };
39
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
40
- serialize(): S[number];
41
- }) & {
42
- [x: string]: any;
43
- $name: "choice";
44
- deserialize<T_3 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
45
- [x: string]: any;
46
- value: Expand<S[number]>;
47
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
48
- value: T_1;
49
- serialize(): T_1;
50
- };
51
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
52
- serialize(): S[number];
53
- })>(this: T_3, value: S[number]): InstanceType<T_3>;
54
- $deserialize<T_4 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
55
- [x: string]: any;
56
- value: Expand<S[number]>;
57
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
58
- value: T_1;
59
- serialize(): T_1;
60
- };
61
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
62
- serialize(): S[number];
63
- })>(this: T_4, value: S[number]): S[number];
64
- $serialize<T_5 extends any>(this: T_5, value: S[number]): S[number];
65
- $inline: S[number];
66
- }, ""> & (new (value: Expand<S[number]>) => {
67
- [x: string]: any;
68
- value: Expand<S[number]>;
69
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
70
- value: T_1;
71
- serialize(): T_1;
72
- };
73
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
74
- serialize(): S[number];
75
- })>(this: T_3, value: S[number]) => InstanceType<T_3>;
76
- $deserialize: <T_4 extends Omit<(abstract new (value: Expand<S[number]>) => {
77
- [x: string]: any;
78
- value: Expand<S[number]>;
79
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
80
- value: T_1;
81
- serialize(): T_1;
82
- };
83
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
84
- serialize(): S[number];
85
- }) & {
86
- [x: string]: any;
87
- $name: "choice";
88
- deserialize<T_3 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
89
- [x: string]: any;
90
- value: Expand<S[number]>;
91
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
92
- value: T_1;
93
- serialize(): T_1;
94
- };
95
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
96
- serialize(): S[number];
97
- })>(this: T_3, value: S[number]): InstanceType<T_3>;
98
- $deserialize<T_4 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
99
- [x: string]: any;
100
- value: Expand<S[number]>;
101
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
102
- value: T_1;
103
- serialize(): T_1;
104
- };
105
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
106
- serialize(): S[number];
107
- })>(this: T_4, value: S[number]): S[number];
108
- $serialize<T_5 extends any>(this: T_5, value: S[number]): S[number];
109
- $inline: S[number];
110
- }, ""> & (new (value: Expand<S[number]>) => {
111
- [x: string]: any;
112
- value: Expand<S[number]>;
113
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
114
- value: T_1;
115
- serialize(): T_1;
116
- };
117
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
118
- serialize(): S[number];
119
- })>(this: T_4, value: S[number]) => S[number];
120
- $serialize: <T_5 extends (abstract new (value: Expand<S[number]>) => {
121
- [x: string]: any;
122
- value: Expand<S[number]>;
123
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
124
- value: T_1;
125
- serialize(): T_1;
126
- };
127
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
128
- serialize(): S[number];
129
- }) & {
130
- [x: string]: any;
131
- $name: "choice";
132
- deserialize<T_3 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
133
- [x: string]: any;
134
- value: Expand<S[number]>;
135
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
136
- value: T_1;
137
- serialize(): T_1;
138
- };
139
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
140
- serialize(): S[number];
141
- })>(this: T_3, value: S[number]): InstanceType<T_3>;
142
- $deserialize<T_4 extends Omit<any, ""> & (new (value: Expand<S[number]>) => {
143
- [x: string]: any;
144
- value: Expand<S[number]>;
145
- is<T_1 extends S[number]>(value: T_1): this is Omit<any, "serialize" | "value"> & {
146
- value: T_1;
147
- serialize(): T_1;
148
- };
149
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
150
- serialize(): S[number];
151
- })>(this: T_4, value: S[number]): S[number];
152
- $serialize<T_5 extends any>(this: T_5, value: S[number]): S[number];
153
- $inline: S[number];
154
- }>(this: T_5, value: S[number]) => S[number];
35
+ deserialize<T_1 extends any>(this: T_1, value: S[number]): InstanceType<T_1>;
36
+ $deserialize<T_2 extends any>(this: T_2, value: S[number]): S[number];
37
+ $serialize<T_3 extends any>(this: T_3, value: S[number]): S[number];
155
38
  $inline: S[number];
156
- };
39
+ }, ""> & { [K in S[number]]: <T_4 extends Constructor<any, any[]>>(this: T_4) => InstanceType<T_4>; };
157
40
  export {};
158
41
  //# sourceMappingURL=choice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAY,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAEhF,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAC3B;KACG,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG;CAC9B,GACD,CAAC;IACC,CAAC,EAAE,MAAM,GAAG,CAAC;CACd,GAAG;KACD,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG;CAC/B,CAAC,CAAC;AAEP,KAAK,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,GACzE,CAAC,GACD,KAAK,CAAC;AAEV,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ElB,CAAC"}
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAY,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAEhF,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAC3B;KACG,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG;CAC9B,GACD,CAAC;IACC,CAAC,EAAE,MAAM,GAAG,CAAC;CACd,GAAG;KACD,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG;CAC/B,CAAC,CAAC;AAEP,KAAK,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,GACzE,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,4BAA4B,CAC/B,CAAC,SAAS,mBAAmB,EAC7B,OAAO,SAAS,mBAAmB,IACjC,QAAQ,MACV,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,KACpC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGAuElB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"choice.js","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":";;;AAAA,0BAAgF;AAgBzE,MAAM,MAAM,GAAG,CAIpB,MAAS,EACT,OAAU,QAAY,EACtB,EAAE;IAGF,MAAe,OAAQ,SAAS,IAAY;QAGvB;QAFnB,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,YAAmB,KAAqB;YACtC,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAgB;QAExC,CAAC;QAED,EAAE,CAAmB,KAAQ;YAO3B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QAC9B,CAAC;QAED,KAAK,CAAuB,OAAU;YACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,OAAO;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC9B,OAAQ,OAA4B,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,SAAS;YACP,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAa;YAEb,OAAO,IAAI,IAAI,CAAC,KAAY,CAAoB,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,YAAY,CAEjB,KAAa;YAEb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,UAAU,CAEf,KAAa;YAEb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;QAEvB;YACE,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG;oBACb,OAAO,IAAI,IAAI,CAAC,MAAa,CAAC,CAAC;gBACjC,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;;IAaH,OAAO,OAAiB,CAAC;AAC3B,CAAC,CAAC;AA7EW,QAAA,MAAM,UA6EjB"}
1
+ {"version":3,"file":"choice.js","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":";;;AAAA,0BAAgF;AAuBzE,MAAM,MAAM,GAAG,CAIpB,MAAS,EACT,OAAU,QAAY,EACtB,EAAE;IAGF,MAAe,OAAQ,SAAS,IAA+B;QAG1C;QAFnB,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,YAAmB,KAAqB;YACtC,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAgB;QAExC,CAAC;QAED,EAAE,CAAmB,KAAQ;YAO3B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QAC9B,CAAC;QAED,KAAK,CAAuB,OAAU;YACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,OAAO;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC9B,OAAQ,OAA4B,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,SAAS;YACP,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAa;YAEb,OAAO,IAAK,IAAY,CAAC,KAAY,CAAoB,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,YAAY,CAEjB,KAAa;YAEb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,UAAU,CAEf,KAAa;YAEb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;QAEvB;YACE,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAY,CAAC,MAAM,CAAC,GAAG;oBACtB,OAAO,IAAI,IAAI,CAAC,MAAa,CAAC,CAAC;gBACjC,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;;IAGH,OAAO,OAIJ,CAAC;AACN,CAAC,CAAC;AAvEW,QAAA,MAAM,UAuEjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=choice.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.type.d.ts","sourceRoot":"","sources":["../src/choice.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // import { AbstractConstructor, Empty } from ".";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ // type Choice<
5
+ // S extends string[],
6
+ // B extends AbstractConstructor = typeof Empty,
7
+ // > = (
8
+ // config: S,
9
+ // base?: B,
10
+ // ) => {
11
+ // $name: "choice";
12
+ // deserialize<T extends AbstractConstructor>(
13
+ // this: T,
14
+ // value: S[number],
15
+ // ): InstanceType<T>;
16
+ // $deserialize<T extends AbstractConstructor>(
17
+ // this: T,
18
+ // value: S[number],
19
+ // ): S[number];
20
+ // $serialize<T extends AbstractConstructor>(
21
+ // this: T,
22
+ // value: S[number],
23
+ // ): S[number];
24
+ // $inline: S[number];
25
+ // } & B & {
26
+ // [K in S[number]]: <T extends AbstractConstructor>(
27
+ // this: T,
28
+ // ) => InstanceType<T>;
29
+ // } & (abstract new (
30
+ // choice: S[number],
31
+ // ) => InstanceType<B> & {
32
+ // value: S[number];
33
+ // is<T extends AbstractConstructor, s extends S[number]>(
34
+ // this: T,
35
+ // value: s,
36
+ // ): this is Omit<T, "serialize" | "value"> & {
37
+ // value: s;
38
+ // serialize(): s;
39
+ // };
40
+ // match<M extends Record<S[number], () => any>>(
41
+ // matcher: M,
42
+ // ): ReturnType<M[keyof M]>;
43
+ // serialize(): S[number];
44
+ // });
45
+ // const a: Choice<["a", "b"]> = {} as any;
46
+ // class Test extends a(["a", "b"]) {
47
+ // test = true as const;
48
+ // }
49
+ // Test.a().is();
50
+ //# sourceMappingURL=choice.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.type.js","sourceRoot":"","sources":["../src/choice.type.ts"],"names":[],"mappings":";AAAA,kDAAkD;;AAElD,eAAe;AACf,wBAAwB;AACxB,kDAAkD;AAClD,QAAQ;AACR,eAAe;AACf,cAAc;AACd,SAAS;AACT,qBAAqB;AACrB,gDAAgD;AAChD,eAAe;AACf,wBAAwB;AACxB,wBAAwB;AACxB,iDAAiD;AACjD,eAAe;AACf,wBAAwB;AACxB,kBAAkB;AAClB,+CAA+C;AAC/C,eAAe;AACf,wBAAwB;AACxB,kBAAkB;AAClB,wBAAwB;AACxB,YAAY;AACZ,yDAAyD;AACzD,iBAAiB;AACjB,4BAA4B;AAC5B,wBAAwB;AACxB,yBAAyB;AACzB,6BAA6B;AAC7B,wBAAwB;AACxB,8DAA8D;AAC9D,iBAAiB;AACjB,kBAAkB;AAClB,oDAAoD;AACpD,kBAAkB;AAClB,wBAAwB;AACxB,SAAS;AACT,qDAAqD;AACrD,oBAAoB;AACpB,iCAAiC;AACjC,8BAA8B;AAC9B,QAAQ;AAER,2CAA2C;AAE3C,qCAAqC;AACrC,0BAA0B;AAC1B,IAAI;AAEJ,iBAAiB"}
package/dist/dict.d.ts CHANGED
@@ -5,22 +5,16 @@ export type DictShorthand = {
5
5
  export declare const Dict: <S extends {
6
6
  [key: string]: any;
7
7
  }, B extends AbstractConstructor<{}> = typeof Empty>(definition: S, base?: B) => Omit<B, "prototype"> & ((abstract new (...args: any[]) => {
8
- [x: string]: any;
9
8
  serialize(): Expand<{ [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }>;
10
9
  }) & {
11
- [x: string]: any;
12
10
  $name: "dict";
13
11
  shape: S;
14
12
  serialized: { [K_2 in keyof S]: DefinitionOf<S[K_2]>; };
15
13
  deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<{ [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }>): InstanceType<T>;
16
- $deserialize<T_1 extends Omit<any, ""> & (new (...params: any[]) => {
17
- [x: string]: any;
18
- serialize(): Expand<{ [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }>;
19
- })>(this: T_1, value: { [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }): { [K_3 in keyof { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }]: { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K_3]["$inline"]; };
14
+ $deserialize<T_1 extends any>(this: T_1, value: { [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }): { [K_3 in keyof { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }]: { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K_3]["$inline"]; };
20
15
  $serialize<T_2 extends any>(this: T_2, value: InstanceType<T_2>): { [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; };
21
16
  $inline: { [K_3 in keyof { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }]: { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K_3]["$inline"]; };
22
17
  }) & (abstract new (value: Expand<{ [K_3 in keyof { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }]: { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K_3]["$inline"]; }>) => InstanceType<B> & {
23
- [x: string]: any;
24
18
  serialize(): Expand<{ [K in keyof S]: ReturnType<{ [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K]["$serialize"]>; }>;
25
19
  } & { [K_3 in keyof { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }]: { [K_1 in keyof S]: DefinitionOf<S[K_1]>; }[K_3]["$inline"]; });
26
20
  //# sourceMappingURL=dict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EAGT,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzD,eAAO,MAAM,IAAI;;iIAwBQ,GAAG,EAAE;;;;;;;;;;;;;;;;;;iIAqD7B,CAAC"}
1
+ {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EAGT,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzD,eAAO,MAAM,IAAI;;iIAwBQ,GAAG,EAAE;;;;;;;;;;;;iIAqD7B,CAAC"}
package/dist/dict.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dict.js","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAIN,MAAM,IAAI,GAAG,CAIlB,UAAa,EACb,OAAU,QAAY,EACtB,EAAE;IAUF,MAAe,KAAM,SAAS,IAAY;QACxC,MAAM,CAAC,KAAK,GAAG,MAAe,CAAC;QAE/B,MAAM,CAAC,KAAK,CAAI;QAChB,MAAM,CAAC,UAAU,CAEf;QAEF,YAAY,GAAG,IAAW;YACxB,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,SAAS;YACP,OAAO,KAAK,CAAC,UAAU,CAAC,IAAW,CAAQ,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAyB;YAEzB,MAAM,OAAO,GAAI,IAAY,CAAC,YAAY,CAAC,KAAY,CAAC,CAAC;YACzD,OAAO,IAAI,IAAI,CAAC,OAAc,CAAQ,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,YAAY,CAEjB,KAAiB;YAEjB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAG,IAAA,QAAK,EAAC,KAAK,CAAQ,CAAC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAsB;YAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAG,IAAA,QAAK,EAAC,KAAY,CAAQ,CAAC;gBAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,KAAY,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;;IAOzB,OAAO,KAA+B,CAAC;AACzC,CAAC,CAAC;AA7EW,QAAA,IAAI,QA6Ef"}
1
+ {"version":3,"file":"dict.js","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAIN,MAAM,IAAI,GAAG,CAIlB,UAAa,EACb,OAAU,QAAY,EACtB,EAAE;IAUF,MAAe,KAAM,SAAS,IAAuC;QACnE,MAAM,CAAC,KAAK,GAAG,MAAe,CAAC;QAE/B,MAAM,CAAC,KAAK,CAAI;QAChB,MAAM,CAAC,UAAU,CAEf;QAEF,YAAY,GAAG,IAAW;YACxB,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,SAAS;YACP,OAAO,KAAK,CAAC,UAAU,CAAC,IAAW,CAAQ,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAyB;YAEzB,MAAM,OAAO,GAAI,IAAY,CAAC,YAAY,CAAC,KAAY,CAAC,CAAC;YACzD,OAAO,IAAI,IAAI,CAAC,OAAc,CAAQ,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,YAAY,CAEjB,KAAiB;YAEjB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAG,IAAA,QAAK,EAAC,KAAK,CAAQ,CAAC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAsB;YAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAG,IAAA,QAAK,EAAC,KAAY,CAAQ,CAAC;gBAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,KAAY,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;;IAOzB,OAAO,KAA+B,CAAC;AACzC,CAAC,CAAC;AA7EW,QAAA,IAAI,QA6Ef"}
@@ -1 +1 @@
1
- {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EAEN,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAMxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;AAExE,eAAO,MAAM,MAAM;;;;;;;;;;;;;EAyElB,CAAC"}
1
+ {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EAEN,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;AAExE,eAAO,MAAM,MAAM;;;;;;;;;;;;;EAyElB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"either.js","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAYN,MAAM,MAAM,GAAG,CAIpB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IAUF,MAAM,WAAW,GAAI,EAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,QAAK,EAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAe,OAAQ,SAAS,IAA+B;QAC1C;QAAnB,YAAmB,KAAa;YAC9B,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAQ;QAEhC,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,SAAS;YACP,OAAQ,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAyB;YAEzB,OAAO,IAAK,IAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAY,CAAC,CAAQ,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,YAAY,CAEjB,KAAiB;YAEjB,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAY,CAAC;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAQ,UAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAa;YAEb,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAE,KAAa,CAAC,WAAkB,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,KAAK,EAAG,UAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAQ,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;;IAUzB,OAAO,OAAiB,CAAC;AAC3B,CAAC,CAAC;AAzEW,QAAA,MAAM,UAyEjB"}
1
+ {"version":3,"file":"either.js","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAQN,MAAM,MAAM,GAAG,CAIpB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IAUF,MAAM,WAAW,GAAI,EAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,QAAK,EAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAe,OAAQ,SAAS,IAA+B;QAC1C;QAAnB,YAAmB,KAAa;YAC9B,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAQ;QAEhC,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,SAAS;YACP,OAAQ,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAyB;YAEzB,OAAO,IAAK,IAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAY,CAAC,CAAQ,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,YAAY,CAEjB,KAAiB;YAEjB,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAY,CAAC;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAQ,UAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAa;YAEb,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAE,KAAa,CAAC,WAAkB,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,KAAK,EAAG,UAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAQ,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;;IAUzB,OAAO,OAAiB,CAAC;AAC3B,CAAC,CAAC;AAzEW,QAAA,MAAM,UAyEjB"}
package/dist/enum.d.ts CHANGED
@@ -1,25 +1,21 @@
1
- import { Constructor } from "@ddd-ts/traits";
2
- export declare const Enum: <const V extends string>(values: V[]) => {
3
- new (value: V): {
4
- value: V;
5
- serialize(): V;
6
- is<U extends V>(value: U): this is any & {
7
- value: U;
8
- serialize(): U;
9
- };
10
- match<T extends any, M extends MatcherParam<V>>(this: T, matcher: M): M extends Required<MatcherParam<V>> ? { [K in V]: M[K] extends () => infer R ? R : never; }[V] : { [K_1 in V]: M[K_1] extends () => infer R_1 ? R_1 : never; }[V] | (M extends {
11
- _: () => infer R_2;
12
- } ? R_2 : never);
13
- };
14
- values: V[];
15
- deserialize<T_1 extends Constructor>(this: T_1, value: V): InstanceType<T_1>;
16
- } & { [K_2 in V]: <T_2 extends Constructor>(this: T_2) => InstanceType<T_2>; };
17
- type Matcher<cases extends string> = {
18
- [K in cases]?: () => any;
1
+ import { Expand, DefinitionOf, AbstractConstructor, Empty, Shorthand } from "./_";
2
+ export type EitherConfiguration = {
3
+ [key: string]: Shorthand;
19
4
  };
20
- type Catchall = {
21
- _: () => any;
22
- };
23
- type MatcherParam<cases extends string> = Required<Matcher<cases>> | (Matcher<cases> & Catchall);
24
- export {};
5
+ export declare const Enum: <const S extends EitherConfiguration, const B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: DefinitionOf<S[keyof S]>["$inline"]) => {
6
+ value: DefinitionOf<S[keyof S], typeof Empty>["$inline"];
7
+ serialize(): Expand<{ [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]>;
8
+ match<M extends AllMatcherCases<S>>(matcher: M): void;
9
+ }) & {
10
+ of: S;
11
+ $name: "either";
12
+ deserialize<T extends any>(this: T, value: Expand<{ [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]>): InstanceType<T>;
13
+ $deserialize<T_1 extends any>(this: T_1, value: { [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]): DefinitionOf<S[keyof S]>["$inline"];
14
+ $serialize<T_2 extends any>(this: T_2, value: DefinitionOf<S[keyof S]>["$inline"]): { [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S];
15
+ $inline: DefinitionOf<S[keyof S]>["$inline"];
16
+ }, "prototype"> & (abstract new (value: Expand<DefinitionOf<S[keyof S]>["$inline"]>) => InstanceType<B> & {
17
+ value: DefinitionOf<S[keyof S], typeof Empty>["$inline"];
18
+ serialize(): Expand<{ [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]>;
19
+ match<M extends AllMatcherCases<S>>(matcher: M): void;
20
+ });
25
21
  //# sourceMappingURL=enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,IAAI;;;;;;;;;;;;;;8EA+ChB,CAAC;AAEF,KAAK,OAAO,CAAC,KAAK,SAAS,MAAM,IAAI;KACnC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG;CACxB,CAAC;AAEF,KAAK,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC;AAEjC,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,IACnC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GACxB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EACL,SAAS,EACV,MAAM,KAAK,CAAC;AAuCb,MAAM,MAAM,mBAAmB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;EAwEhB,CAAC"}
package/dist/enum.js CHANGED
@@ -1,37 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Enum = void 0;
4
- const Enum = (values) => {
5
- const I = class EnumIntermediate {
4
+ const _1 = require("./_");
5
+ const Enum = (of, base = _1.Empty) => {
6
+ const definitions = of.map((i) => (0, _1.Shape)(i));
7
+ class $Either extends base {
6
8
  value;
7
- static values = values;
8
9
  constructor(value) {
10
+ super();
9
11
  this.value = value;
10
12
  }
13
+ static of = of;
14
+ static $name = "either";
11
15
  serialize() {
12
- return this.value;
16
+ return $Either.$serialize(this.value);
13
17
  }
14
- is(value) {
15
- return this.value === value;
18
+ match(matcher) { }
19
+ static deserialize(value) {
20
+ return new this(this.$deserialize(value));
16
21
  }
17
- match(matcher) {
18
- const fn = matcher[this.value];
19
- if (fn) {
20
- return fn();
22
+ static $deserialize(value) {
23
+ const [index, serialized] = value;
24
+ const definition = definitions[index];
25
+ if (!definition) {
26
+ throw new Error("Cannot deserialize Either");
21
27
  }
22
- const catchAll = matcher._;
23
- return catchAll();
28
+ return definition.$deserialize(serialized);
24
29
  }
25
- static deserialize(value) {
26
- return new this(value);
30
+ static $serialize(value) {
31
+ const index = of.indexOf(value.constructor);
32
+ const definition = definitions[index];
33
+ if (!definition) {
34
+ throw new Error("Cannot serialize Either");
35
+ }
36
+ return [index, definition.$serialize(value)];
27
37
  }
28
- };
29
- for (const v of values) {
30
- I[v] = function () {
31
- return new this(v);
32
- };
38
+ static $inline;
33
39
  }
34
- return I;
40
+ return $Either;
35
41
  };
36
42
  exports.Enum = Enum;
37
43
  //# sourceMappingURL=enum.js.map
package/dist/enum.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":";;;AAEO,MAAM,IAAI,GAAG,CAAyB,MAAW,EAAE,EAAE;IAC3D,MAAM,CAAC,GAAG,MAAM,gBAAgB;QAEZ;QADnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,YAAmB,KAAQ;YAAR,UAAK,GAAL,KAAK,CAAG;QAAG,CAAC;QAE/B,SAAS;YACR,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;QAED,EAAE,CAAc,KAAQ;YACvB,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QAC7B,CAAC;QAED,KAAK,CAEJ,OAAU;YAUV,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,EAAE,EAAE;gBACP,OAAO,EAAE,EAAS,CAAC;aACnB;YACD,MAAM,QAAQ,GAAI,OAAe,CAAC,CAAC,CAAC;YACpC,OAAO,QAAQ,EAAS,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,WAAW,CAAiC,KAAQ;YAC1D,OAAO,IAAI,IAAI,CAAC,KAAK,CAAoB,CAAC;QAC3C,CAAC;KACD,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;QACtB,CAAS,CAAC,CAAC,CAAC,GAAG;YACf,OAAO,IAAI,IAAI,CAAC,CAAC,CAAoB,CAAC;QACvC,CAAC,CAAC;KACF;IAED,OAAO,CAEN,CAAC;AACH,CAAC,CAAC;AA/CW,QAAA,IAAI,QA+Cf"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAyCN,MAAM,IAAI,GAAG,CAIlB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IAOF,MAAM,WAAW,GAAI,EAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,QAAK,EAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAe,OAAQ,SAAS,IAA+B;QAC1C;QAAnB,YAAmB,KAAa;YAC9B,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAQ;QAEhC,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,SAAS;YACP,OAAQ,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;QACxD,CAAC;QAED,KAAK,CAA+B,OAAU,IAAG,CAAC;QAElD,MAAM,CAAC,WAAW,CAEhB,KAAyB;YAEzB,OAAO,IAAK,IAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAY,CAAC,CAAQ,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,YAAY,CAEjB,KAAiB;YAEjB,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAY,CAAC;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAQ,UAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAa;YAEb,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAE,KAAa,CAAC,WAAkB,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,KAAK,EAAG,UAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAQ,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,OAAO,CAAS;;IAUzB,OAAO,OAAiB,CAAC;AAC3B,CAAC,CAAC;AAxEW,QAAA,IAAI,QAwEf"}
package/dist/enum.spec.js CHANGED
@@ -1,71 +1,222 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const either_1 = require("./either");
4
+ const dict_1 = require("./dict");
5
+ const test_1 = require("./test");
3
6
  const enum_1 = require("./enum");
4
- describe('Enum', () => {
5
- class Bool extends (0, enum_1.Enum)(['yes', 'no']) {
6
- }
7
- it('should instanciate', () => {
8
- new Bool('yes');
9
- new Bool('no');
10
- // @ts-expect-error it should not be possible to instanciate with invalid value
11
- new Bool('maybe');
7
+ const _1 = require(".");
8
+ class Square extends (0, _1.Shape)({
9
+ side: Number,
10
+ }) {
11
+ }
12
+ class Circle extends (0, _1.Shape)({
13
+ radius: Number,
14
+ }) {
15
+ }
16
+ class Thing extends (0, enum_1.Enum)({ Circle, Square }) {
17
+ }
18
+ const thing = new Thing(new Circle({ radius: 10 }));
19
+ const result = thing.match({
20
+ _: (other) => other,
21
+ });
22
+ describe("Enum", () => {
23
+ it("class definition", () => {
24
+ class Test extends (0, enum_1.Enum)({
25
+ String,
26
+ Number,
27
+ }) {
28
+ test = true;
29
+ }
30
+ // Constructor parameters
31
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
32
+ // Deserialization
33
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
34
+ const a = Test.deserialize(["String", "test"]);
35
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
36
+ // Additional prototype
37
+ (0, test_1.ex)(a.test).toBe(true).ok;
38
+ // Inherited prototype on deserialization
39
+ (0, test_1.ex)(a.value).toBe("test").ok;
40
+ (0, test_1.ex)(a.match({
41
+ String: () => "string",
42
+ Number: () => "number",
43
+ })).toBe("string").ok;
44
+ // Serialization
45
+ (0, test_1.ex)(a.serialize()).toStrictEqual([0, "test"]).ok;
46
+ // Instantiation
47
+ const b = new Test("test");
48
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
49
+ // Inherited prototype on instantiation
50
+ (0, test_1.ex)(b.value).toBe("test").ok;
12
51
  });
13
- it('should serialize and deserialize', () => {
14
- const test = Bool.deserialize('yes').serialize();
15
- expect(test).toBe('yes');
52
+ it("class definition with constructors", () => {
53
+ class A extends (0, dict_1.Dict)({ a: String }) {
54
+ }
55
+ class B {
56
+ a;
57
+ constructor({ a }) {
58
+ Object.assign(this, { a });
59
+ }
60
+ static deserialize({ a }) {
61
+ return new B({ a });
62
+ }
63
+ serialize() {
64
+ return { a: this.a };
65
+ }
66
+ }
67
+ class Test extends (0, either_1.Either)([A, B]) {
68
+ test = true;
69
+ }
70
+ // Constructor parameters
71
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
72
+ // Deserialization
73
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
74
+ const a = Test.deserialize([0, { a: "test" }]);
75
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
76
+ const b = Test.deserialize([1, { a: "test" }]);
77
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
78
+ // Additional prototype
79
+ (0, test_1.ex)(a.test).toBe(true).ok;
80
+ // Inherited prototype on deserialization
81
+ (0, test_1.ex)(a.value).toBeInstanceOf(A).ok;
82
+ (0, test_1.ex)(b.value).toBeInstanceOf(B).ok;
83
+ // Serialization
84
+ (0, test_1.ex)(a.serialize()).toStrictEqual([0, { a: "test" }]).ok;
85
+ (0, test_1.ex)(b.serialize()).toStrictEqual([1, { a: "test" }]).ok;
86
+ // Instantiation
87
+ const c = new Test(new A({ a: "test" }));
88
+ (0, test_1.ex)(c).toBeInstanceOf(Test).ok;
89
+ const d = new Test(new B({ a: "test" }));
90
+ (0, test_1.ex)(d).toBeInstanceOf(Test).ok;
91
+ // Inherited prototype
92
+ (0, test_1.ex)(c.value).toBeInstanceOf(A).ok;
93
+ (0, test_1.ex)(c.value.a).toBe("test").ok;
94
+ (0, test_1.ex)(d.value).toBeInstanceOf(B).ok;
95
+ (0, test_1.ex)(d.value.a).toBe("test").ok;
16
96
  });
17
- it('should pattern match', async () => {
18
- const test = await Bool.deserialize('yes').match({
19
- yes: async () => 'yeap',
20
- no: async () => 'nope'
21
- });
22
- expect(test).toBe('yeap');
23
- // @ts-expect-error it should not be possible to pattern match with incomplete cases
24
- Bool.deserialize('yes').match({
25
- yes: () => 'yeap',
26
- });
27
- // it should allow catch all instead of other cases
28
- Bool.deserialize('yes').match({
29
- yes: () => 'yeap',
30
- _: () => 'nope'
31
- });
97
+ it("inline definition", () => {
98
+ class Test extends (0, dict_1.Dict)({ nested: (0, either_1.Either)([String, Number]) }) {
99
+ }
100
+ // Constructor parameters
101
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
102
+ // Deserialization
103
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
104
+ const a = Test.deserialize({ nested: [0, "test"] });
105
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
106
+ // Inherited prototype on deserialization
107
+ (0, test_1.ex)(a.nested).toBe("test").ok;
108
+ // Serialization
109
+ (0, test_1.ex)(a.serialize()).toStrictEqual({ nested: [0, "test"] }).ok;
110
+ // Instantiation
111
+ const b = new Test({ nested: "test" });
112
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
113
+ // Inherited prototype on instantiation
114
+ (0, test_1.ex)(b.nested).toBe("test").ok;
115
+ });
116
+ it("referenced definition", () => {
117
+ class A extends (0, either_1.Either)([String, Number]) {
118
+ }
119
+ class Test extends (0, dict_1.Dict)({ nested: A }) {
120
+ }
121
+ // Constructor parameters
122
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
123
+ // Deserialization
124
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
125
+ const a = Test.deserialize({ nested: [0, "test"] });
126
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
127
+ // Inherited prototype on deserialization
128
+ (0, test_1.ex)(a.nested).toBeInstanceOf(A).ok;
129
+ (0, test_1.ex)(a.nested.value).toBe("test").ok;
130
+ // Serialization
131
+ (0, test_1.ex)(a.serialize()).toStrictEqual({ nested: [0, "test"] }).ok;
132
+ // Instantiation
133
+ const b = new Test({ nested: new A("test") });
134
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
135
+ // Inherited prototype on instantiation
136
+ (0, test_1.ex)(b.nested.value).toBe("test").ok;
137
+ });
138
+ it("mixin extension", () => {
139
+ const Mixin = (either) => {
140
+ class Mix extends (0, either_1.Either)(either) {
141
+ deep = true;
142
+ static deep = true;
143
+ }
144
+ return Mix;
145
+ };
146
+ class Test extends Mixin([String, Number]) {
147
+ test = true;
148
+ // @ts-expect-error is not assignable to parameter of type 'true'
149
+ abstract = false;
150
+ }
151
+ // Constructor parameters
152
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
153
+ // Additional static prototype
154
+ (0, test_1.ex)(Test.deep).toBe(true).ok;
155
+ // Deserialization
156
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
157
+ const a = Test.deserialize([0, "test"]);
158
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
159
+ // Additional prototype on deserialization
160
+ (0, test_1.ex)(a.test).toBe(true).ok;
161
+ (0, test_1.ex)(a.abstract).toBe(false).ok;
162
+ // Extended prototype on deserialization
163
+ (0, test_1.ex)(a.deep).toBe(true).ok;
164
+ // Inherited prototype on deserialization
165
+ (0, test_1.ex)(a.value).toBe("test").ok;
166
+ // Serialization
167
+ (0, test_1.ex)(a.serialize()).toStrictEqual([0, "test"]).ok;
168
+ // Instantiation
169
+ const b = new Test("test");
170
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
171
+ // Additional prototype on instantiation
172
+ (0, test_1.ex)(b.test).toBe(true).ok;
173
+ (0, test_1.ex)(b.abstract).toBe(false).ok;
174
+ // Extended prototype on instantiation
175
+ (0, test_1.ex)(b.deep).toBe(true).ok;
176
+ // Inherited prototype on instantiation
177
+ (0, test_1.ex)(b.value).toBe("test").ok;
32
178
  });
33
- it('should become predictible after conditional', () => {
34
- const value = Bool.yes();
35
- if (value.is('yes')) {
36
- const test = value.serialize();
37
- expect(test).toBe('yes');
179
+ it("mixin supersede", () => {
180
+ const Testable = (config) => {
181
+ class I {
182
+ deep = true;
183
+ static deep = true;
184
+ }
185
+ return (0, either_1.Either)(config, I);
186
+ };
187
+ class Test extends Testable([String, Number]) {
188
+ test = true;
189
+ // @ts-expect-error is not assignable to parameter of type 'true'
190
+ abstract = false;
38
191
  }
192
+ // Constructor type
193
+ (0, test_1.ex)(Test).toHaveFirstParam().ok;
194
+ // Additional static prototype
195
+ (0, test_1.ex)(Test.deep).toBe(true).ok;
196
+ // Deserialization
197
+ (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
198
+ const a = Test.deserialize([0, "test"]);
199
+ (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
200
+ // Additional prototype on deserialization
201
+ (0, test_1.ex)(a.test).toBe(true).ok;
202
+ (0, test_1.ex)(a.abstract).toBe(false).ok;
203
+ // Superseded prototype on deserialization
204
+ (0, test_1.ex)(a.deep).toBe(true).ok;
205
+ // Inherited prototype on deserialization
206
+ (0, test_1.ex)(a.value).toBe("test").ok;
207
+ // Serialization
208
+ (0, test_1.ex)(a.serialize()).toStrictEqual([0, "test"]).ok;
209
+ // Instantiation
210
+ const b = new Test(2);
211
+ (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
212
+ // Additional prototype on instantiation
213
+ (0, test_1.ex)(b.test).toBe(true).ok;
214
+ (0, test_1.ex)(b.abstract).toBe(false).ok;
215
+ // Superseded prototype on instantiation
216
+ (0, test_1.ex)(b.deep).toBe(true).ok;
217
+ (0, test_1.ex)(b.abstract).toBe(false).ok;
218
+ // Inherited prototype on instantiation
219
+ (0, test_1.ex)(b.value).toBe(2).ok;
39
220
  });
40
- // For next time :p
41
- //
42
- // it.skip('should allow struct enums', () => {
43
- // class Triangle extends Shape(Number) { }
44
- // class Geometry extends Enum({
45
- // Point: null,
46
- // Circle: Number,
47
- // Rectangle: { side: Number }
48
- // Triangle,
49
- // }){}
50
- // const rect = Geometry.deserialize({
51
- // variant: 'Rectangle',
52
- // params: {
53
- // side: 2
54
- // }
55
- // }).serialize()
56
- // expect(rect).toEqual({
57
- // variant: 'Rectangle',
58
- // params: {
59
- // side: 2
60
- // }
61
- // })
62
- // const triangle = Geometry.deserialize({
63
- // variant: 'Triangle',
64
- // params: 3
65
- // })
66
- // if(triangle.is('Triangle')){
67
- // triangle.value === 3
68
- // }
69
- // })
70
221
  });
71
222
  //# sourceMappingURL=enum.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.spec.js","sourceRoot":"","sources":["../src/enum.spec.ts"],"names":[],"mappings":";;AAAA,iCAA6B;AAE7B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IAClB,MAAM,IAAK,SAAQ,IAAA,WAAI,EAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAAI;IAC1C,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QACd,+EAA+E;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,IAAI,GAAiB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAoB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAC9D,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAe;YAChC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,MAAe;SAClC,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzB,oFAAoF;QACpF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAC1B,GAAG,EAAE,GAAG,EAAE,CAAC,MAAe;SAC7B,CAAC,CAAA;QAEF,mDAAmD;QACnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAC1B,GAAG,EAAE,GAAG,EAAE,CAAC,MAAe;YAC1B,CAAC,EAAE,GAAG,EAAE,CAAC,MAAe;SAC3B,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACjB,MAAM,IAAI,GAAU,KAAK,CAAC,SAAS,EAAE,CAAA;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC3B;IACL,CAAC,CAAC,CAAA;IAGF,mBAAmB;IACnB,EAAE;IACF,+CAA+C;IAC/C,+CAA+C;IAE/C,oCAAoC;IACpC,uBAAuB;IACvB,0BAA0B;IAC1B,sCAAsC;IACtC,oBAAoB;IACpB,WAAW;IAEX,0CAA0C;IAC1C,gCAAgC;IAChC,oBAAoB;IACpB,sBAAsB;IACtB,YAAY;IACZ,qBAAqB;IAErB,6BAA6B;IAC7B,gCAAgC;IAChC,oBAAoB;IACpB,sBAAsB;IACtB,YAAY;IACZ,SAAS;IAET,8CAA8C;IAC9C,+BAA+B;IAC/B,oBAAoB;IACpB,SAAS;IAGT,mCAAmC;IACnC,+BAA+B;IAC/B,SAAS;IACT,KAAK;AACT,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"enum.spec.js","sourceRoot":"","sources":["../src/enum.spec.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Constructor } from "./_";
2
2
  type IfEquals<T, U, Y = unknown, N = never> = (<G>() => G extends T ? 1 : 2) extends <G>() => G extends U ? 1 : 2 ? Y : N;
3
- type Equals<X, Y> = IfEquals<X, Y, true, false>;
3
+ export type Equals<X, Y> = IfEquals<X, Y, true, false>;
4
4
  export declare function ex<Received>(received: Received): {
5
5
  toBe<Expected>(expected: Expected): IfEquals<Received, Expected, true, false> extends true ? {
6
6
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,MAAM,KAAK,CAAC;AAE1C,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAC/D,CAAC,GACD,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACvC,CAAC,GACD,CAAC,CAAC;AAEN,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAgJhD,wBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ;;YAKjC,IAAI;;;kBACsB,QAAQ;;;YAWlC,IAAI;;;kBACsB,QAAQ;;;YAWlC,IAAI;;;kBACoC,QAAQ;;+EAU/C,GAAG,EAAE,KACX,GAAG;YAEI,IAAI;;;;;YAIF,IAAI;;;;;EAMrB"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,MAAM,KAAK,CAAC;AAE1C,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAC/D,CAAC,GACD,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACvC,CAAC,GACD,CAAC,CAAC;AAEN,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAgJvD,wBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ;;YAKjC,IAAI;;;kBACsB,QAAQ;;;YAWlC,IAAI;;;kBACsB,QAAQ;;;YAWlC,IAAI;;;kBACoC,QAAQ;;+EAU/C,GAAG,EAAE,KACX,GAAG;YAEI,IAAI;;;;;YAIF,IAAI;;;;;EAMrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts/shape",
3
- "version": "0.0.3-55",
3
+ "version": "0.0.3-56",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",