ngx-deep-equals-pure 1.0.0 → 2.0.0-next.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
CHANGED
|
@@ -1,320 +1,321 @@
|
|
|
1
|
-
# NgxDeepEqualsPure
|
|
2
|
-
|
|
3
|
-
Note:
|
|
4
|
-
- Please use version 0.2.5 for projects using Angular 11.0 and below.
|
|
5
|
-
- Please use version 0.3.0+ for Angular 12.0+ projects.
|
|
6
|
-
- Version 0.4.0+ supports use in Web Workers (see example project in this repository).
|
|
7
|
-
- Version 0.4.2 is malformed and should not be used.
|
|
8
|
-
- Version 0.4.3+ supports Standalone Components.
|
|
9
|
-
- Version 0.5.0 supports Angular 16.
|
|
10
|
-
- Version 1.0.0 supports Angular 17.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
import {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
private
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
| 0.
|
|
88
|
-
| 0.
|
|
89
|
-
| 0.006 | 0.
|
|
90
|
-
| 0.006 | 0.001 | 0.115 |
|
|
91
|
-
| 0.006 | 0.001 | 0.
|
|
92
|
-
| 0.
|
|
93
|
-
| 0.
|
|
94
|
-
| 0.006 | 0.001 | 0.
|
|
95
|
-
| 0.006 | 0.001 | 0.
|
|
96
|
-
| 0.006 | 0.001 | 0.117 |
|
|
97
|
-
| 0.006 | 0.001 | 0.
|
|
98
|
-
| 0.006 | 0.001 | 0.
|
|
99
|
-
| 0.006 | 0.001 | 0.118 |
|
|
100
|
-
| 0.006 | 0.001 | 0.118 |
|
|
101
|
-
| 0.
|
|
102
|
-
| 0.
|
|
103
|
-
| 0.006 | 0.001 | 0.
|
|
104
|
-
| 0.006 | 0
|
|
105
|
-
| 0.006 | 0
|
|
106
|
-
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.isMatch.push(this.deep.deepEquals(obj1,
|
|
112
|
-
this.isMatch.push(this.deep.deepEquals(obj1,
|
|
113
|
-
this.isMatch.push(this.deep.deepEquals(obj1,
|
|
114
|
-
this.isMatch.push(this.deep.deepEquals(obj1,
|
|
115
|
-
this.isMatch.push(this.deep.deepEquals(obj1,
|
|
116
|
-
this.isMatch.push(this.deep.deepEquals(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.isMatchLodash.push(_.isEqual(obj1,
|
|
120
|
-
this.isMatchLodash.push(_.isEqual(obj1,
|
|
121
|
-
this.isMatchLodash.push(_.isEqual(obj1,
|
|
122
|
-
this.isMatchLodash.push(_.isEqual(obj1,
|
|
123
|
-
this.isMatchLodash.push(_.isEqual(obj1,
|
|
124
|
-
this.isMatchLodash.push(_.isEqual(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
this.isMatchDeepEqual.push(deepEqual(obj1,
|
|
128
|
-
this.isMatchDeepEqual.push(deepEqual(obj1,
|
|
129
|
-
this.isMatchDeepEqual.push(deepEqual(obj1,
|
|
130
|
-
this.isMatchDeepEqual.push(deepEqual(obj1,
|
|
131
|
-
this.isMatchDeepEqual.push(deepEqual(obj1,
|
|
132
|
-
this.isMatchDeepEqual.push(deepEqual(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
{ '
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
'
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
'
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
{ '
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
'
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
{ '
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
'
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
{ '
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
'
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
{ '
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
'
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
{ '
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
{ '
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
'
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
1
|
+
# NgxDeepEqualsPure
|
|
2
|
+
|
|
3
|
+
Note:
|
|
4
|
+
- Please use version 0.2.5 for projects using Angular 11.0 and below.
|
|
5
|
+
- Please use version 0.3.0+ for Angular 12.0+ projects.
|
|
6
|
+
- Version 0.4.0+ supports use in Web Workers (see example project in this repository).
|
|
7
|
+
- Version 0.4.2 is malformed and should not be used.
|
|
8
|
+
- Version 0.4.3+ supports Standalone Components.
|
|
9
|
+
- Version 0.5.0 supports Angular 16.
|
|
10
|
+
- Version 1.0.0 supports Angular 17.
|
|
11
|
+
- Version 2.0.0 supports Angular 18.
|
|
12
|
+
|
|
13
|
+
This is a package intended to provide a deep equals function for JavaScript objects without requiring numerous dependencies. Other packages which provide a deep equals function, like Lodash or deep-equal, require a large number of dependencies or they are themselves very large. This contributes to unnecessary bloat and, ultimately, poor application load performance.
|
|
14
|
+
|
|
15
|
+
Unlike deep-equal and Lodash, ngx-deep-equals-pure can correctly handle function properties. Furthermore, ngx-deep-equals-pure properly determines equality for arrays of complex objects when the order of the data differs where deep-equal and Lodash fail to do so.
|
|
16
|
+
|
|
17
|
+
Repository:
|
|
18
|
+
https://github.com/puckowski/deepequalspure
|
|
19
|
+
|
|
20
|
+
Bugs:
|
|
21
|
+
https://github.com/puckowski/deepequalspure/issues
|
|
22
|
+
|
|
23
|
+
## Size
|
|
24
|
+
|
|
25
|
+
The minified ES2015 size of ngx-deep-equals-pure is 9.18KB which includes ESM5, ESM2015, FESM5, and FESM2015 bundles.
|
|
26
|
+
|
|
27
|
+
|ngx-deep-equals-pure |deep-equal |Lodash |
|
|
28
|
+
|---------------------|-----------|-------|
|
|
29
|
+
|9.18KB |3.44KB |528KB |
|
|
30
|
+
|
|
31
|
+
## npm Package
|
|
32
|
+
|
|
33
|
+
https://www.npmjs.com/package/ngx-deep-equals-pure
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
In the appropriate module, such as ```AppModule```, add the following to ```providers```:
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
providers: [NgxDeepEqualsPureService],
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
In a component part of a module where NgxDeepEqualsPureService is provided, inject the deep equals service in the constructor like so:
|
|
44
|
+
|
|
45
|
+
```javascript
|
|
46
|
+
constructor(private ngxDeepEquals: NgxDeepEqualsPureService) {
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Then use NgxDeepEqualsPure like so:
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
this.ngxDeepEquals.deepEquals(this.obj1, this.obj2);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Alternatively, construct a standalone component like the following:
|
|
56
|
+
|
|
57
|
+
```javascript
|
|
58
|
+
import { Component } from '@angular/core';
|
|
59
|
+
import { NgxDeepEqualsPureModule, NgxDeepEqualsPureService } from 'NgxDeepEqualsPure';
|
|
60
|
+
|
|
61
|
+
@Component({
|
|
62
|
+
selector: 'app-standalone-test',
|
|
63
|
+
templateUrl: './standalone-test.component.html',
|
|
64
|
+
styleUrls: ['./standalone-test.component.scss'],
|
|
65
|
+
standalone: true,
|
|
66
|
+
imports: [NgxDeepEqualsPureModule]
|
|
67
|
+
})
|
|
68
|
+
export class StandaloneTestComponent {
|
|
69
|
+
|
|
70
|
+
private obj8: any = { b: 'a', c: 2 };
|
|
71
|
+
private obj9: any = { c: 2, b: 'a' };
|
|
72
|
+
|
|
73
|
+
public isStandaloneMatch: boolean;
|
|
74
|
+
|
|
75
|
+
constructor(private ngxDeepEquals: NgxDeepEqualsPureService) {
|
|
76
|
+
this.isStandaloneMatch = this.ngxDeepEquals.deepEquals(this.obj8, this.obj9);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Performance
|
|
82
|
+
|
|
83
|
+
The following is the latest performance result of 2,000 comparisons run in a web worker.
|
|
84
|
+
|
|
85
|
+
|ngx-deep-equals-pure |deep-equal |Lodash isEqual |
|
|
86
|
+
|---------------------|-----------|---------------|
|
|
87
|
+
| 0.023 | 0.006 | 0.091 |
|
|
88
|
+
| 0.007 | 0.008 | 0.107 |
|
|
89
|
+
| 0.006 | 0.004 | 0.106 |
|
|
90
|
+
| 0.006 | 0.001 | 0.115 |
|
|
91
|
+
| 0.006 | 0.001 | 0.115 |
|
|
92
|
+
| 0.006 | 0.001 | 0.117 |
|
|
93
|
+
| 0.005 | 0.001 | 0.117 |
|
|
94
|
+
| 0.006 | 0.001 | 0.12 |
|
|
95
|
+
| 0.006 | 0.001 | 0.118 |
|
|
96
|
+
| 0.006 | 0.001 | 0.117 |
|
|
97
|
+
| 0.006 | 0.001 | 0.117 |
|
|
98
|
+
| 0.006 | 0.001 | 0.116 |
|
|
99
|
+
| 0.006 | 0.001 | 0.118 |
|
|
100
|
+
| 0.006 | 0.001 | 0.118 |
|
|
101
|
+
| 0.006 | 0.001 | 0.118 |
|
|
102
|
+
| 0.005 | 0.001 | 0.118 |
|
|
103
|
+
| 0.006 | 0.001 | 0.119 |
|
|
104
|
+
| 0.006 | 0.001 | 0.118 |
|
|
105
|
+
| 0.006 | 0 | 0.118 |
|
|
106
|
+
| 0.006 | 0.002 | 0.117 |
|
|
107
|
+
| **Avg: 0.0068s** | **Avg: 0.00175s** | **Avg: 0.1149s** |
|
|
108
|
+
|
|
109
|
+
## Tests
|
|
110
|
+
```javascript
|
|
111
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj2));
|
|
112
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj3));
|
|
113
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj4));
|
|
114
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj5));
|
|
115
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj6));
|
|
116
|
+
this.isMatch.push(this.deep.deepEquals(obj1, obj7));
|
|
117
|
+
this.isMatch.push(this.deep.deepEquals(obj8, obj9));
|
|
118
|
+
|
|
119
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj2));
|
|
120
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj3));
|
|
121
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj4));
|
|
122
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj5));
|
|
123
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj6));
|
|
124
|
+
this.isMatchLodash.push(_.isEqual(obj1, obj7));
|
|
125
|
+
this.isMatchLodash.push(_.isEqual(obj8, obj9));
|
|
126
|
+
|
|
127
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj2));
|
|
128
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj3));
|
|
129
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj4));
|
|
130
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj5));
|
|
131
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj6));
|
|
132
|
+
this.isMatchDeepEqual.push(deepEqual(obj1, obj7));
|
|
133
|
+
this.isMatchDeepEqual.push(deepEqual(obj8, obj9));
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Results
|
|
137
|
+
|#|Actual |ngx-deep-equals-pure |deep-equal |Lodash isEqual |
|
|
138
|
+
|---|-------------|---------------------|-----------|---------------|
|
|
139
|
+
|1 | true | true | false | false |
|
|
140
|
+
|2 | false | false | false | false |
|
|
141
|
+
|3 | false | false | false | false |
|
|
142
|
+
|4 | false | false | false | false |
|
|
143
|
+
|5 | false | false | false | false |
|
|
144
|
+
|6 | true | true | false | false |
|
|
145
|
+
|7 | true | true | true | true |
|
|
146
|
+
|
|
147
|
+
## Input objects
|
|
148
|
+
```javascript
|
|
149
|
+
const obj1: any = {
|
|
150
|
+
b: () => {
|
|
151
|
+
console.log('foo');
|
|
152
|
+
},
|
|
153
|
+
e: 'abcbc',
|
|
154
|
+
a: [
|
|
155
|
+
{ 'a': 12.7 },
|
|
156
|
+
{ 'c': 37.6 }
|
|
157
|
+
],
|
|
158
|
+
c: 126.8,
|
|
159
|
+
f: ['f', 'a'],
|
|
160
|
+
g: [
|
|
161
|
+
{ t: () => { console.log('h'); }, g: 'a', j: 12 },
|
|
162
|
+
['b', 2, { p: '123' }],
|
|
163
|
+
'789',
|
|
164
|
+
12.6,
|
|
165
|
+
809,
|
|
166
|
+
() => { console.log('er'); }
|
|
167
|
+
]
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
const obj2: any = {
|
|
171
|
+
g: [
|
|
172
|
+
[{ p: '123' }, 2, 'b'],
|
|
173
|
+
'789',
|
|
174
|
+
12.6,
|
|
175
|
+
() => { console.log('er'); },
|
|
176
|
+
{ g: 'a', t: () => { console.log('h'); }, j: 12 },
|
|
177
|
+
809
|
|
178
|
+
],
|
|
179
|
+
e: 'abcbc',
|
|
180
|
+
b: () => {
|
|
181
|
+
console.log('foo');
|
|
182
|
+
},
|
|
183
|
+
a: [
|
|
184
|
+
{ 'c': 37.6 },
|
|
185
|
+
{ 'a': 12.7 }
|
|
186
|
+
],
|
|
187
|
+
f: ['f', 'a'],
|
|
188
|
+
c: 126.8
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
const obj3: any = {
|
|
192
|
+
g: [
|
|
193
|
+
[{ p: '123' }, 2, 'b'],
|
|
194
|
+
'789',
|
|
195
|
+
12.6,
|
|
196
|
+
() => { console.log('er'); },
|
|
197
|
+
{ t: () => { console.log('h'); }, j: 12 },
|
|
198
|
+
809
|
|
199
|
+
],
|
|
200
|
+
e: 'abcbc',
|
|
201
|
+
b: () => {
|
|
202
|
+
console.log('foo');
|
|
203
|
+
},
|
|
204
|
+
a: [
|
|
205
|
+
{ 'c': 37.6 },
|
|
206
|
+
{ 'a': 12.7 }
|
|
207
|
+
],
|
|
208
|
+
f: ['f', 'a'],
|
|
209
|
+
c: 126.8
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
const obj4: any = {
|
|
213
|
+
g: [
|
|
214
|
+
[{ p: '123' }, 2, 'b'],
|
|
215
|
+
'789',
|
|
216
|
+
12.6,
|
|
217
|
+
() => { console.log('er'); },
|
|
218
|
+
{ g: '6', t: () => { console.log('h'); }, j: 12 },
|
|
219
|
+
809
|
|
220
|
+
],
|
|
221
|
+
e: 'abcbc',
|
|
222
|
+
b: () => {
|
|
223
|
+
console.log('foo');
|
|
224
|
+
},
|
|
225
|
+
a: [
|
|
226
|
+
{ 'c': 37.6 },
|
|
227
|
+
{ 'a': 12.7 }
|
|
228
|
+
],
|
|
229
|
+
f: ['f', 'a'],
|
|
230
|
+
c: 126.8
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
const obj5: any = {
|
|
234
|
+
g: [
|
|
235
|
+
[{ u: '123' }, 2, 'b'],
|
|
236
|
+
'789',
|
|
237
|
+
12.6,
|
|
238
|
+
() => { console.log('er'); },
|
|
239
|
+
{ g: 'a', t: () => { console.log('h'); }, j: 12 },
|
|
240
|
+
809
|
|
241
|
+
],
|
|
242
|
+
e: 'abcbc',
|
|
243
|
+
b: () => {
|
|
244
|
+
console.log('foo');
|
|
245
|
+
},
|
|
246
|
+
a: [
|
|
247
|
+
{ 'c': 37.6 },
|
|
248
|
+
{ 'a': 12.7 }
|
|
249
|
+
],
|
|
250
|
+
f: ['f', 'a'],
|
|
251
|
+
c: 126.8
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
const obj6: any = {
|
|
255
|
+
g: [
|
|
256
|
+
[{ p: '123' }, 2, 'b'],
|
|
257
|
+
'789',
|
|
258
|
+
12.6,
|
|
259
|
+
() => { console.log('er'); },
|
|
260
|
+
{ g: 'a', y: () => { console.log('h'); }, j: 12 },
|
|
261
|
+
809
|
|
262
|
+
],
|
|
263
|
+
e: 'abcbc',
|
|
264
|
+
b: () => {
|
|
265
|
+
console.log('foo');
|
|
266
|
+
},
|
|
267
|
+
a: [
|
|
268
|
+
{ 'c': 37.6 },
|
|
269
|
+
{ 'a': 12.7 }
|
|
270
|
+
],
|
|
271
|
+
f: ['f', 'a'],
|
|
272
|
+
c: 126.8
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
const obj7: any = {
|
|
276
|
+
b: () => {
|
|
277
|
+
console.log('foo');
|
|
278
|
+
},
|
|
279
|
+
e: 'abcbc',
|
|
280
|
+
a: [
|
|
281
|
+
{ 'a': 12.7 },
|
|
282
|
+
{ 'c': 37.6 }
|
|
283
|
+
],
|
|
284
|
+
c: 126.8,
|
|
285
|
+
f: ['f', 'a'],
|
|
286
|
+
g: [
|
|
287
|
+
{ t: () => { console.log('h'); }, g: 'a', j: 12 },
|
|
288
|
+
['b', 2, { p: '123' }],
|
|
289
|
+
'789',
|
|
290
|
+
12.6,
|
|
291
|
+
809,
|
|
292
|
+
() => { console.log('er'); }
|
|
293
|
+
]
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
const obj8: any = { b: 'a', c: 2 };
|
|
297
|
+
const obj9: any = { c: 2, b: 'a' };
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## Building library
|
|
301
|
+
|
|
302
|
+
Use command:
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
ng build NgxDeepEqualsPure --configuration production
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Running benchmark
|
|
309
|
+
|
|
310
|
+
Use command:
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
ng serve
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Then navigate to localhost:4200 in your preferred browser.
|
|
317
|
+
|
|
318
|
+
Note:
|
|
319
|
+
It may be necessary to run the build command before trying to run the benchmark.
|
|
320
|
+
|
|
321
|
+
See the GitHub repository at https://github.com/puckowski/deepequalspure for example usage of ngx-deep-equals-pure in an Angular application and for example usage in a Web Worker.
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.2",
|
|
|
15
15
|
providers: [NgxDeepEqualsPureService]
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRlZXAtZXF1YWxzLXB1cmUvc3JjL2xpYi9uZ3gtZGVlcC1lcXVhbHMtcHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHVCQUF1QjtxSEFBdkIsdUJBQXVCO3NIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixhQUZ2QixDQUFDLHdCQUF3QixDQUFDOztrR0FFMUIsdUJBQXVCO2tCQU5uQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hEZWVwRXF1YWxzUHVyZVNlcnZpY2UgfSBmcm9tICcuL25neC1kZWVwLWVxdWFscy1wdXJlLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW05neERlZXBFcXVhbHNQdXJlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -174,4 +174,4 @@ export class NgxDeepEqualsPureService {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRVYsVUFBVSxDQUFDLFdBQWdCLEVBQUUsWUFBaUI7UUFDbkQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzlDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3pDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxZQUFZLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDOUMsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxjQUFjLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7d0JBQ2pDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3hCO3lCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO3dCQUNwQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN6Qjt5QkFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTt3QkFDdEMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN4QjtpQkFDRjtnQkFFRCxNQUFNLFlBQVksR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUM5QyxNQUFNLGFBQWEsR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUMvQyxNQUFNLFlBQVksR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUM5QyxNQUFNLGVBQWUsR0FBYSxJQUFJLEdBQUcsRUFBTyxDQUFDO2dCQUVqRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksRUFBRTtvQkFDaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTt3QkFDakMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDekI7eUJBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7d0JBQ3BDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzFCO3lCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO3dCQUN0QyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7cUJBQ2pEO3lCQUFNO3dCQUNMLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3pCO2lCQUNGO2dCQUVELElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxFQUFFO29CQUMxQyxPQUFPLEtBQUssQ0FBQztpQkFDZDtxQkFBTTtvQkFDTCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksV0FBVyxFQUFFO3dCQUMvQixJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxFQUFFOzRCQUNyQyxLQUFLLEdBQUcsS0FBSyxDQUFDOzRCQUNkLE1BQU07eUJBQ1A7cUJBQ0Y7b0JBRUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO3dCQUNuQixPQUFPLEtBQUssQ0FBQztxQkFDZDt5QkFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRTt3QkFDbkQsS0FBSyxHQUFHLElBQUksQ0FBQzt3QkFDYixLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksRUFBRTs0QkFDaEMsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDOzRCQUNyQixLQUFLLE1BQU0sV0FBVyxJQUFJLGFBQWEsRUFBRTtnQ0FDdkMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUU7b0NBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUM7b0NBQ2hCLE1BQU07aUNBQ1A7NkJBQ0Y7NEJBRUQsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFO2dDQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDO2dDQUNkLE1BQU07NkJBQ1A7eUJBQ0Y7d0JBRUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFOzRCQUNuQixPQUFPLEtBQUssQ0FBQzt5QkFDZDs2QkFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksRUFBRTs0QkFDakQsS0FBSyxHQUFHLElBQUksQ0FBQzs0QkFDYixLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsRUFBRTtnQ0FDL0IsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO2dDQUNyQixLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRTtvQ0FDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUU7d0NBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUM7d0NBQ2hCLE1BQU07cUNBQ1A7aUNBQ0Y7Z0NBRUQsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFO29DQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDO29DQUNkLE1BQU07aUNBQ1A7NkJBQ0Y7NEJBRUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFO2dDQUNuQixPQUFPLEtBQUssQ0FBQzs2QkFDZDtpQ0FBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRTtnQ0FDdkQsS0FBSyxHQUFHLElBQUksQ0FBQztnQ0FDYixLQUFLLE1BQU0sS0FBSyxJQUFJLGNBQWMsRUFBRTtvQ0FDbEMsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRTt3Q0FDeEMsS0FBSyxHQUFHLEtBQUssQ0FBQzt3Q0FDZCxNQUFNO3FDQUNQO2lDQUNGO2dDQUVELElBQUksS0FBSyxLQUFLLEtBQUssRUFBRTtvQ0FDbkIsT0FBTyxLQUFLLENBQUM7aUNBQ2Q7cUNBQU07b0NBQ0wsT0FBTyxJQUFJLENBQUM7aUNBQ2I7NkJBQ0Y7aUNBQU07Z0NBQ0wsT0FBTyxLQUFLLENBQUM7NkJBQ2Q7eUJBQ0Y7NkJBQU07NEJBQ0wsT0FBTyxLQUFLLENBQUM7eUJBQ2Q7cUJBQ0Y7eUJBQU07d0JBQ0wsT0FBTyxLQUFLLENBQUM7cUJBQ2Q7aUJBQ0Y7YUFDRjtTQUNGO2FBQU0sSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUNsRSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRTtnQkFDcEMsT0FBTyxLQUFLLENBQUM7YUFDZDtpQkFBTTtnQkFDTCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBRWpCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQ3hFLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUN0RCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBRXRDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQzt3QkFFNUMsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFOzRCQUNuQixNQUFNO3lCQUNQO3FCQUNGO2lCQUNGO3FCQUFNO29CQUNMLEtBQUssR0FBRyxLQUFLLENBQUM7aUJBQ2Y7Z0JBRUQsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO2FBQU07WUFDTCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN4QyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7Z0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLFdBQVcsS0FBSyxVQUFVLEVBQUU7b0JBQ3JDLElBQUksT0FBTyxZQUFZLEtBQUssVUFBVSxFQUFFO3dCQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO3FCQUMvRTt5QkFBTTt3QkFDTCxPQUFPLEtBQUssQ0FBQztxQkFDZDtpQkFDRjtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDckU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgZGVlcEVxdWFscyhmaXJzdE9iamVjdDogYW55LCBzZWNvbmRPYmplY3Q6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChmaXJzdE9iamVjdCA9PT0gbnVsbCAmJiBzZWNvbmRPYmplY3QgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHNlY29uZE9iamVjdCA9PT0gbnVsbCAmJiBmaXJzdE9iamVjdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaXJzdE9iamVjdCkgPT09IHRydWUpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlY29uZE9iamVjdCkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoZmlyc3RPYmplY3QubGVuZ3RoICE9PSBzZWNvbmRPYmplY3QubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBmaXJzdE9iamVjdHM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XG4gICAgICAgIGNvbnN0IGZpcnN0VmFsdWVzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBmaXJzdEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0T2JqZWN0KSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpID09PSB0cnVlKSB7XG4gICAgICAgICAgICBmaXJzdEFycmF5cy5hZGQodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZmlyc3RPYmplY3RzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGZpcnN0RnVuY3Rpb25zLmFkZChKU09OLnN0cmluZ2lmeSgnJyArIHZhbHVlKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpcnN0VmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2Vjb25kQXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBzZWNvbmRPYmplY3RzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgICAgICBjb25zdCBzZWNvbmRWYWx1ZXM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XG4gICAgICAgIGNvbnN0IHNlY29uZEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHNlY29uZE9iamVjdCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgc2Vjb25kQXJyYXlzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBzZWNvbmRPYmplY3RzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHNlY29uZEZ1bmN0aW9ucy5hZGQoSlNPTi5zdHJpbmdpZnkoJycgKyB2YWx1ZSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWNvbmRWYWx1ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlyc3RWYWx1ZXMuc2l6ZSAhPT0gc2Vjb25kVmFsdWVzLnNpemUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IG1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0VmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kVmFsdWVzLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIG1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpcnN0T2JqZWN0cy5zaXplID09PSBzZWNvbmRPYmplY3RzLnNpemUpIHtcbiAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlyc3RPYmplY3RzKSB7XG4gICAgICAgICAgICAgIGxldCBoYXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZE9iamVjdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWVwRXF1YWxzKHZhbHVlLCBzZWNvbmRWYWx1ZSkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChoYXNNYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEFycmF5cy5zaXplID09PSBzZWNvbmRBcnJheXMuc2l6ZSkge1xuICAgICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlyc3RBcnJheXMpIHtcbiAgICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZEFycmF5cykge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc01hdGNoID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlyc3RGdW5jdGlvbnMuc2l6ZSA9PT0gc2Vjb25kRnVuY3Rpb25zLnNpemUpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdEZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZEZ1bmN0aW9ucy5oYXModmFsdWUpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpcnN0T2JqZWN0ID09PSAnb2JqZWN0JyAmJiBmaXJzdE9iamVjdCAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBzZWNvbmRPYmplY3QgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBtYXRjaCA9IHRydWU7XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGZpcnN0T2JqZWN0KS5sZW5ndGggPT09IE9iamVjdC5rZXlzKHNlY29uZE9iamVjdCkubGVuZ3RoKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmlyc3RPYmplY3QpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRWYWx1ZSA9IHNlY29uZE9iamVjdFtrZXldO1xuXG4gICAgICAgICAgICBtYXRjaCA9IHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWNvbmRPYmplY3QpID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ29iamVjdCcgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3RPYmplY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCcnICsgZmlyc3RPYmplY3QpID09PSBKU09OLnN0cmluZ2lmeSgnJyArIHNlY29uZE9iamVjdCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpcnN0T2JqZWN0KSA9PT0gSlNPTi5zdHJpbmdpZnkoc2Vjb25kT2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFnQixDQUFDO0lBRVYsVUFBVSxDQUFDLFdBQWdCLEVBQUUsWUFBaUI7UUFDbkQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzlDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3pDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxZQUFZLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDOUMsTUFBTSxXQUFXLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFDN0MsTUFBTSxjQUFjLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztnQkFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7d0JB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ckU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE5neERlZXBFcXVhbHNQdXJlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBkZWVwRXF1YWxzKGZpcnN0T2JqZWN0OiBhbnksIHNlY29uZE9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZmlyc3RPYmplY3QgPT09IG51bGwgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoc2Vjb25kT2JqZWN0ID09PSBudWxsICYmIGZpcnN0T2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShmaXJzdE9iamVjdCkgPT09IHRydWUpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2Vjb25kT2JqZWN0KSA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoZmlyc3RPYmplY3QubGVuZ3RoICE9PSBzZWNvbmRPYmplY3QubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0QXJyYXlzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xyXG4gICAgICAgIGNvbnN0IGZpcnN0T2JqZWN0czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBmaXJzdFZhbHVlczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBmaXJzdEZ1bmN0aW9uczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdE9iamVjdCkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGZpcnN0QXJyYXlzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgZmlyc3RPYmplY3RzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBmaXJzdEZ1bmN0aW9ucy5hZGQoSlNPTi5zdHJpbmdpZnkoJycgKyB2YWx1ZSkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlyc3RWYWx1ZXMuYWRkKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHNlY29uZEFycmF5czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBzZWNvbmRPYmplY3RzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xyXG4gICAgICAgIGNvbnN0IHNlY29uZFZhbHVlczogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcclxuICAgICAgICBjb25zdCBzZWNvbmRGdW5jdGlvbnM6IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2Vjb25kT2JqZWN0KSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgc2Vjb25kQXJyYXlzLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgc2Vjb25kT2JqZWN0cy5hZGQodmFsdWUpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgc2Vjb25kRnVuY3Rpb25zLmFkZChKU09OLnN0cmluZ2lmeSgnJyArIHZhbHVlKSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZWNvbmRWYWx1ZXMuYWRkKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaXJzdFZhbHVlcy5zaXplICE9PSBzZWNvbmRWYWx1ZXMuc2l6ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgbWF0Y2ggPSB0cnVlO1xyXG4gICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdFZhbHVlcykge1xyXG4gICAgICAgICAgICBpZiAoc2Vjb25kVmFsdWVzLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChmaXJzdE9iamVjdHMuc2l6ZSA9PT0gc2Vjb25kT2JqZWN0cy5zaXplKSB7XHJcbiAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY29uZFZhbHVlIG9mIHNlY29uZE9iamVjdHMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZXBFcXVhbHModmFsdWUsIHNlY29uZFZhbHVlKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICBoYXNNYXRjaCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgaWYgKGhhc01hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG1hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEFycmF5cy5zaXplID09PSBzZWNvbmRBcnJheXMuc2l6ZSkge1xyXG4gICAgICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZpcnN0QXJyYXlzKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGFzTWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2Vjb25kVmFsdWUgb2Ygc2Vjb25kQXJyYXlzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZXBFcXVhbHModmFsdWUsIHNlY29uZFZhbHVlKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhhc01hdGNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChoYXNNYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAobWF0Y2ggPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaXJzdEZ1bmN0aW9ucy5zaXplID09PSBzZWNvbmRGdW5jdGlvbnMuc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaXJzdEZ1bmN0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kRnVuY3Rpb25zLmhhcyh2YWx1ZSkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaXJzdE9iamVjdCA9PT0gJ29iamVjdCcgJiYgZmlyc3RPYmplY3QgIT09IG51bGwpIHtcclxuICAgICAgaWYgKHR5cGVvZiBzZWNvbmRPYmplY3QgIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBtYXRjaCA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhmaXJzdE9iamVjdCkubGVuZ3RoID09PSBPYmplY3Qua2V5cyhzZWNvbmRPYmplY3QpLmxlbmd0aCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmlyc3RPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZFZhbHVlID0gc2Vjb25kT2JqZWN0W2tleV07XHJcblxyXG4gICAgICAgICAgICBtYXRjaCA9IHRoaXMuZGVlcEVxdWFscyh2YWx1ZSwgc2Vjb25kVmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1hdGNoID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1hdGNoID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWF0Y2g7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlY29uZE9iamVjdCkgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNlY29uZE9iamVjdCA9PT0gJ29iamVjdCcgJiYgc2Vjb25kT2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3RPYmplY3QgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2Ygc2Vjb25kT2JqZWN0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgnJyArIGZpcnN0T2JqZWN0KSA9PT0gSlNPTi5zdHJpbmdpZnkoJycgKyBzZWNvbmRPYmplY3QpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZmlyc3RPYmplY3QpID09PSBKU09OLnN0cmluZ2lmeShzZWNvbmRPYmplY3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/ngx-deep-equals-pure.service';
|
|
5
5
|
export * from './lib/ngx-deep-equals-pure.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1kZWVwLWVxdWFscy1wdXJlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1kZWVwLWVxdWFscy1wdXJlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LWRlZXAtZXF1YWxzLXB1cmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1kZWVwLWVxdWFscy1wdXJlLm1vZHVsZSc7XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-deep-equals-pure.mjs","sources":["../../../projects/ngx-deep-equals-pure/src/lib/ngx-deep-equals-pure.service.ts","../../../projects/ngx-deep-equals-pure/src/lib/ngx-deep-equals-pure.module.ts","../../../projects/ngx-deep-equals-pure/src/public-api.ts","../../../projects/ngx-deep-equals-pure/src/ngx-deep-equals-pure.ts"],"sourcesContent":["export class NgxDeepEqualsPureService {\n\n constructor() { }\n\n public deepEquals(firstObject: any, secondObject: any): boolean {\n if (firstObject === null && secondObject !== null) {\n return false;\n } else if (secondObject === null && firstObject !== null) {\n return false;\n } else if (Array.isArray(firstObject) === true) {\n if (Array.isArray(secondObject) === false) {\n return false;\n } else if (firstObject.length !== secondObject.length) {\n return false;\n } else {\n const firstArrays: Set<any> = new Set<any>();\n const firstObjects: Set<any> = new Set<any>();\n const firstValues: Set<any> = new Set<any>();\n const firstFunctions: Set<any> = new Set<any>();\n\n for (const value of firstObject) {\n if (Array.isArray(value) === true) {\n firstArrays.add(value);\n } else if (typeof value === 'object') {\n firstObjects.add(value);\n } else if (typeof value === 'function') {\n firstFunctions.add(JSON.stringify('' + value));\n } else {\n firstValues.add(value);\n }\n }\n\n const secondArrays: Set<any> = new Set<any>();\n const secondObjects: Set<any> = new Set<any>();\n const secondValues: Set<any> = new Set<any>();\n const secondFunctions: Set<any> = new Set<any>();\n\n for (const value of secondObject) {\n if (Array.isArray(value) === true) {\n secondArrays.add(value);\n } else if (typeof value === 'object') {\n secondObjects.add(value);\n } else if (typeof value === 'function') {\n secondFunctions.add(JSON.stringify('' + value));\n } else {\n secondValues.add(value);\n }\n }\n\n if (firstValues.size !== secondValues.size) {\n return false;\n } else {\n let match = true;\n for (const value of firstValues) {\n if (secondValues.has(value) === false) {\n match = false;\n break;\n }\n }\n\n if (match === false) {\n return false;\n } else if (firstObjects.size === secondObjects.size) {\n match = true;\n for (const value of firstObjects) {\n let hasMatch = false;\n for (const secondValue of secondObjects) {\n if (this.deepEquals(value, secondValue) === true) {\n hasMatch = true;\n break;\n }\n }\n\n if (hasMatch === false) {\n match = false;\n break;\n }\n }\n\n if (match === false) {\n return false;\n } else if (firstArrays.size === secondArrays.size) {\n match = true;\n for (const value of firstArrays) {\n let hasMatch = false;\n for (const secondValue of secondArrays) {\n if (this.deepEquals(value, secondValue) === true) {\n hasMatch = true;\n break;\n }\n }\n\n if (hasMatch === false) {\n match = false;\n break;\n }\n }\n\n if (match === false) {\n return false;\n } else if (firstFunctions.size === secondFunctions.size) {\n match = true;\n for (const value of firstFunctions) {\n if (secondFunctions.has(value) === false) {\n match = false;\n break;\n }\n }\n\n if (match === false) {\n return false;\n } else {\n return true;\n }\n } else {\n return false;\n }\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n }\n } else if (typeof firstObject === 'object' && firstObject !== null) {\n if (typeof secondObject !== 'object') {\n return false;\n } else {\n let match = true;\n\n if (Object.keys(firstObject).length === Object.keys(secondObject).length) {\n for (const [key, value] of Object.entries(firstObject)) {\n const secondValue = secondObject[key];\n\n match = this.deepEquals(value, secondValue);\n\n if (match === false) {\n break;\n }\n }\n } else {\n match = false;\n }\n\n return match;\n }\n } else {\n if (Array.isArray(secondObject) === true) {\n return false;\n } else if (typeof secondObject === 'object' && secondObject !== null) {\n return false;\n } else {\n if (typeof firstObject === 'function') {\n if (typeof secondObject === 'function') {\n return JSON.stringify('' + firstObject) === JSON.stringify('' + secondObject);\n } else {\n return false;\n }\n } else {\n return JSON.stringify(firstObject) === JSON.stringify(secondObject);\n }\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgxDeepEqualsPureService } from './ngx-deep-equals-pure.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [NgxDeepEqualsPureService]\n})\nexport class NgxDeepEqualsPureModule { }\n","/*\n * Public API Surface of ngx-deep-equals-pure\n */\n\nexport * from './lib/ngx-deep-equals-pure.service';\nexport * from './lib/ngx-deep-equals-pure.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-deep-equals-pure.mjs","sources":["../../../projects/ngx-deep-equals-pure/src/lib/ngx-deep-equals-pure.service.ts","../../../projects/ngx-deep-equals-pure/src/lib/ngx-deep-equals-pure.module.ts","../../../projects/ngx-deep-equals-pure/src/public-api.ts","../../../projects/ngx-deep-equals-pure/src/ngx-deep-equals-pure.ts"],"sourcesContent":["export class NgxDeepEqualsPureService {\r\n\r\n constructor() { }\r\n\r\n public deepEquals(firstObject: any, secondObject: any): boolean {\r\n if (firstObject === null && secondObject !== null) {\r\n return false;\r\n } else if (secondObject === null && firstObject !== null) {\r\n return false;\r\n } else if (Array.isArray(firstObject) === true) {\r\n if (Array.isArray(secondObject) === false) {\r\n return false;\r\n } else if (firstObject.length !== secondObject.length) {\r\n return false;\r\n } else {\r\n const firstArrays: Set<any> = new Set<any>();\r\n const firstObjects: Set<any> = new Set<any>();\r\n const firstValues: Set<any> = new Set<any>();\r\n const firstFunctions: Set<any> = new Set<any>();\r\n\r\n for (const value of firstObject) {\r\n if (Array.isArray(value) === true) {\r\n firstArrays.add(value);\r\n } else if (typeof value === 'object') {\r\n firstObjects.add(value);\r\n } else if (typeof value === 'function') {\r\n firstFunctions.add(JSON.stringify('' + value));\r\n } else {\r\n firstValues.add(value);\r\n }\r\n }\r\n\r\n const secondArrays: Set<any> = new Set<any>();\r\n const secondObjects: Set<any> = new Set<any>();\r\n const secondValues: Set<any> = new Set<any>();\r\n const secondFunctions: Set<any> = new Set<any>();\r\n\r\n for (const value of secondObject) {\r\n if (Array.isArray(value) === true) {\r\n secondArrays.add(value);\r\n } else if (typeof value === 'object') {\r\n secondObjects.add(value);\r\n } else if (typeof value === 'function') {\r\n secondFunctions.add(JSON.stringify('' + value));\r\n } else {\r\n secondValues.add(value);\r\n }\r\n }\r\n\r\n if (firstValues.size !== secondValues.size) {\r\n return false;\r\n } else {\r\n let match = true;\r\n for (const value of firstValues) {\r\n if (secondValues.has(value) === false) {\r\n match = false;\r\n break;\r\n }\r\n }\r\n\r\n if (match === false) {\r\n return false;\r\n } else if (firstObjects.size === secondObjects.size) {\r\n match = true;\r\n for (const value of firstObjects) {\r\n let hasMatch = false;\r\n for (const secondValue of secondObjects) {\r\n if (this.deepEquals(value, secondValue) === true) {\r\n hasMatch = true;\r\n break;\r\n }\r\n }\r\n\r\n if (hasMatch === false) {\r\n match = false;\r\n break;\r\n }\r\n }\r\n\r\n if (match === false) {\r\n return false;\r\n } else if (firstArrays.size === secondArrays.size) {\r\n match = true;\r\n for (const value of firstArrays) {\r\n let hasMatch = false;\r\n for (const secondValue of secondArrays) {\r\n if (this.deepEquals(value, secondValue) === true) {\r\n hasMatch = true;\r\n break;\r\n }\r\n }\r\n\r\n if (hasMatch === false) {\r\n match = false;\r\n break;\r\n }\r\n }\r\n\r\n if (match === false) {\r\n return false;\r\n } else if (firstFunctions.size === secondFunctions.size) {\r\n match = true;\r\n for (const value of firstFunctions) {\r\n if (secondFunctions.has(value) === false) {\r\n match = false;\r\n break;\r\n }\r\n }\r\n\r\n if (match === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n } else if (typeof firstObject === 'object' && firstObject !== null) {\r\n if (typeof secondObject !== 'object') {\r\n return false;\r\n } else {\r\n let match = true;\r\n\r\n if (Object.keys(firstObject).length === Object.keys(secondObject).length) {\r\n for (const [key, value] of Object.entries(firstObject)) {\r\n const secondValue = secondObject[key];\r\n\r\n match = this.deepEquals(value, secondValue);\r\n\r\n if (match === false) {\r\n break;\r\n }\r\n }\r\n } else {\r\n match = false;\r\n }\r\n\r\n return match;\r\n }\r\n } else {\r\n if (Array.isArray(secondObject) === true) {\r\n return false;\r\n } else if (typeof secondObject === 'object' && secondObject !== null) {\r\n return false;\r\n } else {\r\n if (typeof firstObject === 'function') {\r\n if (typeof secondObject === 'function') {\r\n return JSON.stringify('' + firstObject) === JSON.stringify('' + secondObject);\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return JSON.stringify(firstObject) === JSON.stringify(secondObject);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxDeepEqualsPureService } from './ngx-deep-equals-pure.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n exports: [],\r\n providers: [NgxDeepEqualsPureService]\r\n})\r\nexport class NgxDeepEqualsPureModule { }\r\n","/*\r\n * Public API Surface of ngx-deep-equals-pure\r\n */\r\n\r\nexport * from './lib/ngx-deep-equals-pure.service';\r\nexport * from './lib/ngx-deep-equals-pure.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAAa,wBAAwB,CAAA;AAEnC,IAAA,WAAA,GAAA,GAAiB;IAEV,UAAU,CAAC,WAAgB,EAAE,YAAiB,EAAA;AACnD,QAAA,IAAI,WAAW,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE;AACjD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA,IAAI,YAAY,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;AACxD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;AACzC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAAM,iBAAA,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE;AACrD,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,WAAW,GAAa,IAAI,GAAG,EAAO,CAAC;AAC7C,gBAAA,MAAM,YAAY,GAAa,IAAI,GAAG,EAAO,CAAC;AAC9C,gBAAA,MAAM,WAAW,GAAa,IAAI,GAAG,EAAO,CAAC;AAC7C,gBAAA,MAAM,cAAc,GAAa,IAAI,GAAG,EAAO,CAAC;AAEhD,gBAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;AACjC,wBAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,qBAAA;AAAM,yBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,wBAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,qBAAA;AAAM,yBAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AACtC,wBAAA,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAChD,qBAAA;AAAM,yBAAA;AACL,wBAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,qBAAA;AACF,iBAAA;AAED,gBAAA,MAAM,YAAY,GAAa,IAAI,GAAG,EAAO,CAAC;AAC9C,gBAAA,MAAM,aAAa,GAAa,IAAI,GAAG,EAAO,CAAC;AAC/C,gBAAA,MAAM,YAAY,GAAa,IAAI,GAAG,EAAO,CAAC;AAC9C,gBAAA,MAAM,eAAe,GAAa,IAAI,GAAG,EAAO,CAAC;AAEjD,gBAAA,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;oBAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;AACjC,wBAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,qBAAA;AAAM,yBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,wBAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,qBAAA;AAAM,yBAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AACtC,wBAAA,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACjD,qBAAA;AAAM,yBAAA;AACL,wBAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,qBAAA;AACF,iBAAA;AAED,gBAAA,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;AAC1C,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AAAM,qBAAA;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,oBAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;wBAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;4BACrC,KAAK,GAAG,KAAK,CAAC;4BACd,MAAM;AACP,yBAAA;AACF,qBAAA;oBAED,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AAAM,yBAAA,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE;wBACnD,KAAK,GAAG,IAAI,CAAC;AACb,wBAAA,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;4BAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,4BAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;gCACvC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;oCAChD,QAAQ,GAAG,IAAI,CAAC;oCAChB,MAAM;AACP,iCAAA;AACF,6BAAA;4BAED,IAAI,QAAQ,KAAK,KAAK,EAAE;gCACtB,KAAK,GAAG,KAAK,CAAC;gCACd,MAAM;AACP,6BAAA;AACF,yBAAA;wBAED,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,4BAAA,OAAO,KAAK,CAAC;AACd,yBAAA;AAAM,6BAAA,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;4BACjD,KAAK,GAAG,IAAI,CAAC;AACb,4BAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;gCAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,gCAAA,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oCACtC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;wCAChD,QAAQ,GAAG,IAAI,CAAC;wCAChB,MAAM;AACP,qCAAA;AACF,iCAAA;gCAED,IAAI,QAAQ,KAAK,KAAK,EAAE;oCACtB,KAAK,GAAG,KAAK,CAAC;oCACd,MAAM;AACP,iCAAA;AACF,6BAAA;4BAED,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,gCAAA,OAAO,KAAK,CAAC;AACd,6BAAA;AAAM,iCAAA,IAAI,cAAc,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;gCACvD,KAAK,GAAG,IAAI,CAAC;AACb,gCAAA,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;oCAClC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;wCACxC,KAAK,GAAG,KAAK,CAAC;wCACd,MAAM;AACP,qCAAA;AACF,iCAAA;gCAED,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,oCAAA,OAAO,KAAK,CAAC;AACd,iCAAA;AAAM,qCAAA;AACL,oCAAA,OAAO,IAAI,CAAC;AACb,iCAAA;AACF,6BAAA;AAAM,iCAAA;AACL,gCAAA,OAAO,KAAK,CAAC;AACd,6BAAA;AACF,yBAAA;AAAM,6BAAA;AACL,4BAAA,OAAO,KAAK,CAAC;AACd,yBAAA;AACF,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE;AAClE,YAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;AACpC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAAM,iBAAA;gBACL,IAAI,KAAK,GAAG,IAAI,CAAC;AAEjB,gBAAA,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;AACxE,oBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,wBAAA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBAEtC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBAE5C,IAAI,KAAK,KAAK,KAAK,EAAE;4BACnB,MAAM;AACP,yBAAA;AACF,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,KAAK,GAAG,KAAK,CAAC;AACf,iBAAA;AAED,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AAAM,aAAA;YACL,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;AACxC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;iBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE;AACpE,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AACrC,oBAAA,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AACtC,wBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;AAC/E,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACrE,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AACF;;MC5JY,uBAAuB,CAAA;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;sHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;sHAAvB,uBAAuB,EAAA,SAAA,EAFvB,CAAC,wBAAwB,CAAC,EAAA,CAAA,CAAA,EAAA;;kGAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;ACRD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-deep-equals-pure",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": ">=
|
|
6
|
-
"@angular/core": ">=
|
|
5
|
+
"@angular/common": ">=18.0.0 || >=18.0.0-next.0",
|
|
6
|
+
"@angular/core": ">=18.0.0 || >=18.0.0-next.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": ">=2.3.0"
|