@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.
Files changed (109) hide show
  1. package/dist/abi.d.ts +7 -0
  2. package/dist/abi.d.ts.map +1 -0
  3. package/dist/abi.js +7 -0
  4. package/dist/abi.js.map +1 -0
  5. package/dist/byte-vectors.d.ts +28 -0
  6. package/dist/byte-vectors.d.ts.map +1 -0
  7. package/dist/byte-vectors.js +64 -0
  8. package/dist/byte-vectors.js.map +1 -0
  9. package/dist/descriptor32.d.ts +15 -0
  10. package/dist/descriptor32.d.ts.map +1 -0
  11. package/dist/descriptor32.js +32 -0
  12. package/dist/descriptor32.js.map +1 -0
  13. package/dist/fixed-arrays.d.ts +39 -0
  14. package/dist/fixed-arrays.d.ts.map +1 -0
  15. package/dist/fixed-arrays.js +93 -0
  16. package/dist/fixed-arrays.js.map +1 -0
  17. package/dist/fixed.d.ts +12 -0
  18. package/dist/fixed.d.ts.map +1 -0
  19. package/dist/fixed.js +56 -0
  20. package/dist/fixed.js.map +1 -0
  21. package/dist/frame.d.ts +36 -0
  22. package/dist/frame.d.ts.map +1 -0
  23. package/dist/frame.js +151 -0
  24. package/dist/frame.js.map +1 -0
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/pointer-vector.d.ts +13 -0
  30. package/dist/pointer-vector.d.ts.map +1 -0
  31. package/dist/pointer-vector.js +53 -0
  32. package/dist/pointer-vector.js.map +1 -0
  33. package/dist/pointer32.d.ts +4 -0
  34. package/dist/pointer32.d.ts.map +1 -0
  35. package/dist/pointer32.js +16 -0
  36. package/dist/pointer32.js.map +1 -0
  37. package/dist/range.d.ts +6 -0
  38. package/dist/range.d.ts.map +1 -0
  39. package/dist/range.js +33 -0
  40. package/dist/range.js.map +1 -0
  41. package/dist/scalar-vector.d.ts +8 -0
  42. package/dist/scalar-vector.d.ts.map +1 -0
  43. package/dist/scalar-vector.js +17 -0
  44. package/dist/scalar-vector.js.map +1 -0
  45. package/dist/scalar.d.ts +6 -0
  46. package/dist/scalar.d.ts.map +1 -0
  47. package/dist/scalar.js +99 -0
  48. package/dist/scalar.js.map +1 -0
  49. package/dist/spans.d.ts +15 -0
  50. package/dist/spans.d.ts.map +1 -0
  51. package/dist/spans.js +30 -0
  52. package/dist/spans.js.map +1 -0
  53. package/dist/struct-vectors.d.ts +14 -0
  54. package/dist/struct-vectors.d.ts.map +1 -0
  55. package/dist/struct-vectors.js +33 -0
  56. package/dist/struct-vectors.js.map +1 -0
  57. package/dist/traversal.d.ts +9 -0
  58. package/dist/traversal.d.ts.map +1 -0
  59. package/dist/traversal.js +22 -0
  60. package/dist/traversal.js.map +1 -0
  61. package/dist/vector-base.d.ts +13 -0
  62. package/dist/vector-base.d.ts.map +1 -0
  63. package/dist/vector-base.js +32 -0
  64. package/dist/vector-base.js.map +1 -0
  65. package/dist/vectors.d.ts +6 -0
  66. package/dist/vectors.d.ts.map +1 -0
  67. package/dist/vectors.js +6 -0
  68. package/dist/vectors.js.map +1 -0
  69. package/dist/view-base.d.ts +15 -0
  70. package/dist/view-base.d.ts.map +1 -0
  71. package/dist/view-base.js +47 -0
  72. package/dist/view-base.js.map +1 -0
  73. package/dist/views.d.ts +6 -0
  74. package/dist/views.d.ts.map +1 -0
  75. package/dist/views.js +6 -0
  76. package/dist/views.js.map +1 -0
  77. package/dist/writer-arena.d.ts +16 -0
  78. package/dist/writer-arena.d.ts.map +1 -0
  79. package/dist/writer-arena.js +46 -0
  80. package/dist/writer-arena.js.map +1 -0
  81. package/dist/writer-byte-vectors.d.ts +12 -0
  82. package/dist/writer-byte-vectors.d.ts.map +1 -0
  83. package/dist/writer-byte-vectors.js +61 -0
  84. package/dist/writer-byte-vectors.js.map +1 -0
  85. package/dist/writer-pointer-vectors.d.ts +6 -0
  86. package/dist/writer-pointer-vectors.d.ts.map +1 -0
  87. package/dist/writer-pointer-vectors.js +33 -0
  88. package/dist/writer-pointer-vectors.js.map +1 -0
  89. package/dist/writer-scalar-vectors.d.ts +7 -0
  90. package/dist/writer-scalar-vectors.d.ts.map +1 -0
  91. package/dist/writer-scalar-vectors.js +19 -0
  92. package/dist/writer-scalar-vectors.js.map +1 -0
  93. package/dist/writer-spans.d.ts +9 -0
  94. package/dist/writer-spans.d.ts.map +1 -0
  95. package/dist/writer-spans.js +21 -0
  96. package/dist/writer-spans.js.map +1 -0
  97. package/dist/writer-struct-vectors.d.ts +6 -0
  98. package/dist/writer-struct-vectors.d.ts.map +1 -0
  99. package/dist/writer-struct-vectors.js +17 -0
  100. package/dist/writer-struct-vectors.js.map +1 -0
  101. package/dist/writer-vectors.d.ts +4 -0
  102. package/dist/writer-vectors.d.ts.map +1 -0
  103. package/dist/writer-vectors.js +4 -0
  104. package/dist/writer-vectors.js.map +1 -0
  105. package/dist/writer.d.ts +4 -0
  106. package/dist/writer.d.ts.map +1 -0
  107. package/dist/writer.js +4 -0
  108. package/dist/writer.js.map +1 -0
  109. package/package.json +39 -0
@@ -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,4 @@
1
+ export declare const POINTER32_BYTE_LENGTH = 4;
2
+ export declare const POINTER32_NULL = 4294967295;
3
+ export declare function pointer32RelativeOffset(pointerOffset: number, targetOffset: number): number;
4
+ //# sourceMappingURL=pointer32.d.ts.map
@@ -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"}
@@ -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"}
@@ -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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"}
@@ -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"}
@@ -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"}