@exornea/zeno-runtime 1.7.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.
- package/dist/abi.d.ts +7 -0
- package/dist/abi.d.ts.map +1 -0
- package/dist/abi.js +7 -0
- package/dist/abi.js.map +1 -0
- package/dist/byte-vectors.d.ts +28 -0
- package/dist/byte-vectors.d.ts.map +1 -0
- package/dist/byte-vectors.js +64 -0
- package/dist/byte-vectors.js.map +1 -0
- package/dist/descriptor32.d.ts +15 -0
- package/dist/descriptor32.d.ts.map +1 -0
- package/dist/descriptor32.js +32 -0
- package/dist/descriptor32.js.map +1 -0
- package/dist/fixed-arrays.d.ts +39 -0
- package/dist/fixed-arrays.d.ts.map +1 -0
- package/dist/fixed-arrays.js +93 -0
- package/dist/fixed-arrays.js.map +1 -0
- package/dist/fixed.d.ts +12 -0
- package/dist/fixed.d.ts.map +1 -0
- package/dist/fixed.js +56 -0
- package/dist/fixed.js.map +1 -0
- package/dist/frame.d.ts +36 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +151 -0
- package/dist/frame.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/pointer-vector.d.ts +13 -0
- package/dist/pointer-vector.d.ts.map +1 -0
- package/dist/pointer-vector.js +53 -0
- package/dist/pointer-vector.js.map +1 -0
- package/dist/pointer32.d.ts +4 -0
- package/dist/pointer32.d.ts.map +1 -0
- package/dist/pointer32.js +16 -0
- package/dist/pointer32.js.map +1 -0
- package/dist/range.d.ts +6 -0
- package/dist/range.d.ts.map +1 -0
- package/dist/range.js +33 -0
- package/dist/range.js.map +1 -0
- package/dist/scalar-vector.d.ts +8 -0
- package/dist/scalar-vector.d.ts.map +1 -0
- package/dist/scalar-vector.js +17 -0
- package/dist/scalar-vector.js.map +1 -0
- package/dist/scalar.d.ts +6 -0
- package/dist/scalar.d.ts.map +1 -0
- package/dist/scalar.js +99 -0
- package/dist/scalar.js.map +1 -0
- package/dist/spans.d.ts +15 -0
- package/dist/spans.d.ts.map +1 -0
- package/dist/spans.js +30 -0
- package/dist/spans.js.map +1 -0
- package/dist/struct-vectors.d.ts +14 -0
- package/dist/struct-vectors.d.ts.map +1 -0
- package/dist/struct-vectors.js +33 -0
- package/dist/struct-vectors.js.map +1 -0
- package/dist/traversal.d.ts +9 -0
- package/dist/traversal.d.ts.map +1 -0
- package/dist/traversal.js +22 -0
- package/dist/traversal.js.map +1 -0
- package/dist/vector-base.d.ts +13 -0
- package/dist/vector-base.d.ts.map +1 -0
- package/dist/vector-base.js +32 -0
- package/dist/vector-base.js.map +1 -0
- package/dist/vectors.d.ts +6 -0
- package/dist/vectors.d.ts.map +1 -0
- package/dist/vectors.js +6 -0
- package/dist/vectors.js.map +1 -0
- package/dist/view-base.d.ts +15 -0
- package/dist/view-base.d.ts.map +1 -0
- package/dist/view-base.js +47 -0
- package/dist/view-base.js.map +1 -0
- package/dist/views.d.ts +6 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +6 -0
- package/dist/views.js.map +1 -0
- package/dist/writer-arena.d.ts +16 -0
- package/dist/writer-arena.d.ts.map +1 -0
- package/dist/writer-arena.js +46 -0
- package/dist/writer-arena.js.map +1 -0
- package/dist/writer-byte-vectors.d.ts +12 -0
- package/dist/writer-byte-vectors.d.ts.map +1 -0
- package/dist/writer-byte-vectors.js +61 -0
- package/dist/writer-byte-vectors.js.map +1 -0
- package/dist/writer-pointer-vectors.d.ts +6 -0
- package/dist/writer-pointer-vectors.d.ts.map +1 -0
- package/dist/writer-pointer-vectors.js +33 -0
- package/dist/writer-pointer-vectors.js.map +1 -0
- package/dist/writer-scalar-vectors.d.ts +7 -0
- package/dist/writer-scalar-vectors.d.ts.map +1 -0
- package/dist/writer-scalar-vectors.js +19 -0
- package/dist/writer-scalar-vectors.js.map +1 -0
- package/dist/writer-spans.d.ts +9 -0
- package/dist/writer-spans.d.ts.map +1 -0
- package/dist/writer-spans.js +21 -0
- package/dist/writer-spans.js.map +1 -0
- package/dist/writer-struct-vectors.d.ts +6 -0
- package/dist/writer-struct-vectors.d.ts.map +1 -0
- package/dist/writer-struct-vectors.js +17 -0
- package/dist/writer-struct-vectors.js.map +1 -0
- package/dist/writer-vectors.d.ts +4 -0
- package/dist/writer-vectors.d.ts.map +1 -0
- package/dist/writer-vectors.js +4 -0
- package/dist/writer-vectors.js.map +1 -0
- package/dist/writer.d.ts +4 -0
- package/dist/writer.d.ts.map +1 -0
- package/dist/writer.js +4 -0
- package/dist/writer.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { assertDataViewRange } from "./range.js";
|
|
2
|
+
export class ProjectionView {
|
|
3
|
+
view;
|
|
4
|
+
baseOffset;
|
|
5
|
+
littleEndian;
|
|
6
|
+
constructor(view, baseOffset = 0, littleEndian = true) {
|
|
7
|
+
this.view = view;
|
|
8
|
+
this.baseOffset = baseOffset;
|
|
9
|
+
this.littleEndian = littleEndian;
|
|
10
|
+
}
|
|
11
|
+
rebase(baseOffset) {
|
|
12
|
+
assertDataViewRange(this.view, baseOffset, 0);
|
|
13
|
+
this.baseOffset = baseOffset;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
rebaseUnchecked(baseOffset) {
|
|
17
|
+
this.baseOffset = baseOffset;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
moveToIndex(index, byteLength) {
|
|
21
|
+
if (!Number.isInteger(index) || index < 0) {
|
|
22
|
+
throw new RangeError(`Invalid record index: ${index}`);
|
|
23
|
+
}
|
|
24
|
+
const baseOffset = index * byteLength;
|
|
25
|
+
return this.moveToOffset(baseOffset, byteLength);
|
|
26
|
+
}
|
|
27
|
+
moveToOffset(baseOffset, byteLength) {
|
|
28
|
+
assertDataViewRange(this.view, baseOffset, 0);
|
|
29
|
+
assertDataViewRange(this.view, baseOffset, byteLength);
|
|
30
|
+
this.baseOffset = baseOffset;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
absoluteOffset(localOffset = 0) {
|
|
34
|
+
return this.baseOffset + localOffset;
|
|
35
|
+
}
|
|
36
|
+
backingOffset(localOffset = 0) {
|
|
37
|
+
return this.view.byteOffset + this.absoluteOffset(localOffset);
|
|
38
|
+
}
|
|
39
|
+
backingBuffer() {
|
|
40
|
+
return this.view.buffer;
|
|
41
|
+
}
|
|
42
|
+
assertRange(localOffset, byteLength) {
|
|
43
|
+
const start = this.absoluteOffset(localOffset);
|
|
44
|
+
assertDataViewRange(this.view, start, byteLength);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=view-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-base.js","sourceRoot":"","sources":["../src/view-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,OAAgB,cAAc;IAEb;IACT;IACS;IAHrB,YACqB,IAAc,EACvB,aAAa,CAAC,EACL,eAAe,IAAI;QAFnB,SAAI,GAAJ,IAAI,CAAU;QACvB,eAAU,GAAV,UAAU,CAAI;QACL,iBAAY,GAAZ,YAAY,CAAO;IACrC,CAAC;IAEJ,MAAM,CAAC,UAAkB;QACvB,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAES,WAAW,CAAC,KAAa,EAAE,UAAkB;QACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,UAAU,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,UAAkB;QACjD,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAES,cAAc,CAAC,WAAW,GAAG,CAAC;QACtC,OAAO,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IACvC,CAAC;IAES,aAAa,CAAC,WAAW,GAAG,CAAC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAES,WAAW,CAAC,WAAmB,EAAE,UAAkB;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;CACF"}
|
package/dist/views.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ProjectionView } from "./view-base.js";
|
|
2
|
+
export { BytesSpanView, Utf8SpanView } from "./spans.js";
|
|
3
|
+
export { FixedArrayView, FixedBytesArrayView, FixedScalarArrayView, FixedStringArrayView, FixedStructArrayView, } from "./fixed-arrays.js";
|
|
4
|
+
export { BytesVectorView, DynamicStructVectorView, FixedBytesVectorView, FixedStringVectorView, PointerVectorView, ScalarVectorView, StructVectorView, Utf8VectorView, VectorView, } from "./vectors.js";
|
|
5
|
+
export { traversePointerChain } from "./traversal.js";
|
|
6
|
+
//# sourceMappingURL=views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/views.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ProjectionView } from "./view-base.js";
|
|
2
|
+
export { BytesSpanView, Utf8SpanView } from "./spans.js";
|
|
3
|
+
export { FixedArrayView, FixedBytesArrayView, FixedScalarArrayView, FixedStringArrayView, FixedStructArrayView, } from "./fixed-arrays.js";
|
|
4
|
+
export { BytesVectorView, DynamicStructVectorView, FixedBytesVectorView, FixedStringVectorView, PointerVectorView, ScalarVectorView, StructVectorView, Utf8VectorView, VectorView, } from "./vectors.js";
|
|
5
|
+
export { traversePointerChain } from "./traversal.js";
|
|
6
|
+
//# sourceMappingURL=views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Span32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { type TextEncoding } from "./fixed.js";
|
|
3
|
+
export declare class DynamicLayoutArena {
|
|
4
|
+
protected readonly view: DataView;
|
|
5
|
+
protected readonly baseOffset: number;
|
|
6
|
+
protected readonly littleEndian: boolean;
|
|
7
|
+
private cursor;
|
|
8
|
+
constructor(view: DataView, tailOffset: number, baseOffset?: number, littleEndian?: boolean);
|
|
9
|
+
get tailOffset(): number;
|
|
10
|
+
align(alignment: number): this;
|
|
11
|
+
reserve(byteLength: number, alignment?: number): number;
|
|
12
|
+
appendBytes(bytes: ArrayLike<number> | Uint8Array, alignment?: number): Span32Descriptor;
|
|
13
|
+
appendUtf8(text: string, encoder?: TextEncoder): Span32Descriptor;
|
|
14
|
+
appendText(text: string, encoding?: TextEncoding): Span32Descriptor;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=writer-arena.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-arena.d.ts","sourceRoot":"","sources":["../src/writer-arena.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzE,qBAAa,kBAAkB;IAI3B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAEjC,SAAS,CAAC,QAAQ,CAAC,UAAU;IAC7B,SAAS,CAAC,QAAQ,CAAC,YAAY;IANjC,OAAO,CAAC,MAAM,CAAS;gBAGF,IAAI,EAAE,QAAQ,EACjC,UAAU,EAAE,MAAM,EACC,UAAU,SAAI,EACd,YAAY,UAAO;IAOxC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO9B,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM;IAQlD,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,SAAS,SAAI,GAAG,gBAAgB;IAWnF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,cAAe,GAAG,gBAAgB;IAIlE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,YAAqB,GAAG,gBAAgB;CAG5E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {} from "./descriptor32.js";
|
|
2
|
+
import { UTF8_ENCODER, encodeText } from "./fixed.js";
|
|
3
|
+
import { alignOffset, assertDataViewRange } from "./range.js";
|
|
4
|
+
export class DynamicLayoutArena {
|
|
5
|
+
view;
|
|
6
|
+
baseOffset;
|
|
7
|
+
littleEndian;
|
|
8
|
+
cursor;
|
|
9
|
+
constructor(view, tailOffset, baseOffset = 0, littleEndian = true) {
|
|
10
|
+
this.view = view;
|
|
11
|
+
this.baseOffset = baseOffset;
|
|
12
|
+
this.littleEndian = littleEndian;
|
|
13
|
+
assertDataViewRange(view, baseOffset, 0);
|
|
14
|
+
assertDataViewRange(view, baseOffset + tailOffset, 0);
|
|
15
|
+
this.cursor = tailOffset;
|
|
16
|
+
}
|
|
17
|
+
get tailOffset() {
|
|
18
|
+
return this.cursor;
|
|
19
|
+
}
|
|
20
|
+
align(alignment) {
|
|
21
|
+
const next = alignOffset(this.cursor, alignment);
|
|
22
|
+
assertDataViewRange(this.view, this.baseOffset + next, 0);
|
|
23
|
+
this.cursor = next;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
reserve(byteLength, alignment = 1) {
|
|
27
|
+
this.align(alignment);
|
|
28
|
+
const offset = this.cursor;
|
|
29
|
+
assertDataViewRange(this.view, this.baseOffset + offset, byteLength);
|
|
30
|
+
this.cursor += byteLength;
|
|
31
|
+
return offset;
|
|
32
|
+
}
|
|
33
|
+
appendBytes(bytes, alignment = 1) {
|
|
34
|
+
const byteLength = bytes.length;
|
|
35
|
+
const relOffset = this.reserve(byteLength, alignment);
|
|
36
|
+
new Uint8Array(this.view.buffer, this.view.byteOffset + this.baseOffset + relOffset, byteLength).set(bytes);
|
|
37
|
+
return { relOffset, byteLength };
|
|
38
|
+
}
|
|
39
|
+
appendUtf8(text, encoder = UTF8_ENCODER) {
|
|
40
|
+
return this.appendBytes(encoder.encode(text));
|
|
41
|
+
}
|
|
42
|
+
appendText(text, encoding = "utf8") {
|
|
43
|
+
return this.appendBytes(encodeText(text, encoding));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=writer-arena.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-arena.js","sourceRoot":"","sources":["../src/writer-arena.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,OAAO,kBAAkB;IAIR;IAEA;IACA;IANb,MAAM,CAAS;IAEvB,YACqB,IAAc,EACjC,UAAkB,EACC,aAAa,CAAC,EACd,eAAe,IAAI;QAHnB,SAAI,GAAJ,IAAI,CAAU;QAEd,eAAU,GAAV,UAAU,CAAI;QACd,iBAAY,GAAZ,YAAY,CAAO;QAEtC,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACzC,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,SAAS,GAAG,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,KAAqC,EAAE,SAAS,GAAG,CAAC;QAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,UAAU,CACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,SAAS,EAClD,UAAU,CACX,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,YAAY;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,WAAyB,MAAM;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Vector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { type TextEncoding } from "./fixed.js";
|
|
3
|
+
import { SpanLayoutWriter } from "./writer-spans.js";
|
|
4
|
+
export declare class ByteVectorLayoutWriter extends SpanLayoutWriter {
|
|
5
|
+
writeBytesVector(descriptorOffset: number, values: readonly (ArrayLike<number> | Uint8Array)[]): Vector32Descriptor;
|
|
6
|
+
writeUtf8Vector(descriptorOffset: number, values: readonly string[], encoder?: TextEncoder): Vector32Descriptor;
|
|
7
|
+
writeTextVector(descriptorOffset: number, values: readonly string[], encoding?: TextEncoding): Vector32Descriptor;
|
|
8
|
+
writeFixedBytesVector(descriptorOffset: number, values: readonly (ArrayLike<number> | Uint8Array)[], elementByteLength: number): Vector32Descriptor;
|
|
9
|
+
writeFixedUtf8Vector(descriptorOffset: number, values: readonly string[], elementByteLength: number, encoder?: TextEncoder): Vector32Descriptor;
|
|
10
|
+
writeFixedTextVector(descriptorOffset: number, values: readonly string[], elementByteLength: number, encoding?: TextEncoding): Vector32Descriptor;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=writer-byte-vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-byte-vectors.d.ts","sourceRoot":"","sources":["../src/writer-byte-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA6E,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1H,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,gBAAgB,CACd,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,GAClD,kBAAkB;IA0BrB,eAAe,CACb,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,cAAe,GACrB,kBAAkB;IAOrB,eAAe,CACb,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,QAAQ,GAAE,YAAqB,GAC9B,kBAAkB;IAOrB,qBAAqB,CACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EACnD,iBAAiB,EAAE,MAAM,GACxB,kBAAkB;IAyBrB,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EACzB,OAAO,cAAe,GACrB,kBAAkB;IA0BrB,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,GAAE,YAAqB,GAC9B,kBAAkB;CAyBtB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { SPAN32_BYTE_LENGTH, writeSpan32Descriptor, writeVector32Descriptor, } from "./descriptor32.js";
|
|
2
|
+
import { UTF8_ENCODER, encodeText, writeFixedBytes, writeFixedText, writeFixedUtf8 } from "./fixed.js";
|
|
3
|
+
import { SpanLayoutWriter } from "./writer-spans.js";
|
|
4
|
+
export class ByteVectorLayoutWriter extends SpanLayoutWriter {
|
|
5
|
+
writeBytesVector(descriptorOffset, values) {
|
|
6
|
+
const tableOffset = this.reserve(values.length * SPAN32_BYTE_LENGTH, 4);
|
|
7
|
+
const descriptor = {
|
|
8
|
+
relOffset: tableOffset,
|
|
9
|
+
count: values.length,
|
|
10
|
+
};
|
|
11
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
12
|
+
values.forEach((value, index) => {
|
|
13
|
+
const span = this.appendBytes(value);
|
|
14
|
+
writeSpan32Descriptor(this.view, this.baseOffset + tableOffset + index * SPAN32_BYTE_LENGTH, span, this.littleEndian);
|
|
15
|
+
});
|
|
16
|
+
return descriptor;
|
|
17
|
+
}
|
|
18
|
+
writeUtf8Vector(descriptorOffset, values, encoder = UTF8_ENCODER) {
|
|
19
|
+
return this.writeBytesVector(descriptorOffset, values.map((value) => encoder.encode(value)));
|
|
20
|
+
}
|
|
21
|
+
writeTextVector(descriptorOffset, values, encoding = "utf8") {
|
|
22
|
+
return this.writeBytesVector(descriptorOffset, values.map((value) => encodeText(value, encoding)));
|
|
23
|
+
}
|
|
24
|
+
writeFixedBytesVector(descriptorOffset, values, elementByteLength) {
|
|
25
|
+
const payloadOffset = this.reserve(values.length * elementByteLength, 1);
|
|
26
|
+
const descriptor = {
|
|
27
|
+
relOffset: payloadOffset,
|
|
28
|
+
count: values.length,
|
|
29
|
+
};
|
|
30
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
31
|
+
values.forEach((value, index) => {
|
|
32
|
+
writeFixedBytes(this.view.buffer, this.view.byteOffset + this.baseOffset + payloadOffset + index * elementByteLength, elementByteLength, value);
|
|
33
|
+
});
|
|
34
|
+
return descriptor;
|
|
35
|
+
}
|
|
36
|
+
writeFixedUtf8Vector(descriptorOffset, values, elementByteLength, encoder = UTF8_ENCODER) {
|
|
37
|
+
const payloadOffset = this.reserve(values.length * elementByteLength, 1);
|
|
38
|
+
const descriptor = {
|
|
39
|
+
relOffset: payloadOffset,
|
|
40
|
+
count: values.length,
|
|
41
|
+
};
|
|
42
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
43
|
+
values.forEach((value, index) => {
|
|
44
|
+
writeFixedUtf8(this.view.buffer, this.view.byteOffset + this.baseOffset + payloadOffset + index * elementByteLength, elementByteLength, value, encoder);
|
|
45
|
+
});
|
|
46
|
+
return descriptor;
|
|
47
|
+
}
|
|
48
|
+
writeFixedTextVector(descriptorOffset, values, elementByteLength, encoding = "utf8") {
|
|
49
|
+
const payloadOffset = this.reserve(values.length * elementByteLength, 1);
|
|
50
|
+
const descriptor = {
|
|
51
|
+
relOffset: payloadOffset,
|
|
52
|
+
count: values.length,
|
|
53
|
+
};
|
|
54
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
55
|
+
values.forEach((value, index) => {
|
|
56
|
+
writeFixedText(this.view.buffer, this.view.byteOffset + this.baseOffset + payloadOffset + index * elementByteLength, elementByteLength, value, encoding);
|
|
57
|
+
});
|
|
58
|
+
return descriptor;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=writer-byte-vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-byte-vectors.js","sourceRoot":"","sources":["../src/writer-byte-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAC1H,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAC1D,gBAAgB,CACd,gBAAwB,EACxB,MAAmD;QAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,qBAAqB,CACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,kBAAkB,EAC1D,IAAI,EACJ,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,eAAe,CACb,gBAAwB,EACxB,MAAyB,EACzB,OAAO,GAAG,YAAY;QAEtB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,gBAAgB,EAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,eAAe,CACb,gBAAwB,EACxB,MAAyB,EACzB,WAAyB,MAAM;QAE/B,OAAO,IAAI,CAAC,gBAAgB,CAC1B,gBAAgB,EAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,gBAAwB,EACxB,MAAmD,EACnD,iBAAyB;QAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,eAAe,CACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,iBAAiB,EAClF,iBAAiB,EACjB,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB,CAClB,gBAAwB,EACxB,MAAyB,EACzB,iBAAyB,EACzB,OAAO,GAAG,YAAY;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,cAAc,CACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,iBAAiB,EAClF,iBAAiB,EACjB,KAAK,EACL,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB,CAClB,gBAAwB,EACxB,MAAyB,EACzB,iBAAyB,EACzB,WAAyB,MAAM;QAE/B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,cAAc,CACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,iBAAiB,EAClF,iBAAiB,EACjB,KAAK,EACL,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Vector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { StructVectorLayoutWriter } from "./writer-struct-vectors.js";
|
|
3
|
+
export declare class PointerVectorLayoutWriter extends StructVectorLayoutWriter {
|
|
4
|
+
writePointerVector(descriptorOffset: number, targetOffsets: readonly (number | null)[], targetByteLength: number): Vector32Descriptor;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=writer-pointer-vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-pointer-vectors.d.ts","sourceRoot":"","sources":["../src/writer-pointer-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,qBAAa,yBAA0B,SAAQ,wBAAwB;IACrE,kBAAkB,CAChB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EACzC,gBAAgB,EAAE,MAAM,GACvB,kBAAkB;CAkCtB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { writeVector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { POINTER32_BYTE_LENGTH, POINTER32_NULL, pointer32RelativeOffset, } from "./pointer32.js";
|
|
3
|
+
import { assertDataViewRange, assertNonNegativeInteger } from "./range.js";
|
|
4
|
+
import { StructVectorLayoutWriter } from "./writer-struct-vectors.js";
|
|
5
|
+
export class PointerVectorLayoutWriter extends StructVectorLayoutWriter {
|
|
6
|
+
writePointerVector(descriptorOffset, targetOffsets, targetByteLength) {
|
|
7
|
+
assertNonNegativeInteger(targetByteLength, "targetByteLength");
|
|
8
|
+
const payloadOffset = this.reserve(targetOffsets.length * POINTER32_BYTE_LENGTH, 4);
|
|
9
|
+
const descriptor = {
|
|
10
|
+
relOffset: payloadOffset,
|
|
11
|
+
count: targetOffsets.length,
|
|
12
|
+
};
|
|
13
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
14
|
+
targetOffsets.forEach((targetOffset, index) => {
|
|
15
|
+
const pointerOffset = payloadOffset + index * POINTER32_BYTE_LENGTH;
|
|
16
|
+
const absolutePointerOffset = this.baseOffset + pointerOffset;
|
|
17
|
+
if (targetOffset !== null) {
|
|
18
|
+
assertDataViewRange(this.view, targetOffset, targetByteLength);
|
|
19
|
+
}
|
|
20
|
+
const value = targetOffset === null
|
|
21
|
+
? POINTER32_NULL
|
|
22
|
+
: pointer32RelativeOffset(absolutePointerOffset, targetOffset);
|
|
23
|
+
if (value === POINTER32_NULL) {
|
|
24
|
+
this.view.setUint32(absolutePointerOffset, value, this.littleEndian);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.view.setInt32(absolutePointerOffset, value, this.littleEndian);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return descriptor;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=writer-pointer-vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-pointer-vectors.js","sourceRoot":"","sources":["../src/writer-pointer-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA2B,MAAM,mBAAmB,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IACrE,kBAAkB,CAChB,gBAAwB,EACxB,aAAyC,EACzC,gBAAwB;QAExB,wBAAwB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,aAAa,CAAC,MAAM;SAC5B,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,aAAa,GAAG,aAAa,GAAG,KAAK,GAAG,qBAAqB,CAAC;YACpE,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAC9D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,KAAK,GACT,YAAY,KAAK,IAAI;gBACnB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;YACnE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Vector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { type ScalarKind } from "./scalar.js";
|
|
3
|
+
import { ByteVectorLayoutWriter } from "./writer-byte-vectors.js";
|
|
4
|
+
export declare class ScalarVectorLayoutWriter extends ByteVectorLayoutWriter {
|
|
5
|
+
writeScalarVector<T extends number | bigint | boolean>(descriptorOffset: number, scalarKind: ScalarKind, values: readonly T[]): Vector32Descriptor;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=writer-scalar-vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-scalar-vectors.d.ts","sourceRoot":"","sources":["../src/writer-scalar-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,wBAAyB,SAAQ,sBAAsB;IAClE,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACnD,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,CAAC,EAAE,GACnB,kBAAkB;CA0BtB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { writeVector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { scalarByteLength, writeScalar } from "./scalar.js";
|
|
3
|
+
import { ByteVectorLayoutWriter } from "./writer-byte-vectors.js";
|
|
4
|
+
export class ScalarVectorLayoutWriter extends ByteVectorLayoutWriter {
|
|
5
|
+
writeScalarVector(descriptorOffset, scalarKind, values) {
|
|
6
|
+
const stride = scalarByteLength(scalarKind);
|
|
7
|
+
const payloadOffset = this.reserve(values.length * stride, stride);
|
|
8
|
+
const descriptor = {
|
|
9
|
+
relOffset: payloadOffset,
|
|
10
|
+
count: values.length,
|
|
11
|
+
};
|
|
12
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
13
|
+
values.forEach((value, index) => {
|
|
14
|
+
writeScalar(this.view, scalarKind, this.baseOffset + payloadOffset + index * stride, value, this.littleEndian);
|
|
15
|
+
});
|
|
16
|
+
return descriptor;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=writer-scalar-vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-scalar-vectors.js","sourceRoot":"","sources":["../src/writer-scalar-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA2B,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAClE,iBAAiB,CACf,gBAAwB,EACxB,UAAsB,EACtB,MAAoB;QAEpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,WAAW,CACT,IAAI,CAAC,IAAI,EACT,UAAU,EACV,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,MAAM,EAChD,KAAK,EACL,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Span32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { type TextEncoding } from "./fixed.js";
|
|
3
|
+
import { DynamicLayoutArena } from "./writer-arena.js";
|
|
4
|
+
export declare class SpanLayoutWriter extends DynamicLayoutArena {
|
|
5
|
+
writeBytes(descriptorOffset: number, bytes: ArrayLike<number> | Uint8Array): Span32Descriptor;
|
|
6
|
+
writeUtf8(descriptorOffset: number, text: string, encoder?: TextEncoder): Span32Descriptor;
|
|
7
|
+
writeText(descriptorOffset: number, text: string, encoding?: TextEncoding): Span32Descriptor;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=writer-spans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-spans.d.ts","sourceRoot":"","sources":["../src/writer-spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,GAAG,gBAAgB;IAW7F,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,cAAe,GAAG,gBAAgB;IAW3F,SAAS,CACP,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,YAAqB,GAC9B,gBAAgB;CAUpB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { writeSpan32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { UTF8_ENCODER } from "./fixed.js";
|
|
3
|
+
import { DynamicLayoutArena } from "./writer-arena.js";
|
|
4
|
+
export class SpanLayoutWriter extends DynamicLayoutArena {
|
|
5
|
+
writeBytes(descriptorOffset, bytes) {
|
|
6
|
+
const descriptor = this.appendBytes(bytes);
|
|
7
|
+
writeSpan32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
8
|
+
return descriptor;
|
|
9
|
+
}
|
|
10
|
+
writeUtf8(descriptorOffset, text, encoder = UTF8_ENCODER) {
|
|
11
|
+
const descriptor = this.appendUtf8(text, encoder);
|
|
12
|
+
writeSpan32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
13
|
+
return descriptor;
|
|
14
|
+
}
|
|
15
|
+
writeText(descriptorOffset, text, encoding = "utf8") {
|
|
16
|
+
const descriptor = this.appendText(text, encoding);
|
|
17
|
+
writeSpan32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
18
|
+
return descriptor;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=writer-spans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-spans.js","sourceRoot":"","sources":["../src/writer-spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAyB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAqB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB;IACtD,UAAU,CAAC,gBAAwB,EAAE,KAAqC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,qBAAqB,CACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,gBAAwB,EAAE,IAAY,EAAE,OAAO,GAAG,YAAY;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,qBAAqB,CACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,CACP,gBAAwB,EACxB,IAAY,EACZ,WAAyB,MAAM;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAqB,CACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Vector32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { ScalarVectorLayoutWriter } from "./writer-scalar-vectors.js";
|
|
3
|
+
export declare class StructVectorLayoutWriter extends ScalarVectorLayoutWriter {
|
|
4
|
+
writeStructVector<T>(descriptorOffset: number, values: readonly T[], elementByteLength: number, writeElement: (view: DataView, value: T, baseOffset: number, littleEndian: boolean) => void, alignment?: number): Vector32Descriptor;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=writer-struct-vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-struct-vectors.d.ts","sourceRoot":"","sources":["../src/writer-struct-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,qBAAa,wBAAyB,SAAQ,wBAAwB;IACpE,iBAAiB,CAAC,CAAC,EACjB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,CACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,KAClB,IAAI,EACT,SAAS,SAAI,GACZ,kBAAkB;CAwBtB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { writeVector32Descriptor, } from "./descriptor32.js";
|
|
2
|
+
import { ScalarVectorLayoutWriter } from "./writer-scalar-vectors.js";
|
|
3
|
+
export class StructVectorLayoutWriter extends ScalarVectorLayoutWriter {
|
|
4
|
+
writeStructVector(descriptorOffset, values, elementByteLength, writeElement, alignment = 1) {
|
|
5
|
+
const payloadOffset = this.reserve(values.length * elementByteLength, alignment);
|
|
6
|
+
const descriptor = {
|
|
7
|
+
relOffset: payloadOffset,
|
|
8
|
+
count: values.length,
|
|
9
|
+
};
|
|
10
|
+
writeVector32Descriptor(this.view, this.baseOffset + descriptorOffset, descriptor, this.littleEndian);
|
|
11
|
+
values.forEach((value, index) => {
|
|
12
|
+
writeElement(this.view, value, this.baseOffset + payloadOffset + index * elementByteLength, this.littleEndian);
|
|
13
|
+
});
|
|
14
|
+
return descriptor;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=writer-struct-vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-struct-vectors.js","sourceRoot":"","sources":["../src/writer-struct-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,OAAO,wBAAyB,SAAQ,wBAAwB;IACpE,iBAAiB,CACf,gBAAwB,EACxB,MAAoB,EACpB,iBAAyB,EACzB,YAKS,EACT,SAAS,GAAG,CAAC;QAEb,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;QACF,uBAAuB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,UAAU,EACV,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,YAAY,CACV,IAAI,CAAC,IAAI,EACT,KAAK,EACL,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,iBAAiB,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-vectors.d.ts","sourceRoot":"","sources":["../src/writer-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,qBAAa,kBAAmB,SAAQ,yBAAyB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer-vectors.js","sourceRoot":"","sources":["../src/writer-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,OAAO,kBAAmB,SAAQ,yBAAyB;CAAG"}
|
package/dist/writer.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,mBAAoB,SAAQ,kBAAkB;CAAG"}
|
package/dist/writer.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;CAAG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@exornea/zeno-runtime",
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"description": "Runtime views, descriptors, writers, and frame helpers for Zeno binary projections.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"typescript",
|
|
7
|
+
"binary",
|
|
8
|
+
"zero-copy",
|
|
9
|
+
"dataview",
|
|
10
|
+
"serialization"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/srtdog64/zeno#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/srtdog64/zeno/issues"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/srtdog64/zeno.git",
|
|
19
|
+
"directory": "packages/runtime"
|
|
20
|
+
},
|
|
21
|
+
"type": "module",
|
|
22
|
+
"main": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"files": [
|
|
25
|
+
"dist/"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"default": "./dist/index.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@exornea/zeno-types": "1.7.0"
|
|
38
|
+
}
|
|
39
|
+
}
|