@maplibre/mlt 1.0.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.
- package/LICENSE.txt +231 -0
- package/dist/decoding/decodingUtils.js.map +1 -1
- package/dist/decoding/decodingUtils.spec.js +2 -2
- package/dist/decoding/decodingUtils.spec.js.map +1 -1
- package/dist/decoding/fsstDecoder.js.map +1 -1
- package/dist/decoding/fsstDecoder.spec.js +14 -10
- package/dist/decoding/fsstDecoder.spec.js.map +1 -1
- package/dist/decoding/geometryDecoder.js +32 -192
- package/dist/decoding/geometryDecoder.js.map +1 -1
- package/dist/decoding/geometryDecoder.spec.js.map +1 -1
- package/dist/decoding/geometryScaling.js.map +1 -1
- package/dist/decoding/intWrapper.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.d.ts +12 -21
- package/dist/decoding/integerStreamDecoder.js +234 -234
- package/dist/decoding/integerStreamDecoder.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.spec.js +55 -35
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
- package/dist/decoding/propertyDecoder.js +11 -11
- package/dist/decoding/propertyDecoder.js.map +1 -1
- package/dist/decoding/propertyDecoder.spec.js +157 -197
- package/dist/decoding/propertyDecoder.spec.js.map +1 -1
- package/dist/decoding/stringDecoder.d.ts +3 -0
- package/dist/decoding/stringDecoder.js +74 -24
- package/dist/decoding/stringDecoder.js.map +1 -1
- package/dist/decoding/stringDecoder.spec.js +83 -39
- package/dist/decoding/stringDecoder.spec.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/tile/dictionaryType.js.map +1 -1
- package/dist/metadata/tile/lengthType.js.map +1 -1
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/logicalStreamType.js.map +1 -1
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/offsetType.js.map +1 -1
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/physicalStreamType.js.map +1 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/scalarType.js.map +1 -1
- package/dist/metadata/tile/streamMetadata.js.map +1 -1
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.d.ts +1 -1
- package/dist/mltDecoder.js +21 -11
- package/dist/mltDecoder.js.map +1 -1
- package/dist/mltDecoder.spec.js.map +1 -1
- package/dist/mltMetadata.js.map +1 -1
- package/dist/vector/constant/intConstVector.js.map +1 -1
- package/dist/vector/constant/longConstVector.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/featureTable.js.map +1 -1
- package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
- package/dist/vector/filter/flatSelectionVector.js +54 -0
- package/dist/vector/filter/flatSelectionVector.js.map +1 -0
- package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
- package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
- package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
- package/dist/vector/filter/selectionVector.d.ts +8 -0
- package/dist/vector/filter/selectionVector.js +2 -0
- package/dist/vector/filter/selectionVector.js.map +1 -0
- package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
- package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
- package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
- package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
- package/dist/vector/filter/selectionVectorUtils.js +37 -0
- package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
- package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
- package/dist/vector/filter/sequenceSelectionVector.js +67 -0
- package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
- package/dist/vector/fixedSizeVector.js.map +1 -1
- package/dist/vector/flat/bitVector.js.map +1 -1
- package/dist/vector/flat/booleanFlatVector.js.map +1 -1
- package/dist/vector/flat/doubleFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/intFlatVector.js.map +1 -1
- package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/longFlatVector.js.map +1 -1
- package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
- package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
- package/dist/vector/geometry/constGeometryVector.js +6 -6
- package/dist/vector/geometry/constGeometryVector.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +1 -1
- package/dist/vector/geometry/constGpuVector.js +3 -24
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
- package/dist/vector/geometry/flatGeometryVector.js +7 -7
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
- package/dist/vector/geometry/flatGpuVector.js +3 -22
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryType.js.map +1 -1
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/vertexBufferType.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
- package/dist/vector/intVector.js.map +1 -1
- package/dist/vector/sequence/intSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
- package/dist/vector/sequence/sequenceVector.js.map +1 -1
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/dist/vector/vector.js.map +1 -1
- package/dist/vector/vectorType.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, vi } from
|
|
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 =
|
|
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 =
|
|
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,
|
|
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,
|
|
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,13 +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,
|
|
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(
|
|
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);
|
|
76
|
+
expect(result).toBeNull();
|
|
77
|
+
});
|
|
78
|
+
it("should return null when plainDataStream is null", () => {
|
|
79
|
+
const result = StringDecoder.decodePlainStringVector("test", new Int32Array([0, 3]), null, null, null);
|
|
80
|
+
expect(result).toBeNull();
|
|
81
|
+
});
|
|
82
|
+
it("should return StringDictionaryVector when offsetStream exists (non-nullable)", () => {
|
|
83
|
+
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
84
|
+
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
85
|
+
const offsetStream = new Int32Array([0, 1]);
|
|
86
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, null);
|
|
87
|
+
expect(result).toBeDefined();
|
|
88
|
+
expect(result.name).toBe("test");
|
|
89
|
+
});
|
|
90
|
+
it("should return StringDictionaryVector when offsetStream exists (nullable)", () => {
|
|
91
|
+
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
92
|
+
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
93
|
+
const offsetStream = new Int32Array([0, 1]);
|
|
94
|
+
const nullabilityBuffer = { size: () => 2, get: (i) => true };
|
|
95
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, nullabilityBuffer);
|
|
96
|
+
expect(result).toBeDefined();
|
|
97
|
+
expect(result.name).toBe("test");
|
|
98
|
+
});
|
|
99
|
+
it("should return StringDictionaryVector with sparse offset when nullability mismatch", () => {
|
|
100
|
+
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
101
|
+
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
102
|
+
const nullabilityBuffer = {
|
|
103
|
+
size: () => 3,
|
|
104
|
+
get: (i) => i !== 1,
|
|
105
|
+
};
|
|
106
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, nullabilityBuffer);
|
|
107
|
+
expect(result).toBeDefined();
|
|
108
|
+
expect(result.name).toBe("test");
|
|
109
|
+
});
|
|
110
|
+
it("should return StringFlatVector (non-nullable)", () => {
|
|
111
|
+
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
112
|
+
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
113
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, null);
|
|
114
|
+
expect(result).toBeDefined();
|
|
115
|
+
expect(result.name).toBe("test");
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe("decodeSharedDictionary", () => {
|
|
75
119
|
let mockData;
|
|
76
120
|
let mockOffset;
|
|
77
121
|
let mockColumn;
|
|
@@ -79,12 +123,12 @@ describe('decodeSharedDictionary', () => {
|
|
|
79
123
|
beforeEach(() => {
|
|
80
124
|
mockData = new Uint8Array(256);
|
|
81
125
|
mockOffset = setupOffsetMock();
|
|
82
|
-
mockColumn = createMockColumn(
|
|
126
|
+
mockColumn = createMockColumn("testColumn", [createMockChildField()]);
|
|
83
127
|
numFeatures = 10;
|
|
84
128
|
vi.clearAllMocks();
|
|
85
129
|
});
|
|
86
|
-
describe(
|
|
87
|
-
it(
|
|
130
|
+
describe("basic dictionary stream decoding", () => {
|
|
131
|
+
it("should decode LENGTH stream for dictionary offset buffer", () => {
|
|
88
132
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
89
133
|
const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
90
134
|
const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -99,7 +143,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
99
143
|
expect(result).toBeDefined();
|
|
100
144
|
expect(Array.isArray(result)).toBe(true);
|
|
101
145
|
});
|
|
102
|
-
it(
|
|
146
|
+
it("should decode LENGTH stream for symbol offset buffer", () => {
|
|
103
147
|
const lengthLogicalType = { lengthType: LengthType.SYMBOL };
|
|
104
148
|
const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
105
149
|
const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -112,8 +156,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
112
156
|
expect(result).toBeDefined();
|
|
113
157
|
});
|
|
114
158
|
});
|
|
115
|
-
describe(
|
|
116
|
-
it(
|
|
159
|
+
describe("dictionary buffer decoding", () => {
|
|
160
|
+
it("should decode SINGLE dictionary type DATA stream", () => {
|
|
117
161
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
118
162
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
119
163
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
|
|
@@ -126,7 +170,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
126
170
|
expect(mockOffset.add).toHaveBeenCalledWith(40);
|
|
127
171
|
expect(result).toBeDefined();
|
|
128
172
|
});
|
|
129
|
-
it(
|
|
173
|
+
it("should advance offset correctly through LENGTH and DATA streams", () => {
|
|
130
174
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
131
175
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
132
176
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
|
|
@@ -141,8 +185,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
141
185
|
expect(result).toBeDefined();
|
|
142
186
|
});
|
|
143
187
|
});
|
|
144
|
-
describe(
|
|
145
|
-
it(
|
|
188
|
+
describe("symbol table buffer decoding", () => {
|
|
189
|
+
it("should decode symbol table buffer when dictionary type is not SINGLE or SHARED", () => {
|
|
146
190
|
const symbolTableLogicalType = { dictionaryType: DictionaryType.NONE };
|
|
147
191
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, symbolTableLogicalType, 20);
|
|
148
192
|
const symbolTableMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, symbolTableLogicalType, 35);
|
|
@@ -159,9 +203,9 @@ describe('decodeSharedDictionary', () => {
|
|
|
159
203
|
expect(result).toBeDefined();
|
|
160
204
|
});
|
|
161
205
|
});
|
|
162
|
-
describe(
|
|
163
|
-
it(
|
|
164
|
-
const propertyColumnNames = new Set([
|
|
206
|
+
describe("with propertyColumnNames filter", () => {
|
|
207
|
+
it("should accept optional propertyColumnNames parameter", () => {
|
|
208
|
+
const propertyColumnNames = new Set(["testColumn"]);
|
|
165
209
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
166
210
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
167
211
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -175,8 +219,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
175
219
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures, propertyColumnNames);
|
|
176
220
|
expect(result).toBeDefined();
|
|
177
221
|
});
|
|
178
|
-
it(
|
|
179
|
-
const propertyColumnNames = new Set([
|
|
222
|
+
it("should skip column when propertyColumnNames does not include column", () => {
|
|
223
|
+
const propertyColumnNames = new Set(["someOtherColumn"]);
|
|
180
224
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
181
225
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
182
226
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -192,8 +236,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
192
236
|
expect(result).toBeDefined();
|
|
193
237
|
});
|
|
194
238
|
});
|
|
195
|
-
describe(
|
|
196
|
-
it(
|
|
239
|
+
describe("offset management", () => {
|
|
240
|
+
it("should correctly advance offset through multiple streams", () => {
|
|
197
241
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
198
242
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
199
243
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -206,8 +250,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
206
250
|
expect(mockOffset.add).toHaveBeenCalledWith(100);
|
|
207
251
|
});
|
|
208
252
|
});
|
|
209
|
-
describe(
|
|
210
|
-
it(
|
|
253
|
+
describe("edge cases", () => {
|
|
254
|
+
it("should handle minimum feature count", () => {
|
|
211
255
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
212
256
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 4);
|
|
213
257
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -219,7 +263,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
219
263
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 1);
|
|
220
264
|
expect(result).toBeDefined();
|
|
221
265
|
});
|
|
222
|
-
it(
|
|
266
|
+
it("should handle large feature count", () => {
|
|
223
267
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
224
268
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 1000);
|
|
225
269
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -234,8 +278,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
234
278
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 10000);
|
|
235
279
|
expect(result).toBeDefined();
|
|
236
280
|
});
|
|
237
|
-
it(
|
|
238
|
-
const emptyColumnMock = createMockColumn(
|
|
281
|
+
it("should handle empty child fields list", () => {
|
|
282
|
+
const emptyColumnMock = createMockColumn("emptyColumn", []);
|
|
239
283
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
240
284
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 0);
|
|
241
285
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -249,8 +293,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
249
293
|
}).not.toThrow();
|
|
250
294
|
});
|
|
251
295
|
});
|
|
252
|
-
describe(
|
|
253
|
-
it(
|
|
296
|
+
describe("stream count handling", () => {
|
|
297
|
+
it("should skip columns with 0 streams", () => {
|
|
254
298
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
255
299
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
256
300
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -262,9 +306,9 @@ describe('decodeSharedDictionary', () => {
|
|
|
262
306
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
|
|
263
307
|
expect(result).toBeDefined();
|
|
264
308
|
});
|
|
265
|
-
it(
|
|
266
|
-
const childFieldNonString = createMockChildField(
|
|
267
|
-
const columnWithNonStringField = createMockColumn(
|
|
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]);
|
|
268
312
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
269
313
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
270
314
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -277,11 +321,11 @@ describe('decodeSharedDictionary', () => {
|
|
|
277
321
|
setupVarintDecodeMock([2, 2]); // 2 streams in field, 2 streams to skip
|
|
278
322
|
expect(() => {
|
|
279
323
|
StringDecoder.decodeSharedDictionary(mockData, mockOffset, columnWithNonStringField, numFeatures);
|
|
280
|
-
}).toThrow(
|
|
324
|
+
}).toThrow("Currently only optional string fields are implemented for a struct.");
|
|
281
325
|
});
|
|
282
326
|
});
|
|
283
|
-
describe(
|
|
284
|
-
it(
|
|
327
|
+
describe("return value validation", () => {
|
|
328
|
+
it("should return Vector array", () => {
|
|
285
329
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
286
330
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
287
331
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -293,7 +337,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
293
337
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
|
|
294
338
|
expect(result).toBeInstanceOf(Array);
|
|
295
339
|
});
|
|
296
|
-
it(
|
|
340
|
+
it("should not return null or undefined", () => {
|
|
297
341
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
298
342
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
299
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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddedTilesetMetadataDecoder.js","sourceRoot":"","sources":["../../../src/metadata/tileset/embeddedTilesetMetadataDecoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embeddedTilesetMetadataDecoder.js","sourceRoot":"","sources":["../../../src/metadata/tileset/embeddedTilesetMetadataDecoder.ts"],"names":[],"mappings":"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","sourcesContent":["import type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\nimport {\n type Column,\n type ComplexField,\n type FeatureTableSchema,\n type Field,\n type ScalarField,\n type TileSetMetadata,\n} from \"./tilesetMetadata\";\nimport { TypeMap } from \"./typeMap\";\n\nconst enum FieldOptions {\n nullable = 1 << 0,\n complexType = 1 << 1,\n logicalType = 1 << 2,\n hasChildren = 1 << 3,\n}\n\nconst textDecoder = new TextDecoder();\n\n/**\n * Decodes a length-prefixed UTF-8 string.\n * Layout: [len: varint32][bytes: len]\n */\nfunction decodeString(src: Uint8Array, offset: IntWrapper): string {\n const length = decodeVarintInt32(src, offset, 1)[0];\n if (length === 0) {\n return \"\";\n }\n const start = offset.get();\n const end = start + length;\n const view = src.subarray(start, end);\n offset.add(length);\n return textDecoder.decode(view);\n}\n\n/**\n * Decodes a Field used as part of complex types (STRUCT children).\n * Unlike Column, Field still uses the fieldOptions bitfield for flexibility.\n */\nfunction decodeField(src: Uint8Array, offset: IntWrapper): Field {\n const fieldOptions = decodeVarintInt32(src, offset, 1)[0] >>> 0;\n const isLogical = (fieldOptions & FieldOptions.logicalType) !== 0;\n const isComplex = (fieldOptions & FieldOptions.complexType) !== 0;\n\n const typeValue = decodeVarintInt32(src, offset, 1)[0] >>> 0;\n\n const field = {} as Field;\n if ((fieldOptions & FieldOptions.nullable) !== 0) {\n field.nullable = true;\n }\n\n if (isComplex) {\n const complex = {} as ComplexField;\n if (isLogical) {\n complex.type = \"logicalType\";\n complex.logicalType = typeValue;\n } else {\n complex.type = \"physicalType\";\n complex.physicalType = typeValue;\n }\n\n if ((fieldOptions & FieldOptions.hasChildren) !== 0) {\n const childCount = decodeVarintInt32(src, offset, 1)[0] >>> 0;\n complex.children = new Array(childCount);\n for (let i = 0; i < childCount; i++) {\n complex.children[i] = decodeField(src, offset);\n }\n }\n field.type = \"complexField\";\n field.complexField = complex;\n } else {\n const scalar = {} as ScalarField;\n if (isLogical) {\n scalar.type = \"logicalType\";\n scalar.logicalType = typeValue;\n } else {\n scalar.type = \"physicalType\";\n scalar.physicalType = typeValue;\n }\n field.type = \"scalarField\";\n field.scalarField = scalar;\n }\n\n return field;\n}\n\n/**\n * The typeCode encodes the column type, nullable flag, and whether it has name/children.\n */\nfunction decodeColumn(src: Uint8Array, offset: IntWrapper): Column {\n const typeCode = decodeVarintInt32(src, offset, 1)[0] >>> 0;\n const column = TypeMap.decodeColumnType(typeCode);\n\n if (!column) {\n throw new Error(`Unsupported column type code: ${typeCode}`);\n }\n\n if (TypeMap.columnTypeHasName(typeCode)) {\n column.name = decodeString(src, offset);\n } else {\n // ID and GEOMETRY columns have implicit names\n if (typeCode >= 0 && typeCode <= 3) {\n column.name = \"id\";\n } else if (typeCode === 4) {\n column.name = \"geometry\";\n }\n }\n\n if (TypeMap.columnTypeHasChildren(typeCode)) {\n // Only STRUCT (typeCode 30) has children\n const childCount = decodeVarintInt32(src, offset, 1)[0] >>> 0;\n const complexCol = column.complexType;\n complexCol.children = new Array(childCount);\n for (let i = 0; i < childCount; i++) {\n complexCol.children[i] = decodeField(src, offset);\n }\n }\n\n return column;\n}\n\n/**\n * Top-level decoder for embedded tileset metadata.\n * Reads exactly ONE FeatureTableSchema from the stream.\n *\n * @param bytes The byte array containing the metadata\n * @param offset The current offset in the byte array (will be advanced)\n */\nexport function decodeEmbeddedTileSetMetadata(bytes: Uint8Array, offset: IntWrapper): [TileSetMetadata, number] {\n const meta = {} as TileSetMetadata;\n meta.featureTables = [];\n\n const table = {} as FeatureTableSchema;\n table.name = decodeString(bytes, offset);\n const extent = decodeVarintInt32(bytes, offset, 1)[0] >>> 0;\n\n const columnCount = decodeVarintInt32(bytes, offset, 1)[0] >>> 0;\n table.columns = new Array(columnCount);\n for (let j = 0; j < columnCount; j++) {\n table.columns[j] = decodeColumn(bytes, offset);\n }\n\n meta.featureTables.push(table);\n\n return [meta, extent];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilesetMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tileset/tilesetMetadata.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,EAAE,EAAE,CAAC;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"tilesetMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tileset/tilesetMetadata.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,EAAE,EAAE,CAAC;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;CACN,CAAC","sourcesContent":["// based on ../spec/schema/mlt_tileset_metadata.proto\nexport const ColumnScope = {\n FEATURE: 0,\n VERTEX: 1,\n} as const;\n\nexport const 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} as const;\n\nexport const ComplexType = {\n GEOMETRY: 0,\n STRUCT: 1,\n} as const;\n\nexport const LogicalScalarType = {\n ID: 0,\n} as const;\n\nexport const LogicalComplexType = {\n BINARY: 0,\n RANGE_MAP: 1,\n} as const;\n\nexport interface TileSetMetadata {\n version?: number | null;\n featureTables: FeatureTableSchema[];\n name?: string | null;\n description?: string | null;\n attribution?: string | null;\n minZoom?: number | null;\n maxZoom?: number | null;\n bounds: number[];\n center: number[];\n}\n\nexport interface FeatureTableSchema {\n name?: string | null;\n columns: Column[];\n}\n\nexport interface Column {\n name?: string | null;\n nullable?: boolean | null;\n columnScope?: number | null;\n scalarType?: ScalarColumn | null;\n complexType?: ComplexColumn | null;\n type?: \"scalarType\" | \"complexType\";\n}\n\nexport interface ScalarColumn {\n longID?: boolean | null;\n physicalType?: number | null;\n logicalType?: number | null;\n type?: \"physicalType\" | \"logicalType\";\n}\n\nexport interface ComplexColumn {\n physicalType?: number | null;\n logicalType?: number | null;\n children: Field[];\n type?: \"physicalType\" | \"logicalType\";\n}\n\nexport interface Field {\n name?: string | null;\n nullable?: boolean | null;\n scalarField?: ScalarField | null;\n complexField?: ComplexField | null;\n type?: \"scalarField\" | \"complexField\";\n}\n\nexport interface ScalarField {\n physicalType?: number | null;\n logicalType?: number | null;\n type?: \"physicalType\" | \"logicalType\";\n}\n\nexport interface ComplexField {\n physicalType?: number | null;\n logicalType?: number | null;\n children: Field[];\n type?: \"physicalType\" | \"logicalType\";\n}\n"]}
|