@vworlds/vecs-client 1.0.16

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 (81) hide show
  1. package/node_modules/@vworlds/vecs-protocol/package.json +14 -0
  2. package/node_modules/@vworlds/vecs-protocol/src/cid.d.ts +14 -0
  3. package/node_modules/@vworlds/vecs-protocol/src/cid.js +58 -0
  4. package/node_modules/@vworlds/vecs-protocol/src/cid.js.map +1 -0
  5. package/node_modules/@vworlds/vecs-protocol/src/index.d.ts +5 -0
  6. package/node_modules/@vworlds/vecs-protocol/src/index.js +5 -0
  7. package/node_modules/@vworlds/vecs-protocol/src/index.js.map +1 -0
  8. package/node_modules/@vworlds/vecs-protocol/src/messages.d.ts +42 -0
  9. package/node_modules/@vworlds/vecs-protocol/src/messages.js +149 -0
  10. package/node_modules/@vworlds/vecs-protocol/src/messages.js.map +1 -0
  11. package/node_modules/@vworlds/vecs-protocol/src/network_world.d.ts +18 -0
  12. package/node_modules/@vworlds/vecs-protocol/src/network_world.js +93 -0
  13. package/node_modules/@vworlds/vecs-protocol/src/network_world.js.map +1 -0
  14. package/node_modules/@vworlds/vecs-protocol/src/rpc.d.ts +36 -0
  15. package/node_modules/@vworlds/vecs-protocol/src/rpc.js +140 -0
  16. package/node_modules/@vworlds/vecs-protocol/src/rpc.js.map +1 -0
  17. package/node_modules/@vworlds/vecs-protocol/src/transport.d.ts +21 -0
  18. package/node_modules/@vworlds/vecs-protocol/src/transport.js +2 -0
  19. package/node_modules/@vworlds/vecs-protocol/src/transport.js.map +1 -0
  20. package/node_modules/@vworlds/vecs-wire/package.json +14 -0
  21. package/node_modules/@vworlds/vecs-wire/src/any.d.ts +27 -0
  22. package/node_modules/@vworlds/vecs-wire/src/any.js +43 -0
  23. package/node_modules/@vworlds/vecs-wire/src/any.js.map +1 -0
  24. package/node_modules/@vworlds/vecs-wire/src/decoder.d.ts +31 -0
  25. package/node_modules/@vworlds/vecs-wire/src/decoder.js +180 -0
  26. package/node_modules/@vworlds/vecs-wire/src/decoder.js.map +1 -0
  27. package/node_modules/@vworlds/vecs-wire/src/decorators.d.ts +4 -0
  28. package/node_modules/@vworlds/vecs-wire/src/decorators.js +139 -0
  29. package/node_modules/@vworlds/vecs-wire/src/decorators.js.map +1 -0
  30. package/node_modules/@vworlds/vecs-wire/src/encoder.d.ts +32 -0
  31. package/node_modules/@vworlds/vecs-wire/src/encoder.js +230 -0
  32. package/node_modules/@vworlds/vecs-wire/src/encoder.js.map +1 -0
  33. package/node_modules/@vworlds/vecs-wire/src/index.d.ts +5 -0
  34. package/node_modules/@vworlds/vecs-wire/src/index.js +5 -0
  35. package/node_modules/@vworlds/vecs-wire/src/index.js.map +1 -0
  36. package/package.json +28 -0
  37. package/vecs-client/src/client_world.d.ts +46 -0
  38. package/vecs-client/src/client_world.js +129 -0
  39. package/vecs-client/src/client_world.js.map +1 -0
  40. package/vecs-client/src/index.d.ts +4 -0
  41. package/vecs-client/src/index.js +4 -0
  42. package/vecs-client/src/index.js.map +1 -0
  43. package/vecs-client/src/interpolator.d.ts +51 -0
  44. package/vecs-client/src/interpolator.js +305 -0
  45. package/vecs-client/src/interpolator.js.map +1 -0
  46. package/vecs-client/src/world_path.d.ts +1 -0
  47. package/vecs-client/src/world_path.js +4 -0
  48. package/vecs-client/src/world_path.js.map +1 -0
  49. package/vecs-protocol/src/cid.d.ts +14 -0
  50. package/vecs-protocol/src/cid.js +58 -0
  51. package/vecs-protocol/src/cid.js.map +1 -0
  52. package/vecs-protocol/src/index.d.ts +5 -0
  53. package/vecs-protocol/src/index.js +5 -0
  54. package/vecs-protocol/src/index.js.map +1 -0
  55. package/vecs-protocol/src/messages.d.ts +42 -0
  56. package/vecs-protocol/src/messages.js +149 -0
  57. package/vecs-protocol/src/messages.js.map +1 -0
  58. package/vecs-protocol/src/network_world.d.ts +18 -0
  59. package/vecs-protocol/src/network_world.js +93 -0
  60. package/vecs-protocol/src/network_world.js.map +1 -0
  61. package/vecs-protocol/src/rpc.d.ts +36 -0
  62. package/vecs-protocol/src/rpc.js +140 -0
  63. package/vecs-protocol/src/rpc.js.map +1 -0
  64. package/vecs-protocol/src/transport.d.ts +21 -0
  65. package/vecs-protocol/src/transport.js +2 -0
  66. package/vecs-protocol/src/transport.js.map +1 -0
  67. package/vecs-wire/src/any.d.ts +27 -0
  68. package/vecs-wire/src/any.js +43 -0
  69. package/vecs-wire/src/any.js.map +1 -0
  70. package/vecs-wire/src/decoder.d.ts +31 -0
  71. package/vecs-wire/src/decoder.js +180 -0
  72. package/vecs-wire/src/decoder.js.map +1 -0
  73. package/vecs-wire/src/decorators.d.ts +4 -0
  74. package/vecs-wire/src/decorators.js +139 -0
  75. package/vecs-wire/src/decorators.js.map +1 -0
  76. package/vecs-wire/src/encoder.d.ts +32 -0
  77. package/vecs-wire/src/encoder.js +230 -0
  78. package/vecs-wire/src/encoder.js.map +1 -0
  79. package/vecs-wire/src/index.d.ts +5 -0
  80. package/vecs-wire/src/index.js +5 -0
  81. package/vecs-wire/src/index.js.map +1 -0
@@ -0,0 +1,139 @@
1
+ const scalarMethods = {
2
+ bool: { read: "read_bool", write: "write_bool" },
3
+ u8: { read: "read_u8", write: "write_u8" },
4
+ i8: { read: "read_i8", write: "write_i8" },
5
+ u16: { read: "read_u16", write: "write_u16" },
6
+ i16: { read: "read_i16", write: "write_i16" },
7
+ u32: { read: "read_u32", write: "write_u32" },
8
+ i32: { read: "read_i32", write: "write_i32" },
9
+ u64: { read: "read_u64", write: "write_u64" },
10
+ i64: { read: "read_i64", write: "write_i64" },
11
+ enum: { read: "read_enum", write: "write_enum" },
12
+ f32: { read: "read_f32", write: "write_f32" },
13
+ f64: { read: "read_f64", write: "write_f64" },
14
+ string: { read: "read_string", write: "write_string" },
15
+ bytes: { read: "read_bytes", write: "write_buffer" },
16
+ any: { read: "read_any", write: "write_any" },
17
+ };
18
+ const fieldsByConstructor = new WeakMap();
19
+ const compiledConstructors = new WeakSet();
20
+ export function type(spec) {
21
+ assertValidSpec(spec);
22
+ return (target, propertyKey) => {
23
+ if (typeof propertyKey !== "string") {
24
+ throw new TypeError("vecs-wire/type only supports string property keys");
25
+ }
26
+ const C = target.constructor;
27
+ const fields = fieldsByConstructor.get(C) ?? [];
28
+ if (fields.some((field) => field.key === propertyKey)) {
29
+ throw new Error(`vecs-wire/type duplicate field ${propertyKey}`);
30
+ }
31
+ fields.push({ key: propertyKey, spec });
32
+ fieldsByConstructor.set(C, fields);
33
+ compiledConstructors.delete(C);
34
+ installTrampolines(C);
35
+ };
36
+ }
37
+ function installTrampolines(C) {
38
+ if (!Object.prototype.hasOwnProperty.call(C.prototype, "wireEncode")) {
39
+ C.prototype.wireEncode = function wireEncode(encoder) {
40
+ compileWireType(C);
41
+ this.wireEncode(encoder);
42
+ };
43
+ }
44
+ if (!Object.prototype.hasOwnProperty.call(C, "wireDecode")) {
45
+ C.wireDecode = function wireDecode(decoder) {
46
+ compileWireType(C);
47
+ return C.wireDecode(decoder);
48
+ };
49
+ }
50
+ }
51
+ function compileWireType(C) {
52
+ if (compiledConstructors.has(C)) {
53
+ return;
54
+ }
55
+ const fields = fieldsByConstructor.get(C);
56
+ if (fields === undefined || fields.length === 0) {
57
+ throw new Error(`vecs-wire/type ${C.name || "anonymous class"} has no decorated fields`);
58
+ }
59
+ const nestedTypes = [];
60
+ const encodeLines = [];
61
+ const decodeLines = ["const value = new C();"];
62
+ fields.forEach((field, index) => {
63
+ emitEncodeField(encodeLines, field, index, nestedTypes);
64
+ emitDecodeField(decodeLines, field, index, nestedTypes);
65
+ });
66
+ decodeLines.push("return value;");
67
+ const encodeFactory = new Function("C", ...nestedTypes.map((_, index) => `T${index}`), `return function wireEncode(encoder) {\n${encodeLines.join("\n")}\n};`);
68
+ const decodeFactory = new Function("C", ...nestedTypes.map((_, index) => `T${index}`), `return function wireDecode(decoder) {\n${decodeLines.join("\n")}\n};`);
69
+ const args = [C, ...nestedTypes];
70
+ C.prototype.wireEncode = encodeFactory(...args);
71
+ C.wireDecode = decodeFactory(...args);
72
+ compiledConstructors.add(C);
73
+ }
74
+ function emitEncodeField(lines, field, index, nestedTypes) {
75
+ const access = `this[${JSON.stringify(field.key)}]`;
76
+ if (isArraySpec(field.spec)) {
77
+ const valueName = `a${index}`;
78
+ lines.push(`const ${valueName} = ${access};`);
79
+ lines.push(`if (!Array.isArray(${valueName})) throw new TypeError(${JSON.stringify(field.key)} + " must be an array");`);
80
+ lines.push(`encoder.write_u32(${valueName}.length);`);
81
+ lines.push(`for (let i${index} = 0; i${index} < ${valueName}.length; i${index}++) {`);
82
+ lines.push(emitEncodeValue(`${valueName}[i${index}]`, field.spec[0], nestedTypes));
83
+ lines.push("}");
84
+ return;
85
+ }
86
+ lines.push(emitEncodeValue(access, field.spec, nestedTypes));
87
+ }
88
+ function emitDecodeField(lines, field, index, nestedTypes) {
89
+ const access = `value[${JSON.stringify(field.key)}]`;
90
+ if (isArraySpec(field.spec)) {
91
+ const lengthName = `len${index}`;
92
+ const valueName = `a${index}`;
93
+ lines.push(`const ${lengthName} = decoder.read_u32();`);
94
+ lines.push(`const ${valueName} = new Array(${lengthName});`);
95
+ lines.push(`for (let i${index} = 0; i${index} < ${lengthName}; i${index}++) {`);
96
+ lines.push(`${valueName}[i${index}] = ${emitDecodeValue(field.spec[0], nestedTypes)};`);
97
+ lines.push("}");
98
+ lines.push(`${access} = ${valueName};`);
99
+ return;
100
+ }
101
+ lines.push(`${access} = ${emitDecodeValue(field.spec, nestedTypes)};`);
102
+ }
103
+ function emitEncodeValue(valueExpr, spec, nestedTypes) {
104
+ if (isScalarSpec(spec)) {
105
+ return `encoder.${scalarMethods[spec].write}(${valueExpr});`;
106
+ }
107
+ return `encoder.write(${valueExpr});`;
108
+ }
109
+ function emitDecodeValue(spec, nestedTypes) {
110
+ if (isScalarSpec(spec)) {
111
+ return `decoder.${scalarMethods[spec].read}()`;
112
+ }
113
+ const nestedIndex = nestedTypes.length;
114
+ nestedTypes.push(spec);
115
+ return `decoder.read(T${nestedIndex})`;
116
+ }
117
+ function assertValidSpec(spec) {
118
+ if (isArraySpec(spec)) {
119
+ if (spec.length !== 1) {
120
+ throw new TypeError("vecs-wire/type array specs must contain exactly one element type");
121
+ }
122
+ assertValidElementSpec(spec[0]);
123
+ return;
124
+ }
125
+ assertValidElementSpec(spec);
126
+ }
127
+ function assertValidElementSpec(spec) {
128
+ if (isScalarSpec(spec) || typeof spec === "function") {
129
+ return;
130
+ }
131
+ throw new TypeError(`vecs-wire/type unsupported type spec ${String(spec)}`);
132
+ }
133
+ function isArraySpec(spec) {
134
+ return Array.isArray(spec);
135
+ }
136
+ function isScalarSpec(spec) {
137
+ return typeof spec === "string" && Object.prototype.hasOwnProperty.call(scalarMethods, spec);
138
+ }
139
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../vecs-wire/src/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface IEncodable {
2
+ wireEncode(encoder: Encoder): void;
3
+ }
4
+ export declare class Encoder {
5
+ private readonly _buffer;
6
+ private _cursor;
7
+ constructor(buffer: Uint8Array);
8
+ getBuffer(): Uint8Array;
9
+ reset(): void;
10
+ get length(): number;
11
+ write_varint_u32(value: number): void;
12
+ write_varint_u64(value: bigint): void;
13
+ encode_zz_u32(value: number): number;
14
+ encode_zz_u64(value: bigint): bigint;
15
+ write_u8(value: number): void;
16
+ write_i8(value: number): void;
17
+ write_bool(value: boolean): void;
18
+ write_u16(value: number): void;
19
+ write_u32(value: number): void;
20
+ write_u64(value: bigint): void;
21
+ write_i16(value: number): void;
22
+ write_i32(value: number): void;
23
+ write_enum(value: number): void;
24
+ write_i64(value: bigint): void;
25
+ write_f32(value: number): void;
26
+ write_f64(value: number): void;
27
+ private _write_buffer_raw;
28
+ write_buffer(data: Uint8Array, len?: number): void;
29
+ write_string(value: string): void;
30
+ write_any(value: unknown): void;
31
+ write(value: IEncodable | object): void;
32
+ }
@@ -0,0 +1,230 @@
1
+ import { AnyType, TagSize } from "./any.js";
2
+ function canBeFloat(value) {
3
+ if (value === 0 || !Number.isFinite(value) || Number.isNaN(value)) {
4
+ return true;
5
+ }
6
+ const floatMin = -3.4028235e38;
7
+ const floatMax = 3.4028235e38;
8
+ if (value < floatMin || value > floatMax) {
9
+ return false;
10
+ }
11
+ return value === Math.fround(value);
12
+ }
13
+ function assertBigIntRange(value, min, max, method) {
14
+ if (value < min || value > max) {
15
+ throw new RangeError(`vecs-wire/encoder ${method}: value ${value} is out of range`);
16
+ }
17
+ }
18
+ function assertIntegerRange(value, min, max, method) {
19
+ if (!Number.isInteger(value) || value < min || value > max) {
20
+ throw new RangeError(`vecs-wire/encoder ${method}: value ${value} is out of range`);
21
+ }
22
+ }
23
+ export class Encoder {
24
+ constructor(buffer) {
25
+ this._cursor = 0;
26
+ this._buffer = buffer;
27
+ }
28
+ getBuffer() {
29
+ return this._buffer.subarray(0, this._cursor);
30
+ }
31
+ reset() {
32
+ this._cursor = 0;
33
+ }
34
+ get length() {
35
+ return this._cursor;
36
+ }
37
+ write_varint_u32(value) {
38
+ assertIntegerRange(value, 0, 0xffffffff, "write_varint_u32");
39
+ while (value > 0x7f) {
40
+ if (this._cursor >= this._buffer.length) {
41
+ throw new RangeError("vecs-wire/encoder write_varint_u32: Attempt to write beyond buffer size");
42
+ }
43
+ this._buffer[this._cursor++] = (value & 0x7f) | 0x80;
44
+ value >>>= 7;
45
+ }
46
+ if (this._cursor >= this._buffer.length) {
47
+ throw new RangeError("vecs-wire/encoder write_varint_u32: Attempt to write beyond buffer size");
48
+ }
49
+ this._buffer[this._cursor++] = value;
50
+ }
51
+ write_varint_u64(value) {
52
+ assertBigIntRange(value, 0n, 0xffffffffffffffffn, "write_varint_u64");
53
+ while (value > 0x7fn) {
54
+ if (this._cursor >= this._buffer.length) {
55
+ throw new RangeError("vecs-wire/encoder write_varint_u64: Attempt to write beyond buffer size");
56
+ }
57
+ this._buffer[this._cursor++] = Number((value & 0x7fn) | 0x80n);
58
+ value >>= 7n;
59
+ }
60
+ if (this._cursor >= this._buffer.length) {
61
+ throw new RangeError("vecs-wire/encoder write_varint_u64: Attempt to write beyond buffer size");
62
+ }
63
+ this._buffer[this._cursor++] = Number(value);
64
+ }
65
+ encode_zz_u32(value) {
66
+ return ((value << 1) ^ (value >> 31)) >>> 0;
67
+ }
68
+ encode_zz_u64(value) {
69
+ return (value << 1n) ^ (value >> 63n);
70
+ }
71
+ write_u8(value) {
72
+ assertIntegerRange(value, 0, 0xff, "write_u8");
73
+ if (this._cursor >= this._buffer.length) {
74
+ throw new RangeError("vecs-wire/encoder write_u8: Attempt to write beyond buffer size");
75
+ }
76
+ this._buffer[this._cursor++] = value;
77
+ }
78
+ write_i8(value) {
79
+ assertIntegerRange(value, -0x80, 0x7f, "write_i8");
80
+ this.write_u8(value & 0xff);
81
+ }
82
+ write_bool(value) {
83
+ this.write_u8(value ? 1 : 0);
84
+ }
85
+ write_u16(value) {
86
+ assertIntegerRange(value, 0, 0xffff, "write_u16");
87
+ this.write_varint_u32(value);
88
+ }
89
+ write_u32(value) {
90
+ assertIntegerRange(value, 0, 0xffffffff, "write_u32");
91
+ this.write_varint_u32(value);
92
+ }
93
+ write_u64(value) {
94
+ assertBigIntRange(value, 0n, 0xffffffffffffffffn, "write_u64");
95
+ this.write_varint_u64(value);
96
+ }
97
+ write_i16(value) {
98
+ assertIntegerRange(value, -0x8000, 0x7fff, "write_i16");
99
+ this.write_varint_u32(this.encode_zz_u32(value));
100
+ }
101
+ write_i32(value) {
102
+ assertIntegerRange(value, -0x80000000, 0x7fffffff, "write_i32");
103
+ this.write_varint_u32(this.encode_zz_u32(value));
104
+ }
105
+ write_enum(value) {
106
+ this.write_i32(value);
107
+ }
108
+ write_i64(value) {
109
+ assertBigIntRange(value, -0x8000000000000000n, 0x7fffffffffffffffn, "write_i64");
110
+ this.write_varint_u64(this.encode_zz_u64(value));
111
+ }
112
+ write_f32(value) {
113
+ if (this._cursor + 4 > this._buffer.length) {
114
+ throw new RangeError("vecs-wire/encoder write_f32: Attempt to write beyond buffer size");
115
+ }
116
+ new DataView(this._buffer.buffer, this._buffer.byteOffset + this._cursor, 4).setFloat32(0, value, true);
117
+ this._cursor += 4;
118
+ }
119
+ write_f64(value) {
120
+ if (this._cursor + 8 > this._buffer.length) {
121
+ throw new RangeError("vecs-wire/encoder write_f64: Attempt to write beyond buffer size");
122
+ }
123
+ new DataView(this._buffer.buffer, this._buffer.byteOffset + this._cursor, 8).setFloat64(0, value, true);
124
+ this._cursor += 8;
125
+ }
126
+ _write_buffer_raw(data, len = data.length) {
127
+ if (this._cursor + len > this._buffer.length) {
128
+ throw new RangeError("vecs-wire/encoder write_buffer: Attempt to write beyond buffer size");
129
+ }
130
+ this._buffer.set(data.subarray(0, len), this._cursor);
131
+ this._cursor += len;
132
+ }
133
+ write_buffer(data, len = data.length) {
134
+ this.write_u32(len);
135
+ this._write_buffer_raw(data, len);
136
+ }
137
+ write_string(value) {
138
+ const encodedString = new TextEncoder().encode(value);
139
+ this.write_u32(encodedString.length);
140
+ this._write_buffer_raw(encodedString, encodedString.length);
141
+ }
142
+ write_any(value) {
143
+ switch (typeof value) {
144
+ case "undefined":
145
+ this.write(new TagSize(AnyType.undefined, 1));
146
+ break;
147
+ case "boolean":
148
+ this.write(new TagSize(AnyType.boolean, value ? 1 : 2));
149
+ break;
150
+ case "string": {
151
+ const encodedString = new TextEncoder().encode(value);
152
+ if (encodedString.length === 0) {
153
+ this.write(new TagSize(AnyType.empty_string, 1));
154
+ }
155
+ else {
156
+ this.write(new TagSize(AnyType.string, encodedString.length));
157
+ this._write_buffer_raw(encodedString, encodedString.length);
158
+ }
159
+ break;
160
+ }
161
+ case "number":
162
+ if (Number.isInteger(value)) {
163
+ this.write(new TagSize(AnyType.number_integer, 8));
164
+ this.write_i64(BigInt(value));
165
+ }
166
+ else if (canBeFloat(value)) {
167
+ this.write(new TagSize(AnyType.number_float, 4));
168
+ this.write_f32(value);
169
+ }
170
+ else {
171
+ this.write(new TagSize(AnyType.number_float, 8));
172
+ this.write_f64(value);
173
+ }
174
+ break;
175
+ case "bigint":
176
+ if (value < 0n) {
177
+ this.write(new TagSize(AnyType.bigint_integer, 8));
178
+ this.write_i64(value);
179
+ }
180
+ else {
181
+ this.write(new TagSize(AnyType.bigint_unsigned, 8));
182
+ this.write_u64(value);
183
+ }
184
+ break;
185
+ case "object":
186
+ if (value === null) {
187
+ this.write(new TagSize(AnyType.null, 1));
188
+ }
189
+ else if (value instanceof Uint8Array) {
190
+ this.write(new TagSize(AnyType.binary, value.length));
191
+ this._write_buffer_raw(value);
192
+ }
193
+ else if (Array.isArray(value)) {
194
+ if (value.length === 0) {
195
+ this.write(new TagSize(AnyType.empty_array, 1));
196
+ }
197
+ else {
198
+ this.write(new TagSize(AnyType.array, value.length));
199
+ value.forEach((v) => {
200
+ this.write_any(v);
201
+ });
202
+ }
203
+ }
204
+ else {
205
+ const entries = Object.entries(value);
206
+ if (entries.length === 0) {
207
+ this.write(new TagSize(AnyType.empty_object, 1));
208
+ }
209
+ else {
210
+ this.write(new TagSize(AnyType.object, entries.length));
211
+ entries.forEach(([key, entryValue]) => {
212
+ this.write_string(key);
213
+ this.write_any(entryValue);
214
+ });
215
+ }
216
+ }
217
+ break;
218
+ default:
219
+ throw new Error(`Unsupported type ${typeof value} encoding any`);
220
+ }
221
+ }
222
+ write(value) {
223
+ const encodable = value;
224
+ if (typeof encodable.wireEncode !== "function") {
225
+ throw new TypeError("vecs-wire/encoder write requires a wireEncode method");
226
+ }
227
+ encodable.wireEncode(this);
228
+ }
229
+ }
230
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../vecs-wire/src/encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { AnyType, TagSize } from "./any.js";
2
+ export { type } from "./decorators.js";
3
+ export type { WireConstructor, WireScalarType, WireTypeSpec } from "./decorators.js";
4
+ export { Decoder, type DecodableType, type IDecodable } from "./decoder.js";
5
+ export { Encoder, type IEncodable } from "./encoder.js";
@@ -0,0 +1,5 @@
1
+ export { AnyType, TagSize } from "./any.js";
2
+ export { type } from "./decorators.js";
3
+ export { Decoder } from "./decoder.js";
4
+ export { Encoder } from "./encoder.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../vecs-wire/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAuC,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC"}