@sis-cc/dotstatsuite-components 17.30.2 → 17.31.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/lib/rules2/src/enhanceObservations.js +1 -1
- package/lib/rules2/src/table/getLayoutData2.js +11 -5
- package/lib/rules2/src/table/parseSeriesIndexesHierarchies.js +3 -1
- package/lib/rules2/src/utils.js +1 -2
- package/package.json +1 -1
- package/src/rules2/src/enhanceObservations.js +5 -1
- package/src/rules2/src/table/getLayoutData2.js +11 -6
- package/src/rules2/src/table/parseSeriesIndexesHierarchies.js +4 -2
- package/src/rules2/src/utils.js +1 -2
- package/test/enhanceObservations2.test.js +3 -3
- package/test/getLayoutData2.test.js +78 -1
- package/test/parseSeriesIndexesHierarchies.test.js +52 -0
|
@@ -58,7 +58,7 @@ var parseAttributesValues = function parseAttributesValues(obs, attributes, inde
|
|
|
58
58
|
return dim.id + '=' + valueId;
|
|
59
59
|
}), R.ifElse(R.isEmpty, R.always(null), R.join(':')))(indexedDimensions);
|
|
60
60
|
|
|
61
|
-
return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name', 'relationship', 'display'], attribute), { value: value, serieKey: serieKey, coordinates: coordinates, isObs: R.isEmpty(relationship) }), acc);
|
|
61
|
+
return R.assoc(attribute.id, (0, _extends3.default)({}, R.pick(['id', 'name', 'relationship', 'display', 'combined'], attribute), { value: value, serieKey: serieKey, coordinates: coordinates, isObs: R.isEmpty(relationship) }), acc);
|
|
62
62
|
}, {}, attrValuesIndexes);
|
|
63
63
|
};
|
|
64
64
|
|
|
@@ -33,7 +33,7 @@ var getValueData = function getValueData(index, dimension, parentsIndexes) {
|
|
|
33
33
|
var missingParents = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
34
34
|
return {
|
|
35
35
|
dimension: R.pick(['id', 'name', '__index'], dimension),
|
|
36
|
-
value: (0, _extends3.default)({}, R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name', 'isNonCoded', 'flags']))(dimension), {
|
|
36
|
+
value: (0, _extends3.default)({}, R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name', 'isNonCoded', 'flags', 'hasAdvancedAttributes']))(dimension), {
|
|
37
37
|
parents: parentsIndexes,
|
|
38
38
|
missingParents: missingParents
|
|
39
39
|
})
|
|
@@ -91,6 +91,9 @@ var getCoordinates = function getCoordinates(indexes, topCoordinates, definition
|
|
|
91
91
|
var getAttributesSeries = function getAttributesSeries(validator, attributesSeries) {
|
|
92
92
|
return R.reduce(function (acc, attrs) {
|
|
93
93
|
var attr = R.head(R.values(attrs));
|
|
94
|
+
if (R.length(attr.relationship || []) === 1 && !attr.combined) {
|
|
95
|
+
return acc;
|
|
96
|
+
}
|
|
94
97
|
var coordinates = R.propOr({}, 'coordinates', attr);
|
|
95
98
|
var isValid = validator(coordinates);
|
|
96
99
|
if (!isValid && !R.prop('isObs', attr)) {
|
|
@@ -120,13 +123,16 @@ var combineConcepts = function combineConcepts(combDimValues, definition, attrVa
|
|
|
120
123
|
}));
|
|
121
124
|
};
|
|
122
125
|
|
|
123
|
-
var getSerieFlagsAndSideProps = function getSerieFlagsAndSideProps(coordinates, validator, attributesValues, customAttributes, metadataCoordinates) {
|
|
126
|
+
var getSerieFlagsAndSideProps = function getSerieFlagsAndSideProps(coordinates, validator, attributesValues, customAttributes, metadataCoordinates, data) {
|
|
124
127
|
var layoutAttrValues = R.reject(function (attr) {
|
|
125
128
|
return R.prop('isObs', attr) && !validator(attr.coordinates);
|
|
126
129
|
}, attributesValues);
|
|
127
130
|
var flags = (0, _getFlagsAndNotes.getFlagsAndNotes)(layoutAttrValues, customAttributes);
|
|
128
131
|
var hasMetadata = !R.isNil(R.find(validator, metadataCoordinates));
|
|
129
|
-
var
|
|
132
|
+
var hasDataAdvancedAttributes = R.any(function (d) {
|
|
133
|
+
return R.has('value', d) ? d.hasAdvancedAttributes : R.any(R.prop('hasAdvancedAttributes'), d.values);
|
|
134
|
+
}, data);
|
|
135
|
+
var hasAdvancedAttributes = hasDataAdvancedAttributes || getHasAdvancedAttributes(layoutAttrValues, customAttributes);
|
|
130
136
|
var sideProps = hasMetadata || hasAdvancedAttributes ? { hasMetadata: hasMetadata, hasAdvancedAttributes: hasAdvancedAttributes, coordinates: coordinates } : null;
|
|
131
137
|
return { flags: flags, sideProps: sideProps };
|
|
132
138
|
};
|
|
@@ -195,7 +201,7 @@ var getSerieDataWithMissingLines = function getSerieDataWithMissingLines(serie,
|
|
|
195
201
|
return coordinatesValidator(coordinates) && !topCoordinatesValidator(coordinates);
|
|
196
202
|
};
|
|
197
203
|
|
|
198
|
-
var _getSerieFlagsAndSide = getSerieFlagsAndSideProps(serieCoordinates, flagsValidator, attributes, customAttributes, metadataCoordinates),
|
|
204
|
+
var _getSerieFlagsAndSide = getSerieFlagsAndSideProps(serieCoordinates, flagsValidator, attributes, customAttributes, metadataCoordinates, serieData.data),
|
|
199
205
|
flags = _getSerieFlagsAndSide.flags,
|
|
200
206
|
sideProps = _getSerieFlagsAndSide.sideProps;
|
|
201
207
|
|
|
@@ -223,7 +229,7 @@ var getSerieDataWithoutMissingLines = function getSerieDataWithoutMissingLines(s
|
|
|
223
229
|
attributes = _getSerieDimensionsDa2.attributes,
|
|
224
230
|
serieData = (0, _objectWithoutProperties3.default)(_getSerieDimensionsDa2, ['attributes']);
|
|
225
231
|
|
|
226
|
-
var _getSerieFlagsAndSide2 = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates),
|
|
232
|
+
var _getSerieFlagsAndSide2 = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates, serieData.data),
|
|
227
233
|
flags = _getSerieFlagsAndSide2.flags,
|
|
228
234
|
sideProps = _getSerieFlagsAndSide2.sideProps;
|
|
229
235
|
|
|
@@ -50,7 +50,9 @@ var parseSerieIndexesHierarchies = function parseSerieIndexesHierarchies(serieIn
|
|
|
50
50
|
}
|
|
51
51
|
var valueIndex = Math.abs(_valueIndex);
|
|
52
52
|
var parents = R.pathOr([], [dimensionIndex, 'values', valueIndex, 'parents'], dimensions);
|
|
53
|
-
var previousIndex = acc.isSameSerie ? R.
|
|
53
|
+
var previousIndex = acc.isSameSerie ? R.pipe(R.path(['indexes', dimensionIndex]), function (i) {
|
|
54
|
+
return R.isNil(i) ? -1 : Math.abs(i);
|
|
55
|
+
})(previousSerie) : -1;
|
|
54
56
|
var previousRegisteredIndexes = acc.isSameSerie ? R.pathOr(new _set2.default(), ['registeredIndexes', dimensionIndex], previousSerie) : new _set2.default();
|
|
55
57
|
var registeredIndexes = new _set2.default(previousRegisteredIndexes);
|
|
56
58
|
|
package/lib/rules2/src/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -39,7 +39,11 @@ const parseAttributesValues = (obs, attributes, indexedDimensions) => {
|
|
|
39
39
|
R.ifElse(R.isEmpty, R.always(null), R.join(':'))
|
|
40
40
|
)(indexedDimensions);
|
|
41
41
|
|
|
42
|
-
return R.assoc(
|
|
42
|
+
return R.assoc(
|
|
43
|
+
attribute.id,
|
|
44
|
+
{ ...R.pick(['id', 'name', 'relationship', 'display', 'combined'], attribute), value, serieKey, coordinates, isObs: R.isEmpty(relationship) },
|
|
45
|
+
acc
|
|
46
|
+
);
|
|
43
47
|
},
|
|
44
48
|
{},
|
|
45
49
|
attrValuesIndexes
|
|
@@ -5,7 +5,7 @@ import { getLayoutCoordinatesValidator } from '../utils';
|
|
|
5
5
|
const getValueData = (index, dimension, parentsIndexes, missingParents = []) => ({
|
|
6
6
|
dimension: R.pick(['id', 'name', '__index'], dimension),
|
|
7
7
|
value: {
|
|
8
|
-
...R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name', 'isNonCoded', 'flags']))(dimension),
|
|
8
|
+
...R.pipe(R.pathOr({}, ['values', index]), R.pick(['id', 'name', 'isNonCoded', 'flags', 'hasAdvancedAttributes']))(dimension),
|
|
9
9
|
parents: parentsIndexes,
|
|
10
10
|
missingParents
|
|
11
11
|
}
|
|
@@ -52,6 +52,9 @@ const getCoordinates = (indexes, topCoordinates, definition) => R.addIndex(R.red
|
|
|
52
52
|
|
|
53
53
|
const getAttributesSeries = (validator, attributesSeries) => R.reduce((acc, attrs) => {
|
|
54
54
|
const attr = R.head(R.values(attrs));
|
|
55
|
+
if (R.length(attr.relationship || []) === 1 && !attr.combined) {
|
|
56
|
+
return acc;
|
|
57
|
+
}
|
|
55
58
|
const coordinates = R.propOr({}, 'coordinates', attr);
|
|
56
59
|
const isValid = validator(coordinates);
|
|
57
60
|
if (!isValid && !R.prop('isObs', attr)) {
|
|
@@ -79,11 +82,14 @@ const combineConcepts = (combDimValues, definition, attrValues) => R.over(
|
|
|
79
82
|
}, [], definition.concepts)
|
|
80
83
|
})));
|
|
81
84
|
|
|
82
|
-
const getSerieFlagsAndSideProps = (coordinates, validator, attributesValues, customAttributes, metadataCoordinates) => {
|
|
85
|
+
const getSerieFlagsAndSideProps = (coordinates, validator, attributesValues, customAttributes, metadataCoordinates, data) => {
|
|
83
86
|
const layoutAttrValues = R.reject(attr => R.prop('isObs', attr) && !validator(attr.coordinates), attributesValues);
|
|
84
87
|
const flags = getFlagsAndNotes(layoutAttrValues, customAttributes);
|
|
85
88
|
const hasMetadata = !R.isNil(R.find(validator, metadataCoordinates));
|
|
86
|
-
|
|
89
|
+
const hasDataAdvancedAttributes = R.any(
|
|
90
|
+
d => R.has('value', d) ? d.hasAdvancedAttributes : R.any(R.prop('hasAdvancedAttributes'), d.values)
|
|
91
|
+
, data);
|
|
92
|
+
const hasAdvancedAttributes = hasDataAdvancedAttributes || getHasAdvancedAttributes(layoutAttrValues, customAttributes);
|
|
87
93
|
const sideProps = hasMetadata || hasAdvancedAttributes
|
|
88
94
|
? { hasMetadata, hasAdvancedAttributes, coordinates } : null;
|
|
89
95
|
return { flags, sideProps };
|
|
@@ -140,11 +146,10 @@ export const getSerieDataWithMissingLines = (serie, definition, topCoordinates,
|
|
|
140
146
|
return R.over(R.lensProp('parentsIndexes'), R.append(index), acc);
|
|
141
147
|
},
|
|
142
148
|
{ parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
|
|
143
|
-
|
|
144
149
|
const { attributes, ...serieData } = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents);
|
|
145
150
|
const topCoordinatesValidator = getLayoutCoordinatesValidator(topCoordinates);
|
|
146
151
|
const flagsValidator = coordinates => coordinatesValidator(coordinates) && !topCoordinatesValidator(coordinates);
|
|
147
|
-
const { flags, sideProps } = getSerieFlagsAndSideProps(serieCoordinates, flagsValidator, attributes, customAttributes, metadataCoordinates);
|
|
152
|
+
const { flags, sideProps } = getSerieFlagsAndSideProps(serieCoordinates, flagsValidator, attributes, customAttributes, metadataCoordinates, serieData.data);
|
|
148
153
|
return R.append({ ...serieData, flags, sideProps, coordinates: serieCoordinates }, lines);
|
|
149
154
|
};
|
|
150
155
|
|
|
@@ -161,7 +166,7 @@ export const getSerieDataWithoutMissingLines = (serie, definition, topCoordinate
|
|
|
161
166
|
{ parentsIndexes: _parentsIndexes, missingParents: [] }, missingParentsIndexes);
|
|
162
167
|
|
|
163
168
|
const { attributes, ...serieData } = getSerieDimensionsData(serie, definition, attributesValues, getMissingParents);
|
|
164
|
-
const { flags, sideProps } = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates);
|
|
169
|
+
const { flags, sideProps } = getSerieFlagsAndSideProps(serieCoordinates, coordinatesValidator, attributes, customAttributes, metadataCoordinates, serieData.data);
|
|
165
170
|
return ({ ...serieData, flags, sideProps, coordinates: serieCoordinates });
|
|
166
171
|
};
|
|
167
172
|
|
|
@@ -14,8 +14,10 @@ const parseSerieIndexesHierarchies = (serieIndexes, previousSerie, dimensions, d
|
|
|
14
14
|
}
|
|
15
15
|
const valueIndex = Math.abs(_valueIndex);
|
|
16
16
|
const parents = R.pathOr([], [dimensionIndex, 'values', valueIndex, 'parents'], dimensions);
|
|
17
|
-
const previousIndex = acc.isSameSerie
|
|
18
|
-
|
|
17
|
+
const previousIndex = acc.isSameSerie
|
|
18
|
+
? R.pipe(R.path(['indexes', dimensionIndex]), i => R.isNil(i) ? -1 : Math.abs(i))(previousSerie)
|
|
19
|
+
: -1;
|
|
20
|
+
const previousRegisteredIndexes = acc.isSameSerie? R.pathOr(new Set(), ['registeredIndexes', dimensionIndex], previousSerie) : new Set();
|
|
19
21
|
const registeredIndexes = new Set(previousRegisteredIndexes);
|
|
20
22
|
const { presentParentsIndexes, missingParentsIndexes } = R.reduce((_acc, i) => {
|
|
21
23
|
if (previousRegisteredIndexes.has(i)) {
|
package/src/rules2/src/utils.js
CHANGED
|
@@ -245,9 +245,9 @@ describe('enhanceObservations tests', () => {
|
|
|
245
245
|
A1: { id: 'A1', display: false, value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
246
246
|
A2: { id: 'A2', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
247
247
|
A3: { id: 'A3', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
248
|
-
A4: { id: 'A4', display: false, value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
249
|
-
A5: { id: 'A5', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
250
|
-
A6: { id: 'A6', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true },
|
|
248
|
+
A4: { id: 'A4', display: false, value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true, combined: true },
|
|
249
|
+
A5: { id: 'A5', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true, combined: true },
|
|
250
|
+
A6: { id: 'A6', value: null, relationship: [], serieKey: null, coordinates: {}, isObs: true, combined: true },
|
|
251
251
|
},
|
|
252
252
|
indexedDimValIds: {}
|
|
253
253
|
}
|
|
@@ -253,7 +253,7 @@ describe('getLayoutData 2 tests', () => {
|
|
|
253
253
|
}
|
|
254
254
|
]);
|
|
255
255
|
});
|
|
256
|
-
it('
|
|
256
|
+
it('getSerieDataWithoutMissingLines test 1', () => {
|
|
257
257
|
const dimensions = [
|
|
258
258
|
{
|
|
259
259
|
id: 'D0',
|
|
@@ -362,4 +362,81 @@ describe('getLayoutData 2 tests', () => {
|
|
|
362
362
|
}
|
|
363
363
|
});
|
|
364
364
|
});
|
|
365
|
+
it('getSerieDataWithoutMissingLines, sideProps and flags non dupplication', () => {
|
|
366
|
+
const dimensions = [
|
|
367
|
+
{
|
|
368
|
+
id: 'D0',
|
|
369
|
+
values: [
|
|
370
|
+
{ id: 'D0V0', flags: [{ id: 'A0', value: { id: 'A0V' }}] },
|
|
371
|
+
{ id: 'D1V1' }
|
|
372
|
+
]
|
|
373
|
+
}, {
|
|
374
|
+
id: 'COMB',
|
|
375
|
+
concepts: ['D1', 'A1'],
|
|
376
|
+
dimensions: [
|
|
377
|
+
{
|
|
378
|
+
id: 'D1',
|
|
379
|
+
values: [
|
|
380
|
+
{ id: 'D1V0', hasAdvancedAttributes: true },
|
|
381
|
+
{ id: 'D1V1' },
|
|
382
|
+
]
|
|
383
|
+
}
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
];
|
|
387
|
+
|
|
388
|
+
const attributesSeries = {
|
|
389
|
+
'D0=D0V0': {
|
|
390
|
+
A0: { id: 'A0', value: { id: 'A0V' }, coordinates: { D0: 'D0V0' }, relationship: ['D0'] },
|
|
391
|
+
},
|
|
392
|
+
'D1=D1V0': {
|
|
393
|
+
A1: { id: 'A1', value: { id: 'A1V' }, coordinates: { D1: 'D1V0' }, relationship: ['D1'], combined: true },
|
|
394
|
+
},
|
|
395
|
+
'D0=D0V0:D1=D1V0': {
|
|
396
|
+
A2: { id: 'A2', value: { id: 'A2V' }, coordinates: { D0: 'D0V0', D1: 'D1V0' }, relationship: ['D0', 'D1'] },
|
|
397
|
+
},
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
const topCoordinates = {};
|
|
401
|
+
|
|
402
|
+
const serie = {
|
|
403
|
+
indexes: [0, [0]],
|
|
404
|
+
parentsIndexes: [[], [[]]],
|
|
405
|
+
missingIndexes: [[], [[]]],
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
const customAttributes = {
|
|
409
|
+
flags: [],
|
|
410
|
+
notes: ['A0', 'A2']
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
expect(getSerieDataWithoutMissingLines(serie, dimensions, topCoordinates, attributesSeries, customAttributes, {})).to.deep.equal({
|
|
414
|
+
data: [
|
|
415
|
+
{
|
|
416
|
+
dimension: { id: 'D0' },
|
|
417
|
+
value: { id: 'D0V0', missingParents: [], parents: [], flags: [{ id: 'A0', value: { id: 'A0V' } }] }
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
dimension: { id: 'COMB' },
|
|
421
|
+
values: [
|
|
422
|
+
{ id: 'D1V0', missingParents: [], parents: [], hasAdvancedAttributes: true },
|
|
423
|
+
{ id: 'A1V' },
|
|
424
|
+
]
|
|
425
|
+
}
|
|
426
|
+
],
|
|
427
|
+
coordinates: { D0: 'D0V0', D1: 'D1V0' },
|
|
428
|
+
key: 'D0=D0V0:D1=D1V0',
|
|
429
|
+
flags: [
|
|
430
|
+
{ id: 'A2', value: { id: 'A2V' } }
|
|
431
|
+
],
|
|
432
|
+
sideProps: {
|
|
433
|
+
coordinates: {
|
|
434
|
+
D0: 'D0V0',
|
|
435
|
+
D1: 'D1V0',
|
|
436
|
+
},
|
|
437
|
+
hasAdvancedAttributes: true,
|
|
438
|
+
hasMetadata: false
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
});
|
|
365
442
|
});
|
|
@@ -102,4 +102,56 @@ describe('parseSeriesIndexesHierarchies tests', () => {
|
|
|
102
102
|
{ indexes: [[0, 1]], parentsIndexes: [[[], [0]]], missingIndexes: [[[], []]], registeredIndexes: [[new Set([0]), new Set([0, 1])]] },
|
|
103
103
|
])
|
|
104
104
|
});
|
|
105
|
+
it('combinations and inversed dimension', () => {
|
|
106
|
+
const dimensions = [
|
|
107
|
+
{
|
|
108
|
+
id: 'D',
|
|
109
|
+
values: [
|
|
110
|
+
{ id: 'A' },
|
|
111
|
+
{ id: 'B' },
|
|
112
|
+
{ id: 'C' }
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: 'COMB',
|
|
117
|
+
dimensions: [{
|
|
118
|
+
values: [
|
|
119
|
+
{ id: 'v0' },
|
|
120
|
+
{ id: 'v1' },
|
|
121
|
+
{ id: 'v2' },
|
|
122
|
+
{ id: 'v3' },
|
|
123
|
+
{ id: 'v4' },
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
values: [
|
|
128
|
+
{ id: 'W', isSelected: true },
|
|
129
|
+
{ id: 'NA', parents: [0], isSelected: false },
|
|
130
|
+
{ id: 'A', parents: [0, 1], isSelected: true },
|
|
131
|
+
{ id: 'USA', parents: [0, 1, 2], isSelected: true },
|
|
132
|
+
{ id: 'CAN', parents: [0, 1, 2], isSelected: true },
|
|
133
|
+
{ id: 'MEX', parents: [0, 1, 2], isSelected: true }
|
|
134
|
+
]
|
|
135
|
+
}]
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
const seriesIndexes = [
|
|
140
|
+
[-2, [0, 2]],
|
|
141
|
+
[-2, [0, 3]],
|
|
142
|
+
[-1, [0, 2]],
|
|
143
|
+
[-1, [0, 3]],
|
|
144
|
+
[0, [0, 2]],
|
|
145
|
+
[0, [0, 3]],
|
|
146
|
+
];
|
|
147
|
+
|
|
148
|
+
expect(parseSeriesIndexesHierarchies(seriesIndexes, dimensions)).to.deep.equal([
|
|
149
|
+
{ indexes: [-2, [0, 2]], parentsIndexes: [[], [[], []]], missingIndexes: [[], [[], [0]]], registeredIndexes: [new Set([2]), [new Set([0]), new Set([0, 2])]] },
|
|
150
|
+
{ indexes: [-2, [0, 3]], parentsIndexes: [[], [[], [0, 2]]], missingIndexes: [[], [[], []]], registeredIndexes: [new Set([2]), [new Set([0]), new Set([0, 2, 3])]] },
|
|
151
|
+
{ indexes: [-1, [0, 2]], parentsIndexes: [[], [[], []]], missingIndexes: [[], [[], [0]]], registeredIndexes: [new Set([1, 2]), [new Set([0]), new Set([0, 2])]] },
|
|
152
|
+
{ indexes: [-1, [0, 3]], parentsIndexes: [[], [[], [0, 2]]], missingIndexes: [[], [[], []]], registeredIndexes: [new Set([1, 2]), [new Set([0]), new Set([0, 2, 3])]] },
|
|
153
|
+
{ indexes: [0, [0, 2]], parentsIndexes: [[], [[], []]], missingIndexes: [[], [[], [0]]], registeredIndexes: [new Set([0, 1, 2]), [new Set([0]), new Set([0, 2])]] },
|
|
154
|
+
{ indexes: [0, [0, 3]], parentsIndexes: [[], [[], [0, 2]]], missingIndexes: [[], [[], []]], registeredIndexes: [new Set([0, 1, 2]), [new Set([0]), new Set([0, 2, 3])]] },
|
|
155
|
+
])
|
|
156
|
+
})
|
|
105
157
|
});
|