@maplibre/mlt 1.1.0 → 1.1.1

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 (115) hide show
  1. package/LICENSE.txt +231 -0
  2. package/dist/decoding/decodingUtils.js.map +1 -1
  3. package/dist/decoding/decodingUtils.spec.js +2 -2
  4. package/dist/decoding/decodingUtils.spec.js.map +1 -1
  5. package/dist/decoding/fsstDecoder.js.map +1 -1
  6. package/dist/decoding/fsstDecoder.spec.js +14 -10
  7. package/dist/decoding/fsstDecoder.spec.js.map +1 -1
  8. package/dist/decoding/geometryDecoder.js +32 -192
  9. package/dist/decoding/geometryDecoder.js.map +1 -1
  10. package/dist/decoding/geometryDecoder.spec.js.map +1 -1
  11. package/dist/decoding/geometryScaling.js.map +1 -1
  12. package/dist/decoding/intWrapper.js.map +1 -1
  13. package/dist/decoding/integerDecodingUtils.js.map +1 -1
  14. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
  15. package/dist/decoding/integerStreamDecoder.d.ts +12 -21
  16. package/dist/decoding/integerStreamDecoder.js +234 -237
  17. package/dist/decoding/integerStreamDecoder.js.map +1 -1
  18. package/dist/decoding/integerStreamDecoder.spec.js +55 -35
  19. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
  20. package/dist/decoding/propertyDecoder.js +11 -11
  21. package/dist/decoding/propertyDecoder.js.map +1 -1
  22. package/dist/decoding/propertyDecoder.spec.js +157 -197
  23. package/dist/decoding/propertyDecoder.spec.js.map +1 -1
  24. package/dist/decoding/stringDecoder.js +14 -13
  25. package/dist/decoding/stringDecoder.js.map +1 -1
  26. package/dist/decoding/stringDecoder.spec.js +56 -57
  27. package/dist/decoding/stringDecoder.spec.js.map +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  30. package/dist/metadata/tile/lengthType.js.map +1 -1
  31. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  32. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  33. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  34. package/dist/metadata/tile/offsetType.js.map +1 -1
  35. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  36. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  37. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  38. package/dist/metadata/tile/scalarType.js.map +1 -1
  39. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  40. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  41. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  42. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
  43. package/dist/metadata/tileset/typeMap.js.map +1 -1
  44. package/dist/mltDecoder.js +9 -9
  45. package/dist/mltDecoder.js.map +1 -1
  46. package/dist/mltDecoder.spec.js.map +1 -1
  47. package/dist/mltMetadata.js.map +1 -1
  48. package/dist/vector/constant/intConstVector.js.map +1 -1
  49. package/dist/vector/constant/longConstVector.js.map +1 -1
  50. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  51. package/dist/vector/featureTable.js.map +1 -1
  52. package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
  53. package/dist/vector/filter/flatSelectionVector.js +54 -0
  54. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  55. package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
  56. package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
  57. package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
  58. package/dist/vector/filter/selectionVector.d.ts +8 -0
  59. package/dist/vector/filter/selectionVector.js +2 -0
  60. package/dist/vector/filter/selectionVector.js.map +1 -0
  61. package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
  62. package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
  63. package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
  64. package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
  65. package/dist/vector/filter/selectionVectorUtils.js +37 -0
  66. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  67. package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
  68. package/dist/vector/filter/sequenceSelectionVector.js +67 -0
  69. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  70. package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
  71. package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
  72. package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
  73. package/dist/vector/fixedSizeVector.js.map +1 -1
  74. package/dist/vector/flat/bitVector.js.map +1 -1
  75. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  76. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  77. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  78. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
  79. package/dist/vector/flat/intFlatVector.js.map +1 -1
  80. package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
  81. package/dist/vector/flat/longFlatVector.js.map +1 -1
  82. package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
  83. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  84. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  85. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
  86. package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
  87. package/dist/vector/geometry/constGeometryVector.js +6 -6
  88. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  89. package/dist/vector/geometry/constGpuVector.d.ts +1 -1
  90. package/dist/vector/geometry/constGpuVector.js +3 -24
  91. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  92. package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
  93. package/dist/vector/geometry/flatGeometryVector.js +7 -7
  94. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  95. package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
  96. package/dist/vector/geometry/flatGpuVector.js +3 -22
  97. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  98. package/dist/vector/geometry/geometryType.js.map +1 -1
  99. package/dist/vector/geometry/geometryVector.js.map +1 -1
  100. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  101. package/dist/vector/geometry/gpuVector.js.map +1 -1
  102. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  103. package/dist/vector/geometry/topologyVector.js.map +1 -1
  104. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  105. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  106. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
  107. package/dist/vector/intVector.js.map +1 -1
  108. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  109. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  110. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
  111. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  112. package/dist/vector/variableSizeVector.js.map +1 -1
  113. package/dist/vector/vector.js.map +1 -1
  114. package/dist/vector/vectorType.js.map +1 -1
  115. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import IntegerStreamDecoder from "./integerStreamDecoder";
2
+ import { getVectorType, decodeLongStream, decodeNullableLongStream } from "./integerStreamDecoder";
3
3
  import { RleEncodedStreamMetadata } from "../metadata/tile/rleEncodedStreamMetadata";
4
4
  import { PhysicalStreamType } from "../metadata/tile/physicalStreamType";
5
5
  import { LogicalStreamType } from "../metadata/tile/logicalStreamType";
@@ -22,104 +22,124 @@ function createStreamMetadata(logicalTechnique1, logicalTechnique2 = LogicalLeve
22
22
  function createRleMetadata(logicalTechnique1, logicalTechnique2, runs, numRleValues) {
23
23
  return new RleEncodedStreamMetadata(PhysicalStreamType.DATA, new LogicalStreamType(DictionaryType.NONE), logicalTechnique1, logicalTechnique2, PhysicalLevelTechnique.VARINT, runs * 2, 10, runs, numRleValues);
24
24
  }
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
- });
25
+ describe("getVectorType", () => {
26
+ it("Delta-RLE with single run should return SEQUENCE for 1 run", () => {
27
+ const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 1, 5);
28
+ const data = new Uint8Array([5, 2]);
29
+ const offset = new IntWrapper(0);
30
+ const result = getVectorType(metadata, 5, data, offset);
31
+ expect(result).toBe(VectorType.SEQUENCE);
34
32
  });
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
- });
33
+ it("Delta-RLE with 2 runs should return SEQUENCE when both deltas equal 1 (zigzag=2)", () => {
34
+ const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);
35
+ const data = new Uint8Array([1, 4, 2, 2]);
36
+ const offset = new IntWrapper(0);
37
+ const result = getVectorType(metadata, 5, data, offset);
38
+ expect(result).toBe(VectorType.SEQUENCE);
43
39
  });
44
40
  });
45
- describe("IntegerStreamDecoder.decodeLongBuffer", () => {
41
+ describe("decodeLongStream", () => {
46
42
  it("should decode DELTA with RLE", () => {
47
43
  const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 5);
48
44
  const values = new BigInt64Array([3n, 2n, 0n, 2n]);
49
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
45
+ const data = new Uint8Array(values.buffer);
46
+ const offset = new IntWrapper(0);
47
+ const result = decodeLongStream(data, offset, metadata, true);
50
48
  expect(result).toBeInstanceOf(BigInt64Array);
51
49
  });
52
- it("should decode DELTA without RLE", () => {
50
+ it.skip("should decode DELTA without RLE", () => {
53
51
  const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);
54
52
  const values = new BigInt64Array([2n, 4n, 6n]);
55
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
53
+ const data = new Uint8Array(values.buffer);
54
+ const offset = new IntWrapper(0);
55
+ const result = decodeLongStream(data, offset, metadata, true);
56
56
  expect(result).toBe(values);
57
57
  });
58
58
  it("should decode RLE", () => {
59
59
  const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 5);
60
60
  const values = new BigInt64Array([3n, 2n, 2n, 4n]);
61
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
61
+ const data = new Uint8Array(values.buffer);
62
+ const offset = new IntWrapper(0);
63
+ const result = decodeLongStream(data, offset, metadata, true);
62
64
  expect(result).toBeInstanceOf(BigInt64Array);
63
65
  });
64
- it("should decode NONE signed", () => {
66
+ it.skip("should decode NONE signed", () => {
65
67
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
66
68
  const values = new BigInt64Array([2n, 4n, 6n]);
67
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true);
69
+ const data = new Uint8Array(values.buffer);
70
+ const offset = new IntWrapper(0);
71
+ const result = decodeLongStream(data, offset, metadata, true);
68
72
  expect(result).toBe(values);
69
73
  });
70
- it("should decode NONE unsigned", () => {
74
+ it.skip("should decode NONE unsigned", () => {
71
75
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
72
76
  const values = new BigInt64Array([1n, 2n, 3n]);
73
- const result = IntegerStreamDecoder["decodeLongBuffer"](values, metadata, false);
77
+ const data = new Uint8Array(values.buffer);
78
+ const offset = new IntWrapper(0);
79
+ const result = decodeLongStream(data, offset, metadata, false);
74
80
  expect(result).toBe(values);
75
81
  });
76
82
  it("should throw for unsupported technique", () => {
77
83
  const metadata = createStreamMetadata(LogicalLevelTechnique.MORTON);
78
84
  const values = new BigInt64Array([1n, 2n, 3n]);
79
- expect(() => IntegerStreamDecoder["decodeLongBuffer"](values, metadata, true)).toThrow();
85
+ const data = new Uint8Array(values.buffer);
86
+ const offset = new IntWrapper(0);
87
+ expect(() => decodeLongStream(data, offset, metadata, true)).toThrow();
80
88
  });
81
89
  });
82
- describe("IntegerStreamDecoder.decodeNullableLongBuffer", () => {
90
+ describe("decodeNullableLongStream", () => {
83
91
  it("should decode DELTA with RLE", () => {
84
92
  const metadata = createRleMetadata(LogicalLevelTechnique.DELTA, LogicalLevelTechnique.RLE, 2, 3);
85
93
  const values = new BigInt64Array([2n, 1n, 0n, 2n]);
94
+ const data = new Uint8Array(values.buffer);
95
+ const offset = new IntWrapper(0);
86
96
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);
87
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
97
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
88
98
  expect(result).toBeInstanceOf(BigInt64Array);
89
99
  });
90
100
  it("should decode DELTA without RLE", () => {
91
101
  const metadata = createStreamMetadata(LogicalLevelTechnique.DELTA);
92
102
  const values = new BigInt64Array([2n, 4n, 6n]);
103
+ const data = new Uint8Array(values.buffer);
104
+ const offset = new IntWrapper(0);
93
105
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
94
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
106
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
95
107
  expect(result).toBeInstanceOf(BigInt64Array);
96
108
  });
97
109
  it("should decode RLE", () => {
98
110
  const metadata = createRleMetadata(LogicalLevelTechnique.RLE, LogicalLevelTechnique.NONE, 2, 3);
99
111
  const values = new BigInt64Array([2n, 1n, 2n, 4n]);
112
+ const data = new Uint8Array(values.buffer);
113
+ const offset = new IntWrapper(0);
100
114
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 5);
101
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
115
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
102
116
  expect(result).toBeInstanceOf(BigInt64Array);
103
117
  });
104
118
  it("should decode NONE signed", () => {
105
119
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
106
120
  const values = new BigInt64Array([2n, 4n, 6n]);
121
+ const data = new Uint8Array(values.buffer);
122
+ const offset = new IntWrapper(0);
107
123
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
108
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector);
124
+ const result = decodeNullableLongStream(data, offset, metadata, true, bitVector);
109
125
  expect(result).toBeInstanceOf(BigInt64Array);
110
126
  });
111
127
  it("should decode NONE unsigned", () => {
112
128
  const metadata = createStreamMetadata(LogicalLevelTechnique.NONE);
113
129
  const values = new BigInt64Array([1n, 2n, 3n]);
130
+ const data = new Uint8Array(values.buffer);
131
+ const offset = new IntWrapper(0);
114
132
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
115
- const result = IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, false, bitVector);
133
+ const result = decodeNullableLongStream(data, offset, metadata, false, bitVector);
116
134
  expect(result).toBeInstanceOf(BigInt64Array);
117
135
  });
118
136
  it("should throw for unsupported technique", () => {
119
137
  const metadata = createStreamMetadata(LogicalLevelTechnique.COMPONENTWISE_DELTA);
120
138
  const values = new BigInt64Array([1n, 2n, 3n]);
139
+ const data = new Uint8Array(values.buffer);
140
+ const offset = new IntWrapper(0);
121
141
  const bitVector = new BitVector(new Uint8Array([0b00000111]), 3);
122
- expect(() => IntegerStreamDecoder["decodeNullableLongBuffer"](values, metadata, true, bitVector)).toThrow();
142
+ expect(() => decodeNullableLongStream(data, offset, metadata, true, bitVector)).toThrow();
123
143
  });
124
144
  });
125
145
  //# 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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;GAEG;AACH,SAAS,oBAAoB,CACzB,iBAAwC,EACxC,oBAA2C,qBAAqB,CAAC,IAAI,EACrE,YAAoB,CAAC;IAErB,OAAO,IAAI,cAAc,CACrB,kBAAkB,CAAC,IAAI,EACvB,IAAI,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,CAAC,MAAM,EAC7B,SAAS,EACT,EAAE,CACL,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACtB,iBAAwC,EACxC,iBAAwC,EACxC,IAAY,EACZ,YAAoB;IAEpB,OAAO,IAAI,wBAAwB,CAC/B,kBAAkB,CAAC,IAAI,EACvB,IAAI,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,CAAC,MAAM,EAC7B,IAAI,GAAG,CAAC,EACR,EAAE,EACF,IAAI,EACJ,YAAY,CACf,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QACxF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC5C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACtC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAClF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { getVectorType, decodeLongStream, decodeNullableLongStream } from \"./integerStreamDecoder\";\nimport { RleEncodedStreamMetadata } from \"../metadata/tile/rleEncodedStreamMetadata\";\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 { StreamMetadata } from \"../metadata/tile/streamMetadata\";\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 new StreamMetadata(\n PhysicalStreamType.DATA,\n new LogicalStreamType(DictionaryType.NONE),\n logicalTechnique1,\n logicalTechnique2,\n PhysicalLevelTechnique.VARINT,\n numValues,\n 10,\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 new RleEncodedStreamMetadata(\n PhysicalStreamType.DATA,\n new LogicalStreamType(DictionaryType.NONE),\n logicalTechnique1,\n logicalTechnique2,\n PhysicalLevelTechnique.VARINT,\n runs * 2,\n 10,\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"]}
@@ -10,7 +10,7 @@ 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";
13
+ import { decodeConstIntStream, decodeConstLongStream, decodeIntStream, decodeLongStream, decodeNullableIntStream, decodeNullableLongStream, decodeSequenceIntStream, decodeSequenceLongStream, getVectorType, } from "./integerStreamDecoder";
14
14
  import { StringDecoder } from "./stringDecoder";
15
15
  import { IntSequenceVector } from "../vector/sequence/intSequenceVector";
16
16
  import { LongSequenceVector } from "../vector/sequence/longSequenceVector";
@@ -98,39 +98,39 @@ function decodeDoubleColumn(data, offset, column, sizeOrNullabilityBuffer) {
98
98
  }
99
99
  function decodeLongColumn(data, offset, column, sizeOrNullabilityBuffer, scalarColumn) {
100
100
  const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
101
- const vectorType = IntegerStreamDecoder.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, 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
119
  const dataStreamMetadata = StreamMetadataDecoder.decode(data, offset);
120
- const vectorType = IntegerStreamDecoder.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer, 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 { StreamMetadataDecoder } 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 { StringDecoder } from \"./stringDecoder\";\nimport { IntSequenceVector } from \"../vector/sequence/intSequenceVector\";\nimport { type RleEncodedStreamMetadata } from \"../metadata/tile/rleEncodedStreamMetadata\";\nimport { LongSequenceVector } from \"../vector/sequence/longSequenceVector\";\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 StringDecoder.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 = StreamMetadataDecoder.decode(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 StringDecoder.decode(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 = StreamMetadataDecoder.decode(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 = StreamMetadataDecoder.decode(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 = StreamMetadataDecoder.decode(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 = StreamMetadataDecoder.decode(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 = StreamMetadataDecoder.decode(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"]}