@alarido/ts-utils 1.0.0 → 1.0.2
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/functions/compares.d.ts.map +1 -1
- package/dist/functions/compares.js +25 -1
- package/dist/functions/compares.js.map +1 -1
- package/dist/functions/dates.d.ts +8 -0
- package/dist/functions/dates.d.ts.map +1 -1
- package/dist/functions/dates.js +14 -0
- package/dist/functions/dates.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/test/function.compares.test.d.ts +2 -0
- package/dist/test/function.compares.test.d.ts.map +1 -0
- package/dist/test/function.compares.test.js +58 -0
- package/dist/test/function.compares.test.js.map +1 -0
- package/jest.config.js +11 -0
- package/package.json +5 -2
- package/see.cmd +1 -0
- package/tsconfig.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compares.d.ts","sourceRoot":"","sources":["../../src/functions/compares.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;CACjB;AAED;;GAEG;AACH,cAAM,YAAY;;IAGd;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,GAAE,OAAe,GAAG,kBAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"compares.d.ts","sourceRoot":"","sources":["../../src/functions/compares.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;CACjB;AAED;;GAEG;AACH,cAAM,YAAY;;IAGd;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,GAAE,OAAe,GAAG,kBAAkB,EAAE;IA6D1F;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO;IAQxC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,OAAO;CAK1C;AAED,eAAO,MAAM,QAAQ,cAAqB,CAAC"}
|
|
@@ -22,6 +22,7 @@ class CompareUtils {
|
|
|
22
22
|
const keys_a = Object.keys(sa);
|
|
23
23
|
const keys_b = Object.keys(sb);
|
|
24
24
|
const is_object = (obj) => obj != null && typeof obj === 'object';
|
|
25
|
+
const regx = /\.(0[Xx][0-9A-Fa-f]+|\d+)/g;
|
|
25
26
|
let result = [];
|
|
26
27
|
if (keys_a.length !== keys_b.length) {
|
|
27
28
|
return [{
|
|
@@ -34,6 +35,7 @@ class CompareUtils {
|
|
|
34
35
|
const val_a = sa[key];
|
|
35
36
|
const val_b = sb[key];
|
|
36
37
|
let inequal = false;
|
|
38
|
+
let sublist = [];
|
|
37
39
|
//
|
|
38
40
|
if (val_a instanceof Date && val_b instanceof Date) {
|
|
39
41
|
inequal = !this.areSameDate(val_a, val_b);
|
|
@@ -47,11 +49,33 @@ class CompareUtils {
|
|
|
47
49
|
inequal = !this.areSameDate(date_a, val_b);
|
|
48
50
|
}
|
|
49
51
|
else if (is_object(val_a) && is_object(val_b)) {
|
|
50
|
-
|
|
52
|
+
sublist = this.getDivergentValues(val_a, val_b);
|
|
53
|
+
inequal = sublist.length > 0;
|
|
51
54
|
}
|
|
52
55
|
else {
|
|
53
56
|
inequal = !(strictCompare ? (val_a === val_b) : (val_a == val_b));
|
|
54
57
|
}
|
|
58
|
+
//
|
|
59
|
+
if (inequal) {
|
|
60
|
+
if (sublist.length > 0) {
|
|
61
|
+
for (const sub of sublist) {
|
|
62
|
+
const subn = key + "." + sub.name;
|
|
63
|
+
let subname = regx.test(subn) ? subn.replace(regx, "[$1]") : subn;
|
|
64
|
+
result.push({
|
|
65
|
+
name: (subname),
|
|
66
|
+
value: (sub.oldValue),
|
|
67
|
+
oldValue: (sub.value)
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
result.push({
|
|
73
|
+
name: (key),
|
|
74
|
+
value: (val_a),
|
|
75
|
+
oldValue: (val_b)
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
55
79
|
}
|
|
56
80
|
return result;
|
|
57
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compares.js","sourceRoot":"","sources":["../../src/functions/compares.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAS/B,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY;IACd,gBAAe,CAAC;IAEhB;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAO,EAAE,EAAO,EAAE,gBAAyB,KAAK;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC;QACvE,IAAI,MAAM,GAAyB,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC;oBACJ,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,CAAC,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC,CAAC;QACP,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,EAAE;YACF,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACjD,OAAO,GAAG,CAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,aAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,aAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"compares.js","sourceRoot":"","sources":["../../src/functions/compares.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,14 @@ declare class DateUtils {
|
|
|
11
11
|
* @returns Date
|
|
12
12
|
*/
|
|
13
13
|
parse(value: string, format?: string): Date;
|
|
14
|
+
/**
|
|
15
|
+
* Parse an array of string date values according the format.
|
|
16
|
+
*
|
|
17
|
+
* @param values: string[]
|
|
18
|
+
* @param format: string
|
|
19
|
+
* @returns any[]
|
|
20
|
+
*/
|
|
21
|
+
parses(values: string[], format?: string): any[];
|
|
14
22
|
}
|
|
15
23
|
export declare const dates: DateUtils;
|
|
16
24
|
export declare const now: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/functions/dates.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,cAAM,SAAS;;IAGX;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAqB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/functions/dates.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,cAAM,SAAS;;IAGX;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAqB,GAAG,IAAI;IAwBzD;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAqB,GAAG,GAAG,EAAE;CASjE;AAGD,eAAO,MAAM,KAAK,WAAkB,CAAC;AACrC,eAAO,MAAM,GAAG,MAAQ,CAAC"}
|
package/dist/functions/dates.js
CHANGED
|
@@ -38,6 +38,20 @@ class DateUtils {
|
|
|
38
38
|
const second = (secondsIndex >= 0) ? dateItems[secondsIndex] : 0;
|
|
39
39
|
return new Date(year, month - 1, day, hour, minute, second);
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Parse an array of string date values according the format.
|
|
43
|
+
*
|
|
44
|
+
* @param values: string[]
|
|
45
|
+
* @param format: string
|
|
46
|
+
* @returns any[]
|
|
47
|
+
*/
|
|
48
|
+
parses(values, format = "yyyy-mm-dd") {
|
|
49
|
+
let result = [];
|
|
50
|
+
for (const value of values) {
|
|
51
|
+
result.push(this.parse(value, format));
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
41
55
|
}
|
|
42
56
|
exports.dates = new DateUtils();
|
|
43
57
|
exports.now = NOW();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/functions/dates.ts"],"names":[],"mappings":";;;AACA;;;;GAIG;AACH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,SAAS;IACX,gBAAe,CAAC;IAEhB;;;;;;OAMG;IACH,KAAK,CAAC,KAAa,EAAE,SAAiB,YAAY;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAQ,CAAC,SAAS,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAQ,CAAC,UAAU,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAQ,CAAC,QAAQ,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAQ,CAAC,SAAS,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAQ,CAAC,YAAY,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAQ,CAAC,YAAY,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAC,KAAK,GAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IACzD,CAAC;CACJ;AAGY,QAAA,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;AACxB,QAAA,GAAG,GAAG,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/functions/dates.ts"],"names":[],"mappings":";;;AACA;;;;GAIG;AACH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,SAAS;IACX,gBAAe,CAAC;IAEhB;;;;;;OAMG;IACH,KAAK,CAAC,KAAa,EAAE,SAAiB,YAAY;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAQ,CAAC,SAAS,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAQ,CAAC,UAAU,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAQ,CAAC,QAAQ,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAQ,CAAC,SAAS,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAQ,CAAC,YAAY,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAQ,CAAC,YAAY,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAC,KAAK,GAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAgB,EAAE,SAAiB,YAAY;QAClD,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAGY,QAAA,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;AACxB,QAAA,GAAG,GAAG,GAAG,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as Compares from "./functions/compares";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const dates: {
|
|
6
6
|
parse(value: string, format?: string): Date;
|
|
7
|
+
parses(values: string[], format?: string): any[];
|
|
7
8
|
};
|
|
8
9
|
export declare const compares: {
|
|
9
10
|
getDivergentValues(sa: any, sb: any, strictCompare?: boolean): Compares.DivergentValueInfo[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AAEH,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AAEH,eAAO,MAAM,KAAK;;;CAAc,CAAC;AACjC,eAAO,MAAM,QAAQ;;;;CAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function.compares.test.d.ts","sourceRoot":"","sources":["../../src/test/function.compares.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const compares_1 = require("../functions/compares");
|
|
4
|
+
describe('testing compares.getDivergentValues', () => {
|
|
5
|
+
test('getDivergentValues("", "") should return empty list', () => {
|
|
6
|
+
const result = compares_1.compares.getDivergentValues("", "");
|
|
7
|
+
expect(result.length).toBe(0);
|
|
8
|
+
});
|
|
9
|
+
test('getDivergentValues(0, 0) should return empty list', () => {
|
|
10
|
+
const result = compares_1.compares.getDivergentValues(0, 0);
|
|
11
|
+
expect(result.length).toBe(0);
|
|
12
|
+
});
|
|
13
|
+
test('getDivergentValues({}, {}) should return empty list', () => {
|
|
14
|
+
const result = compares_1.compares.getDivergentValues({}, {});
|
|
15
|
+
expect(result.length).toBe(0);
|
|
16
|
+
});
|
|
17
|
+
test('getDivergentValues(A, B) should return empty list when objects A and B are A == B even A !== B', () => {
|
|
18
|
+
const A = {
|
|
19
|
+
foo: "bar",
|
|
20
|
+
primes: [2, 3, 5, 7, 11, 13, 17, 19],
|
|
21
|
+
person: {
|
|
22
|
+
name: "John Dee",
|
|
23
|
+
age: 97
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const B = {
|
|
27
|
+
foo: "bar",
|
|
28
|
+
primes: [2, 3, 5, 7, 11, 13, 17, 19],
|
|
29
|
+
person: {
|
|
30
|
+
name: "John Dee",
|
|
31
|
+
age: 97
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const result = compares_1.compares.getDivergentValues(A, B);
|
|
35
|
+
expect(result.length).toBe(0);
|
|
36
|
+
});
|
|
37
|
+
test('getDivergentValues(A, B).length should return 2 when objects A and B have two divergent values', () => {
|
|
38
|
+
const A = {
|
|
39
|
+
foo: "bar",
|
|
40
|
+
primes: [2, 3, 5, 7, 11, 13, 17, 19],
|
|
41
|
+
person: {
|
|
42
|
+
name: "John Dee",
|
|
43
|
+
age: 97
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const B = {
|
|
47
|
+
foo: "bar",
|
|
48
|
+
primes: [2, 4, 5, 7, 11, 13, 17, 19],
|
|
49
|
+
person: {
|
|
50
|
+
name: "John Dee",
|
|
51
|
+
age: 79
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const result = compares_1.compares.getDivergentValues(A, B);
|
|
55
|
+
expect(result.length).toBe(2);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=function.compares.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function.compares.test.js","sourceRoot":"","sources":["../../src/test/function.compares.test.ts"],"names":[],"mappings":";;AAAA,oDAAiD;AAEjD,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACjD,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gGAAgG,EAAE,GAAG,EAAE;QACxG,MAAM,CAAC,GAAG;YACN,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7B,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,EAAE;aACV;SACJ,CAAC;QACF,MAAM,CAAC,GAAG;YACN,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7B,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,EAAE;aACV;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gGAAgG,EAAE,GAAG,EAAE;QACxG,MAAM,CAAC,GAAG;YACN,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7B,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,EAAE;aACV;SACJ,CAAC;QACF,MAAM,CAAC,GAAG;YACN,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YAC7B,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,EAAE;aACV;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alarido/ts-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"scripts": {
|
|
11
|
-
"test": "
|
|
11
|
+
"test": "npx jest",
|
|
12
12
|
"build": "tsc",
|
|
13
13
|
"prepublish": "npm run build"
|
|
14
14
|
},
|
|
@@ -24,7 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/collei/ts-utils#readme",
|
|
26
26
|
"devDependencies": {
|
|
27
|
+
"@types/jest": "^30.0.0",
|
|
27
28
|
"@types/node": "^25.0.3",
|
|
29
|
+
"jest": "^30.2.0",
|
|
30
|
+
"ts-jest": "^29.4.6",
|
|
28
31
|
"typescript": "^5.9.3"
|
|
29
32
|
}
|
|
30
33
|
}
|
package/see.cmd
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cmd
|
package/tsconfig.json
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// File Layout
|
|
5
5
|
"rootDir": "./src",
|
|
6
6
|
"outDir": "./dist",
|
|
7
|
-
|
|
8
7
|
// Environment Settings
|
|
9
8
|
// See also https://aka.ms/tsconfig/module
|
|
10
9
|
"module": "nodenext",
|
|
@@ -12,7 +11,7 @@
|
|
|
12
11
|
//"types": [],
|
|
13
12
|
// For nodejs:
|
|
14
13
|
"lib": ["esnext"],
|
|
15
|
-
"types": ["node"],
|
|
14
|
+
"types": ["node","jest"],
|
|
16
15
|
// and npm install -D @types/node
|
|
17
16
|
|
|
18
17
|
// Other Outputs
|