@rljson/rljson 0.0.29 → 0.0.31

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.
@@ -221,7 +221,7 @@ properties:
221
221
 
222
222
  ```json
223
223
  {
224
- "idSetsTable": "personIds",
224
+ "idSets": "personIds",
225
225
  "idSet": "IDS0",
226
226
  "properties": "addresses",
227
227
  "assign": {
@@ -221,7 +221,7 @@ properties:
221
221
 
222
222
  ```json
223
223
  {
224
- "idSetsTable": "personIds",
224
+ "idSets": "personIds",
225
225
  "idSet": "IDS0",
226
226
  "properties": "addresses",
227
227
  "assign": {
@@ -19,10 +19,14 @@ 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
  */
25
- collections: TableKey;
29
+ collectionsTable: TableKey;
26
30
  /**
27
31
  * Assigns a collection to each layer of the cake.
28
32
  */
@@ -16,15 +16,19 @@ export interface Collection extends Json {
16
16
  */
17
17
  base?: CollectionRef;
18
18
  /**
19
- * The item ids of the collection. If presnet, the item ids in `assign`
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
26
30
  */
27
- properties: TableKey;
31
+ propertiesTable: TableKey;
28
32
  /**
29
33
  * Assign properties to each item of the collection.
30
34
  */
@@ -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
@@ -45,7 +45,7 @@ const bakeryExample = () => {
45
45
  _type: "collections",
46
46
  _data: [
47
47
  {
48
- properties: "recipeIngredients",
48
+ propertiesTable: "recipeIngredients",
49
49
  assign: {
50
50
  flour: recipeIngredients._data[0]._hash
51
51
  },
@@ -57,7 +57,7 @@ const bakeryExample = () => {
57
57
  _type: "collections",
58
58
  _data: [
59
59
  {
60
- properties: "recipes",
60
+ propertiesTable: "recipes",
61
61
  assign: {
62
62
  slice0: recipes._data[0]._hash,
63
63
  slice1: recipes._data[0]._hash
@@ -76,22 +76,13 @@ 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
- idSet: idSets._data[0]._hash,
94
- collections: "layers",
83
+ idSetsTable: "slices",
84
+ idSet: slices._data[0]._hash,
85
+ collectionsTable: "layers",
95
86
  layers: {
96
87
  flour: layers._data[0]._hash
97
88
  },
@@ -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
- return {
272
- idSets: {
273
- _type: "idSets",
274
- _data: [
275
- {
276
- add: ["id0", "id1"],
277
- _hash: "MgHRBYSrhpyl4rvsOmAWcQ"
278
- }
279
- ]
280
- },
281
- properties: {
282
- _type: "properties",
283
- _data: [
284
- { a: "0", _hash: "AFhW-fMzdCiz6bUZscp1Lf" },
285
- { a: "1", _hash: "mv6w8rID8lQxLsje1EHQMY" }
286
- ]
287
- },
288
- collections: {
289
- _type: "collections",
290
- _data: [
291
- {
292
- idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
293
- properties: "properties",
294
- _hash: "sxv2NCM6UNOcX-i9FhOs5W",
295
- assign: {}
296
- },
297
- {
298
- base: "sxv2NCM6UNOcX-i9FhOs5W",
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
+ propertiesTable: "properties",
279
+ assign: {}
280
+ });
281
+ const collection1 = hip({
282
+ base: collection0._hash,
283
+ idSetsTable: "idSets",
284
+ idSet: "MgHRBYSrhpyl4rvsOmAWcQ",
285
+ propertiesTable: "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
+ collectionsTable: "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: {
@@ -444,7 +435,7 @@ __publicField(_Example, "broken", {
444
435
  },
445
436
  missingCollectionsTable: () => {
446
437
  const result = _Example.ok.complete();
447
- result.cakes._data[0].collections = "MISSING";
438
+ result.cakes._data[0].collectionsTable = "MISSING";
448
439
  hip(result.cakes, true, false);
449
440
  return result;
450
441
  },
@@ -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(buffet, true, false);
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(buffet, true, false);
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._collectionIdSetsExist(),
594
+ () => this._collectionIdSetsTableNotFound(),
595
+ () => this._collectionIdSetNotFound(),
604
596
  () => this._collectionPropertyAssignmentsNotFound(),
605
597
  // Check cakes
606
- () => this._cakeIdSetsNotFound(),
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
- _collectionIdSetsExist() {
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 idSet = idSets._data[idSetRef];
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.collectionIdSetsExist = {
1063
+ this.errors.collectionIdSetNotFound = {
1041
1064
  error: "Id sets of collections are missing",
1042
1065
  brokenCollections
1043
1066
  };
@@ -1052,7 +1075,7 @@ class _BaseValidator {
1052
1075
  }
1053
1076
  const collectionsTable = table;
1054
1077
  for (const collection of collectionsTable._data) {
1055
- const propertyTableKey = collection.properties;
1078
+ const propertyTableKey = collection.propertiesTable;
1056
1079
  const propertiesTable = this.rljsonIndexed[propertyTableKey];
1057
1080
  if (!propertiesTable) {
1058
1081
  missingPropertyTables.push({
@@ -1093,19 +1116,49 @@ class _BaseValidator {
1093
1116
  };
1094
1117
  }
1095
1118
  }
1096
- _cakeIdSetsNotFound() {
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.cakeIdSetsNotFound = {
1173
+ this.errors.cakeIdSetNotFound = {
1121
1174
  error: "Id sets of cakes are missing",
1122
1175
  brokenCakes
1123
1176
  };
@@ -1132,7 +1185,7 @@ class _BaseValidator {
1132
1185
  }
1133
1186
  const cakesTable = table;
1134
1187
  for (const cake of cakesTable._data) {
1135
- const collectionsTableKey = cake.collections;
1188
+ const collectionsTableKey = cake.collectionsTable;
1136
1189
  const collectionsTable = this.rljsonIndexed[collectionsTableKey];
1137
1190
  if (!collectionsTable) {
1138
1191
  missingCollectionTables.push({
@@ -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
- return {
155
- idSets: {
156
- _type: 'idSets',
159
+ const idSets: IdSetsTable = hip({
160
+ _type: 'idSets',
161
+ _data: [
162
+ {
163
+ add: ['id0', 'id1'],
164
+ },
165
+ ],
166
+ });
157
167
 
158
- _data: [
159
- {
160
- add: ['id0', 'id1'],
161
- _hash: 'MgHRBYSrhpyl4rvsOmAWcQ',
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
+ propertiesTable: 'properties',
179
+ assign: {},
180
+ });
165
181
 
166
- properties: {
167
- _type: 'properties',
168
- _data: [
169
- { a: '0', _hash: 'AFhW-fMzdCiz6bUZscp1Lf' },
170
- { a: '1', _hash: 'mv6w8rID8lQxLsje1EHQMY' },
171
- ],
182
+ const collection1: Collection = hip({
183
+ base: collection0._hash as string,
184
+ idSetsTable: 'idSets',
185
+ idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
186
+ propertiesTable: 'properties',
187
+ assign: {
188
+ id0: property0._hash,
189
+ id1: property1._hash,
172
190
  },
191
+ });
173
192
 
174
- collections: {
175
- _type: 'collections',
176
- _data: [
177
- {
178
- idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
179
- properties: 'properties',
180
- _hash: 'sxv2NCM6UNOcX-i9FhOs5W',
181
- assign: {},
182
- },
183
- {
184
- base: 'sxv2NCM6UNOcX-i9FhOs5W',
185
- idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
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
+ collectionsTable: 'collections',
202
+ layers: {
203
+ layer0: collection0._hash as string,
204
+ layer1: collection1._hash as string,
194
205
  },
206
+ });
195
207
 
196
- cakes: {
197
- _type: 'cakes',
198
- _data: [
199
- {
200
- idSet: 'MgHRBYSrhpyl4rvsOmAWcQ',
201
- collections: 'collections',
202
- layers: {
203
- layer0: 'sxv2NCM6UNOcX-i9FhOs5W',
204
- layer1: 'QB2JC6X_-rUAoixuldzWP-',
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
- _hash: 'QlTVJL3uoXO1L_fw2evLPe',
207
- },
208
- ],
209
- },
222
+ {
223
+ table: 'collections',
224
+ ref: collection0._hash as string,
225
+ },
226
+ ],
227
+ },
228
+ ],
229
+ });
210
230
 
211
- buffets: {
212
- _type: 'buffets',
213
- _data: [
214
- {
215
- items: [
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 assigne
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
 
@@ -347,7 +356,7 @@ export class Example {
347
356
 
348
357
  missingCollectionsTable: (): Rljson => {
349
358
  const result = Example.ok.complete();
350
- result.cakes._data[0].collections = 'MISSING'; // Missing collections table
359
+ result.cakes._data[0].collectionsTable = 'MISSING'; // Missing collections table
351
360
  hip(result.cakes, true, false);
352
361
  return result;
353
362
  },
@@ -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(buffet, true, false);
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(buffet, true, false);
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
- collectionIdSetsNotFound?: Json;
21
+ collectionIdSetsTableNotFound?: Json;
22
+ collectionIdSetNotFound?: Json;
22
23
  collectionPropertyTablesNotFound?: Json;
23
24
  collectionPropertyAssignmentsNotFound?: Json;
24
- cakeIdSetsNotFound?: Json;
25
+ cakeIdSetsTableNotFound?: Json;
26
+ cakeIdSetNotFound?: Json;
25
27
  cakeCollectionTablesNotFound?: Json;
26
28
  cakeLayerCollectionsNotFound?: Json;
27
29
  buffetReferencedTablesNotFound?: Json;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rljson/rljson",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "packageManager": "pnpm@10.6.3",
5
5
  "description": "The RLJSON data format specification",
6
6
  "homepage": "https://github.com/rljson/rljson",