@leyyo/common 1.0.0 → 1.0.1

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.
@@ -3,62 +3,87 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommonIsImpl = void 0;
4
4
  const literals_1 = require("../literals");
5
5
  // noinspection JSUnusedGlobalSymbols, JSUnusedLocalSymbols
6
+ /** @inheritDoc */
6
7
  class CommonIsImpl {
7
- $init(leyyo) {
8
- }
9
8
  // region is
9
+ /** @inheritDoc */
10
10
  empty(value) {
11
- return (value === undefined || value === null);
11
+ return (value === undefined || value === null || (typeof value === 'string' && value.trim() === ''));
12
12
  }
13
+ /** @inheritDoc */
13
14
  primitive(value) {
14
15
  return literals_1.PrimitiveItems.includes((typeof value));
15
16
  }
16
- value(value) {
17
+ /** @inheritDoc */
18
+ realValue(value) {
17
19
  return literals_1.RealValueItems.includes((typeof value));
18
20
  }
21
+ /** @inheritDoc */
19
22
  key(value) {
20
23
  return literals_1.KeyValueItems.includes((typeof value));
21
24
  }
25
+ /** @inheritDoc */
22
26
  object(value) {
23
27
  return value && typeof value === 'object' && !Array.isArray(value);
24
28
  }
29
+ /** @inheritDoc */
25
30
  array(value) {
26
31
  return value && typeof value === 'object' && Array.isArray(value);
27
32
  }
33
+ /** @inheritDoc */
28
34
  func(value) {
29
35
  return typeof value === 'function';
30
36
  }
37
+ /** @inheritDoc */
31
38
  number(value) {
32
39
  return (typeof value === 'number') && !isNaN(value) && isFinite(value);
33
40
  }
41
+ /** @inheritDoc */
34
42
  integer(value) {
43
+ return this.number(value) && Number.isInteger(value);
44
+ }
45
+ /** @inheritDoc */
46
+ safeInteger(value) {
35
47
  return this.number(value) && Number.isSafeInteger(value);
36
48
  }
49
+ /** @inheritDoc */
37
50
  string(value) {
38
51
  return typeof value === 'string';
39
52
  }
53
+ /** @inheritDoc */
40
54
  text(value) {
41
55
  return this.string(value) && value.trim() !== '';
42
56
  }
57
+ /** @inheritDoc */
43
58
  clazz(value) {
44
59
  return this.text(value) || this.func(value) || this.object(value);
45
60
  }
61
+ /** @inheritDoc */
46
62
  boolean(value) {
47
63
  return (typeof value === 'boolean');
48
64
  }
65
+ /** @inheritDoc */
49
66
  true(value) {
50
67
  return (value === true) ||
51
68
  (this.text(value) && literals_1.WeakTrueItems.includes(value.toLowerCase())) ||
52
69
  (this.number(value) && value > 0);
53
70
  }
71
+ /** @inheritDoc */
54
72
  false(value) {
55
73
  return (value === false) ||
56
74
  (this.text(value) && literals_1.WeakFalseItems.includes(value.toLowerCase())) ||
57
75
  (this.number(value) && value <= 0);
58
76
  }
77
+ // endregion is
78
+ // region secure
79
+ /** @inheritDoc */
80
+ $init(leyyo) {
81
+ }
82
+ /** @inheritDoc */
59
83
  get $back() {
60
84
  return this;
61
85
  }
86
+ /** @inheritDoc */
62
87
  get $secure() {
63
88
  return this;
64
89
  }
@@ -1,22 +1,145 @@
1
- import { ShiftMain, ShiftSecure } from "../aliases";
2
- import { Leyyo } from "../leyyo";
1
+ import { InitLike, ShiftMain, ShiftSecure } from "../aliases";
2
+ /**
3
+ * Basic is commands to easy use
4
+ * */
3
5
  export interface CommonIs extends ShiftSecure<CommonIsSecure> {
4
- empty(value: unknown): boolean;
5
- primitive(value: unknown): boolean;
6
- value(value: unknown): boolean;
7
- key(value: unknown): boolean;
8
- object(value: unknown): boolean;
9
- array(value: unknown): boolean;
10
- func(value: unknown): boolean;
11
- number(value: unknown): boolean;
12
- integer(value: unknown): boolean;
13
- string(value: unknown): boolean;
14
- text(value: unknown): boolean;
15
- clazz(value: unknown): boolean;
16
- boolean(value: unknown): boolean;
17
- true(value: unknown): boolean;
18
- false(value: unknown): boolean;
6
+ /**
7
+ * Checks value is empty or not?
8
+ * Empty means: `undefined`, `null` or `empty string` after trimming
9
+ *
10
+ * @param {any} value
11
+ * @returns {boolean}
12
+ * */
13
+ empty(value: any): boolean;
14
+ /**
15
+ * Checks value is primitive or not?
16
+ * Primitive means: `string`, `number`, `boolean`
17
+ *
18
+ * @param {any} value
19
+ * @returns {boolean}
20
+ * */
21
+ primitive(value: any): boolean;
22
+ /**
23
+ * Checks value is real value or not?
24
+ * Real value means: `string`, `number`, `bigint`, `boolean`, `object`, `function`
25
+ * So `symbol` is not a real value
26
+ *
27
+ * @param {any} value
28
+ * @returns {boolean}
29
+ * */
30
+ realValue(value: any): boolean;
31
+ /**
32
+ * Checks value is key or not?
33
+ * Key means: `string`, `number`
34
+ *
35
+ * @param {any} value
36
+ * @returns {boolean}
37
+ * */
38
+ key(value: any): boolean;
39
+ /**
40
+ * Checks value is object or not?
41
+ *
42
+ * @param {any} value
43
+ * @returns {boolean}
44
+ * */
45
+ object(value: any): boolean;
46
+ /**
47
+ * Checks value is array or not?
48
+ *
49
+ * @param {any} value
50
+ * @returns {boolean}
51
+ * */
52
+ array(value: any): boolean;
53
+ /**
54
+ * Checks value is function or not?
55
+ *
56
+ * @param {any} value
57
+ * @returns {boolean}
58
+ * */
59
+ func(value: any): boolean;
60
+ /**
61
+ * Checks value is number (float or integer) or not?
62
+ *
63
+ * @param {any} value
64
+ * @returns {boolean}
65
+ *
66
+ * Note: NaN and infinite values are not evaluated as a number
67
+ * */
68
+ number(value: any): boolean;
69
+ /**
70
+ * Checks value is integer or not?
71
+ *
72
+ * @param {any} value
73
+ * @returns {boolean}
74
+ *
75
+ * Note: NaN and infinite values are not evaluated as a number
76
+ * */
77
+ integer(value: any): boolean;
78
+ /**
79
+ * Checks value is safe integer or not?
80
+ * Safe integer means: an integer can not be outside the bigint range
81
+ *
82
+ * @param {any} value
83
+ * @returns {boolean}
84
+ *
85
+ * Note: NaN and infinite values are not evaluated as a number
86
+ * */
87
+ safeInteger(value: any): boolean;
88
+ /**
89
+ * Checks value is string or not?
90
+ * Empty string or space values are also string, if you want different behaviour, please check {@link #text}
91
+ *
92
+ * @param {any} value
93
+ * @returns {boolean}
94
+ * */
95
+ string(value: any): boolean;
96
+ /**
97
+ * Checks value is string which is can not be empty and spaced?
98
+ * Empty string or space values are not a text, if you want different behaviour, please check {@link #string}
99
+ *
100
+ * @param {any} value
101
+ * @returns {boolean}
102
+ * */
103
+ text(value: any): boolean;
104
+ /**
105
+ * Checks value is possible class?
106
+ * Possible class means: object as instance, string as function name, or function
107
+ *
108
+ * @param {any} value
109
+ * @returns {boolean}
110
+ * */
111
+ clazz(value: any): boolean;
112
+ /**
113
+ * Checks value is boolean?
114
+ *
115
+ * @param {any} value
116
+ * @returns {boolean}
117
+ * */
118
+ boolean(value: any): boolean;
119
+ /**
120
+ * Checks value is possible true?
121
+ *
122
+ * Possible true means:
123
+ * - boolean: true
124
+ * - string: `1`, `true`, `t`, `yes`, `y`, `on`
125
+ * - number: > 0 (positive)
126
+ *
127
+ * @param {any} value
128
+ * @returns {boolean}
129
+ * */
130
+ true(value: any): boolean;
131
+ /**
132
+ * Checks value is possible false?
133
+ *
134
+ * Possible false means:
135
+ * - boolean: false
136
+ * - string: `0`, `-1`, `false`, `f`, `no`, `n`, `off`
137
+ * - number: <= 0 (zero or negative)
138
+ *
139
+ * @param {any} value
140
+ * @returns {boolean}
141
+ * */
142
+ false(value: any): boolean;
19
143
  }
20
- export interface CommonIsSecure extends ShiftMain<CommonIs> {
21
- $init(leyyo: Leyyo): void;
144
+ export interface CommonIsSecure extends ShiftMain<CommonIs>, InitLike {
22
145
  }
@@ -59,7 +59,7 @@ class LeyyoImpl {
59
59
  });
60
60
  }
61
61
  initEnumRegister() {
62
- [literals_1.PrimitiveItems, literals_1.RealValueItems, literals_1.KeyValueItems, literals_1.WeakTrueItems, literals_1.WeakFalseItems,
62
+ [literals_1.PrimitiveItems, literals_1.StorageTypeItems, literals_1.RealValueItems, literals_1.KeyValueItems, literals_1.WeakTrueItems, literals_1.WeakFalseItems,
63
63
  literals_1.HttpMethodItems, literals_1.HttpPlaceItems, literals_1.SeverityItems, literals_1.EnvironmentItems,
64
64
  literals_1.CountryCodeItems, literals_1.LanguageCodeItems, literals_1.LocaleCodeItems].forEach(enm => {
65
65
  this.callback.queueForCallback(constants_1.LY_PENDING_FQN_REGISTER, enm, 'enum', internal_1.FQN_PCK);
@@ -1,7 +1,15 @@
1
1
  /**
2
2
  * Weak True items
3
3
  * */
4
- export declare const PrimitiveItems: readonly ["string", "number", "bigint", "boolean"];
4
+ export declare const StorageTypeItems: readonly ["array", "list", "map", "set"];
5
+ /**
6
+ * Storage type literal, as an enum
7
+ * */
8
+ export type StorageType = typeof StorageTypeItems[number];
9
+ /**
10
+ * Weak True items
11
+ * */
12
+ export declare const PrimitiveItems: readonly ["string", "number", "boolean"];
5
13
  /**
6
14
  * Weak True
7
15
  * */
package/dist/literals.js CHANGED
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
- // noinspection JSUnusedGlobalSymbols
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.LocaleCodeItems = exports.LanguageCodeItems = exports.CountryCodeItems = exports.EnvironmentItems = exports.SeverityItems = exports.HttpPlaceItems = exports.HttpMethodItems = exports.WeakFalseItems = exports.WeakTrueItems = exports.KeyValueItems = exports.RealValueItems = exports.PrimitiveItems = void 0;
3
+ exports.LocaleCodeItems = exports.LanguageCodeItems = exports.CountryCodeItems = exports.EnvironmentItems = exports.SeverityItems = exports.HttpPlaceItems = exports.HttpMethodItems = exports.WeakFalseItems = exports.WeakTrueItems = exports.KeyValueItems = exports.RealValueItems = exports.PrimitiveItems = exports.StorageTypeItems = void 0;
4
+ // noinspection JSUnusedGlobalSymbols
5
+ /**
6
+ * Weak True items
7
+ * */
8
+ exports.StorageTypeItems = ['array', 'list', 'map', 'set'];
5
9
  /**
6
10
  * Weak True items
7
11
  * */
8
- exports.PrimitiveItems = ['string', 'number', 'bigint', 'boolean'];
12
+ exports.PrimitiveItems = ['string', 'number', 'boolean'];
9
13
  /**
10
14
  * Weak True items
11
15
  * */
@@ -1,6 +1,5 @@
1
- import { Leyyo } from "../leyyo";
2
1
  import { Severity } from "../literals";
3
- import { Dict, ShiftMain, ShiftSecure } from "../aliases";
2
+ import { Dict, InitLike, ShiftMain, ShiftSecure } from "../aliases";
4
3
  import { CommonCallbackDefined } from "../callback";
5
4
  export interface CommonLog extends ShiftSecure<CommonLogSecure>, LogConsumer {
6
5
  create(clazz: Object | Function | string): Logger;
@@ -11,8 +10,7 @@ export interface CommonLogCb extends CommonCallbackDefined {
11
10
  check?<T>(line: LogLineEnhanced<T>): void;
12
11
  print<T>(line: LogLineEnhanced<T>): void;
13
12
  }
14
- export interface CommonLogSecure extends ShiftMain<CommonLog> {
15
- $init(leyyo: Leyyo): void;
13
+ export interface CommonLogSecure extends ShiftMain<CommonLog>, InitLike {
16
14
  }
17
15
  export interface LogConsumer {
18
16
  apply(line: LogLine): void;
@@ -47,12 +45,11 @@ export interface Logger extends ShiftSecure<LoggerSecure> {
47
45
  debug(error: Error, params?: any): void;
48
46
  debug(whatever: any, params?: any): void;
49
47
  }
50
- export type LogMethod = 'error' | 'warn' | 'info' | 'log' | 'trace' | 'debug';
51
48
  export interface LoggerSecure extends ShiftMain<Logger> {
52
49
  get $clazz(): Function;
53
50
  get $name(): string;
54
51
  $assert(error: Error, indicator: string, params?: unknown): void;
55
52
  $setName(name: string): void;
56
- $setMethod(method: LogMethod, lambda?: LoggerLambda): void;
53
+ $setMethod(method: Severity, lambda?: LoggerLambda): void;
57
54
  }
58
55
  export type LoggerLambda = (whatever: any, params?: any) => void;
@@ -1,5 +1,6 @@
1
- import { Logger, LoggerLambda, LoggerSecure, LogMethod } from "./index-types";
1
+ import { Logger, LoggerLambda, LoggerSecure } from "./index-types";
2
2
  import { Leyyo } from "../leyyo";
3
+ import { Severity } from "../literals";
3
4
  export declare class LoggerImpl implements Logger, LoggerSecure {
4
5
  private readonly _clazz;
5
6
  private _name;
@@ -18,6 +19,6 @@ export declare class LoggerImpl implements Logger, LoggerSecure {
18
19
  get $name(): string;
19
20
  static $setLeyyo(leyyo: Leyyo): void;
20
21
  $setName(name: string): void;
21
- $setMethod(method: LogMethod, lambda?: LoggerLambda): void;
22
+ $setMethod(method: Severity, lambda?: LoggerLambda): void;
22
23
  $assert(error: Error, indicator: string, params?: unknown): void;
23
24
  }
@@ -64,7 +64,8 @@ class LoggerImpl {
64
64
  this[method] = lambda;
65
65
  }
66
66
  else {
67
- this[method] = () => { };
67
+ this[method] = () => {
68
+ };
68
69
  }
69
70
  }
70
71
  $assert(error, indicator, params) {
@@ -1,6 +1,7 @@
1
1
  import { List } from "./list";
2
- import { CommonStorage, CommonStorageSecure, StorageDetail, StorageItem, StorageType } from "./index-types";
2
+ import { CommonStorage, CommonStorageSecure, StorageDetail, StorageItem } from "./index-types";
3
3
  import { Leyyo } from "../leyyo";
4
+ import { StorageType } from "../literals";
4
5
  /** @inheritDoc */
5
6
  export declare class CommonStorageImpl implements CommonStorage, CommonStorageSecure {
6
7
  private readonly _lists;
@@ -1,6 +1,6 @@
1
1
  import { List } from "./list";
2
- import { Dict, ShiftMain, ShiftSecure } from "../aliases";
3
- import { Leyyo } from "../leyyo";
2
+ import { Dict, InitLike, ShiftMain, ShiftSecure } from "../aliases";
3
+ import { StorageType } from "../literals";
4
4
  /**
5
5
  * Storage factory
6
6
  *
@@ -85,13 +85,8 @@ export interface CommonStorage extends ShiftSecure<CommonStorageSecure> {
85
85
  * */
86
86
  details(type?: StorageType, name?: string): StorageDetail;
87
87
  }
88
- export interface CommonStorageSecure extends ShiftMain<CommonStorage> {
89
- $init(leyyo: Leyyo): void;
88
+ export interface CommonStorageSecure extends ShiftMain<CommonStorage>, InitLike {
90
89
  }
91
- /**
92
- * Storage type literal, as an enum
93
- * */
94
- export type StorageType = 'array' | 'list' | 'map' | 'set';
95
90
  /**
96
91
  * Storage size dictionary which in corresponding type
97
92
  * */
@@ -1,4 +1,4 @@
1
- import { CommonTo, CommonToSecure, TypeArrayOpt, TypeEnumOpt, TypeObjectOpt, TypeOpt } from "./index-types";
1
+ import { CommonTo, CommonToSecure, ToTypeArrayOpt, ToTypeEnumOpt, ToTypeObjectOpt, ToTypeOpt } from "./index-types";
2
2
  import { Dict, KeyValue, OneOrMore } from "../aliases";
3
3
  import { Leyyo } from "../leyyo";
4
4
  export declare class CommonToImpl implements CommonTo, CommonToSecure {
@@ -16,22 +16,22 @@ export declare class CommonToImpl implements CommonTo, CommonToSecure {
16
16
  private _enumInMap;
17
17
  private _enumInArray;
18
18
  private _enumInAlteration;
19
- runFn<T = unknown>(fn: Function, value: Function, opt?: TypeOpt): T;
20
- runSave<T = unknown>(fn: Function, value: unknown, opt?: TypeOpt): T;
21
- raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: TypeOpt, params?: Dict): T;
22
- any(value: unknown, opt?: TypeOpt): unknown;
23
- array<T = unknown>(value: unknown, opt?: TypeArrayOpt): Array<T>;
24
- boolean(value: unknown, opt?: TypeOpt): boolean;
25
- clazz(value: unknown, opt?: TypeOpt): string;
26
- date(value: unknown, opt?: TypeOpt): Date;
27
- enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: TypeEnumOpt<T>): T;
28
- float(value: unknown, opt?: TypeOpt): number | null;
29
- func<T = Function>(value: unknown, opt?: TypeOpt): T | null;
30
- integer(value: unknown, opt?: TypeOpt): number | null;
31
- object<T = unknown>(value: unknown, opt?: TypeObjectOpt): Dict<T>;
32
- dict<T = unknown>(value: unknown, opt?: TypeObjectOpt): Dict<T>;
33
- string(value: unknown, opt?: TypeOpt): string;
34
- text(value: unknown, opt?: TypeOpt): string;
19
+ runFn<T = unknown>(fn: Function, value: Function, opt?: ToTypeOpt): T;
20
+ runSave<T = unknown>(fn: Function, value: unknown, opt?: ToTypeOpt): T;
21
+ raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: ToTypeOpt, params?: Dict): T;
22
+ any(value: unknown, opt?: ToTypeOpt): unknown;
23
+ array<T = unknown>(value: unknown, opt?: ToTypeArrayOpt): Array<T>;
24
+ boolean(value: unknown, opt?: ToTypeOpt): boolean;
25
+ clazz(value: unknown, opt?: ToTypeOpt): string;
26
+ date(value: unknown, opt?: ToTypeOpt): Date;
27
+ enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: ToTypeEnumOpt<T>): T;
28
+ float(value: unknown, opt?: ToTypeOpt): number | null;
29
+ func<T = Function>(value: unknown, opt?: ToTypeOpt): T | null;
30
+ integer(value: unknown, opt?: ToTypeOpt): number | null;
31
+ object<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
32
+ dict<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
33
+ string(value: unknown, opt?: ToTypeOpt): string;
34
+ text(value: unknown, opt?: ToTypeOpt): string;
35
35
  $init(leyyo: Leyyo): void;
36
36
  get $back(): CommonTo;
37
37
  get $secure(): CommonToSecure;
@@ -1,50 +1,49 @@
1
- import { Dict, KeyValue, OneOrMore, ShiftMain, ShiftSecure } from "../aliases";
2
- import { Leyyo } from "../leyyo";
1
+ import { Dict, InitLike, KeyValue, OneOrMore, ShiftMain, ShiftSecure } from "../aliases";
3
2
  import { AssertionOpt } from "../assertion";
4
3
  export interface CommonTo extends ShiftSecure<CommonToSecure> {
5
- runFn<T = unknown>(fn: Function, value: Function, opt?: TypeOpt): T;
6
- raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: TypeOpt, params?: Dict): T;
7
- any(value: unknown, opt?: TypeOpt): unknown;
8
- array<T = unknown>(value: unknown, opt?: TypeArrayOpt): Array<T>;
9
- boolean(value: unknown, opt?: TypeOpt): boolean;
10
- clazz(value: unknown, opt?: TypeOpt): string;
11
- date(value: unknown, opt?: TypeOpt): Date;
12
- enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: TypeEnumOpt<T>): T;
13
- float(value: unknown, opt?: TypeOpt): number | null;
14
- func<T = Function>(value: unknown, opt?: TypeOpt): T | null;
15
- integer(value: unknown, opt?: TypeOpt): number | null;
16
- object<T = unknown>(value: unknown, opt?: TypeObjectOpt): Dict<T>;
17
- dict<T = unknown>(value: unknown, opt?: TypeObjectOpt): Dict<T>;
18
- string(value: unknown, opt?: TypeOpt): string;
19
- text(value: unknown, opt?: TypeOpt): string;
20
- }
21
- export interface CommonToSecure extends ShiftMain<CommonTo> {
22
- $init(leyyo: Leyyo): void;
23
- }
24
- export interface TypeOpt extends AssertionOpt {
4
+ runFn<T = unknown>(fn: Function, value: Function, opt?: ToTypeOpt): T;
5
+ raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: ToTypeOpt, params?: Dict): T;
6
+ any(value: unknown, opt?: ToTypeOpt): unknown;
7
+ array<T = unknown>(value: unknown, opt?: ToTypeArrayOpt): Array<T>;
8
+ boolean(value: unknown, opt?: ToTypeOpt): boolean;
9
+ clazz(value: unknown, opt?: ToTypeOpt): string;
10
+ date(value: unknown, opt?: ToTypeOpt): Date;
11
+ enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: ToTypeEnumOpt<T>): T;
12
+ float(value: unknown, opt?: ToTypeOpt): number | null;
13
+ func<T = Function>(value: unknown, opt?: ToTypeOpt): T | null;
14
+ integer(value: unknown, opt?: ToTypeOpt): number | null;
15
+ object<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
16
+ dict<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
17
+ string(value: unknown, opt?: ToTypeOpt): string;
18
+ text(value: unknown, opt?: ToTypeOpt): string;
19
+ }
20
+ export interface CommonToSecure extends ShiftMain<CommonTo>, InitLike {
21
+ }
22
+ export interface ToTypeOpt extends AssertionOpt {
25
23
  silent?: true;
26
24
  children?: unknown;
27
25
  }
28
- export type TypeFnLambda<T = unknown, O extends TypeOpt = TypeOpt> = (value: unknown, opt?: O) => T;
29
- export interface TypeChildOpt<T = unknown> extends TypeOpt {
30
- fn?: TypeFnLambda<T>;
26
+ export type ToTypeFnLambda<T = unknown, O extends ToTypeOpt = ToTypeOpt> = (value: unknown, opt?: O) => T;
27
+ export interface ToTypeChildOpt<T = unknown> extends ToTypeOpt {
28
+ fn?: ToTypeFnLambda<T>;
31
29
  }
32
- export interface TypeArrayChildOpt<V extends TypeChildOpt = TypeChildOpt> extends Dict<TypeChildOpt> {
30
+ export interface ToTypeArrayChildOpt<V extends ToTypeChildOpt = ToTypeChildOpt> extends Dict<ToTypeChildOpt> {
33
31
  value?: V;
34
32
  }
35
- export interface TypeArrayOpt<V extends TypeChildOpt = TypeChildOpt> extends TypeOpt {
36
- children?: TypeArrayChildOpt<V>;
33
+ export interface ToTypeArrayOpt<V extends ToTypeChildOpt = ToTypeChildOpt> extends ToTypeOpt {
34
+ children?: ToTypeArrayChildOpt<V>;
37
35
  }
38
- export interface TypeDictChildOpt<K extends TypeChildOpt = TypeChildOpt, V extends TypeChildOpt = TypeChildOpt> extends Record<string, TypeChildOpt> {
36
+ export interface ToTypeDictChildOpt<K extends ToTypeChildOpt = ToTypeChildOpt, V extends ToTypeChildOpt = ToTypeChildOpt> extends Record<string, ToTypeChildOpt> {
39
37
  key?: K;
40
38
  value?: V;
41
39
  }
42
- export interface TypeObjectOpt<K extends TypeChildOpt = TypeChildOpt, V extends TypeChildOpt = TypeChildOpt> extends TypeOpt {
43
- children?: TypeDictChildOpt<K, V>;
40
+ export interface ToTypeObjectOpt<K extends ToTypeChildOpt = ToTypeChildOpt, V extends ToTypeChildOpt = ToTypeChildOpt> extends ToTypeOpt {
41
+ children?: ToTypeDictChildOpt<K, V>;
44
42
  }
45
- export interface TypeEnumOpt<E extends KeyValue = KeyValue> extends TypeOpt {
46
- map: EnumerationMap<E>;
43
+ export interface ToTypeEnumOpt<E extends KeyValue = KeyValue> extends ToTypeOpt {
44
+ map: EnumerationMap<E> | EnumerationArray<E>;
47
45
  alt?: EnumerationAlt<E>;
48
46
  }
49
47
  export type EnumerationMap<E extends KeyValue = KeyValue> = Dict<E>;
50
48
  export type EnumerationAlt<E extends KeyValue = KeyValue> = Dict<E>;
49
+ export type EnumerationArray<E extends KeyValue = KeyValue> = Array<E>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leyyo/common",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Common library",
5
5
  "keywords": [
6
6
  "common"