@hpcc-js/util 2.47.0 → 2.49.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.
@@ -1,4 +1,4 @@
1
1
  export var PKG_NAME = "@hpcc-js/util";
2
- export var PKG_VERSION = "2.47.0";
3
- export var BUILD_VERSION = "2.103.0";
2
+ export var PKG_VERSION = "2.49.0";
3
+ export var BUILD_VERSION = "2.104.2";
4
4
  //# sourceMappingURL=__package__.js.map
@@ -1,55 +1,148 @@
1
1
  var isArray = Array.isArray;
2
2
  var keyList = Object.keys;
3
3
  var hasProp = Object.prototype.hasOwnProperty;
4
- export function deepEquals(a, b) {
4
+ export function verboseDeepEquals(a, b, functionRefCompare) {
5
+ if (functionRefCompare === void 0) { functionRefCompare = false; }
5
6
  if (a === b)
6
7
  return true;
7
- if (a && b && typeof a === "object" && typeof b === "object") {
8
- var arrA = isArray(a);
9
- var arrB = isArray(b);
10
- var i = void 0;
11
- var length_1;
12
- var key = void 0;
13
- if (arrA && arrB) {
14
- length_1 = a.length;
15
- if (length_1 !== b.length)
8
+ if (a && b) {
9
+ if (typeof a === "object" && typeof b === "object") {
10
+ var arrA = isArray(a);
11
+ var arrB = isArray(b);
12
+ var i = void 0;
13
+ var length_1;
14
+ var key = void 0;
15
+ if (arrA && arrB) {
16
+ length_1 = a.length;
17
+ if (length_1 !== b.length) {
18
+ console.warn("lengths not equal: ".concat(length_1, " !== ").concat(b.length));
19
+ return false;
20
+ }
21
+ for (i = length_1; i-- !== 0;)
22
+ if (!verboseDeepEquals(a[i], b[i], functionRefCompare)) {
23
+ return false;
24
+ }
25
+ return true;
26
+ }
27
+ if (arrA !== arrB) {
28
+ console.warn("arrays not equal: ".concat(arrA, " !== ").concat(arrB));
29
+ return false;
30
+ }
31
+ var dateA = a instanceof Date;
32
+ var dateB = b instanceof Date;
33
+ if (dateA !== dateB) {
34
+ console.warn("dates not equal: ".concat(dateA, " !== ").concat(dateB));
35
+ return false;
36
+ }
37
+ if (dateA && dateB) {
38
+ var retVal_1 = a.getTime() === b.getTime();
39
+ if (!retVal_1) {
40
+ console.warn("dates not equal: ".concat(a.getTime(), " !== ").concat(b.getTime()));
41
+ }
42
+ return retVal_1;
43
+ }
44
+ var regexpA = a instanceof RegExp;
45
+ var regexpB = b instanceof RegExp;
46
+ if (regexpA !== regexpB) {
47
+ console.warn("regexps not equal: ".concat(regexpA, " !== ").concat(regexpB));
16
48
  return false;
49
+ }
50
+ if (regexpA && regexpB) {
51
+ var retVal_2 = a.toString() === b.toString();
52
+ if (!retVal_2) {
53
+ console.warn("regexps not equal: ".concat(a.toString(), " !== ").concat(b.toString()));
54
+ }
55
+ return retVal_2;
56
+ }
57
+ var keys = keyList(a);
58
+ length_1 = keys.length;
59
+ if (length_1 !== keyList(b).length) {
60
+ console.warn("key lengths not equal: ".concat(length_1, " !== ").concat(keyList(b).length));
61
+ return false;
62
+ }
17
63
  for (i = length_1; i-- !== 0;)
18
- if (!deepEquals(a[i], b[i]))
64
+ if (!hasProp.call(b, keys[i])) {
65
+ console.warn("".concat(keys[i], " in a but not b"));
66
+ return false;
67
+ }
68
+ for (i = length_1; i-- !== 0;) {
69
+ key = keys[i];
70
+ if (!verboseDeepEquals(a[key], b[key], functionRefCompare)) {
19
71
  return false;
72
+ }
73
+ }
20
74
  return true;
21
75
  }
22
- if (arrA !== arrB)
23
- return false;
24
- var dateA = a instanceof Date;
25
- var dateB = b instanceof Date;
26
- if (dateA !== dateB)
27
- return false;
28
- if (dateA && dateB)
29
- return a.getTime() === b.getTime();
30
- var regexpA = a instanceof RegExp;
31
- var regexpB = b instanceof RegExp;
32
- if (regexpA !== regexpB)
33
- return false;
34
- if (regexpA && regexpB)
35
- return a.toString() === b.toString();
36
- var keys = keyList(a);
37
- length_1 = keys.length;
38
- if (length_1 !== keyList(b).length)
39
- return false;
40
- for (i = length_1; i-- !== 0;)
41
- if (!hasProp.call(b, keys[i]))
76
+ else if (!functionRefCompare && typeof a === "function" && typeof b === "function") {
77
+ var retVal_3 = a.toString() === b.toString();
78
+ if (!retVal_3) {
79
+ console.warn("functions not equal: ".concat(a.toString(), " !== ").concat(b.toString()));
80
+ }
81
+ return retVal_3;
82
+ }
83
+ }
84
+ var retVal = a !== a && b !== b;
85
+ if (!retVal) {
86
+ console.warn("values not equal: ".concat(a, " !== ").concat(b));
87
+ }
88
+ return retVal;
89
+ }
90
+ export function deepEquals(a, b, functionRefCompare) {
91
+ if (functionRefCompare === void 0) { functionRefCompare = false; }
92
+ if (a === b)
93
+ return true;
94
+ if (a && b) {
95
+ if (typeof a === "object" && typeof b === "object") {
96
+ var arrA = isArray(a);
97
+ var arrB = isArray(b);
98
+ var i = void 0;
99
+ var length_2;
100
+ var key = void 0;
101
+ if (arrA && arrB) {
102
+ length_2 = a.length;
103
+ if (length_2 !== b.length)
104
+ return false;
105
+ for (i = length_2; i-- !== 0;)
106
+ if (!deepEquals(a[i], b[i], functionRefCompare))
107
+ return false;
108
+ return true;
109
+ }
110
+ if (arrA !== arrB)
111
+ return false;
112
+ var dateA = a instanceof Date;
113
+ var dateB = b instanceof Date;
114
+ if (dateA !== dateB)
42
115
  return false;
43
- for (i = length_1; i-- !== 0;) {
44
- key = keys[i];
45
- if (!deepEquals(a[key], b[key]))
116
+ if (dateA && dateB)
117
+ return a.getTime() === b.getTime();
118
+ var regexpA = a instanceof RegExp;
119
+ var regexpB = b instanceof RegExp;
120
+ if (regexpA !== regexpB)
46
121
  return false;
122
+ if (regexpA && regexpB)
123
+ return a.toString() === b.toString();
124
+ var keys = keyList(a);
125
+ length_2 = keys.length;
126
+ if (length_2 !== keyList(b).length)
127
+ return false;
128
+ for (i = length_2; i-- !== 0;)
129
+ if (!hasProp.call(b, keys[i]))
130
+ return false;
131
+ for (i = length_2; i-- !== 0;) {
132
+ key = keys[i];
133
+ if (!deepEquals(a[key], b[key], functionRefCompare))
134
+ return false;
135
+ }
136
+ return true;
137
+ }
138
+ else if (!functionRefCompare && typeof a === "function" && typeof b === "function") {
139
+ return a.toString() === b.toString();
47
140
  }
48
- return true;
49
141
  }
50
142
  return a !== a && b !== b;
51
143
  }
52
- export function update(origItem, newItem) {
53
- return deepEquals(origItem, newItem) ? origItem : newItem;
144
+ export function update(origItem, newItem, functionRefCompare) {
145
+ if (functionRefCompare === void 0) { functionRefCompare = false; }
146
+ return deepEquals(origItem, newItem, functionRefCompare) ? origItem : newItem;
54
147
  }
55
148
  //# sourceMappingURL=immutable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"immutable.js","sourceRoot":"","sources":["../src/immutable.ts"],"names":[],"mappings":"AAAA,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9B,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,IAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAEhD,MAAM,UAAU,UAAU,CAAC,CAAM,EAAE,CAAM;IACrC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAC1D,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,SAAA,CAAC;QACN,IAAI,QAAM,CAAC;QACX,IAAI,GAAG,SAAA,CAAC;QAER,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,QAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,QAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACtC,KAAK,CAAC,GAAG,QAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC9C,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAM,KAAK,GAAG,CAAC,YAAY,IAAI,CAAC;QAChC,IAAM,KAAK,GAAG,CAAC,YAAY,IAAI,CAAC;QAChC,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK;YAAE,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAEvD,IAAM,OAAO,GAAG,CAAC,YAAY,MAAM,CAAC;QACpC,IAAM,OAAO,GAAG,CAAC,YAAY,MAAM,CAAC;QACpC,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,OAAO,IAAI,OAAO;YAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7D,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,QAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAErB,IAAI,QAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;YAC5B,OAAO,KAAK,CAAC;QAEjB,KAAK,CAAC,GAAG,QAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAEhD,KAAK,CAAC,GAAG,QAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;YACzB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;SACjD;QAED,OAAO,IAAI,CAAC;KACf;IAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,QAAW,EAAE,OAAU;IAC7C,OAAO,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"immutable.js","sourceRoot":"","sources":["../src/immutable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/util",
3
- "version": "2.47.0",
3
+ "version": "2.49.0",
4
4
  "description": "hpcc-js - Utilities",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib-es6/index",
@@ -36,13 +36,13 @@
36
36
  "stamp": "node ../../node_modules/@hpcc-js/bundle/src/stamp.js",
37
37
  "lint": "eslint ./src",
38
38
  "docs": "typedoc --options tdoptions.json .",
39
- "update": "npx npm-check-updates -u -t minor"
39
+ "update": "npx --yes npm-check-updates -u -t minor"
40
40
  },
41
41
  "dependencies": {
42
- "tslib": "2.3.1"
42
+ "tslib": "2.4.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@hpcc-js/bundle": "^2.11.1",
45
+ "@hpcc-js/bundle": "^2.11.2",
46
46
  "rimraf": "2.7.1"
47
47
  },
48
48
  "repository": {
@@ -56,5 +56,5 @@
56
56
  "url": "https://github.com/hpcc-systems/Visualization/issues"
57
57
  },
58
58
  "homepage": "https://github.com/hpcc-systems/Visualization",
59
- "gitHead": "33aa52bc641400d8fb3bfa51dcd4c94a9599fc90"
59
+ "gitHead": "e2724f0154c334e8d4cb5a29533b70131ab58938"
60
60
  }
@@ -1,3 +1,3 @@
1
1
  export const PKG_NAME = "@hpcc-js/util";
2
- export const PKG_VERSION = "2.47.0";
3
- export const BUILD_VERSION = "2.103.0";
2
+ export const PKG_VERSION = "2.49.0";
3
+ export const BUILD_VERSION = "2.104.2";
package/src/immutable.ts CHANGED
@@ -2,56 +2,155 @@ const isArray = Array.isArray;
2
2
  const keyList = Object.keys;
3
3
  const hasProp = Object.prototype.hasOwnProperty;
4
4
 
5
- export function deepEquals(a: any, b: any) {
5
+ export function verboseDeepEquals(a: any, b: any, functionRefCompare: boolean = false) {
6
6
  if (a === b) return true;
7
7
 
8
- if (a && b && typeof a === "object" && typeof b === "object") {
9
- const arrA = isArray(a);
10
- const arrB = isArray(b);
11
- let i;
12
- let length;
13
- let key;
8
+ if (a && b) {
9
+ if (typeof a === "object" && typeof b === "object") {
10
+ const arrA = isArray(a);
11
+ const arrB = isArray(b);
12
+ let i;
13
+ let length;
14
+ let key;
15
+
16
+ if (arrA && arrB) {
17
+ length = a.length;
18
+ if (length !== b.length) {
19
+ console.warn(`lengths not equal: ${length} !== ${b.length}`);
20
+ return false;
21
+ }
22
+ for (i = length; i-- !== 0;)
23
+ if (!verboseDeepEquals(a[i], b[i], functionRefCompare)) {
24
+ return false;
25
+ }
26
+ return true;
27
+ }
28
+
29
+ if (arrA !== arrB) {
30
+ console.warn(`arrays not equal: ${arrA} !== ${arrB}`);
31
+ return false;
32
+ }
33
+
34
+ const dateA = a instanceof Date;
35
+ const dateB = b instanceof Date;
36
+ if (dateA !== dateB) {
37
+ console.warn(`dates not equal: ${dateA} !== ${dateB}`);
38
+ return false;
39
+ }
40
+ if (dateA && dateB) {
41
+ const retVal = a.getTime() === b.getTime();
42
+ if (!retVal) {
43
+ console.warn(`dates not equal: ${a.getTime()} !== ${b.getTime()}`);
44
+ }
45
+ return retVal;
46
+ }
47
+
48
+ const regexpA = a instanceof RegExp;
49
+ const regexpB = b instanceof RegExp;
50
+ if (regexpA !== regexpB) {
51
+ console.warn(`regexps not equal: ${regexpA} !== ${regexpB}`);
52
+ return false;
53
+ }
54
+ if (regexpA && regexpB) {
55
+ const retVal = a.toString() === b.toString();
56
+ if (!retVal) {
57
+ console.warn(`regexps not equal: ${a.toString()} !== ${b.toString()}`);
58
+ }
59
+ return retVal;
60
+ }
61
+
62
+ const keys = keyList(a);
63
+ length = keys.length;
64
+
65
+ if (length !== keyList(b).length) {
66
+ console.warn(`key lengths not equal: ${length} !== ${keyList(b).length}`);
67
+ return false;
68
+ }
14
69
 
15
- if (arrA && arrB) {
16
- length = a.length;
17
- if (length !== b.length) return false;
18
70
  for (i = length; i-- !== 0;)
19
- if (!deepEquals(a[i], b[i])) return false;
71
+ if (!hasProp.call(b, keys[i])) {
72
+ console.warn(`${keys[i]} in a but not b`);
73
+ return false;
74
+ }
75
+
76
+ for (i = length; i-- !== 0;) {
77
+ key = keys[i];
78
+ if (!verboseDeepEquals(a[key], b[key], functionRefCompare)) {
79
+ return false;
80
+ }
81
+ }
82
+
20
83
  return true;
84
+ } else if (!functionRefCompare && typeof a === "function" && typeof b === "function") {
85
+ const retVal = a.toString() === b.toString();
86
+ if (!retVal) {
87
+ console.warn(`functions not equal: ${a.toString()} !== ${b.toString()}`);
88
+ }
89
+ return retVal;
21
90
  }
91
+ }
92
+
93
+ const retVal = a !== a && b !== b;
94
+ if (!retVal) {
95
+ console.warn(`values not equal: ${a} !== ${b}`);
96
+ }
97
+ return retVal;
98
+ }
22
99
 
23
- if (arrA !== arrB) return false;
100
+ export function deepEquals(a: any, b: any, functionRefCompare: boolean = false) {
101
+ if (a === b) return true;
24
102
 
25
- const dateA = a instanceof Date;
26
- const dateB = b instanceof Date;
27
- if (dateA !== dateB) return false;
28
- if (dateA && dateB) return a.getTime() === b.getTime();
103
+ if (a && b) {
104
+ if (typeof a === "object" && typeof b === "object") {
105
+ const arrA = isArray(a);
106
+ const arrB = isArray(b);
107
+ let i;
108
+ let length;
109
+ let key;
29
110
 
30
- const regexpA = a instanceof RegExp;
31
- const regexpB = b instanceof RegExp;
32
- if (regexpA !== regexpB) return false;
33
- if (regexpA && regexpB) return a.toString() === b.toString();
111
+ if (arrA && arrB) {
112
+ length = a.length;
113
+ if (length !== b.length) return false;
114
+ for (i = length; i-- !== 0;)
115
+ if (!deepEquals(a[i], b[i], functionRefCompare)) return false;
116
+ return true;
117
+ }
34
118
 
35
- const keys = keyList(a);
36
- length = keys.length;
119
+ if (arrA !== arrB) return false;
37
120
 
38
- if (length !== keyList(b).length)
39
- return false;
121
+ const dateA = a instanceof Date;
122
+ const dateB = b instanceof Date;
123
+ if (dateA !== dateB) return false;
124
+ if (dateA && dateB) return a.getTime() === b.getTime();
40
125
 
41
- for (i = length; i-- !== 0;)
42
- if (!hasProp.call(b, keys[i])) return false;
126
+ const regexpA = a instanceof RegExp;
127
+ const regexpB = b instanceof RegExp;
128
+ if (regexpA !== regexpB) return false;
129
+ if (regexpA && regexpB) return a.toString() === b.toString();
43
130
 
44
- for (i = length; i-- !== 0;) {
45
- key = keys[i];
46
- if (!deepEquals(a[key], b[key])) return false;
47
- }
131
+ const keys = keyList(a);
132
+ length = keys.length;
133
+
134
+ if (length !== keyList(b).length)
135
+ return false;
48
136
 
49
- return true;
137
+ for (i = length; i-- !== 0;)
138
+ if (!hasProp.call(b, keys[i])) return false;
139
+
140
+ for (i = length; i-- !== 0;) {
141
+ key = keys[i];
142
+ if (!deepEquals(a[key], b[key], functionRefCompare)) return false;
143
+ }
144
+
145
+ return true;
146
+ } else if (!functionRefCompare && typeof a === "function" && typeof b === "function") {
147
+ return a.toString() === b.toString();
148
+ }
50
149
  }
51
150
 
52
151
  return a !== a && b !== b;
53
152
  }
54
153
 
55
- export function update<T>(origItem: T, newItem: T): T {
56
- return deepEquals(origItem, newItem) ? origItem : newItem;
154
+ export function update<T>(origItem: T, newItem: T, functionRefCompare: boolean = false): T {
155
+ return deepEquals(origItem, newItem, functionRefCompare) ? origItem : newItem;
57
156
  }
@@ -1,4 +1,4 @@
1
1
  export declare const PKG_NAME = "@hpcc-js/util";
2
- export declare const PKG_VERSION = "2.47.0";
3
- export declare const BUILD_VERSION = "2.103.0";
2
+ export declare const PKG_VERSION = "2.49.0";
3
+ export declare const BUILD_VERSION = "2.104.2";
4
4
  //# sourceMappingURL=__package__.d.ts.map
@@ -1,3 +1,4 @@
1
- export declare function deepEquals(a: any, b: any): boolean;
2
- export declare function update<T>(origItem: T, newItem: T): T;
1
+ export declare function verboseDeepEquals(a: any, b: any, functionRefCompare?: boolean): boolean;
2
+ export declare function deepEquals(a: any, b: any, functionRefCompare?: boolean): boolean;
3
+ export declare function update<T>(origItem: T, newItem: T, functionRefCompare?: boolean): T;
3
4
  //# sourceMappingURL=immutable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../src/immutable.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAgDxC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAEpD"}
1
+ {"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../src/immutable.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,kBAAkB,GAAE,OAAe,WA6FpF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,kBAAkB,GAAE,OAAe,WAoD7E;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,GAAE,OAAe,GAAG,CAAC,CAEzF"}
@@ -1,4 +1,4 @@
1
1
  export declare const PKG_NAME = "@hpcc-js/util";
2
- export declare const PKG_VERSION = "2.47.0";
3
- export declare const BUILD_VERSION = "2.103.0";
2
+ export declare const PKG_VERSION = "2.49.0";
3
+ export declare const BUILD_VERSION = "2.104.2";
4
4
  //# sourceMappingURL=__package__.d.ts.map
@@ -1,3 +1,4 @@
1
- export declare function deepEquals(a: any, b: any): boolean;
2
- export declare function update<T>(origItem: T, newItem: T): T;
1
+ export declare function verboseDeepEquals(a: any, b: any, functionRefCompare?: boolean): boolean;
2
+ export declare function deepEquals(a: any, b: any, functionRefCompare?: boolean): boolean;
3
+ export declare function update<T>(origItem: T, newItem: T, functionRefCompare?: boolean): T;
3
4
  //# sourceMappingURL=immutable.d.ts.map