@maplibre/mlt 1.1.0 → 1.1.2

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 (136) hide show
  1. package/LICENSE.txt +231 -0
  2. package/dist/decoding/decodingUtils.js +2 -2
  3. package/dist/decoding/decodingUtils.js.map +1 -1
  4. package/dist/decoding/decodingUtils.spec.js +2 -2
  5. package/dist/decoding/decodingUtils.spec.js.map +1 -1
  6. package/dist/decoding/fsstDecoder.js.map +1 -1
  7. package/dist/decoding/fsstDecoder.spec.js +14 -10
  8. package/dist/decoding/fsstDecoder.spec.js.map +1 -1
  9. package/dist/decoding/geometryDecoder.js +40 -200
  10. package/dist/decoding/geometryDecoder.js.map +1 -1
  11. package/dist/decoding/geometryDecoder.spec.js.map +1 -1
  12. package/dist/decoding/geometryScaling.js.map +1 -1
  13. package/dist/decoding/intWrapper.js.map +1 -1
  14. package/dist/decoding/integerDecodingUtils.d.ts +1 -1
  15. package/dist/decoding/integerDecodingUtils.js.map +1 -1
  16. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
  17. package/dist/decoding/integerStreamDecoder.d.ts +13 -22
  18. package/dist/decoding/integerStreamDecoder.js +234 -237
  19. package/dist/decoding/integerStreamDecoder.js.map +1 -1
  20. package/dist/decoding/integerStreamDecoder.spec.js +77 -39
  21. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
  22. package/dist/decoding/propertyDecoder.js +21 -21
  23. package/dist/decoding/propertyDecoder.js.map +1 -1
  24. package/dist/decoding/propertyDecoder.spec.js +162 -199
  25. package/dist/decoding/propertyDecoder.spec.js.map +1 -1
  26. package/dist/decoding/stringDecoder.d.ts +2 -10
  27. package/dist/decoding/stringDecoder.js +150 -157
  28. package/dist/decoding/stringDecoder.js.map +1 -1
  29. package/dist/decoding/stringDecoder.spec.js +59 -60
  30. package/dist/decoding/stringDecoder.spec.js.map +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  33. package/dist/metadata/tile/lengthType.js.map +1 -1
  34. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  35. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  36. package/dist/metadata/tile/offsetType.js.map +1 -1
  37. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  38. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  39. package/dist/metadata/tile/scalarType.js.map +1 -1
  40. package/dist/metadata/tile/streamMetadataDecoder.d.ts +28 -4
  41. package/dist/metadata/tile/streamMetadataDecoder.js +81 -15
  42. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  43. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +4 -4
  44. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  45. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
  46. package/dist/metadata/tileset/typeMap.d.ts +21 -29
  47. package/dist/metadata/tileset/typeMap.js +167 -169
  48. package/dist/metadata/tileset/typeMap.js.map +1 -1
  49. package/dist/mltDecoder.js +20 -18
  50. package/dist/mltDecoder.js.map +1 -1
  51. package/dist/mltDecoder.spec.js.map +1 -1
  52. package/dist/mltMetadata.js.map +1 -1
  53. package/dist/vector/constant/intConstVector.js.map +1 -1
  54. package/dist/vector/constant/longConstVector.js.map +1 -1
  55. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  56. package/dist/vector/featureTable.js.map +1 -1
  57. package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
  58. package/dist/vector/filter/flatSelectionVector.js +54 -0
  59. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  60. package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
  61. package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
  62. package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
  63. package/dist/vector/filter/selectionVector.d.ts +8 -0
  64. package/dist/vector/filter/selectionVector.js +2 -0
  65. package/dist/vector/filter/selectionVector.js.map +1 -0
  66. package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
  67. package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
  68. package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
  69. package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
  70. package/dist/vector/filter/selectionVectorUtils.js +37 -0
  71. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  72. package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
  73. package/dist/vector/filter/sequenceSelectionVector.js +67 -0
  74. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  75. package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
  76. package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
  77. package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
  78. package/dist/vector/fixedSizeVector.js.map +1 -1
  79. package/dist/vector/flat/bitVector.js.map +1 -1
  80. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  81. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  82. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  83. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
  84. package/dist/vector/flat/intFlatVector.js.map +1 -1
  85. package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
  86. package/dist/vector/flat/longFlatVector.js.map +1 -1
  87. package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
  88. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  89. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  90. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
  91. package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
  92. package/dist/vector/geometry/constGeometryVector.js +6 -6
  93. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  94. package/dist/vector/geometry/constGpuVector.d.ts +1 -1
  95. package/dist/vector/geometry/constGpuVector.js +3 -24
  96. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  97. package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
  98. package/dist/vector/geometry/flatGeometryVector.js +7 -7
  99. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  100. package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
  101. package/dist/vector/geometry/flatGpuVector.js +3 -22
  102. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  103. package/dist/vector/geometry/geometryType.js.map +1 -1
  104. package/dist/vector/geometry/geometryVector.js +2 -2
  105. package/dist/vector/geometry/geometryVector.js.map +1 -1
  106. package/dist/vector/geometry/geometryVectorConverter.js +4 -4
  107. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  108. package/dist/vector/geometry/gpuVector.js.map +1 -1
  109. package/dist/vector/geometry/topologyVector.js.map +1 -1
  110. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  111. package/dist/vector/geometry/zOrderCurve.d.ts +4 -17
  112. package/dist/vector/geometry/zOrderCurve.js +10 -35
  113. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  114. package/dist/vector/geometry/zOrderCurve.spec.js +15 -10
  115. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
  116. package/dist/vector/intVector.js.map +1 -1
  117. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  118. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  119. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
  120. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  121. package/dist/vector/variableSizeVector.js.map +1 -1
  122. package/dist/vector/vector.js.map +1 -1
  123. package/dist/vector/vectorType.js.map +1 -1
  124. package/package.json +5 -5
  125. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +0 -15
  126. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +0 -27
  127. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +0 -1
  128. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +0 -24
  129. package/dist/metadata/tile/rleEncodedStreamMetadata.js +0 -38
  130. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +0 -1
  131. package/dist/metadata/tile/streamMetadata.d.ts +0 -29
  132. package/dist/metadata/tile/streamMetadata.js +0 -82
  133. package/dist/metadata/tile/streamMetadata.js.map +0 -1
  134. package/dist/vector/geometry/spaceFillingCurve.d.ts +0 -22
  135. package/dist/vector/geometry/spaceFillingCurve.js +0 -31
  136. package/dist/vector/geometry/spaceFillingCurve.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import IntegerStreamDecoder from "./integerStreamDecoder";
3
- import { RleEncodedStreamMetadata } from "../metadata/tile/rleEncodedStreamMetadata";
2
+ import { getVectorType, decodeLongStream, decodeNullableLongStream } from "./integerStreamDecoder";
4
3
  import { PhysicalStreamType } from "../metadata/tile/physicalStreamType";
5
4
  import { LogicalStreamType } from "../metadata/tile/logicalStreamType";
6
5
  import { LogicalLevelTechnique } from "../metadata/tile/logicalLevelTechnique";
@@ -9,117 +8,156 @@ import { VectorType } from "../vector/vectorType";
9
8
  import { DictionaryType } from "../metadata/tile/dictionaryType";
10
9
  import IntWrapper from "./intWrapper";
11
10
  import BitVector from "../vector/flat/bitVector";
12
- import { StreamMetadata } from "../metadata/tile/streamMetadata";
13
11
  /**
14
12
  * Helper function to create StreamMetadata
15
13
  */
16
14
  function createStreamMetadata(logicalTechnique1, logicalTechnique2 = LogicalLevelTechnique.NONE, numValues = 3) {
17
- return new StreamMetadata(PhysicalStreamType.DATA, new LogicalStreamType(DictionaryType.NONE), logicalTechnique1, logicalTechnique2, PhysicalLevelTechnique.VARINT, numValues, 10);
15
+ return {
16
+ physicalStreamType: PhysicalStreamType.DATA,
17
+ logicalStreamType: new LogicalStreamType(DictionaryType.NONE),
18
+ logicalLevelTechnique1: logicalTechnique1,
19
+ logicalLevelTechnique2: logicalTechnique2,
20
+ physicalLevelTechnique: PhysicalLevelTechnique.VARINT,
21
+ numValues,
22
+ byteLength: 10,
23
+ decompressedCount: numValues,
24
+ };
18
25
  }
19
26
  /**
20
27
  * Helper function to create RleEncodedStreamMetadata
21
28
  */
22
29
  function createRleMetadata(logicalTechnique1, logicalTechnique2, runs, numRleValues) {
23
- return new RleEncodedStreamMetadata(PhysicalStreamType.DATA, new LogicalStreamType(DictionaryType.NONE), logicalTechnique1, logicalTechnique2, PhysicalLevelTechnique.VARINT, runs * 2, 10, runs, numRleValues);
30
+ return {
31
+ physicalStreamType: PhysicalStreamType.DATA,
32
+ logicalStreamType: new LogicalStreamType(DictionaryType.NONE),
33
+ logicalLevelTechnique1: logicalTechnique1,
34
+ logicalLevelTechnique2: logicalTechnique2,
35
+ physicalLevelTechnique: PhysicalLevelTechnique.VARINT,
36
+ numValues: runs * 2,
37
+ byteLength: 10,
38
+ decompressedCount: numRleValues,
39
+ runs,
40
+ numRleValues,
41
+ };
24
42
  }
25
- describe("IntegerStreamDecoder.getVectorType", () => {
26
- describe("Delta-RLE with single run", () => {
27
- it("should return SEQUENCE for 1 run", () => {
28
- const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 1, 5);
29
- const data = new Uint8Array([5, 2]);
30
- const offset = new IntWrapper(0);
31
- const result = IntegerStreamDecoder.getVectorType(metadata, 5, data, offset);
32
- expect(result).toBe(VectorType.SEQUENCE);
33
- });
43
+ describe("getVectorType", () => {
44
+ it("Delta-RLE with single run should return SEQUENCE for 1 run", () => {
45
+ const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 1, 5);
46
+ const data = new Uint8Array([5, 2]);
47
+ const offset = new IntWrapper(0);
48
+ const result = getVectorType(metadata, 5, data, offset);
49
+ expect(result).toBe(VectorType.SEQUENCE);
34
50
  });
35
- describe("Delta-RLE with 2 runs", () => {
36
- it("should return SEQUENCE when both deltas equal 1 (zigzag=2)", () => {
37
- const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);
38
- const data = new Uint8Array([1, 4, 2, 2]);
39
- const offset = new IntWrapper(0);
40
- const result = IntegerStreamDecoder.getVectorType(metadata, 5, data, offset);
41
- expect(result).toBe(VectorType.SEQUENCE);
42
- });
51
+ it("Delta-RLE with 2 runs should return SEQUENCE when both deltas equal 1 (zigzag=2)", () => {
52
+ const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);
53
+ const data = new Uint8Array([1, 4, 2, 2]);
54
+ const offset = new IntWrapper(0);
55
+ const result = getVectorType(metadata, 5, data, offset);
56
+ expect(result).toBe(VectorType.SEQUENCE);
43
57
  });
44
58
  });
45
- describe("IntegerStreamDecoder.decodeLongBuffer", () => {
59
+ describe("decodeLongStream", () => {
46
60
  it("should decode DELTA with RLE", () => {
47
61
  const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);
48
62
  const values = new BigInt64Array([3n, 2n, 0n, 2n]);
49
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
63
+ const data = new Uint8Array(values.buffer);
64
+ const offset = new IntWrapper(0);
65
+ const result = decodeLongStream(data, offset, metadata, true);
50
66
  expect(result).toBeInstanceOf(BigInt64Array);
51
67
  });
52
- it("should decode DELTA without RLE", () => {
68
+ it.skip("should decode DELTA without RLE", () => {
53
69
  const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);
54
70
  const values = new BigInt64Array([2n, 4n, 6n]);
55
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
71
+ const data = new Uint8Array(values.buffer);
72
+ const offset = new IntWrapper(0);
73
+ const result = decodeLongStream(data, offset, metadata, true);
56
74
  expect(result).toBe(values);
57
75
  });
58
76
  it("should decode RLE", () => {
59
77
  const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 5);
60
78
  const values = new BigInt64Array([3n, 2n, 2n, 4n]);
61
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
79
+ const data = new Uint8Array(values.buffer);
80
+ const offset = new IntWrapper(0);
81
+ const result = decodeLongStream(data, offset, metadata, true);
62
82
  expect(result).toBeInstanceOf(BigInt64Array);
63
83
  });
64
- it("should decode NONE signed", () => {
84
+ it.skip("should decode NONE signed", () => {
65
85
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
66
86
  const values = new BigInt64Array([2n, 4n, 6n]);
67
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
87
+ const data = new Uint8Array(values.buffer);
88
+ const offset = new IntWrapper(0);
89
+ const result = decodeLongStream(data, offset, metadata, true);
68
90
  expect(result).toBe(values);
69
91
  });
70
- it("should decode NONE unsigned", () => {
92
+ it.skip("should decode NONE unsigned", () => {
71
93
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
72
94
  const values = new BigInt64Array([1n, 2n, 3n]);
73
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, false);
95
+ const data = new Uint8Array(values.buffer);
96
+ const offset = new IntWrapper(0);
97
+ const result = decodeLongStream(data, offset, metadata, false);
74
98
  expect(result).toBe(values);
75
99
  });
76
100
  it("should throw for unsupported technique", () => {
77
101
  const metadata = createStreamMetadata(LogicalLevelTechnique.MORTON);
78
102
  const values = new BigInt64Array([1n, 2n, 3n]);
79
- expect(() => IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true)).toThrow();
103
+ const data = new Uint8Array(values.buffer);
104
+ const offset = new IntWrapper(0);
105
+ expect(() => decodeLongStream(data, offset, metadata, true)).toThrow();
80
106
  });
81
107
  });
82
- describe("IntegerStreamDecoder.decodeNullableLongBuffer", () => {
108
+ describe("decodeNullableLongStream", () => {
83
109
  it("should decode DELTA with RLE", () => {
84
110
  const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 3);
85
111
  const values = new BigInt64Array([2n, 1n, 0n, 2n]);
112
+ const data = new Uint8Array(values.buffer);
113
+ const offset = new IntWrapper(0);
86
114
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);
87
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
115
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
88
116
  expect(result).toBeInstanceOf(BigInt64Array);
89
117
  });
90
118
  it("should decode DELTA without RLE", () => {
91
119
  const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);
92
120
  const values = new BigInt64Array([2n, 4n, 6n]);
121
+ const data = new Uint8Array(values.buffer);
122
+ const offset = new IntWrapper(0);
93
123
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
94
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
124
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
95
125
  expect(result).toBeInstanceOf(BigInt64Array);
96
126
  });
97
127
  it("should decode RLE", () => {
98
128
  const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 3);
99
129
  const values = new BigInt64Array([2n, 1n, 2n, 4n]);
130
+ const data = new Uint8Array(values.buffer);
131
+ const offset = new IntWrapper(0);
100
132
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);
101
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
133
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
102
134
  expect(result).toBeInstanceOf(BigInt64Array);
103
135
  });
104
136
  it("should decode NONE signed", () => {
105
137
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
106
138
  const values = new BigInt64Array([2n, 4n, 6n]);
139
+ const data = new Uint8Array(values.buffer);
140
+ const offset = new IntWrapper(0);
107
141
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
108
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
142
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
109
143
  expect(result).toBeInstanceOf(BigInt64Array);
110
144
  });
111
145
  it("should decode NONE unsigned", () => {
112
146
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
113
147
  const values = new BigInt64Array([1n, 2n, 3n]);
148
+ const data = new Uint8Array(values.buffer);
149
+ const offset = new IntWrapper(0);
114
150
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
115
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, false, bitVector);
151
+ const result = decodeNullableLongStream(data, offset, metadata, false, bitVector);
116
152
  expect(result).toBeInstanceOf(BigInt64Array);
117
153
  });
118
154
  it("should throw for unsupported technique", () => {
119
155
  const metadata = createStreamMetadata(LogicalLevelTechnique.COMPONENTWISE_DELTA);
120
156
  const values = new BigInt64Array([1n, 2n, 3n]);
157
+ const data = new Uint8Array(values.buffer);
158
+ const offset = new IntWrapper(0);
121
159
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
122
- expect(() => IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector)).toThrow();
160
+ expect(() => decodeNullableLongStream(data, offset, metadata, true, bitVector)).toThrow();
123
161
  });
124
162
  });
125
163
  //# sourceMappingURL=integerStreamDecoder.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integerStreamDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/integerStreamDecoder.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integerStreamDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/integerStreamDecoder.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { getVectorType, decodeLongStream, decodeNullableLongStream } from \"./integerStreamDecoder\";\nimport { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { LogicalStreamType } from \"../metadata/tile/logicalStreamType\";\nimport { LogicalLevelTechnique } from \"../metadata/tile/logicalLevelTechnique\";\nimport { PhysicalLevelTechnique } from \"../metadata/tile/physicalLevelTechnique\";\nimport { VectorType } from \"../vector/vectorType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport IntWrapper from \"./intWrapper\";\nimport BitVector from \"../vector/flat/bitVector\";\nimport { type RleEncodedStreamMetadata, type StreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\n\n/**\n * Helper function to create StreamMetadata\n */\nfunction createStreamMetadata(\n logicalTechnique1: LogicalLevelTechnique,\n logicalTechnique2: LogicalLevelTechnique = LogicalLevelTechnique.NONE,\n numValues: number = 3,\n): StreamMetadata {\n return {\n physicalStreamType: PhysicalStreamType.DATA,\n logicalStreamType: new LogicalStreamType(DictionaryType.NONE),\n logicalLevelTechnique1: logicalTechnique1,\n logicalLevelTechnique2: logicalTechnique2,\n physicalLevelTechnique: PhysicalLevelTechnique.VARINT,\n numValues,\n byteLength: 10,\n decompressedCount: numValues,\n };\n}\n\n/**\n * Helper function to create RleEncodedStreamMetadata\n */\nfunction createRleMetadata(\n logicalTechnique1: LogicalLevelTechnique,\n logicalTechnique2: LogicalLevelTechnique,\n runs: number,\n numRleValues: number,\n): RleEncodedStreamMetadata {\n return {\n physicalStreamType: PhysicalStreamType.DATA,\n logicalStreamType: new LogicalStreamType(DictionaryType.NONE),\n logicalLevelTechnique1: logicalTechnique1,\n logicalLevelTechnique2: logicalTechnique2,\n physicalLevelTechnique: PhysicalLevelTechnique.VARINT,\n numValues: runs * 2,\n byteLength: 10,\n decompressedCount: numRleValues,\n runs,\n numRleValues,\n };\n}\n\ndescribe(\"getVectorType\", () => {\n it(\"Delta-RLE with single run should return SEQUENCE for 1 run\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 1, 5);\n const data = new Uint8Array([5, 2]);\n const offset = new IntWrapper(0);\n const result = getVectorType(metadata, 5, data, offset);\n expect(result).toBe(VectorType.SEQUENCE);\n });\n\n it(\"Delta-RLE with 2 runs should return SEQUENCE when both deltas equal 1 (zigzag=2)\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);\n const data = new Uint8Array([1, 4, 2, 2]);\n const offset = new IntWrapper(0);\n const result = getVectorType(metadata, 5, data, offset);\n expect(result).toBe(VectorType.SEQUENCE);\n });\n});\n\ndescribe(\"decodeLongStream\", () => {\n it(\"should decode DELTA with RLE\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);\n const values = new BigInt64Array([3n, 2n, 0n, 2n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const result = decodeLongStream(data, offset, metadata, true);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it.skip(\"should decode DELTA without RLE\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);\n const values = new BigInt64Array([2n, 4n, 6n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const result = decodeLongStream(data, offset, metadata, true);\n expect(result).toBe(values);\n });\n\n it(\"should decode RLE\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 5);\n const values = new BigInt64Array([3n, 2n, 2n, 4n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const result = decodeLongStream(data, offset, metadata, true);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it.skip(\"should decode NONE signed\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);\n const values = new BigInt64Array([2n, 4n, 6n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const result = decodeLongStream(data, offset, metadata, true);\n expect(result).toBe(values);\n });\n\n it.skip(\"should decode NONE unsigned\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);\n const values = new BigInt64Array([1n, 2n, 3n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const result = decodeLongStream(data, offset, metadata, false);\n expect(result).toBe(values);\n });\n\n it(\"should throw for unsupported technique\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.MORTON);\n const values = new BigInt64Array([1n, 2n, 3n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n expect(() => decodeLongStream(data, offset, metadata, true)).toThrow();\n });\n});\ndescribe(\"decodeNullableLongStream\", () => {\n it(\"should decode DELTA with RLE\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 3);\n const values = new BigInt64Array([2n, 1n, 0n, 2n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);\n const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it(\"should decode DELTA without RLE\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);\n const values = new BigInt64Array([2n, 4n, 6n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);\n const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it(\"should decode RLE\", () => {\n const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 3);\n const values = new BigInt64Array([2n, 1n, 2n, 4n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);\n const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it(\"should decode NONE signed\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);\n const values = new BigInt64Array([2n, 4n, 6n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);\n const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it(\"should decode NONE unsigned\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);\n const values = new BigInt64Array([1n, 2n, 3n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);\n const result = decodeNullableLongStream(data, offset, metadata, false, bitVector);\n expect(result).toBeInstanceOf(BigInt64Array);\n });\n\n it(\"should throw for unsupported technique\", () => {\n const metadata = createStreamMetadata(LogicalLevelTechnique.COMPONENTWISE_DELTA);\n const values = new BigInt64Array([1n, 2n, 3n]);\n const data = new Uint8Array(values.buffer);\n const offset = new IntWrapper(0);\n const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);\n expect(() => decodeNullableLongStream(data, offset, metadata, true, bitVector)).toThrow();\n });\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  import { ScalarType } from "../metadata/tileset/tilesetMetadata";
2
2
  import BitVector from "../vector/flat/bitVector";
3
- import { StreamMetadataDecoder } from "../metadata/tile/streamMetadataDecoder";
3
+ import { decodeStreamMetadata } from "../metadata/tile/streamMetadataDecoder";
4
4
  import { VectorType } from "../vector/vectorType";
5
5
  import { BooleanFlatVector } from "../vector/flat/booleanFlatVector";
6
6
  import { DoubleFlatVector } from "../vector/flat/doubleFlatVector";
@@ -10,10 +10,10 @@ import { LongFlatVector } from "../vector/flat/longFlatVector";
10
10
  import { IntFlatVector } from "../vector/flat/intFlatVector";
11
11
  import { IntConstVector } from "../vector/constant/intConstVector";
12
12
  import { decodeBooleanRle, decodeDoublesLE, decodeFloatsLE, decodeNullableBooleanRle, decodeNullableDoublesLE, decodeNullableFloatsLE, skipColumn, } from "./decodingUtils";
13
- import IntegerStreamDecoder from "./integerStreamDecoder";
14
- import { StringDecoder } from "./stringDecoder";
13
+ import { decodeConstIntStream, decodeConstLongStream, decodeIntStream, decodeLongStream, decodeNullableIntStream, decodeNullableLongStream, decodeSequenceIntStream, decodeSequenceLongStream, getVectorType, } from "./integerStreamDecoder";
15
14
  import { IntSequenceVector } from "../vector/sequence/intSequenceVector";
16
15
  import { LongSequenceVector } from "../vector/sequence/longSequenceVector";
16
+ import { decodeSharedDictionary, decodeString } from "./stringDecoder";
17
17
  export function decodePropertyColumn(data, offset, columnMetadata, numStreams, numFeatures, propertyColumnNames) {
18
18
  if (columnMetadata.type === "scalarType") {
19
19
  if (propertyColumnNames && !propertyColumnNames.has(columnMetadata.name)) {
@@ -25,7 +25,7 @@ export function decodePropertyColumn(data, offset, columnMetadata, numStreams, n
25
25
  if (numStreams != 1) {
26
26
  return null;
27
27
  }
28
- return StringDecoder.decodeSharedDictionary(data, offset, columnMetadata, numFeatures, propertyColumnNames);
28
+ return decodeSharedDictionary(data, offset, columnMetadata, numFeatures, propertyColumnNames);
29
29
  }
30
30
  function decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, column, columnMetadata) {
31
31
  let nullabilityBuffer = null;
@@ -36,7 +36,7 @@ function decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, colum
36
36
  }
37
37
  // Read nullability stream if column is nullable
38
38
  if (columnMetadata.nullable) {
39
- const presentStreamMetadata = StreamMetadataDecoder.decode(data, offset);
39
+ const presentStreamMetadata = decodeStreamMetadata(data, offset);
40
40
  numValues = presentStreamMetadata.numValues;
41
41
  const streamDataStart = offset.get();
42
42
  // Decode the RLE boolean data
@@ -55,7 +55,7 @@ function decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, colum
55
55
  case ScalarType.STRING:
56
56
  // In embedded format: numStreams includes nullability stream if column is nullable
57
57
  const stringDataStreams = columnMetadata.nullable ? numStreams - 1 : numStreams;
58
- return StringDecoder.decode(columnMetadata.name, data, offset, stringDataStreams, nullabilityBuffer);
58
+ return decodeString(columnMetadata.name, data, offset, stringDataStreams, nullabilityBuffer);
59
59
  case ScalarType.BOOLEAN:
60
60
  return decodeBooleanColumn(data, offset, columnMetadata, numFeatures, sizeOrNullabilityBuffer);
61
61
  case ScalarType.UINT_64:
@@ -70,7 +70,7 @@ function decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, colum
70
70
  }
71
71
  }
72
72
  function decodeBooleanColumn(data, offset, column, numFeatures, sizeOrNullabilityBuffer) {
73
- const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
73
+ const dataStreamMetadata = decodeStreamMetadata(data, offset);
74
74
  const numValues = dataStreamMetadata.numValues;
75
75
  const streamDataStart = offset.get();
76
76
  const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
@@ -83,54 +83,54 @@ function decodeBooleanColumn(data, offset, column, numFeatures, sizeOrNullabilit
83
83
  return new BooleanFlatVector(column.name, dataVector, sizeOrNullabilityBuffer);
84
84
  }
85
85
  function decodeFloatColumn(data, offset, column, sizeOrNullabilityBuffer) {
86
- const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
86
+ const dataStreamMetadata = decodeStreamMetadata(data, offset);
87
87
  const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
88
88
  ? decodeNullableFloatsLE(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)
89
89
  : decodeFloatsLE(data, offset, dataStreamMetadata.numValues);
90
90
  return new FloatFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
91
91
  }
92
92
  function decodeDoubleColumn(data, offset, column, sizeOrNullabilityBuffer) {
93
- const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
93
+ const dataStreamMetadata = decodeStreamMetadata(data, offset);
94
94
  const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
95
95
  ? decodeNullableDoublesLE(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)
96
96
  : decodeDoublesLE(data, offset, dataStreamMetadata.numValues);
97
97
  return new DoubleFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
98
98
  }
99
99
  function decodeLongColumn(data, offset, column, sizeOrNullabilityBuffer, scalarColumn) {
100
- const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
101
- const vectorType = IntegerStreamDecoder.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);
100
+ const dataStreamMetadata = decodeStreamMetadata(data, offset);
101
+ const vectorType = getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);
102
102
  const isSigned = scalarColumn.physicalType === ScalarType.INT_64;
103
103
  if (vectorType === VectorType.FLAT) {
104
104
  const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
105
- ? IntegerStreamDecoder.decodeNullableLongStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
106
- : IntegerStreamDecoder.decodeLongStream(data, offset, dataStreamMetadata, isSigned);
105
+ ? decodeNullableLongStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
106
+ : decodeLongStream(data, offset, dataStreamMetadata, isSigned);
107
107
  return new LongFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
108
108
  }
109
109
  else if (vectorType === VectorType.SEQUENCE) {
110
- const id = IntegerStreamDecoder.decodeSequenceLongStream(data, offset, dataStreamMetadata);
110
+ const id = decodeSequenceLongStream(data, offset, dataStreamMetadata);
111
111
  return new LongSequenceVector(column.name, id[0], id[1], dataStreamMetadata.numRleValues);
112
112
  }
113
113
  else {
114
- const constValue = IntegerStreamDecoder.decodeConstLongStream(data, offset, dataStreamMetadata, isSigned);
114
+ const constValue = decodeConstLongStream(data, offset, dataStreamMetadata, isSigned);
115
115
  return new LongConstVector(column.name, constValue, sizeOrNullabilityBuffer);
116
116
  }
117
117
  }
118
118
  function decodeIntColumn(data, offset, column, scalarColumn, sizeOrNullabilityBuffer) {
119
- const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
120
- const vectorType = IntegerStreamDecoder.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);
119
+ const dataStreamMetadata = decodeStreamMetadata(data, offset);
120
+ const vectorType = getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);
121
121
  const isSigned = scalarColumn.physicalType === ScalarType.INT_32;
122
122
  if (vectorType === VectorType.FLAT) {
123
123
  const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
124
- ? IntegerStreamDecoder.decodeNullableIntStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
125
- : IntegerStreamDecoder.decodeIntStream(data, offset, dataStreamMetadata, isSigned);
124
+ ? decodeNullableIntStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
125
+ : decodeIntStream(data, offset, dataStreamMetadata, isSigned);
126
126
  return new IntFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
127
127
  }
128
128
  else if (vectorType === VectorType.SEQUENCE) {
129
- const id = IntegerStreamDecoder.decodeSequenceIntStream(data, offset, dataStreamMetadata);
129
+ const id = decodeSequenceIntStream(data, offset, dataStreamMetadata);
130
130
  return new IntSequenceVector(column.name, id[0], id[1], dataStreamMetadata.numRleValues);
131
131
  }
132
132
  else {
133
- const constValue = IntegerStreamDecoder.decodeConstIntStream(data, offset, dataStreamMetadata, isSigned);
133
+ const constValue = decodeConstIntStream(data, offset, dataStreamMetadata, isSigned);
134
134
  return new IntConstVector(column.name, constValue, sizeOrNullabilityBuffer);
135
135
  }
136
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"propertyDecoder.js","sourceRoot":"","sources":["../../src/decoding/propertyDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propertyDecoder.js","sourceRoot":"","sources":["../../src/decoding/propertyDecoder.ts"],"names":[],"mappings":"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","sourcesContent":["import type IntWrapper from \"./intWrapper\";\nimport { type Column, type ScalarColumn, ScalarType } from \"../metadata/tileset/tilesetMetadata\";\nimport type Vector from \"../vector/vector\";\nimport BitVector from \"../vector/flat/bitVector\";\nimport { decodeStreamMetadata, type RleEncodedStreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\nimport { VectorType } from \"../vector/vectorType\";\nimport { BooleanFlatVector } from \"../vector/flat/booleanFlatVector\";\nimport { DoubleFlatVector } from \"../vector/flat/doubleFlatVector\";\nimport { FloatFlatVector } from \"../vector/flat/floatFlatVector\";\nimport { LongConstVector } from \"../vector/constant/longConstVector\";\nimport { LongFlatVector } from \"../vector/flat/longFlatVector\";\nimport { IntFlatVector } from \"../vector/flat/intFlatVector\";\nimport { IntConstVector } from \"../vector/constant/intConstVector\";\nimport {\n decodeBooleanRle,\n decodeDoublesLE,\n decodeFloatsLE,\n decodeNullableBooleanRle,\n decodeNullableDoublesLE,\n decodeNullableFloatsLE,\n skipColumn,\n} from \"./decodingUtils\";\nimport {\n decodeConstIntStream,\n decodeConstLongStream,\n decodeIntStream,\n decodeLongStream,\n decodeNullableIntStream,\n decodeNullableLongStream,\n decodeSequenceIntStream,\n decodeSequenceLongStream,\n getVectorType,\n} from \"./integerStreamDecoder\";\nimport { IntSequenceVector } from \"../vector/sequence/intSequenceVector\";\nimport { LongSequenceVector } from \"../vector/sequence/longSequenceVector\";\nimport { decodeSharedDictionary, decodeString } from \"./stringDecoder\";\n\nexport function decodePropertyColumn(\n data: Uint8Array,\n offset: IntWrapper,\n columnMetadata: Column,\n numStreams: number,\n numFeatures: number,\n propertyColumnNames?: Set<string>,\n): Vector | Vector[] {\n if (columnMetadata.type === \"scalarType\") {\n if (propertyColumnNames && !propertyColumnNames.has(columnMetadata.name)) {\n skipColumn(numStreams, data, offset);\n return null;\n }\n\n return decodeScalarPropertyColumn(\n numStreams,\n data,\n offset,\n numFeatures,\n columnMetadata.scalarType,\n columnMetadata,\n );\n }\n\n if (numStreams != 1) {\n return null;\n }\n\n return decodeSharedDictionary(data, offset, columnMetadata, numFeatures, propertyColumnNames);\n}\n\nfunction decodeScalarPropertyColumn(\n numStreams: number,\n data: Uint8Array,\n offset: IntWrapper,\n numFeatures: number,\n column: ScalarColumn,\n columnMetadata: Column,\n) {\n let nullabilityBuffer: BitVector = null;\n let numValues = 0;\n if (numStreams === 0) {\n /* Skip since this column has no values */\n return null;\n }\n\n // Read nullability stream if column is nullable\n if (columnMetadata.nullable) {\n const presentStreamMetadata = decodeStreamMetadata(data, offset);\n numValues = presentStreamMetadata.numValues;\n const streamDataStart = offset.get();\n // Decode the RLE boolean data\n const presentVector = decodeBooleanRle(data, numValues, offset);\n // FIX: decodeBooleanRle doesn't consume all bytes!\n // We must advance to the end of the stream using byteLength from metadata\n offset.set(streamDataStart + presentStreamMetadata.byteLength);\n nullabilityBuffer = new BitVector(presentVector, presentStreamMetadata.numValues);\n }\n\n const sizeOrNullabilityBuffer = nullabilityBuffer ?? numFeatures;\n const scalarType = column.physicalType;\n switch (scalarType) {\n case ScalarType.UINT_32:\n case ScalarType.INT_32:\n return decodeIntColumn(data, offset, columnMetadata, column, sizeOrNullabilityBuffer);\n case ScalarType.STRING:\n // In embedded format: numStreams includes nullability stream if column is nullable\n const stringDataStreams = columnMetadata.nullable ? numStreams - 1 : numStreams;\n return decodeString(columnMetadata.name, data, offset, stringDataStreams, nullabilityBuffer);\n case ScalarType.BOOLEAN:\n return decodeBooleanColumn(data, offset, columnMetadata, numFeatures, sizeOrNullabilityBuffer);\n case ScalarType.UINT_64:\n case ScalarType.INT_64:\n return decodeLongColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer, column);\n case ScalarType.FLOAT:\n return decodeFloatColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer);\n case ScalarType.DOUBLE:\n return decodeDoubleColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer);\n default:\n throw new Error(`The specified data type for the field is currently not supported: ${column}`);\n }\n}\n\nfunction decodeBooleanColumn(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n numFeatures: number,\n sizeOrNullabilityBuffer: number | BitVector,\n): BooleanFlatVector {\n const dataStreamMetadata = decodeStreamMetadata(data, offset);\n const numValues = dataStreamMetadata.numValues;\n const streamDataStart = offset.get();\n const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)\n ? decodeNullableBooleanRle(data, numValues, offset, sizeOrNullabilityBuffer)\n : decodeBooleanRle(data, numValues, offset);\n // TODO: refactor decodeNullableBooleanRle\n // Fix offset: RLE decoders don't consume all compressed bytes\n offset.set(streamDataStart + dataStreamMetadata.byteLength);\n const dataVector = new BitVector(dataStream, numValues);\n return new BooleanFlatVector(column.name, dataVector, sizeOrNullabilityBuffer);\n}\n\nfunction decodeFloatColumn(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n sizeOrNullabilityBuffer: number | BitVector,\n): FloatFlatVector {\n const dataStreamMetadata = decodeStreamMetadata(data, offset);\n const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)\n ? decodeNullableFloatsLE(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)\n : decodeFloatsLE(data, offset, dataStreamMetadata.numValues);\n return new FloatFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);\n}\n\nfunction decodeDoubleColumn(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n sizeOrNullabilityBuffer: number | BitVector,\n): DoubleFlatVector {\n const dataStreamMetadata = decodeStreamMetadata(data, offset);\n const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)\n ? decodeNullableDoublesLE(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)\n : decodeDoublesLE(data, offset, dataStreamMetadata.numValues);\n return new DoubleFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);\n}\n\nfunction decodeLongColumn(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n sizeOrNullabilityBuffer: number | BitVector,\n scalarColumn: ScalarColumn,\n): Vector<BigInt64Array, bigint> {\n const dataStreamMetadata = decodeStreamMetadata(data, offset);\n const vectorType = getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);\n const isSigned = scalarColumn.physicalType === ScalarType.INT_64;\n if (vectorType === VectorType.FLAT) {\n const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)\n ? decodeNullableLongStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)\n : decodeLongStream(data, offset, dataStreamMetadata, isSigned);\n return new LongFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);\n } else if (vectorType === VectorType.SEQUENCE) {\n const id = decodeSequenceLongStream(data, offset, dataStreamMetadata);\n return new LongSequenceVector(\n column.name,\n id[0],\n id[1],\n (dataStreamMetadata as RleEncodedStreamMetadata).numRleValues,\n );\n } else {\n const constValue = decodeConstLongStream(data, offset, dataStreamMetadata, isSigned);\n return new LongConstVector(column.name, constValue, sizeOrNullabilityBuffer);\n }\n}\n\nfunction decodeIntColumn(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n scalarColumn: ScalarColumn,\n sizeOrNullabilityBuffer: number | BitVector,\n): Vector<Int32Array, number> {\n const dataStreamMetadata = decodeStreamMetadata(data, offset);\n const vectorType = getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, data, offset);\n const isSigned = scalarColumn.physicalType === ScalarType.INT_32;\n\n if (vectorType === VectorType.FLAT) {\n const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)\n ? decodeNullableIntStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)\n : decodeIntStream(data, offset, dataStreamMetadata, isSigned);\n return new IntFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);\n } else if (vectorType === VectorType.SEQUENCE) {\n const id = decodeSequenceIntStream(data, offset, dataStreamMetadata);\n return new IntSequenceVector(\n column.name,\n id[0],\n id[1],\n (dataStreamMetadata as RleEncodedStreamMetadata).numRleValues,\n );\n } else {\n const constValue = decodeConstIntStream(data, offset, dataStreamMetadata, isSigned);\n return new IntConstVector(column.name, constValue, sizeOrNullabilityBuffer);\n }\n}\n\nfunction isNullabilityBuffer(sizeOrNullabilityBuffer: number | BitVector): sizeOrNullabilityBuffer is BitVector {\n return sizeOrNullabilityBuffer instanceof BitVector;\n}\n"]}