@exornea/zeno-runtime 1.7.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/abi.d.ts +2 -2
  2. package/dist/abi.d.ts.map +1 -1
  3. package/dist/abi.js +2 -2
  4. package/dist/abi.js.map +1 -1
  5. package/dist/byte-vectors.d.ts +7 -4
  6. package/dist/byte-vectors.d.ts.map +1 -1
  7. package/dist/byte-vectors.js +13 -6
  8. package/dist/byte-vectors.js.map +1 -1
  9. package/dist/fixed-arrays.d.ts +3 -2
  10. package/dist/fixed-arrays.d.ts.map +1 -1
  11. package/dist/fixed-arrays.js +5 -2
  12. package/dist/fixed-arrays.js.map +1 -1
  13. package/dist/fixed.d.ts +3 -0
  14. package/dist/fixed.d.ts.map +1 -1
  15. package/dist/fixed.js +35 -0
  16. package/dist/fixed.js.map +1 -1
  17. package/dist/index.d.ts +5 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/scalar-vector.d.ts +2 -0
  22. package/dist/scalar-vector.d.ts.map +1 -1
  23. package/dist/scalar-vector.js +44 -3
  24. package/dist/scalar-vector.js.map +1 -1
  25. package/dist/vector-base.d.ts +20 -0
  26. package/dist/vector-base.d.ts.map +1 -1
  27. package/dist/vector-base.js +60 -4
  28. package/dist/vector-base.js.map +1 -1
  29. package/dist/view-base.d.ts +2 -0
  30. package/dist/view-base.d.ts.map +1 -1
  31. package/dist/view-base.js +9 -0
  32. package/dist/view-base.js.map +1 -1
  33. package/dist/writer-arena.d.ts +58 -0
  34. package/dist/writer-arena.d.ts.map +1 -1
  35. package/dist/writer-arena.js +160 -10
  36. package/dist/writer-arena.js.map +1 -1
  37. package/dist/writer-byte-vectors.d.ts +6 -0
  38. package/dist/writer-byte-vectors.d.ts.map +1 -1
  39. package/dist/writer-byte-vectors.js +38 -16
  40. package/dist/writer-byte-vectors.js.map +1 -1
  41. package/dist/writer-pointer-vectors.d.ts +1 -0
  42. package/dist/writer-pointer-vectors.d.ts.map +1 -1
  43. package/dist/writer-pointer-vectors.js +7 -4
  44. package/dist/writer-pointer-vectors.js.map +1 -1
  45. package/dist/writer-scalar-vectors.d.ts +1 -0
  46. package/dist/writer-scalar-vectors.d.ts.map +1 -1
  47. package/dist/writer-scalar-vectors.js +7 -3
  48. package/dist/writer-scalar-vectors.js.map +1 -1
  49. package/dist/writer-spans.d.ts +3 -0
  50. package/dist/writer-spans.d.ts.map +1 -1
  51. package/dist/writer-spans.js +15 -6
  52. package/dist/writer-spans.js.map +1 -1
  53. package/dist/writer-struct-vectors.d.ts +3 -0
  54. package/dist/writer-struct-vectors.d.ts.map +1 -1
  55. package/dist/writer-struct-vectors.js +27 -3
  56. package/dist/writer-struct-vectors.js.map +1 -1
  57. package/dist/writer.d.ts +53 -0
  58. package/dist/writer.d.ts.map +1 -1
  59. package/dist/writer.js +161 -0
  60. package/dist/writer.js.map +1 -1
  61. package/package.json +2 -2
package/dist/abi.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { alignOffset, assertBufferRange, assertDataViewRange, assertNonNegativeInteger, assertUint32, } from "./range.js";
2
2
  export { readScalar, SCALAR_KINDS, scalarByteLength, writeScalar, type ScalarKind, } from "./scalar.js";
3
3
  export { SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, readSpan32Descriptor, readVector32Descriptor, writeSpan32Descriptor, writeVector32Descriptor, type Span32Descriptor, type Vector32Descriptor, } from "./descriptor32.js";
4
- export { UTF8_DECODER, UTF8_ENCODER, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, fixedBytesView, writeFixedText, writeFixedBytes, writeFixedUtf8, type TextEncoding, } from "./fixed.js";
5
- export { POINTER32_BYTE_LENGTH, POINTER32_NULL, pointer32RelativeOffset, } from "./pointer32.js";
4
+ export { UTF8_DECODER, UTF8_ENCODER, bytesEqual, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, equalsAscii, fixedBytesView, startsWithAscii, writeFixedText, writeFixedBytes, writeFixedUtf8, type TextEncoding, } from "./fixed.js";
5
+ export { POINTER32_BYTE_LENGTH, POINTER32_NULL, pointer32RelativeOffset } from "./pointer32.js";
6
6
  export { ZENO_FRAME_HEADER_BYTE_LENGTH, ZENO_FRAME_LAYOUT_HASH_NONE, ZENO_FRAME_VERSION_MAJOR, assertZenoFramePayload, assertZenoFrameHeader, checkedZenoFramePayloadView, readZenoFrameHeader, writeZenoFrameHeader, zenoFramePayloadView, type WriteZenoFrameHeaderOptions, type ZenoFrameEndianness, type ZenoFrameExpectation, type ZenoFrameHeader, type ZenoFramePayloadExpectation, } from "./frame.js";
7
7
  //# sourceMappingURL=abi.d.ts.map
package/dist/abi.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,2BAA2B,GACjC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,2BAA2B,GACjC,MAAM,YAAY,CAAC"}
package/dist/abi.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { alignOffset, assertBufferRange, assertDataViewRange, assertNonNegativeInteger, assertUint32, } from "./range.js";
2
2
  export { readScalar, SCALAR_KINDS, scalarByteLength, writeScalar, } from "./scalar.js";
3
3
  export { SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, readSpan32Descriptor, readVector32Descriptor, writeSpan32Descriptor, writeVector32Descriptor, } from "./descriptor32.js";
4
- export { UTF8_DECODER, UTF8_ENCODER, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, fixedBytesView, writeFixedText, writeFixedBytes, writeFixedUtf8, } from "./fixed.js";
5
- export { POINTER32_BYTE_LENGTH, POINTER32_NULL, pointer32RelativeOffset, } from "./pointer32.js";
4
+ export { UTF8_DECODER, UTF8_ENCODER, bytesEqual, decodeFixedText, decodeFixedUtf8, decodeText, encodeText, equalsAscii, fixedBytesView, startsWithAscii, writeFixedText, writeFixedBytes, writeFixedUtf8, } from "./fixed.js";
5
+ export { POINTER32_BYTE_LENGTH, POINTER32_NULL, pointer32RelativeOffset } from "./pointer32.js";
6
6
  export { ZENO_FRAME_HEADER_BYTE_LENGTH, ZENO_FRAME_LAYOUT_HASH_NONE, ZENO_FRAME_VERSION_MAJOR, assertZenoFramePayload, assertZenoFrameHeader, checkedZenoFramePayloadView, readZenoFrameHeader, writeZenoFrameHeader, zenoFramePayloadView, } from "./frame.js";
7
7
  //# sourceMappingURL=abi.js.map
package/dist/abi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,GAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GAGxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,GAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GAMrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,GAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GAGxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,GAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GAMrB,MAAM,YAAY,CAAC"}
@@ -11,18 +11,21 @@ export declare class FixedBytesVectorView extends VectorView<Uint8Array> {
11
11
  bytesAt(index: number): Uint8Array;
12
12
  at(index: number): Uint8Array;
13
13
  }
14
- export declare class FixedStringVectorView extends VectorView<string> {
14
+ export declare class FixedStringVectorView extends VectorView<Uint8Array> {
15
15
  private readonly elementByteLength;
16
16
  private readonly encoding;
17
17
  constructor(view: DataView, descriptorOffset: number, elementByteLength: number, baseOffset?: number, littleEndian?: boolean, encoding?: TextEncoding);
18
18
  bytesAt(index: number): Uint8Array;
19
19
  textAt(index: number): string;
20
- at(index: number): string;
20
+ textArray(): string[];
21
+ at(index: number): Uint8Array;
21
22
  }
22
- export declare class Utf8VectorView extends VectorView<string> {
23
+ export declare class Utf8VectorView extends VectorView<Uint8Array> {
23
24
  private readonly encoding;
24
25
  constructor(view: DataView, descriptorOffset: number, baseOffset?: number, littleEndian?: boolean, encoding?: TextEncoding);
25
26
  bytesAt(index: number): Uint8Array;
26
- at(index: number): string;
27
+ textAt(index: number): string;
28
+ textArray(): string[];
29
+ at(index: number): Uint8Array;
27
30
  }
28
31
  //# sourceMappingURL=byte-vectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"byte-vectors.d.ts","sourceRoot":"","sources":["../src/byte-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,UAAU,CAAC,UAAU,CAAC;gBAEvD,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIlC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B;AAED,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,UAAU,CAAC;IAI5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFlC,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,iBAAiB,EAAE,MAAM,EAC1C,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWlC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAIzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAGlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBALzB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,iBAAiB,EAAE,MAAM,EAC1C,UAAU,SAAI,EACd,YAAY,UAAO,EACF,QAAQ,GAAE,YAAqB;IAKlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAG1B;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,MAAM,CAAC;IAMlD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAJzB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,SAAI,EACd,YAAY,UAAO,EACF,QAAQ,GAAE,YAAqB;IAKlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIlC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAG1B"}
1
+ {"version":3,"file":"byte-vectors.d.ts","sourceRoot":"","sources":["../src/byte-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,UAAU,CAAC,UAAU,CAAC;gBAC7C,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,YAAY,UAAO;IAIzF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIlC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B;AAED,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,UAAU,CAAC;IAI5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFlC,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,iBAAiB,EAAE,MAAM,EAC1C,UAAU,SAAI,EACd,YAAY,UAAO;IAKrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAUlC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,UAAU,CAAC;IAI7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAGlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBALzB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACP,iBAAiB,EAAE,MAAM,EAC1C,UAAU,SAAI,EACd,YAAY,UAAO,EACF,QAAQ,GAAE,YAAqB;IAKlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAUlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,SAAS,IAAI,MAAM,EAAE;IAIrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC;IAMtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAJzB,IAAI,EAAE,QAAQ,EACd,gBAAgB,EAAE,MAAM,EACxB,UAAU,SAAI,EACd,YAAY,UAAO,EACF,QAAQ,GAAE,YAAqB;IAKlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,SAAS,IAAI,MAAM,EAAE;IAIrB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAG9B"}
@@ -18,8 +18,7 @@ export class FixedBytesVectorView extends VectorView {
18
18
  this.elementByteLength = elementByteLength;
19
19
  }
20
20
  bytesAt(index) {
21
- this.assertIndex(index);
22
- const localOffset = this.payloadOffset() + index * this.elementByteLength;
21
+ const localOffset = this.elementOffsetAt(index, this.elementByteLength);
23
22
  this.assertRange(localOffset, this.elementByteLength);
24
23
  return new Uint8Array(this.backingBuffer(), this.backingOffset(localOffset), this.elementByteLength);
25
24
  }
@@ -36,16 +35,18 @@ export class FixedStringVectorView extends VectorView {
36
35
  this.encoding = encoding;
37
36
  }
38
37
  bytesAt(index) {
39
- this.assertIndex(index);
40
- const localOffset = this.payloadOffset() + index * this.elementByteLength;
38
+ const localOffset = this.elementOffsetAt(index, this.elementByteLength);
41
39
  this.assertRange(localOffset, this.elementByteLength);
42
40
  return new Uint8Array(this.backingBuffer(), this.backingOffset(localOffset), this.elementByteLength);
43
41
  }
44
42
  textAt(index) {
45
43
  return decodeText(this.bytesAt(index), this.encoding);
46
44
  }
45
+ textArray() {
46
+ return Array.from({ length: this.length }, (_, index) => this.textAt(index));
47
+ }
47
48
  at(index) {
48
- return this.textAt(index);
49
+ return this.bytesAt(index);
49
50
  }
50
51
  }
51
52
  export class Utf8VectorView extends VectorView {
@@ -57,8 +58,14 @@ export class Utf8VectorView extends VectorView {
57
58
  bytesAt(index) {
58
59
  return this.spanBytesAt(index);
59
60
  }
60
- at(index) {
61
+ textAt(index) {
61
62
  return decodeText(this.bytesAt(index), this.encoding);
62
63
  }
64
+ textArray() {
65
+ return Array.from({ length: this.length }, (_, index) => this.textAt(index));
66
+ }
67
+ at(index) {
68
+ return this.bytesAt(index);
69
+ }
63
70
  }
64
71
  //# sourceMappingURL=byte-vectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"byte-vectors.js","sourceRoot":"","sources":["../src/byte-vectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"byte-vectors.js","sourceRoot":"","sources":["../src/byte-vectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,eAAgB,SAAQ,UAAsB;IACzD,YAAY,IAAc,EAAE,gBAAwB,EAAE,UAAU,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI;QACvF,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,UAAsB;IAI3C;IAHnB,YACE,IAAc,EACd,gBAAwB,EACP,iBAAyB,EAC1C,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJvC,sBAAiB,GAAjB,iBAAiB,CAAQ;IAK5C,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,UAAsB;IAI5C;IAGA;IANnB,YACE,IAAc,EACd,gBAAwB,EACP,iBAAyB,EAC1C,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI,EACF,WAAyB,MAAM;QAEhD,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QALvC,sBAAiB,GAAjB,iBAAiB,CAAQ;QAGzB,aAAQ,GAAR,QAAQ,CAAuB;IAGlD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,UAAsB;IAMrC;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,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -23,13 +23,14 @@ export declare class FixedBytesArrayView extends FixedArrayView<Uint8Array> {
23
23
  set(index: number, value: ArrayLike<number> | Uint8Array): void;
24
24
  at(index: number): Uint8Array;
25
25
  }
26
- export declare class FixedStringArrayView extends FixedArrayView<string> {
26
+ export declare class FixedStringArrayView extends FixedArrayView<Uint8Array> {
27
27
  private readonly encoding;
28
28
  constructor(view: DataView, payloadOffset: number, length: number, elementByteLength: number, baseOffset?: number, littleEndian?: boolean, encoding?: TextEncoding);
29
29
  bytesAt(index: number): Uint8Array;
30
30
  textAt(index: number): string;
31
31
  setText(index: number, value: string): void;
32
- at(index: number): string;
32
+ textArray(): string[];
33
+ at(index: number): Uint8Array;
33
34
  }
34
35
  export declare class FixedStructArrayView<TView extends ProjectionView> extends FixedArrayView<TView> {
35
36
  private readonly factory;
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-arrays.d.ts","sourceRoot":"","sources":["../src/fixed-arrays.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixed-arrays.d.ts","sourceRoot":"","sources":["../src/fixed-arrays.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { decodeText, fixedBytesView, writeFixedBytes, writeFixedText, } from "./fixed.js";
2
- import { readScalar, scalarByteLength, writeScalar, } from "./scalar.js";
2
+ import { readScalar, scalarByteLength, writeScalar } from "./scalar.js";
3
3
  import { ProjectionView } from "./view-base.js";
4
4
  export class FixedArrayView extends ProjectionView {
5
5
  payloadOffset;
@@ -74,8 +74,11 @@ export class FixedStringArrayView extends FixedArrayView {
74
74
  const localOffset = this.elementOffset(index);
75
75
  writeFixedText(this.backingBuffer(), this.backingOffset(localOffset), this.elementByteLength, value, this.encoding);
76
76
  }
77
+ textArray() {
78
+ return Array.from({ length: this.length }, (_, index) => this.textAt(index));
79
+ }
77
80
  at(index) {
78
- return this.textAt(index);
81
+ return this.bytesAt(index);
79
82
  }
80
83
  }
81
84
  export class FixedStructArrayView extends FixedArrayView {
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-arrays.js","sourceRoot":"","sources":["../src/fixed-arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,WAAW,GAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAgB,cAAkB,SAAQ,cAAc;IAGzC;IACR;IACU;IAJrB,YACE,IAAc,EACG,aAAqB,EAC7B,MAAc,EACJ,iBAAyB,EAC5C,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QANrB,kBAAa,GAAb,aAAa,CAAQ;QAC7B,WAAM,GAAN,MAAM,CAAQ;QACJ,sBAAiB,GAAjB,iBAAiB,CAAQ;IAK9C,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,aAAa,CAAC,KAAa;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC7D,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,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,oBAEX,SAAQ,cAAiB;IAKN;IAJnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACG,UAAsB,EACvC,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJ1E,eAAU,GAAV,UAAU,CAAY;IAKzC,CAAC;IAED,EAAE,CAAC,KAAa;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,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;IAED,GAAG,CAAC,KAAa,EAAE,KAAQ;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,WAAW,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAChC,KAAK,EACL,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAA0B;IACjE,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACzB,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,cAAc,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAqC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,eAAe,CACb,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,EACtB,KAAK,CACN,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAAsB;IAQ3C;IAPnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACzB,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI,EACF,WAAyB,MAAM;QAEhD,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAF/D,aAAQ,GAAR,QAAQ,CAAuB;IAGlD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,cAAc,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,cAAc,CACZ,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,EACtB,KAAK,EACL,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,oBAAmD,SAAQ,cAAqB;IAMxE;IALnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACR,OAIP,EACV,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAR/D,YAAO,GAAP,OAAO,CAId;IAKZ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,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"}
1
+ {"version":3,"file":"fixed-arrays.js","sourceRoot":"","sources":["../src/fixed-arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAgB,cAAkB,SAAQ,cAAc;IAGzC;IACR;IACU;IAJrB,YACE,IAAc,EACG,aAAqB,EAC7B,MAAc,EACJ,iBAAyB,EAC5C,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QANrB,kBAAa,GAAb,aAAa,CAAQ;QAC7B,WAAM,GAAN,MAAM,CAAQ;QACJ,sBAAiB,GAAjB,iBAAiB,CAAQ;IAK9C,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,aAAa,CAAC,KAAa;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC7D,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,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,oBAA0D,SAAQ,cAAiB;IAK3E;IAJnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACG,UAAsB,EACvC,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJ1E,eAAU,GAAV,UAAU,CAAY;IAKzC,CAAC;IAED,EAAE,CAAC,KAAa;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,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;IAED,GAAG,CAAC,KAAa,EAAE,KAAQ;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,WAAW,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAChC,KAAK,EACL,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAA0B;IACjE,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACzB,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,cAAc,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAqC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,eAAe,CACb,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,EACtB,KAAK,CACN,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAA0B;IAQ/C;IAPnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACzB,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI,EACF,WAAyB,MAAM;QAEhD,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAF/D,aAAQ,GAAR,QAAQ,CAAuB;IAGlD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,cAAc,CACnB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,cAAc,CACZ,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC/B,IAAI,CAAC,iBAAiB,EACtB,KAAK,EACL,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,oBAAmD,SAAQ,cAAqB;IAMxE;IALnB,YACE,IAAc,EACd,aAAqB,EACrB,MAAc,EACd,iBAAyB,EACR,OAA6E,EAC9F,UAAU,GAAG,CAAC,EACd,YAAY,GAAG,IAAI;QAEnB,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJ/D,YAAO,GAAP,OAAO,CAAsE;IAKhG,CAAC;IAED,EAAE,CAAC,KAAa;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,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"}
package/dist/fixed.d.ts CHANGED
@@ -5,6 +5,9 @@ export declare function fixedBytesView(buffer: ArrayBufferLike, offset: number,
5
5
  export declare function writeFixedBytes(buffer: ArrayBufferLike, offset: number, length: number, value: ArrayLike<number> | Uint8Array): void;
6
6
  export declare function decodeFixedUtf8(buffer: ArrayBufferLike, offset: number, length: number, decoder?: TextDecoder): string;
7
7
  export declare function decodeText(bytes: Uint8Array, encoding?: TextEncoding): string;
8
+ export declare function bytesEqual(left: ArrayLike<number>, right: ArrayLike<number>): boolean;
9
+ export declare function equalsAscii(bytes: ArrayLike<number>, value: string): boolean;
10
+ export declare function startsWithAscii(bytes: ArrayLike<number>, prefix: string): boolean;
8
11
  export declare function encodeText(value: string, encoding?: TextEncoding): Uint8Array;
9
12
  export declare function decodeFixedText(buffer: ArrayBufferLike, offset: number, length: number, encoding?: TextEncoding): string;
10
13
  export declare function writeFixedUtf8(buffer: ArrayBufferLike, offset: number, length: number, value: string, encoder?: TextEncoder): void;
@@ -1 +1 @@
1
- {"version":3,"file":"fixed.d.ts","sourceRoot":"","sources":["../src/fixed.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,eAAO,MAAM,YAAY,aAAoB,CAAC;AAC9C,eAAO,MAAM,YAAY,aAAoB,CAAC;AAE9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CAGZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,GACpC,IAAI,CAYN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,cAAe,GACrB,MAAM,CAGR;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAE,YAAqB,GAAG,MAAM,CAYrF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,YAAqB,GAAG,UAAU,CAcrF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,YAAqB,GAC9B,MAAM,CAGR;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,cAAe,GACrB,IAAI,CAEN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,YAAqB,GAC9B,IAAI,CAEN"}
1
+ {"version":3,"file":"fixed.d.ts","sourceRoot":"","sources":["../src/fixed.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,eAAO,MAAM,YAAY,aAAoB,CAAC;AAC9C,eAAO,MAAM,YAAY,aAAoB,CAAC;AAE9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CAGZ;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,GACpC,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,cAAe,GACrB,MAAM,CAGR;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAE,YAAqB,GAAG,MAAM,CAYrF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAYrF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAa5E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAajF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,YAAqB,GAAG,UAAU,CAcrF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,YAAqB,GAC9B,MAAM,CAGR;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,cAAe,GACrB,IAAI,CAEN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,YAAqB,GAC9B,IAAI,CAEN"}
package/dist/fixed.js CHANGED
@@ -29,6 +29,41 @@ export function decodeText(bytes, encoding = "utf8") {
29
29
  }
30
30
  return UTF8_DECODER.decode(bytes);
31
31
  }
32
+ export function bytesEqual(left, right) {
33
+ if (left.length !== right.length) {
34
+ return false;
35
+ }
36
+ for (let index = 0; index < left.length; index += 1) {
37
+ if (left[index] !== right[index]) {
38
+ return false;
39
+ }
40
+ }
41
+ return true;
42
+ }
43
+ export function equalsAscii(bytes, value) {
44
+ if (bytes.length !== value.length) {
45
+ return false;
46
+ }
47
+ for (let index = 0; index < value.length; index += 1) {
48
+ const codePoint = value.charCodeAt(index);
49
+ if (codePoint > 0x7f || bytes[index] !== codePoint) {
50
+ return false;
51
+ }
52
+ }
53
+ return true;
54
+ }
55
+ export function startsWithAscii(bytes, prefix) {
56
+ if (prefix.length > bytes.length) {
57
+ return false;
58
+ }
59
+ for (let index = 0; index < prefix.length; index += 1) {
60
+ const codePoint = prefix.charCodeAt(index);
61
+ if (codePoint > 0x7f || bytes[index] !== codePoint) {
62
+ return false;
63
+ }
64
+ }
65
+ return true;
66
+ }
32
67
  export function encodeText(value, encoding = "utf8") {
33
68
  if (encoding === "utf8") {
34
69
  return UTF8_ENCODER.encode(value);
package/dist/fixed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fixed.js","sourceRoot":"","sources":["../src/fixed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixed.js","sourceRoot":"","sources":["../src/fixed.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
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";
1
+ export type { ascii, bool, bytes, dynamic_vector, 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, bytesEqual, equalsAscii, fixedBytesView, readScalar, readSpan32Descriptor, readVector32Descriptor, readZenoFrameHeader, scalarByteLength, startsWithAscii, 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, SharedDynamicLayoutWriter, type SharedDescriptorState, type SharedDynamicLayoutWriterInitOptions, type SharedDynamicLayoutWriterOptions, } from "./writer.js";
4
+ export { DynamicLayoutArena, initializeSharedArenaShard, isSharedDescriptorPublished, publishSharedDescriptor, resetSharedDescriptor, sharedArenaCursorCell, sharedArenaShard, sharedArenaView, sharedDescriptorStateCell, type SharedArenaOptions, type SharedArenaShardOptions, type SharedArenaViewOptions, } from "./writer-arena.js";
5
+ export { BytesSpanView, BytesVectorView, DynamicStructVectorView, FixedArrayView, FixedBytesArrayView, FixedBytesVectorView, FixedScalarArrayView, FixedStringArrayView, FixedStringVectorView, FixedStructArrayView, PointerVectorView, ProjectionView, ScalarVectorView, StructVectorView, Utf8SpanView, Utf8VectorView, VectorView, traversePointerChain, } from "./views.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,IAAI,EACJ,KAAK,EACL,cAAc,EACd,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,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,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,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oCAAoC,EACzC,KAAK,gCAAgC,GACtC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
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";
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, bytesEqual, equalsAscii, fixedBytesView, readScalar, readSpan32Descriptor, readVector32Descriptor, readZenoFrameHeader, scalarByteLength, startsWithAscii, writeFixedText, writeFixedBytes, writeFixedUtf8, writeScalar, writeSpan32Descriptor, writeVector32Descriptor, writeZenoFrameHeader, zenoFramePayloadView, } from "./abi.js";
2
+ export { DynamicLayoutWriter, SharedDynamicLayoutWriter, } from "./writer.js";
3
+ export { DynamicLayoutArena, initializeSharedArenaShard, isSharedDescriptorPublished, publishSharedDescriptor, resetSharedDescriptor, sharedArenaCursorCell, sharedArenaShard, sharedArenaView, sharedDescriptorStateCell, } from "./writer-arena.js";
4
+ export { BytesSpanView, BytesVectorView, DynamicStructVectorView, FixedArrayView, FixedBytesArrayView, FixedBytesVectorView, FixedScalarArrayView, FixedStringArrayView, FixedStringVectorView, FixedStructArrayView, PointerVectorView, ProjectionView, ScalarVectorView, StructVectorView, Utf8SpanView, Utf8VectorView, VectorView, traversePointerChain, } from "./views.js";
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8BA,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,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GAUrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAI1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAI1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { type ScalarKind } from "./scalar.js";
2
2
  import { VectorView } from "./vector-base.js";
3
+ export type ScalarTypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | BigInt64Array | BigUint64Array | Float32Array | Float64Array;
3
4
  export declare class ScalarVectorView<T extends number | bigint | boolean> extends VectorView<T> {
4
5
  private readonly scalarKind;
5
6
  constructor(view: DataView, descriptorOffset: number, scalarKind: ScalarKind, baseOffset?: number, littleEndian?: boolean);
6
7
  at(index: number): T;
8
+ nativeArray(): ScalarTypedArray;
7
9
  }
8
10
  //# sourceMappingURL=scalar-vector.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"scalar-vector.d.ts","sourceRoot":"","sources":["../src/scalar-vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,YAAY,CAAC;AASjB,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAIpF,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;IAYpB,WAAW,IAAI,gBAAgB;CAsBhC"}
@@ -1,5 +1,6 @@
1
- import { readScalar, scalarByteLength, } from "./scalar.js";
1
+ import { readScalar, scalarByteLength } from "./scalar.js";
2
2
  import { VectorView } from "./vector-base.js";
3
+ const HOST_LITTLE_ENDIAN = new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
3
4
  export class ScalarVectorView extends VectorView {
4
5
  scalarKind;
5
6
  constructor(view, descriptorOffset, scalarKind, baseOffset = 0, littleEndian = true) {
@@ -7,11 +8,51 @@ export class ScalarVectorView extends VectorView {
7
8
  this.scalarKind = scalarKind;
8
9
  }
9
10
  at(index) {
10
- this.assertIndex(index);
11
11
  const stride = scalarByteLength(this.scalarKind);
12
- const localOffset = this.payloadOffset() + index * stride;
12
+ const localOffset = this.elementOffsetAt(index, stride);
13
13
  this.assertRange(localOffset, stride);
14
14
  return readScalar(this.view, this.scalarKind, this.absoluteOffset(localOffset), this.littleEndian);
15
15
  }
16
+ nativeArray() {
17
+ const TypedArray = scalarTypedArrayConstructor(this.scalarKind);
18
+ const stride = scalarByteLength(this.scalarKind);
19
+ const payloadOffset = this.payloadOffset();
20
+ const byteLength = this.length * stride;
21
+ if (stride > 1 && this.littleEndian !== HOST_LITTLE_ENDIAN) {
22
+ throw new RangeError(`Scalar vector ${this.scalarKind} cannot be projected as a native TypedArray when endian differs from host`);
23
+ }
24
+ this.assertRange(payloadOffset, byteLength);
25
+ const byteOffset = this.backingOffset(payloadOffset);
26
+ if (byteOffset % TypedArray.BYTES_PER_ELEMENT !== 0) {
27
+ throw new RangeError(`Scalar vector payload byte offset ${byteOffset} is not aligned to ${TypedArray.BYTES_PER_ELEMENT}`);
28
+ }
29
+ return new TypedArray(this.backingBuffer(), byteOffset, this.length);
30
+ }
31
+ }
32
+ function scalarTypedArrayConstructor(kind) {
33
+ switch (kind) {
34
+ case "i8":
35
+ return Int8Array;
36
+ case "u8":
37
+ return Uint8Array;
38
+ case "i16":
39
+ return Int16Array;
40
+ case "u16":
41
+ return Uint16Array;
42
+ case "i32":
43
+ return Int32Array;
44
+ case "u32":
45
+ return Uint32Array;
46
+ case "i64":
47
+ return BigInt64Array;
48
+ case "u64":
49
+ return BigUint64Array;
50
+ case "f32":
51
+ return Float32Array;
52
+ case "f64":
53
+ return Float64Array;
54
+ case "bool":
55
+ throw new RangeError("bool vectors do not have a native TypedArray projection");
56
+ }
16
57
  }
17
58
  //# sourceMappingURL=scalar-vector.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"scalar-vector.js","sourceRoot":"","sources":["../src/scalar-vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmB9C,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEhF,MAAM,OAAO,gBAAsD,SAAQ,UAAa;IAInE;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,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,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;IAED,WAAW;QACT,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAExC,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;YAC3D,MAAM,IAAI,UAAU,CAClB,iBAAiB,IAAI,CAAC,UAAU,2EAA2E,CAC5G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,UAAU,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,UAAU,CAClB,qCAAqC,UAAU,sBAAsB,UAAU,CAAC,iBAAiB,EAAE,CACpG,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;CACF;AAED,SAAS,2BAA2B,CAAC,IAAgB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,SAAS,CAAC;QACnB,KAAK,IAAI;YACP,OAAO,UAAU,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,UAAU,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,WAAW,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,UAAU,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,WAAW,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,aAAa,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,YAAY,CAAC;QACtB,KAAK,KAAK;YACR,OAAO,YAAY,CAAC;QACtB,KAAK,MAAM;YACT,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;IACpF,CAAC;AACH,CAAC"}
@@ -3,11 +3,31 @@ export declare abstract class VectorView<T> extends ProjectionView {
3
3
  private readonly descriptorOffset;
4
4
  static readonly descriptorByteLength = 8;
5
5
  protected constructor(view: DataView, descriptorOffset: number, baseOffset?: number, littleEndian?: boolean);
6
+ private descriptorCache;
7
+ /**
8
+ * Vector views are live payload views with a cached descriptor.
9
+ *
10
+ * Element reads always project the current backing buffer bytes. The
11
+ * `Vector32` descriptor itself is cached after the first access so hot loops
12
+ * do not reread the same `relOffset/count` pair on every `length`/`at(i)`
13
+ * call. Rebase and move operations clear the cache. If another writer mutates
14
+ * the descriptor in-place while this view is reused, callers must call
15
+ * `refreshDescriptor()` after observing the writer's publication boundary.
16
+ */
17
+ rebase(baseOffset: number): this;
18
+ rebaseUnchecked(baseOffset: number): this;
19
+ moveToOffset(baseOffset: number, byteLength: number): this;
20
+ moveToOffsetUnchecked(baseOffset: number, byteLength: number): this;
21
+ protected moveToIndexUnchecked(index: number, byteLength: number): this;
22
+ refreshDescriptor(): this;
6
23
  get length(): number;
7
24
  protected payloadOffset(): number;
8
25
  abstract at(index: number): T;
9
26
  toArray(): T[];
10
27
  protected assertIndex(index: number): void;
28
+ protected elementOffsetAt(index: number, elementByteLength: number): number;
11
29
  protected spanBytesAt(index: number): Uint8Array;
30
+ private descriptor;
31
+ private clearDescriptorCache;
12
32
  }
13
33
  //# sourceMappingURL=vector-base.d.ts.map
@@ -1 +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"}
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,OAAO,CAAC,eAAe,CAKT;IAEd;;;;;;;;;OASG;IACM,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMhC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMzC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAM1D,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;cAMzD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAMhF,iBAAiB,IAAI,IAAI;IAMzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,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,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAS3E,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAehD,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,oBAAoB;CAG7B"}
@@ -7,11 +7,52 @@ export class VectorView extends ProjectionView {
7
7
  super(view, baseOffset, littleEndian);
8
8
  this.descriptorOffset = descriptorOffset;
9
9
  }
10
+ descriptorCache;
11
+ /**
12
+ * Vector views are live payload views with a cached descriptor.
13
+ *
14
+ * Element reads always project the current backing buffer bytes. The
15
+ * `Vector32` descriptor itself is cached after the first access so hot loops
16
+ * do not reread the same `relOffset/count` pair on every `length`/`at(i)`
17
+ * call. Rebase and move operations clear the cache. If another writer mutates
18
+ * the descriptor in-place while this view is reused, callers must call
19
+ * `refreshDescriptor()` after observing the writer's publication boundary.
20
+ */
21
+ rebase(baseOffset) {
22
+ super.rebase(baseOffset);
23
+ this.clearDescriptorCache();
24
+ return this;
25
+ }
26
+ rebaseUnchecked(baseOffset) {
27
+ super.rebaseUnchecked(baseOffset);
28
+ this.clearDescriptorCache();
29
+ return this;
30
+ }
31
+ moveToOffset(baseOffset, byteLength) {
32
+ super.moveToOffset(baseOffset, byteLength);
33
+ this.clearDescriptorCache();
34
+ return this;
35
+ }
36
+ moveToOffsetUnchecked(baseOffset, byteLength) {
37
+ super.moveToOffsetUnchecked(baseOffset, byteLength);
38
+ this.clearDescriptorCache();
39
+ return this;
40
+ }
41
+ moveToIndexUnchecked(index, byteLength) {
42
+ super.moveToIndexUnchecked(index, byteLength);
43
+ this.clearDescriptorCache();
44
+ return this;
45
+ }
46
+ refreshDescriptor() {
47
+ this.clearDescriptorCache();
48
+ this.descriptor();
49
+ return this;
50
+ }
10
51
  get length() {
11
- return readVector32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian).count;
52
+ return this.descriptor().count;
12
53
  }
13
54
  payloadOffset() {
14
- return readVector32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian).relOffset;
55
+ return this.descriptor().relOffset;
15
56
  }
16
57
  toArray() {
17
58
  return Array.from({ length: this.length }, (_, index) => this.at(index));
@@ -21,12 +62,27 @@ export class VectorView extends ProjectionView {
21
62
  throw new RangeError(`Vector index out of bounds: ${index}`);
22
63
  }
23
64
  }
65
+ elementOffsetAt(index, elementByteLength) {
66
+ const descriptor = this.descriptor();
67
+ if (!Number.isInteger(index) || index < 0 || index >= descriptor.count) {
68
+ throw new RangeError(`Vector index out of bounds: ${index}`);
69
+ }
70
+ return descriptor.relOffset + index * elementByteLength;
71
+ }
24
72
  spanBytesAt(index) {
25
- this.assertIndex(index);
26
- const descriptorOffset = this.payloadOffset() + index * SPAN32_BYTE_LENGTH;
73
+ const descriptorOffset = this.elementOffsetAt(index, SPAN32_BYTE_LENGTH);
27
74
  const descriptor = readSpan32Descriptor(this.view, this.absoluteOffset(descriptorOffset), this.littleEndian);
28
75
  this.assertRange(descriptor.relOffset, descriptor.byteLength);
29
76
  return new Uint8Array(this.backingBuffer(), this.backingOffset(descriptor.relOffset), descriptor.byteLength);
30
77
  }
78
+ descriptor() {
79
+ if (this.descriptorCache === undefined) {
80
+ this.descriptorCache = readVector32Descriptor(this.view, this.absoluteOffset(this.descriptorOffset), this.littleEndian);
81
+ }
82
+ return this.descriptorCache;
83
+ }
84
+ clearDescriptorCache() {
85
+ this.descriptorCache = undefined;
86
+ }
31
87
  }
32
88
  //# sourceMappingURL=vector-base.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"vector-base.js","sourceRoot":"","sources":["../src/vector-base.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,9 @@ export declare abstract class ProjectionView {
6
6
  rebase(baseOffset: number): this;
7
7
  rebaseUnchecked(baseOffset: number): this;
8
8
  protected moveToIndex(index: number, byteLength: number): this;
9
+ protected moveToIndexUnchecked(index: number, byteLength: number): this;
9
10
  moveToOffset(baseOffset: number, byteLength: number): this;
11
+ moveToOffsetUnchecked(baseOffset: number, _byteLength: number): this;
10
12
  protected absoluteOffset(localOffset?: number): number;
11
13
  protected backingOffset(localOffset?: number): number;
12
14
  protected backingBuffer(): ArrayBufferLike;
@@ -1 +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"}
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,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAMvE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1D,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKpE,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"}