@smartsoft001/utils 2.76.0 → 2.80.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.
Files changed (53) hide show
  1. package/package.json +4 -3
  2. package/src/index.js +5 -0
  3. package/src/index.js.map +1 -0
  4. package/src/lib/services/array/array.service.d.ts +23 -0
  5. package/src/lib/services/array/array.service.js +40 -0
  6. package/src/lib/services/array/array.service.js.map +1 -0
  7. package/src/lib/services/guid/guid.service.d.ts +6 -0
  8. package/src/lib/services/guid/guid.service.js +14 -0
  9. package/src/lib/services/guid/guid.service.js.map +1 -0
  10. package/src/lib/services/index.js +12 -0
  11. package/src/lib/services/index.js.map +1 -0
  12. package/src/lib/services/nip/nip.service.d.ts +14 -0
  13. package/src/lib/services/nip/nip.service.js +36 -0
  14. package/src/lib/services/nip/nip.service.js.map +1 -0
  15. package/src/lib/services/object/object.service.d.ts +15 -0
  16. package/src/lib/services/object/object.service.js +57 -0
  17. package/src/lib/services/object/object.service.js.map +1 -0
  18. package/src/lib/services/password/password.service.d.ts +14 -0
  19. package/src/lib/services/password/password.service.js +30 -0
  20. package/src/lib/services/password/password.service.js.map +1 -0
  21. package/src/lib/services/pesel/pesel.service.d.ts +14 -0
  22. package/src/lib/services/pesel/pesel.service.js +49 -0
  23. package/src/lib/services/pesel/pesel.service.js.map +1 -0
  24. package/src/lib/services/specification/specification.service.d.ts +33 -0
  25. package/src/lib/services/specification/specification.service.js +61 -0
  26. package/src/lib/services/specification/specification.service.js.map +1 -0
  27. package/src/lib/services/zip-code/zip-code.service.d.ts +14 -0
  28. package/src/lib/services/zip-code/zip-code.service.js +24 -0
  29. package/src/lib/services/zip-code/zip-code.service.js.map +1 -0
  30. package/.eslintrc.json +0 -24
  31. package/jest.config.ts +0 -11
  32. package/project.json +0 -37
  33. package/src/lib/services/array/array.service.spec.ts +0 -56
  34. package/src/lib/services/array/array.service.ts +0 -40
  35. package/src/lib/services/guid/guid.service.spec.ts +0 -10
  36. package/src/lib/services/guid/guid.service.ts +0 -10
  37. package/src/lib/services/nip/nip.service.spec.ts +0 -31
  38. package/src/lib/services/nip/nip.service.ts +0 -34
  39. package/src/lib/services/object/object.service.spec.ts +0 -97
  40. package/src/lib/services/object/object.service.ts +0 -55
  41. package/src/lib/services/password/password.service.spec.ts +0 -18
  42. package/src/lib/services/password/password.service.ts +0 -25
  43. package/src/lib/services/pesel/pesel.service.spec.ts +0 -31
  44. package/src/lib/services/pesel/pesel.service.ts +0 -48
  45. package/src/lib/services/specification/specification.service.spec.ts +0 -67
  46. package/src/lib/services/specification/specification.service.ts +0 -85
  47. package/src/lib/services/zip-code/zip-code.service.spec.ts +0 -31
  48. package/src/lib/services/zip-code/zip-code.service.ts +0 -20
  49. package/tsconfig.json +0 -22
  50. package/tsconfig.lib.json +0 -10
  51. package/tsconfig.spec.json +0 -14
  52. /package/src/{index.ts → index.d.ts} +0 -0
  53. /package/src/lib/services/{index.ts → index.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsoft001/utils",
3
- "version": "2.76.0",
3
+ "version": "2.80.0",
4
4
  "dependencies": {
5
5
  "guid-typescript": "^1.0.9",
6
6
  "md5": "^2.3.0",
@@ -10,5 +10,6 @@
10
10
  },
11
11
  "type": "commonjs",
12
12
  "main": "./src/index.js",
13
- "typings": "./src/index.d.ts"
14
- }
13
+ "typings": "./src/index.d.ts",
14
+ "types": "./src/index.d.ts"
15
+ }
package/src/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/services"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/shared/utils/src/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"}
@@ -0,0 +1,23 @@
1
+ export declare class ArrayService {
2
+ /**
3
+ * pushing item to input array and creating new array with same items
4
+ * @param array {array} - input array
5
+ * @param item {object} - new item
6
+ * @returns {array} - new array with item
7
+ */
8
+ static addItem<T>(array: Array<T>, item: T): Array<T>;
9
+ /**
10
+ * removing item from input array and creating new array without item
11
+ * @param array {array} - input array
12
+ * @param item {object} - item to remove
13
+ * @returns {array} - new array without item
14
+ */
15
+ static removeItem<T>(array: Array<T>, item: T): Array<T>;
16
+ /**
17
+ * sort array
18
+ * @param array {array} - input array
19
+ * @param by {function} - function to get sort key
20
+ * @returns {array} - sorted array
21
+ */
22
+ static sort<T>(array: Array<T>, by: (item: T) => unknown): Array<T>;
23
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayService = void 0;
4
+ const _ = require("lodash");
5
+ class ArrayService {
6
+ /**
7
+ * pushing item to input array and creating new array with same items
8
+ * @param array {array} - input array
9
+ * @param item {object} - new item
10
+ * @returns {array} - new array with item
11
+ */
12
+ static addItem(array, item) {
13
+ array.push(item);
14
+ return [...array];
15
+ }
16
+ /**
17
+ * removing item from input array and creating new array without item
18
+ * @param array {array} - input array
19
+ * @param item {object} - item to remove
20
+ * @returns {array} - new array without item
21
+ */
22
+ static removeItem(array, item) {
23
+ const index = array.indexOf(item);
24
+ if (index > -1) {
25
+ array.splice(index, 1);
26
+ }
27
+ return [...array];
28
+ }
29
+ /**
30
+ * sort array
31
+ * @param array {array} - input array
32
+ * @param by {function} - function to get sort key
33
+ * @returns {array} - sorted array
34
+ */
35
+ static sort(array, by) {
36
+ return _.sortBy(array, by);
37
+ }
38
+ }
39
+ exports.ArrayService = ArrayService;
40
+ //# sourceMappingURL=array.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/array/array.service.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAE5B,MAAa,YAAY;IACvB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAI,KAAe,EAAE,IAAO;QACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAI,KAAe,EAAE,IAAO;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAI,KAAe,EAAE,EAAwB;QACtD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;CACF;AArCD,oCAqCC"}
@@ -0,0 +1,6 @@
1
+ export declare class GuidService {
2
+ /***
3
+ * Create guid as string
4
+ */
5
+ static create(): string;
6
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuidService = void 0;
4
+ const guid_typescript_1 = require("guid-typescript");
5
+ class GuidService {
6
+ /***
7
+ * Create guid as string
8
+ */
9
+ static create() {
10
+ return guid_typescript_1.Guid.raw();
11
+ }
12
+ }
13
+ exports.GuidService = GuidService;
14
+ //# sourceMappingURL=guid.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/guid/guid.service.ts"],"names":[],"mappings":";;;AAAA,qDAAuC;AAEvC,MAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,sBAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAPD,kCAOC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./password/password.service"), exports);
5
+ tslib_1.__exportStar(require("./nip/nip.service"), exports);
6
+ tslib_1.__exportStar(require("./zip-code/zip-code.service"), exports);
7
+ tslib_1.__exportStar(require("./object/object.service"), exports);
8
+ tslib_1.__exportStar(require("./guid/guid.service"), exports);
9
+ tslib_1.__exportStar(require("./pesel/pesel.service"), exports);
10
+ tslib_1.__exportStar(require("./specification/specification.service"), exports);
11
+ tslib_1.__exportStar(require("./array/array.service"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/shared/utils/src/lib/services/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,4DAAkC;AAClC,sEAA4C;AAC5C,kEAAwC;AACxC,8DAAoC;AACpC,gEAAsC;AACtC,gFAAsD;AACtD,gEAAsC"}
@@ -0,0 +1,14 @@
1
+ export declare class NipService {
2
+ /***
3
+ * Check valid nip format
4
+ * @param nip {string} - nip string
5
+ * @return return true when correct
6
+ */
7
+ static isValid(nip: string): boolean;
8
+ /***
9
+ * Check invalid nip format
10
+ * @param nip {string} - nip string
11
+ * @return return true when incorrect
12
+ */
13
+ static isInvalid(nip: string): boolean;
14
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NipService = void 0;
4
+ class NipService {
5
+ /***
6
+ * Check valid nip format
7
+ * @param nip {string} - nip string
8
+ * @return return true when correct
9
+ */
10
+ static isValid(nip) {
11
+ if (typeof nip !== 'string')
12
+ return false;
13
+ //eslint-disable-next-line
14
+ nip = nip.replace(/[\ \-]/gi, '');
15
+ const weight = [6, 5, 7, 2, 3, 4, 5, 6, 7];
16
+ let sum = 0;
17
+ // tslint:disable-next-line:radix
18
+ const controlNumber = parseInt(nip.substring(9, 10));
19
+ const weightCount = weight.length;
20
+ for (let i = 0; i < weightCount; i++) {
21
+ // tslint:disable-next-line:radix
22
+ sum += parseInt(nip.substr(i, 1)) * weight[i];
23
+ }
24
+ return sum % 11 === controlNumber;
25
+ }
26
+ /***
27
+ * Check invalid nip format
28
+ * @param nip {string} - nip string
29
+ * @return return true when incorrect
30
+ */
31
+ static isInvalid(nip) {
32
+ return !NipService.isValid(nip);
33
+ }
34
+ }
35
+ exports.NipService = NipService;
36
+ //# sourceMappingURL=nip.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nip.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/nip/nip.service.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAW;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1C,0BAA0B;QAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,iCAAiC;QACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,iCAAiC;YACjC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,GAAG,GAAG,EAAE,KAAK,aAAa,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAW;QAC1B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF;AAjCD,gCAiCC"}
@@ -0,0 +1,15 @@
1
+ export declare class ObjectService {
2
+ /***
3
+ * Create object with data
4
+ * @param data {object} - data to set
5
+ * @param type {type} - new type
6
+ * @return - new type object
7
+ */
8
+ static createByType<T>(data: any, type: any): T;
9
+ /***
10
+ * Remove object type from data
11
+ * @param obj {object} - object
12
+ * @return - object without type
13
+ */
14
+ static removeTypes(obj: any): any;
15
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectService = void 0;
4
+ const flatted_1 = require("flatted");
5
+ class ObjectService {
6
+ /***
7
+ * Create object with data
8
+ * @param data {object} - data to set
9
+ * @param type {type} - new type
10
+ * @return - new type object
11
+ */
12
+ static createByType(data, type) {
13
+ if (!data)
14
+ return data;
15
+ try {
16
+ if (data instanceof type)
17
+ return data;
18
+ }
19
+ catch (e) {
20
+ console.warn(e);
21
+ }
22
+ const result = new type();
23
+ Object.keys(data).forEach((key) => {
24
+ result[key] = data[key];
25
+ });
26
+ return result;
27
+ }
28
+ /***
29
+ * Remove object type from data
30
+ * @param obj {object} - object
31
+ * @return - object without type
32
+ */
33
+ static removeTypes(obj) {
34
+ if (!obj)
35
+ return obj;
36
+ const result = {};
37
+ Object.keys(obj).forEach((key) => {
38
+ if (obj[key] && obj[key].constructor && !(obj[key] instanceof Date)) {
39
+ let stringValue = '';
40
+ try {
41
+ stringValue = JSON.stringify(obj[key]);
42
+ }
43
+ catch (e) {
44
+ console.warn("can't stringify without circular package");
45
+ stringValue = (0, flatted_1.stringify)(obj[key]);
46
+ }
47
+ result[key] = JSON.parse(stringValue);
48
+ }
49
+ else {
50
+ result[key] = obj[key];
51
+ }
52
+ });
53
+ return result;
54
+ }
55
+ }
56
+ exports.ObjectService = ObjectService;
57
+ //# sourceMappingURL=object.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/object/object.service.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAEpC,MAAa,aAAa;IACxB;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAI,IAAS,EAAE,IAAS;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAS,CAAC;QAE5B,IAAI,CAAC;YACH,IAAI,IAAI,YAAY,IAAI;gBAAE,OAAO,IAAS,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAQ;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAErB,MAAM,MAAM,GAAG,EAAS,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;gBACpE,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACzD,WAAW,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApDD,sCAoDC"}
@@ -0,0 +1,14 @@
1
+ export declare class PasswordService {
2
+ /**
3
+ * Hash password text
4
+ * @param p {string} - text
5
+ * @return - hashed text
6
+ */
7
+ static hash(p: string): Promise<string>;
8
+ /**
9
+ * Compare password text with hashed text
10
+ * @param p {string} - password text
11
+ * @param h {string} - hashed text
12
+ */
13
+ static compare(p: string, h: string): Promise<boolean>;
14
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PasswordService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const md5_ = require("md5");
6
+ const md5 = md5_;
7
+ // @dynamic
8
+ class PasswordService {
9
+ /**
10
+ * Hash password text
11
+ * @param p {string} - text
12
+ * @return - hashed text
13
+ */
14
+ static hash(p) {
15
+ return Promise.resolve(md5(p));
16
+ }
17
+ /**
18
+ * Compare password text with hashed text
19
+ * @param p {string} - password text
20
+ * @param h {string} - hashed text
21
+ */
22
+ static compare(p, h) {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ const hp = yield PasswordService.hash(p);
25
+ return hp === h;
26
+ });
27
+ }
28
+ }
29
+ exports.PasswordService = PasswordService;
30
+ //# sourceMappingURL=password.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/password/password.service.ts"],"names":[],"mappings":";;;;AAAA,4BAA4B;AAE5B,MAAM,GAAG,GAAG,IAAI,CAAC;AAEjB,WAAW;AACX,MAAa,eAAe;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,CAAS;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAO,OAAO,CAAC,CAAS,EAAE,CAAS;;YACvC,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClB,CAAC;KAAA;CACF;AAnBD,0CAmBC"}
@@ -0,0 +1,14 @@
1
+ export declare class PeselService {
2
+ /***
3
+ * Check valid pesel format
4
+ * @param pesel {string} - pesel string
5
+ * @return return true when correct
6
+ */
7
+ static isValid(pesel: string): boolean;
8
+ /***
9
+ * Check invalid pesel format
10
+ * @param pesel {string} - pesel string
11
+ * @return return true when incorrect
12
+ */
13
+ static isInvalid(pesel: string): boolean;
14
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PeselService = void 0;
4
+ class PeselService {
5
+ /***
6
+ * Check valid pesel format
7
+ * @param pesel {string} - pesel string
8
+ * @return return true when correct
9
+ */
10
+ static isValid(pesel) {
11
+ const reg = /^[0-9]{11}$/;
12
+ if (reg.test(pesel) === false)
13
+ return false;
14
+ else {
15
+ const digits = ('' + pesel).split('');
16
+ // tslint:disable-next-line:radix
17
+ if (parseInt(pesel.substring(4, 6)) > 31 ||
18
+ parseInt(pesel.substring(2, 4)) > 12)
19
+ return false;
20
+ // tslint:disable-next-line:radix
21
+ let checksum = (1 * parseInt(digits[0]) +
22
+ 3 * parseInt(digits[1]) +
23
+ 7 * parseInt(digits[2]) +
24
+ 9 * parseInt(digits[3]) +
25
+ 1 * parseInt(digits[4]) +
26
+ 3 * parseInt(digits[5]) +
27
+ 7 * parseInt(digits[6]) +
28
+ 9 * parseInt(digits[7]) +
29
+ 1 * parseInt(digits[8]) +
30
+ 3 * parseInt(digits[9])) %
31
+ 10;
32
+ if (checksum === 0)
33
+ checksum = 10;
34
+ checksum = 10 - checksum;
35
+ // tslint:disable-next-line:radix
36
+ return parseInt(digits[10]) === checksum;
37
+ }
38
+ }
39
+ /***
40
+ * Check invalid pesel format
41
+ * @param pesel {string} - pesel string
42
+ * @return return true when incorrect
43
+ */
44
+ static isInvalid(pesel) {
45
+ return !PeselService.isValid(pesel);
46
+ }
47
+ }
48
+ exports.PeselService = PeselService;
49
+ //# sourceMappingURL=pesel.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pesel.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/pesel/pesel.service.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,MAAM,GAAG,GAAG,aAAa,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;aACvC,CAAC;YACJ,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,iCAAiC;YACjC,IACE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;gBACpC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;gBAEpC,OAAO,KAAK,CAAC;YAEf,iCAAiC;YACjC,IAAI,QAAQ,GACV,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,EAAE,CAAC;YACL,IAAI,QAAQ,KAAK,CAAC;gBAAE,QAAQ,GAAG,EAAE,CAAC;YAClC,QAAQ,GAAG,EAAE,GAAG,QAAQ,CAAC;YAEzB,iCAAiC;YACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AA/CD,oCA+CC"}
@@ -0,0 +1,33 @@
1
+ export interface ISpecificationCustom {
2
+ $root?: any;
3
+ }
4
+ export declare const SPECIFICATION_ROOT_KEY = "$root.";
5
+ export declare class SpecificationService {
6
+ /**
7
+ * Checking if the value meets the specifications
8
+ * @param value {object} - object to check
9
+ * @param spec {ISpecificatio} - specification
10
+ * @param custom {ISpecificationCustom} - custom data for valid
11
+ */
12
+ static valid<T>(value: T, spec: {
13
+ criteria: any;
14
+ }, custom?: ISpecificationCustom): boolean;
15
+ /**
16
+ * Checking if the object does not meet the specifications
17
+ * @param value {object} - object to check
18
+ * @param spec {ISpecificatio} - specification
19
+ * @param custom {ISpecificationCustom} - custom data for invalid
20
+ */
21
+ static invalid<T>(value: T, spec: {
22
+ criteria: any;
23
+ }, custom?: ISpecificationCustom): boolean;
24
+ /**
25
+ * Convert specification to sql
26
+ * @param spec {ISpecificatio} - specification
27
+ * @return - sql criteria
28
+ */
29
+ static getSqlCriteria(spec: {
30
+ criteria: any;
31
+ }): string;
32
+ private static check;
33
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpecificationService = exports.SPECIFICATION_ROOT_KEY = void 0;
4
+ exports.SPECIFICATION_ROOT_KEY = '$root.';
5
+ class SpecificationService {
6
+ /**
7
+ * Checking if the value meets the specifications
8
+ * @param value {object} - object to check
9
+ * @param spec {ISpecificatio} - specification
10
+ * @param custom {ISpecificationCustom} - custom data for valid
11
+ */
12
+ static valid(value, spec, custom) {
13
+ const keys = Object.keys(spec.criteria);
14
+ if (!value)
15
+ return false;
16
+ for (let index = 0; index < keys.length; index++) {
17
+ const key = keys[index];
18
+ if (key.indexOf(exports.SPECIFICATION_ROOT_KEY) === 0 && (custom === null || custom === void 0 ? void 0 : custom.$root)) {
19
+ if (!SpecificationService.check(custom === null || custom === void 0 ? void 0 : custom.$root[key.replace(exports.SPECIFICATION_ROOT_KEY, '')], spec.criteria[key]))
20
+ return false;
21
+ }
22
+ else if (!SpecificationService.check(value[key], spec.criteria[key]))
23
+ return false;
24
+ }
25
+ return true;
26
+ }
27
+ /**
28
+ * Checking if the object does not meet the specifications
29
+ * @param value {object} - object to check
30
+ * @param spec {ISpecificatio} - specification
31
+ * @param custom {ISpecificationCustom} - custom data for invalid
32
+ */
33
+ static invalid(value, spec, custom) {
34
+ return !SpecificationService.valid(value, spec, custom);
35
+ }
36
+ /**
37
+ * Convert specification to sql
38
+ * @param spec {ISpecificatio} - specification
39
+ * @return - sql criteria
40
+ */
41
+ static getSqlCriteria(spec) {
42
+ const keys = Object.keys(spec.criteria);
43
+ let result = '';
44
+ for (let index = 0; index < keys.length; index++) {
45
+ const key = keys[index];
46
+ const val = spec.criteria[key];
47
+ if (index)
48
+ result += ' and ';
49
+ result += `${key} = ${typeof val === 'number' ? val : "'" + val + "'"}`;
50
+ }
51
+ return result;
52
+ }
53
+ static check(value, criteriaValue) {
54
+ if (value && Array.isArray(value)) {
55
+ return value.some((i) => i === criteriaValue);
56
+ }
57
+ return value === criteriaValue;
58
+ }
59
+ }
60
+ exports.SpecificationService = SpecificationService;
61
+ //# sourceMappingURL=specification.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specification.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/specification/specification.service.ts"],"names":[],"mappings":";;;AAIa,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,MAAa,oBAAoB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CACV,KAAQ,EACR,IAAuB,EACvB,MAA6B;QAE7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,GAAG,CAAC,OAAO,CAAC,8BAAsB,CAAC,KAAK,CAAC,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAE,CAAC;gBAC/D,IACE,CAAC,oBAAoB,CAAC,KAAK,CACzB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,8BAAsB,EAAE,EAAE,CAAC,CAAC,EACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnB;oBAED,OAAO,KAAK,CAAC;YACjB,CAAC;iBAAM,IACL,CAAC,oBAAoB,CAAC,KAAK,CAAE,KAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAEpE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,KAAQ,EACR,IAAuB,EACvB,MAA6B;QAE7B,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAuB;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,KAAK;gBAAE,MAAM,IAAI,OAAO,CAAC;YAE7B,MAAM,IAAI,GAAG,GAAG,MAAM,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QAC1E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,KAAU,EAAE,aAAkB;QACjD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,KAAK,KAAK,aAAa,CAAC;IACjC,CAAC;CACF;AA9ED,oDA8EC"}
@@ -0,0 +1,14 @@
1
+ export declare class ZipCodeService {
2
+ /***
3
+ * Check valid zip code format
4
+ * @param code {string} - zip code string
5
+ * @return return true when correct
6
+ */
7
+ static isValid(code: string): boolean;
8
+ /***
9
+ * Check invalid zip code format
10
+ * @param code {string} - zip code string
11
+ * @return return true when incorrect
12
+ */
13
+ static isInvalid(code: string): boolean;
14
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZipCodeService = void 0;
4
+ class ZipCodeService {
5
+ /***
6
+ * Check valid zip code format
7
+ * @param code {string} - zip code string
8
+ * @return return true when correct
9
+ */
10
+ static isValid(code) {
11
+ const re = new RegExp('^\\d\\d-\\d\\d\\d$');
12
+ return !!code.match(re);
13
+ }
14
+ /***
15
+ * Check invalid zip code format
16
+ * @param code {string} - zip code string
17
+ * @return return true when incorrect
18
+ */
19
+ static isInvalid(code) {
20
+ return !ZipCodeService.isValid(code);
21
+ }
22
+ }
23
+ exports.ZipCodeService = ZipCodeService;
24
+ //# sourceMappingURL=zip-code.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-code.service.js","sourceRoot":"","sources":["../../../../../../../../packages/shared/utils/src/lib/services/zip-code/zip-code.service.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IACzB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,wCAmBC"}
package/.eslintrc.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "extends": ["../../../.eslintrc.json"],
3
- "ignorePatterns": ["!**/*"],
4
- "rules": {},
5
- "overrides": [
6
- {
7
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
8
- "rules": {}
9
- },
10
- {
11
- "files": ["*.ts", "*.tsx"],
12
- "rules": {}
13
- },
14
- {
15
- "files": ["*.js", "*.jsx"],
16
- "rules": {}
17
- },
18
- {
19
- "files": "package.json",
20
- "parser": "jsonc-eslint-parser",
21
- "rules": {}
22
- }
23
- ]
24
- }
package/jest.config.ts DELETED
@@ -1,11 +0,0 @@
1
- /* eslint-disable */
2
- export default {
3
- displayName: 'utils',
4
- preset: '../../../jest.preset.js',
5
- testEnvironment: 'node',
6
- transform: {
7
- '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
8
- },
9
- moduleFileExtensions: ['ts', 'js', 'html'],
10
- coverageDirectory: '../../../coverage/packages/shared/utils',
11
- };
package/project.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "name": "utils",
3
- "$schema": "../../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/shared/utils/src",
5
- "projectType": "library",
6
- "tags": [],
7
- "targets": {
8
- "build": {
9
- "executor": "@nx/js:tsc",
10
- "outputs": ["{options.outputPath}"],
11
- "options": {
12
- "outputPath": "dist/packages/shared/utils",
13
- "main": "packages/shared/utils/src/index.ts",
14
- "tsConfig": "packages/shared/utils/tsconfig.lib.json",
15
- "assets": ["packages/shared/utils/*.md"]
16
- }
17
- },
18
- "lint": {
19
- "executor": "@nx/eslint:lint"
20
- },
21
- "test": {
22
- "executor": "@nx/jest:jest",
23
- "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
24
- "options": {
25
- "jestConfig": "packages/shared/utils/jest.config.ts"
26
- }
27
- },
28
- "deploy": {
29
- "executor": "ngx-deploy-npm:deploy",
30
- "options": {
31
- "access": "public",
32
- "distFolderPath": "dist/packages/shared/utils"
33
- },
34
- "dependsOn": ["build"]
35
- }
36
- }
37
- }