@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
- import { describe, it, expect, beforeEach, vi } from 'vitest';
2
- import IntegerStreamDecoder from "./integerStreamDecoder";
1
+ import { describe, it, expect, beforeEach, vi } from "vitest";
2
+ import * as IntegerStreamDecoder from "./integerStreamDecoder";
3
3
  import { StreamMetadataDecoder } from "../metadata/tile/streamMetadataDecoder";
4
4
  import { LengthType } from "../metadata/tile/lengthType";
5
5
  import { PhysicalStreamType } from "../metadata/tile/physicalStreamType";
@@ -18,14 +18,14 @@ function createMockStreamMetadata(physicalStreamType, logicalStreamType, byteLen
18
18
  _logicalLevelTechnique2: undefined,
19
19
  };
20
20
  }
21
- function createMockChildField(name = 'fieldName', type = 'scalarField', physicalType = ScalarType.STRING) {
21
+ function createMockChildField(name = "fieldName", type = "scalarField", physicalType = ScalarType.STRING) {
22
22
  return {
23
23
  name,
24
24
  type,
25
25
  scalarField: { physicalType },
26
26
  };
27
27
  }
28
- function createMockColumn(name = 'testColumn', children = []) {
28
+ function createMockColumn(name = "testColumn", children = []) {
29
29
  return {
30
30
  name,
31
31
  complexType: {
@@ -49,15 +49,14 @@ function setupOffsetMock(initialValue = 0) {
49
49
  */
50
50
  function setupStreamMetadataDecodeMock(metadata) {
51
51
  let callCount = 0;
52
- vi.spyOn(StreamMetadataDecoder, 'decode').mockImplementation(() => {
52
+ vi.spyOn(StreamMetadataDecoder, "decode").mockImplementation(() => {
53
53
  const result = metadata[callCount % metadata.length];
54
54
  callCount++;
55
55
  return result;
56
56
  });
57
57
  }
58
58
  function setupLengthStreamDecodeMock(offsetBuffer, streamMetadata) {
59
- vi.spyOn(IntegerStreamDecoder, 'decodeLengthStreamToOffsetBuffer')
60
- .mockImplementation((data, offset, metadata) => {
59
+ vi.spyOn(IntegerStreamDecoder, "decodeLengthStreamToOffsetBuffer").mockImplementation((data, offset, metadata) => {
61
60
  offset.add(metadata.byteLength);
62
61
  return offsetBuffer;
63
62
  });
@@ -65,58 +64,58 @@ function setupLengthStreamDecodeMock(offsetBuffer, streamMetadata) {
65
64
  function setupVarintDecodeMock(value = 0) {
66
65
  const values = Array.isArray(value) ? value : [value];
67
66
  let callCount = 0;
68
- vi.spyOn(integerDecoder, 'decodeVarintInt32').mockImplementation(() => {
67
+ vi.spyOn(integerDecoder, "decodeVarintInt32").mockImplementation(() => {
69
68
  const result = new Int32Array([values[callCount] ?? 0]);
70
69
  callCount++;
71
70
  return result;
72
71
  });
73
72
  }
74
- describe('decodePlainStringVector', () => {
75
- it('should return null when plainLengthStream is null', () => {
76
- const result = StringDecoder.decodePlainStringVector('test', null, new Uint8Array([1, 2, 3]), null, null);
73
+ describe("decodePlainStringVector", () => {
74
+ it("should return null when plainLengthStream is null", () => {
75
+ const result = StringDecoder.decodePlainStringVector("test", null, new Uint8Array([1, 2, 3]), null, null);
77
76
  expect(result).toBeNull();
78
77
  });
79
- it('should return null when plainDataStream is null', () => {
80
- const result = StringDecoder.decodePlainStringVector('test', new Int32Array([0, 3]), null, null, null);
78
+ it("should return null when plainDataStream is null", () => {
79
+ const result = StringDecoder.decodePlainStringVector("test", new Int32Array([0, 3]), null, null, null);
81
80
  expect(result).toBeNull();
82
81
  });
83
- it('should return StringDictionaryVector when offsetStream exists (non-nullable)', () => {
82
+ it("should return StringDictionaryVector when offsetStream exists (non-nullable)", () => {
84
83
  const plainLengthStream = new Int32Array([0, 3, 7]);
85
84
  const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
86
85
  const offsetStream = new Int32Array([0, 1]);
87
- const result = StringDecoder.decodePlainStringVector('test', plainLengthStream, plainDataStream, offsetStream, null);
86
+ const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, null);
88
87
  expect(result).toBeDefined();
89
- expect(result.name).toBe('test');
88
+ expect(result.name).toBe("test");
90
89
  });
91
- it('should return StringDictionaryVector when offsetStream exists (nullable)', () => {
90
+ it("should return StringDictionaryVector when offsetStream exists (nullable)", () => {
92
91
  const plainLengthStream = new Int32Array([0, 3, 7]);
93
92
  const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
94
93
  const offsetStream = new Int32Array([0, 1]);
95
94
  const nullabilityBuffer = { size: () => 2, get: (i) => true };
96
- const result = StringDecoder.decodePlainStringVector('test', plainLengthStream, plainDataStream, offsetStream, nullabilityBuffer);
95
+ const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, nullabilityBuffer);
97
96
  expect(result).toBeDefined();
98
- expect(result.name).toBe('test');
97
+ expect(result.name).toBe("test");
99
98
  });
100
- it('should return StringDictionaryVector with sparse offset when nullability mismatch', () => {
99
+ it("should return StringDictionaryVector with sparse offset when nullability mismatch", () => {
101
100
  const plainLengthStream = new Int32Array([0, 3, 7]);
102
101
  const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
103
102
  const nullabilityBuffer = {
104
103
  size: () => 3,
105
- get: (i) => i !== 1
104
+ get: (i) => i !== 1,
106
105
  };
107
- const result = StringDecoder.decodePlainStringVector('test', plainLengthStream, plainDataStream, null, nullabilityBuffer);
106
+ const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, nullabilityBuffer);
108
107
  expect(result).toBeDefined();
109
- expect(result.name).toBe('test');
108
+ expect(result.name).toBe("test");
110
109
  });
111
- it('should return StringFlatVector (non-nullable)', () => {
110
+ it("should return StringFlatVector (non-nullable)", () => {
112
111
  const plainLengthStream = new Int32Array([0, 3, 7]);
113
112
  const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
114
- const result = StringDecoder.decodePlainStringVector('test', plainLengthStream, plainDataStream, null, null);
113
+ const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, null);
115
114
  expect(result).toBeDefined();
116
- expect(result.name).toBe('test');
115
+ expect(result.name).toBe("test");
117
116
  });
118
117
  });
119
- describe('decodeSharedDictionary', () => {
118
+ describe("decodeSharedDictionary", () => {
120
119
  let mockData;
121
120
  let mockOffset;
122
121
  let mockColumn;
@@ -124,12 +123,12 @@ describe('decodeSharedDictionary', () => {
124
123
  beforeEach(() => {
125
124
  mockData = new Uint8Array(256);
126
125
  mockOffset = setupOffsetMock();
127
- mockColumn = createMockColumn('testColumn', [createMockChildField()]);
126
+ mockColumn = createMockColumn("testColumn", [createMockChildField()]);
128
127
  numFeatures = 10;
129
128
  vi.clearAllMocks();
130
129
  });
131
- describe('basic dictionary stream decoding', () => {
132
- it('should decode LENGTH stream for dictionary offset buffer', () => {
130
+ describe("basic dictionary stream decoding", () => {
131
+ it("should decode LENGTH stream for dictionary offset buffer", () => {
133
132
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
134
133
  const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
135
134
  const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -144,7 +143,7 @@ describe('decodeSharedDictionary', () => {
144
143
  expect(result).toBeDefined();
145
144
  expect(Array.isArray(result)).toBe(true);
146
145
  });
147
- it('should decode LENGTH stream for symbol offset buffer', () => {
146
+ it("should decode LENGTH stream for symbol offset buffer", () => {
148
147
  const lengthLogicalType = { lengthType: LengthType.SYMBOL };
149
148
  const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
150
149
  const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -157,8 +156,8 @@ describe('decodeSharedDictionary', () => {
157
156
  expect(result).toBeDefined();
158
157
  });
159
158
  });
160
- describe('dictionary buffer decoding', () => {
161
- it('should decode SINGLE dictionary type DATA stream', () => {
159
+ describe("dictionary buffer decoding", () => {
160
+ it("should decode SINGLE dictionary type DATA stream", () => {
162
161
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
163
162
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
164
163
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
@@ -171,7 +170,7 @@ describe('decodeSharedDictionary', () => {
171
170
  expect(mockOffset.add).toHaveBeenCalledWith(40);
172
171
  expect(result).toBeDefined();
173
172
  });
174
- it('should advance offset correctly through LENGTH and DATA streams', () => {
173
+ it("should advance offset correctly through LENGTH and DATA streams", () => {
175
174
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
176
175
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
177
176
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
@@ -186,8 +185,8 @@ describe('decodeSharedDictionary', () => {
186
185
  expect(result).toBeDefined();
187
186
  });
188
187
  });
189
- describe('symbol table buffer decoding', () => {
190
- it('should decode symbol table buffer when dictionary type is not SINGLE or SHARED', () => {
188
+ describe("symbol table buffer decoding", () => {
189
+ it("should decode symbol table buffer when dictionary type is not SINGLE or SHARED", () => {
191
190
  const symbolTableLogicalType = { dictionaryType: DictionaryType.NONE };
192
191
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, symbolTableLogicalType, 20);
193
192
  const symbolTableMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, symbolTableLogicalType, 35);
@@ -204,9 +203,9 @@ describe('decodeSharedDictionary', () => {
204
203
  expect(result).toBeDefined();
205
204
  });
206
205
  });
207
- describe('with propertyColumnNames filter', () => {
208
- it('should accept optional propertyColumnNames parameter', () => {
209
- const propertyColumnNames = new Set(['testColumn']);
206
+ describe("with propertyColumnNames filter", () => {
207
+ it("should accept optional propertyColumnNames parameter", () => {
208
+ const propertyColumnNames = new Set(["testColumn"]);
210
209
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
211
210
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
212
211
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -220,8 +219,8 @@ describe('decodeSharedDictionary', () => {
220
219
  const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures, propertyColumnNames);
221
220
  expect(result).toBeDefined();
222
221
  });
223
- it('should skip column when propertyColumnNames does not include column', () => {
224
- const propertyColumnNames = new Set(['someOtherColumn']);
222
+ it("should skip column when propertyColumnNames does not include column", () => {
223
+ const propertyColumnNames = new Set(["someOtherColumn"]);
225
224
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
226
225
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
227
226
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -237,8 +236,8 @@ describe('decodeSharedDictionary', () => {
237
236
  expect(result).toBeDefined();
238
237
  });
239
238
  });
240
- describe('offset management', () => {
241
- it('should correctly advance offset through multiple streams', () => {
239
+ describe("offset management", () => {
240
+ it("should correctly advance offset through multiple streams", () => {
242
241
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
243
242
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
244
243
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -251,8 +250,8 @@ describe('decodeSharedDictionary', () => {
251
250
  expect(mockOffset.add).toHaveBeenCalledWith(100);
252
251
  });
253
252
  });
254
- describe('edge cases', () => {
255
- it('should handle minimum feature count', () => {
253
+ describe("edge cases", () => {
254
+ it("should handle minimum feature count", () => {
256
255
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
257
256
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 4);
258
257
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -264,7 +263,7 @@ describe('decodeSharedDictionary', () => {
264
263
  const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 1);
265
264
  expect(result).toBeDefined();
266
265
  });
267
- it('should handle large feature count', () => {
266
+ it("should handle large feature count", () => {
268
267
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
269
268
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 1000);
270
269
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -279,8 +278,8 @@ describe('decodeSharedDictionary', () => {
279
278
  const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 10000);
280
279
  expect(result).toBeDefined();
281
280
  });
282
- it('should handle empty child fields list', () => {
283
- const emptyColumnMock = createMockColumn('emptyColumn', []);
281
+ it("should handle empty child fields list", () => {
282
+ const emptyColumnMock = createMockColumn("emptyColumn", []);
284
283
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
285
284
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 0);
286
285
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -294,8 +293,8 @@ describe('decodeSharedDictionary', () => {
294
293
  }).not.toThrow();
295
294
  });
296
295
  });
297
- describe('stream count handling', () => {
298
- it('should skip columns with 0 streams', () => {
296
+ describe("stream count handling", () => {
297
+ it("should skip columns with 0 streams", () => {
299
298
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
300
299
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
301
300
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -307,9 +306,9 @@ describe('decodeSharedDictionary', () => {
307
306
  const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
308
307
  expect(result).toBeDefined();
309
308
  });
310
- it('should throw error for non-string scalar fields', () => {
311
- const childFieldNonString = createMockChildField('fieldName', 'scalarField', ScalarType.INT_32);
312
- const columnWithNonStringField = createMockColumn('testColumn', [childFieldNonString]);
309
+ it("should throw error for non-string scalar fields", () => {
310
+ const childFieldNonString = createMockChildField("fieldName", "scalarField", ScalarType.INT_32);
311
+ const columnWithNonStringField = createMockColumn("testColumn", [childFieldNonString]);
313
312
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
314
313
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
315
314
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -322,11 +321,11 @@ describe('decodeSharedDictionary', () => {
322
321
  setupVarintDecodeMock([2, 2]); // 2 streams in field, 2 streams to skip
323
322
  expect(() => {
324
323
  StringDecoder.decodeSharedDictionary(mockData, mockOffset, columnWithNonStringField, numFeatures);
325
- }).toThrow('Currently only optional string fields are implemented for a struct.');
324
+ }).toThrow("Currently only optional string fields are implemented for a struct.");
326
325
  });
327
326
  });
328
- describe('return value validation', () => {
329
- it('should return Vector array', () => {
327
+ describe("return value validation", () => {
328
+ it("should return Vector array", () => {
330
329
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
331
330
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
332
331
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -338,7 +337,7 @@ describe('decodeSharedDictionary', () => {
338
337
  const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
339
338
  expect(result).toBeInstanceOf(Array);
340
339
  });
341
- it('should not return null or undefined', () => {
340
+ it("should not return null or undefined", () => {
342
341
  const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
343
342
  const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
344
343
  const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
@@ -1 +1 @@
1
- {"version":3,"file":"stringDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { type LogicalStreamType } from \"../metadata/tile/logicalStreamType\";\nimport * as IntegerStreamDecoder from \"./integerStreamDecoder\";\nimport { StreamMetadataDecoder } from \"../metadata/tile/streamMetadataDecoder\";\nimport { type StreamMetadata } from \"../metadata/tile/streamMetadata\";\nimport { LengthType } from \"../metadata/tile/lengthType\";\nimport { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport { ScalarType } from \"../metadata/tile/scalarType\";\nimport type IntWrapper from \"./intWrapper\";\nimport { type Column } from \"../metadata/tileset/tilesetMetadata\";\nimport { StringDecoder } from \"./stringDecoder\";\nimport * as integerDecoder from \"./integerDecodingUtils\";\n\nfunction createMockStreamMetadata(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n byteLength: number,\n): StreamMetadata {\n return {\n physicalStreamType,\n logicalStreamType,\n byteLength,\n _physicalStreamType: physicalStreamType,\n _logicalStreamType: logicalStreamType,\n _logicalLevelTechnique1: undefined,\n _logicalLevelTechnique2: undefined,\n } as unknown as StreamMetadata;\n}\n\nfunction createMockChildField(\n name: string = \"fieldName\",\n type: string = \"scalarField\",\n physicalType: ScalarType = ScalarType.STRING,\n) {\n return {\n name,\n type,\n scalarField: { physicalType },\n };\n}\n\nfunction createMockColumn(name: string = \"testColumn\", children: any[] = []): Column {\n return {\n name,\n complexType: {\n children: children.length > 0 ? children : [createMockChildField()],\n },\n } as unknown as Column;\n}\n\nfunction setupOffsetMock(initialValue: number = 0) {\n let offsetValue = initialValue;\n const mockOffset = {\n get: vi.fn(() => offsetValue),\n add: vi.fn((amount: number) => {\n offsetValue += amount;\n }),\n } as unknown as IntWrapper;\n return mockOffset;\n}\n\n/**\n * Setup StreamMetadataDecoder mock with a pool of metadata.\n * Cycles through the pool if more calls are made than metadata provided.\n */\nfunction setupStreamMetadataDecodeMock(metadata: StreamMetadata[]): void {\n let callCount = 0;\n vi.spyOn(StreamMetadataDecoder, \"decode\").mockImplementation(() => {\n const result = metadata[callCount % metadata.length];\n callCount++;\n return result;\n });\n}\n\nfunction setupLengthStreamDecodeMock(offsetBuffer: Int32Array, streamMetadata: StreamMetadata): void {\n vi.spyOn(IntegerStreamDecoder, \"decodeLengthStreamToOffsetBuffer\").mockImplementation((data, offset, metadata) => {\n offset.add(metadata.byteLength);\n return offsetBuffer;\n });\n}\n\nfunction setupVarintDecodeMock(value: number | number[] = 0): void {\n const values = Array.isArray(value) ? value : [value];\n let callCount = 0;\n vi.spyOn(integerDecoder, \"decodeVarintInt32\" as any).mockImplementation(() => {\n const result = new Int32Array([values[callCount] ?? 0]);\n callCount++;\n return result;\n });\n}\n\ndescribe(\"decodePlainStringVector\", () => {\n it(\"should return null when plainLengthStream is null\", () => {\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n null,\n new Uint8Array([1, 2, 3]),\n null,\n null,\n );\n expect(result).toBeNull();\n });\n\n it(\"should return null when plainDataStream is null\", () => {\n const result = (StringDecoder as any).decodePlainStringVector(\"test\", new Int32Array([0, 3]), null, null, null);\n expect(result).toBeNull();\n });\n\n it(\"should return StringDictionaryVector when offsetStream exists (non-nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const offsetStream = new Int32Array([0, 1]);\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n offsetStream,\n null,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it(\"should return StringDictionaryVector when offsetStream exists (nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const offsetStream = new Int32Array([0, 1]);\n const nullabilityBuffer = { size: () => 2, get: (i: number) => true } as any;\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n offsetStream,\n nullabilityBuffer,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it(\"should return StringDictionaryVector with sparse offset when nullability mismatch\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const nullabilityBuffer = {\n size: () => 3,\n get: (i: number) => i !== 1,\n } as any;\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n null,\n nullabilityBuffer,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it(\"should return StringFlatVector (non-nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n null,\n null,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n});\n\ndescribe(\"decodeSharedDictionary\", () => {\n let mockData: Uint8Array;\n let mockOffset: IntWrapper;\n let mockColumn: Column;\n let numFeatures: number;\n\n beforeEach(() => {\n mockData = new Uint8Array(256);\n mockOffset = setupOffsetMock();\n mockColumn = createMockColumn(\"testColumn\", [createMockChildField()]);\n numFeatures = 10;\n vi.clearAllMocks();\n });\n\n describe(\"basic dictionary stream decoding\", () => {\n it(\"should decode LENGTH stream for dictionary offset buffer\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dataLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dataStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dataLogicalType, 50);\n const expectedOffsetBuffer = new Int32Array([0, 5, 10, 15, 20]);\n\n setupStreamMetadataDecodeMock([streamMetadata, dataStreamMetadata]);\n setupLengthStreamDecodeMock(expectedOffsetBuffer, streamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(StreamMetadataDecoder.decode).toHaveBeenCalledWith(mockData, mockOffset);\n expect(IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer).toHaveBeenCalled();\n expect(result).toBeDefined();\n expect(Array.isArray(result)).toBe(true);\n });\n\n it(\"should decode LENGTH stream for symbol offset buffer\", () => {\n const lengthLogicalType = { lengthType: LengthType.SYMBOL } as unknown as LogicalStreamType;\n const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dataLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dataStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dataLogicalType, 50);\n const expectedOffsetBuffer = new Int32Array([0, 3, 6, 9]);\n\n setupStreamMetadataDecodeMock([streamMetadata, dataStreamMetadata]);\n setupLengthStreamDecodeMock(expectedOffsetBuffer, streamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeDefined();\n });\n });\n\n describe(\"dictionary buffer decoding\", () => {\n it(\"should decode SINGLE dictionary type DATA stream\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenCalledWith(40);\n expect(result).toBeDefined();\n });\n\n it(\"should advance offset correctly through LENGTH and DATA streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenNthCalledWith(1, 20);\n expect(mockOffset.add).toHaveBeenNthCalledWith(2, 40);\n expect(result).toBeDefined();\n });\n });\n\n describe(\"symbol table buffer decoding\", () => {\n it(\"should decode symbol table buffer when dictionary type is not SINGLE or SHARED\", () => {\n const symbolTableLogicalType = { dictionaryType: DictionaryType.NONE } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.LENGTH,\n symbolTableLogicalType,\n 20,\n );\n const symbolTableMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, symbolTableLogicalType, 35);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryDataMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 50);\n const offsetBuffer = new Int32Array([0, 10, 20]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, symbolTableMetadata, dictionaryDataMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenNthCalledWith(1, 20);\n expect(mockOffset.add).toHaveBeenNthCalledWith(2, 35);\n expect(mockOffset.add).toHaveBeenNthCalledWith(3, 50);\n expect(result).toBeDefined();\n });\n });\n\n describe(\"with propertyColumnNames filter\", () => {\n it(\"should accept optional propertyColumnNames parameter\", () => {\n const propertyColumnNames = new Set([\"testColumn\"]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n // Provide metadata for: LENGTH, DATA (for dictionary), DATA (for skipColumn)\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([1, 1]); // First field has 1 stream, then 1 more stream to skip\n\n const result = StringDecoder.decodeSharedDictionary(\n mockData,\n mockOffset,\n mockColumn,\n numFeatures,\n propertyColumnNames,\n );\n\n expect(result).toBeDefined();\n });\n\n it(\"should skip column when propertyColumnNames does not include column\", () => {\n const propertyColumnNames = new Set([\"someOtherColumn\"]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStream1 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const skipStream2 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 25);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n // Provide metadata for: LENGTH, DATA (for dictionary), and 2 streams to skip\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStream1, skipStream2]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([2, 2]); // 2 streams in first field, 2 streams to skip\n\n const result = StringDecoder.decodeSharedDictionary(\n mockData,\n mockOffset,\n mockColumn,\n numFeatures,\n propertyColumnNames,\n );\n\n expect(result).toBeDefined();\n });\n });\n\n describe(\"offset management\", () => {\n it(\"should correctly advance offset through multiple streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 100,\n );\n const offsetBuffer = new Int32Array([0, 25, 50, 75, 100]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenCalledWith(100);\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"should handle minimum feature count\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 4);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 10,\n );\n const offsetBuffer = new Int32Array([0, 10]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 1);\n\n expect(result).toBeDefined();\n });\n\n it(\"should handle large feature count\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 1000);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 5000,\n );\n const largeOffsetBuffer = new Int32Array(10001);\n for (let i = 0; i < largeOffsetBuffer.length; i++) {\n largeOffsetBuffer[i] = i * 500;\n }\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(largeOffsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 10000);\n\n expect(result).toBeDefined();\n });\n\n it(\"should handle empty child fields list\", () => {\n const emptyColumnMock = createMockColumn(\"emptyColumn\", []);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 0);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 0,\n );\n const offsetBuffer = new Int32Array([0]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n expect(() => {\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, emptyColumnMock, 0);\n }).not.toThrow();\n });\n });\n\n describe(\"stream count handling\", () => {\n it(\"should skip columns with 0 streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeDefined();\n });\n\n it(\"should throw error for non-string scalar fields\", () => {\n const childFieldNonString = createMockChildField(\"fieldName\", \"scalarField\", ScalarType.INT_32);\n const columnWithNonStringField = createMockColumn(\"testColumn\", [childFieldNonString]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStream1 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const skipStream2 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 25);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStream1, skipStream2]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([2, 2]); // 2 streams in field, 2 streams to skip\n\n expect(() => {\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, columnWithNonStringField, numFeatures);\n }).toThrow(\"Currently only optional string fields are implemented for a struct.\");\n });\n });\n\n describe(\"return value validation\", () => {\n it(\"should return Vector array\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeInstanceOf(Array);\n });\n\n it(\"should not return null or undefined\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).not.toBeNull();\n expect(result).not.toBeUndefined();\n });\n });\n});\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC","sourcesContent":["export { default as decodeTile } from \"./mltDecoder\";\nexport { default as FeatureTable } from \"./vector/featureTable\";\nexport { GeometryVector } from \"./vector/geometry/geometryVector\";\nexport { GpuVector } from \"./vector/geometry/gpuVector\";\nexport { default as GeometryScaling } from \"./decoding/geometryScaling\";\nexport { GEOMETRY_TYPE } from \"./vector/geometry/geometryType\";\nexport type { TileSetMetadata } from \"./metadata/tileset/tilesetMetadata\";\nexport type { Geometry } from \"./vector/geometry/geometryVector\";\nexport type { Feature } from \"./vector/featureTable\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dictionaryType.js","sourceRoot":"","sources":["../../../src/metadata/tile/dictionaryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
1
+ {"version":3,"file":"dictionaryType.js","sourceRoot":"","sources":["../../../src/metadata/tile/dictionaryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB","sourcesContent":["export enum DictionaryType {\n NONE = \"NONE\",\n SINGLE = \"SINGLE\",\n SHARED = \"SHARED\",\n VERTEX = \"VERTEX\",\n MORTON = \"MORTON\",\n FSST = \"FSST\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"lengthType.js","sourceRoot":"","sources":["../../../src/metadata/tile/lengthType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB"}
1
+ {"version":3,"file":"lengthType.js","sourceRoot":"","sources":["../../../src/metadata/tile/lengthType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB","sourcesContent":["export enum LengthType {\n VAR_BINARY = \"VAR_BINARY\",\n GEOMETRIES = \"GEOMETRIES\",\n PARTS = \"PARTS\",\n RINGS = \"RINGS\",\n TRIANGLES = \"TRIANGLES\",\n SYMBOL = \"SYMBOL\",\n DICTIONARY = \"DICTIONARY\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oEAA2C,CAAA;IAC3C,oCAAW,CAAA;IACX,0CAAiB,CAAA;IACjB,wHAAwH;IACxH,yFAAyF;IACzF,oCAAW,CAAA;AACf,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC"}
1
+ {"version":3,"file":"logicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oEAA2C,CAAA;IAC3C,oCAAW,CAAA;IACX,0CAAiB,CAAA;IACjB,wHAAwH;IACxH,yFAAyF;IACzF,oCAAW,CAAA;AACf,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC","sourcesContent":["export enum LogicalLevelTechnique {\n NONE = \"NONE\",\n DELTA = \"DELTA\",\n COMPONENTWISE_DELTA = \"COMPONENTWISE_DELTA\",\n RLE = \"RLE\",\n MORTON = \"MORTON\",\n // Pseudodecimal Encoding of floats -> only for the exponent integer part an additional logical level technique is used.\n // Both exponent and significant parts are encoded with the same physical level technique\n PDE = \"PDE\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalStreamType.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,iBAAiB;IAEL;IACA;IACA;IAHrB,YACqB,eAAgC,EAChC,WAAwB,EACxB,WAAwB;QAFxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAC1C,CAAC;IAEJ,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
1
+ {"version":3,"file":"logicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalStreamType.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,iBAAiB;IAEL;IACA;IACA;IAHrB,YACqB,eAAgC,EAChC,WAAwB,EACxB,WAAwB;QAFxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAC1C,CAAC;IAEJ,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ","sourcesContent":["import { type DictionaryType } from \"./dictionaryType\";\nimport { type OffsetType } from \"./offsetType\";\nimport { type LengthType } from \"./lengthType\";\n\nexport class LogicalStreamType {\n constructor(\n private readonly _dictionaryType?: DictionaryType,\n private readonly _offsetType?: OffsetType,\n private readonly _lengthType?: LengthType,\n ) {}\n\n get dictionaryType(): DictionaryType | undefined {\n return this._dictionaryType;\n }\n\n get offsetType(): OffsetType | undefined {\n return this._offsetType;\n }\n\n get lengthType(): LengthType | undefined {\n return this._lengthType;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mortonEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/mortonEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAC1C,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAE1C,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EAClB,OAAe,EACf,eAAuB;QAEvB,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa,CACvB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ"}
1
+ {"version":3,"file":"mortonEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/mortonEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAC1C,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAE1C,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EAClB,OAAe,EACf,eAAuB;QAEvB,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa,CACvB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ","sourcesContent":["import { StreamMetadata } from \"./streamMetadata\";\nimport { type PhysicalStreamType } from \"./physicalStreamType\";\nimport { type LogicalStreamType } from \"./logicalStreamType\";\nimport { type LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { type PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class MortonEncodedStreamMetadata extends StreamMetadata {\n private readonly num_bits: number;\n private readonly coordinate_shift: number;\n\n constructor(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n logicalLevelTechnique1: LogicalLevelTechnique,\n logicalLevelTechnique2: LogicalLevelTechnique,\n physicalLevelTechnique: PhysicalLevelTechnique,\n numValues: number,\n byteLength: number,\n numBits: number,\n coordinateShift: number,\n ) {\n super(\n physicalStreamType,\n logicalStreamType,\n logicalLevelTechnique1,\n logicalLevelTechnique2,\n physicalLevelTechnique,\n numValues,\n byteLength,\n );\n this.num_bits = numBits;\n this.coordinate_shift = coordinateShift;\n }\n\n public static decode(tile: Uint8Array, offset: IntWrapper): MortonEncodedStreamMetadata {\n const streamMetadata = StreamMetadata.decode(tile, offset);\n const mortonInfo = decodeVarintInt32(tile, offset, 2);\n return new MortonEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n mortonInfo[0],\n mortonInfo[1],\n );\n }\n\n public static decodePartial(\n streamMetadata: StreamMetadata,\n tile: Uint8Array,\n offset: IntWrapper,\n ): MortonEncodedStreamMetadata {\n const mortonInfo = decodeVarintInt32(tile, offset, 2);\n return new MortonEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n mortonInfo[0],\n mortonInfo[1],\n );\n }\n\n public numBits(): number {\n return this.num_bits;\n }\n\n public coordinateShift(): number {\n return this.coordinate_shift;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"offsetType.js","sourceRoot":"","sources":["../../../src/metadata/tile/offsetType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
1
+ {"version":3,"file":"offsetType.js","sourceRoot":"","sources":["../../../src/metadata/tile/offsetType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB","sourcesContent":["export enum OffsetType {\n VERTEX = \"VERTEX\",\n INDEX = \"INDEX\",\n STRING = \"STRING\",\n KEY = \"KEY\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"physicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAC9B,uCAAa,CAAA;IACb;;;OAGG;IACH,iDAAuB,CAAA;IACvB;;;OAGG;IACH,2CAAiB,CAAA;IACjB;;OAEG;IACH,qCAAW,CAAA;AACf,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC"}
1
+ {"version":3,"file":"physicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAC9B,uCAAa,CAAA;IACb;;;OAGG;IACH,iDAAuB,CAAA;IACvB;;;OAGG;IACH,2CAAiB,CAAA;IACjB;;OAEG;IACH,qCAAW,CAAA;AACf,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC","sourcesContent":["export enum PhysicalLevelTechnique {\n NONE = \"NONE\",\n /**\n * Preferred option, tends to produce the best compression ratio and decoding performance.\n * But currently only limited to 32 bit integer.\n */\n FAST_PFOR = \"FAST_PFOR\",\n /**\n * Can produce better results in combination with a heavyweight compression scheme like Gzip.\n * Simple compression scheme where the decoder are easier to implement compared to FastPfor.\n */\n VARINT = \"VARINT\",\n /**\n * Adaptive Lossless floating-Point Compression\n */\n ALP = \"ALP\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"physicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalStreamType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
1
+ {"version":3,"file":"physicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalStreamType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B","sourcesContent":["export enum PhysicalStreamType {\n PRESENT = \"PRESENT\",\n DATA = \"DATA\",\n OFFSET = \"OFFSET\",\n LENGTH = \"LENGTH\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rleEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/rleEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAcnC;IACA;IAdrB;;;;OAIG;IACH,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EACD,KAAa,EACb,aAAqB;QAEtC,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QAXe,UAAK,GAAL,KAAK,CAAQ;QACb,kBAAa,GAAb,aAAa,CAAQ;IAW1C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QAC9C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAChB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACM,oBAAoB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ"}
1
+ {"version":3,"file":"rleEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/rleEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAcnC;IACA;IAdrB;;;;OAIG;IACH,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EACD,KAAa,EACb,aAAqB;QAEtC,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QAXe,UAAK,GAAL,KAAK,CAAQ;QACb,kBAAa,GAAb,aAAa,CAAQ;IAW1C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QAC9C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAChB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACM,oBAAoB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ","sourcesContent":["import { StreamMetadata } from \"./streamMetadata\";\nimport { type PhysicalStreamType } from \"./physicalStreamType\";\nimport { type LogicalStreamType } from \"./logicalStreamType\";\nimport { type LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { type PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class RleEncodedStreamMetadata extends StreamMetadata {\n /**\n * @param numValues After LogicalLevelTechnique was applied -> numRuns + numValues\n * @param _runs Length of the runs array\n * @param _numRleValues Used for pre-allocating the arrays on the client for faster decoding\n */\n constructor(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n logicalLevelTechnique1: LogicalLevelTechnique,\n logicalLevelTechnique2: LogicalLevelTechnique,\n physicalLevelTechnique: PhysicalLevelTechnique,\n numValues: number,\n byteLength: number,\n private readonly _runs: number,\n private readonly _numRleValues: number,\n ) {\n super(\n physicalStreamType,\n logicalStreamType,\n logicalLevelTechnique1,\n logicalLevelTechnique2,\n physicalLevelTechnique,\n numValues,\n byteLength,\n );\n }\n\n static decode(tile: Uint8Array, offset: IntWrapper): RleEncodedStreamMetadata {\n const streamMetadata = StreamMetadata.decode(tile, offset);\n const rleInfo = decodeVarintInt32(tile, offset, 2);\n return new RleEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n rleInfo[0],\n rleInfo[1],\n );\n }\n\n static decodePartial(\n streamMetadata: StreamMetadata,\n tile: Uint8Array,\n offset: IntWrapper,\n ): RleEncodedStreamMetadata {\n const rleInfo = decodeVarintInt32(tile, offset, 2);\n return new RleEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n rleInfo[0],\n rleInfo[1],\n );\n }\n\n public get runs(): number {\n return this._runs;\n }\n\n get numRleValues(): number {\n return this._numRleValues;\n }\n\n /**\n * Override to return the decompressed count for RLE streams.\n */\n override getDecompressedCount(): number {\n return this._numRleValues;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"scalarType.js","sourceRoot":"","sources":["../../../src/metadata/tile/scalarType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;AACd,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB"}
1
+ {"version":3,"file":"scalarType.js","sourceRoot":"","sources":["../../../src/metadata/tile/scalarType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;AACd,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB","sourcesContent":["export enum ScalarType {\n BOOLEAN = 0,\n INT_8 = 1,\n UINT_8 = 2,\n INT_32 = 3,\n UINT_32 = 4,\n INT_64 = 5,\n UINT_64 = 6,\n FLOAT = 7,\n DOUBLE = 8,\n STRING = 9,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"streamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/streamMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/streamMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { PhysicalStreamType } from \"./physicalStreamType\";\nimport { LogicalStreamType } from \"./logicalStreamType\";\nimport { LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport { DictionaryType } from \"./dictionaryType\";\nimport { OffsetType } from \"./offsetType\";\nimport { LengthType } from \"./lengthType\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class StreamMetadata {\n constructor(\n private readonly _physicalStreamType: PhysicalStreamType,\n private readonly _logicalStreamType: LogicalStreamType,\n private readonly _logicalLevelTechnique1: LogicalLevelTechnique,\n private readonly _logicalLevelTechnique2: LogicalLevelTechnique,\n private readonly _physicalLevelTechnique: PhysicalLevelTechnique,\n private readonly _numValues: number,\n private readonly _byteLength: number,\n ) {}\n\n public static decode(tile: Uint8Array, offset: IntWrapper): StreamMetadata {\n const stream_type = tile[offset.get()];\n const physicalStreamType = Object.values(PhysicalStreamType)[stream_type >> 4] as PhysicalStreamType;\n let logicalStreamType: LogicalStreamType | null = null;\n\n switch (physicalStreamType) {\n case PhysicalStreamType.DATA:\n logicalStreamType = new LogicalStreamType(\n Object.values(DictionaryType)[stream_type & 0xf] as DictionaryType,\n );\n break;\n case PhysicalStreamType.OFFSET:\n logicalStreamType = new LogicalStreamType(\n null,\n Object.values(OffsetType)[stream_type & 0xf] as OffsetType,\n );\n break;\n case PhysicalStreamType.LENGTH:\n logicalStreamType = new LogicalStreamType(\n null,\n null,\n Object.values(LengthType)[stream_type & 0xf] as LengthType,\n );\n break;\n }\n offset.increment();\n\n const encodings_header = tile[offset.get()];\n const llt1 = Object.values(LogicalLevelTechnique)[encodings_header >> 5] as LogicalLevelTechnique;\n const llt2 = Object.values(LogicalLevelTechnique)[(encodings_header >> 2) & 0x7] as LogicalLevelTechnique;\n const plt = Object.values(PhysicalLevelTechnique)[encodings_header & 0x3] as PhysicalLevelTechnique;\n offset.increment();\n\n const sizeInfo = decodeVarintInt32(tile, offset, 2);\n const numValues = sizeInfo[0];\n const byteLength = sizeInfo[1];\n\n return new StreamMetadata(physicalStreamType, logicalStreamType, llt1, llt2, plt, numValues, byteLength);\n }\n\n get physicalStreamType(): PhysicalStreamType {\n return this._physicalStreamType;\n }\n\n get logicalStreamType(): LogicalStreamType {\n return this._logicalStreamType;\n }\n\n get logicalLevelTechnique1(): LogicalLevelTechnique {\n return this._logicalLevelTechnique1;\n }\n\n get logicalLevelTechnique2(): LogicalLevelTechnique {\n return this._logicalLevelTechnique2;\n }\n\n get physicalLevelTechnique(): PhysicalLevelTechnique {\n return this._physicalLevelTechnique;\n }\n\n get numValues(): number {\n return this._numValues;\n }\n\n get byteLength(): number {\n return this._byteLength;\n }\n\n /**\n * Returns the number of decompressed values.\n * For non-RLE streams, this is the same as numValues.\n * For RLE streams, this is overridden to return numRleValues.\n */\n getDecompressedCount(): number {\n return this._numValues;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"streamMetadataDecoder.js","sourceRoot":"","sources":["../../../src/metadata/tile/streamMetadataDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,OAAO,qBAAqB;IACvB,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,sBAAsB,KAAK,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACzE,OAAO,2BAA2B,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC;QAED,IACI,CAAC,qBAAqB,CAAC,GAAG,KAAK,cAAc,CAAC,sBAAsB;YAChE,qBAAqB,CAAC,GAAG,KAAK,cAAc,CAAC,sBAAsB,CAAC;YACxE,sBAAsB,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACvE,CAAC;YACC,OAAO,wBAAwB,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ"}
1
+ {"version":3,"file":"streamMetadataDecoder.js","sourceRoot":"","sources":["../../../src/metadata/tile/streamMetadataDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,OAAO,qBAAqB;IACvB,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,sBAAsB,KAAK,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACzE,OAAO,2BAA2B,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC;QAED,IACI,CAAC,qBAAqB,CAAC,GAAG,KAAK,cAAc,CAAC,sBAAsB;YAChE,qBAAqB,CAAC,GAAG,KAAK,cAAc,CAAC,sBAAsB,CAAC;YACxE,sBAAsB,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACvE,CAAC;YACC,OAAO,wBAAwB,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ","sourcesContent":["import { StreamMetadata } from \"./streamMetadata\";\nimport { LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport { MortonEncodedStreamMetadata } from \"./mortonEncodedStreamMetadata\";\nimport { RleEncodedStreamMetadata } from \"./rleEncodedStreamMetadata\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\n\nexport class StreamMetadataDecoder {\n public static decode(tile: Uint8Array, offset: IntWrapper): StreamMetadata {\n const streamMetadata = StreamMetadata.decode(tile, offset);\n if (streamMetadata.logicalLevelTechnique1 === LogicalLevelTechnique.MORTON) {\n return MortonEncodedStreamMetadata.decodePartial(streamMetadata, tile, offset);\n }\n\n if (\n (LogicalLevelTechnique.RLE === streamMetadata.logicalLevelTechnique1 ||\n LogicalLevelTechnique.RLE === streamMetadata.logicalLevelTechnique2) &&\n PhysicalLevelTechnique.NONE !== streamMetadata.physicalLevelTechnique\n ) {\n return RleEncodedStreamMetadata.decodePartial(streamMetadata, tile, offset);\n }\n\n return streamMetadata;\n }\n}\n"]}