@tstdl/base 0.78.0-beta45 → 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-beta45",
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-beta45",
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"}
@@ -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;AAGvC,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/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"}