@tstdl/base 0.78.0-beta43 → 0.78.0-beta46

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.78.0-beta43",
3
+ "version": "0.78.0-beta46",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -39,7 +39,7 @@
39
39
  "peerDependencies": {
40
40
  "@elastic/elasticsearch": "^8.4",
41
41
  "@koa/router": "^12.0",
42
- "@tstdl/angular": "^0.11.0-beta43",
42
+ "@tstdl/angular": "^0.11.0-beta46",
43
43
  "chroma-js": "^2.4",
44
44
  "got": "^12.3",
45
45
  "handlebars": "^4.7",
@@ -1,13 +1,13 @@
1
1
  import type { JsonPath } from "../../json-path/json-path";
2
- import type { Enumeration as EnumerationType, OneOrMany } from "../../types";
2
+ import type { Enumeration, OneOrMany } from "../../types";
3
3
  import type { ConstraintResult } from '../types';
4
4
  import { SchemaValueConstraint } from '../types';
5
5
  export declare class EnumerationConstraint extends SchemaValueConstraint {
6
6
  private readonly allowedValuesSet;
7
7
  private readonly allowedValuesString;
8
- readonly enumeration: EnumerationType;
8
+ readonly enumeration: Enumeration;
9
9
  readonly suitableTypes: SchemaValueConstraint['suitableTypes'];
10
10
  readonly expects: OneOrMany<string>;
11
- constructor(enumeration: EnumerationType);
11
+ constructor(enumeration: Enumeration);
12
12
  validate(value: number, path: JsonPath): ConstraintResult;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/constraints/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uCAAqC;AACrC,mEAAoD;AACpD,yDAAwD;AACxD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAAwC;AAExC,MAAa,qBAAsB,SAAQ,6BAAqB;IAQ9D,YAAY,WAA4B;QACtC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,aAAa,GAAG,IAAA,qBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAA,2BAAQ,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,mBAAmB,GAAG,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AA5BD,sDA4BC"}
1
+ {"version":3,"file":"enumeration.js","sourceRoot":"","sources":["../../../source/schema/constraints/enumeration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uCAAqC;AACrC,mEAAoD;AACpD,yDAAwD;AACxD,kDAA8C;AAE9C,oCAAiD;AACjD,oCAAwC;AAExC,MAAa,qBAAsB,SAAQ,6BAAqB;IAQ9D,YAAY,WAAwB;QAClC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,aAAa,GAAG,IAAA,qBAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAA,2BAAQ,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,CAAC,mBAAmB,GAAG,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SAClG;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;CACF;AA5BD,sDA4BC"}
@@ -4,5 +4,5 @@ import type { ObjectSchema } from '../types';
4
4
  export declare function assign<T1, O1, T2, O2>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>): ObjectSchema<Merge<T1, T2>, Merge<O1, O2>>;
5
5
  export declare function assign<T1, O1, T2, O2, T3, O3>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>): ObjectSchema<Merge<Merge<T1, T2>, T3>, Merge<Merge<O1, O2>, O3>>;
6
6
  export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>): ObjectSchema<Merge<Merge<Merge<T1, T2>, T3>, T4>, Merge<Merge<Merge<O1, O2>, O3>, O4>>;
7
- export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T6, O6>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T6, O6>): ObjectSchema<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T6>, Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O6>>;
8
- export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T6, O6, T7 extends Record, O7 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T6, O6>, schema6: ObjectSchema<T7, O7>): ObjectSchema<Merge<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T6>, T7>, Merge<Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O6>, O7>>;
7
+ export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T5, O5>): ObjectSchema<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T5>, Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O5>>;
8
+ export declare function assign<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5, T6 extends Record, O6 extends Record>(schema1: ObjectSchema<T1, O1>, schema2: ObjectSchema<T2, O2>, schema3: ObjectSchema<T3, O3>, schema4: ObjectSchema<T4, O4>, schema5: ObjectSchema<T5, O5>, schema6: ObjectSchema<T6, O6>): ObjectSchema<Merge<Merge<Merge<Merge<Merge<T1, T2>, T3>, T4>, T5>, T6>, Merge<Merge<Merge<Merge<Merge<O1, O2>, O3>, O4>, O5>, O6>>;
@@ -1 +1 @@
1
- {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../source/schema/schemas/assign.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,yDAA6C;AAU7C,SAAgB,MAAM,CAAC,GAAG,OAAuB;IAC/C,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAEnE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG;YACP,GAAG,MAAM;YACT,GAAG,OAAO,CAAC,CAAC,CAAE;YACd,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU;aAC1B;YACD,sBAAsB,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAE,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;SAChI,CAAC;KACH;IAED,IAAK,MAAM,CAAC,sBAAgC,CAAC,MAAM,IAAI,CAAC,EAAE;QACxD,MAAM,EAAE,sBAAsB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,IAAI,CAAC;KACf;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,wBAuBC"}
1
+ {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../source/schema/schemas/assign.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,yDAA6C;AAS7C,SAAgB,MAAM,CAAC,GAAG,OAAuB;IAC/C,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAEnE,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG;YACP,GAAG,MAAM;YACT,GAAG,OAAO,CAAC,CAAC,CAAE;YACd,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,UAAU;aAC1B;YACD,sBAAsB,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAE,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;SAChI,CAAC;KACH;IAED,IAAK,MAAM,CAAC,sBAAgC,CAAC,MAAM,IAAI,CAAC,EAAE;QACxD,MAAM,EAAE,sBAAsB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,IAAI,CAAC;KACf;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,wBAuBC"}
@@ -1,5 +1,5 @@
1
1
  import type { Decorator } from "../../reflection";
2
- import { Coercible, ValueSchema } from '../types';
2
+ import type { Coercible, ValueSchema } from '../types';
3
3
  export declare type NumberOptions = Coercible & {
4
4
  minimum?: number;
5
5
  maximum?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../source/schema/schemas/number.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,oDAA2D;AAC3D,oDAA2D;AAC3D,oDAA2D;AAC3D,8CAAwE;AACxE,oCAAkG;AAQlG,SAAgB,MAAM,CAAC,UAAyB,EAAE;IAChD,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,2BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1D;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,2BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1D;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;QAC3B,WAAW,CAAC,IAAI,CAAC,2BAAiB,CAAC,CAAC;KACrC;IAED,OAAO,IAAA,mBAAW,EAAC,IAAA,kBAAU,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAChD,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;AACL,CAAC;AAtBD,wBAsBC;AAED,SAAgB,MAAM,CAAC,OAAuB;IAC5C,OAAO,IAAA,oDAAuC,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,wBAEC"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../source/schema/schemas/number.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAAgD;AAChD,oDAA2D;AAC3D,oDAA2D;AAC3D,oDAA2D;AAC3D,8CAAwE;AAExE,oCAAmD;AAQnD,SAAgB,MAAM,CAAC,UAAyB,EAAE;IAChD,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,2BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1D;IAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,2BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1D;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;QAC3B,WAAW,CAAC,IAAI,CAAC,2BAAiB,CAAC,CAAC;KACrC;IAED,OAAO,IAAA,mBAAW,EAAC,IAAA,kBAAU,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAChD,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;AACL,CAAC;AAtBD,wBAsBC;AAED,SAAgB,MAAM,CAAC,OAAuB;IAC5C,OAAO,IAAA,oDAAuC,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,wBAEC"}
@@ -1,10 +1,5 @@
1
1
  import type { Decorator } from "../../reflection";
2
2
  import type { Schema } from '../schema';
3
- import type { ValueSchema } from '../types';
4
- export declare function union<T1, O1, T2, O2>(schema1: Schema<T1, O1>, schema2: Schema<T2, O2>): ValueSchema<T1 | T2, O1 | O2>;
5
- export declare function union<T1, O1, T2, O2, T3, O3>(schema1: Schema<T1, O1>, schema2: Schema<T2, O2>, schema3: Schema<T3, O3>): ValueSchema<T1 | T2 | T3, O1 | O2 | O3>;
6
- export declare function union<T1, O1, T2, O2, T3, O3, T4, O4>(schema1: Schema<T1, O1>, schema2: Schema<T2, O2>, schema3: Schema<T3, O3>, schema4: Schema<T4, O4>): ValueSchema<T1 | T2 | T3 | T4, O1 | O2 | O3 | O4>;
7
- export declare function union<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5>(schema1: Schema<T1, O1>, schema2: Schema<T2, O2>, schema3: Schema<T3, O3>, schema4: Schema<T4, O4>, schema5: Schema<T5, O5>): ValueSchema<T1 | T2 | T3 | T4 | T5, O1 | O2 | O3 | O4 | O5>;
8
- export declare function union<T1, O1, T2, O2, T3, O3, T4, O4, T5, O5, T6, O6>(schema1: Schema<T1, O1>, schema2: Schema<T2, O2>, schema3: Schema<T3, O3>, schema4: Schema<T4, O4>, schema5: Schema<T5, O5>, schema6: Schema<T6>): ValueSchema<T1 | T2 | T3 | T4 | T5 | T6, O1 | O2 | O3 | O4 | O5 | O6>;
9
- export declare function union(...schemas: Schema[]): ValueSchema;
3
+ import type { SchemaInput, SchemaOutput, ValueSchema } from '../types';
4
+ export declare function union<T extends Schema[]>(...schemas: [...T]): ValueSchema<SchemaInput<T[number]>, SchemaOutput<T[number]>>;
10
5
  export declare function Union(...schemas: Schema[]): Decorator<'property' | 'accessor'>;
@@ -1 +1 @@
1
- {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../source/schema/schemas/union.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAA6C;AAC7C,8CAAwE;AAGxE,oCAAuC;AAQvC,SAAgB,KAAK,CAAC,GAAG,OAAiB;IACxC,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IACnE,OAAO,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK,CAAC,GAAG,OAAiB;IACxC,OAAO,IAAA,oDAAuC,EAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,sBAEC"}
1
+ {"version":3,"file":"union.js","sourceRoot":"","sources":["../../../source/schema/schemas/union.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,yDAA6C;AAC7C,8CAAwE;AAGxE,oCAAuC;AAEvC,SAAgB,KAAK,CAAqB,GAAG,OAAe;IAC1D,IAAA,oBAAM,EAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IACnE,OAAO,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK,CAAC,GAAG,OAAiB;IACxC,OAAO,IAAA,oDAAuC,EAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,sBAEC"}
package/schema/types.d.ts CHANGED
@@ -17,6 +17,7 @@ export declare type ObjectSchemaProperties<T> = {
17
17
  export declare type NormalizedObjectSchemaProperties<T> = {
18
18
  [K in keyof T]-?: Schema<any, T[K]>;
19
19
  };
20
+ export declare type SchemaInput<T extends Schema> = T extends ObjectSchema<infer U, any> ? U : T extends ValueSchema<infer U, any> ? U : T extends TypeSchema<infer U> ? U : never;
20
21
  export declare type SchemaOutput<T extends Schema> = T extends ObjectSchema<any, infer O> ? O : T extends ValueSchema<any, infer O> ? O : T extends TypeSchema<infer O> ? O : never;
21
22
  export declare type ObjectSchema<T = any, O = T> = {
22
23
  [schemaOutputTypeSymbol]?: O;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAIjD,mDAAqD;AACrD,sDAA+E;AAsHlE,QAAA,qBAAqB,GAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAwC,EAAE,MAAwC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAClL,QAAA,uBAAuB,GAAG,IAAI,GAAG,CAAC,6BAAqB,CAAC,CAAC;AAEtE,MAAsB,qBAAqB;CAE1C;AAFD,sDAEC;AAID,MAAsB,qBAAqB;CAK1C;AALD,sDAKC;AAED,MAAsB,sBAAsB;CAK3C;AALD,wDAKC;AAED,MAAsB,kBAAkB;CAKvC;AALD,gDAKC;AAgCD,SAAgB,sBAAsB,CAAmB,UAAqC;IAC5F,OAAO,IAAA,qBAAY,EAAC,UAAU,EAAE,uBAAS,CAA8B,CAAC;AAC1E,CAAC;AAFD,wDAEC;AAED,SAAgB,YAAY,CAAyC,MAA0B;IAC7F,OAAO,IAAA,qBAAY,EAAC,MAAM,EAAE,uBAAS,CAAuB,CAAC;AAC/D,CAAC;AAFD,oCAEC;AAED,SAAgB,WAAW,CAAW,MAA+B,EAAE,OAAgD;IACrH,OAAO,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,uBAAS,CAAC,CAAC;AACzD,CAAC;AAFD,kCAEC;AAED,SAAgB,UAAU,CAAI,IAAkB;IAC9C,OAAO,EAAE,IAAI,EAAuC,CAAC;AACvD,CAAC;AAFD,gCAEC;AAED,SAAgB,QAAQ,CAAO,KAAU;IACvC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAFD,4BAEC;AAID,SAAgB,cAAc,CAAC,MAAW;IACxC,OAAO,IAAA,sBAAQ,EAAE,MAA4C,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAID,SAAgB,aAAa,CAAC,MAAW;IACvC,OAAO,IAAA,sBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,uBAAS,EAAE,MAAkC,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAFD,sCAEC;AAID,SAAgB,YAAY,CAAC,MAAW;IACtC,IAAI,CAAC,IAAA,sBAAQ,EAAC,MAAM,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,IAAI,GAAI,MAAqB,CAAC,IAAI,CAAC;IAEzC,OAAO,IAAA,sBAAQ,EAAC,MAAM,CAAC;WAClB,CACD,IAAA,wBAAU,EAAC,IAAI,CAAC;eACb,CAAC,IAAI,IAAI,WAAW,CAAC;eACrB,CAAC,IAAI,IAAI,MAAM,CAAC;eAChB,CAAC,IAAI,IAAI,KAAK,CAAC,CACnB,CAAC;AACN,CAAC;AAdD,oCAcC;AAID,SAAgB,mBAAmB,CAAC,KAAU;IAC5C,OAAO,IAAA,sBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,wBAAU,EAAE,KAA2B,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAFD,kDAEC;AAED,SAAgB,iBAAiB,CAAI,UAAmC;IACtE,IAAI,IAAA,qBAAO,EAAC,UAAU,CAAC,EAAE;QACvB,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;KACxE;IAED,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAND,8CAMC;AAED,SAAgB,gBAAgB,CAAI,SAAuB;IACzD,OAAO,mBAAmB,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC,SAAiC,CAAC;AACxC,CAAC;AAJD,4CAIC;AAED,SAAgB,4BAA4B,CAAO,mBAA2D;IAC5G,IAAI,IAAA,qBAAO,EAAC,mBAAmB,CAAC,EAAE;QAChC,OAAO,mBAAmB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;KAC3D;IAED,OAAO,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAND,oEAMC;AAED,SAAgB,yBAAyB,CAAO,iBAA8C;IAC5F,IAAI,QAAQ,CAAO,iBAAiB,CAAC,EAAE;QACrC,OAAO,iBAAiB,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC,iBAAiB,CAAkB,CAAC;AACxD,CAAC;AAND,8DAMC"}
@@ -22,7 +22,7 @@ let HandlebarsTemplateRenderer = class HandlebarsTemplateRenderer extends templa
22
22
  constructor(templateResolverProvider) {
23
23
  super();
24
24
  this.templateResolverProvider = templateResolverProvider;
25
- this.compileHandlebarsTemplate = (0, memoize_1.memoizeSingle)(this._compileHandlebarsTemplate, { weak: true, thisArg: this }); // eslint-disable-line @typescript-eslint/unbound-method
25
+ this.compileHandlebarsTemplate = (0, memoize_1.memoizeSingle)(this._compileHandlebarsTemplate, { weak: true }); // eslint-disable-line @typescript-eslint/unbound-method
26
26
  }
27
27
  canHandleType(type) {
28
28
  return type == 'handlebars';
@@ -1 +1 @@
1
- {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { UnionToIntersection } from 'type-fest';
1
2
  export declare type ObjectLiteral = {};
2
3
  export declare type PrimitiveTypeMap = {
3
4
  'string': string;
@@ -36,10 +37,22 @@ export declare type UndefinableJsonObject = {
36
37
  [key: string]: UndefinableJsonInnerNode;
37
38
  };
38
39
  export declare type UndefinableJsonArray = UndefinableJsonInnerNode[];
40
+ export declare type ArrayItem<T extends readonly any[]> = T extends readonly (infer U)[] ? U : never;
39
41
  export declare type Enumeration = EnumerationArray | EnumerationObject;
40
42
  export declare type EnumerationArray = readonly [string | number, ...(string | number)[]];
41
43
  export declare type EnumerationObject = Record<string, string | number>;
42
- export declare type EnumerationValue<T extends Enumeration = Enumeration> = T extends EnumerationArray ? T[number] : T[Extract<keyof T, string>];
44
+ export declare type EnumerationKey<T extends EnumerationObject = EnumerationObject> = Extract<keyof T, string>;
45
+ export declare type EnumerationMap<T extends EnumerationObject = EnumerationObject> = SimplifyObject<{
46
+ [P in EnumerationKey<T>]: (T[P] extends number ? (`${T[P]}` extends `${infer U extends number}` ? U : never) : `${T[P]}`) | T[P];
47
+ }>;
48
+ export declare type EnumerationValue<T extends Enumeration = Enumeration> = T extends EnumerationObject ? Simplify<EnumerationMap<T>[keyof EnumerationMap<T>]> : T extends EnumerationArray ? T[number] : never;
49
+ export declare type EnumerationEntry<T extends EnumerationObject = EnumerationObject> = {
50
+ [P in EnumerationKey<T>]: [P, EnumerationMap<T>[P]];
51
+ }[EnumerationKey<T>];
52
+ declare type EnumerationEntriesHelper<T extends EnumerationObject = EnumerationObject, Tuple = UnionToTuple<EnumerationKey<T>>> = {
53
+ [P in keyof Tuple]: [Tuple[P], Tuple[P] extends EnumerationKey<T> ? EnumerationMap<T>[Tuple[P]] : never];
54
+ };
55
+ export declare type EnumerationEntries<T extends EnumerationObject = EnumerationObject> = EnumerationEntriesHelper<T> extends (infer U)[] ? U[] : never;
43
56
  export declare type Type<T = any, Arguments extends any[] = any> = Constructor<T, Arguments> & {
44
57
  prototype: T;
45
58
  };
@@ -88,15 +101,14 @@ export declare type SimplifiedOptionalize<T extends object> = Simplify<Optionali
88
101
  /**
89
102
  * remove nested type information
90
103
  */
91
- export declare type Simplify<T> = T extends (Primitive | Function | Date | RegExp) ? T : T extends (infer AT)[] ? Simplify<AT>[] : T extends readonly (infer AT)[] ? readonly Simplify<AT>[] : {
92
- [K in keyof T]: T[K];
93
- } & {};
104
+ export declare type Simplify<T> = T extends (Primitive | Function | Date | RegExp) ? T : T extends (infer AT)[] ? Simplify<AT>[] : T extends readonly (infer AT)[] ? readonly Simplify<AT>[] : T extends Record ? SimplifyObject<T> : T;
94
105
  /**
95
106
  * remove type information on object
96
107
  */
97
108
  export declare type SimplifyObject<T extends Record> = {
98
109
  [K in keyof T]: T[K];
99
110
  } & {};
111
+ export declare type UnionToTuple<T, Tuple extends any[] = []> = UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? UnionToTuple<Exclude<T, R>, [R, ...Tuple]> : Tuple;
100
112
  export declare type UndefinableObject<T extends Record> = {
101
113
  [K in keyof T]: T[K] | undefined;
102
114
  };
package/utils/enum.d.ts CHANGED
@@ -1,8 +1,5 @@
1
- import type { EnumerationObject, Simplify } from "../types";
2
- export declare type EnumEntry<T> = [EnumKey<T>, EnumValue<T>];
3
- export declare type EnumKey<T> = Extract<keyof T, string>;
4
- export declare type EnumValue<T> = Simplify<T[EnumKey<T>]>;
5
- export declare function enumEntries<T extends EnumerationObject>(enumeration: T): EnumEntry<T>[];
6
- export declare function enumKeys<T extends EnumerationObject>(enumeration: T): EnumKey<T>[];
7
- export declare function enumValues<T extends EnumerationObject>(enumeration: T): EnumValue<T>[];
8
- export declare function randomEnumValue<T extends EnumerationObject>(enumeration: T): EnumValue<T>;
1
+ import type { EnumerationEntries, EnumerationKey, EnumerationObject, EnumerationValue } from "../types";
2
+ export declare function enumEntries<T extends EnumerationObject>(enumeration: T): EnumerationEntries<T>;
3
+ export declare function enumKeys<T extends EnumerationObject>(enumeration: T): EnumerationKey<T>[];
4
+ export declare function enumValues<T extends EnumerationObject>(enumeration: T): EnumerationValue<T>[];
5
+ export declare function randomEnumValue<T extends EnumerationObject>(enumeration: T): EnumerationValue<T>;
package/utils/enum.js CHANGED
@@ -3,16 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.randomEnumValue = exports.enumValues = exports.enumKeys = exports.enumEntries = void 0;
4
4
  const array_1 = require("./array/array");
5
5
  const function_1 = require("./function");
6
- function _enumEntries(enumeration) {
7
- return Object.entries(enumeration)
8
- .filter((entry) => Number.isNaN(Number(entry[0])));
9
- }
10
- function _enumKeys(enumeration) {
11
- return _enumEntries(enumeration).map((entry) => entry[0]);
12
- }
13
- function _enumValues(enumeration) {
14
- return _enumEntries(enumeration).map((entry) => entry[1]);
15
- }
16
6
  const memoizedEnumEntries = (0, function_1.memoizeSingle)(_enumEntries, { weak: true });
17
7
  const memoizedEnumKeys = (0, function_1.memoizeSingle)(_enumKeys, { weak: true });
18
8
  const memoizedEnumValues = (0, function_1.memoizeSingle)(_enumValues, { weak: true });
@@ -32,4 +22,16 @@ function randomEnumValue(enumeration) {
32
22
  return (0, array_1.randomItem)(enumValues(enumeration));
33
23
  }
34
24
  exports.randomEnumValue = randomEnumValue;
25
+ function _enumEntries(enumeration) {
26
+ return Object.entries(enumeration)
27
+ .filter((entry) => Number.isNaN(Number(entry[0])));
28
+ }
29
+ function _enumKeys(enumeration) {
30
+ const entries = enumEntries(enumeration);
31
+ return entries.map((entry) => entry[0]);
32
+ }
33
+ function _enumValues(enumeration) {
34
+ const entries = enumEntries(enumeration);
35
+ return entries.map((entry) => entry[1]);
36
+ }
35
37
  //# sourceMappingURL=enum.js.map
package/utils/enum.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAM3C,SAAS,YAAY,CAA8B,WAAc;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAA8B,WAAc;IAC5D,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAA8B,WAAc;IAC9D,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAA,wBAAa,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,IAAA,wBAAa,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAA,wBAAa,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtE,SAAgB,WAAW,CAA8B,WAAc;IACrE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAA8B,WAAc;IAClE,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAA8B,WAAc;IACpE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAA8B,WAAc;IACzE,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAE3C,MAAM,mBAAmB,GAAG,IAAA,wBAAa,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,IAAA,wBAAa,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAA,wBAAa,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtE,SAAgB,WAAW,CAA8B,WAAc;IACrE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAA8B,WAAc;IAClE,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAA8B,WAAc;IACpE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAA8B,WAAc;IACzE,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,0CAEC;AAED,SAAS,YAAY,CAA8B,WAAc;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAA0B,CAAC;AAC9G,CAAC;AAED,SAAS,SAAS,CAA8B,WAAc;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAA8B,WAAc;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAC,CAAC;AACjE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export declare type MemoizeOptions = {
2
2
  /** Use WeakMap instead of Map for caching. Can be used with object parameters only */
3
3
  weak?: boolean;
4
- thisArg?: any;
5
4
  };
6
5
  /**
7
6
  * memoizes a function with an arbitrary number of parameters. If you only need a single parameter, {@link memoizeSingle} is faster
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memoizeSingle = exports.memoize = void 0;
4
4
  const data_structures_1 = require("../../data-structures");
5
5
  const multi_key_map_1 = require("../../data-structures/multi-key-map");
6
- const type_guards_1 = require("../type-guards");
7
6
  /**
8
7
  * memoizes a function with an arbitrary number of parameters. If you only need a single parameter, {@link memoizeSingle} is faster
9
8
  * @param fn function memoize
@@ -11,13 +10,12 @@ const type_guards_1 = require("../type-guards");
11
10
  */ function memoize(fn, options = {}) {
12
11
  const cache = new multi_key_map_1.MultiKeyMap((options.weak ?? false) ? () => new data_structures_1.IterableWeakMap() : undefined);
13
12
  const name = getMemoizedName(fn);
14
- const boundFn = (0, type_guards_1.isDefined)(options.thisArg) ? fn.bind(options.thisArg) : fn;
15
13
  return {
16
14
  [name](...parameters) {
17
15
  if (cache.has(parameters)) {
18
16
  return cache.get(parameters);
19
17
  }
20
- const result = boundFn(...parameters);
18
+ const result = fn.call(this, ...parameters);
21
19
  cache.set(parameters, result);
22
20
  return result;
23
21
  }
@@ -32,13 +30,12 @@ exports.memoize = memoize;
32
30
  function memoizeSingle(fn, options = {}) {
33
31
  const cache = (options.weak ?? false) ? new data_structures_1.IterableWeakMap() : new Map();
34
32
  const name = getMemoizedName(fn);
35
- const boundFn = (0, type_guards_1.isDefined)(options.thisArg) ? fn.bind(options.thisArg) : fn;
36
33
  return {
37
34
  [name](parameter) {
38
35
  if (cache.has(parameter)) {
39
36
  return cache.get(parameter);
40
37
  }
41
- const result = boundFn(parameter);
38
+ const result = fn.call(this, parameter);
42
39
  cache.set(parameter, result);
43
40
  return result;
44
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../source/utils/function/memoize.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,uEAA8D;AAC9D,gDAA2C;AAQ3C;;;;GAIG,CAAA,SAAgB,OAAO,CAA2C,EAAM,EAAE,UAA0B,EAAE;IACvG,MAAM,KAAK,GAAG,IAAI,2BAAW,CAAW,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,GAAG,UAA0B;YAClC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;aAC/B;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAjBE,0BAiBF;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAqC,EAAM,EAAE,UAA0B,EAAE;IACpG,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,SAAc;YACnB,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;aAC9B;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE7B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAjBD,sCAiBC;AAED,SAAS,eAAe,CAAC,EAA2B;IAClD,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../source/utils/function/memoize.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,uEAA8D;AAO9D;;;;GAIG,CAAA,SAAgB,OAAO,CAA2C,EAAM,EAAE,UAA0B,EAAE;IACvG,MAAM,KAAK,GAAG,IAAI,2BAAW,CAAW,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,GAAG,UAA0B;YAClC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;aAC/B;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;YAC5C,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAhBE,0BAgBF;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAqC,EAAM,EAAE,UAA0B,EAAE;IACpG,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,SAAc;YACnB,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;aAC9B;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE7B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAhBD,sCAgBC;AAED,SAAS,eAAe,CAAC,EAA2B;IAClD,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}