puvox-library 1.1.48 → 1.1.49
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/library_standard.d.ts +1 -1
- package/library_standard.d.ts.map +1 -1
- package/library_standard.js +31 -37
- package/package.json +1 -1
package/library_standard.d.ts
CHANGED
@@ -34,7 +34,7 @@ declare class PuvoxLibrary {
|
|
34
34
|
removeKeysExcept(obj: any, keysArr: any): {};
|
35
35
|
arrayDiff(source: any, comparedTo: any): any;
|
36
36
|
arrayIntersect(source: any, comparedTo: any): any;
|
37
|
-
|
37
|
+
object_diff_deep(old_obj: any, new_obj: any): any[];
|
38
38
|
sortKeys(x: any, out?: {}): {};
|
39
39
|
sortByValuesIntoArray(obj: any, ascending?: boolean): any;
|
40
40
|
stringArrayToNumeric(arr: any): number[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"library_standard.d.ts","sourceRoot":"","sources":["library_standard.js"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;EAeE;AAEF;IAGC,0BAEC;IAJD,eAAgB;IAQhB,uDAEC;IACD,4DAGC;IACD,4DAGC;IACD,6CAIC;IACD,8CAIC;
|
1
|
+
{"version":3,"file":"library_standard.d.ts","sourceRoot":"","sources":["library_standard.js"],"names":[],"mappings":"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"}
|
package/library_standard.js
CHANGED
@@ -93,59 +93,53 @@ class PuvoxLibrary {
|
|
93
93
|
arrayIntersect(source, comparedTo){
|
94
94
|
return source.filter(x => comparedTo.includes(x));
|
95
95
|
}
|
96
|
-
|
97
|
-
const
|
98
|
-
const
|
99
|
-
return typeof o === 'object';
|
100
|
-
};
|
101
|
-
const bothAreObjects = (o1,o2) =>{
|
102
|
-
return (typeObject(o1) && typeObject(o2));
|
103
|
-
};
|
104
|
-
const bothAreArrays = (o1,o2) =>{
|
105
|
-
return (this.isArray(o1) && this.isArray(o2));
|
106
|
-
};
|
107
|
-
const diff = function (o1, o2) {
|
96
|
+
object_diff_deep(old_obj, new_obj) {
|
97
|
+
const isObject = o => typeof o ==='object';
|
98
|
+
const diff = (o1, o2) => {
|
108
99
|
const result = {};
|
100
|
+
// if they are arrays
|
101
|
+
if (this.isArray(o1) && this.isArray(o2)){
|
102
|
+
return this.arrayDiff(o1,o2); // non recursive, todo fix
|
103
|
+
}
|
109
104
|
// if first is item is not object
|
110
|
-
if (!
|
105
|
+
else if (!isObject(o1) && isObject(o2)) {
|
111
106
|
return o2;
|
112
107
|
}
|
113
108
|
// if second is item is not object
|
114
|
-
else if (
|
109
|
+
else if (isObject(o1) && !isObject(o2)) {
|
115
110
|
return undefined;
|
116
111
|
}
|
117
112
|
// if they are equal
|
118
113
|
else if (Object.is(o1, o2)) {
|
119
114
|
return undefined;
|
120
|
-
}
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
115
|
+
}
|
116
|
+
// else both objects, but different
|
117
|
+
else {
|
118
|
+
for (const key in o2) {
|
119
|
+
// if both are objects
|
120
|
+
if ( isObject(o1[key]) && isObject(o2[key])) {
|
121
|
+
// if equal, return nothing
|
122
|
+
if ( Object.is(o1[key], o2[key]) ) {
|
123
|
+
// do nothing
|
124
|
+
} else if (o1[key] === o2[key]) {
|
125
|
+
// do nothing
|
126
|
+
} else {
|
127
|
+
result[key] = diff(o1[key],o2[key]);
|
128
|
+
}
|
129
|
+
} else if (this.isArray(o1[key]) && this.isArray(o2[key])) {
|
134
130
|
result[key] = diff(o1[key],o2[key]);
|
131
|
+
} else if (o1[key] !== o2[key]) {
|
132
|
+
result[key] = o2[key];
|
133
|
+
} else {
|
134
|
+
// do nothing
|
135
135
|
}
|
136
|
-
} else if (bothAreArrays(o1[key],o2[key])) {
|
137
|
-
result[key] = diff(o1[key],o2[key]);
|
138
|
-
} else if (o1[key] !== o2[key]) {
|
139
|
-
result[key] = o2[key];
|
140
|
-
} else {
|
141
|
-
// do nothing
|
142
136
|
}
|
137
|
+
return result;
|
143
138
|
}
|
144
|
-
return result;
|
145
139
|
};
|
146
140
|
return [
|
147
|
-
diff(
|
148
|
-
diff(
|
141
|
+
diff(old_obj, new_obj),
|
142
|
+
diff(new_obj, old_obj),
|
149
143
|
];
|
150
144
|
}
|
151
145
|
|