@ddd-ts/shape 0.0.12 → 0.0.14

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/dist/_.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forward = exports.Shape = exports.Empty = void 0;
3
+ exports.Empty = void 0;
4
+ exports.Shape = Shape;
5
+ exports.forward = forward;
4
6
  const class_1 = require("./class");
5
7
  const dict_1 = require("./dict");
6
8
  const primitive_1 = require("./primitive");
@@ -40,7 +42,6 @@ function Shape(shorthand, base = Empty) {
40
42
  }
41
43
  throw new Error(`Could not determine longhand from shorthand ${JSON.stringify(shorthand)}`);
42
44
  }
43
- exports.Shape = Shape;
44
45
  function forward(base, forward) {
45
46
  for (const key of forward) {
46
47
  Object.defineProperty(base.prototype, key, {
@@ -51,5 +52,4 @@ function forward(base, forward) {
51
52
  }
52
53
  return base;
53
54
  }
54
- exports.forward = forward;
55
55
  //# sourceMappingURL=_.js.map
package/dist/_.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"_.js","sourceRoot":"","sources":["../src/_.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,iCAA6C;AAC7C,2CAA4D;AAC5D,yCAAyD;AACzD,uCAAsD;AACtD,uCAAsD;AAEtD,MAAsB,KAAK;CAAG;AAA9B,sBAA8B;AA4D9B,SAAgB,KAAK,CAGnB,SAAY,EAAE,OAAU,KAAY;IACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAA,iBAAO,EAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IACzC,CAAC;IAED,IACE,SAAS;QACT,OAAO,IAAI,SAAS;QACpB,MAAM,IAAI,SAAS;QACnB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAClC,CAAC;QACD,IAAK,SAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,IAAA,aAAK,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC9C,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAA,iBAAO,EAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAA,qBAAS,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAClD,CAAC;IACD,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAA,aAAK,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAQ,mBAAgB,CAAC,SAAS,CAAC,CAAC,CAAQ,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAA,WAAI,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC3E,CAAC;AACJ,CAAC;AAxCD,sBAwCC;AAUD,SAAgB,OAAO,CAMrB,IAAO,EACP,OAAgB;IAShB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YACzC,GAAG;gBACD,OAAQ,IAAI,CAAC,KAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAW,CAAC;AACrB,CAAC;AAxBD,0BAwBC"}
1
+ {"version":3,"file":"_.js","sourceRoot":"","sources":["../src/_.ts"],"names":[],"mappings":";;;AAmEA,sBAwCC;AAUD,0BAwBC;AA7ID,mCAAgD;AAChD,iCAA6C;AAC7C,2CAA4D;AAC5D,yCAAyD;AACzD,uCAAsD;AACtD,uCAAsD;AAEtD,MAAsB,KAAK;CAAG;AAA9B,sBAA8B;AA4D9B,SAAgB,KAAK,CAGnB,SAAY,EAAE,OAAU,KAAY;IACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAA,iBAAO,EAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IACzC,CAAC;IAED,IACE,SAAS;QACT,OAAO,IAAI,SAAS;QACpB,MAAM,IAAI,SAAS;QACnB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAClC,CAAC;QACD,IAAK,SAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,IAAA,aAAK,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC9C,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAA,iBAAO,EAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAA,qBAAS,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAClD,CAAC;IACD,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAA,aAAK,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAQ,mBAAgB,CAAC,SAAS,CAAC,CAAC,CAAQ,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAA,WAAI,EAAC,SAAgB,EAAE,IAAI,CAAQ,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC3E,CAAC;AACJ,CAAC;AAUD,SAAgB,OAAO,CAMrB,IAAO,EACP,OAAgB;IAShB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YACzC,GAAG;gBACD,OAAQ,IAAI,CAAC,KAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAW,CAAC;AACrB,CAAC"}
package/dist/choice.d.ts CHANGED
@@ -1,42 +1,41 @@
1
1
  import { AbstractConstructor, Empty, Expand, Constructor, MergeClasses } from "./_";
2
- type Matcher<S extends string[]> = {
2
+ export type ChoiceMatcher<S extends string[]> = {
3
3
  [key in S[number]]: () => any;
4
4
  } | ({
5
5
  _: () => any;
6
6
  } & {
7
7
  [key in S[number]]?: () => any;
8
8
  });
9
- type MatcherResult<M extends Matcher<any>> = M[keyof M] extends () => infer R ? R : never;
9
+ export type ChoiceMatcherResult<M extends ChoiceMatcher<any>> = M[keyof M] extends () => infer R ? R : never;
10
10
  export declare const Choice: <const S extends string[], B extends AbstractConstructor<{}> = typeof Empty>(config: S, base?: B) => MergeClasses<B, (abstract new (value: Expand<S[number]>) => {
11
11
  value: Expand<S[number]>;
12
- is<T extends S[number]>(value: T): this is Omit<any, "serialize" | "value"> & {
13
- value: T;
14
- serialize(): T;
12
+ is<T extends S[number]>(value: T): this is Omit<this, "value" | "serialize"> & {
13
+ value: T_1;
14
+ serialize(): T_1;
15
15
  };
16
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
16
+ match<M extends ChoiceMatcher<S>>(matcher: M): ChoiceMatcherResult<M>;
17
17
  serialize(): S[number];
18
18
  }) & {
19
19
  $name: "choice";
20
20
  values: S;
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];
21
+ deserialize<T_2 extends any>(this: T_2, value: S[number]): InstanceType<T_2>;
22
+ $deserialize<T_3 extends any>(this: T_3, value: S[number]): S[number];
23
+ $serialize<T_4 extends any>(this: T_4, value: S[number]): S[number];
24
24
  $inline: S[number];
25
25
  }> & Omit<B, ""> & Omit<(abstract new (value: Expand<S[number]>) => {
26
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;
27
+ is<T extends S[number]>(value: T): this is Omit<this, "value" | "serialize"> & {
28
+ value: T_1;
29
+ serialize(): T_1;
30
30
  };
31
- match<M extends Matcher<S>>(matcher: M): MatcherResult<M>;
31
+ match<M extends ChoiceMatcher<S>>(matcher: M): ChoiceMatcherResult<M>;
32
32
  serialize(): S[number];
33
33
  }) & {
34
34
  $name: "choice";
35
35
  values: S;
36
- deserialize<T_1 extends any>(this: T_1, value: S[number]): InstanceType<T_1>;
37
- $deserialize<T_2 extends any>(this: T_2, value: S[number]): S[number];
38
- $serialize<T_3 extends any>(this: T_3, value: S[number]): S[number];
36
+ deserialize<T_2 extends any>(this: T_2, value: S[number]): InstanceType<T_2>;
37
+ $deserialize<T_3 extends any>(this: T_3, value: S[number]): S[number];
38
+ $serialize<T_4 extends any>(this: T_4, value: S[number]): S[number];
39
39
  $inline: S[number];
40
- }, ""> & { [K in S[number]]: <T_4 extends Constructor<any, any[]>>(this: T_4) => InstanceType<T_4>; };
41
- export {};
40
+ }, ""> & { [K in S[number]]: <T_5 extends Constructor<any, any[]>>(this: T_5) => InstanceType<T_5>; };
42
41
  //# sourceMappingURL=choice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,EAEL,MAAM,EACN,WAAW,EACX,YAAY,EACb,MAAM,KAAK,CAAC;AAEb,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,uFAIT,CAAC,SACH,CAAC;;;;;;yCAuBgC,CAAC,GAAG,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;yCAApB,CAAC,GAAG,cAAc,CAAC,CAAC;;;;;;;;;qGA6C5D,CAAC"}
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,EAEL,MAAM,EACN,WAAW,EACX,YAAY,EACb,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,IACxC;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,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,IAC1D,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/C,eAAO,MAAM,MAAM,SAsEP,CAAC,mBAFJ,CAAC,yDAEE,CAAC,AAlEF,SAgEF,CAAC,AA/DD;;uCAeF,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;QAC7C,KAAK,EACQ,GAAC,AADN,CAAC;QACT,SAAS,IAAI,GAAC,CAAC;KAChB;UAIkE,CAAC,oCAAD,CAAC,AAAxB,GAAG,mBAAmB,CAAC,CAAC,CAAC;;;;;gBAarD,GAAC,oBAAD,GAAC,AAFR,qBAEN,YAAY,CAAC,GAAC,CAAC;iBAIV,GAAC,oBAAD,GAAC;eAMD,GAAC,oBAAD,GAAC;;;;uCA9BN,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;QAC7C,KAAK,EACQ,GAAC,AADN,CAAC;QACT,SAAS,IAAI,GAAC,CAAC;KAChB;UAIkE,CAAC,oCAAD,CAAC,AAAxB,GAAG,mBAAmB,CAAC,CAAC,CAAC;;;;;gBAarD,GAAC,oBAAD,GAAC,AAFR,qBAEN,YAAY,CAAC,GAAC,CAAC;iBAIV,GAAC,oBAAD,GAAC;eAMD,GAAC,oBAAD,GAAC;;8BAoB4D,GAAC,wCAAD,GAAC,AAAnB,KAAK,YAAY,CAAC,GAAC,CAAC,GAE1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"choice.js","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":";;;AAAA,0BAOa;AAgBN,MAAM,MAAM,GAAG,CAIpB,MAAS,EACT,OAAU,QAAY,EACtB,EAAE;IAGF,MAAe,OAAQ,SAAS,IAA+B;QAK1C;QAJnB,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,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;AAzEW,QAAA,MAAM,UAyEjB"}
1
+ {"version":3,"file":"choice.js","sourceRoot":"","sources":["../src/choice.ts"],"names":[],"mappings":";;;AAAA,0BAOa;AAeN,MAAM,MAAM,GAAG,CAIpB,MAAS,EACT,OAAU,QAAY,EACtB,EAAE;IAGF,MAAe,OAAQ,SAAS,IAA+B;QAK1C;QAJnB,MAAM,CAAC,KAAK,GAAG,QAAiB,CAAC;QAEjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,YAAmB,KAAqB;YACtC,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAgB;QAExC,CAAC;QAED,EAAE,CACA,KAAQ;YAKR,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QAC9B,CAAC;QAED,KAAK,CAA6B,OAAU;YAC1C,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;AAxEW,QAAA,MAAM,UAwEjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../src/class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;IAAE,SAAS,IAAI,GAAG,CAAA;CAAE,CAAC,GAAG;IAC/D,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,KAAK;iBACqB,GAAG;;uBACnB,GAAG,GAAG,GAAG;0DAI1B,CAAC,gDAWuB,aAAa,CAAC,CAAC;WAAf,aAAa,CAAC,CAAC;mCAWP,CAAC;;;;;;;;CAqBtC,CAAC"}
1
+ {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../src/class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;IAAE,SAAS,IAAI,GAAG,CAAA;CAAE,CAAC,GAAG;IAC/D,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,KAAK,GAMZ,CAAC;iBALgC,GAAG;;uBACnB,GAAG,GAAG,GAAG;GAeW,CAAC,sDAXtC,CAAC,gDAWuB,YAAY,CAAC,CAAC,CAAC;WAAf,YAAY,CAAC,CAAC,CAAC;cAWP,CAAC,oBAAD,CAAC;;;;gBAJnB,GAAC,wCAAD,GAAC,AAFR,4DAEN,YAAY,CAAC,GAAC,CAAC;;eAaV,GAAC,oBAAD,GAAC;;CAYZ,CAAC"}
package/dist/dict.d.ts CHANGED
@@ -2,18 +2,30 @@ import { DefinitionOf, Shorthand, Expand, AbstractConstructor, Constructor, Empt
2
2
  export type DictShorthand = {
3
3
  [key: string]: Shorthand;
4
4
  };
5
+ type Internal<S extends DictShorthand> = {
6
+ Definition: {
7
+ -readonly [K in keyof S]: DefinitionOf<S[K]>;
8
+ };
9
+ Serialized: {
10
+ -readonly [K in keyof S]: ReturnType<DefinitionOf<S[K]>["$serialize"]>;
11
+ };
12
+ Inline: {
13
+ -readonly [K in keyof S]: DefinitionOf<S[K]>["$inline"];
14
+ };
15
+ };
5
16
  export declare const Dict: <const S extends {
6
17
  [key: string]: any;
7
- }, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => Omit<B, ""> & Omit<(abstract new (...args: any[]) => {
8
- serialize(): Expand<{ -readonly [K in keyof S]: ReturnType<{ -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K]["$serialize"]>; }>;
18
+ }, B extends AbstractConstructor<{}> = typeof Empty, Cache extends Internal<S> = Internal<S>>(of: S, base?: B) => Omit<B, ""> & Omit<(abstract new (...args: any[]) => {
19
+ serialize(): Expand<Cache["Serialized"]>;
9
20
  }) & {
10
21
  $name: "dict";
11
22
  $of: S;
12
- deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<{ -readonly [K in keyof S]: ReturnType<{ -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K]["$serialize"]>; }>): InstanceType<T>;
13
- $deserialize<T_1 extends any>(this: T_1, value: { -readonly [K in keyof S]: ReturnType<{ -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K]["$serialize"]>; }): { -readonly [K_2 in keyof { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }]: { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K_2]["$inline"]; };
14
- $serialize<T_2 extends any>(this: T_2, value: InstanceType<T_2>): { -readonly [K in keyof S]: ReturnType<{ -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K]["$serialize"]>; };
15
- $inline: { -readonly [K_2 in keyof { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }]: { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K_2]["$inline"]; };
16
- }, ""> & (abstract new (value: Expand<{ -readonly [K_2 in keyof { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }]: { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K_2]["$inline"]; }>) => InstanceType<B> & {
17
- serialize(): Expand<{ -readonly [K in keyof S]: ReturnType<{ -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K]["$serialize"]>; }>;
18
- } & { -readonly [K_2 in keyof { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }]: { -readonly [K_1 in keyof S]: DefinitionOf<S[K_1], B>; }[K_2]["$inline"]; });
23
+ deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<Cache["Serialized"]>): InstanceType<T>;
24
+ $deserialize<T_1 extends any>(this: T_1, value: Cache["Serialized"]): Cache["Inline"];
25
+ $serialize<T_2 extends any>(this: T_2, value: InstanceType<T_2>): Cache["Serialized"];
26
+ $inline: Cache["Inline"];
27
+ }, ""> & (abstract new (value: Expand<Cache["Inline"]>) => InstanceType<B> & {
28
+ serialize(): Expand<Cache["Serialized"]>;
29
+ } & Cache["Inline"]);
30
+ export {};
19
31
  //# 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,EAET,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;;yDAIX,CAAC,SACC,CAAC,gDAegB,GAAG,EAAE;;;;;yDAUlB,CAAC,wIAEN,aAAa,CAAC,CAAC;;;;;;qKAyCrB,CAAC"}
1
+ {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EAET,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,KAAK,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI;IACvC,UAAU,EAAE;QAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAC7D,UAAU,EAAE;QACV,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KACvE,CAAC;IACF,MAAM,EAAE;QACN,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACxD,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,IAAI,SAKX,CAAC;;GAyDa,CAAC,iDAAY,KAAK,wCAzDhC,CAAC,SAyDa,CAAC,AAxDZ,gDAMgB,GAAG,EAAE;iBAKb,MAAM,CA6CU,KAAK,AA7CT,CAAC,YAAY,CAAC,CAAC;;;;gBAOxB,CAAC,wCAAD,CAAC,AAFR,SACA,MAAM,CAuCc,KAAK,AAvCb,CAAC,YAAY,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC;iBAMV,GAAC,oBAAD,GAAC,SAgCoB,KAAK,AA/BpB,CAAC,YAAY,CAAC,GA+BC,KAAK,AA9B1B,CAAC,QAAQ,CAAC;eAYV,GAAC,oBAAD,GAAC,SACA,YAAY,CAAC,AADd,GACe,CAAC,GAiBK,KAAK,AAhB1B,CAAC,YAAY,CAAC;aAgBO,KAAK,AALb,CAAC,QAAQ,CAAC;+BAIxB,MAAM,CACgB,KAAK,AADf,CAAC,QAAQ,CAAC,CAAC;iBA5CjB,MAAM,CA6CU,KAAK,AA7CT,CAAC,YAAY,CAAC,CAAC;oBAgD3C,CAAC"}
package/dist/dict.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dict.js","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":";;;AAAA,0BAQa;AAIN,MAAM,IAAI,GAAG,CAIlB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IAUF,MAAe,KAAM,SAAS,IAAuC;QACnE,MAAM,CAAC,KAAK,GAAG,MAAe,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAEhB,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,EAAE,CAAC,CAAC;YACjC,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,EAAE,CAAC,CAAC;YACjC,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;AAzEW,QAAA,IAAI,QAyEf"}
1
+ {"version":3,"file":"dict.js","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":";;;AAAA,0BAQa;AAcN,MAAM,IAAI,GAAG,CAKlB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IACF,MAAe,KAAM,SAAS,IAAuC;QACnE,MAAM,CAAC,KAAK,GAAG,MAAe,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAEhB,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,KAAkC;YAElC,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,KAA0B;YAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,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,EAAE,CAAC,CAAC;YACjC,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,CAAkB;;IAOlC,OAAO,KAA+B,CAAC;AACzC,CAAC,CAAC;AAjEW,QAAA,IAAI,QAiEf"}
@@ -1,4 +1,4 @@
1
- import { Expand, DefinitionOf, AbstractConstructor, Empty, type Shorthand } from "./_";
1
+ import { Expand, DefinitionOf, AbstractConstructor, Empty, type Shorthand, type Definition } from "./_";
2
2
  import { ClassShorthand } from "./class";
3
3
  import { type DictShorthand } from "./dict";
4
4
  type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
@@ -35,27 +35,41 @@ type DictInput = {
35
35
  };
36
36
  type DictShorthandInput = DictShorthand;
37
37
  type Access<T, K> = K extends keyof T ? T[K] : never;
38
+ type Entries<T extends readonly any[], K> = UnionToIntersection<{
39
+ [i in keyof T]: Access<GetShape<T[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? {
40
+ [key in U]: T[i] extends DictShorthandInput ? DefinitionOf<T[i]> : T[i];
41
+ } : never : never;
42
+ }[number]>;
38
43
  type GetShape<S extends Config> = S extends DictInput ? S["$of"] : S extends ClassInput ? Access<S, "prototype"> : S;
39
- type BestKey<S extends Config[]> = {
44
+ export type BestKey<S extends readonly Config[]> = {
40
45
  [key in keyof S]: GetShape<S[key]>;
41
46
  }[number] extends infer U ? FindBestKeyForMatching<U> : never;
42
- export type DiscriminatedUnionConfiguration = Config[];
43
- export declare const DiscriminatedUnion: <S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, const B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B | undefined) => Omit<B, "prototype"> & Omit<(abstract new (value: DefinitionOf<S[number]>["$inline"]) => {
44
- value: DefinitionOf<S[number], typeof Empty>["$inline"];
45
- serialize(): Expand<ReturnType<DefinitionOf<S[number]>["$serialize"]>>;
46
- match<M extends Matcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>>, F extends M extends ExhaustiveMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [] : M extends UnsafeFallthroughMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [] : M extends PartialMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [fallback: (value: Omit<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>, keyof M>[Exclude<keyof UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>, keyof M>] extends infer U_1 extends Shorthand ? Expand<DefinitionOf<U_1>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
47
+ export type DiscriminatedUnionConfiguration = readonly Config[];
48
+ export declare function findBestKey(config: DiscriminatedUnionConfiguration): string;
49
+ export declare function prepareShapeMap(config: DiscriminatedUnionConfiguration, key: string): {
50
+ [key: string]: Definition;
51
+ };
52
+ type Internal<S extends DiscriminatedUnionConfiguration, K extends BestKey<S>> = {
53
+ Map: Entries<S, K>;
54
+ Serialized: ReturnType<DefinitionOf<S[number]>["$serialize"]>;
55
+ Inline: DefinitionOf<S[number]>["$inline"];
56
+ };
57
+ export declare const DiscriminatedUnion: <S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, const B extends AbstractConstructor<{}> = typeof Empty, IInternal extends Internal<S, K> = Internal<S, K>>(of: S, base?: B | undefined) => Omit<B, "prototype"> & Omit<(abstract new (value: IInternal["Inline"]) => {
58
+ value: IInternal["Inline"];
59
+ serialize(): Expand<IInternal["Serialized"]>;
60
+ match<M extends Matcher<IInternal["Map"]>, F extends M extends ExhaustiveMatcher<IInternal["Map"]> ? [] : M extends UnsafeFallthroughMatcher<IInternal["Map"]> ? [] : M extends PartialMatcher<IInternal["Map"]> ? [fallback: (value: Omit<IInternal["Map"], keyof M>[keyof Omit<IInternal["Map"], keyof M>] extends infer U extends Shorthand ? Expand<DefinitionOf<U>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
47
61
  }) & {
48
- serialized: ReturnType<DefinitionOf<S[number]>["$serialize"]>;
62
+ serialized: IInternal["Serialized"];
49
63
  $of: S;
50
64
  $name: "discriminated-union";
51
- deserialize<T extends any>(this: T, value: Expand<ReturnType<DefinitionOf<S[number]>["$serialize"]>>): InstanceType<T>;
52
- $deserialize<T_1 extends any>(this: T_1, value: ReturnType<DefinitionOf<S[number]>["$serialize"]>): DefinitionOf<S[number]>["$inline"];
53
- $serialize<T_2 extends any>(this: T_2, value: DefinitionOf<S[number]>["$inline"]): ReturnType<DefinitionOf<S[number]>["$serialize"]>;
54
- $inline: DefinitionOf<S[number]>["$inline"];
55
- }, "prototype"> & (abstract new (value: Expand<DefinitionOf<S[number]>["$inline"]>) => InstanceType<B> & {
56
- value: DefinitionOf<S[number], typeof Empty>["$inline"];
57
- serialize(): Expand<ReturnType<DefinitionOf<S[number]>["$serialize"]>>;
58
- match<M extends Matcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>>, F extends M extends ExhaustiveMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [] : M extends UnsafeFallthroughMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [] : M extends PartialMatcher<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>> ? [fallback: (value: Omit<UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>, keyof M>[Exclude<keyof UnionToIntersection<{ [i in keyof S]: Access<GetShape<S[i]>, K> extends infer U extends string ? IsStringLiteral<U> extends true ? { [key in U]: S[i] extends DictShorthand ? DefinitionOf<S[i], typeof Empty> : S[i]; } : never : never; }[number]>, keyof M>] extends infer U_1 extends Shorthand ? Expand<DefinitionOf<U_1>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
65
+ deserialize<T extends any>(this: T, value: Expand<IInternal["Serialized"]>): InstanceType<T>;
66
+ $deserialize<T_1 extends any>(this: T_1, value: IInternal["Serialized"]): IInternal["Inline"];
67
+ $serialize<T_2 extends any>(this: T_2, value: IInternal["Inline"]): IInternal["Serialized"];
68
+ $inline: IInternal["Inline"];
69
+ }, "prototype"> & (abstract new (value: Expand<IInternal["Inline"]>) => InstanceType<B> & {
70
+ value: IInternal["Inline"];
71
+ serialize(): Expand<IInternal["Serialized"]>;
72
+ match<M extends Matcher<IInternal["Map"]>, F extends M extends ExhaustiveMatcher<IInternal["Map"]> ? [] : M extends UnsafeFallthroughMatcher<IInternal["Map"]> ? [] : M extends PartialMatcher<IInternal["Map"]> ? [fallback: (value: Omit<IInternal["Map"], keyof M>[keyof Omit<IInternal["Map"], keyof M>] extends infer U extends Shorthand ? Expand<DefinitionOf<U>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
59
73
  });
60
74
  export {};
61
75
  //# sourceMappingURL=discriminated-union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DiscriminatedUnion = void 0;
4
+ exports.findBestKey = findBestKey;
5
+ exports.prepareShapeMap = prepareShapeMap;
4
6
  const _1 = require("./_");
5
7
  function findBestKey(config) {
6
8
  const hash = {};
@@ -45,11 +47,7 @@ function prepareShapeMap(config, key) {
45
47
  return acc;
46
48
  }, {});
47
49
  }
48
- const DiscriminatedUnion = (of, ...args
49
- // ...args: [K] extends [never]
50
- // ? ["⚠️ Make sure to add a discriminator to every element of the union"]
51
- // : [base?: B]
52
- ) => {
50
+ const DiscriminatedUnion = (of, ...args) => {
53
51
  const base = args[0] || _1.Empty;
54
52
  const key = findBestKey(of);
55
53
  const map = prepareShapeMap(of, key);
@@ -67,16 +65,16 @@ const DiscriminatedUnion = (of, ...args
67
65
  }
68
66
  match(...[matcher, fallback]) {
69
67
  const element = this.value;
70
- const value = element[key];
71
- const handler = matcher[value];
68
+ const discriminant = element[key];
69
+ const handler = matcher[discriminant];
72
70
  if (handler) {
73
- return handler(value);
71
+ return handler(element);
74
72
  }
75
73
  if (fallback) {
76
- return fallback(value);
74
+ return fallback(element);
77
75
  }
78
76
  if (matcher._) {
79
- return matcher._(value);
77
+ return matcher._(element);
80
78
  }
81
79
  throw new Error("Non-exhaustive match");
82
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminated-union.js","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
package/dist/either.d.ts CHANGED
@@ -22,7 +22,7 @@ export type EitherConfiguration = {
22
22
  export declare const Either: <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"]) => {
23
23
  value: DefinitionOf<S[keyof S], typeof Empty>["$inline"];
24
24
  serialize(): Expand<{ [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]>;
25
- match<M extends Matcher<S>, F extends M extends ExhaustiveMatcher<S> ? [] : M extends UnsafeFallthroughMatcher<S> ? [] : M extends PartialMatcher<S> ? [fallback: (value: InstanceType<Omit<S, keyof M>[Exclude<keyof S, keyof M>]>) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
25
+ match<M extends Matcher<S>, F extends M extends ExhaustiveMatcher<S> ? [] : M extends UnsafeFallthroughMatcher<S> ? [] : M extends PartialMatcher<S> ? [fallback: (value: InstanceType<Omit<S, keyof M>[keyof Omit<S, keyof M>]>) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
26
26
  }) & {
27
27
  serialized: { [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S];
28
28
  of: S;
@@ -34,7 +34,7 @@ export declare const Either: <const S extends EitherConfiguration, const B exten
34
34
  }, "prototype"> & (abstract new (value: Expand<DefinitionOf<S[keyof S]>["$inline"]>) => InstanceType<B> & {
35
35
  value: DefinitionOf<S[keyof S], typeof Empty>["$inline"];
36
36
  serialize(): Expand<{ [K in keyof S]: [K, ReturnType<DefinitionOf<S[K]>["$serialize"]>]; }[keyof S]>;
37
- match<M extends Matcher<S>, F extends M extends ExhaustiveMatcher<S> ? [] : M extends UnsafeFallthroughMatcher<S> ? [] : M extends PartialMatcher<S> ? [fallback: (value: InstanceType<Omit<S, keyof M>[Exclude<keyof S, keyof M>]>) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
37
+ match<M extends Matcher<S>, F extends M extends ExhaustiveMatcher<S> ? [] : M extends UnsafeFallthroughMatcher<S> ? [] : M extends PartialMatcher<S> ? [fallback: (value: InstanceType<Omit<S, keyof M>[keyof Omit<S, keyof M>]>) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
38
38
  });
39
39
  export {};
40
40
  //# sourceMappingURL=either.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EACN,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAErC,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;KACxC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACvD,CAAC;AAEF,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,IAAI;KAC/C,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACxD,GAAG;IACF,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;CAC7C,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACxD,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IACzB,iBAAiB,CAAC,CAAC,CAAC,GACpB,wBAAwB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,cAAc,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,MAAM,oGAIb,CAAC,SACC,CAAC;;;4OAqCiF,GAAG,gEAI1D,GAAG,EAAE,KAAK,GAAG,6DAA6D,GAAG,EAAE,KAAK,GAAG;;;;;qCAmB9G,CAAC,mGAEN,aAAa,CAAC,CAAC;;;;;;;4OAzBoE,GAAG,gEAI1D,GAAG,EAAE,KAAK,GAAG,6DAA6D,GAAG,EAAE,KAAK,GAAG;EAkEzH,CAAC"}
1
+ {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../src/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAe,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,OAAO,2FAId,CAAC,SACC,CAAC;;iBAWQ,CAAC;;;;qCAKN,CAAC,aAEN,aAAa,CAAC,CAAC;;;;;;iBAPL,CAAC;EA+BjB,CAAC"}
1
+ {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../src/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAe,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,OAAO,SAgBH,CAAC,2BAwBE,CAAC,qDAxBJ,CAAC,AAZX,SAoCa,CAAC,AAnCZ;;iBAWQ,CAAC;;;;gBAOE,CAAC,oBAAD,CAAC,AAFR,aAEN,YAAY,CAAC,CAAC,CAAC;;;;;;iBAPL,CAAC;EA+BjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EAEN,MAAM,KAAK,CAAC;AAGb,KAAK,iBAAiB,GAAG;IACvB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;CAC5B,CAAC;AACF,KAAK,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,KAAK,gCAAgC,CAAC,CAAC,SAAS,qBAAqB,IACnE,CAAC,SAAS,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAC5B,CAAC,qBAAqB,EAAE,UAAU,GAAG,SAAS,CAAC,GAC/C,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7B,KAAK,SAAS,CAAC,CAAC,SAAS,oBAAoB,IAAI,CAAC,SAAS;IACzD,MAAM,CAAC,SAAS,qBAAqB;IACrC,MAAM,CAAC,SAAS,UAAU,GAAG,SAAS;CACvC,GACG;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAClC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,GAAG,SAAS,CAAC,GAChD;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAClD,KAAK,CAAC;AAEZ,eAAO,MAAM,OAAO,6FAIV,CAAC,SACH,CAAC;;;;;qCA4BG,CAAC,kIAEN,aAAa,CAAC,CAAC;;;;;;;EA2CrB,CAAC"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EAEN,MAAM,KAAK,CAAC;AAGb,KAAK,iBAAiB,GAAG;IACvB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;CAC5B,CAAC;AACF,KAAK,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,KAAK,gCAAgC,CAAC,CAAC,SAAS,qBAAqB,IACnE,CAAC,SAAS,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAC5B,CAAC,qBAAqB,EAAE,UAAU,GAAG,SAAS,CAAC,GAC/C,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7B,KAAK,SAAS,CAAC,CAAC,SAAS,oBAAoB,IAAI,CAAC,SAAS;IACzD,MAAM,CAAC,SAAS,qBAAqB;IACrC,MAAM,CAAC,SAAS,UAAU,GAAG,SAAS;CACvC,GACG;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAClC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,GAAG,SAAS,CAAC,GAChD;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAClD,KAAK,CAAC;AAEZ,eAAO,MAAM,OAAO,GAIV,CAAC,+BAmES,CAAC,yDAnEX,CAAC,SAmES,CAAC,AAlEZ;;;;;gBA8BW,CAAC,oBAAD,CAAC,AAFR,kIAEN,YAAY,CAAC,CAAC,CAAC;iBAKV,GAAC,oBAAD,GAAC;eAaD,GAAC,oBAAD,GAAC;;;;;EAyBZ,CAAC"}
@@ -1,105 +1,110 @@
1
1
  import { Definition, Expand, Shorthand, DefinitionOf, AbstractConstructor, Empty, Constructor } from "./_";
2
- export type MultipleShorthand = (Definition | Shorthand)[] | readonly (Definition | Shorthand)[];
3
2
  export type MultipleConfiguration = Definition | Shorthand;
4
- export declare const Multiple: <const S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: DefinitionOf<S, B>["$inline"][]) => {
5
- value: DefinitionOf<S, B>["$inline"][];
6
- serialize(): Expand<ReturnType<DefinitionOf<S, B>["$serialize"]>>[];
7
- readonly map: <U>(callbackfn: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => U, thisArg?: any) => U[];
3
+ export type MultipleShorthand = [any] | readonly [any];
4
+ type Internal<S extends MultipleConfiguration> = {
5
+ Serialized: ReturnType<DefinitionOf<S>["$serialize"]>[];
6
+ Inline: DefinitionOf<S>["$inline"][];
7
+ };
8
+ export declare const Multiple: <const S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty, Cache extends Internal<S> = Internal<S>>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: Cache["Inline"]) => {
9
+ value: Cache["Inline"];
10
+ serialize(): Expand<Cache["Serialized"]>;
11
+ readonly map: <U>(callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U, thisArg?: any) => U[];
8
12
  readonly reduce: {
9
- (callbackfn: (previousValue: DefinitionOf<S, B>["$inline"], currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => DefinitionOf<S, B>["$inline"]): DefinitionOf<S, B>["$inline"];
10
- (callbackfn: (previousValue: DefinitionOf<S, B>["$inline"], currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => DefinitionOf<S, B>["$inline"], initialValue: DefinitionOf<S, B>["$inline"]): DefinitionOf<S, B>["$inline"];
11
- <U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => U_1, initialValue: U_1): U_1;
13
+ (callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
14
+ (callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"], initialValue: DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
15
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_1, initialValue: U_1): U_1;
12
16
  };
13
17
  readonly filter: {
14
- <S_1 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
15
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, B>["$inline"][];
18
+ <S_1 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
19
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"][];
16
20
  };
17
- readonly forEach: (callbackfn: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => void, thisArg?: any) => void;
18
- readonly some: (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any) => boolean;
21
+ readonly forEach: (callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => void, thisArg?: any) => void;
22
+ readonly some: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => boolean;
19
23
  readonly every: {
20
- <S_2 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
21
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): boolean;
24
+ <S_2 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
25
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): boolean;
22
26
  };
23
27
  readonly find: {
24
- <S_3 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
25
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, B>["$inline"] | undefined;
28
+ <S_3 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
29
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"] | undefined;
26
30
  };
27
- readonly findIndex: (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any) => number;
28
- readonly indexOf: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => number;
29
- readonly lastIndexOf: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => number;
30
- readonly includes: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => boolean;
31
+ readonly findIndex: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => number;
32
+ readonly indexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
33
+ readonly lastIndexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
34
+ readonly includes: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => boolean;
31
35
  readonly keys: () => IterableIterator<number>;
32
- readonly values: () => IterableIterator<DefinitionOf<S, B>["$inline"]>;
33
- readonly entries: () => IterableIterator<[number, DefinitionOf<S, B>["$inline"]]>;
34
- readonly at: (index: number) => DefinitionOf<S, B>["$inline"] | undefined;
36
+ readonly values: () => IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
37
+ readonly entries: () => IterableIterator<[number, DefinitionOf<S, typeof Empty>["$inline"]]>;
38
+ readonly at: (index: number) => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
35
39
  readonly concat: {
36
- (...items: ConcatArray<DefinitionOf<S, B>["$inline"]>[]): DefinitionOf<S, B>["$inline"][];
37
- (...items: (DefinitionOf<S, B>["$inline"] | ConcatArray<DefinitionOf<S, B>["$inline"]>)[]): DefinitionOf<S, B>["$inline"][];
40
+ (...items: ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>[]): DefinitionOf<S, typeof Empty>["$inline"][];
41
+ (...items: (DefinitionOf<S, typeof Empty>["$inline"] | ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>)[]): DefinitionOf<S, typeof Empty>["$inline"][];
38
42
  };
39
43
  readonly flat: <A, D extends number = 1>(this: A, depth?: D | undefined) => FlatArray<A, D>[];
40
44
  readonly splice: {
41
- (start: number, deleteCount?: number | undefined): DefinitionOf<S, B>["$inline"][];
42
- (start: number, deleteCount: number, ...items: DefinitionOf<S, B>["$inline"][]): DefinitionOf<S, B>["$inline"][];
45
+ (start: number, deleteCount?: number): DefinitionOf<S, typeof Empty>["$inline"][];
46
+ (start: number, deleteCount: number, ...items: DefinitionOf<S, typeof Empty>["$inline"][]): DefinitionOf<S, typeof Empty>["$inline"][];
43
47
  };
44
- readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
45
- readonly push: (...items: DefinitionOf<S, B>["$inline"][]) => number;
46
- readonly pop: () => DefinitionOf<S, B>["$inline"] | undefined;
47
- readonly sort: (compareFn?: ((a: DefinitionOf<S, B>["$inline"], b: DefinitionOf<S, B>["$inline"]) => number) | undefined) => DefinitionOf<S, B>["$inline"][];
48
- readonly slice: (start?: number | undefined, end?: number | undefined) => DefinitionOf<S, B>["$inline"][];
48
+ readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
49
+ readonly push: (...items: DefinitionOf<S, typeof Empty>["$inline"][]) => number;
50
+ readonly pop: () => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
51
+ readonly sort: (compareFn?: ((a: DefinitionOf<S, typeof Empty>["$inline"], b: DefinitionOf<S, typeof Empty>["$inline"]) => number) | undefined) => Cache["Inline"];
52
+ readonly slice: (start?: number, end?: number) => DefinitionOf<S, typeof Empty>["$inline"][];
49
53
  readonly length: number;
50
- [Symbol.iterator](): IterableIterator<DefinitionOf<S, B>["$inline"]>;
54
+ [Symbol.iterator](): IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
51
55
  }) & {
52
56
  $name: "multiple";
53
- deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<ReturnType<DefinitionOf<S, B>["$serialize"]>>[]): InstanceType<T>;
54
- $deserialize<T_1 extends Constructor<any, any[]>>(this: T_1, value: ReturnType<DefinitionOf<S, B>["$serialize"]>[]): InstanceType<T_1>;
55
- $serialize(value: DefinitionOf<S, B>["$inline"][]): ReturnType<DefinitionOf<S, B>["$serialize"]>[];
56
- $inline: DefinitionOf<S, B>["$inline"][];
57
- }, ""> & (abstract new (value: Expand<DefinitionOf<S, B>["$inline"]>[]) => InstanceType<B> & {
58
- value: DefinitionOf<S, B>["$inline"][];
59
- serialize(): Expand<ReturnType<DefinitionOf<S, B>["$serialize"]>>[];
60
- readonly map: <U>(callbackfn: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => U, thisArg?: any) => U[];
57
+ deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<Cache["Serialized"]>): InstanceType<T>;
58
+ $deserialize<T_1 extends Constructor<any, any[]>>(this: T_1, value: Cache["Serialized"]): InstanceType<T_1>;
59
+ $serialize(value: Cache["Inline"]): Cache["Serialized"];
60
+ $inline: Cache["Inline"];
61
+ }, ""> & (abstract new (value: Expand<Cache["Inline"]>) => InstanceType<B> & {
62
+ value: Cache["Inline"];
63
+ serialize(): Expand<Cache["Serialized"]>;
64
+ readonly map: <U>(callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U, thisArg?: any) => U[];
61
65
  readonly reduce: {
62
- (callbackfn: (previousValue: DefinitionOf<S, B>["$inline"], currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => DefinitionOf<S, B>["$inline"]): DefinitionOf<S, B>["$inline"];
63
- (callbackfn: (previousValue: DefinitionOf<S, B>["$inline"], currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => DefinitionOf<S, B>["$inline"], initialValue: DefinitionOf<S, B>["$inline"]): DefinitionOf<S, B>["$inline"];
64
- <U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, B>["$inline"], currentIndex: number, array: DefinitionOf<S, B>["$inline"][]) => U_1, initialValue: U_1): U_1;
66
+ (callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
67
+ (callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"], initialValue: DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
68
+ <U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_1, initialValue: U_1): U_1;
65
69
  };
66
70
  readonly filter: {
67
- <S_1 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
68
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, B>["$inline"][];
71
+ <S_1 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
72
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"][];
69
73
  };
70
- readonly forEach: (callbackfn: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => void, thisArg?: any) => void;
71
- readonly some: (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any) => boolean;
74
+ readonly forEach: (callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => void, thisArg?: any) => void;
75
+ readonly some: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => boolean;
72
76
  readonly every: {
73
- <S_2 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
74
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): boolean;
77
+ <S_2 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
78
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): boolean;
75
79
  };
76
80
  readonly find: {
77
- <S_3 extends DefinitionOf<S, B>["$inline"]>(predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
78
- (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, B>["$inline"] | undefined;
81
+ <S_3 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
82
+ (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"] | undefined;
79
83
  };
80
- readonly findIndex: (predicate: (value: DefinitionOf<S, B>["$inline"], index: number, obj: DefinitionOf<S, B>["$inline"][]) => unknown, thisArg?: any) => number;
81
- readonly indexOf: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => number;
82
- readonly lastIndexOf: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => number;
83
- readonly includes: (searchElement: DefinitionOf<S, B>["$inline"], fromIndex?: number | undefined) => boolean;
84
+ readonly findIndex: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => number;
85
+ readonly indexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
86
+ readonly lastIndexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
87
+ readonly includes: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => boolean;
84
88
  readonly keys: () => IterableIterator<number>;
85
- readonly values: () => IterableIterator<DefinitionOf<S, B>["$inline"]>;
86
- readonly entries: () => IterableIterator<[number, DefinitionOf<S, B>["$inline"]]>;
87
- readonly at: (index: number) => DefinitionOf<S, B>["$inline"] | undefined;
89
+ readonly values: () => IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
90
+ readonly entries: () => IterableIterator<[number, DefinitionOf<S, typeof Empty>["$inline"]]>;
91
+ readonly at: (index: number) => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
88
92
  readonly concat: {
89
- (...items: ConcatArray<DefinitionOf<S, B>["$inline"]>[]): DefinitionOf<S, B>["$inline"][];
90
- (...items: (DefinitionOf<S, B>["$inline"] | ConcatArray<DefinitionOf<S, B>["$inline"]>)[]): DefinitionOf<S, B>["$inline"][];
93
+ (...items: ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>[]): DefinitionOf<S, typeof Empty>["$inline"][];
94
+ (...items: (DefinitionOf<S, typeof Empty>["$inline"] | ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>)[]): DefinitionOf<S, typeof Empty>["$inline"][];
91
95
  };
92
96
  readonly flat: <A, D extends number = 1>(this: A, depth?: D | undefined) => FlatArray<A, D>[];
93
97
  readonly splice: {
94
- (start: number, deleteCount?: number | undefined): DefinitionOf<S, B>["$inline"][];
95
- (start: number, deleteCount: number, ...items: DefinitionOf<S, B>["$inline"][]): DefinitionOf<S, B>["$inline"][];
98
+ (start: number, deleteCount?: number): DefinitionOf<S, typeof Empty>["$inline"][];
99
+ (start: number, deleteCount: number, ...items: DefinitionOf<S, typeof Empty>["$inline"][]): DefinitionOf<S, typeof Empty>["$inline"][];
96
100
  };
97
- readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, B>["$inline"], index: number, array: DefinitionOf<S, B>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
98
- readonly push: (...items: DefinitionOf<S, B>["$inline"][]) => number;
99
- readonly pop: () => DefinitionOf<S, B>["$inline"] | undefined;
100
- readonly sort: (compareFn?: ((a: DefinitionOf<S, B>["$inline"], b: DefinitionOf<S, B>["$inline"]) => number) | undefined) => DefinitionOf<S, B>["$inline"][];
101
- readonly slice: (start?: number | undefined, end?: number | undefined) => DefinitionOf<S, B>["$inline"][];
101
+ readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
102
+ readonly push: (...items: DefinitionOf<S, typeof Empty>["$inline"][]) => number;
103
+ readonly pop: () => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
104
+ readonly sort: (compareFn?: ((a: DefinitionOf<S, typeof Empty>["$inline"], b: DefinitionOf<S, typeof Empty>["$inline"]) => number) | undefined) => Cache["Inline"];
105
+ readonly slice: (start?: number, end?: number) => DefinitionOf<S, typeof Empty>["$inline"][];
102
106
  readonly length: number;
103
- [Symbol.iterator](): IterableIterator<DefinitionOf<S, B>["$inline"]>;
107
+ [Symbol.iterator](): IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
104
108
  });
109
+ export {};
105
110
  //# sourceMappingURL=multiple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiple.d.ts","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,MAAM,EAEN,SAAS,EACT,YAAY,EAGZ,mBAAmB,EACnB,KAAK,EACL,WAAW,EACZ,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,iBAAiB,GACzB,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,GAC1B,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,eAAO,MAAM,QAAQ,gGAIf,CAAC,SACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAmBG,CAAC,kEAEN,aAAa,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiIrB,CAAC"}
1
+ {"version":3,"file":"multiple.d.ts","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,mBAAmB,EACnB,KAAK,EACL,WAAW,EACZ,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAEvD,KAAK,QAAQ,CAAC,CAAC,SAAS,qBAAqB,IAAI;IAC/C,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,QAAQ,SAKf,CAAC,gCA4Ia,CAAC,iDADH,KAAK,wCA3IjB,CAAC,SA4Ia,CAAC,AA3IZ,uDA0IS,KAAK,AArIY,CAAC,QAAQ,CAAC;WAqI3B,KAAK,AArIY,CAAC,QAAQ,CAAC;iBAK5B,MAAM,CAgIL,KAAK,AAhIM,CAAC,YAAY,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAOxB,CAAC,wCAAD,CAAC,AAFR,SACA,MAAM,CA0HD,KAAK,AA1HE,CAAC,YAAY,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC;iBASF,GAAC,wCAAD,GAAC,AAFR,SAkHK,KAAK,AAjHL,CAAC,YAAY,CAAC,GACzB,YAAY,CAAC,GAAC,CAAC;sBAgHJ,KAAK,AA5GW,CAAC,QAAQ,CAAC,GA4G1B,KAAK,AA5G6B,CAAC,YAAY,CAAC;aA4GhD,KAAK,AApGE,CAAC,QAAQ,CAAC;+BAoGxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;WAAhB,KAAK,AArIY,CAAC,QAAQ,CAAC;iBAK5B,MAAM,CAgIL,KAAK,AAhIM,CAAC,YAAY,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwI3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multiple.js","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multiple.js","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"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"}
@@ -115,8 +115,7 @@ describe("Multiple", () => {
115
115
  (0, test_1.ex)(b.reference.reduce((a, b) => a + b)).toStrictEqual(0).ok;
116
116
  (0, test_1.ex)(b.reference.some((x) => x === 0)).toBe(true).ok;
117
117
  (0, test_1.ex)(b.reference.every((x) => x === 0)).toBe(true).ok;
118
- (0, test_1.ex)(b.reference.find((x) => x === 0)).toStrictEqual(0)
119
- .ok;
118
+ (0, test_1.ex)(b.reference.find((x) => x === 0)).toStrictEqual(0).ok;
120
119
  (0, test_1.ex)(b.reference.findIndex((x) => x === 0)).toStrictEqual(0).ok;
121
120
  (0, test_1.ex)(b.reference.includes(0)).toBe(true).ok;
122
121
  (0, test_1.ex)(b.reference.indexOf(0)).toStrictEqual(0).ok;
@@ -1 +1 @@
1
- {"version":3,"file":"multiple.spec.js","sourceRoot":"","sources":["../src/multiple.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multiple.spec.js","sourceRoot":"","sources":["../src/multiple.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAc,KAAK,EAAE,MAAM,KAAK,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,OAAO,6DACV,IAAI,SACN,CAAC;;;;yDAOG,CAAC,SACA,IAAI,GACV,aAAa,CAAC,CAAC;;;aAKF,IAAI;+BAIb,IAAI;;EAQd,CAAC"}
1
+ {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAc,KAAK,EAAE,MAAM,KAAK,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,OAAO,GAqBA,CAAC,yDApBX,IAAI,SAoBM,CAAC,AAnBZ;;;;gBASW,CAAC,wCAAD,CAAC,AAFR,SACA,IAAI,GACV,YAAY,CAAC,CAAC,CAAC;;;aAKF,IAAI;+BAIb,IAAI;;EAQd,CAAC"}
@@ -4,20 +4,25 @@ type Matcher<V> = {
4
4
  some: (value: V) => any;
5
5
  none: () => any;
6
6
  };
7
- export declare const Optional: <S extends Shorthand, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: Expand<DefinitionOf<S, B>["$inline"]> | undefined) => {
8
- value: Expand<DefinitionOf<S, B>["$inline"]> | undefined;
9
- serialize(): Expand<ReturnType<DefinitionOf<S, B>["$serialize"]> | undefined>;
10
- match<M extends Matcher<Expand<DefinitionOf<S, B>["$inline"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
7
+ type Internal<S extends Definition | Shorthand> = {
8
+ Serialized: ReturnType<DefinitionOf<S>["$serialize"]> | undefined;
9
+ Inline: Expand<DefinitionOf<S>["$inline"]> | undefined;
10
+ Required: Expand<DefinitionOf<S>["$inline"]>;
11
+ };
12
+ export declare const Optional: <S extends Shorthand, B extends AbstractConstructor<{}> = typeof Empty, Cache extends Internal<S> = Internal<S>>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: Cache["Inline"]) => {
13
+ value: Cache["Inline"];
14
+ serialize(): Expand<Cache["Serialized"]>;
15
+ match<M extends Matcher<Expand<Cache["Required"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
11
16
  }) & {
12
17
  $name: "optional";
13
- deserialize<T extends Constructor<any, any[]>>(this: T, value: DefinitionOf<S, B>["$inline"] | undefined): InstanceType<T>;
14
- $deserialize(value: ReturnType<DefinitionOf<S, B>["$serialize"]> | undefined): DefinitionOf<S, B>["$inline"] | undefined;
15
- $serialize<T_1 extends any>(this: T_1, value: DefinitionOf<S, B>["$inline"] | undefined): ReturnType<DefinitionOf<S, B>["$serialize"]> | undefined;
16
- $inline: DefinitionOf<S, B>["$inline"] | undefined;
17
- }, ""> & (abstract new (value: Expand<DefinitionOf<S, B>["$inline"]> | undefined) => InstanceType<B> & {
18
- value: Expand<DefinitionOf<S, B>["$inline"]> | undefined;
19
- serialize(): Expand<ReturnType<DefinitionOf<S, B>["$serialize"]> | undefined>;
20
- match<M extends Matcher<Expand<DefinitionOf<S, B>["$inline"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
18
+ deserialize<T extends Constructor<any, any[]>>(this: T, value: Cache["Inline"]): InstanceType<T>;
19
+ $deserialize(value: Cache["Serialized"]): Definition["$inline"];
20
+ $serialize<T_1 extends any>(this: T_1, value: Cache["Inline"]): Cache["Serialized"];
21
+ $inline: Cache["Inline"];
22
+ }, ""> & (abstract new (value: Expand<Cache["Inline"]>) => InstanceType<B> & {
23
+ value: Cache["Inline"];
24
+ serialize(): Expand<Cache["Serialized"]>;
25
+ match<M extends Matcher<Expand<Cache["Required"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
21
26
  });
22
27
  export {};
23
28
  //# sourceMappingURL=optional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,WAAW,EACX,mBAAmB,EACnB,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,QAAQ,8EAIf,CAAC,SACC,CAAC;;;4EAiBK,CAAC,GACR,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;;;yDAQxC,CAAC,qDAEN,aAAa,CAAC,CAAC;;;;;;;4EAXR,CAAC,GACR,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;EA4CnD,CAAC"}
1
+ {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,WAAW,EACX,mBAAmB,EACnB,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC;AAE/D,KAAK,QAAQ,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI;IAChD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAKf,CAAC,oBAmDa,CAAC,iDADH,KAAK,wCAlDjB,CAAC,SAmDa,CAAC,AAlDZ,uDAiDS,KAAK,AA9CY,CAAC,QAAQ,CAAC;WA8C3B,KAAK,AA9CY,CAAC,QAAQ,CAAC;iBAM5B,MAAM,CAwCL,KAAK,AAxCM,CAAC,YAAY,CAAC,CAAC;UAMF,CAAC,qDAAD,CAAC,AAD5B,GACR,UAAU,CAAyB,CAAC,AAAxB,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;;;gBAUhC,CAAC,wCAAD,CAAC,AAFR,SA0BK,KAAK,AAzBL,CAAC,QAAQ,CAAC,GACrB,YAAY,CAAC,CAAC,CAAC;wBAwBJ,KAAK,AApBa,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;eAQ9D,GAAC,oBAAD,GAAC,SAYK,KAAK,AAXL,CAAC,QAAQ,CAAC,GAWV,KAAK,AAVX,CAAC,YAAY,CAAC;aAUR,KAAK,AAJE,CAAC,QAAQ,CAAC;+BAIxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;WAAhB,KAAK,AA9CY,CAAC,QAAQ,CAAC;iBAM5B,MAAM,CAwCL,KAAK,AAxCM,CAAC,YAAY,CAAC,CAAC;UAMF,CAAC,qDAAD,CAAC,AAD5B,GACR,UAAU,CAAyB,CAAC,AAAxB,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;EA0CnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAMN,MAAM,QAAQ,GAAG,CAItB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IAIF,MAAe,SAAU,SAAS,IAA+B;QAC5C;QAAnB,YAAmB,KAAgD;YACjE,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAA2C;QAEnE,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,UAAmB,CAAC;QAEnC,SAAS;YACP,OAAO,SAAS,CAAC,UAAU,CAAE,IAAY,CAAC,KAAK,CAAQ,CAAC;QAC1D,CAAC;QAED,KAAK,CACH,MAAS;YAET,IAAK,IAAY,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAwC;YAExC,OAAO,IAAK,IAAY,CAAE,IAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAQ,CAAC;QACrE,CAAC;QAED,MAAM,CAAC,YAAY,CACjB,KAAuD;YAEvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAQ,IAAA,QAAK,EAAC,EAAE,CAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAwC;YAExC,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,IAAA,QAAK,EAAC,EAAE,CAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,CAAC,OAAO,CAAoC;;IAWpD,OAAO,SAA4B,CAAC;AACtC,CAAC,CAAC;AAnEW,QAAA,QAAQ,YAmEnB"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":";;;AAAA,0BASa;AAYN,MAAM,QAAQ,GAAG,CAKtB,EAAK,EACL,OAAU,QAAY,EACtB,EAAE;IACF,MAAe,SAAU,SAAS,IAA+B;QAC5C;QAAnB,YAAmB,KAAsB;YACvC,KAAK,EAAE,CAAC;YADS,UAAK,GAAL,KAAK,CAAiB;QAEzC,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,UAAmB,CAAC;QAEnC,SAAS;YACP,OAAO,SAAS,CAAC,UAAU,CAAE,IAAY,CAAC,KAAK,CAAQ,CAAC;QAC1D,CAAC;QAED,KAAK,CACH,MAAS;YAET,IAAK,IAAY,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,WAAW,CAEhB,KAAsB;YAEtB,OAAO,IAAK,IAAY,CAAE,IAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAQ,CAAC;QACrE,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,KAA0B;YAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAQ,IAAA,QAAK,EAAC,EAAE,CAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,UAAU,CAEf,KAAsB;YAEtB,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,IAAA,QAAK,EAAC,EAAE,CAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,CAAC,OAAO,CAAkB;;IAWlC,OAAO,SAA4B,CAAC;AACtC,CAAC,CAAC;AA/DW,QAAA,QAAQ,YA+DnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAyB,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEhF,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,eAAO,MAAM,SAAS,iJAIhB,CAAC,SACC,CAAC;;;;;qCAgBG,CAAC,uCAEN,aAAa,CAAC,CAAC;;;;;;;EAwBrB,CAAC"}
1
+ {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAyB,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEhF,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,eAAO,MAAM,SAAS,GAIhB,CAAC,uFAoCa,CAAC,qDApCf,CAAC,SAoCa,CAAC,AAnCZ;;;;;gBAkBW,CAAC,oBAAD,CAAC,AAFR,uCAEN,YAAY,CAAC,CAAC,CAAC;;;;;;;EAwBrB,CAAC"}
package/dist/test.d.ts CHANGED
@@ -2,34 +2,34 @@ 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
3
  export type Equals<X, Y> = IfEquals<X, Y, true, false>;
4
4
  export declare function ex<Received>(received: Received): {
5
- toBe<Expected>(expected: Expected): IfEquals<Received, Expected, true, false> extends true ? {
5
+ toBe<Expected>(expected: Expected): Equals<Received, Expected> extends true ? {
6
6
  ok: true;
7
7
  } : {
8
8
  expected: Expected;
9
9
  received: Received;
10
10
  };
11
- toStrictEqual<Expected_1>(expected: Expected_1): IfEquals<Received, Expected_1, true, false> extends true ? {
11
+ toStrictEqual<Expected_1>(expected: Expected_1): Equals<Received, Expected_1> extends true ? {
12
12
  ok: true;
13
13
  } : {
14
14
  expected: Expected_1;
15
15
  received: Received;
16
16
  };
17
- toBeInstanceOf<Expected_2 extends Constructor<any, any[]>>(expected: Expected_2): IfEquals<Received, InstanceType<Expected_2>, true, false> extends true ? {
17
+ toBeInstanceOf<Expected_2 extends Constructor<any, any[]>>(expected: Expected_2): Equals<Received, InstanceType<Expected_2>> extends true ? {
18
18
  ok: true;
19
19
  } : {
20
20
  expected: InstanceType<Expected_2>;
21
21
  received: Received;
22
22
  };
23
- toHaveFirstParam<Expected_3>(): Received extends (first: infer P, ...rest: any[]) => any ? IfEquals<P, Expected_3, true, false> extends true ? {
23
+ toHaveFirstParam<Expected_3>(): Received extends (first: infer P, ...rest: any[]) => any ? Equals<P, Expected_3> extends true ? {
24
24
  ok: true;
25
25
  } : {
26
26
  expected: Expected_3;
27
27
  received: P;
28
- } : Received extends Constructor<any, [infer P_1, ...any[]]> ? IfEquals<P_1, Expected_3, true, false> extends true ? {
28
+ } : Received extends Constructor<any, [infer P, ...any[]]> ? Equals<P, Expected_3> extends true ? {
29
29
  ok: true;
30
30
  } : {
31
31
  expected: Expected_3;
32
- received: P_1;
32
+ received: P;
33
33
  } : "not a function or constructor";
34
34
  };
35
35
  export {};
@@ -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,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;6BAG/B,QAAQ;YAEV,IAAI;;kBACE,QAAQ;kBAAY,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;SAM3B,QAAQ,YAAR,QAAQ,AAHJ,GACjB,MAAM,CAyCL,QAAQ,AAzCM,EAEF,QAAQ,AAFI,CAAC,SAAS,IAAI,GACtC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GACZ;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAuC9B,QAAQ,AAvCgC,CAAA;KAAE;kBAY9B,UAAQ,YAAR,UAAQ,AAHJ,GACjB,MAAM,CA6BL,QAAQ,AA7BM,EAEF,UAAQ,AAFI,CAAC,SAAS,IAAI,GACtC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GACZ;QAAE,QAAQ,EAAE,UAAQ,CAAC;QAAC,QAAQ,EA2B9B,QAAQ,AA3BgC,CAAA;KAAE;mBAYjB,UAAQ,4CAAR,UAAQ,AAHjB,GACjB,MAAM,CAiBL,QAAQ,AAjBM,EAAE,YAAY,CAEH,UAAQ,AAFI,CAAC,CAAC,SAAS,IAAI,GACpD;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GACZ;QAAE,QAAQ,EAAE,YAAY,CAAC,UAAQ,CAAC,CAAC;QAAC,QAAQ,EAe5C,QAAQ,AAf8C,CAAA;KAAE;qBAkBxC,UAAQ,KAHxB,QAAQ,AAP0B,SAAS,CAC7C,KAAK,EAAE,MAAM,CAAC,EACd,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,GACJ,MAAM,CAE4B,CAAC,AAF3B,EAMQ,UAAQ,AANN,CAAC,SAAS,IAAI,GAC9B;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GACZ;QAAE,QAAQ,EAII,UAAQ,AAJF,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,GACrC,QAAQ,SAAS,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,GACpD,MAAM,CAE4B,CAAC,AAF3B,EAEM,UAAQ,AAFJ,CAAC,SAAS,IAAI,GAC9B;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GACZ;QAAE,QAAQ,EAAE,UAAQ,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,GACrC,+BAA+B;EAIxC"}
package/dist/test.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ex = void 0;
3
+ exports.ex = ex;
4
4
  const popStackTrace = (error) => {
5
5
  const lines = error.stack.split("\n");
6
6
  const at = lines.findIndex((line) => line.includes("at"));
@@ -42,5 +42,4 @@ function ex(received) {
42
42
  },
43
43
  };
44
44
  }
45
- exports.ex = ex;
46
45
  //# sourceMappingURL=test.js.map
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;AAgJA,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;IAClD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,SAAgB,EAAE,CAAW,QAAkB;IAC7C,OAAO;QACL,IAAI,CACF,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,aAAa,CACX,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,cAAc,CACZ,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,gBAAgB;YAYd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AArDD,gBAqDC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAwJA,gBAqDC;AA7DD,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;IAClD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,SAAgB,EAAE,CAAW,QAAkB;IAC7C,OAAO;QACL,IAAI,CACF,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,aAAa,CACX,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,cAAc,CACZ,QAAkB;YAIlB,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;QACD,gBAAgB;YAYd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAS,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts/shape",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -9,11 +9,11 @@
9
9
  "test": "jest --config node_modules/@ddd-ts/tools/jest.config.ts"
10
10
  },
11
11
  "dependencies": {
12
- "@ddd-ts/traits": "0.0.12"
12
+ "@ddd-ts/traits": "0.0.14"
13
13
  },
14
14
  "devDependencies": {
15
- "@ddd-ts/tools": "0.0.12",
16
- "@ddd-ts/types": "0.0.12",
15
+ "@ddd-ts/tools": "0.0.14",
16
+ "@ddd-ts/types": "0.0.14",
17
17
  "@types/jest": "^29.5.1"
18
18
  }
19
19
  }