@my-devkit/core 1.0.87 → 1.0.89

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.
@@ -1,6 +1,7 @@
1
1
  export declare class TypeHelper {
2
2
  static getProperties<T>(type: new () => T): TypeHelper.Property[];
3
3
  static getMetaData<T>(type: new () => T): TypeHelper.MetaData[];
4
+ static getObjectPropertiesPath<T>(object: T, previousPath?: string): string[];
4
5
  private static getMetaDataType;
5
6
  private static getEnumValues;
6
7
  private static getEnumName;
@@ -55,6 +55,20 @@ var TypeHelper = /** @class */ (function () {
55
55
  return metadata;
56
56
  });
57
57
  };
58
+ TypeHelper.getObjectPropertiesPath = function (object, previousPath) {
59
+ if (!(0, lodash_1._isObjectLike)(object)) {
60
+ return [];
61
+ }
62
+ var result = [];
63
+ for (var _i = 0, _a = (0, lodash_1._keys)(object); _i < _a.length; _i++) {
64
+ var key = _a[_i];
65
+ var pathKey = Array.isArray(object) ? "[".concat(key, "]") : key;
66
+ var path = previousPath ? "".concat(previousPath, ".").concat(pathKey) : pathKey;
67
+ result.push(path);
68
+ result.push.apply(result, this.getObjectPropertiesPath((0, lodash_1._get)(object, key), path));
69
+ }
70
+ return result;
71
+ };
58
72
  TypeHelper.getMetaDataType = function (propType) {
59
73
  if (this.isString(propType)) {
60
74
  return TypeHelper.Type.String;
@@ -1 +1 @@
1
- {"version":3,"file":"type-helper.js","sourceRoot":"","sources":["../../src/serialize/type-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-helper.js","sourceRoot":"","sources":["../../src/serialize/type-helper.ts"],"names":[],"mappings":"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"}
@@ -1,49 +1 @@
1
- import { ListIteratee } from 'lodash';
2
- type List<T> = ArrayLike<T>;
3
- type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
4
- type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
5
- interface Dictionary<T> {
6
- [index: string]: T;
7
- }
8
- type NotVoid = unknown;
9
- type PropertyName = string | number | symbol;
10
- type PartialShallow<T> = {
11
- [P in keyof T]?: T[P] extends object ? object : T[P];
12
- };
13
- type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
14
- type Many<T> = T | ReadonlyArray<T>;
15
- type ValueIteratee<T> = ((value: T) => NotVoid) | IterateeShorthand<T>;
16
- type RecursiveArray<T> = Array<T | RecursiveArray<T>>;
17
- type ListOfRecursiveArraysOrValues<T> = List<T | RecursiveArray<T>>;
18
- type Flat<T> = T extends string ? T : (T extends List<any> ? never : T);
19
- export declare const _uniq: <T>(array: List<T> | null | undefined) => T[];
20
- export declare const _flatten: <T>(array: List<Many<T>>) => T[];
21
- export declare const _flattenDeep: <T>(array: ListOfRecursiveArraysOrValues<T>) => Flat<T>[];
22
- export declare const _sumBy: <T>(collection: List<T>, iteratee?: string | ((value: T) => number)) => number;
23
- export declare const _sum: (collection: List<any>) => number;
24
- export declare const _words: {
25
- (string?: string, pattern?: string | RegExp): string[];
26
- (string: string, index: string | number, guard: object): string[];
27
- };
28
- export declare const _isEqual: (value: any, other: any) => boolean;
29
- export declare const _deburr: (string?: string) => string;
30
- export declare const _kebabCase: (string?: string) => string;
31
- export declare const _shuffle: {
32
- <T>(collection: List<T>): T[];
33
- <T extends object>(collection: T): T[keyof T][];
34
- };
35
- export declare const _groupBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => Dictionary<T[]>;
36
- export declare const _sortBy: <T>(collection: List<T> | null | undefined, ...iteratees: Array<Many<ListIteratee<T>>>) => T[];
37
- export declare const _orderBy: <T extends object>(collection: List<T>, iteratees?: Many<ObjectIteratee<T>>, orders?: Many<boolean | 'asc' | 'desc'>) => T[];
38
- export declare const _cloneDeep: <T>(value: T) => T;
39
- export declare const _maxBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T;
40
- export declare const _minBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T;
41
- export declare const _first: <T>(array: List<T>) => T;
42
- export declare const _last: <T>(array: List<T>) => T;
43
- export declare const _trim: (string?: string, chars?: string) => string;
44
- export declare const _trimStart: (string?: string, chars?: string) => string;
45
- export declare const _trimEnd: (string?: string, chars?: string) => string;
46
- export declare const _isNil: <T>(value: T) => boolean;
47
- export declare const _chunk: <T>(array: List<T> | null | undefined, size?: number) => T[][];
48
- export declare const _padStart: (string?: string, length?: number, chars?: string) => string;
49
- export {};
1
+ export { chunk as _chunk, cloneDeep as _cloneDeep, deburr as _deburr, first as _first, flatten as _flatten, flattenDeep as _flattenDeep, get as _get, groupBy as _groupBy, isEqual as _isEqual, isNil as _isNil, isObjectLike as _isObjectLike, kebabCase as _kebabCase, keys as _keys, last as _last, maxBy as _maxBy, minBy as _minBy, orderBy as _orderBy, padStart as _padStart, shuffle as _shuffle, sortBy as _sortBy, sum as _sum, sumBy as _sumBy, trim as _trim, trimEnd as _trimEnd, trimStart as _trimStart, uniq as _uniq, words as _words, isString as _isString, isArray as _isArray, isBoolean as _isBoolean, isDate as _isDate } from 'lodash';
@@ -1,30 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._padStart = exports._chunk = exports._isNil = exports._trimEnd = exports._trimStart = exports._trim = exports._last = exports._first = exports._minBy = exports._maxBy = exports._cloneDeep = exports._orderBy = exports._sortBy = exports._groupBy = exports._shuffle = exports._kebabCase = exports._deburr = exports._isEqual = exports._words = exports._sum = exports._sumBy = exports._flattenDeep = exports._flatten = exports._uniq = void 0;
3
+ exports._isDate = exports._isBoolean = exports._isArray = exports._isString = exports._words = exports._uniq = exports._trimStart = exports._trimEnd = exports._trim = exports._sumBy = exports._sum = exports._sortBy = exports._shuffle = exports._padStart = exports._orderBy = exports._minBy = exports._maxBy = exports._last = exports._keys = exports._kebabCase = exports._isObjectLike = exports._isNil = exports._isEqual = exports._groupBy = exports._get = exports._flattenDeep = exports._flatten = exports._first = exports._deburr = exports._cloneDeep = exports._chunk = void 0;
4
4
  var lodash_1 = require("lodash");
5
- // Export functions with proper type
6
- exports._uniq = lodash_1.uniq;
7
- exports._flatten = lodash_1.flatten;
8
- exports._flattenDeep = lodash_1.flattenDeep;
9
- exports._sumBy = lodash_1.sumBy;
10
- exports._sum = lodash_1.sum;
11
- exports._words = lodash_1.words;
12
- exports._isEqual = lodash_1.isEqual;
13
- exports._deburr = lodash_1.deburr;
14
- exports._kebabCase = lodash_1.kebabCase;
15
- exports._shuffle = lodash_1.shuffle;
16
- exports._groupBy = lodash_1.groupBy;
17
- exports._sortBy = lodash_1.sortBy;
18
- exports._orderBy = lodash_1.orderBy;
19
- exports._cloneDeep = lodash_1.cloneDeep;
20
- exports._maxBy = lodash_1.maxBy;
21
- exports._minBy = lodash_1.minBy;
22
- exports._first = lodash_1.first;
23
- exports._last = lodash_1.last;
24
- exports._trim = lodash_1.trim;
25
- exports._trimStart = lodash_1.trimStart;
26
- exports._trimEnd = lodash_1.trimEnd;
27
- exports._isNil = lodash_1.isNil;
28
- exports._chunk = lodash_1.chunk;
29
- exports._padStart = lodash_1.padStart;
5
+ Object.defineProperty(exports, "_chunk", { enumerable: true, get: function () { return lodash_1.chunk; } });
6
+ Object.defineProperty(exports, "_cloneDeep", { enumerable: true, get: function () { return lodash_1.cloneDeep; } });
7
+ Object.defineProperty(exports, "_deburr", { enumerable: true, get: function () { return lodash_1.deburr; } });
8
+ Object.defineProperty(exports, "_first", { enumerable: true, get: function () { return lodash_1.first; } });
9
+ Object.defineProperty(exports, "_flatten", { enumerable: true, get: function () { return lodash_1.flatten; } });
10
+ Object.defineProperty(exports, "_flattenDeep", { enumerable: true, get: function () { return lodash_1.flattenDeep; } });
11
+ Object.defineProperty(exports, "_get", { enumerable: true, get: function () { return lodash_1.get; } });
12
+ Object.defineProperty(exports, "_groupBy", { enumerable: true, get: function () { return lodash_1.groupBy; } });
13
+ Object.defineProperty(exports, "_isEqual", { enumerable: true, get: function () { return lodash_1.isEqual; } });
14
+ Object.defineProperty(exports, "_isNil", { enumerable: true, get: function () { return lodash_1.isNil; } });
15
+ Object.defineProperty(exports, "_isObjectLike", { enumerable: true, get: function () { return lodash_1.isObjectLike; } });
16
+ Object.defineProperty(exports, "_kebabCase", { enumerable: true, get: function () { return lodash_1.kebabCase; } });
17
+ Object.defineProperty(exports, "_keys", { enumerable: true, get: function () { return lodash_1.keys; } });
18
+ Object.defineProperty(exports, "_last", { enumerable: true, get: function () { return lodash_1.last; } });
19
+ Object.defineProperty(exports, "_maxBy", { enumerable: true, get: function () { return lodash_1.maxBy; } });
20
+ Object.defineProperty(exports, "_minBy", { enumerable: true, get: function () { return lodash_1.minBy; } });
21
+ Object.defineProperty(exports, "_orderBy", { enumerable: true, get: function () { return lodash_1.orderBy; } });
22
+ Object.defineProperty(exports, "_padStart", { enumerable: true, get: function () { return lodash_1.padStart; } });
23
+ Object.defineProperty(exports, "_shuffle", { enumerable: true, get: function () { return lodash_1.shuffle; } });
24
+ Object.defineProperty(exports, "_sortBy", { enumerable: true, get: function () { return lodash_1.sortBy; } });
25
+ Object.defineProperty(exports, "_sum", { enumerable: true, get: function () { return lodash_1.sum; } });
26
+ Object.defineProperty(exports, "_sumBy", { enumerable: true, get: function () { return lodash_1.sumBy; } });
27
+ Object.defineProperty(exports, "_trim", { enumerable: true, get: function () { return lodash_1.trim; } });
28
+ Object.defineProperty(exports, "_trimEnd", { enumerable: true, get: function () { return lodash_1.trimEnd; } });
29
+ Object.defineProperty(exports, "_trimStart", { enumerable: true, get: function () { return lodash_1.trimStart; } });
30
+ Object.defineProperty(exports, "_uniq", { enumerable: true, get: function () { return lodash_1.uniq; } });
31
+ Object.defineProperty(exports, "_words", { enumerable: true, get: function () { return lodash_1.words; } });
32
+ Object.defineProperty(exports, "_isString", { enumerable: true, get: function () { return lodash_1.isString; } });
33
+ Object.defineProperty(exports, "_isArray", { enumerable: true, get: function () { return lodash_1.isArray; } });
34
+ Object.defineProperty(exports, "_isBoolean", { enumerable: true, get: function () { return lodash_1.isBoolean; } });
35
+ Object.defineProperty(exports, "_isDate", { enumerable: true, get: function () { return lodash_1.isDate; } });
30
36
  //# sourceMappingURL=lodash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lodash.js","sourceRoot":"","sources":["../../src/vendors/lodash.ts"],"names":[],"mappings":";;;AAAA,iCA0BgB;AAkBhB,oCAAoC;AACvB,QAAA,KAAK,GAAkD,aAAI,CAAC;AAC5D,QAAA,QAAQ,GAAqC,gBAAO,CAAC;AACrD,QAAA,YAAY,GAA8D,oBAAW,CAAC;AACtF,QAAA,MAAM,GAAmF,cAAK,CAAC;AAC/F,QAAA,IAAI,GAAsC,YAAG,CAAC;AAC9C,QAAA,MAAM,GAGf,cAAK,CAAC;AACG,QAAA,QAAQ,GAAwC,gBAAO,CAAC;AACxD,QAAA,OAAO,GAAgC,eAAM,CAAC;AAC9C,QAAA,UAAU,GAAgC,kBAAS,CAAC;AACpD,QAAA,QAAQ,GAGjB,gBAAO,CAAC;AACC,QAAA,QAAQ,GAA6E,gBAAO,CAAC;AAC7F,QAAA,OAAO,GAAmG,eAAM,CAAC;AACjH,QAAA,QAAQ,GAAiI,gBAAO,CAAC;AACjJ,QAAA,UAAU,GAAuB,kBAAS,CAAC;AAC3C,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA6B,cAAK,CAAC;AACzC,QAAA,KAAK,GAA6B,aAAI,CAAC;AACvC,QAAA,KAAK,GAAgD,aAAI,CAAC;AAC1D,QAAA,UAAU,GAAgD,kBAAS,CAAC;AACpE,QAAA,QAAQ,GAAgD,gBAAO,CAAC;AAChE,QAAA,MAAM,GAA6B,cAAK,CAAC;AACzC,QAAA,MAAM,GAAmE,cAAK,CAAC;AAC/E,QAAA,SAAS,GAAiE,iBAAQ,CAAC"}
1
+ {"version":3,"file":"lodash.js","sourceRoot":"","sources":["../../src/vendors/lodash.ts"],"names":[],"mappings":";;;AAAA,iCAgCgB;AA/BZ,gGAAA,KAAK,OAAU;AACf,oGAAA,SAAS,OAAc;AACvB,iGAAA,MAAM,OAAW;AACjB,gGAAA,KAAK,OAAU;AACf,kGAAA,OAAO,OAAY;AACnB,sGAAA,WAAW,OAAgB;AAC3B,8FAAA,GAAG,OAAQ;AACX,kGAAA,OAAO,OAAY;AACnB,kGAAA,OAAO,OAAY;AACnB,gGAAA,KAAK,OAAU;AACf,uGAAA,YAAY,OAAiB;AAC7B,oGAAA,SAAS,OAAc;AACvB,+FAAA,IAAI,OAAS;AACb,+FAAA,IAAI,OAAS;AACb,gGAAA,KAAK,OAAU;AACf,gGAAA,KAAK,OAAU;AACf,kGAAA,OAAO,OAAY;AACnB,mGAAA,QAAQ,OAAa;AACrB,kGAAA,OAAO,OAAY;AACnB,iGAAA,MAAM,OAAW;AACjB,8FAAA,GAAG,OAAQ;AACX,gGAAA,KAAK,OAAU;AACf,+FAAA,IAAI,OAAS;AACb,kGAAA,OAAO,OAAY;AACnB,oGAAA,SAAS,OAAc;AACvB,+FAAA,IAAI,OAAS;AACb,gGAAA,KAAK,OAAU;AACf,mGAAA,QAAQ,OAAa;AACrB,kGAAA,OAAO,OAAY;AACnB,oGAAA,SAAS,OAAc;AACvB,iGAAA,MAAM,OAAW"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/core",
3
- "version": "1.0.87",
3
+ "version": "1.0.89",
4
4
  "description": "My Devkit: common tools",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "peerDependencies": {},
26
26
  "devDependencies": {
27
- "@my-devkit/cli": "1.0.24",
27
+ "@my-devkit/cli": "1.0.25",
28
28
  "@types/lodash": "4.14.173",
29
29
  "@types/node": "^14.14.19",
30
30
  "@typescript-eslint/eslint-plugin": "4.22.1",
@@ -1,6 +1,6 @@
1
- import { __TypeMap, Deserialize } from 'cerialize';
1
+ import { Deserialize, __TypeMap } from 'cerialize';
2
2
 
3
- import { _trimEnd } from '../vendors/lodash';
3
+ import { _get, _isObjectLike, _keys, _trimEnd } from '../vendors/lodash';
4
4
 
5
5
  export class TypeHelper {
6
6
  public static getProperties<T>(type: new () => T): TypeHelper.Property[] {
@@ -52,6 +52,22 @@ export class TypeHelper {
52
52
  });
53
53
  }
54
54
 
55
+ public static getObjectPropertiesPath<T>(object: T, previousPath?: string): string[] {
56
+ if (!_isObjectLike(object)) {
57
+ return [];
58
+ }
59
+
60
+ const result: string[] = [];
61
+ for (const key of _keys(object)) {
62
+ const pathKey = Array.isArray(object) ? `[${key}]` : key;
63
+ const path = previousPath ? `${previousPath}.${pathKey}` : pathKey;
64
+ result.push(path);
65
+ result.push(...this.getObjectPropertiesPath(_get(object, key), path));
66
+ }
67
+
68
+ return result;
69
+ }
70
+
55
71
  private static getMetaDataType(propType: any): TypeHelper.Type {
56
72
  if (this.isString(propType)) {
57
73
  return TypeHelper.Type.String;
@@ -1,75 +1,34 @@
1
- import {
2
- chunk,
3
- cloneDeep,
4
- deburr,
5
- first,
6
- flatten,
7
- flattenDeep,
8
- groupBy,
9
- isEqual,
10
- isNil,
11
- kebabCase,
12
- last,
13
- ListIteratee,
14
- maxBy,
15
- minBy,
16
- orderBy,
17
- padStart,
18
- shuffle,
19
- sortBy,
20
- sum,
21
- sumBy,
22
- trim,
23
- trimEnd,
24
- trimStart,
25
- uniq,
26
- words,
1
+ export {
2
+ chunk as _chunk,
3
+ cloneDeep as _cloneDeep,
4
+ deburr as _deburr,
5
+ first as _first,
6
+ flatten as _flatten,
7
+ flattenDeep as _flattenDeep,
8
+ get as _get,
9
+ groupBy as _groupBy,
10
+ isEqual as _isEqual,
11
+ isNil as _isNil,
12
+ isObjectLike as _isObjectLike,
13
+ kebabCase as _kebabCase,
14
+ keys as _keys,
15
+ last as _last,
16
+ maxBy as _maxBy,
17
+ minBy as _minBy,
18
+ orderBy as _orderBy,
19
+ padStart as _padStart,
20
+ shuffle as _shuffle,
21
+ sortBy as _sortBy,
22
+ sum as _sum,
23
+ sumBy as _sumBy,
24
+ trim as _trim,
25
+ trimEnd as _trimEnd,
26
+ trimStart as _trimStart,
27
+ uniq as _uniq,
28
+ words as _words,
29
+ isString as _isString,
30
+ isArray as _isArray,
31
+ isBoolean as _isBoolean,
32
+ isDate as _isDate
27
33
  } from 'lodash';
28
34
 
29
- /* eslint-disable @typescript-eslint/ban-types */
30
- // Define type (not exported)
31
- type List<T> = ArrayLike<T>;
32
- type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
33
- type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
34
- interface Dictionary<T> { [index: string]: T; }
35
- type NotVoid = unknown;
36
- type PropertyName = string | number | symbol;
37
- type PartialShallow<T> = { [P in keyof T]?: T[P] extends object ? object : T[P] };
38
- type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
39
- type Many<T> = T | ReadonlyArray<T>;
40
- type ValueIteratee<T> = ((value: T) => NotVoid) | IterateeShorthand<T>;
41
- type RecursiveArray<T> = Array<T | RecursiveArray<T>>;
42
- type ListOfRecursiveArraysOrValues<T> = List<T | RecursiveArray<T>>;
43
- type Flat<T> = T extends string ? T : (T extends List<any> ? never : T);
44
-
45
- // Export functions with proper type
46
- export const _uniq: <T>(array: List<T> | null | undefined) => T[] = uniq;
47
- export const _flatten: <T>(array: List<Many<T>>) => T[] = flatten;
48
- export const _flattenDeep: <T>(array: ListOfRecursiveArraysOrValues<T>) => Flat<T>[] = flattenDeep;
49
- export const _sumBy: <T>(collection: List<T>, iteratee?: string | ((value: T) => number)) => number = sumBy;
50
- export const _sum: (collection: List<any>) => number = sum;
51
- export const _words: {
52
- (string?: string, pattern?: string | RegExp): string[];
53
- (string: string, index: string | number, guard: object): string[];
54
- } = words;
55
- export const _isEqual: (value: any, other: any) => boolean = isEqual;
56
- export const _deburr: (string?: string) => string = deburr;
57
- export const _kebabCase: (string?: string) => string = kebabCase;
58
- export const _shuffle: {
59
- <T>(collection: List<T>): T[];
60
- <T extends object>(collection: T): T[keyof T][];
61
- } = shuffle;
62
- export const _groupBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => Dictionary<T[]> = groupBy;
63
- export const _sortBy: <T>(collection: List<T> | null | undefined, ...iteratees: Array<Many<ListIteratee<T>>>) => T[] = sortBy;
64
- export const _orderBy: <T extends object>(collection: List<T>, iteratees?: Many<ObjectIteratee<T>>, orders?: Many<boolean | 'asc' | 'desc'>) => T[] = orderBy;
65
- export const _cloneDeep: <T>(value: T) => T = cloneDeep;
66
- export const _maxBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T = maxBy;
67
- export const _minBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T = minBy;
68
- export const _first: <T>(array: List<T>) => T = first;
69
- export const _last: <T>(array: List<T>) => T = last;
70
- export const _trim: (string?: string, chars?: string) => string = trim;
71
- export const _trimStart: (string?: string, chars?: string) => string = trimStart;
72
- export const _trimEnd: (string?: string, chars?: string) => string = trimEnd;
73
- export const _isNil: <T>(value: T) => boolean = isNil;
74
- export const _chunk: <T>(array: List<T> | null | undefined, size?: number) => T[][] = chunk;
75
- export const _padStart: (string?: string, length?: number, chars?: string) => string = padStart;