@rljson/rljson 0.0.29 → 0.0.30
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.architecture.md +1 -1
- package/dist/README.architecture.md +1 -1
- package/dist/content/cake.d.ts +4 -0
- package/dist/content/collection.d.ts +5 -1
- package/dist/example/bakery-example.d.ts +1 -1
- package/dist/rljson.js +145 -92
- package/dist/src/example.ts +79 -70
- package/dist/validate/base-validator.d.ts +4 -2
- package/package.json +1 -1
package/README.architecture.md
CHANGED
package/dist/content/cake.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export interface Cake extends Json {
|
|
|
19
19
|
* must match these ids. The item id sets can be found in the idSets table.
|
|
20
20
|
*/
|
|
21
21
|
idSet?: IdSetRef;
|
|
22
|
+
/**
|
|
23
|
+
* The table containing the item ids of the collection
|
|
24
|
+
*/
|
|
25
|
+
idSetsTable?: TableKey;
|
|
22
26
|
/**
|
|
23
27
|
* The table containing the item collections defining the layers
|
|
24
28
|
*/
|
|
@@ -16,10 +16,14 @@ export interface Collection extends Json {
|
|
|
16
16
|
*/
|
|
17
17
|
base?: CollectionRef;
|
|
18
18
|
/**
|
|
19
|
-
* The item ids of the collection. If
|
|
19
|
+
* The item ids of the collection. If present, the item ids in `assign`
|
|
20
20
|
* must match these ids. The item id sets can be found in the idSets table.
|
|
21
21
|
*/
|
|
22
22
|
idSet?: IdSetRef;
|
|
23
|
+
/**
|
|
24
|
+
* The table containing the item ids of the collection
|
|
25
|
+
*/
|
|
26
|
+
idSetsTable?: TableKey;
|
|
23
27
|
/**
|
|
24
28
|
* The table containing the properties that are assigned to the items
|
|
25
29
|
* with the assign property below
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Json } from '@rljson/json';
|
|
2
|
+
import { IdSetsTable } from '../../dist/content/id-set.ts';
|
|
2
3
|
import { BuffetsTable } from '../content/buffet.ts';
|
|
3
4
|
import { CakesTable } from '../content/cake.ts';
|
|
4
5
|
import { CollectionsTable } from '../content/collection.ts';
|
|
5
|
-
import { IdSetsTable } from '../content/id-set.ts';
|
|
6
6
|
import { PropertiesTable } from '../content/properties.ts';
|
|
7
7
|
import { Rljson } from '../rljson.ts';
|
|
8
8
|
import { Ref } from '../typedefs.ts';
|
package/dist/rljson.js
CHANGED
|
@@ -76,21 +76,12 @@ const bakeryExample = () => {
|
|
|
76
76
|
],
|
|
77
77
|
_hash: ""
|
|
78
78
|
});
|
|
79
|
-
const idSets = hip({
|
|
80
|
-
_type: "idSets",
|
|
81
|
-
_data: [
|
|
82
|
-
{
|
|
83
|
-
add: ["slice0", "slice1"],
|
|
84
|
-
_hash: ""
|
|
85
|
-
}
|
|
86
|
-
],
|
|
87
|
-
_hash: ""
|
|
88
|
-
});
|
|
89
79
|
const cakes = hip({
|
|
90
80
|
_type: "cakes",
|
|
91
81
|
_data: [
|
|
92
82
|
{
|
|
93
|
-
|
|
83
|
+
idSetsTable: "slices",
|
|
84
|
+
idSet: slices._data[0]._hash,
|
|
94
85
|
collections: "layers",
|
|
95
86
|
layers: {
|
|
96
87
|
flour: layers._data[0]._hash
|
|
@@ -113,7 +104,6 @@ const bakeryExample = () => {
|
|
|
113
104
|
]
|
|
114
105
|
});
|
|
115
106
|
const result = {
|
|
116
|
-
idSets,
|
|
117
107
|
buffets,
|
|
118
108
|
cakes,
|
|
119
109
|
slices,
|
|
@@ -268,75 +258,76 @@ __publicField(_Example, "ok", {
|
|
|
268
258
|
};
|
|
269
259
|
},
|
|
270
260
|
complete: () => {
|
|
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
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
|
|
300
|
-
properties: "properties",
|
|
301
|
-
assign: {
|
|
302
|
-
id0: "AFhW-fMzdCiz6bUZscp1Lf",
|
|
303
|
-
id1: "mv6w8rID8lQxLsje1EHQMY"
|
|
304
|
-
},
|
|
305
|
-
_hash: "QB2JC6X_-rUAoixuldzWP-"
|
|
306
|
-
}
|
|
307
|
-
]
|
|
308
|
-
},
|
|
309
|
-
cakes: {
|
|
310
|
-
_type: "cakes",
|
|
311
|
-
_data: [
|
|
312
|
-
{
|
|
313
|
-
idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
|
|
314
|
-
collections: "collections",
|
|
315
|
-
layers: {
|
|
316
|
-
layer0: "sxv2NCM6UNOcX-i9FhOs5W",
|
|
317
|
-
layer1: "QB2JC6X_-rUAoixuldzWP-"
|
|
318
|
-
},
|
|
319
|
-
_hash: "QlTVJL3uoXO1L_fw2evLPe"
|
|
320
|
-
}
|
|
321
|
-
]
|
|
322
|
-
},
|
|
323
|
-
buffets: {
|
|
324
|
-
_type: "buffets",
|
|
325
|
-
_data: [
|
|
326
|
-
{
|
|
327
|
-
items: [
|
|
328
|
-
{
|
|
329
|
-
table: "cakes",
|
|
330
|
-
ref: "QlTVJL3uoXO1L_fw2evLPe"
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
table: "collections",
|
|
334
|
-
ref: "QB2JC6X_-rUAoixuldzWP-"
|
|
335
|
-
}
|
|
336
|
-
]
|
|
337
|
-
}
|
|
338
|
-
]
|
|
261
|
+
const idSets = hip({
|
|
262
|
+
_type: "idSets",
|
|
263
|
+
_data: [
|
|
264
|
+
{
|
|
265
|
+
add: ["id0", "id1"]
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
});
|
|
269
|
+
const properties = hip({
|
|
270
|
+
_type: "properties",
|
|
271
|
+
_data: [{ a: "0" }, { a: "1" }]
|
|
272
|
+
});
|
|
273
|
+
const property0 = properties._data[0];
|
|
274
|
+
const property1 = properties._data[1];
|
|
275
|
+
const collection0 = hip({
|
|
276
|
+
idSetsTable: "idSets",
|
|
277
|
+
idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
|
|
278
|
+
properties: "properties",
|
|
279
|
+
assign: {}
|
|
280
|
+
});
|
|
281
|
+
const collection1 = hip({
|
|
282
|
+
base: collection0._hash,
|
|
283
|
+
idSetsTable: "idSets",
|
|
284
|
+
idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
|
|
285
|
+
properties: "properties",
|
|
286
|
+
assign: {
|
|
287
|
+
id0: property0._hash,
|
|
288
|
+
id1: property1._hash
|
|
339
289
|
}
|
|
290
|
+
});
|
|
291
|
+
const collections = hip({
|
|
292
|
+
_type: "collections",
|
|
293
|
+
_data: [collection0, collection1]
|
|
294
|
+
});
|
|
295
|
+
const cake = hip({
|
|
296
|
+
idSetsTable: "idSets",
|
|
297
|
+
idSet: idSets._data[0]._hash,
|
|
298
|
+
collections: "collections",
|
|
299
|
+
layers: {
|
|
300
|
+
layer0: collection0._hash,
|
|
301
|
+
layer1: collection1._hash
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
const cakes = hip({
|
|
305
|
+
_type: "cakes",
|
|
306
|
+
_data: [cake]
|
|
307
|
+
});
|
|
308
|
+
const buffets = hip({
|
|
309
|
+
_type: "buffets",
|
|
310
|
+
_data: [
|
|
311
|
+
{
|
|
312
|
+
items: [
|
|
313
|
+
{
|
|
314
|
+
table: "cakes",
|
|
315
|
+
ref: cakes._data[0]._hash
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
table: "collections",
|
|
319
|
+
ref: collection0._hash
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
]
|
|
324
|
+
});
|
|
325
|
+
return {
|
|
326
|
+
idSets,
|
|
327
|
+
properties,
|
|
328
|
+
collections,
|
|
329
|
+
cakes,
|
|
330
|
+
buffets
|
|
340
331
|
};
|
|
341
332
|
}
|
|
342
333
|
});
|
|
@@ -432,7 +423,7 @@ __publicField(_Example, "broken", {
|
|
|
432
423
|
missingAssignedProperty: () => {
|
|
433
424
|
const result = _Example.ok.complete();
|
|
434
425
|
result.properties._data.splice(1, 2);
|
|
435
|
-
return result;
|
|
426
|
+
return hip(result, true, false);
|
|
436
427
|
}
|
|
437
428
|
},
|
|
438
429
|
cakes: {
|
|
@@ -462,7 +453,7 @@ __publicField(_Example, "broken", {
|
|
|
462
453
|
const buffet = result.buffets._data[0];
|
|
463
454
|
buffet.items[0].table = "MISSING0";
|
|
464
455
|
buffet.items[1].table = "MISSING1";
|
|
465
|
-
hip(
|
|
456
|
+
hip(result, true, false);
|
|
466
457
|
return result;
|
|
467
458
|
},
|
|
468
459
|
missingItems: () => {
|
|
@@ -470,7 +461,7 @@ __publicField(_Example, "broken", {
|
|
|
470
461
|
const buffet = result.buffets._data[0];
|
|
471
462
|
buffet.items[0].ref = "MISSING0";
|
|
472
463
|
buffet.items[1].ref = "MISSING1";
|
|
473
|
-
hip(
|
|
464
|
+
hip(result, true, false);
|
|
474
465
|
return result;
|
|
475
466
|
}
|
|
476
467
|
}
|
|
@@ -600,10 +591,12 @@ class _BaseValidator {
|
|
|
600
591
|
() => this._refsNotFound(),
|
|
601
592
|
// Check collections
|
|
602
593
|
() => this._collectionBasesNotFound(),
|
|
603
|
-
() => this.
|
|
594
|
+
() => this._collectionIdSetsTableNotFound(),
|
|
595
|
+
() => this._collectionIdSetNotFound(),
|
|
604
596
|
() => this._collectionPropertyAssignmentsNotFound(),
|
|
605
597
|
// Check cakes
|
|
606
|
-
() => this.
|
|
598
|
+
() => this._cakeIdSetsTableNotFound(),
|
|
599
|
+
() => this._cakeIdSetNotFound(),
|
|
607
600
|
() => this._cakeCollectionTablesNotFound(),
|
|
608
601
|
// Check buffets
|
|
609
602
|
() => this._buffetReferencedTableNotFound()
|
|
@@ -1013,20 +1006,50 @@ class _BaseValidator {
|
|
|
1013
1006
|
};
|
|
1014
1007
|
}
|
|
1015
1008
|
}
|
|
1016
|
-
|
|
1009
|
+
_collectionIdSetsTableNotFound() {
|
|
1010
|
+
const brokenCollections = [];
|
|
1011
|
+
iterateTables(this.rljson, (tableKey, table) => {
|
|
1012
|
+
if (table._type !== "collections") {
|
|
1013
|
+
return;
|
|
1014
|
+
}
|
|
1015
|
+
const collectionsTable = table;
|
|
1016
|
+
for (const collection of collectionsTable._data) {
|
|
1017
|
+
const idSets = collection.idSetsTable;
|
|
1018
|
+
if (!idSets) {
|
|
1019
|
+
continue;
|
|
1020
|
+
}
|
|
1021
|
+
const idSetsTable = this.rljsonIndexed[idSets];
|
|
1022
|
+
if (!idSetsTable) {
|
|
1023
|
+
brokenCollections.push({
|
|
1024
|
+
collectionsTable: tableKey,
|
|
1025
|
+
collectionHash: collection._hash,
|
|
1026
|
+
missingIdSetsTable: idSets
|
|
1027
|
+
});
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
});
|
|
1031
|
+
if (brokenCollections.length > 0) {
|
|
1032
|
+
this.errors.collectionIdSetsTableNotFound = {
|
|
1033
|
+
error: "Id sets tables are missing",
|
|
1034
|
+
brokenCollections
|
|
1035
|
+
};
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
_collectionIdSetNotFound() {
|
|
1017
1039
|
const brokenCollections = [];
|
|
1018
1040
|
iterateTables(this.rljson, (tableKey, table) => {
|
|
1019
1041
|
if (table._type !== "collections") {
|
|
1020
1042
|
return;
|
|
1021
1043
|
}
|
|
1022
|
-
const idSets = this.rljsonIndexed.idSets;
|
|
1023
1044
|
const collectionsTable = table;
|
|
1024
1045
|
for (const collection of collectionsTable._data) {
|
|
1025
1046
|
const idSetRef = collection.idSet;
|
|
1026
1047
|
if (!idSetRef) {
|
|
1027
1048
|
continue;
|
|
1028
1049
|
}
|
|
1029
|
-
const
|
|
1050
|
+
const idSets = collection.idSetsTable;
|
|
1051
|
+
const idSetsTable = this.rljsonIndexed[idSets];
|
|
1052
|
+
const idSet = idSetsTable._data[idSetRef];
|
|
1030
1053
|
if (!idSet) {
|
|
1031
1054
|
brokenCollections.push({
|
|
1032
1055
|
collectionsTable: tableKey,
|
|
@@ -1037,7 +1060,7 @@ class _BaseValidator {
|
|
|
1037
1060
|
}
|
|
1038
1061
|
});
|
|
1039
1062
|
if (brokenCollections.length > 0) {
|
|
1040
|
-
this.errors.
|
|
1063
|
+
this.errors.collectionIdSetNotFound = {
|
|
1041
1064
|
error: "Id sets of collections are missing",
|
|
1042
1065
|
brokenCollections
|
|
1043
1066
|
};
|
|
@@ -1093,19 +1116,49 @@ class _BaseValidator {
|
|
|
1093
1116
|
};
|
|
1094
1117
|
}
|
|
1095
1118
|
}
|
|
1096
|
-
|
|
1119
|
+
_cakeIdSetsTableNotFound() {
|
|
1120
|
+
const brokenCakes = [];
|
|
1121
|
+
iterateTables(this.rljson, (tableKey, table) => {
|
|
1122
|
+
if (table._type !== "cakes") {
|
|
1123
|
+
return;
|
|
1124
|
+
}
|
|
1125
|
+
const cakesTable = table;
|
|
1126
|
+
for (const cake of cakesTable._data) {
|
|
1127
|
+
const idSetsRef = cake.idSetsTable;
|
|
1128
|
+
if (!idSetsRef) {
|
|
1129
|
+
continue;
|
|
1130
|
+
}
|
|
1131
|
+
const idSets = this.rljsonIndexed[idSetsRef];
|
|
1132
|
+
if (!idSets) {
|
|
1133
|
+
brokenCakes.push({
|
|
1134
|
+
cakeTable: tableKey,
|
|
1135
|
+
brokenCake: cake._hash,
|
|
1136
|
+
missingIdSets: idSetsRef
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
});
|
|
1141
|
+
if (brokenCakes.length > 0) {
|
|
1142
|
+
this.errors.cakeIdSetsTableNotFound = {
|
|
1143
|
+
error: "Id sets tables referenced by cakes are missing",
|
|
1144
|
+
brokenCakes
|
|
1145
|
+
};
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
_cakeIdSetNotFound() {
|
|
1097
1149
|
const brokenCakes = [];
|
|
1098
1150
|
iterateTables(this.rljson, (tableKey, table) => {
|
|
1099
1151
|
if (table._type !== "cakes") {
|
|
1100
1152
|
return;
|
|
1101
1153
|
}
|
|
1102
|
-
const idSets = this.rljsonIndexed.idSets;
|
|
1103
1154
|
const cakesTable = table;
|
|
1104
1155
|
for (const cake of cakesTable._data) {
|
|
1105
1156
|
const idSetRef = cake.idSet;
|
|
1106
1157
|
if (!idSetRef) {
|
|
1107
1158
|
continue;
|
|
1108
1159
|
}
|
|
1160
|
+
const idSetsRef = cake.idSetsTable;
|
|
1161
|
+
const idSets = this.rljsonIndexed[idSetsRef];
|
|
1109
1162
|
const idSet = idSets._data[idSetRef];
|
|
1110
1163
|
if (!idSet) {
|
|
1111
1164
|
brokenCakes.push({
|
|
@@ -1117,7 +1170,7 @@ class _BaseValidator {
|
|
|
1117
1170
|
}
|
|
1118
1171
|
});
|
|
1119
1172
|
if (brokenCakes.length > 0) {
|
|
1120
|
-
this.errors.
|
|
1173
|
+
this.errors.cakeIdSetNotFound = {
|
|
1121
1174
|
error: "Id sets of cakes are missing",
|
|
1122
1175
|
brokenCakes
|
|
1123
1176
|
};
|
package/dist/src/example.ts
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
import { hip } from '@rljson/hash';
|
|
8
8
|
import { exampleJsonObject } from '@rljson/json';
|
|
9
9
|
|
|
10
|
+
import { BuffetsTable } from './content/buffet.ts';
|
|
11
|
+
import { Cake, CakesTable } from './content/cake.ts';
|
|
12
|
+
import { Collection, CollectionsTable } from './content/collection.ts';
|
|
13
|
+
import { IdSetsTable } from './content/id-set.ts';
|
|
14
|
+
import { PropertiesTable } from './content/properties.ts';
|
|
10
15
|
import { TablesCfgTable } from './content/table-cfg.ts';
|
|
11
16
|
import { bakeryExample } from './example/bakery-example.ts';
|
|
12
17
|
import { Rljson } from './rljson.ts';
|
|
@@ -151,80 +156,84 @@ export class Example {
|
|
|
151
156
|
};
|
|
152
157
|
},
|
|
153
158
|
complete: (): Rljson => {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
159
|
+
const idSets: IdSetsTable = hip({
|
|
160
|
+
_type: 'idSets',
|
|
161
|
+
_data: [
|
|
162
|
+
{
|
|
163
|
+
add: ['id0', 'id1'],
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
});
|
|
157
167
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
168
|
+
const properties: PropertiesTable<any> = hip({
|
|
169
|
+
_type: 'properties',
|
|
170
|
+
_data: [{ a: '0' }, { a: '1' }],
|
|
171
|
+
});
|
|
172
|
+
const property0 = properties._data[0];
|
|
173
|
+
const property1 = properties._data[1];
|
|
174
|
+
|
|
175
|
+
const collection0: Collection = hip({
|
|
176
|
+
idSetsTable: 'idSets',
|
|
177
|
+
idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
|
|
178
|
+
properties: 'properties',
|
|
179
|
+
assign: {},
|
|
180
|
+
});
|
|
165
181
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
182
|
+
const collection1: Collection = hip({
|
|
183
|
+
base: collection0._hash as string,
|
|
184
|
+
idSetsTable: 'idSets',
|
|
185
|
+
idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
|
|
186
|
+
properties: 'properties',
|
|
187
|
+
assign: {
|
|
188
|
+
id0: property0._hash,
|
|
189
|
+
id1: property1._hash,
|
|
172
190
|
},
|
|
191
|
+
});
|
|
173
192
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
properties: 'properties',
|
|
187
|
-
assign: {
|
|
188
|
-
id0: 'AFhW-fMzdCiz6bUZscp1Lf',
|
|
189
|
-
id1: 'mv6w8rID8lQxLsje1EHQMY',
|
|
190
|
-
},
|
|
191
|
-
_hash: 'QB2JC6X_-rUAoixuldzWP-',
|
|
192
|
-
},
|
|
193
|
-
],
|
|
193
|
+
const collections: CollectionsTable = hip({
|
|
194
|
+
_type: 'collections',
|
|
195
|
+
_data: [collection0, collection1],
|
|
196
|
+
} as CollectionsTable);
|
|
197
|
+
|
|
198
|
+
const cake: Cake = hip({
|
|
199
|
+
idSetsTable: 'idSets',
|
|
200
|
+
idSet: idSets._data[0]._hash as string,
|
|
201
|
+
collections: 'collections',
|
|
202
|
+
layers: {
|
|
203
|
+
layer0: collection0._hash as string,
|
|
204
|
+
layer1: collection1._hash as string,
|
|
194
205
|
},
|
|
206
|
+
});
|
|
195
207
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
208
|
+
const cakes: CakesTable = hip({
|
|
209
|
+
_type: 'cakes',
|
|
210
|
+
_data: [cake],
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
const buffets: BuffetsTable = hip({
|
|
214
|
+
_type: 'buffets',
|
|
215
|
+
_data: [
|
|
216
|
+
{
|
|
217
|
+
items: [
|
|
218
|
+
{
|
|
219
|
+
table: 'cakes',
|
|
220
|
+
ref: cakes._data[0]._hash as string,
|
|
205
221
|
},
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
222
|
+
{
|
|
223
|
+
table: 'collections',
|
|
224
|
+
ref: collection0._hash as string,
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
},
|
|
228
|
+
],
|
|
229
|
+
});
|
|
210
230
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
table: 'cakes',
|
|
218
|
-
ref: 'QlTVJL3uoXO1L_fw2evLPe',
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
table: 'collections',
|
|
222
|
-
ref: 'QB2JC6X_-rUAoixuldzWP-',
|
|
223
|
-
},
|
|
224
|
-
],
|
|
225
|
-
},
|
|
226
|
-
],
|
|
227
|
-
},
|
|
231
|
+
return {
|
|
232
|
+
idSets,
|
|
233
|
+
properties,
|
|
234
|
+
collections,
|
|
235
|
+
cakes,
|
|
236
|
+
buffets,
|
|
228
237
|
};
|
|
229
238
|
},
|
|
230
239
|
};
|
|
@@ -332,8 +341,8 @@ export class Example {
|
|
|
332
341
|
|
|
333
342
|
missingAssignedProperty: (): Rljson => {
|
|
334
343
|
const result = Example.ok.complete();
|
|
335
|
-
result.properties._data.splice(1, 2); // Remove an property that is
|
|
336
|
-
return result;
|
|
344
|
+
result.properties._data.splice(1, 2); // Remove an property that is assigned
|
|
345
|
+
return hip(result, true, false);
|
|
337
346
|
},
|
|
338
347
|
},
|
|
339
348
|
|
|
@@ -367,7 +376,7 @@ export class Example {
|
|
|
367
376
|
const buffet = result.buffets._data[0];
|
|
368
377
|
buffet.items[0].table = 'MISSING0';
|
|
369
378
|
buffet.items[1].table = 'MISSING1';
|
|
370
|
-
hip(
|
|
379
|
+
hip(result, true, false);
|
|
371
380
|
return result;
|
|
372
381
|
},
|
|
373
382
|
|
|
@@ -376,7 +385,7 @@ export class Example {
|
|
|
376
385
|
const buffet = result.buffets._data[0];
|
|
377
386
|
buffet.items[0].ref = 'MISSING0';
|
|
378
387
|
buffet.items[1].ref = 'MISSING1';
|
|
379
|
-
hip(
|
|
388
|
+
hip(result, true, false);
|
|
380
389
|
return result;
|
|
381
390
|
},
|
|
382
391
|
},
|
|
@@ -18,10 +18,12 @@ export interface BaseErrors extends Errors {
|
|
|
18
18
|
tableTypesDoNotMatch?: Json;
|
|
19
19
|
refsNotFound?: Json;
|
|
20
20
|
collectionBasesNotFound?: Json;
|
|
21
|
-
|
|
21
|
+
collectionIdSetsTableNotFound?: Json;
|
|
22
|
+
collectionIdSetNotFound?: Json;
|
|
22
23
|
collectionPropertyTablesNotFound?: Json;
|
|
23
24
|
collectionPropertyAssignmentsNotFound?: Json;
|
|
24
|
-
|
|
25
|
+
cakeIdSetsTableNotFound?: Json;
|
|
26
|
+
cakeIdSetNotFound?: Json;
|
|
25
27
|
cakeCollectionTablesNotFound?: Json;
|
|
26
28
|
cakeLayerCollectionsNotFound?: Json;
|
|
27
29
|
buffetReferencedTablesNotFound?: Json;
|