@nx-ddd/common 1.0.0 → 2.0.0

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": "@nx-ddd/common",
3
- "version": "1.0.0",
4
- "main": "src/index.js",
5
- "typings": "src/index.d.ts"
3
+ "version": "2.0.0",
4
+ "main": "./src/index.js",
5
+ "typings": "./src/index.d.ts"
6
6
  }
@@ -0,0 +1 @@
1
+ export declare const generateId: (n?: number) => string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateId = void 0;
4
+ const defaultOptions = {
5
+ letters: true,
6
+ upperCase: true,
7
+ numbers: true,
8
+ symbols: false,
9
+ };
10
+ const CHARACTERS = {
11
+ letters: 'abcdefghijklmnopqrstuvwxyz',
12
+ upperCase: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
13
+ numbers: '0123456789',
14
+ symbols: '!#$%&()',
15
+ };
16
+ const generateRandomString = (n, options = defaultOptions) => {
17
+ const characters = Object.entries(CHARACTERS).filter(([k]) => options[k]).map(([_, v]) => v).join('');
18
+ const genChar = () => characters.charAt(Math.floor(Math.random() * characters.length));
19
+ return [...Array(n)].map(() => genChar()).join('');
20
+ };
21
+ const generateId = (n = 20) => generateRandomString(n);
22
+ exports.generateId = generateId;
23
+ //# sourceMappingURL=generate-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-id.js","sourceRoot":"","sources":["../../../../libs/common/src/utilities/generate-id.ts"],"names":[],"mappings":";;;AAOA,MAAM,cAAc,GAAY;IAC9B,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK;CACf,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAE,UAAmB,cAAc,EAAU,EAAE;IACpF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/F,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAA;AAEM,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAAjE,QAAA,UAAU,cAAuD"}
@@ -1,2 +1,2 @@
1
- export * from './query';
1
+ export * from './generate-id';
2
2
  export * from './to-object';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./query"), exports);
4
+ tslib_1.__exportStar(require("./generate-id"), exports);
5
5
  tslib_1.__exportStar(require("./to-object"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/common/src/utilities/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/common/src/utilities/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,sDAA4B"}
@@ -9,5 +9,6 @@ const getAllProps = (obj, keys = Object.keys(obj)) => {
9
9
  .concat(keys);
10
10
  return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);
11
11
  };
12
- exports.toObject = (obj) => getAllProps(obj).reduce((p, k) => (Object.assign(Object.assign({}, p), { [k]: obj[k] })), {});
12
+ const toObject = (obj) => getAllProps(obj).reduce((p, k) => (Object.assign(Object.assign({}, p), { [k]: obj[k] })), {});
13
+ exports.toObject = toObject;
13
14
  //# sourceMappingURL=to-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-object.js","sourceRoot":"","sources":["../../../../libs/common/src/utilities/to-object.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,OAAiB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAY,EAAE;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC;SAC9E,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAA;AAEY,QAAA,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAE,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"to-object.js","sourceRoot":"","sources":["../../../../libs/common/src/utilities/to-object.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,OAAiB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAY,EAAE;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC;SAC9E,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAE,EAAE,EAAE,CAAC,CAAC;AAAjG,QAAA,QAAQ,YAAyF"}
@@ -1 +0,0 @@
1
- export * from './query.resolver';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./query.resolver"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/common/src/utilities/query/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
@@ -1 +0,0 @@
1
- export declare const filterByQuery: <T>(items: T[], queryString: string, dlm?: Record<string, string>) => T[];
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterByQuery = void 0;
4
- const to_object_1 = require("@nx-ddd/common/utilities/to-object");
5
- const flat_1 = require("flat");
6
- exports.filterByQuery = (items, queryString, dlm = {}) => {
7
- return new QueryResolver(dlm).resolve(items, queryString);
8
- };
9
- class QueryResolver {
10
- constructor(map) {
11
- this.inQueryByKey = (items, query) => {
12
- var _a, _b;
13
- const [not, _key, value] = this.parseQuery(query);
14
- const key = (_b = (_a = this.REVERSED_MAP) === null || _a === void 0 ? void 0 : _a[_key]) !== null && _b !== void 0 ? _b : _key;
15
- return items.filter(item => { var _a; return _not(_in((_a = flat_1.flatten(to_object_1.toObject(item))) === null || _a === void 0 ? void 0 : _a[key], value), not); });
16
- };
17
- this.gtQueryByKey = (items, query) => {
18
- var _a, _b;
19
- const [_key, value] = query.split('>');
20
- const key = (_b = (_a = this.REVERSED_MAP) === null || _a === void 0 ? void 0 : _a[_key]) !== null && _b !== void 0 ? _b : _key;
21
- return items.filter(item => { var _a; return _gt((_a = flat_1.flatten(to_object_1.toObject(item))) === null || _a === void 0 ? void 0 : _a[key], value); });
22
- };
23
- this.inQuery = (items, query) => {
24
- return items.filter(item => Object.values(flat_1.flatten(to_object_1.toObject(item))).some(value => _in(value, query)));
25
- };
26
- this.REVERSED_MAP = Object.entries(map).reduce((p, [k, v]) => (Object.assign(Object.assign({}, p), { [v]: k })), {});
27
- }
28
- resolve(items, queryString) {
29
- return this.resolveQueries(items, queryString.split(' ').filter(q => q.length));
30
- }
31
- resolveQueries(items, queries) {
32
- return queries.reduce((_items, query) => {
33
- if (query.includes(':'))
34
- return this.inQueryByKey(_items, query);
35
- if (query.includes('='))
36
- return this.inQueryByKey(_items, query);
37
- if (query.includes('>'))
38
- return this.gtQueryByKey(_items, query);
39
- if (query.includes('<'))
40
- return this.inQueryByKey(_items, query);
41
- return this.inQuery(_items, query);
42
- }, items);
43
- }
44
- parseQuery(query) {
45
- const [_key, value] = query.split(':');
46
- return [_key.startsWith('-'), _key.startsWith('-') ? _key.slice(1) : _key, value];
47
- }
48
- }
49
- const _not = (bool, not) => {
50
- return not ? !bool : bool;
51
- };
52
- const _in = (value, query) => {
53
- return typeof value === 'string' ? value === null || value === void 0 ? void 0 : value.includes(query) : false;
54
- };
55
- const _gt = (value, query) => {
56
- return typeof value === 'string'
57
- ? parseFloat(value) > parseFloat(query)
58
- : typeof value === 'number'
59
- ? value > parseFloat(query)
60
- : false;
61
- };
62
- //# sourceMappingURL=query.resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.resolver.js","sourceRoot":"","sources":["../../../../../libs/common/src/utilities/query/query.resolver.ts"],"names":[],"mappings":"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"}