ngx-deep-equals-pure 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/README.md +321 -320
- package/esm2022/lib/ngx-deep-equals-pure.module.mjs +18 -18
- package/esm2022/lib/ngx-deep-equals-pure.service.mjs +177 -177
- package/esm2022/ngx-deep-equals-pure.mjs +4 -4
- package/esm2022/public-api.mjs +6 -6
- package/fesm2022/ngx-deep-equals-pure.mjs +179 -203
- package/fesm2022/ngx-deep-equals-pure.mjs.map +7 -1
- package/index.d.ts +5 -5
- package/lib/ngx-deep-equals-pure.module.d.ts +6 -6
- package/lib/ngx-deep-equals-pure.service.d.ts +4 -4
- package/package.json +3 -3
- package/public-api.d.ts +2 -2
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { NgxDeepEqualsPureService } from './ngx-deep-equals-pure.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgxDeepEqualsPureModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
declarations: [],
|
|
13
|
-
imports: [],
|
|
14
|
-
exports: [],
|
|
15
|
-
providers: [NgxDeepEqualsPureService]
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { NgxDeepEqualsPureService } from './ngx-deep-equals-pure.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgxDeepEqualsPureModule {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: NgxDeepEqualsPureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.1", ngImport: i0, type: NgxDeepEqualsPureModule }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: NgxDeepEqualsPureModule, providers: [NgxDeepEqualsPureService] }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: NgxDeepEqualsPureModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [],
|
|
13
|
+
imports: [],
|
|
14
|
+
exports: [],
|
|
15
|
+
providers: [NgxDeepEqualsPureService]
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRlZXAtZXF1YWxzLXB1cmUvc3JjL2xpYi9uZ3gtZGVlcC1lcXVhbHMtcHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHVCQUF1QjtxSEFBdkIsdUJBQXVCO3NIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixhQUZ2QixDQUFDLHdCQUF3QixDQUFDOztrR0FFMUIsdUJBQXVCO2tCQU5uQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hEZWVwRXF1YWxzUHVyZVNlcnZpY2UgfSBmcm9tICcuL25neC1kZWVwLWVxdWFscy1wdXJlLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW05neERlZXBFcXVhbHNQdXJlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,177 +1,177 @@
|
|
|
1
|
-
export class NgxDeepEqualsPureService {
|
|
2
|
-
constructor() { }
|
|
3
|
-
deepEquals(firstObject, secondObject) {
|
|
4
|
-
if (firstObject === null && secondObject !== null) {
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
else if (secondObject === null && firstObject !== null) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
else if (Array.isArray(firstObject) === true) {
|
|
11
|
-
if (Array.isArray(secondObject) === false) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
else if (firstObject.length !== secondObject.length) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
const firstArrays = new Set();
|
|
19
|
-
const firstObjects = new Set();
|
|
20
|
-
const firstValues = new Set();
|
|
21
|
-
const firstFunctions = new Set();
|
|
22
|
-
for (const value of firstObject) {
|
|
23
|
-
if (Array.isArray(value) === true) {
|
|
24
|
-
firstArrays.add(value);
|
|
25
|
-
}
|
|
26
|
-
else if (typeof value === 'object') {
|
|
27
|
-
firstObjects.add(value);
|
|
28
|
-
}
|
|
29
|
-
else if (typeof value === 'function') {
|
|
30
|
-
firstFunctions.add(JSON.stringify('' + value));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
firstValues.add(value);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const secondArrays = new Set();
|
|
37
|
-
const secondObjects = new Set();
|
|
38
|
-
const secondValues = new Set();
|
|
39
|
-
const secondFunctions = new Set();
|
|
40
|
-
for (const value of secondObject) {
|
|
41
|
-
if (Array.isArray(value) === true) {
|
|
42
|
-
secondArrays.add(value);
|
|
43
|
-
}
|
|
44
|
-
else if (typeof value === 'object') {
|
|
45
|
-
secondObjects.add(value);
|
|
46
|
-
}
|
|
47
|
-
else if (typeof value === 'function') {
|
|
48
|
-
secondFunctions.add(JSON.stringify('' + value));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
secondValues.add(value);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (firstValues.size !== secondValues.size) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
let match = true;
|
|
59
|
-
for (const value of firstValues) {
|
|
60
|
-
if (secondValues.has(value) === false) {
|
|
61
|
-
match = false;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (match === false) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
else if (firstObjects.size === secondObjects.size) {
|
|
69
|
-
match = true;
|
|
70
|
-
for (const value of firstObjects) {
|
|
71
|
-
let hasMatch = false;
|
|
72
|
-
for (const secondValue of secondObjects) {
|
|
73
|
-
if (this.deepEquals(value, secondValue) === true) {
|
|
74
|
-
hasMatch = true;
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (hasMatch === false) {
|
|
79
|
-
match = false;
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (match === false) {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
else if (firstArrays.size === secondArrays.size) {
|
|
87
|
-
match = true;
|
|
88
|
-
for (const value of firstArrays) {
|
|
89
|
-
let hasMatch = false;
|
|
90
|
-
for (const secondValue of secondArrays) {
|
|
91
|
-
if (this.deepEquals(value, secondValue) === true) {
|
|
92
|
-
hasMatch = true;
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (hasMatch === false) {
|
|
97
|
-
match = false;
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (match === false) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
else if (firstFunctions.size === secondFunctions.size) {
|
|
105
|
-
match = true;
|
|
106
|
-
for (const value of firstFunctions) {
|
|
107
|
-
if (secondFunctions.has(value) === false) {
|
|
108
|
-
match = false;
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (match === false) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else if (typeof firstObject === 'object' && firstObject !== null) {
|
|
134
|
-
if (typeof secondObject !== 'object') {
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
let match = true;
|
|
139
|
-
if (Object.keys(firstObject).length === Object.keys(secondObject).length) {
|
|
140
|
-
for (const [key, value] of Object.entries(firstObject)) {
|
|
141
|
-
const secondValue = secondObject[key];
|
|
142
|
-
match = this.deepEquals(value, secondValue);
|
|
143
|
-
if (match === false) {
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
match = false;
|
|
150
|
-
}
|
|
151
|
-
return match;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
if (Array.isArray(secondObject) === true) {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
else if (typeof secondObject === 'object' && secondObject !== null) {
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
if (typeof firstObject === 'function') {
|
|
163
|
-
if (typeof secondObject === 'function') {
|
|
164
|
-
return JSON.stringify('' + firstObject) === JSON.stringify('' + secondObject);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
return false;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
return JSON.stringify(firstObject) === JSON.stringify(secondObject);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRVYsVUFBVSxDQUFDLFdBQWdCLEVBQUUsWUFBaUI7UUFDbkQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzlDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3pDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxZQUFZLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDOUMsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxjQUFjLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7d0JB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ckU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgZGVlcEVxdWFscyhmaXJzdE9iamVjdDogYW55LCBzZWNvbmRPYmplY3Q6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaXJzdE9iamVjdCA9PT0gbnVsbCAmJiBzZWNvbmRPYmplY3QgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHNlY29uZE9iamVjdCA9PT0gbnVsbCAmJiBmaXJzdE9iamVjdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaXJzdE9iamVjdCkgPT09IHRydWUpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlY29uZE9iamVjdCkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoZmlyc3RPYmplY3QubGVuZ3RoICE9PSBzZWNvbmRPYmplY3QubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBmaXJzdE9iamVjdHM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWVzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBmaXJzdEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0T2JqZWN0KSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpID09PSB0cnVlKSB7XG4gICAgICAgICAgICBmaXJzdEFycmF5cy5hZGQodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZmlyc3RPYmplY3RzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGZpcnN0RnVuY3Rpb25zLmFkZChKU09OLnN0cmluZ2lmeSgnJyArIHZhbHVlKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpcnN0VmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2Vjb25kQXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBzZWNvbmRPYmplY3RzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBzZWNvbmRWYWx1ZXM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XG4gICAgICAgIGNvbnN0IHNlY29uZEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHNlY29uZE9iamVjdCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgc2Vjb25kQXJyYXlzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBzZWNvbmRPYmplY3RzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNlY29uZEZ1bmN0aW9ucy5hZGQoSlNPTi5zdHJpbmdpZnkoJycgKyB2YWx1ZSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWNvbmRWYWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlyc3RWYWx1ZXMuc2l6ZSAhPT0gc2Vjb25kVmFsdWVzLnNpemUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IG1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0VmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kVmFsdWVzLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIG1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpcnN0T2JqZWN0cy5zaXplID09PSBzZWNvbmRPYmplY3RzLnNpemUpIHtcbiAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlyc3RPYmplY3RzKSB7XG4gICAgICAgICAgICAgIGxldCBoYXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZE9iamVjdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWVwRXF1YWxzKHZhbHVlLCBzZWNvbmRWYWx1ZSkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChoYXNNYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEFycmF5cy5zaXplID09PSBzZWNvbmRBcnJheXMuc2l6ZSkge1xuICAgICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlyc3RBcnJheXMpIHtcbiAgICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZEFycmF5cykge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc01hdGNoID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlyc3RGdW5jdGlvbnMuc2l6ZSA9PT0gc2Vjb25kRnVuY3Rpb25zLnNpemUpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdEZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZEZ1bmN0aW9ucy5oYXModmFsdWUpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpcnN0T2JqZWN0ID09PSAnb2JqZWN0JyAmJiBmaXJzdE9iamVjdCAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBzZWNvbmRPYmplY3QgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBtYXRjaCA9IHRydWU7XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGZpcnN0T2JqZWN0KS5sZW5ndGggPT09IE9iamVjdC5rZXlzKHNlY29uZE9iamVjdCkubGVuZ3RoKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmlyc3RPYmplY3QpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRWYWx1ZSA9IHNlY29uZE9iamVjdFtrZXldO1xuXG4gICAgICAgICAgICBtYXRjaCA9IHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWNvbmRPYmplY3QpID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ29iamVjdCcgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3RPYmplY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCcnICsgZmlyc3RPYmplY3QpID09PSBKU09OLnN0cmluZ2lmeSgnJyArIHNlY29uZE9iamVjdCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpcnN0T2JqZWN0KSA9PT0gSlNPTi5zdHJpbmdpZnkoc2Vjb25kT2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
1
|
+
export class NgxDeepEqualsPureService {
|
|
2
|
+
constructor() { }
|
|
3
|
+
deepEquals(firstObject, secondObject) {
|
|
4
|
+
if (firstObject === null && secondObject !== null) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
else if (secondObject === null && firstObject !== null) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
else if (Array.isArray(firstObject) === true) {
|
|
11
|
+
if (Array.isArray(secondObject) === false) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
else if (firstObject.length !== secondObject.length) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const firstArrays = new Set();
|
|
19
|
+
const firstObjects = new Set();
|
|
20
|
+
const firstValues = new Set();
|
|
21
|
+
const firstFunctions = new Set();
|
|
22
|
+
for (const value of firstObject) {
|
|
23
|
+
if (Array.isArray(value) === true) {
|
|
24
|
+
firstArrays.add(value);
|
|
25
|
+
}
|
|
26
|
+
else if (typeof value === 'object') {
|
|
27
|
+
firstObjects.add(value);
|
|
28
|
+
}
|
|
29
|
+
else if (typeof value === 'function') {
|
|
30
|
+
firstFunctions.add(JSON.stringify('' + value));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
firstValues.add(value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const secondArrays = new Set();
|
|
37
|
+
const secondObjects = new Set();
|
|
38
|
+
const secondValues = new Set();
|
|
39
|
+
const secondFunctions = new Set();
|
|
40
|
+
for (const value of secondObject) {
|
|
41
|
+
if (Array.isArray(value) === true) {
|
|
42
|
+
secondArrays.add(value);
|
|
43
|
+
}
|
|
44
|
+
else if (typeof value === 'object') {
|
|
45
|
+
secondObjects.add(value);
|
|
46
|
+
}
|
|
47
|
+
else if (typeof value === 'function') {
|
|
48
|
+
secondFunctions.add(JSON.stringify('' + value));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
secondValues.add(value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (firstValues.size !== secondValues.size) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
let match = true;
|
|
59
|
+
for (const value of firstValues) {
|
|
60
|
+
if (secondValues.has(value) === false) {
|
|
61
|
+
match = false;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (match === false) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
else if (firstObjects.size === secondObjects.size) {
|
|
69
|
+
match = true;
|
|
70
|
+
for (const value of firstObjects) {
|
|
71
|
+
let hasMatch = false;
|
|
72
|
+
for (const secondValue of secondObjects) {
|
|
73
|
+
if (this.deepEquals(value, secondValue) === true) {
|
|
74
|
+
hasMatch = true;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (hasMatch === false) {
|
|
79
|
+
match = false;
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (match === false) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
else if (firstArrays.size === secondArrays.size) {
|
|
87
|
+
match = true;
|
|
88
|
+
for (const value of firstArrays) {
|
|
89
|
+
let hasMatch = false;
|
|
90
|
+
for (const secondValue of secondArrays) {
|
|
91
|
+
if (this.deepEquals(value, secondValue) === true) {
|
|
92
|
+
hasMatch = true;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (hasMatch === false) {
|
|
97
|
+
match = false;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (match === false) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
else if (firstFunctions.size === secondFunctions.size) {
|
|
105
|
+
match = true;
|
|
106
|
+
for (const value of firstFunctions) {
|
|
107
|
+
if (secondFunctions.has(value) === false) {
|
|
108
|
+
match = false;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (match === false) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else if (typeof firstObject === 'object' && firstObject !== null) {
|
|
134
|
+
if (typeof secondObject !== 'object') {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
let match = true;
|
|
139
|
+
if (Object.keys(firstObject).length === Object.keys(secondObject).length) {
|
|
140
|
+
for (const [key, value] of Object.entries(firstObject)) {
|
|
141
|
+
const secondValue = secondObject[key];
|
|
142
|
+
match = this.deepEquals(value, secondValue);
|
|
143
|
+
if (match === false) {
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
match = false;
|
|
150
|
+
}
|
|
151
|
+
return match;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
if (Array.isArray(secondObject) === true) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
else if (typeof secondObject === 'object' && secondObject !== null) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
if (typeof firstObject === 'function') {
|
|
163
|
+
if (typeof secondObject === 'function') {
|
|
164
|
+
return JSON.stringify('' + firstObject) === JSON.stringify('' + secondObject);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return JSON.stringify(firstObject) === JSON.stringify(secondObject);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRVYsVUFBVSxDQUFDLFdBQWdCLEVBQUUsWUFBaUI7UUFDbkQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3pELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztpQkFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0RCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLFdBQVcsR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUM3QyxNQUFNLFlBQVksR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUM5QyxNQUFNLFdBQVcsR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUM3QyxNQUFNLGNBQWMsR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUVoRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNo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QUM7WUFDTixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztpQkFBTSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3JFLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ3RDLElBQUksT0FBTyxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7d0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7b0JBQ2hGLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO2dCQUNILENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdEUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBkZWVwRXF1YWxzKGZpcnN0T2JqZWN0OiBhbnksIHNlY29uZE9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZmlyc3RPYmplY3QgPT09IG51bGwgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoc2Vjb25kT2JqZWN0ID09PSBudWxsICYmIGZpcnN0T2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaXJzdE9iamVjdCkgPT09IHRydWUpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2Vjb25kT2JqZWN0KSA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoZmlyc3RPYmplY3QubGVuZ3RoICE9PSBzZWNvbmRPYmplY3QubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0QXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xyXG4gICAgICAgIGNvbnN0IGZpcnN0T2JqZWN0czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBmaXJzdFZhbHVlczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBmaXJzdEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdE9iamVjdCkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGZpcnN0QXJyYXlzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgZmlyc3RPYmplY3RzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBmaXJzdEZ1bmN0aW9ucy5hZGQoSlNPTi5zdHJpbmdpZnkoJycgKyB2YWx1ZSkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlyc3RWYWx1ZXMuYWRkKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHNlY29uZEFycmF5czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBzZWNvbmRPYmplY3RzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xyXG4gICAgICAgIGNvbnN0IHNlY29uZFZhbHVlczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBzZWNvbmRGdW5jdGlvbnM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2Vjb25kT2JqZWN0KSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgc2Vjb25kQXJyYXlzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgc2Vjb25kT2JqZWN0cy5hZGQodmFsdWUpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgc2Vjb25kRnVuY3Rpb25zLmFkZChKU09OLnN0cmluZ2lmeSgnJyArIHZhbHVlKSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZWNvbmRWYWx1ZXMuYWRkKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaXJzdFZhbHVlcy5zaXplICE9PSBzZWNvbmRWYWx1ZXMuc2l6ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgbWF0Y2ggPSB0cnVlO1xyXG4gICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdFZhbHVlcykge1xyXG4gICAgICAgICAgICBpZiAoc2Vjb25kVmFsdWVzLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChmaXJzdE9iamVjdHMuc2l6ZSA9PT0gc2Vjb25kT2JqZWN0cy5zaXplKSB7XHJcbiAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZE9iamVjdHMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZXBFcXVhbHModmFsdWUsIHNlY29uZFZhbHVlKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICBoYXNNYXRjaCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgaWYgKGhhc01hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG1hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEFycmF5cy5zaXplID09PSBzZWNvbmRBcnJheXMuc2l6ZSkge1xyXG4gICAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0QXJyYXlzKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2Vjb25kVmFsdWUgb2Ygc2Vjb25kQXJyYXlzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZXBFcXVhbHModmFsdWUsIHNlY29uZFZhbHVlKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChoYXNNYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEZ1bmN0aW9ucy5zaXplID09PSBzZWNvbmRGdW5jdGlvbnMuc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdEZ1bmN0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kRnVuY3Rpb25zLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaXJzdE9iamVjdCA9PT0gJ29iamVjdCcgJiYgZmlyc3RPYmplY3QgIT09IG51bGwpIHtcclxuICAgICAgaWYgKHR5cGVvZiBzZWNvbmRPYmplY3QgIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBtYXRjaCA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhmaXJzdE9iamVjdCkubGVuZ3RoID09PSBPYmplY3Qua2V5cyhzZWNvbmRPYmplY3QpLmxlbmd0aCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmlyc3RPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZFZhbHVlID0gc2Vjb25kT2JqZWN0W2tleV07XHJcblxyXG4gICAgICAgICAgICBtYXRjaCA9IHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1hdGNoID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWF0Y2g7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlY29uZE9iamVjdCkgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ29iamVjdCcgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3RPYmplY3QgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2Ygc2Vjb25kT2JqZWN0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgnJyArIGZpcnN0T2JqZWN0KSA9PT0gSlNPTi5zdHJpbmdpZnkoJycgKyBzZWNvbmRPYmplY3QpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZmlyc3RPYmplY3QpID09PSBKU09OLnN0cmluZ2lmeShzZWNvbmRPYmplY3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZGVlcC1lcXVhbHMtcHVyZS9zcmMvbmd4LWRlZXAtZXF1YWxzLXB1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-deep-equals-pure
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/ngx-deep-equals-pure.service';
|
|
5
|
-
export * from './lib/ngx-deep-equals-pure.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-deep-equals-pure
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ngx-deep-equals-pure.service';
|
|
5
|
+
export * from './lib/ngx-deep-equals-pure.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1kZWVwLWVxdWFscy1wdXJlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1kZWVwLWVxdWFscy1wdXJlLm1vZHVsZSc7XHJcbiJdfQ==
|