@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
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { ascii, bool, bytes, enum_u8, enum_u16, f32, f64, flags8, flags32, fixed_array, fixed_ascii, fixed_bytes, fixed_utf8, i8, i16, i32, i64, pointer, timestamp_ms, u8, u16, u32, u64, utf8, vector, z, } from "@exornea/zeno-types";
|
|
2
|
+
export { POINTER32_BYTE_LENGTH, POINTER32_NULL, SCALAR_KINDS, SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, ZENO_FRAME_HEADER_BYTE_LENGTH, ZENO_FRAME_LAYOUT_HASH_NONE, ZENO_FRAME_VERSION_MAJOR, assertZenoFrameHeader, assertZenoFramePayload, checkedZenoFramePayloadView, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, fixedBytesView, readScalar, readSpan32Descriptor, readVector32Descriptor, readZenoFrameHeader, scalarByteLength, writeFixedText, writeFixedBytes, writeFixedUtf8, writeScalar, writeSpan32Descriptor, writeVector32Descriptor, writeZenoFrameHeader, zenoFramePayloadView, type ScalarKind, type Span32Descriptor, type TextEncoding, type Vector32Descriptor, type WriteZenoFrameHeaderOptions, type ZenoFrameEndianness, type ZenoFrameExpectation, type ZenoFrameHeader, type ZenoFramePayloadExpectation, } from "./abi.js";
|
|
3
|
+
export { DynamicLayoutWriter } from "./writer.js";
|
|
4
|
+
export { BytesSpanView, BytesVectorView, DynamicStructVectorView, FixedArrayView, FixedBytesArrayView, FixedScalarArrayView, FixedStringArrayView, FixedStructArrayView, FixedBytesVectorView, FixedStringVectorView, PointerVectorView, ProjectionView, ScalarVectorView, StructVectorView, Utf8SpanView, Utf8VectorView, VectorView, traversePointerChain, } from "./views.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,EAAE,EACF,GAAG,EACH,GAAG,EACH,GAAG,EACH,OAAO,EACP,YAAY,EACZ,EAAE,EACF,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,MAAM,EACN,CAAC,GACF,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,2BAA2B,GACjC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { POINTER32_BYTE_LENGTH, POINTER32_NULL, SCALAR_KINDS, SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, ZENO_FRAME_HEADER_BYTE_LENGTH, ZENO_FRAME_LAYOUT_HASH_NONE, ZENO_FRAME_VERSION_MAJOR, assertZenoFrameHeader, assertZenoFramePayload, checkedZenoFramePayloadView, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, fixedBytesView, readScalar, readSpan32Descriptor, readVector32Descriptor, readZenoFrameHeader, scalarByteLength, writeFixedText, writeFixedBytes, writeFixedUtf8, writeScalar, writeSpan32Descriptor, writeVector32Descriptor, writeZenoFrameHeader, zenoFramePayloadView, } from "./abi.js";
|
|
2
|
+
export { DynamicLayoutWriter } from "./writer.js";
|
|
3
|
+
export { BytesSpanView, BytesVectorView, DynamicStructVectorView, FixedArrayView, FixedBytesArrayView, FixedScalarArrayView, FixedStringArrayView, FixedStructArrayView, FixedBytesVectorView, FixedStringVectorView, PointerVectorView, ProjectionView, ScalarVectorView, StructVectorView, Utf8SpanView, Utf8VectorView, VectorView, traversePointerChain, } from "./views.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GAUrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
import { VectorView } from "./vector-base.js";
|
|
3
|
+
export declare class PointerVectorView<TView extends ProjectionView> extends VectorView<TView | null> {
|
|
4
|
+
private readonly targetByteLength;
|
|
5
|
+
private readonly factory;
|
|
6
|
+
constructor(view: DataView, descriptorOffset: number, targetByteLength: number, factory: (view: DataView, baseOffset: number, littleEndian: boolean) => TView, baseOffset?: number, littleEndian?: boolean);
|
|
7
|
+
rawRelativeOffsetAt(index: number): number;
|
|
8
|
+
relativeOffsetAt(index: number): number | null;
|
|
9
|
+
targetOffsetAt(index: number): number | null;
|
|
10
|
+
into(index: number, out: TView): boolean;
|
|
11
|
+
at(index: number): TView | null;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=pointer-vector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer-vector.d.ts","sourceRoot":"","sources":["../src/pointer-vector.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,iBAAiB,CAAC,KAAK,SAAS,cAAc,CAAE,SAAQ,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IAIzF,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHxB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CACxB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,KAClB,KAAK,EACV,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO1C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAa9C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAY5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO;IAUxC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;CAQhC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { POINTER32_BYTE_LENGTH, POINTER32_NULL, } from "./pointer32.js";
|
|
2
|
+
import { assertDataViewRange } from "./range.js";
|
|
3
|
+
import { ProjectionView } from "./view-base.js";
|
|
4
|
+
import { VectorView } from "./vector-base.js";
|
|
5
|
+
export class PointerVectorView extends VectorView {
|
|
6
|
+
targetByteLength;
|
|
7
|
+
factory;
|
|
8
|
+
constructor(view, descriptorOffset, targetByteLength, factory, baseOffset = 0, littleEndian = true) {
|
|
9
|
+
super(view, descriptorOffset, baseOffset, littleEndian);
|
|
10
|
+
this.targetByteLength = targetByteLength;
|
|
11
|
+
this.factory = factory;
|
|
12
|
+
}
|
|
13
|
+
rawRelativeOffsetAt(index) {
|
|
14
|
+
this.assertIndex(index);
|
|
15
|
+
const localOffset = this.payloadOffset() + index * POINTER32_BYTE_LENGTH;
|
|
16
|
+
this.assertRange(localOffset, POINTER32_BYTE_LENGTH);
|
|
17
|
+
return this.view.getUint32(this.absoluteOffset(localOffset), this.littleEndian);
|
|
18
|
+
}
|
|
19
|
+
relativeOffsetAt(index) {
|
|
20
|
+
const rawRelativeOffset = this.rawRelativeOffsetAt(index);
|
|
21
|
+
if (rawRelativeOffset === POINTER32_NULL) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const pointerOffset = this.payloadOffset() + index * POINTER32_BYTE_LENGTH;
|
|
25
|
+
return this.view.getInt32(this.absoluteOffset(pointerOffset), this.littleEndian);
|
|
26
|
+
}
|
|
27
|
+
targetOffsetAt(index) {
|
|
28
|
+
const relativeOffset = this.relativeOffsetAt(index);
|
|
29
|
+
if (relativeOffset === null) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const pointerOffset = this.payloadOffset() + index * POINTER32_BYTE_LENGTH;
|
|
33
|
+
const targetOffset = this.absoluteOffset(pointerOffset) + relativeOffset;
|
|
34
|
+
assertDataViewRange(this.view, targetOffset, this.targetByteLength);
|
|
35
|
+
return targetOffset;
|
|
36
|
+
}
|
|
37
|
+
into(index, out) {
|
|
38
|
+
const targetOffset = this.targetOffsetAt(index);
|
|
39
|
+
if (targetOffset === null) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
out.moveToOffset(targetOffset, this.targetByteLength);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
at(index) {
|
|
46
|
+
const targetOffset = this.targetOffsetAt(index);
|
|
47
|
+
if (targetOffset === null) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return this.factory(this.view, targetOffset, this.littleEndian);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=pointer-vector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer-vector.js","sourceRoot":"","sources":["../src/pointer-vector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,iBAAgD,SAAQ,UAAwB;IAIxE;IACA;IAJnB,YACE,IAAc,EACd,gBAAwB,EACP,gBAAwB,EACxB,OAIP,EACV,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QATvC,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,YAAO,GAAP,OAAO,CAId;IAKZ,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,qBAAqB,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,qBAAqB,CAAC;QAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAClC,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,qBAAqB,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;QACzE,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,GAAU;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,KAAa;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer32.d.ts","sourceRoot":"","sources":["../src/pointer32.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,MAAM,CAiBR"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { assertNonNegativeInteger } from "./range.js";
|
|
2
|
+
export const POINTER32_BYTE_LENGTH = 4;
|
|
3
|
+
export const POINTER32_NULL = 0xffffffff;
|
|
4
|
+
export function pointer32RelativeOffset(pointerOffset, targetOffset) {
|
|
5
|
+
assertNonNegativeInteger(pointerOffset, "pointerOffset");
|
|
6
|
+
assertNonNegativeInteger(targetOffset, "targetOffset");
|
|
7
|
+
const relativeOffset = targetOffset - pointerOffset;
|
|
8
|
+
if (!Number.isInteger(relativeOffset) ||
|
|
9
|
+
relativeOffset < -0x8000_0000 ||
|
|
10
|
+
relativeOffset > 0x7fff_ffff ||
|
|
11
|
+
relativeOffset === -1) {
|
|
12
|
+
throw new RangeError(`pointer32 target offset must encode to signed i32 except -1: ${relativeOffset}`);
|
|
13
|
+
}
|
|
14
|
+
return relativeOffset;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pointer32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer32.js","sourceRoot":"","sources":["../src/pointer32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CACrC,aAAqB,EACrB,YAAoB;IAEpB,wBAAwB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACzD,wBAAwB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IACpD,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;QACjC,cAAc,GAAG,CAAC,WAAW;QAC7B,cAAc,GAAG,WAAW;QAC5B,cAAc,KAAK,CAAC,CAAC,EACrB,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,gEAAgE,cAAc,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/range.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function assertNonNegativeInteger(value: number, label: string): void;
|
|
2
|
+
export declare function assertUint32(value: number, label: string): void;
|
|
3
|
+
export declare function assertDataViewRange(view: DataView, offset: number, byteLength: number): void;
|
|
4
|
+
export declare function assertBufferRange(buffer: ArrayBufferLike, offset: number, byteLength: number): void;
|
|
5
|
+
export declare function alignOffset(offset: number, alignment: number): number;
|
|
6
|
+
//# sourceMappingURL=range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,IAAI,CASN;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,IAAI,CASN;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASrE"}
|
package/dist/range.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function assertNonNegativeInteger(value, label) {
|
|
2
|
+
if (!Number.isSafeInteger(value) || value < 0) {
|
|
3
|
+
throw new RangeError(`${label} must be a non-negative safe integer: ${value}`);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export function assertUint32(value, label) {
|
|
7
|
+
if (!Number.isInteger(value) || value < 0 || value > 0xffffffff) {
|
|
8
|
+
throw new RangeError(`${label} must be a uint32 value: ${value}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function assertDataViewRange(view, offset, byteLength) {
|
|
12
|
+
assertNonNegativeInteger(offset, "offset");
|
|
13
|
+
assertNonNegativeInteger(byteLength, "byteLength");
|
|
14
|
+
if (byteLength > view.byteLength - offset) {
|
|
15
|
+
throw new RangeError(`Out of bounds DataView access at ${offset}..${offset + byteLength} for view length ${view.byteLength}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function assertBufferRange(buffer, offset, byteLength) {
|
|
19
|
+
assertNonNegativeInteger(offset, "offset");
|
|
20
|
+
assertNonNegativeInteger(byteLength, "byteLength");
|
|
21
|
+
if (byteLength > buffer.byteLength - offset) {
|
|
22
|
+
throw new RangeError(`Out of bounds buffer access at ${offset}..${offset + byteLength} for buffer length ${buffer.byteLength}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function alignOffset(offset, alignment) {
|
|
26
|
+
assertNonNegativeInteger(offset, "offset");
|
|
27
|
+
assertNonNegativeInteger(alignment, "alignment");
|
|
28
|
+
if (alignment === 0) {
|
|
29
|
+
throw new RangeError("alignment must be greater than zero");
|
|
30
|
+
}
|
|
31
|
+
return Math.ceil(offset / alignment) * alignment;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,KAAa;IACnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,yCAAyC,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa;IACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,4BAA4B,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAc,EACd,MAAc,EACd,UAAkB;IAElB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAClB,oCAAoC,MAAM,KAAK,MAAM,GAAG,UAAU,oBAAoB,IAAI,CAAC,UAAU,EAAE,CACxG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAuB,EACvB,MAAc,EACd,UAAkB;IAElB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,UAAU,CAClB,kCAAkC,MAAM,KAAK,MAAM,GAAG,UAAU,sBAAsB,MAAM,CAAC,UAAU,EAAE,CAC1G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,SAAiB;IAC3D,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,wBAAwB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ScalarKind } from "./scalar.js";
|
|
2
|
+
import { VectorView } from "./vector-base.js";
|
|
3
|
+
export declare class ScalarVectorView<T extends number | bigint | boolean> extends VectorView<T> {
|
|
4
|
+
private readonly scalarKind;
|
|
5
|
+
constructor(view: DataView, descriptorOffset: number, scalarKind: ScalarKind, baseOffset?: number, littleEndian?: boolean);
|
|
6
|
+
at(index: number): T;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=scalar-vector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-vector.d.ts","sourceRoot":"","sources":["../src/scalar-vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,CACnC,SAAQ,UAAU,CAAC,CAAC,CAAC;IAInB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAF3B,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,UAAU,EAAE,UAAU,EACvC,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;CAYrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { readScalar, scalarByteLength, } from "./scalar.js";
|
|
2
|
+
import { VectorView } from "./vector-base.js";
|
|
3
|
+
export class ScalarVectorView extends VectorView {
|
|
4
|
+
scalarKind;
|
|
5
|
+
constructor(view, descriptorOffset, scalarKind, baseOffset = 0, littleEndian = true) {
|
|
6
|
+
super(view, descriptorOffset, baseOffset, littleEndian);
|
|
7
|
+
this.scalarKind = scalarKind;
|
|
8
|
+
}
|
|
9
|
+
at(index) {
|
|
10
|
+
this.assertIndex(index);
|
|
11
|
+
const stride = scalarByteLength(this.scalarKind);
|
|
12
|
+
const localOffset = this.payloadOffset() + index * stride;
|
|
13
|
+
this.assertRange(localOffset, stride);
|
|
14
|
+
return readScalar(this.view, this.scalarKind, this.absoluteOffset(localOffset), this.littleEndian);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=scalar-vector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-vector.js","sourceRoot":"","sources":["../src/scalar-vector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,gBAEX,SAAQ,UAAa;IAIF;IAHnB,YACE,IAAc,EACd,gBAAwB,EACP,UAAsB,EACvC,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJvC,eAAU,GAAV,UAAU,CAAY;IAKzC,CAAC;IAED,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,UAAU,CACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAChC,IAAI,CAAC,YAAY,CACb,CAAC;IACT,CAAC;CACF"}
|
package/dist/scalar.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type ScalarKind = "i8" | "u8" | "i16" | "u16" | "i32" | "u32" | "i64" | "u64" | "f32" | "f64" | "bool";
|
|
2
|
+
export declare const SCALAR_KINDS: readonly ["i8", "u8", "i16", "u16", "i32", "u32", "i64", "u64", "f32", "f64", "bool"];
|
|
3
|
+
export declare function scalarByteLength(kind: ScalarKind): number;
|
|
4
|
+
export declare function readScalar(view: DataView, kind: ScalarKind, offset: number, littleEndian?: boolean): number | bigint | boolean;
|
|
5
|
+
export declare function writeScalar(view: DataView, kind: ScalarKind, offset: number, value: number | bigint | boolean, littleEndian?: boolean): void;
|
|
6
|
+
//# sourceMappingURL=scalar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAClB,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,CAAC;AAEX,eAAO,MAAM,YAAY,uFAYiB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBzD;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,UAAO,GAClB,MAAM,GAAG,MAAM,GAAG,OAAO,CA2B3B;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,YAAY,UAAO,GAClB,IAAI,CAsCN"}
|
package/dist/scalar.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { assertDataViewRange } from "./range.js";
|
|
2
|
+
export const SCALAR_KINDS = [
|
|
3
|
+
"i8",
|
|
4
|
+
"u8",
|
|
5
|
+
"i16",
|
|
6
|
+
"u16",
|
|
7
|
+
"i32",
|
|
8
|
+
"u32",
|
|
9
|
+
"i64",
|
|
10
|
+
"u64",
|
|
11
|
+
"f32",
|
|
12
|
+
"f64",
|
|
13
|
+
"bool",
|
|
14
|
+
];
|
|
15
|
+
export function scalarByteLength(kind) {
|
|
16
|
+
switch (kind) {
|
|
17
|
+
case "i8":
|
|
18
|
+
case "u8":
|
|
19
|
+
case "bool":
|
|
20
|
+
return 1;
|
|
21
|
+
case "i16":
|
|
22
|
+
case "u16":
|
|
23
|
+
return 2;
|
|
24
|
+
case "i32":
|
|
25
|
+
case "u32":
|
|
26
|
+
case "f32":
|
|
27
|
+
return 4;
|
|
28
|
+
case "i64":
|
|
29
|
+
case "u64":
|
|
30
|
+
case "f64":
|
|
31
|
+
return 8;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function readScalar(view, kind, offset, littleEndian = true) {
|
|
35
|
+
assertDataViewRange(view, offset, scalarByteLength(kind));
|
|
36
|
+
switch (kind) {
|
|
37
|
+
case "i8":
|
|
38
|
+
return view.getInt8(offset);
|
|
39
|
+
case "u8":
|
|
40
|
+
return view.getUint8(offset);
|
|
41
|
+
case "i16":
|
|
42
|
+
return view.getInt16(offset, littleEndian);
|
|
43
|
+
case "u16":
|
|
44
|
+
return view.getUint16(offset, littleEndian);
|
|
45
|
+
case "i32":
|
|
46
|
+
return view.getInt32(offset, littleEndian);
|
|
47
|
+
case "u32":
|
|
48
|
+
return view.getUint32(offset, littleEndian);
|
|
49
|
+
case "i64":
|
|
50
|
+
return view.getBigInt64(offset, littleEndian);
|
|
51
|
+
case "u64":
|
|
52
|
+
return view.getBigUint64(offset, littleEndian);
|
|
53
|
+
case "f32":
|
|
54
|
+
return view.getFloat32(offset, littleEndian);
|
|
55
|
+
case "f64":
|
|
56
|
+
return view.getFloat64(offset, littleEndian);
|
|
57
|
+
case "bool":
|
|
58
|
+
return view.getUint8(offset) !== 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function writeScalar(view, kind, offset, value, littleEndian = true) {
|
|
62
|
+
assertDataViewRange(view, offset, scalarByteLength(kind));
|
|
63
|
+
switch (kind) {
|
|
64
|
+
case "i8":
|
|
65
|
+
view.setInt8(offset, value);
|
|
66
|
+
return;
|
|
67
|
+
case "u8":
|
|
68
|
+
view.setUint8(offset, value);
|
|
69
|
+
return;
|
|
70
|
+
case "i16":
|
|
71
|
+
view.setInt16(offset, value, littleEndian);
|
|
72
|
+
return;
|
|
73
|
+
case "u16":
|
|
74
|
+
view.setUint16(offset, value, littleEndian);
|
|
75
|
+
return;
|
|
76
|
+
case "i32":
|
|
77
|
+
view.setInt32(offset, value, littleEndian);
|
|
78
|
+
return;
|
|
79
|
+
case "u32":
|
|
80
|
+
view.setUint32(offset, value, littleEndian);
|
|
81
|
+
return;
|
|
82
|
+
case "i64":
|
|
83
|
+
view.setBigInt64(offset, value, littleEndian);
|
|
84
|
+
return;
|
|
85
|
+
case "u64":
|
|
86
|
+
view.setBigUint64(offset, value, littleEndian);
|
|
87
|
+
return;
|
|
88
|
+
case "f32":
|
|
89
|
+
view.setFloat32(offset, value, littleEndian);
|
|
90
|
+
return;
|
|
91
|
+
case "f64":
|
|
92
|
+
view.setFloat64(offset, value, littleEndian);
|
|
93
|
+
return;
|
|
94
|
+
case "bool":
|
|
95
|
+
view.setUint8(offset, value ? 1 : 0);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=scalar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../src/scalar.ts"],"names":[],"mappings":"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"}
|
package/dist/spans.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type TextEncoding } from "./fixed.js";
|
|
2
|
+
import { ProjectionView } from "./view-base.js";
|
|
3
|
+
export declare class BytesSpanView extends ProjectionView {
|
|
4
|
+
private readonly descriptorOffset;
|
|
5
|
+
static readonly descriptorByteLength = 8;
|
|
6
|
+
constructor(view: DataView, descriptorOffset: number, baseOffset?: number, littleEndian?: boolean);
|
|
7
|
+
get byteLength(): number;
|
|
8
|
+
bytes(): Uint8Array;
|
|
9
|
+
}
|
|
10
|
+
export declare class Utf8SpanView extends BytesSpanView {
|
|
11
|
+
private readonly encoding;
|
|
12
|
+
constructor(view: DataView, descriptorOffset: number, baseOffset?: number, littleEndian?: boolean, encoding?: TextEncoding);
|
|
13
|
+
text(): string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=spans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,qBAAa,aAAc,SAAQ,cAAc;IAK7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJnC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,KAAsB;gBAGxD,IAAI,EAAE,QAAQ,EACG,gBAAgB,EAAE,MAAM,EACzC,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,IAAI,UAAU,IAAI,MAAM,CAMvB;IAED,KAAK,IAAI,UAAU;CAapB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAM3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAJzB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,SAAI,EACd,YAAY,UAAO,EACF,QAAQ,GAAE,YAAqB;IAKlD,IAAI,IAAI,MAAM;CAGf"}
|
package/dist/spans.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SPAN32_BYTE_LENGTH, readSpan32Descriptor } from "./descriptor32.js";
|
|
2
|
+
import { decodeText } from "./fixed.js";
|
|
3
|
+
import { ProjectionView } from "./view-base.js";
|
|
4
|
+
export class BytesSpanView extends ProjectionView {
|
|
5
|
+
descriptorOffset;
|
|
6
|
+
static descriptorByteLength = SPAN32_BYTE_LENGTH;
|
|
7
|
+
constructor(view, descriptorOffset, baseOffset = 0, littleEndian = true) {
|
|
8
|
+
super(view, baseOffset, littleEndian);
|
|
9
|
+
this.descriptorOffset = descriptorOffset;
|
|
10
|
+
}
|
|
11
|
+
get byteLength() {
|
|
12
|
+
return readSpan32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian).byteLength;
|
|
13
|
+
}
|
|
14
|
+
bytes() {
|
|
15
|
+
const descriptor = readSpan32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian);
|
|
16
|
+
this.assertRange(descriptor.relOffset, descriptor.byteLength);
|
|
17
|
+
return new Uint8Array(this.backingBuffer(), this.backingOffset(descriptor.relOffset), descriptor.byteLength);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class Utf8SpanView extends BytesSpanView {
|
|
21
|
+
encoding;
|
|
22
|
+
constructor(view, descriptorOffset, baseOffset = 0, littleEndian = true, encoding = "utf8") {
|
|
23
|
+
super(view, descriptorOffset, baseOffset, littleEndian);
|
|
24
|
+
this.encoding = encoding;
|
|
25
|
+
}
|
|
26
|
+
text() {
|
|
27
|
+
return decodeText(this.bytes(), this.encoding);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=spans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,cAAc;IAK5B;IAJnB,MAAM,CAAU,oBAAoB,GAAG,kBAAkB,CAAC;IAE1D,YACE,IAAc,EACG,gBAAwB,EACzC,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJrB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAK3C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,oBAAoB,CACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC1C,IAAI,CAAC,YAAY,CAClB,CAAC,UAAU,CAAC;IACf,CAAC;IAED,KAAK;QACH,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC1C,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EACxC,UAAU,CAAC,UAAU,CACtB,CAAC;IACJ,CAAC;;AAGH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAM1B;IALnB,YACE,IAAc,EACd,gBAAwB,EACxB,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI,EACF,WAAyB,MAAM;QAEhD,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAFvC,aAAQ,GAAR,QAAQ,CAAuB;IAGlD,CAAC;IAED,IAAI;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
import { VectorView } from "./vector-base.js";
|
|
3
|
+
export declare class StructVectorView<TView extends ProjectionView> extends VectorView<TView> {
|
|
4
|
+
private readonly elementByteLength;
|
|
5
|
+
private readonly factory;
|
|
6
|
+
constructor(view: DataView, descriptorOffset: number, elementByteLength: number, factory: (view: DataView, baseOffset: number, littleEndian: boolean) => TView, baseOffset?: number, littleEndian?: boolean);
|
|
7
|
+
at(index: number): TView;
|
|
8
|
+
}
|
|
9
|
+
export declare class DynamicStructVectorView<TView extends ProjectionView> extends VectorView<TView> {
|
|
10
|
+
private readonly factory;
|
|
11
|
+
constructor(view: DataView, descriptorOffset: number, factory: (view: DataView, baseOffset: number, littleEndian: boolean) => TView, baseOffset?: number, littleEndian?: boolean);
|
|
12
|
+
at(index: number): TView;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=struct-vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"struct-vectors.d.ts","sourceRoot":"","sources":["../src/struct-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,gBAAgB,CAAC,KAAK,SAAS,cAAc,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;IAIjF,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHxB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,CACxB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,KAClB,KAAK,EACV,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;CAMzB;AAED,qBAAa,uBAAuB,CAClC,KAAK,SAAS,cAAc,CAC5B,SAAQ,UAAU,CAAC,KAAK,CAAC;IAIvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,OAAO,EAAE,CACxB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,KAClB,KAAK,EACV,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;CAWzB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
import { VectorView } from "./vector-base.js";
|
|
3
|
+
export class StructVectorView extends VectorView {
|
|
4
|
+
elementByteLength;
|
|
5
|
+
factory;
|
|
6
|
+
constructor(view, descriptorOffset, elementByteLength, factory, baseOffset = 0, littleEndian = true) {
|
|
7
|
+
super(view, descriptorOffset, baseOffset, littleEndian);
|
|
8
|
+
this.elementByteLength = elementByteLength;
|
|
9
|
+
this.factory = factory;
|
|
10
|
+
}
|
|
11
|
+
at(index) {
|
|
12
|
+
this.assertIndex(index);
|
|
13
|
+
const localOffset = this.payloadOffset() + index * this.elementByteLength;
|
|
14
|
+
this.assertRange(localOffset, this.elementByteLength);
|
|
15
|
+
return this.factory(this.view, this.absoluteOffset(localOffset), this.littleEndian);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class DynamicStructVectorView extends VectorView {
|
|
19
|
+
factory;
|
|
20
|
+
constructor(view, descriptorOffset, factory, baseOffset = 0, littleEndian = true) {
|
|
21
|
+
super(view, descriptorOffset, baseOffset, littleEndian);
|
|
22
|
+
this.factory = factory;
|
|
23
|
+
}
|
|
24
|
+
at(index) {
|
|
25
|
+
this.assertIndex(index);
|
|
26
|
+
const tableOffset = this.payloadOffset() + index * 4;
|
|
27
|
+
this.assertRange(tableOffset, 4);
|
|
28
|
+
const elementOffset = this.view.getUint32(this.absoluteOffset(tableOffset), this.littleEndian);
|
|
29
|
+
this.assertRange(elementOffset, 0);
|
|
30
|
+
return this.factory(this.view, this.absoluteOffset(elementOffset), this.littleEndian);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=struct-vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"struct-vectors.js","sourceRoot":"","sources":["../src/struct-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,gBAA+C,SAAQ,UAAiB;IAIhE;IACA;IAJnB,YACE,IAAc,EACd,gBAAwB,EACP,iBAAyB,EACzB,OAIP,EACV,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QATvC,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,YAAO,GAAP,OAAO,CAId;IAKZ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACtF,CAAC;CACF;AAED,MAAM,OAAO,uBAEX,SAAQ,UAAiB;IAIN;IAHnB,YACE,IAAc,EACd,gBAAwB,EACP,OAIP,EACV,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QARvC,YAAO,GAAP,OAAO,CAId;IAKZ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CACvC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAChC,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Traverses a pointer chain by rebasing the supplied cursor in place.
|
|
4
|
+
*
|
|
5
|
+
* The `nextInto` callback must be alias-safe: callers should expect `current`
|
|
6
|
+
* and `out` to be the same object.
|
|
7
|
+
*/
|
|
8
|
+
export declare function traversePointerChain<TView extends ProjectionView>(start: TView, nextInto: (current: TView, out: TView) => boolean, visit: (current: TView, step: number) => void, maxSteps: number): number;
|
|
9
|
+
//# sourceMappingURL=traversal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traversal.d.ts","sourceRoot":"","sources":["../src/traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,cAAc,EAC/D,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK,OAAO,EACjD,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAC7C,QAAQ,EAAE,MAAM,GACf,MAAM,CAgBR"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Traverses a pointer chain by rebasing the supplied cursor in place.
|
|
4
|
+
*
|
|
5
|
+
* The `nextInto` callback must be alias-safe: callers should expect `current`
|
|
6
|
+
* and `out` to be the same object.
|
|
7
|
+
*/
|
|
8
|
+
export function traversePointerChain(start, nextInto, visit, maxSteps) {
|
|
9
|
+
if (!Number.isInteger(maxSteps) || maxSteps < 0) {
|
|
10
|
+
throw new RangeError(`maxSteps must be a non-negative integer: ${maxSteps}`);
|
|
11
|
+
}
|
|
12
|
+
let steps = 0;
|
|
13
|
+
while (steps < maxSteps) {
|
|
14
|
+
visit(start, steps);
|
|
15
|
+
steps += 1;
|
|
16
|
+
if (!nextInto(start, start)) {
|
|
17
|
+
return steps;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
throw new RangeError(`Pointer traversal exceeded maxSteps=${maxSteps}`);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=traversal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traversal.js","sourceRoot":"","sources":["../src/traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAY,EACZ,QAAiD,EACjD,KAA6C,EAC7C,QAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,QAAQ,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ProjectionView } from "./view-base.js";
|
|
2
|
+
export declare abstract class VectorView<T> extends ProjectionView {
|
|
3
|
+
private readonly descriptorOffset;
|
|
4
|
+
static readonly descriptorByteLength = 8;
|
|
5
|
+
protected constructor(view: DataView, descriptorOffset: number, baseOffset?: number, littleEndian?: boolean);
|
|
6
|
+
get length(): number;
|
|
7
|
+
protected payloadOffset(): number;
|
|
8
|
+
abstract at(index: number): T;
|
|
9
|
+
toArray(): T[];
|
|
10
|
+
protected assertIndex(index: number): void;
|
|
11
|
+
protected spanBytesAt(index: number): Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=vector-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-base.d.ts","sourceRoot":"","sources":["../src/vector-base.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,UAAU,CAAC,CAAC,CAAE,SAAQ,cAAc;IAKtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJnC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,KAAwB;IAE5D,SAAS,aACP,IAAI,EAAE,QAAQ,EACG,gBAAgB,EAAE,MAAM,EACzC,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,SAAS,CAAC,aAAa,IAAI,MAAM;IAQjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IAE7B,OAAO,IAAI,CAAC,EAAE;IAId,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1C,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAejD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, readSpan32Descriptor, readVector32Descriptor, } from "./descriptor32.js";
|
|
2
|
+
import { ProjectionView } from "./view-base.js";
|
|
3
|
+
export class VectorView extends ProjectionView {
|
|
4
|
+
descriptorOffset;
|
|
5
|
+
static descriptorByteLength = VECTOR32_BYTE_LENGTH;
|
|
6
|
+
constructor(view, descriptorOffset, baseOffset = 0, littleEndian = true) {
|
|
7
|
+
super(view, baseOffset, littleEndian);
|
|
8
|
+
this.descriptorOffset = descriptorOffset;
|
|
9
|
+
}
|
|
10
|
+
get length() {
|
|
11
|
+
return readVector32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian).count;
|
|
12
|
+
}
|
|
13
|
+
payloadOffset() {
|
|
14
|
+
return readVector32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian).relOffset;
|
|
15
|
+
}
|
|
16
|
+
toArray() {
|
|
17
|
+
return Array.from({ length: this.length }, (_, index) => this.at(index));
|
|
18
|
+
}
|
|
19
|
+
assertIndex(index) {
|
|
20
|
+
if (!Number.isInteger(index) || index < 0 || index >= this.length) {
|
|
21
|
+
throw new RangeError(`Vector index out of bounds: ${index}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
spanBytesAt(index) {
|
|
25
|
+
this.assertIndex(index);
|
|
26
|
+
const descriptorOffset = this.payloadOffset() + index * SPAN32_BYTE_LENGTH;
|
|
27
|
+
const descriptor = readSpan32Descriptor(this.view, this.absoluteOffset(descriptorOffset), this.littleEndian);
|
|
28
|
+
this.assertRange(descriptor.relOffset, descriptor.byteLength);
|
|
29
|
+
return new Uint8Array(this.backingBuffer(), this.backingOffset(descriptor.relOffset), descriptor.byteLength);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=vector-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-base.js","sourceRoot":"","sources":["../src/vector-base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAgB,UAAc,SAAQ,cAAc;IAKrC;IAJnB,MAAM,CAAU,oBAAoB,GAAG,oBAAoB,CAAC;IAE5D,YACE,IAAc,EACG,gBAAwB,EACzC,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJrB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAK3C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,sBAAsB,CAC3B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC1C,IAAI,CAAC,YAAY,CAClB,CAAC,KAAK,CAAC;IACV,CAAC;IAES,aAAa;QACrB,OAAO,sBAAsB,CAC3B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC1C,IAAI,CAAC,YAAY,CAClB,CAAC,SAAS,CAAC;IACd,CAAC;IAID,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAES,WAAW,CAAC,KAAa;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAClE,MAAM,IAAI,UAAU,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAES,WAAW,CAAC,KAAa;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,kBAAkB,CAAC;QAC3E,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EACrC,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EACxC,UAAU,CAAC,UAAU,CACtB,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BytesVectorView, FixedBytesVectorView, FixedStringVectorView, Utf8VectorView } from "./byte-vectors.js";
|
|
2
|
+
export { PointerVectorView } from "./pointer-vector.js";
|
|
3
|
+
export { ScalarVectorView } from "./scalar-vector.js";
|
|
4
|
+
export { DynamicStructVectorView, StructVectorView } from "./struct-vectors.js";
|
|
5
|
+
export { VectorView } from "./vector-base.js";
|
|
6
|
+
//# sourceMappingURL=vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/vectors.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BytesVectorView, FixedBytesVectorView, FixedStringVectorView, Utf8VectorView } from "./byte-vectors.js";
|
|
2
|
+
export { PointerVectorView } from "./pointer-vector.js";
|
|
3
|
+
export { ScalarVectorView } from "./scalar-vector.js";
|
|
4
|
+
export { DynamicStructVectorView, StructVectorView } from "./struct-vectors.js";
|
|
5
|
+
export { VectorView } from "./vector-base.js";
|
|
6
|
+
//# sourceMappingURL=vectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectors.js","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare abstract class ProjectionView {
|
|
2
|
+
protected readonly view: DataView;
|
|
3
|
+
protected baseOffset: number;
|
|
4
|
+
protected readonly littleEndian: boolean;
|
|
5
|
+
protected constructor(view: DataView, baseOffset?: number, littleEndian?: boolean);
|
|
6
|
+
rebase(baseOffset: number): this;
|
|
7
|
+
rebaseUnchecked(baseOffset: number): this;
|
|
8
|
+
protected moveToIndex(index: number, byteLength: number): this;
|
|
9
|
+
moveToOffset(baseOffset: number, byteLength: number): this;
|
|
10
|
+
protected absoluteOffset(localOffset?: number): number;
|
|
11
|
+
protected backingOffset(localOffset?: number): number;
|
|
12
|
+
protected backingBuffer(): ArrayBufferLike;
|
|
13
|
+
protected assertRange(localOffset: number, byteLength: number): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=view-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-base.d.ts","sourceRoot":"","sources":["../src/view-base.ts"],"names":[],"mappings":"AAEA,8BAAsB,cAAc;IAEhC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACjC,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,QAAQ,CAAC,YAAY;IAHjC,SAAS,aACY,IAAI,EAAE,QAAQ,EACvB,UAAU,SAAI,EACL,YAAY,UAAO;IAGxC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMhC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKzC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAS9D,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1D,SAAS,CAAC,cAAc,CAAC,WAAW,SAAI,GAAG,MAAM;IAIjD,SAAS,CAAC,aAAa,CAAC,WAAW,SAAI,GAAG,MAAM;IAIhD,SAAS,CAAC,aAAa,IAAI,eAAe;IAI1C,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAIrE"}
|