@geoprotocol/grc-20 0.1.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 (82) hide show
  1. package/dist/builder/edit.d.ts +107 -0
  2. package/dist/builder/edit.d.ts.map +1 -0
  3. package/dist/builder/edit.js +221 -0
  4. package/dist/builder/edit.js.map +1 -0
  5. package/dist/builder/entity.d.ts +62 -0
  6. package/dist/builder/entity.d.ts.map +1 -0
  7. package/dist/builder/entity.js +126 -0
  8. package/dist/builder/entity.js.map +1 -0
  9. package/dist/builder/index.d.ts +5 -0
  10. package/dist/builder/index.d.ts.map +1 -0
  11. package/dist/builder/index.js +5 -0
  12. package/dist/builder/index.js.map +1 -0
  13. package/dist/builder/relation.d.ts +66 -0
  14. package/dist/builder/relation.d.ts.map +1 -0
  15. package/dist/builder/relation.js +114 -0
  16. package/dist/builder/relation.js.map +1 -0
  17. package/dist/builder/update.d.ts +90 -0
  18. package/dist/builder/update.d.ts.map +1 -0
  19. package/dist/builder/update.js +174 -0
  20. package/dist/builder/update.js.map +1 -0
  21. package/dist/codec/edit.d.ts +17 -0
  22. package/dist/codec/edit.d.ts.map +1 -0
  23. package/dist/codec/edit.js +393 -0
  24. package/dist/codec/edit.js.map +1 -0
  25. package/dist/codec/index.d.ts +3 -0
  26. package/dist/codec/index.d.ts.map +1 -0
  27. package/dist/codec/index.js +3 -0
  28. package/dist/codec/index.js.map +1 -0
  29. package/dist/codec/op.d.ts +27 -0
  30. package/dist/codec/op.d.ts.map +1 -0
  31. package/dist/codec/op.js +333 -0
  32. package/dist/codec/op.js.map +1 -0
  33. package/dist/codec/primitives.d.ts +138 -0
  34. package/dist/codec/primitives.d.ts.map +1 -0
  35. package/dist/codec/primitives.js +285 -0
  36. package/dist/codec/primitives.js.map +1 -0
  37. package/dist/codec/value.d.ts +41 -0
  38. package/dist/codec/value.d.ts.map +1 -0
  39. package/dist/codec/value.js +202 -0
  40. package/dist/codec/value.js.map +1 -0
  41. package/dist/genesis/index.d.ts +109 -0
  42. package/dist/genesis/index.d.ts.map +1 -0
  43. package/dist/genesis/index.js +183 -0
  44. package/dist/genesis/index.js.map +1 -0
  45. package/dist/index.d.ts +13 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +18 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/test/basic.test.d.ts +2 -0
  50. package/dist/test/basic.test.d.ts.map +1 -0
  51. package/dist/test/basic.test.js +270 -0
  52. package/dist/test/basic.test.js.map +1 -0
  53. package/dist/types/edit.d.ts +46 -0
  54. package/dist/types/edit.d.ts.map +1 -0
  55. package/dist/types/edit.js +13 -0
  56. package/dist/types/edit.js.map +1 -0
  57. package/dist/types/id.d.ts +32 -0
  58. package/dist/types/id.d.ts.map +1 -0
  59. package/dist/types/id.js +45 -0
  60. package/dist/types/id.js.map +1 -0
  61. package/dist/types/index.d.ts +9 -0
  62. package/dist/types/index.d.ts.map +1 -0
  63. package/dist/types/index.js +5 -0
  64. package/dist/types/index.js.map +1 -0
  65. package/dist/types/op.d.ts +147 -0
  66. package/dist/types/op.d.ts.map +1 -0
  67. package/dist/types/op.js +60 -0
  68. package/dist/types/op.js.map +1 -0
  69. package/dist/types/value.d.ts +107 -0
  70. package/dist/types/value.d.ts.map +1 -0
  71. package/dist/types/value.js +126 -0
  72. package/dist/types/value.js.map +1 -0
  73. package/dist/util/id.d.ts +51 -0
  74. package/dist/util/id.d.ts.map +1 -0
  75. package/dist/util/id.js +215 -0
  76. package/dist/util/id.js.map +1 -0
  77. package/dist/util/index.d.ts +2 -0
  78. package/dist/util/index.d.ts.map +1 -0
  79. package/dist/util/index.js +2 -0
  80. package/dist/util/index.js.map +1 -0
  81. package/package.json +68 -0
  82. package/readme.md +232 -0
@@ -0,0 +1,333 @@
1
+ import { OP_TYPE_CREATE_ENTITY, OP_TYPE_CREATE_PROPERTY, OP_TYPE_CREATE_RELATION, OP_TYPE_DELETE_ENTITY, OP_TYPE_DELETE_RELATION, OP_TYPE_RESTORE_ENTITY, OP_TYPE_RESTORE_RELATION, OP_TYPE_UPDATE_ENTITY, OP_TYPE_UPDATE_RELATION, } from "../types/op.js";
2
+ import { DecodeError } from "./primitives.js";
3
+ import { decodePropertyValue, encodePropertyValue, } from "./value.js";
4
+ // UpdateEntity flags
5
+ const UPDATE_HAS_SET_PROPERTIES = 0x01;
6
+ const UPDATE_HAS_UNSET_PROPERTIES = 0x02;
7
+ // CreateRelation flags
8
+ const RELATION_HAS_FROM_SPACE = 0x01;
9
+ const RELATION_HAS_FROM_VERSION = 0x02;
10
+ const RELATION_HAS_TO_SPACE = 0x04;
11
+ const RELATION_HAS_TO_VERSION = 0x08;
12
+ const RELATION_HAS_ENTITY = 0x10;
13
+ const RELATION_HAS_POSITION = 0x20;
14
+ // UpdateRelation flags
15
+ const UPDATE_REL_HAS_POSITION = 0x01;
16
+ /**
17
+ * Encodes a single operation.
18
+ */
19
+ export function encodeOp(writer, op, dicts) {
20
+ switch (op.type) {
21
+ case "createEntity":
22
+ encodeCreateEntity(writer, op, dicts);
23
+ break;
24
+ case "updateEntity":
25
+ encodeUpdateEntity(writer, op, dicts);
26
+ break;
27
+ case "deleteEntity":
28
+ encodeDeleteEntity(writer, op, dicts);
29
+ break;
30
+ case "restoreEntity":
31
+ encodeRestoreEntity(writer, op, dicts);
32
+ break;
33
+ case "createRelation":
34
+ encodeCreateRelation(writer, op, dicts);
35
+ break;
36
+ case "updateRelation":
37
+ encodeUpdateRelation(writer, op, dicts);
38
+ break;
39
+ case "deleteRelation":
40
+ encodeDeleteRelation(writer, op, dicts);
41
+ break;
42
+ case "restoreRelation":
43
+ encodeRestoreRelation(writer, op, dicts);
44
+ break;
45
+ case "createProperty":
46
+ encodeCreateProperty(writer, op);
47
+ break;
48
+ }
49
+ }
50
+ function encodeCreateEntity(writer, op, dicts) {
51
+ writer.writeByte(OP_TYPE_CREATE_ENTITY);
52
+ writer.writeId(op.id);
53
+ writer.writeVarintNumber(op.values.length);
54
+ for (const value of op.values) {
55
+ encodePropertyValue(writer, value, dicts);
56
+ }
57
+ }
58
+ function encodeUpdateEntity(writer, op, dicts) {
59
+ writer.writeByte(OP_TYPE_UPDATE_ENTITY);
60
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
61
+ let flags = 0;
62
+ if (op.setProperties.length > 0)
63
+ flags |= UPDATE_HAS_SET_PROPERTIES;
64
+ if (op.unsetProperties.length > 0)
65
+ flags |= UPDATE_HAS_UNSET_PROPERTIES;
66
+ writer.writeByte(flags);
67
+ if (op.setProperties.length > 0) {
68
+ writer.writeVarintNumber(op.setProperties.length);
69
+ for (const value of op.setProperties) {
70
+ encodePropertyValue(writer, value, dicts);
71
+ }
72
+ }
73
+ if (op.unsetProperties.length > 0) {
74
+ writer.writeVarintNumber(op.unsetProperties.length);
75
+ for (const unset of op.unsetProperties) {
76
+ encodeUnsetProperty(writer, unset, dicts);
77
+ }
78
+ }
79
+ }
80
+ function encodeUnsetProperty(writer, unset, dicts) {
81
+ writer.writeVarintNumber(dicts.getPropertyIndex(unset.property));
82
+ encodeUnsetLanguage(writer, unset.language, dicts);
83
+ }
84
+ function encodeUnsetLanguage(writer, lang, dicts) {
85
+ switch (lang.type) {
86
+ case "all":
87
+ writer.writeVarint(0xffffffffn); // 0xFFFFFFFF
88
+ break;
89
+ case "nonLinguistic":
90
+ writer.writeVarintNumber(0);
91
+ break;
92
+ case "specific":
93
+ writer.writeVarintNumber(dicts.getLanguageIndex(lang.language));
94
+ break;
95
+ }
96
+ }
97
+ function encodeDeleteEntity(writer, op, dicts) {
98
+ writer.writeByte(OP_TYPE_DELETE_ENTITY);
99
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
100
+ }
101
+ function encodeRestoreEntity(writer, op, dicts) {
102
+ writer.writeByte(OP_TYPE_RESTORE_ENTITY);
103
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
104
+ }
105
+ function encodeCreateRelation(writer, op, dicts) {
106
+ writer.writeByte(OP_TYPE_CREATE_RELATION);
107
+ // Mode: 0 = unique, 1 = many
108
+ if (op.idMode.type === "unique") {
109
+ writer.writeByte(0);
110
+ }
111
+ else {
112
+ writer.writeByte(1);
113
+ writer.writeId(op.idMode.id);
114
+ }
115
+ // Type, from, to
116
+ writer.writeVarintNumber(dicts.getRelationTypeIndex(op.relationType));
117
+ writer.writeVarintNumber(dicts.getObjectIndex(op.from));
118
+ writer.writeVarintNumber(dicts.getObjectIndex(op.to));
119
+ // Flags
120
+ let flags = 0;
121
+ if (op.fromSpace)
122
+ flags |= RELATION_HAS_FROM_SPACE;
123
+ if (op.fromVersion)
124
+ flags |= RELATION_HAS_FROM_VERSION;
125
+ if (op.toSpace)
126
+ flags |= RELATION_HAS_TO_SPACE;
127
+ if (op.toVersion)
128
+ flags |= RELATION_HAS_TO_VERSION;
129
+ if (op.entity)
130
+ flags |= RELATION_HAS_ENTITY;
131
+ if (op.position)
132
+ flags |= RELATION_HAS_POSITION;
133
+ writer.writeByte(flags);
134
+ // Optional fields
135
+ if (op.fromSpace)
136
+ writer.writeId(op.fromSpace);
137
+ if (op.fromVersion)
138
+ writer.writeId(op.fromVersion);
139
+ if (op.toSpace)
140
+ writer.writeId(op.toSpace);
141
+ if (op.toVersion)
142
+ writer.writeId(op.toVersion);
143
+ if (op.entity)
144
+ writer.writeId(op.entity);
145
+ if (op.position)
146
+ writer.writeString(op.position);
147
+ }
148
+ function encodeUpdateRelation(writer, op, dicts) {
149
+ writer.writeByte(OP_TYPE_UPDATE_RELATION);
150
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
151
+ let flags = 0;
152
+ if (op.position !== undefined)
153
+ flags |= UPDATE_REL_HAS_POSITION;
154
+ writer.writeByte(flags);
155
+ if (op.position !== undefined) {
156
+ writer.writeString(op.position);
157
+ }
158
+ }
159
+ function encodeDeleteRelation(writer, op, dicts) {
160
+ writer.writeByte(OP_TYPE_DELETE_RELATION);
161
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
162
+ }
163
+ function encodeRestoreRelation(writer, op, dicts) {
164
+ writer.writeByte(OP_TYPE_RESTORE_RELATION);
165
+ writer.writeVarintNumber(dicts.getObjectIndex(op.id));
166
+ }
167
+ function encodeCreateProperty(writer, op) {
168
+ writer.writeByte(OP_TYPE_CREATE_PROPERTY);
169
+ writer.writeId(op.id);
170
+ writer.writeByte(op.dataType);
171
+ }
172
+ /**
173
+ * Decodes a single operation.
174
+ */
175
+ export function decodeOp(reader, dicts) {
176
+ const opType = reader.readByte();
177
+ switch (opType) {
178
+ case OP_TYPE_CREATE_ENTITY:
179
+ return decodeCreateEntity(reader, dicts);
180
+ case OP_TYPE_UPDATE_ENTITY:
181
+ return decodeUpdateEntity(reader, dicts);
182
+ case OP_TYPE_DELETE_ENTITY:
183
+ return decodeDeleteEntity(reader, dicts);
184
+ case OP_TYPE_RESTORE_ENTITY:
185
+ return decodeRestoreEntity(reader, dicts);
186
+ case OP_TYPE_CREATE_RELATION:
187
+ return decodeCreateRelation(reader, dicts);
188
+ case OP_TYPE_UPDATE_RELATION:
189
+ return decodeUpdateRelation(reader, dicts);
190
+ case OP_TYPE_DELETE_RELATION:
191
+ return decodeDeleteRelation(reader, dicts);
192
+ case OP_TYPE_RESTORE_RELATION:
193
+ return decodeRestoreRelation(reader, dicts);
194
+ case OP_TYPE_CREATE_PROPERTY:
195
+ return decodeCreateProperty(reader);
196
+ default:
197
+ throw new DecodeError("E005", `invalid op type: ${opType}`);
198
+ }
199
+ }
200
+ function decodeCreateEntity(reader, dicts) {
201
+ const id = reader.readId();
202
+ const valueCount = reader.readVarintNumber();
203
+ const values = [];
204
+ for (let i = 0; i < valueCount; i++) {
205
+ values.push(decodePropertyValue(reader, dicts));
206
+ }
207
+ return { type: "createEntity", id, values };
208
+ }
209
+ function decodeUpdateEntity(reader, dicts) {
210
+ const id = dicts.getObject(reader.readVarintNumber());
211
+ const flags = reader.readByte();
212
+ // Check reserved bits
213
+ if ((flags & 0xfc) !== 0) {
214
+ throw new DecodeError("E005", "reserved bits are non-zero in UpdateEntity flags");
215
+ }
216
+ const setProperties = [];
217
+ if (flags & UPDATE_HAS_SET_PROPERTIES) {
218
+ const count = reader.readVarintNumber();
219
+ for (let i = 0; i < count; i++) {
220
+ setProperties.push(decodePropertyValue(reader, dicts));
221
+ }
222
+ }
223
+ const unsetProperties = [];
224
+ if (flags & UPDATE_HAS_UNSET_PROPERTIES) {
225
+ const count = reader.readVarintNumber();
226
+ for (let i = 0; i < count; i++) {
227
+ unsetProperties.push(decodeUnsetProperty(reader, dicts));
228
+ }
229
+ }
230
+ return { type: "updateEntity", id, setProperties, unsetProperties };
231
+ }
232
+ function decodeUnsetProperty(reader, dicts) {
233
+ const propIndex = reader.readVarintNumber();
234
+ const prop = dicts.getProperty(propIndex);
235
+ const language = decodeUnsetLanguage(reader, dicts);
236
+ return { property: prop.id, language };
237
+ }
238
+ function decodeUnsetLanguage(reader, dicts) {
239
+ const langValue = reader.readVarint();
240
+ if (langValue === 0xffffffffn) {
241
+ return { type: "all" };
242
+ }
243
+ else if (langValue === 0n) {
244
+ return { type: "nonLinguistic" };
245
+ }
246
+ else {
247
+ const language = dicts.getLanguage(Number(langValue));
248
+ if (!language) {
249
+ throw new DecodeError("E002", `language index ${langValue} out of bounds`);
250
+ }
251
+ return { type: "specific", language };
252
+ }
253
+ }
254
+ function decodeDeleteEntity(reader, dicts) {
255
+ const id = dicts.getObject(reader.readVarintNumber());
256
+ return { type: "deleteEntity", id };
257
+ }
258
+ function decodeRestoreEntity(reader, dicts) {
259
+ const id = dicts.getObject(reader.readVarintNumber());
260
+ return { type: "restoreEntity", id };
261
+ }
262
+ function decodeCreateRelation(reader, dicts) {
263
+ const mode = reader.readByte();
264
+ let idMode;
265
+ if (mode === 0) {
266
+ idMode = { type: "unique" };
267
+ }
268
+ else if (mode === 1) {
269
+ idMode = { type: "many", id: reader.readId() };
270
+ }
271
+ else {
272
+ throw new DecodeError("E005", `invalid relation mode: ${mode}`);
273
+ }
274
+ const relationType = dicts.getRelationType(reader.readVarintNumber());
275
+ const from = dicts.getObject(reader.readVarintNumber());
276
+ const to = dicts.getObject(reader.readVarintNumber());
277
+ const flags = reader.readByte();
278
+ // Check reserved bits
279
+ if ((flags & 0xc0) !== 0) {
280
+ throw new DecodeError("E005", "reserved bits are non-zero in CreateRelation flags");
281
+ }
282
+ const fromSpace = flags & RELATION_HAS_FROM_SPACE ? reader.readId() : undefined;
283
+ const fromVersion = flags & RELATION_HAS_FROM_VERSION ? reader.readId() : undefined;
284
+ const toSpace = flags & RELATION_HAS_TO_SPACE ? reader.readId() : undefined;
285
+ const toVersion = flags & RELATION_HAS_TO_VERSION ? reader.readId() : undefined;
286
+ const entity = flags & RELATION_HAS_ENTITY ? reader.readId() : undefined;
287
+ const position = flags & RELATION_HAS_POSITION ? reader.readString() : undefined;
288
+ // Validate: unique mode cannot have explicit entity
289
+ if (mode === 0 && entity) {
290
+ throw new DecodeError("E005", "unique mode relation cannot have explicit entity");
291
+ }
292
+ return {
293
+ type: "createRelation",
294
+ idMode,
295
+ relationType,
296
+ from,
297
+ to,
298
+ fromSpace,
299
+ fromVersion,
300
+ toSpace,
301
+ toVersion,
302
+ entity,
303
+ position,
304
+ };
305
+ }
306
+ function decodeUpdateRelation(reader, dicts) {
307
+ const id = dicts.getObject(reader.readVarintNumber());
308
+ const flags = reader.readByte();
309
+ // Check reserved bits
310
+ if ((flags & 0xfe) !== 0) {
311
+ throw new DecodeError("E005", "reserved bits are non-zero in UpdateRelation flags");
312
+ }
313
+ const position = flags & UPDATE_REL_HAS_POSITION ? reader.readString() : undefined;
314
+ return { type: "updateRelation", id, position };
315
+ }
316
+ function decodeDeleteRelation(reader, dicts) {
317
+ const id = dicts.getObject(reader.readVarintNumber());
318
+ return { type: "deleteRelation", id };
319
+ }
320
+ function decodeRestoreRelation(reader, dicts) {
321
+ const id = dicts.getObject(reader.readVarintNumber());
322
+ return { type: "restoreRelation", id };
323
+ }
324
+ function decodeCreateProperty(reader) {
325
+ const id = reader.readId();
326
+ const dataTypeByte = reader.readByte();
327
+ if (dataTypeByte < 1 || dataTypeByte > 10) {
328
+ throw new DecodeError("E005", `invalid data type: ${dataTypeByte}`);
329
+ }
330
+ const dataType = dataTypeByte;
331
+ return { type: "createProperty", id, dataType };
332
+ }
333
+ //# sourceMappingURL=op.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op.js","sourceRoot":"","sources":["../../src/codec/op.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { type Id } from "../types/id.js";
2
+ /**
3
+ * ZigZag encodes a signed integer to an unsigned integer.
4
+ */
5
+ export declare function zigzagEncode(n: bigint): bigint;
6
+ /**
7
+ * ZigZag decodes an unsigned integer to a signed integer.
8
+ */
9
+ export declare function zigzagDecode(n: bigint): bigint;
10
+ /**
11
+ * Binary writer for encoding GRC-20 data.
12
+ */
13
+ export declare class Writer {
14
+ private buffer;
15
+ private pos;
16
+ constructor(initialCapacity?: number);
17
+ private ensureCapacity;
18
+ /**
19
+ * Returns the written bytes.
20
+ */
21
+ finish(): Uint8Array;
22
+ /**
23
+ * Returns the current position (bytes written).
24
+ */
25
+ position(): number;
26
+ /**
27
+ * Writes a single byte.
28
+ */
29
+ writeByte(value: number): void;
30
+ /**
31
+ * Writes raw bytes.
32
+ */
33
+ writeBytes(bytes: Uint8Array): void;
34
+ /**
35
+ * Writes a 16-byte UUID (raw, no length prefix).
36
+ */
37
+ writeId(id: Id): void;
38
+ /**
39
+ * Writes an unsigned varint (LEB128).
40
+ */
41
+ writeVarint(value: bigint): void;
42
+ /**
43
+ * Writes an unsigned varint from a number.
44
+ */
45
+ writeVarintNumber(value: number): void;
46
+ /**
47
+ * Writes a signed varint (ZigZag encoded).
48
+ */
49
+ writeSignedVarint(value: bigint): void;
50
+ /**
51
+ * Writes a length-prefixed string (UTF-8).
52
+ */
53
+ writeString(s: string): void;
54
+ /**
55
+ * Writes a length-prefixed byte array.
56
+ */
57
+ writeLengthPrefixedBytes(bytes: Uint8Array): void;
58
+ /**
59
+ * Writes a 64-bit float (IEEE 754, little-endian).
60
+ */
61
+ writeFloat64(value: number): void;
62
+ /**
63
+ * Writes a vector of IDs with length prefix.
64
+ */
65
+ writeIdVec(ids: Id[]): void;
66
+ }
67
+ /**
68
+ * Decode error with context.
69
+ */
70
+ export declare class DecodeError extends Error {
71
+ code: string;
72
+ constructor(code: string, message: string);
73
+ }
74
+ /**
75
+ * Binary reader for decoding GRC-20 data.
76
+ */
77
+ export declare class Reader {
78
+ private buffer;
79
+ private pos;
80
+ constructor(buffer: Uint8Array);
81
+ /**
82
+ * Returns true if there are more bytes to read.
83
+ */
84
+ hasMore(): boolean;
85
+ /**
86
+ * Returns the current position.
87
+ */
88
+ position(): number;
89
+ /**
90
+ * Returns remaining bytes.
91
+ */
92
+ remaining(): number;
93
+ /**
94
+ * Reads a single byte.
95
+ */
96
+ readByte(): number;
97
+ /**
98
+ * Peeks at the next byte without consuming it.
99
+ */
100
+ peekByte(): number;
101
+ /**
102
+ * Reads raw bytes.
103
+ */
104
+ readBytes(n: number): Uint8Array;
105
+ /**
106
+ * Reads a 16-byte UUID.
107
+ */
108
+ readId(): Id;
109
+ /**
110
+ * Reads an unsigned varint (LEB128).
111
+ */
112
+ readVarint(): bigint;
113
+ /**
114
+ * Reads an unsigned varint as a number (throws if > MAX_SAFE_INTEGER).
115
+ */
116
+ readVarintNumber(): number;
117
+ /**
118
+ * Reads a signed varint (ZigZag encoded).
119
+ */
120
+ readSignedVarint(): bigint;
121
+ /**
122
+ * Reads a length-prefixed string (UTF-8).
123
+ */
124
+ readString(): string;
125
+ /**
126
+ * Reads a length-prefixed byte array.
127
+ */
128
+ readLengthPrefixedBytes(): Uint8Array;
129
+ /**
130
+ * Reads a 64-bit float (IEEE 754, little-endian).
131
+ */
132
+ readFloat64(): number;
133
+ /**
134
+ * Reads a vector of IDs with length prefix.
135
+ */
136
+ readIdVec(): Id[];
137
+ }
138
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/codec/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,GAAG,CAAa;gBAEZ,eAAe,GAAE,MAAa;IAI1C,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,MAAM,IAAI,UAAU;IAIpB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMnC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IAIrB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBhC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKjD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI;CAM5B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAE3B,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;CAKlB;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,GAAG,CAAa;gBAEZ,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAShC;;OAEG;IACH,MAAM,IAAI,EAAE;IAIZ;;OAEG;IACH,UAAU,IAAI,MAAM;IA4BpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM;IAUpB;;OAEG;IACH,uBAAuB,IAAI,UAAU;IAKrC;;OAEG;IACH,WAAW,IAAI,MAAM;IAMrB;;OAEG;IACH,SAAS,IAAI,EAAE,EAAE;CAQlB"}