@gnolith/taproot 0.1.0-rc.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/COMPATIBILITY.md +42 -0
  3. package/LICENSE +21 -0
  4. package/README.md +128 -0
  5. package/SECURITY.md +19 -0
  6. package/SUPPORT.md +11 -0
  7. package/dist/canonical.d.ts +16 -0
  8. package/dist/canonical.d.ts.map +1 -0
  9. package/dist/canonical.js +519 -0
  10. package/dist/canonical.js.map +1 -0
  11. package/dist/errors.d.ts +35 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +42 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/index.d.ts +57 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +53 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/iri.d.ts +3 -0
  20. package/dist/iri.d.ts.map +1 -0
  21. package/dist/iri.js +8 -0
  22. package/dist/iri.js.map +1 -0
  23. package/dist/rdf.d.ts +6 -0
  24. package/dist/rdf.d.ts.map +1 -0
  25. package/dist/rdf.js +292 -0
  26. package/dist/rdf.js.map +1 -0
  27. package/dist/repository.d.ts +94 -0
  28. package/dist/repository.d.ts.map +1 -0
  29. package/dist/repository.js +1499 -0
  30. package/dist/repository.js.map +1 -0
  31. package/dist/schema.d.ts +19 -0
  32. package/dist/schema.d.ts.map +1 -0
  33. package/dist/schema.js +390 -0
  34. package/dist/schema.js.map +1 -0
  35. package/dist/types.d.ts +299 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +21 -0
  38. package/dist/types.js.map +1 -0
  39. package/docs/api.md +47 -0
  40. package/docs/architecture.md +30 -0
  41. package/docs/completion-audit.md +31 -0
  42. package/docs/operations.md +47 -0
  43. package/docs/product-scope.md +20 -0
  44. package/docs/release-policy.md +16 -0
  45. package/docs/testing.md +21 -0
  46. package/docs/threat-model.md +40 -0
  47. package/examples/codex-site/.openai/hosting.json +3 -0
  48. package/examples/codex-site/README.md +13 -0
  49. package/examples/codex-site/demo.ts +152 -0
  50. package/migrations/0001_taproot.sql +64 -0
  51. package/migrations/0002_audit_operations.sql +48 -0
  52. package/package.json +89 -0
@@ -0,0 +1,519 @@
1
+ import { DuplicateStatementIdError, EntityTooLargeError, InvalidDatatypeError, InvalidEntityError, InvalidStatementError, } from './errors.js';
2
+ import { ENTITY_DATATYPES, } from './types.js';
3
+ export const MAX_ENTITY_BYTES = 1_800_000;
4
+ const idPattern = /^(?:Q|P)[1-9][0-9]*$/u;
5
+ const propertyPattern = /^P[1-9][0-9]*$/u;
6
+ const languagePattern = /^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$/u;
7
+ const ranks = new Set(['preferred', 'normal', 'deprecated']);
8
+ const snakTypes = new Set(['value', 'somevalue', 'novalue']);
9
+ const datatypes = new Set(ENTITY_DATATYPES);
10
+ export function parseEntityJson(json) {
11
+ let value;
12
+ try {
13
+ value = JSON.parse(json);
14
+ }
15
+ catch (cause) {
16
+ throw new InvalidEntityError('Entity JSON is not valid JSON', {
17
+ cause,
18
+ });
19
+ }
20
+ validateEntity(value);
21
+ return canonicalizeEntity(value);
22
+ }
23
+ export function validateEntity(value) {
24
+ if (!isRecord(value)) {
25
+ throw new InvalidEntityError('Entity must be an object');
26
+ }
27
+ const { id, type } = value;
28
+ if (typeof id !== 'string' || !idPattern.test(id)) {
29
+ throw new InvalidEntityError('Entity id must be a positive Q or P id');
30
+ }
31
+ if (type !== 'item' && type !== 'property') {
32
+ throw new InvalidEntityError('Entity type must be item or property');
33
+ }
34
+ if ((type === 'item') !== id.startsWith('Q')) {
35
+ throw new InvalidEntityError('Entity id prefix does not match its type');
36
+ }
37
+ if (type === 'property') {
38
+ assertDatatype(value.datatype);
39
+ }
40
+ else if (!isRecord(value.sitelinks)) {
41
+ throw new InvalidEntityError('Items require a sitelinks object');
42
+ }
43
+ validateLanguageMap(value.labels, 'labels');
44
+ validateLanguageMap(value.descriptions, 'descriptions');
45
+ validateAliases(value.aliases);
46
+ if (!Number.isSafeInteger(value.lastrevid) || Number(value.lastrevid) < 0) {
47
+ throw new InvalidEntityError('lastrevid must be a non-negative safe integer');
48
+ }
49
+ if (typeof value.modified !== 'string' || !isTimestamp(value.modified)) {
50
+ throw new InvalidEntityError('modified must be an ISO 8601 timestamp');
51
+ }
52
+ if (!isRecord(value.claims)) {
53
+ throw new InvalidEntityError('claims must be an object');
54
+ }
55
+ const statementIds = new Set();
56
+ for (const [property, statements] of Object.entries(value.claims)) {
57
+ if (!propertyPattern.test(property) || !Array.isArray(statements)) {
58
+ throw new InvalidStatementError(`Invalid claim group ${property}`);
59
+ }
60
+ for (const statement of statements) {
61
+ validateStatement(statement, property, id);
62
+ if (statementIds.has(statement.id)) {
63
+ throw new DuplicateStatementIdError(`Duplicate statement id ${statement.id}`);
64
+ }
65
+ statementIds.add(statement.id);
66
+ }
67
+ }
68
+ if (type === 'item') {
69
+ validateSitelinks(value.sitelinks);
70
+ }
71
+ }
72
+ export function exportEntityJson(entity, maxBytes = MAX_ENTITY_BYTES) {
73
+ validateEntity(entity);
74
+ const json = JSON.stringify(canonicalizeEntity(entity));
75
+ const bytes = new TextEncoder().encode(json).byteLength;
76
+ if (bytes > maxBytes) {
77
+ throw new EntityTooLargeError(`Canonical entity JSON is ${bytes} bytes; maximum is ${maxBytes}`);
78
+ }
79
+ return json;
80
+ }
81
+ export function canonicalizeEntity(entity) {
82
+ const base = {
83
+ id: entity.id,
84
+ type: entity.type,
85
+ ...(entity.type === 'property' ? { datatype: entity.datatype } : {}),
86
+ labels: sortLanguageMap(entity.labels),
87
+ descriptions: sortLanguageMap(entity.descriptions),
88
+ aliases: sortAliases(entity.aliases),
89
+ claims: sortRecord(entity.claims, (statements) => statements.map(canonicalizeStatement)),
90
+ ...(entity.type === 'item'
91
+ ? {
92
+ sitelinks: sortRecord(entity.sitelinks, (sitelink) => ({
93
+ site: sitelink.site,
94
+ title: sitelink.title,
95
+ badges: [...sitelink.badges],
96
+ ...(sitelink.url === undefined ? {} : { url: sitelink.url }),
97
+ })),
98
+ }
99
+ : {}),
100
+ lastrevid: entity.lastrevid,
101
+ modified: entity.modified,
102
+ };
103
+ return structuredClone(base);
104
+ }
105
+ function canonicalizeStatement(statement) {
106
+ return {
107
+ id: statement.id,
108
+ type: 'statement',
109
+ rank: statement.rank,
110
+ mainsnak: canonicalizeSnak(statement.mainsnak),
111
+ qualifiers: sortRecord(statement.qualifiers, (snaks) => snaks.map(canonicalizeSnak)),
112
+ 'qualifiers-order': [...statement['qualifiers-order']],
113
+ references: statement.references.map((reference) => ({
114
+ hash: reference.hash,
115
+ snaks: sortRecord(reference.snaks, (snaks) => snaks.map(canonicalizeSnak)),
116
+ 'snaks-order': [...reference['snaks-order']],
117
+ })),
118
+ };
119
+ }
120
+ function canonicalizeSnak(snak) {
121
+ return {
122
+ snaktype: snak.snaktype,
123
+ property: snak.property,
124
+ ...(snak.hash === undefined ? {} : { hash: snak.hash }),
125
+ ...(snak.datavalue === undefined
126
+ ? {}
127
+ : {
128
+ datavalue: {
129
+ value: canonicalizeDataValue(snak.datatype, snak.datavalue.value),
130
+ type: snak.datavalue.type,
131
+ },
132
+ }),
133
+ datatype: snak.datatype,
134
+ };
135
+ }
136
+ function canonicalizeDataValue(datatype, value) {
137
+ if (typeof value === 'string')
138
+ return value;
139
+ switch (datatype) {
140
+ case 'wikibase-item':
141
+ case 'wikibase-property':
142
+ case 'wikibase-lexeme':
143
+ case 'wikibase-form':
144
+ case 'wikibase-sense':
145
+ case 'entity-schema': {
146
+ const entityValue = value;
147
+ return {
148
+ 'entity-type': entityValue['entity-type'],
149
+ ...(entityValue['numeric-id'] === undefined
150
+ ? {}
151
+ : { 'numeric-id': entityValue['numeric-id'] }),
152
+ id: entityValue.id,
153
+ };
154
+ }
155
+ case 'monolingualtext': {
156
+ const text = value;
157
+ return { text: text.text, language: text.language };
158
+ }
159
+ case 'time': {
160
+ const time = value;
161
+ return {
162
+ time: time.time,
163
+ timezone: time.timezone,
164
+ before: time.before,
165
+ after: time.after,
166
+ precision: time.precision,
167
+ calendarmodel: time.calendarmodel,
168
+ };
169
+ }
170
+ case 'quantity': {
171
+ const quantity = value;
172
+ return {
173
+ amount: quantity.amount,
174
+ unit: quantity.unit,
175
+ ...(quantity.lowerBound === undefined
176
+ ? {}
177
+ : { lowerBound: quantity.lowerBound }),
178
+ ...(quantity.upperBound === undefined
179
+ ? {}
180
+ : { upperBound: quantity.upperBound }),
181
+ };
182
+ }
183
+ case 'globe-coordinate': {
184
+ const coordinate = value;
185
+ return {
186
+ latitude: coordinate.latitude,
187
+ longitude: coordinate.longitude,
188
+ altitude: coordinate.altitude,
189
+ precision: coordinate.precision,
190
+ globe: coordinate.globe,
191
+ };
192
+ }
193
+ default:
194
+ return structuredClone(value);
195
+ }
196
+ }
197
+ function validateStatement(value, claimProperty, entityId) {
198
+ if (!isRecord(value) || value.type !== 'statement') {
199
+ throw new InvalidStatementError('Statement must have type=statement');
200
+ }
201
+ if (typeof value.id !== 'string' || value.id.length === 0) {
202
+ throw new InvalidStatementError('Statement id is required');
203
+ }
204
+ if (!value.id.startsWith(`${entityId}$`)) {
205
+ throw new InvalidStatementError(`Statement ${value.id} is not owned by ${entityId}`);
206
+ }
207
+ if (typeof value.rank !== 'string' || !ranks.has(value.rank)) {
208
+ throw new InvalidStatementError(`Invalid rank on ${value.id}`);
209
+ }
210
+ validateSnak(value.mainsnak);
211
+ if (value.mainsnak.property !== claimProperty) {
212
+ throw new InvalidStatementError(`Statement ${value.id} is grouped under the wrong property`);
213
+ }
214
+ validateSnakGroup(value.qualifiers, value['qualifiers-order'], `qualifiers on ${value.id}`);
215
+ if (!Array.isArray(value.references)) {
216
+ throw new InvalidStatementError(`references on ${value.id} must be an array`);
217
+ }
218
+ const hashes = new Set();
219
+ for (const reference of value.references) {
220
+ validateReference(reference);
221
+ if (hashes.has(reference.hash)) {
222
+ throw new InvalidStatementError(`Duplicate reference hash ${reference.hash}`);
223
+ }
224
+ hashes.add(reference.hash);
225
+ }
226
+ }
227
+ function validateReference(value) {
228
+ if (!isRecord(value) ||
229
+ typeof value.hash !== 'string' ||
230
+ value.hash.length === 0) {
231
+ throw new InvalidStatementError('Reference hash is required');
232
+ }
233
+ validateSnakGroup(value.snaks, value['snaks-order'], `reference ${value.hash}`);
234
+ }
235
+ function validateSnakGroup(value, order, context) {
236
+ if (!isRecord(value) || !Array.isArray(order)) {
237
+ throw new InvalidStatementError(`${context} requires snaks and an order`);
238
+ }
239
+ const keys = Object.keys(value);
240
+ if (order.some((key) => typeof key !== 'string' || !propertyPattern.test(key)) ||
241
+ new Set(order).size !== order.length ||
242
+ order.length !== keys.length ||
243
+ keys.some((key) => !order.includes(key))) {
244
+ throw new InvalidStatementError(`${context} order does not match its snaks`);
245
+ }
246
+ for (const [property, snaks] of Object.entries(value)) {
247
+ if (!propertyPattern.test(property) || !Array.isArray(snaks)) {
248
+ throw new InvalidStatementError(`Invalid snak group ${property} in ${context}`);
249
+ }
250
+ for (const snak of snaks) {
251
+ validateSnak(snak);
252
+ if (snak.property !== property) {
253
+ throw new InvalidStatementError(`Snak is grouped under the wrong property`);
254
+ }
255
+ }
256
+ }
257
+ }
258
+ export function validateSnak(value) {
259
+ if (!isRecord(value) ||
260
+ typeof value.property !== 'string' ||
261
+ !propertyPattern.test(value.property)) {
262
+ throw new InvalidStatementError('Snak property must be a P id');
263
+ }
264
+ if (typeof value.snaktype !== 'string' || !snakTypes.has(value.snaktype)) {
265
+ throw new InvalidStatementError('Invalid snak type');
266
+ }
267
+ assertDatatype(value.datatype);
268
+ if (value.hash !== undefined && typeof value.hash !== 'string') {
269
+ throw new InvalidStatementError('Snak hash must be a string');
270
+ }
271
+ if (value.snaktype === 'value') {
272
+ if (!isRecord(value.datavalue) ||
273
+ typeof value.datavalue.type !== 'string') {
274
+ throw new InvalidStatementError('Value snaks require a datavalue');
275
+ }
276
+ const expectedType = dataValueType(value.datatype);
277
+ if (value.datavalue.type !== expectedType) {
278
+ throw new InvalidDatatypeError(`${value.datatype} datavalues require type=${expectedType}`);
279
+ }
280
+ validateDataValue(value.datatype, value.datavalue.value);
281
+ }
282
+ else if (value.datavalue !== undefined) {
283
+ throw new InvalidStatementError('Special-value snaks cannot have a datavalue');
284
+ }
285
+ }
286
+ function dataValueType(datatype) {
287
+ if ([
288
+ 'wikibase-item',
289
+ 'wikibase-property',
290
+ 'wikibase-lexeme',
291
+ 'wikibase-form',
292
+ 'wikibase-sense',
293
+ 'entity-schema',
294
+ ].includes(datatype)) {
295
+ return 'wikibase-entityid';
296
+ }
297
+ if (datatype === 'string' ||
298
+ datatype === 'external-id' ||
299
+ datatype === 'url' ||
300
+ datatype === 'commonsMedia' ||
301
+ datatype === 'math' ||
302
+ datatype === 'musical-notation' ||
303
+ datatype === 'geo-shape' ||
304
+ datatype === 'tabular-data') {
305
+ return 'string';
306
+ }
307
+ return datatype;
308
+ }
309
+ function validateDataValue(datatype, value) {
310
+ if ([
311
+ 'string',
312
+ 'external-id',
313
+ 'url',
314
+ 'commonsMedia',
315
+ 'math',
316
+ 'musical-notation',
317
+ 'geo-shape',
318
+ 'tabular-data',
319
+ ].includes(datatype)) {
320
+ if (typeof value !== 'string' ||
321
+ (datatype === 'url' && !isAbsoluteUrl(value)))
322
+ invalidDataValue(datatype);
323
+ return;
324
+ }
325
+ if (!isRecord(value))
326
+ invalidDataValue(datatype);
327
+ switch (datatype) {
328
+ case 'wikibase-item':
329
+ case 'wikibase-property':
330
+ case 'wikibase-lexeme':
331
+ case 'wikibase-form':
332
+ case 'wikibase-sense':
333
+ case 'entity-schema': {
334
+ const shape = {
335
+ 'wikibase-item': { pattern: /^Q[1-9]\d*$/u, type: 'item' },
336
+ 'wikibase-property': { pattern: /^P[1-9]\d*$/u, type: 'property' },
337
+ 'wikibase-lexeme': { pattern: /^L[1-9]\d*$/u, type: 'lexeme' },
338
+ 'wikibase-form': { pattern: /^L[1-9]\d*-F[1-9]\d*$/u, type: 'form' },
339
+ 'wikibase-sense': { pattern: /^L[1-9]\d*-S[1-9]\d*$/u, type: 'sense' },
340
+ 'entity-schema': { pattern: /^E[1-9]\d*$/u, type: 'entity-schema' },
341
+ }[datatype];
342
+ if (typeof value.id !== 'string' ||
343
+ !shape.pattern.test(value.id) ||
344
+ (value['numeric-id'] !== undefined &&
345
+ (!Number.isSafeInteger(value['numeric-id']) ||
346
+ value['numeric-id'] !==
347
+ Number(value.id.match(/^\D*(\d+)/u)?.[1]))) ||
348
+ value['entity-type'] !== shape.type)
349
+ invalidDataValue(datatype);
350
+ break;
351
+ }
352
+ case 'monolingualtext':
353
+ if (typeof value.text !== 'string' ||
354
+ typeof value.language !== 'string' ||
355
+ !value.language)
356
+ invalidDataValue(datatype);
357
+ break;
358
+ case 'time':
359
+ if (typeof value.time !== 'string' ||
360
+ !/^[+-]\d{4,}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/u.test(value.time) ||
361
+ !Number.isInteger(value.timezone) ||
362
+ Number(value.timezone) < -840 ||
363
+ Number(value.timezone) > 840 ||
364
+ !Number.isInteger(value.before) ||
365
+ !Number.isInteger(value.after) ||
366
+ !Number.isInteger(value.precision) ||
367
+ Number(value.precision) < 0 ||
368
+ Number(value.precision) > 14 ||
369
+ Number(value.before) < 0 ||
370
+ Number(value.after) < 0 ||
371
+ typeof value.calendarmodel !== 'string' ||
372
+ !isAbsoluteUrl(value.calendarmodel))
373
+ invalidDataValue(datatype);
374
+ break;
375
+ case 'quantity':
376
+ if (typeof value.amount !== 'string' ||
377
+ typeof value.unit !== 'string' ||
378
+ (value.unit !== '1' && !isAbsoluteUrl(value.unit)) ||
379
+ !isDecimal(value.amount) ||
380
+ (value.lowerBound !== undefined &&
381
+ (typeof value.lowerBound !== 'string' ||
382
+ !isDecimal(value.lowerBound))) ||
383
+ (value.upperBound !== undefined &&
384
+ (typeof value.upperBound !== 'string' ||
385
+ !isDecimal(value.upperBound))))
386
+ invalidDataValue(datatype);
387
+ break;
388
+ case 'globe-coordinate':
389
+ if (typeof value.latitude !== 'number' ||
390
+ !Number.isFinite(value.latitude) ||
391
+ value.latitude < -90 ||
392
+ value.latitude > 90 ||
393
+ typeof value.longitude !== 'number' ||
394
+ !Number.isFinite(value.longitude) ||
395
+ value.longitude < -180 ||
396
+ value.longitude > 180 ||
397
+ (value.altitude !== null &&
398
+ (typeof value.altitude !== 'number' ||
399
+ !Number.isFinite(value.altitude))) ||
400
+ (value.precision !== null &&
401
+ (typeof value.precision !== 'number' ||
402
+ !Number.isFinite(value.precision) ||
403
+ value.precision < 0)) ||
404
+ typeof value.globe !== 'string' ||
405
+ !isAbsoluteUrl(value.globe))
406
+ invalidDataValue(datatype);
407
+ break;
408
+ }
409
+ }
410
+ function invalidDataValue(datatype) {
411
+ throw new InvalidDatatypeError(`Invalid ${datatype} datavalue`);
412
+ }
413
+ function assertDatatype(value) {
414
+ if (typeof value !== 'string' || !datatypes.has(value)) {
415
+ throw new InvalidDatatypeError(`Unsupported datatype ${String(value)}`);
416
+ }
417
+ }
418
+ function validateLanguageMap(value, context) {
419
+ if (!isRecord(value))
420
+ throw new InvalidEntityError(`${context} must be an object`);
421
+ for (const [language, term] of Object.entries(value)) {
422
+ if (!languagePattern.test(language) ||
423
+ !isRecord(term) ||
424
+ term.language !== language ||
425
+ typeof term.value !== 'string')
426
+ throw new InvalidEntityError(`Invalid ${context} entry for ${language}`);
427
+ }
428
+ }
429
+ function validateAliases(value) {
430
+ if (!isRecord(value))
431
+ throw new InvalidEntityError('aliases must be an object');
432
+ for (const [language, aliases] of Object.entries(value)) {
433
+ if (!languagePattern.test(language) || !Array.isArray(aliases)) {
434
+ throw new InvalidEntityError(`Invalid aliases for ${language}`);
435
+ }
436
+ for (const alias of aliases) {
437
+ if (!isRecord(alias) ||
438
+ alias.language !== language ||
439
+ typeof alias.value !== 'string') {
440
+ throw new InvalidEntityError(`Invalid alias for ${language}`);
441
+ }
442
+ }
443
+ }
444
+ }
445
+ function validateSitelinks(value) {
446
+ if (!isRecord(value))
447
+ throw new InvalidEntityError('sitelinks must be an object');
448
+ for (const [site, sitelink] of Object.entries(value)) {
449
+ if (!isRecord(sitelink) ||
450
+ sitelink.site !== site ||
451
+ typeof sitelink.title !== 'string' ||
452
+ !Array.isArray(sitelink.badges) ||
453
+ sitelink.badges.some((badge) => typeof badge !== 'string' || !/^Q[1-9]\d*$/u.test(badge)) ||
454
+ (sitelink.url !== undefined &&
455
+ (typeof sitelink.url !== 'string' || !isAbsoluteUrl(sitelink.url))))
456
+ throw new InvalidEntityError(`Invalid sitelink ${site}`);
457
+ }
458
+ }
459
+ function isAbsoluteUrl(value) {
460
+ try {
461
+ new URL(value);
462
+ return true;
463
+ }
464
+ catch {
465
+ return false;
466
+ }
467
+ }
468
+ function isDecimal(value) {
469
+ return /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/u.test(value);
470
+ }
471
+ function sortLanguageMap(value) {
472
+ return sortRecord(value, (term) => ({ ...term }));
473
+ }
474
+ function sortAliases(value) {
475
+ return sortRecord(value, (aliases) => aliases.map((alias) => ({ ...alias })));
476
+ }
477
+ function sortRecord(value, map) {
478
+ return Object.fromEntries(Object.keys(value)
479
+ .sort((left, right) => (left < right ? -1 : left > right ? 1 : 0))
480
+ .map((key) => [key, map(value[key])]));
481
+ }
482
+ function isTimestamp(value) {
483
+ return !Number.isNaN(Date.parse(value));
484
+ }
485
+ function isRecord(value) {
486
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
487
+ }
488
+ export function entityNumericId(id) {
489
+ return Number(id.slice(1));
490
+ }
491
+ export function cloneEntity(entity) {
492
+ return structuredClone(entity);
493
+ }
494
+ export function cloneDataValue(value) {
495
+ return structuredClone(value);
496
+ }
497
+ export function createStatement(entityId, mainsnak, options = {}) {
498
+ validateSnak(mainsnak);
499
+ return {
500
+ id: options.id ?? `${entityId}$${crypto.randomUUID()}`,
501
+ type: 'statement',
502
+ rank: options.rank ?? 'normal',
503
+ mainsnak: structuredClone(mainsnak),
504
+ qualifiers: {},
505
+ 'qualifiers-order': [],
506
+ references: [],
507
+ };
508
+ }
509
+ export function createReference(snaks, hash = crypto.randomUUID().replace(/-/gu, '')) {
510
+ const order = Object.keys(snaks).sort();
511
+ const reference = {
512
+ hash,
513
+ snaks: structuredClone(snaks),
514
+ 'snaks-order': order,
515
+ };
516
+ validateReference(reference);
517
+ return reference;
518
+ }
519
+ //# sourceMappingURL=canonical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,GAgBjB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAC1C,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAC1C,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,gBAAgB,CAAC,CAAC;AAEpD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,EAAE;YAC5D,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC3B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,kBAAkB,CAAC,0CAA0C,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IACnE,CAAC;IACD,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACxD,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,qBAAqB,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,iBAAiB,CAAC,SAAS,EAAE,QAAsB,EAAE,EAAc,CAAC,CAAC;YACrE,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,yBAAyB,CACjC,0BAA0B,SAAS,CAAC,EAAE,EAAE,CACzC,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAsB,EACtB,QAAQ,GAAG,gBAAgB;IAE3B,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;IACxD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,KAAK,sBAAsB,QAAQ,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC;QAClD,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,CAC/C,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAC,CACtC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YACxB,CAAC,CAAC;gBACE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACrD,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC5B,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;iBAC7D,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QACP,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IACF,OAAO,eAAe,CAAC,IAAI,CAAmB,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAoB;IACjD,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC9C,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACrD,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC5B;QACD,kBAAkB,EAAE,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACtD,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3C,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC5B;YACD,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;SAC7C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU;IAClC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACjE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;iBAC1B;aACF,CAAC;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAwB,EACxB,KAAqB;IAErB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,mBAAmB,CAAC;QACzB,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,WAAW,GAAG,KAAsB,CAAC;YAC3C,OAAO;gBACL,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC;gBACzC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,EAAE,EAAE,WAAW,CAAC,EAAE;aACnB,CAAC;QACJ,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,KAA6B,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,KAAkB,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC;QACJ,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,KAAsB,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxC,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;aACzC,CAAC;QACJ,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,KAA6B,CAAC;YACjD,OAAO;gBACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;QACJ,CAAC;QACD;YACE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,aAAyB,EACzB,QAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,qBAAqB,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAC7B,aAAa,KAAK,CAAC,EAAE,oBAAoB,QAAQ,EAAE,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,qBAAqB,CAAC,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,qBAAqB,CAC7B,aAAa,KAAK,CAAC,EAAE,sCAAsC,CAC5D,CAAC;IACJ,CAAC;IACD,iBAAiB,CACf,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,kBAAkB,CAAC,EACzB,iBAAiB,KAAK,CAAC,EAAE,EAAE,CAC5B,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAC7B,iBAAiB,KAAK,CAAC,EAAE,mBAAmB,CAC7C,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,SAAS,CAAC,IAAI,EAAE,CAC7C,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EACvB,CAAC;QACD,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;IAChE,CAAC;IACD,iBAAiB,CACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,CAAC,EACpB,aAAa,KAAK,CAAC,IAAI,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,KAAc,EACd,OAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,qBAAqB,CAAC,GAAG,OAAO,8BAA8B,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IACE,KAAK,CAAC,IAAI,CACR,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/D;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;QACpC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,GAAG,OAAO,iCAAiC,CAC5C,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,qBAAqB,CAC7B,sBAAsB,QAAQ,OAAO,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,qBAAqB,CAC7B,0CAA0C,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,EACxC,CAAC;YACD,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,oBAAoB,CAC5B,GAAG,KAAK,CAAC,QAAQ,4BAA4B,YAAY,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAC7B,6CAA6C,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB;IAC7C,IACE;QACE,eAAe;QACf,mBAAmB;QACnB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,eAAe;KAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACpB,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IACE,QAAQ,KAAK,QAAQ;QACrB,QAAQ,KAAK,aAAa;QAC1B,QAAQ,KAAK,KAAK;QAClB,QAAQ,KAAK,cAAc;QAC3B,QAAQ,KAAK,MAAM;QACnB,QAAQ,KAAK,kBAAkB;QAC/B,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,cAAc,EAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB,EAAE,KAAc;IACjE,IACE;QACE,QAAQ;QACR,aAAa;QACb,KAAK;QACL,cAAc;QACd,MAAM;QACN,kBAAkB;QAClB,WAAW;QACX,cAAc;KACf,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACpB,CAAC;QACD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE7C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,mBAAmB,CAAC;QACzB,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG;gBACZ,eAAe,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC1D,mBAAmB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE;gBAClE,iBAAiB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9D,eAAe,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,gBAAgB,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtE,eAAe,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE;aACpE,CAAC,QAAQ,CAAC,CAAC;YACZ,IACE,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;gBAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,SAAS;oBAChC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBACzC,KAAK,CAAC,YAAY,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI;gBAEnC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,KAAK,iBAAiB;YACpB,IACE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,CAAC,KAAK,CAAC,QAAQ;gBAEf,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,IACE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,8CAA8C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG;gBAC7B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG;gBAC5B,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC/B,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBACvB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;gBACvC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;gBAEnC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,UAAU;YACb,IACE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAChC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxB,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oBAC7B,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;wBACnC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oBAC7B,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;wBACnC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAElC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,kBAAkB;YACrB,IACE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAChC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpB,KAAK,CAAC,QAAQ,GAAG,EAAE;gBACnB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG;gBACtB,KAAK,CAAC,SAAS,GAAG,GAAG;gBACrB,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI;oBACtB,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;wBACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtC,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI;oBACvB,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;wBAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;wBACjC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC/B,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBAE3B,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAwB;IAChD,MAAM,IAAI,oBAAoB,CAAC,WAAW,QAAQ,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,oBAAoB,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,OAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,MAAM,IAAI,kBAAkB,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;IAC/D,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,IACE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAC1B,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAE9B,MAAM,IAAI,kBAAkB,CAAC,WAAW,OAAO,cAAc,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,MAAM,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,kBAAkB,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAChB,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAC/B,CAAC;gBACD,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,IACE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnB,QAAQ,CAAC,IAAI,KAAK,IAAI;YACtB,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CACpE;YACD,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS;gBACzB,CAAC,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IACzC,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,UAAU,CACjB,KAAwB,EACxB,GAAmB;IAEnB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACf,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC,CAAC,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAY;IAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAkB,EAClB,QAAc,EACd,UAAqD,EAAE;IAEvD,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvB,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;QACtD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;QAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,EAAE;QACtB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAiC,EACjC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAkB,CAAC;IACxD,MAAM,SAAS,GAAG;QAChB,IAAI;QACJ,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;QAC7B,aAAa,EAAE,KAAK;KACrB,CAAC;IACF,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,35 @@
1
+ export declare class TaprootError extends Error {
2
+ readonly code: string;
3
+ constructor(message: string, options?: ErrorOptions);
4
+ }
5
+ export declare class EntityNotFoundError extends TaprootError {
6
+ }
7
+ export declare class EntityAlreadyExistsError extends TaprootError {
8
+ }
9
+ export declare class RevisionConflictError extends TaprootError {
10
+ }
11
+ export declare class InvalidEntityError extends TaprootError {
12
+ }
13
+ export declare class InvalidStatementError extends InvalidEntityError {
14
+ }
15
+ export declare class InvalidDatatypeError extends InvalidEntityError {
16
+ }
17
+ export declare class PropertyNotFoundError extends TaprootError {
18
+ }
19
+ export declare class PropertyDatatypeMismatchError extends InvalidEntityError {
20
+ }
21
+ export declare class DuplicateStatementIdError extends InvalidStatementError {
22
+ }
23
+ export declare class EntityTooLargeError extends InvalidEntityError {
24
+ }
25
+ export declare class QuadPatchTooLargeError extends TaprootError {
26
+ }
27
+ export declare class SchemaMismatchError extends TaprootError {
28
+ }
29
+ export declare class InvalidCursorError extends TaprootError {
30
+ }
31
+ export declare class IntegrityError extends TaprootError {
32
+ }
33
+ export declare class BulkLimitError extends TaprootError {
34
+ }
35
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAQpD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,qBAAa,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,qBAAa,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,qBAAa,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,cAAe,SAAQ,YAAY;CAAG"}
package/dist/errors.js ADDED
@@ -0,0 +1,42 @@
1
+ export class TaprootError extends Error {
2
+ code;
3
+ constructor(message, options) {
4
+ super(message, options);
5
+ this.name = new.target.name;
6
+ this.code = new.target.name
7
+ .replace(/Error$/u, '')
8
+ .replace(/([a-z])([A-Z])/gu, '$1_$2')
9
+ .toUpperCase();
10
+ }
11
+ }
12
+ export class EntityNotFoundError extends TaprootError {
13
+ }
14
+ export class EntityAlreadyExistsError extends TaprootError {
15
+ }
16
+ export class RevisionConflictError extends TaprootError {
17
+ }
18
+ export class InvalidEntityError extends TaprootError {
19
+ }
20
+ export class InvalidStatementError extends InvalidEntityError {
21
+ }
22
+ export class InvalidDatatypeError extends InvalidEntityError {
23
+ }
24
+ export class PropertyNotFoundError extends TaprootError {
25
+ }
26
+ export class PropertyDatatypeMismatchError extends InvalidEntityError {
27
+ }
28
+ export class DuplicateStatementIdError extends InvalidStatementError {
29
+ }
30
+ export class EntityTooLargeError extends InvalidEntityError {
31
+ }
32
+ export class QuadPatchTooLargeError extends TaprootError {
33
+ }
34
+ export class SchemaMismatchError extends TaprootError {
35
+ }
36
+ export class InvalidCursorError extends TaprootError {
37
+ }
38
+ export class IntegrityError extends TaprootError {
39
+ }
40
+ export class BulkLimitError extends TaprootError {
41
+ }
42
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI;aACxB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;aACpC,WAAW,EAAE,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,MAAM,OAAO,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG;AACnD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG"}