@leyyo/common 1.2.6 → 1.2.7

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/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './repo';
8
8
  export * from './deploy';
9
9
  export * from './name';
10
10
  export * from './event';
11
+ export * from './list';
11
12
  export * from './util';
12
13
  export declare const leyyo: LeyyoLike;
13
14
  export declare const $repo: import("./repo").RepoCommonLike;
package/dist/index.js CHANGED
@@ -35,6 +35,7 @@ __exportStar(require("./repo"), exports);
35
35
  __exportStar(require("./deploy"), exports);
36
36
  __exportStar(require("./name"), exports);
37
37
  __exportStar(require("./event"), exports);
38
+ __exportStar(require("./list"), exports); // object
38
39
  __exportStar(require("./util"), exports); // function
39
40
  exports.leyyo = new leyyo_1.Leyyo();
40
41
  exports.$repo = exports.leyyo.repo;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;;;;;;;;;;;;;;;AAErC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE,CAAC;IAC3B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAS,EAAE;QAClC,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAS,EAAE;QAC3B,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAEvE,yCAAoC;AAGpC,0CAAwB;AACxB,0CAAwB;AACxB,wCAAsB;AACtB,2CAAyB,CAAC,OAAO;AACjC,wCAAsB,CAAC,OAAO;AAC9B,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,yCAAuB,CAAC,WAAW;AAEtB,QAAA,KAAK,GAAc,IAAI,aAAK,EAAE,CAAC;AAC/B,QAAA,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC;AACnB,QAAA,IAAI,GAAG,aAAK,CAAC,GAAG,CAAC;AACjB,QAAA,IAAI,GAAG,aAAK,CAAC,KAAK,CAAC;AACnB,QAAA,OAAO,GAAG,aAAK,CAAC,MAAM,CAAC;AACvB,QAAA,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC;AACnB,QAAA,MAAM,GAAG,aAAK,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,GAAG,aAAK,CAAC,GAAG,CAAC;AAE9B,SAAS;AACT,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;;;;;;;;;;;;;;;AAErC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE,CAAC;IAC3B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAS,EAAE;QAClC,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAS,EAAE;QAC3B,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAEvE,yCAAoC;AAGpC,0CAAwB;AACxB,0CAAwB;AACxB,wCAAsB;AACtB,2CAAyB,CAAC,OAAO;AACjC,wCAAsB,CAAC,OAAO;AAC9B,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,yCAAuB,CAAC,SAAS;AACjC,yCAAuB,CAAC,WAAW;AAEtB,QAAA,KAAK,GAAc,IAAI,aAAK,EAAE,CAAC;AAC/B,QAAA,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC;AACnB,QAAA,IAAI,GAAG,aAAK,CAAC,GAAG,CAAC;AACjB,QAAA,IAAI,GAAG,aAAK,CAAC,KAAK,CAAC;AACnB,QAAA,OAAO,GAAG,aAAK,CAAC,MAAM,CAAC;AACvB,QAAA,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC;AACnB,QAAA,MAAM,GAAG,aAAK,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,GAAG,aAAK,CAAC,GAAG,CAAC;AAE9B,SAAS;AACT,mDAAiC"}
@@ -0,0 +1,2 @@
1
+ export * from './index.types';
2
+ export * from './list';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./index.types"), exports);
18
+ __exportStar(require("./list"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/list/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,yCAAuB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Extended array interface, ie: Clearable arrays
3
+ * */
4
+ export interface ListLike<T = unknown> extends Array<T> {
5
+ /**
6
+ * Clears array items, to align all iteration repositories, like Set, Map etc
7
+ *
8
+ * @return {number} - returns deleted count
9
+ * */
10
+ clear(): number;
11
+ /**
12
+ * Deletes given item
13
+ *
14
+ * @param {any} value - will be deleted record
15
+ * @return {boolean} - is deleted?
16
+ * */
17
+ delete(value: T): boolean;
18
+ /**
19
+ * Deletes by given predicate
20
+ *
21
+ * @param {function} predicate - lambda expression
22
+ * @return {boolean} - is deleted?
23
+ * */
24
+ deleteByLambda(predicate: ListPredicate<T>): boolean;
25
+ }
26
+ export type ListPredicate<T = unknown> = (value: T, index?: number, arr?: Array<T>) => T;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/list/index.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { ListLike, ListPredicate } from "./index.types";
2
+ /**
3
+ * Extended array class, ie: Clearable arrays
4
+ * */
5
+ export declare class List<T = unknown> extends Array<T> implements ListLike<T> {
6
+ constructor(...items: Array<T>);
7
+ /** @inheritDoc */
8
+ clear(): number;
9
+ /** @inheritDoc */
10
+ delete(value: T): boolean;
11
+ /** @inheritDoc */
12
+ deleteByLambda(predicate: ListPredicate<T>): boolean;
13
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.List = void 0;
4
+ /**
5
+ * Extended array class, ie: Clearable arrays
6
+ * */
7
+ class List extends Array {
8
+ constructor(...items) {
9
+ super(...items);
10
+ }
11
+ /** @inheritDoc */
12
+ clear() {
13
+ const size = this.length;
14
+ this.splice(0, this.length);
15
+ return size;
16
+ }
17
+ /** @inheritDoc */
18
+ delete(value) {
19
+ const index = this.indexOf(value);
20
+ if (index >= 0) {
21
+ this.splice(index, 1);
22
+ return true;
23
+ }
24
+ return false;
25
+ }
26
+ /** @inheritDoc */
27
+ deleteByLambda(predicate) {
28
+ const index = this.findIndex(predicate);
29
+ if (index >= 0) {
30
+ this.splice(index, 1);
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ }
36
+ exports.List = List;
37
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list/list.ts"],"names":[],"mappings":";;;AAEA;;KAEK;AACL,MAAa,IAAkB,SAAQ,KAAQ;IAC3C,YAAY,GAAG,KAAe;QAC1B,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,kBAAkB;IAClB,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,KAAQ;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,SAA2B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/BD,oBA+BC"}
@@ -4,5 +4,5 @@ exports.LogLevelItems = void 0;
4
4
  const util_1 = require("../util");
5
5
  const literals = ['debug', 'trace', 'info', 'warn', 'error', 'fatal'];
6
6
  exports.LogLevelItems = literals;
7
- (0, util_1.$enumName)(exports.LogLevelItems, 'LogLevel');
7
+ (0, util_1.$defineEnum)(exports.LogLevelItems, { name: 'LogLevel', i18n: true });
8
8
  //# sourceMappingURL=log-level.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-level.js","sourceRoot":"","sources":["../../src/log/log-level.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAElC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAKlE,QAAA,aAAa,GAAG,QAAmC,CAAA;AAChE,IAAA,gBAAS,EAAC,qBAAa,EAAE,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"log-level.js","sourceRoot":"","sources":["../../src/log/log-level.ts"],"names":[],"mappings":";;;AAAA,kCAAoC;AAEpC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAKlE,QAAA,aAAa,GAAG,QAAmC,CAAA;AAChE,IAAA,kBAAW,EAAC,qBAAa,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC"}
@@ -5,3 +5,8 @@ export interface EnumCommonLike {
5
5
  getEnumAsync(name: string): Promise<[EnumMap, EnumAlt?]>;
6
6
  getLiteralAsync(name: string): Promise<[EnumLiteral, EnumAlt?]>;
7
7
  }
8
+ export interface DefineEnumLike {
9
+ name: string;
10
+ i18n?: unknown;
11
+ alt?: EnumAlt;
12
+ }
@@ -1,6 +1,6 @@
1
1
  export type HttpStatus = number;
2
2
  export type BasicType = 'undefined' | 'string' | 'object' | 'number' | 'boolean' | 'function' | 'symbol' | 'bigint';
3
- export type ExtendedType = BasicType | 'array' | 'class' | 'null' | 'empty' | 'nan' | 'integer' | 'date' | 'enum';
3
+ export type ExtendedType = BasicType | 'array' | 'null' | 'enum' | 'class' | 'empty' | 'text' | 'nan' | 'integer' | 'date' | 'map' | 'set' | 'list';
4
4
  export type KeyValue = string | number;
5
5
  export type AnyKey = string | number | symbol;
6
6
  export type Obj = Object & {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/shared/index.types.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AAsNrC,YAAY;AAGZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE"}
1
+ {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/shared/index.types.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AA2NrC,YAAY;AAGZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE"}
@@ -0,0 +1,18 @@
1
+ import type { DefineEnumLike, EnumLiteral, EnumMap } from "../shared";
2
+ export declare const LY_ENUM_NAME: unique symbol;
3
+ export declare const LY_ENUM_I18N: unique symbol;
4
+ export declare const LY_ENUM_ALT: unique symbol;
5
+ /**
6
+ * Set name of classic enumeration
7
+ *
8
+ * @param {EnumMap} map - enum definition
9
+ * @param {DefineEnumLike} opt - enum options
10
+ * */
11
+ export declare function $defineEnum(map: EnumMap, opt: DefineEnumLike): void;
12
+ /**
13
+ * Set name of literal enumeration
14
+ *
15
+ * @param {EnumLiteral} literals - literal readonly array
16
+ * @param {DefineEnumLike} opt - enum options
17
+ * */
18
+ export declare function $defineEnum(literals: EnumLiteral, opt: DefineEnumLike): void;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LY_ENUM_ALT = exports.LY_ENUM_I18N = exports.LY_ENUM_NAME = void 0;
4
+ exports.$defineEnum = $defineEnum;
5
+ const is_1 = require("./is");
6
+ exports.LY_ENUM_NAME = Symbol.for('leyyo/enum.name');
7
+ exports.LY_ENUM_I18N = Symbol.for('leyyo/enum.i18n');
8
+ exports.LY_ENUM_ALT = Symbol.for('leyyo/enum.alt');
9
+ /**
10
+ * Set name of any enumeration
11
+ *
12
+ * @param {(EnumMap|EnumLiteral)} p1 - map or literal readonly array
13
+ * @param {DefineEnumLike} opt - enum options
14
+ * */
15
+ function $defineEnum(p1, opt) {
16
+ if (((0, is_1.isFilledObj)(p1) || (0, is_1.isFilledArr)(p1)) && (0, is_1.isFilledObj)(opt)) {
17
+ if ((0, is_1.isText)(opt.name)) {
18
+ p1[exports.LY_ENUM_NAME] = opt.name;
19
+ }
20
+ if (!(0, is_1.isEmpty)(opt.i18n)) {
21
+ p1[exports.LY_ENUM_I18N] = opt.i18n;
22
+ }
23
+ if ((0, is_1.isFilledObj)(opt.alt)) {
24
+ p1[exports.LY_ENUM_ALT] = opt.alt;
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=$define-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$define-enum.js","sourceRoot":"","sources":["../../src/util/$define-enum.ts"],"names":[],"mappings":";;;AA6BA,kCAYC;AAxCD,6BAA+D;AAElD,QAAA,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC5D,QAAA,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC5D,QAAA,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAkBvE;;;;;KAKK;AACL,SAAgB,WAAW,CAAC,EAAuB,EAAE,GAAmB;IACpE,IAAI,CAAC,IAAA,gBAAW,EAAC,EAAE,CAAC,IAAI,IAAA,gBAAW,EAAC,EAAE,CAAC,CAAC,IAAI,IAAA,gBAAW,EAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,IAAI,IAAA,WAAM,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,EAAE,CAAC,oBAAY,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,IAAA,YAAO,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,EAAE,CAAC,oBAAY,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,IAAA,gBAAW,EAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,mBAAW,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ExtendedType } from "../shared";
2
+ /**
3
+ * Get extended type of value
4
+ *
5
+ * @param {any} value - given value
6
+ * @return {ExtendedType}
7
+ * */
8
+ export declare function extendedType(value: unknown): ExtendedType;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extendedType = extendedType;
4
+ const _define_enum_1 = require("./$define-enum");
5
+ const is_1 = require("./is");
6
+ const list_1 = require("../list");
7
+ /**
8
+ * Get extended type of value
9
+ *
10
+ * @param {any} value - given value
11
+ * @return {ExtendedType}
12
+ * */
13
+ function extendedType(value) {
14
+ switch (typeof value) {
15
+ case "string":
16
+ const trimmed = value.trim();
17
+ if (trimmed === '') {
18
+ return 'empty';
19
+ }
20
+ else if (trimmed === value) {
21
+ return 'text';
22
+ }
23
+ return 'string';
24
+ case 'number':
25
+ if (isNaN(value)) {
26
+ return 'nan';
27
+ }
28
+ return Number.isInteger(value) ? 'integer' : 'number';
29
+ case 'object':
30
+ if (!value) {
31
+ return 'null';
32
+ }
33
+ if (Array.isArray(value)) {
34
+ if (value[_define_enum_1.LY_ENUM_NAME]) {
35
+ return 'enum';
36
+ }
37
+ return (value instanceof list_1.List) ? 'list' : 'array';
38
+ }
39
+ if (value instanceof Date) {
40
+ return 'date';
41
+ }
42
+ if (value instanceof Map) {
43
+ return 'map';
44
+ }
45
+ if (value instanceof Set) {
46
+ return 'set';
47
+ }
48
+ return value[_define_enum_1.LY_ENUM_NAME] ? 'enum' : 'object';
49
+ case "function":
50
+ return (0, is_1.isClass)(value) ? 'class' : 'function';
51
+ default:
52
+ return typeof value;
53
+ }
54
+ }
55
+ //# sourceMappingURL=extended-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-type.js","sourceRoot":"","sources":["../../src/util/extended-type.ts"],"names":[],"mappings":";;AAWA,oCAyCC;AAnDD,iDAA4C;AAC5C,6BAA6B;AAC7B,kCAA6B;AAE7B;;;;;KAKK;AACL,SAAgB,YAAY,CAAC,KAAc;IACvC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACnB,KAAK,QAAQ;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACjB,OAAO,OAAO,CAAC;YACnB,CAAC;iBACI,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ;YACT,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,KAAK,QAAQ;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,2BAAY,CAAC,EAAE,CAAC;oBACtB,OAAO,MAAM,CAAC;gBAClB,CAAC;gBACD,OAAO,CAAC,KAAK,YAAY,WAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,CAAC,2BAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnD,KAAK,UAAU;YACX,OAAO,IAAA,YAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACjD;YACI,OAAO,OAAO,KAAK,CAAC;IAC5B,CAAC;AACL,CAAC"}
@@ -1,10 +1,11 @@
1
- export * from './$enum-name';
1
+ export * from './$define-enum';
2
+ export * from './$define-error';
2
3
  export * from './$loader';
3
4
  export * from './delay';
4
5
  export * from './empty.fn';
6
+ export * from './extended-type';
5
7
  export * from './is';
6
8
  export * from './jitter-interval';
7
- export * from './$loader';
8
9
  export * from './one-or-more';
9
10
  export * from './secure-json';
10
11
  export * from './secure-clone';
@@ -14,13 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./$enum-name"), exports);
17
+ __exportStar(require("./$define-enum"), exports);
18
+ __exportStar(require("./$define-error"), exports);
18
19
  __exportStar(require("./$loader"), exports);
19
20
  __exportStar(require("./delay"), exports);
20
21
  __exportStar(require("./empty.fn"), exports);
22
+ __exportStar(require("./extended-type"), exports);
21
23
  __exportStar(require("./is"), exports);
22
24
  __exportStar(require("./jitter-interval"), exports);
23
- __exportStar(require("./$loader"), exports);
24
25
  __exportStar(require("./one-or-more"), exports);
25
26
  __exportStar(require("./secure-json"), exports);
26
27
  __exportStar(require("./secure-clone"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAE1B,0CAAwB;AACxB,6CAA2B;AAC3B,uCAAqB;AACrB,oDAAkC;AAClC,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B;AAC9B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,4CAA0B;AAE1B,0CAAwB;AACxB,6CAA2B;AAC3B,kDAAgC;AAChC,uCAAqB;AACrB,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,iDAA+B"}
package/dist/util/is.d.ts CHANGED
@@ -57,3 +57,10 @@ export declare const isText: (str: unknown) => boolean;
57
57
  * @return {boolean} - is empty?
58
58
  * */
59
59
  export declare const isEmpty: (value: unknown) => boolean;
60
+ /**
61
+ * Is class?
62
+ *
63
+ * @param {any} fn - given value
64
+ * @return {boolean} - is class?
65
+ * */
66
+ export declare const isClass: (fn: any) => boolean;
package/dist/util/is.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmpty = exports.isText = exports.isFilledArr = exports.isFilledObj = exports.isObj = exports.EMPTY_VALUES_STR = exports.EMPTY_VALUES = void 0;
3
+ exports.isClass = exports.isEmpty = exports.isText = exports.isFilledArr = exports.isFilledObj = exports.isObj = exports.EMPTY_VALUES_STR = exports.EMPTY_VALUES = void 0;
4
4
  /**
5
5
  * Normal empty values
6
6
  * */
@@ -65,4 +65,23 @@ exports.isText = isText;
65
65
  * */
66
66
  const isEmpty = (value) => exports.EMPTY_VALUES.includes(value) || (typeof value === 'string' && value.trim() === '');
67
67
  exports.isEmpty = isEmpty;
68
+ /**
69
+ * Is class?
70
+ *
71
+ * @param {any} fn - given value
72
+ * @return {boolean} - is class?
73
+ * */
74
+ const isClass = (fn) => {
75
+ // Class constructor is also a function
76
+ if (!(fn && fn.constructor === Function) || fn.prototype === undefined) {
77
+ return false;
78
+ }
79
+ // This is a class that extends other class
80
+ if (Function.prototype !== Object.getPrototypeOf(fn)) {
81
+ return true;
82
+ }
83
+ // Usually a function will only have 'constructor' in the prototype
84
+ return Object.getOwnPropertyNames(fn.prototype).length > 1;
85
+ };
86
+ exports.isClass = isClass;
68
87
  //# sourceMappingURL=is.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is.js","sourceRoot":"","sources":["../../src/util/is.ts"],"names":[],"mappings":";;;AAAA;;KAEK;AACQ,QAAA,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAE9C;;KAEK;AACQ,QAAA,gBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAEtD;;;;;;;KAOK;AACE,MAAM,KAAK,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAAzF,QAAA,KAAK,SAAoF;AAEtG;;;;;;;;KAQK;AACE,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAAnF,QAAA,WAAW,eAAwE;AAEhG;;;;;;;;KAQK;AACE,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAA9E,QAAA,WAAW,eAAmE;AAE3F;;;;;;;;;KASK;AACE,MAAM,MAAM,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;AAAhG,QAAA,MAAM,UAA0F;AAE7G;;;;;;;;;KASK;AACE,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAA1H,QAAA,OAAO,WAAmH"}
1
+ {"version":3,"file":"is.js","sourceRoot":"","sources":["../../src/util/is.ts"],"names":[],"mappings":";;;AAAA;;KAEK;AACQ,QAAA,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAE9C;;KAEK;AACQ,QAAA,gBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAEtD;;;;;;;KAOK;AACE,MAAM,KAAK,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAAzF,QAAA,KAAK,SAAoF;AAEtG;;;;;;;;KAQK;AACE,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAAnF,QAAA,WAAW,eAAwE;AAEhG;;;;;;;;KAQK;AACE,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAA9E,QAAA,WAAW,eAAmE;AAE3F;;;;;;;;;KASK;AACE,MAAM,MAAM,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;AAAhG,QAAA,MAAM,UAA0F;AAE7G;;;;;;;;;KASK;AACE,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAA1H,QAAA,OAAO,WAAmH;AAEvI;;;;;KAKK;AACE,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE;IAC1B,uCAAuC;IACvC,IAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,2CAA2C;IAC3C,IAAG,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mEAAmE;IACnE,OAAO,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAA;AAbY,QAAA,OAAO,WAanB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leyyo/common",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "Common library",
5
5
  "keywords": [
6
6
  "common"
@@ -1,16 +0,0 @@
1
- import type { EnumLiteral, EnumMap } from "../shared";
2
- export declare const LY_ENUM_NAME: unique symbol;
3
- /**
4
- * Set name of classic enumeration
5
- *
6
- * @param {EnumMap} map - enum definition
7
- * @param {string} name - basic name of enum without fqn
8
- * */
9
- export declare function $enumName(map: EnumMap, name: string): void;
10
- /**
11
- * Set name of literal enumeration
12
- *
13
- * @param {EnumLiteral} literals - literal readonly array
14
- * @param {string} name - basic name of enum without fqn
15
- * */
16
- export declare function $enumName(literals: EnumLiteral, name: string): void;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LY_ENUM_NAME = void 0;
4
- exports.$enumName = $enumName;
5
- const is_1 = require("./is");
6
- exports.LY_ENUM_NAME = Symbol.for('leyyo/enum.name');
7
- /**
8
- * Set name of any enumeration
9
- *
10
- * @param {(EnumMap|EnumLiteral)} p1 - map or literal readonly array
11
- * @param {string} name - basic name of enum without fqn
12
- * */
13
- function $enumName(p1, name) {
14
- if (((0, is_1.isFilledObj)(p1) || (0, is_1.isFilledArr)(p1)) && (0, is_1.isText)(name)) {
15
- p1[exports.LY_ENUM_NAME] = name;
16
- }
17
- }
18
- //# sourceMappingURL=$enum-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$enum-name.js","sourceRoot":"","sources":["../../src/util/$enum-name.ts"],"names":[],"mappings":";;;AA2BA,8BAIC;AA9BD,6BAAsD;AAEzC,QAAA,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAkBzE;;;;;KAKK;AACL,SAAgB,SAAS,CAAC,EAAuB,EAAE,IAAY;IAC3D,IAAI,CAAC,IAAA,gBAAW,EAAC,EAAE,CAAC,IAAI,IAAA,gBAAW,EAAC,EAAE,CAAC,CAAC,IAAI,IAAA,WAAM,EAAC,IAAI,CAAC,EAAE,CAAC;QACvD,EAAE,CAAC,oBAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;AACL,CAAC"}