@maplibre/mlt 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/LICENSE.txt +231 -0
  2. package/dist/decoding/decodingUtils.js +2 -2
  3. package/dist/decoding/decodingUtils.js.map +1 -1
  4. package/dist/decoding/decodingUtils.spec.js +2 -2
  5. package/dist/decoding/decodingUtils.spec.js.map +1 -1
  6. package/dist/decoding/fsstDecoder.js.map +1 -1
  7. package/dist/decoding/fsstDecoder.spec.js +14 -10
  8. package/dist/decoding/fsstDecoder.spec.js.map +1 -1
  9. package/dist/decoding/geometryDecoder.js +40 -200
  10. package/dist/decoding/geometryDecoder.js.map +1 -1
  11. package/dist/decoding/geometryDecoder.spec.js.map +1 -1
  12. package/dist/decoding/geometryScaling.js.map +1 -1
  13. package/dist/decoding/intWrapper.js.map +1 -1
  14. package/dist/decoding/integerDecodingUtils.d.ts +1 -1
  15. package/dist/decoding/integerDecodingUtils.js.map +1 -1
  16. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
  17. package/dist/decoding/integerStreamDecoder.d.ts +13 -22
  18. package/dist/decoding/integerStreamDecoder.js +234 -237
  19. package/dist/decoding/integerStreamDecoder.js.map +1 -1
  20. package/dist/decoding/integerStreamDecoder.spec.js +77 -39
  21. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
  22. package/dist/decoding/propertyDecoder.js +21 -21
  23. package/dist/decoding/propertyDecoder.js.map +1 -1
  24. package/dist/decoding/propertyDecoder.spec.js +162 -199
  25. package/dist/decoding/propertyDecoder.spec.js.map +1 -1
  26. package/dist/decoding/stringDecoder.d.ts +2 -10
  27. package/dist/decoding/stringDecoder.js +150 -157
  28. package/dist/decoding/stringDecoder.js.map +1 -1
  29. package/dist/decoding/stringDecoder.spec.js +59 -60
  30. package/dist/decoding/stringDecoder.spec.js.map +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  33. package/dist/metadata/tile/lengthType.js.map +1 -1
  34. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  35. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  36. package/dist/metadata/tile/offsetType.js.map +1 -1
  37. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  38. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  39. package/dist/metadata/tile/scalarType.js.map +1 -1
  40. package/dist/metadata/tile/streamMetadataDecoder.d.ts +28 -4
  41. package/dist/metadata/tile/streamMetadataDecoder.js +81 -15
  42. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  43. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +4 -4
  44. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  45. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
  46. package/dist/metadata/tileset/typeMap.d.ts +21 -29
  47. package/dist/metadata/tileset/typeMap.js +167 -169
  48. package/dist/metadata/tileset/typeMap.js.map +1 -1
  49. package/dist/mltDecoder.js +20 -18
  50. package/dist/mltDecoder.js.map +1 -1
  51. package/dist/mltDecoder.spec.js.map +1 -1
  52. package/dist/mltMetadata.js.map +1 -1
  53. package/dist/vector/constant/intConstVector.js.map +1 -1
  54. package/dist/vector/constant/longConstVector.js.map +1 -1
  55. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  56. package/dist/vector/featureTable.js.map +1 -1
  57. package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
  58. package/dist/vector/filter/flatSelectionVector.js +54 -0
  59. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  60. package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
  61. package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
  62. package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
  63. package/dist/vector/filter/selectionVector.d.ts +8 -0
  64. package/dist/vector/filter/selectionVector.js +2 -0
  65. package/dist/vector/filter/selectionVector.js.map +1 -0
  66. package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
  67. package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
  68. package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
  69. package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
  70. package/dist/vector/filter/selectionVectorUtils.js +37 -0
  71. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  72. package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
  73. package/dist/vector/filter/sequenceSelectionVector.js +67 -0
  74. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  75. package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
  76. package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
  77. package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
  78. package/dist/vector/fixedSizeVector.js.map +1 -1
  79. package/dist/vector/flat/bitVector.js.map +1 -1
  80. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  81. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  82. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  83. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
  84. package/dist/vector/flat/intFlatVector.js.map +1 -1
  85. package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
  86. package/dist/vector/flat/longFlatVector.js.map +1 -1
  87. package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
  88. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  89. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  90. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
  91. package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
  92. package/dist/vector/geometry/constGeometryVector.js +6 -6
  93. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  94. package/dist/vector/geometry/constGpuVector.d.ts +1 -1
  95. package/dist/vector/geometry/constGpuVector.js +3 -24
  96. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  97. package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
  98. package/dist/vector/geometry/flatGeometryVector.js +7 -7
  99. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  100. package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
  101. package/dist/vector/geometry/flatGpuVector.js +3 -22
  102. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  103. package/dist/vector/geometry/geometryType.js.map +1 -1
  104. package/dist/vector/geometry/geometryVector.js +2 -2
  105. package/dist/vector/geometry/geometryVector.js.map +1 -1
  106. package/dist/vector/geometry/geometryVectorConverter.js +4 -4
  107. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  108. package/dist/vector/geometry/gpuVector.js.map +1 -1
  109. package/dist/vector/geometry/topologyVector.js.map +1 -1
  110. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  111. package/dist/vector/geometry/zOrderCurve.d.ts +4 -17
  112. package/dist/vector/geometry/zOrderCurve.js +10 -35
  113. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  114. package/dist/vector/geometry/zOrderCurve.spec.js +15 -10
  115. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
  116. package/dist/vector/intVector.js.map +1 -1
  117. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  118. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  119. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
  120. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  121. package/dist/vector/variableSizeVector.js.map +1 -1
  122. package/dist/vector/vector.js.map +1 -1
  123. package/dist/vector/vectorType.js.map +1 -1
  124. package/package.json +5 -5
  125. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +0 -15
  126. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +0 -27
  127. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +0 -1
  128. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +0 -24
  129. package/dist/metadata/tile/rleEncodedStreamMetadata.js +0 -38
  130. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +0 -1
  131. package/dist/metadata/tile/streamMetadata.d.ts +0 -29
  132. package/dist/metadata/tile/streamMetadata.js +0 -82
  133. package/dist/metadata/tile/streamMetadata.js.map +0 -1
  134. package/dist/vector/geometry/spaceFillingCurve.d.ts +0 -22
  135. package/dist/vector/geometry/spaceFillingCurve.js +0 -31
  136. package/dist/vector/geometry/spaceFillingCurve.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"typeMap.js","sourceRoot":"","sources":["../../../src/metadata/tileset/typeMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeMap.js","sourceRoot":"","sources":["../../../src/metadata/tileset/typeMap.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type Column,\n ColumnScope,\n type ComplexColumn,\n ComplexType,\n type ScalarColumn,\n ScalarType,\n} from \"./tilesetMetadata\";\n\n/**\n * The type code is a single varint32 that encodes:\n * - Physical or logical type\n * - Nullable flag\n * - Whether the column has a name (typeCode >= 10)\n * - Whether the column has children (typeCode == 30 for STRUCT)\n * - For ID types: whether it uses long (64-bit) IDs\n */\n\n/**\n * Decodes a type code into a Column structure.\n * ID columns (0-3) are represented as physical UINT_32 or UINT_64 types in TypeScript\n */\nexport function decodeColumnType(typeCode: number): Column | null {\n switch (typeCode) {\n case 0:\n case 1:\n case 2:\n case 3: {\n // ID columns: 0=uint32, 1=uint64, 2=nullable uint32, 3=nullable uint64\n const column = {} as Column;\n column.nullable = (typeCode & 1) !== 0; // Bit 0 = nullable;\n column.columnScope = ColumnScope.FEATURE;\n const scalarCol = {} as ScalarColumn;\n // Map to physical type since TS schema doesn't have LogicalScalarType.ID\n const physicalType = typeCode > 1 ? ScalarType.UINT_64 : ScalarType.UINT_32; // Bit 1 = longID\n scalarCol.physicalType = physicalType;\n scalarCol.type = \"physicalType\";\n column.scalarType = scalarCol;\n column.type = \"scalarType\";\n return column;\n }\n case 4: {\n // GEOMETRY (non-nullable, no children)\n const column = {} as Column;\n column.nullable = false;\n column.columnScope = ColumnScope.FEATURE;\n const complexCol = {} as ComplexColumn;\n complexCol.type = \"physicalType\";\n complexCol.physicalType = ComplexType.GEOMETRY;\n column.type = \"complexType\";\n column.complexType = complexCol;\n return column;\n }\n case 30: {\n // STRUCT (non-nullable with children)\n const column = {} as Column;\n column.nullable = false;\n column.columnScope = ColumnScope.FEATURE;\n const complexCol = {} as ComplexColumn;\n complexCol.type = \"physicalType\";\n complexCol.physicalType = ComplexType.STRUCT;\n column.type = \"complexType\";\n column.complexType = complexCol;\n return column;\n }\n default:\n return mapScalarType(typeCode);\n }\n}\n\n/**\n * Returns true if this type code requires a name to be stored.\n * ID (0-3) and GEOMETRY (4) columns have implicit names.\n * All other types (>= 10) require explicit names.\n */\nexport function columnTypeHasName(typeCode: number): boolean {\n return typeCode >= 10;\n}\n\n/**\n * Returns true if this type code has child fields.\n * Only STRUCT (typeCode 30) has children.\n */\nexport function columnTypeHasChildren(typeCode: number): boolean {\n return typeCode === 30;\n}\n\n/**\n * Determines if a stream count needs to be read for this column.\n * Mirrors the logic in cpp/include/mlt/metadata/type_map.hpp lines 81-118\n */\nexport function hasStreamCount(column: Column): boolean {\n // ID columns don't have stream count (identified by name)\n if (column.name === \"id\") {\n return false;\n }\n\n if (column.type === \"scalarType\") {\n const scalarCol = column.scalarType;\n\n if (scalarCol.type === \"physicalType\") {\n const physicalType = scalarCol.physicalType;\n switch (physicalType) {\n case ScalarType.BOOLEAN:\n case ScalarType.INT_8:\n case ScalarType.UINT_8:\n case ScalarType.INT_32:\n case ScalarType.UINT_32:\n case ScalarType.INT_64:\n case ScalarType.UINT_64:\n case ScalarType.FLOAT:\n case ScalarType.DOUBLE:\n return false;\n case ScalarType.STRING:\n return true;\n default:\n return false;\n }\n } else if (scalarCol.type === \"logicalType\") {\n return false;\n }\n } else if (column.type === \"complexType\") {\n const complexCol = column.complexType;\n\n if (complexCol.type === \"physicalType\") {\n const physicalType = complexCol.physicalType;\n switch (physicalType) {\n case ComplexType.GEOMETRY:\n case ComplexType.STRUCT:\n return true;\n default:\n return false;\n }\n }\n }\n\n console.warn(\"Unexpected column type in hasStreamCount\", column);\n return false;\n}\n\n/**\n * Maps a scalar type code to a Column with ScalarType.\n * Type codes 10-29 encode scalar types with nullable flag.\n * Even codes are non-nullable, odd codes are nullable.\n */\nfunction mapScalarType(typeCode: number): Column | null {\n let scalarType: number | null = null;\n\n switch (typeCode) {\n case 10:\n case 11:\n scalarType = ScalarType.BOOLEAN;\n break;\n case 12:\n case 13:\n scalarType = ScalarType.INT_8;\n break;\n case 14:\n case 15:\n scalarType = ScalarType.UINT_8;\n break;\n case 16:\n case 17:\n scalarType = ScalarType.INT_32;\n break;\n case 18:\n case 19:\n scalarType = ScalarType.UINT_32;\n break;\n case 20:\n case 21:\n scalarType = ScalarType.INT_64;\n break;\n case 22:\n case 23:\n scalarType = ScalarType.UINT_64;\n break;\n case 24:\n case 25:\n scalarType = ScalarType.FLOAT;\n break;\n case 26:\n case 27:\n scalarType = ScalarType.DOUBLE;\n break;\n case 28:\n case 29:\n scalarType = ScalarType.STRING;\n break;\n default:\n return null;\n }\n\n const column = {} as Column;\n column.nullable = (typeCode & 1) !== 0;\n column.columnScope = ColumnScope.FEATURE;\n const scalarCol = {} as ScalarColumn;\n scalarCol.type = \"physicalType\";\n scalarCol.physicalType = scalarType;\n column.type = \"scalarType\";\n column.scalarType = scalarCol;\n return column;\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import FeatureTable from "./vector/featureTable";
2
2
  import { ScalarType } from "./metadata/tileset/tilesetMetadata";
3
3
  import IntWrapper from "./decoding/intWrapper";
4
- import { StreamMetadataDecoder } from "./metadata/tile/streamMetadataDecoder";
4
+ import { decodeStreamMetadata } from "./metadata/tile/streamMetadataDecoder";
5
5
  import { VectorType } from "./vector/vectorType";
6
6
  import { IntFlatVector } from "./vector/flat/intFlatVector";
7
7
  import BitVector from "./vector/flat/bitVector";
8
- import IntegerStreamDecoder from "./decoding/integerStreamDecoder";
8
+ import { decodeConstIntStream, decodeConstLongStream, decodeIntStream, decodeLongFloat64Stream, decodeLongStream, decodeSequenceIntStream, decodeSequenceLongStream, getVectorType, } from "./decoding/integerStreamDecoder";
9
9
  import { IntSequenceVector } from "./vector/sequence/intSequenceVector";
10
10
  import { LongFlatVector } from "./vector/flat/longFlatVector";
11
11
  import { LongSequenceVector } from "./vector/sequence/longSequenceVector";
@@ -17,7 +17,7 @@ import { LongConstVector } from "./vector/constant/longConstVector";
17
17
  import { decodeBooleanRle } from "./decoding/decodingUtils";
18
18
  import { DoubleFlatVector } from "./vector/flat/doubleFlatVector";
19
19
  import { decodeEmbeddedTileSetMetadata } from "./metadata/tileset/embeddedTilesetMetadataDecoder";
20
- import { TypeMap } from "./metadata/tileset/typeMap";
20
+ import { hasStreamCount } from "./metadata/tileset/typeMap";
21
21
  const ID_COLUMN_NAME = "id";
22
22
  const GEOMETRY_COLUMN_NAME = "geometry";
23
23
  /**
@@ -60,15 +60,15 @@ export default function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger
60
60
  let nullabilityBuffer = null;
61
61
  // Check column metadata nullable flag, not numStreams (ID columns don't have stream count)
62
62
  if (columnMetadata.nullable) {
63
- const presentStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
63
+ const presentStreamMetadata = decodeStreamMetadata(tile, offset);
64
64
  const streamDataStart = offset.get();
65
65
  const values = decodeBooleanRle(tile, presentStreamMetadata.numValues, offset);
66
66
  // Fix offset: decodeBooleanRle doesn't consume all compressed bytes
67
67
  offset.set(streamDataStart + presentStreamMetadata.byteLength);
68
68
  nullabilityBuffer = new BitVector(values, presentStreamMetadata.numValues);
69
69
  }
70
- const idDataStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
71
- numFeatures = idDataStreamMetadata.getDecompressedCount();
70
+ const idDataStreamMetadata = decodeStreamMetadata(tile, offset);
71
+ numFeatures = idDataStreamMetadata.decompressedCount;
72
72
  idVector = decodeIdColumn(tile, columnMetadata, offset, columnName, idDataStreamMetadata, nullabilityBuffer ?? numFeatures, idWithinMaxSafeInteger);
73
73
  }
74
74
  else if (columnName === GEOMETRY_COLUMN_NAME) {
@@ -76,8 +76,8 @@ export default function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger
76
76
  // If no ID column, get numFeatures from geometry type stream metadata
77
77
  if (numFeatures === 0) {
78
78
  const savedOffset = offset.get();
79
- const geometryTypeMetadata = StreamMetadataDecoder.decode(tile, offset);
80
- numFeatures = geometryTypeMetadata.getDecompressedCount();
79
+ const geometryTypeMetadata = decodeStreamMetadata(tile, offset);
80
+ numFeatures = geometryTypeMetadata.decompressedCount;
81
81
  offset.set(savedOffset); // Reset to re-read in decodeGeometryColumn
82
82
  }
83
83
  if (geometryScaling) {
@@ -87,7 +87,7 @@ export default function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger
87
87
  }
88
88
  else {
89
89
  // Property columns: STRING and STRUCT have stream count, others don't
90
- const hasStreamCnt = TypeMap.hasStreamCount(columnMetadata);
90
+ const hasStreamCnt = hasStreamCount(columnMetadata);
91
91
  const numStreams = hasStreamCnt ? decodeVarintInt32(tile, offset, 1)[0] : 1;
92
92
  if (numStreams === 0 && columnMetadata.type === "scalarType") {
93
93
  continue;
@@ -95,7 +95,9 @@ export default function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger
95
95
  const propertyVector = decodePropertyColumn(tile, offset, columnMetadata, numStreams, numFeatures, undefined);
96
96
  if (propertyVector) {
97
97
  if (Array.isArray(propertyVector)) {
98
- propertyVectors.push(...propertyVector);
98
+ for (const property of propertyVector) {
99
+ propertyVectors.push(property);
100
+ }
99
101
  }
100
102
  else {
101
103
  propertyVectors.push(propertyVector);
@@ -111,19 +113,19 @@ export default function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger
111
113
  }
112
114
  function decodeIdColumn(tile, columnMetadata, offset, columnName, idDataStreamMetadata, sizeOrNullabilityBuffer, idWithinMaxSafeInteger = false) {
113
115
  const idDataType = columnMetadata.scalarType.physicalType;
114
- const vectorType = IntegerStreamDecoder.getVectorType(idDataStreamMetadata, sizeOrNullabilityBuffer, tile, offset);
116
+ const vectorType = getVectorType(idDataStreamMetadata, sizeOrNullabilityBuffer, tile, offset);
115
117
  if (idDataType === ScalarType.UINT_32) {
116
118
  switch (vectorType) {
117
119
  case VectorType.FLAT: {
118
- const id = IntegerStreamDecoder.decodeIntStream(tile, offset, idDataStreamMetadata, false);
120
+ const id = decodeIntStream(tile, offset, idDataStreamMetadata, false);
119
121
  return new IntFlatVector(columnName, id, sizeOrNullabilityBuffer);
120
122
  }
121
123
  case VectorType.SEQUENCE: {
122
- const id = IntegerStreamDecoder.decodeSequenceIntStream(tile, offset, idDataStreamMetadata);
124
+ const id = decodeSequenceIntStream(tile, offset, idDataStreamMetadata);
123
125
  return new IntSequenceVector(columnName, id[0], id[1], idDataStreamMetadata.numRleValues);
124
126
  }
125
127
  case VectorType.CONST: {
126
- const id = IntegerStreamDecoder.decodeConstIntStream(tile, offset, idDataStreamMetadata, false);
128
+ const id = decodeConstIntStream(tile, offset, idDataStreamMetadata, false);
127
129
  return new IntConstVector(columnName, id, sizeOrNullabilityBuffer);
128
130
  }
129
131
  }
@@ -132,18 +134,18 @@ function decodeIdColumn(tile, columnMetadata, offset, columnName, idDataStreamMe
132
134
  switch (vectorType) {
133
135
  case VectorType.FLAT: {
134
136
  if (idWithinMaxSafeInteger) {
135
- const id = IntegerStreamDecoder.decodeLongFloat64Stream(tile, offset, idDataStreamMetadata, false);
137
+ const id = decodeLongFloat64Stream(tile, offset, idDataStreamMetadata, false);
136
138
  return new DoubleFlatVector(columnName, id, sizeOrNullabilityBuffer);
137
139
  }
138
- const id = IntegerStreamDecoder.decodeLongStream(tile, offset, idDataStreamMetadata, false);
140
+ const id = decodeLongStream(tile, offset, idDataStreamMetadata, false);
139
141
  return new LongFlatVector(columnName, id, sizeOrNullabilityBuffer);
140
142
  }
141
143
  case VectorType.SEQUENCE: {
142
- const id = IntegerStreamDecoder.decodeSequenceLongStream(tile, offset, idDataStreamMetadata);
144
+ const id = decodeSequenceLongStream(tile, offset, idDataStreamMetadata);
143
145
  return new LongSequenceVector(columnName, id[0], id[1], idDataStreamMetadata.numRleValues);
144
146
  }
145
147
  case VectorType.CONST: {
146
- const id = IntegerStreamDecoder.decodeConstLongStream(tile, offset, idDataStreamMetadata, false);
148
+ const id = decodeConstLongStream(tile, offset, idDataStreamMetadata, false);
147
149
  return new LongConstVector(columnName, id, sizeOrNullabilityBuffer);
148
150
  }
149
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mltDecoder.js","sourceRoot":"","sources":["../src/mltDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mltDecoder.js","sourceRoot":"","sources":["../src/mltDecoder.ts"],"names":[],"mappings":"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","sourcesContent":["import FeatureTable from \"./vector/featureTable\";\nimport { type Column, ScalarType } from \"./metadata/tileset/tilesetMetadata\";\nimport IntWrapper from \"./decoding/intWrapper\";\nimport { decodeStreamMetadata, type RleEncodedStreamMetadata } from \"./metadata/tile/streamMetadataDecoder\";\nimport { VectorType } from \"./vector/vectorType\";\nimport { IntFlatVector } from \"./vector/flat/intFlatVector\";\nimport BitVector from \"./vector/flat/bitVector\";\nimport {\n decodeConstIntStream,\n decodeConstLongStream,\n decodeIntStream,\n decodeLongFloat64Stream,\n decodeLongStream,\n decodeSequenceIntStream,\n decodeSequenceLongStream,\n getVectorType,\n} from \"./decoding/integerStreamDecoder\";\nimport { IntSequenceVector } from \"./vector/sequence/intSequenceVector\";\nimport { LongFlatVector } from \"./vector/flat/longFlatVector\";\nimport { LongSequenceVector } from \"./vector/sequence/longSequenceVector\";\nimport { type IntVector } from \"./vector/intVector\";\nimport { decodeVarintInt32 } from \"./decoding/integerDecodingUtils\";\nimport { decodeGeometryColumn } from \"./decoding/geometryDecoder\";\nimport { decodePropertyColumn } from \"./decoding/propertyDecoder\";\nimport { IntConstVector } from \"./vector/constant/intConstVector\";\nimport { LongConstVector } from \"./vector/constant/longConstVector\";\nimport type GeometryScaling from \"./decoding/geometryScaling\";\nimport { decodeBooleanRle } from \"./decoding/decodingUtils\";\nimport { DoubleFlatVector } from \"./vector/flat/doubleFlatVector\";\nimport { decodeEmbeddedTileSetMetadata } from \"./metadata/tileset/embeddedTilesetMetadataDecoder\";\nimport { hasStreamCount } from \"./metadata/tileset/typeMap\";\nimport { type StreamMetadata } from \"./metadata/tile/streamMetadataDecoder\";\nimport { type GeometryVector } from \"./vector/geometry/geometryVector\";\nimport type Vector from \"./vector/vector\";\nimport { type GpuVector } from \"./vector/geometry/gpuVector\";\n\nconst ID_COLUMN_NAME = \"id\";\nconst GEOMETRY_COLUMN_NAME = \"geometry\";\n\n/**\n * Decodes a tile with embedded metadata (Tag 0x01 format).\n * This is the primary decoder function for MLT tiles.\n *\n * @param tile The tile data to decode (will be decompressed if gzip-compressed)\n * @param geometryScaling Optional geometry scaling parameters\n * @param idWithinMaxSafeInteger If true, limits ID values to JavaScript safe integer range (53 bits)\n */\nexport default function decodeTile(\n tile: Uint8Array,\n geometryScaling?: GeometryScaling,\n idWithinMaxSafeInteger = true,\n): FeatureTable[] {\n const offset = new IntWrapper(0);\n const featureTables: FeatureTable[] = [];\n\n while (offset.get() < tile.length) {\n const blockLength = decodeVarintInt32(tile, offset, 1)[0] >>> 0;\n const blockStart = offset.get();\n const blockEnd = blockStart + blockLength;\n if (blockEnd > tile.length) {\n throw new Error(`Block overruns tile: ${blockEnd} > ${tile.length}`);\n }\n\n const tag = decodeVarintInt32(tile, offset, 1)[0] >>> 0;\n if (tag !== 1) {\n // Skip unknown block types\n offset.set(blockEnd);\n continue;\n }\n\n // Decode embedded metadata and extent (one of each per block)\n const decode = decodeEmbeddedTileSetMetadata(tile, offset);\n const metadata = decode[0];\n const extent = decode[1];\n const featureTableMetadata = metadata.featureTables[0];\n\n // Decode columns from streams\n let idVector: IntVector | null = null;\n let geometryVector: GeometryVector | GpuVector | null = null;\n const propertyVectors: Vector[] = [];\n let numFeatures = 0;\n\n for (const columnMetadata of featureTableMetadata.columns) {\n const columnName = columnMetadata.name;\n\n if (columnName === ID_COLUMN_NAME) {\n let nullabilityBuffer = null;\n // Check column metadata nullable flag, not numStreams (ID columns don't have stream count)\n if (columnMetadata.nullable) {\n const presentStreamMetadata = decodeStreamMetadata(tile, offset);\n const streamDataStart = offset.get();\n const values = decodeBooleanRle(tile, presentStreamMetadata.numValues, offset);\n // Fix offset: decodeBooleanRle doesn't consume all compressed bytes\n offset.set(streamDataStart + presentStreamMetadata.byteLength);\n nullabilityBuffer = new BitVector(values, presentStreamMetadata.numValues);\n }\n\n const idDataStreamMetadata = decodeStreamMetadata(tile, offset);\n numFeatures = idDataStreamMetadata.decompressedCount;\n\n idVector = decodeIdColumn(\n tile,\n columnMetadata,\n offset,\n columnName,\n idDataStreamMetadata,\n nullabilityBuffer ?? numFeatures,\n idWithinMaxSafeInteger,\n );\n } else if (columnName === GEOMETRY_COLUMN_NAME) {\n const numStreams = decodeVarintInt32(tile, offset, 1)[0];\n\n // If no ID column, get numFeatures from geometry type stream metadata\n if (numFeatures === 0) {\n const savedOffset = offset.get();\n const geometryTypeMetadata = decodeStreamMetadata(tile, offset);\n numFeatures = geometryTypeMetadata.decompressedCount;\n offset.set(savedOffset); // Reset to re-read in decodeGeometryColumn\n }\n\n if (geometryScaling) {\n geometryScaling.scale = geometryScaling.extent / extent;\n }\n\n geometryVector = decodeGeometryColumn(tile, numStreams, offset, numFeatures, geometryScaling);\n } else {\n // Property columns: STRING and STRUCT have stream count, others don't\n const hasStreamCnt = hasStreamCount(columnMetadata);\n const numStreams = hasStreamCnt ? decodeVarintInt32(tile, offset, 1)[0] : 1;\n\n if (numStreams === 0 && columnMetadata.type === \"scalarType\") {\n continue;\n }\n\n const propertyVector = decodePropertyColumn(\n tile,\n offset,\n columnMetadata,\n numStreams,\n numFeatures,\n undefined,\n );\n if (propertyVector) {\n if (Array.isArray(propertyVector)) {\n for (const property of propertyVector) {\n propertyVectors.push(property);\n }\n } else {\n propertyVectors.push(propertyVector);\n }\n }\n }\n }\n\n const featureTable = new FeatureTable(\n featureTableMetadata.name,\n geometryVector,\n idVector,\n propertyVectors,\n extent,\n );\n featureTables.push(featureTable);\n offset.set(blockEnd);\n }\n\n return featureTables;\n}\n\nfunction decodeIdColumn(\n tile: Uint8Array,\n columnMetadata: Column,\n offset: IntWrapper,\n columnName: string,\n idDataStreamMetadata: StreamMetadata,\n sizeOrNullabilityBuffer: number | BitVector,\n idWithinMaxSafeInteger: boolean = false,\n): IntVector {\n const idDataType = columnMetadata.scalarType.physicalType;\n const vectorType = getVectorType(idDataStreamMetadata, sizeOrNullabilityBuffer, tile, offset);\n if (idDataType === ScalarType.UINT_32) {\n switch (vectorType) {\n case VectorType.FLAT: {\n const id = decodeIntStream(tile, offset, idDataStreamMetadata, false);\n return new IntFlatVector(columnName, id, sizeOrNullabilityBuffer);\n }\n case VectorType.SEQUENCE: {\n const id = decodeSequenceIntStream(tile, offset, idDataStreamMetadata);\n return new IntSequenceVector(\n columnName,\n id[0],\n id[1],\n (idDataStreamMetadata as RleEncodedStreamMetadata).numRleValues,\n );\n }\n case VectorType.CONST: {\n const id = decodeConstIntStream(tile, offset, idDataStreamMetadata, false);\n return new IntConstVector(columnName, id, sizeOrNullabilityBuffer);\n }\n }\n } else {\n switch (vectorType) {\n case VectorType.FLAT: {\n if (idWithinMaxSafeInteger) {\n const id = decodeLongFloat64Stream(tile, offset, idDataStreamMetadata, false);\n return new DoubleFlatVector(columnName, id, sizeOrNullabilityBuffer);\n }\n\n const id = decodeLongStream(tile, offset, idDataStreamMetadata, false);\n return new LongFlatVector(columnName, id, sizeOrNullabilityBuffer);\n }\n case VectorType.SEQUENCE: {\n const id = decodeSequenceLongStream(tile, offset, idDataStreamMetadata);\n return new LongSequenceVector(\n columnName,\n id[0],\n id[1],\n (idDataStreamMetadata as RleEncodedStreamMetadata).numRleValues,\n );\n }\n case VectorType.CONST: {\n const id = decodeConstLongStream(tile, offset, idDataStreamMetadata, false);\n return new LongConstVector(columnName, id, sizeOrNullabilityBuffer);\n }\n }\n }\n\n throw new Error(\"Vector type not supported for id column.\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mltDecoder.spec.js","sourceRoot":"","sources":["../src/mltDecoder.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mltDecoder.spec.js","sourceRoot":"","sources":["../src/mltDecoder.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, describe, it } from \"vitest\";\nimport { readdirSync, readFileSync } from \"fs\";\nimport { parse, join } from \"path\";\nimport { VectorTile, type VectorTileFeature } from \"@mapbox/vector-tile\";\nimport Pbf from \"pbf\";\n\nimport { type FeatureTable, type Feature, decodeTile } from \".\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\n\nconst ITERATOR_TILE = path.resolve(__dirname, \"../../test/expected/tag0x01/simple/multiline-boolean.mlt\");\n\ndescribe(\"MLT Decoder - MVT comparison for SIMPLE tiles\", () => {\n const simpleMltTileDir = \"../test/expected/tag0x01/simple\";\n const simpleMvtTileDir = \"../test/fixtures/simple\";\n testTiles(simpleMltTileDir, simpleMvtTileDir);\n});\n\ndescribe(\"MLT Decoder - MVT comparison for Amazon tiles\", () => {\n const amazonMltTileDir = \"../test/expected/tag0x01/amazon\";\n const amazonMvtTileDir = \"../test/fixtures/amazon\";\n testTiles(amazonMltTileDir, amazonMvtTileDir);\n});\n\ndescribe(\"MLT Decoder - MVT comparison for OMT tiles\", () => {\n const omtMltTileDir = \"../test/expected/tag0x01/omt\";\n const omtMvtTileDir = \"../test/fixtures/omt\";\n testTiles(omtMltTileDir, omtMvtTileDir);\n}, 150000);\n\ndescribe(\"FeatureTable\", () => {\n it(\"should iterate through features correctly\", () => {\n const bytes = new Uint8Array(fs.readFileSync(ITERATOR_TILE));\n const featureTables = decodeTile(bytes);\n\n const table = featureTables[0];\n\n expect(table.name).toBe(\"layer\");\n expect(table.extent).toBe(4096);\n\n let featureCount = 0;\n for (const feature of table) {\n expect(feature.geometry).toBeTruthy();\n expect(feature.geometry.coordinates).toBeInstanceOf(Array);\n expect(feature.geometry.coordinates.length).toBeGreaterThan(0);\n expect(typeof feature.geometry.type).toBe(\"number\");\n\n featureCount++;\n }\n expect(featureCount).toBe(table.numFeatures);\n });\n});\n\nfunction testTiles(mltSearchDir: string, mvtSearchDir: string) {\n const mltFileNames = readdirSync(mltSearchDir)\n .filter((file) => parse(file).ext === \".mlt\")\n .map((file) => parse(file).name);\n for (const fileName of mltFileNames) {\n it(`should compare ${fileName} tile`, () => {\n const mltFileName = `${fileName}.mlt`;\n const mltPath = join(mltSearchDir, mltFileName);\n const mvtPath = join(mvtSearchDir, `${fileName}.mvt`);\n\n const encodedMvt = readFileSync(mvtPath);\n const encodedMlt = readFileSync(mltPath);\n const buf = new Pbf(encodedMvt);\n const decodedMvt = new VectorTile(buf);\n\n const decodedMlt = decodeTile(encodedMlt, undefined, true);\n comparePlainGeometryEncodedTile(decodedMlt, decodedMvt);\n });\n }\n}\n\nfunction removeEmptyStrings(mvtProperties: Record<string, any>) {\n for (const key of Object.keys(mvtProperties)) {\n const value = mvtProperties[key];\n if (typeof value === \"string\" && !value.length) {\n delete mvtProperties[key];\n }\n }\n}\n\nfunction comparePlainGeometryEncodedTile(mlt: FeatureTable[], mvt: VectorTile) {\n for (const featureTable of mlt) {\n const layer = mvt.layers[featureTable.name];\n\n // Use getFeatures() instead of iterator (like C++ and Java implementations)\n const mltFeatures = featureTable.getFeatures();\n\n expect(mltFeatures.length).toBe(layer.length);\n\n for (let j = 0; j < layer.length; j++) {\n const mvtFeature = layer.feature(j);\n const mltFeature = mltFeatures[j];\n\n compareId(mltFeature, mvtFeature, true);\n\n const mltGeometry = mltFeature.geometry?.coordinates;\n const mvtGeometry = mvtFeature.loadGeometry();\n expect(mltGeometry).toEqual(mvtGeometry);\n\n const mltProperties = mltFeature.properties;\n const mvtProperties = mvtFeature.properties;\n transformPropertyNames(mltProperties);\n transformPropertyNames(mvtProperties);\n convertBigIntPropertyValues(mltProperties);\n //TODO: fix -> since a change in the java converter shared dictionary encoding empty strings are not\n //encoded anymore\n removeEmptyStrings(mvtProperties);\n removeEmptyStrings(mltProperties);\n\n expect(Object.keys(mltProperties).length).toEqual(Object.keys(mvtProperties).length);\n expect(mltProperties).toEqual(mvtProperties);\n }\n }\n}\n\nfunction compareId(mltFeature: Feature, mvtFeature: VectorTileFeature, idWithinMaxSafeInteger: boolean) {\n if (!mvtFeature.id) {\n /* Java MVT library in the MVT converter decodes zero for undefined ids */\n expect([0, null, 0n]).toContain(mltFeature.id);\n } else {\n const mltFeatureId = mltFeature.id;\n /* For const and sequence vectors the decoder can return bigint compared to the vector-tile-js library */\n const actualId =\n idWithinMaxSafeInteger && typeof mltFeatureId !== \"bigint\" ? mltFeatureId : Number(mltFeatureId);\n /*\n * The id check can fail for two known reasons:\n * - The java-vector-tile library used in the Java converter returns negative integers for the\n * unoptimized tileset in some tiles\n * - The vector-tile-js library is using number types for the id so there can only be stored\n * values up to 53 bits without loss of precision\n **/\n if (mltFeatureId < 0 || mltFeatureId > Number.MAX_SAFE_INTEGER) {\n /* Expected to fail in some/most cases */\n try {\n expect(actualId).toEqual(mvtFeature.id);\n } catch (e) {\n //console.info(\"id mismatch\", featureTableName, mltFeatureId, mvtFeature.id);\n }\n return;\n }\n\n expect(actualId).toEqual(mvtFeature.id);\n }\n}\n\n/* Change bigint to number for comparison with MVT */\nfunction convertBigIntPropertyValues(mltProperties: Record<string, any>) {\n for (const key of Object.keys(mltProperties)) {\n if (typeof mltProperties[key] === \"bigint\") {\n mltProperties[key] = Number(mltProperties[key]);\n }\n }\n}\n\nfunction transformPropertyNames(properties: Record<string, any>) {\n const propertyNames = Object.keys(properties);\n for (let k = 0; k < propertyNames.length; k++) {\n const key = propertyNames[k];\n\n let newKey = key;\n /* rename the property names which are separated with : in mlt to match _ in omt mvts */\n if (key.startsWith(\"name\") && key.includes(\":\")) {\n newKey = (key as any).replaceAll(\":\", \"_\");\n properties[newKey] = properties[key];\n delete properties[key];\n }\n\n /* Currently id is not supported as a property name in a FeatureTable,\n * so this quick workaround is implemented */\n if (newKey === \"_id\") {\n properties[\"id\"] = properties[newKey];\n delete properties[newKey];\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mltMetadata.js","sourceRoot":"","sources":["../src/mltMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,uDAAM,CAAA;IACN,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,uDAAM,CAAA;IACN,yDAAO,CAAA;IACP,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,+DAAU,CAAA;IACV,iEAAW,CAAA;AACf,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACtB;;;SAGK;IACL,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,mEAAY,CAAA;IACZ,iDAAG,CAAA;IACH,iEAAW,CAAA;IACX,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,mFAAoB,CAAA;IACpB,6FAAyB,CAAA;IACzB,iGAA2B,CAAA;AAC/B,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB"}
1
+ {"version":3,"file":"mltMetadata.js","sourceRoot":"","sources":["../src/mltMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,uDAAM,CAAA;IACN,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,uDAAM,CAAA;IACN,yDAAO,CAAA;IACP,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,+DAAU,CAAA;IACV,iEAAW,CAAA;AACf,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACtB;;;SAGK;IACL,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,mEAAY,CAAA;IACZ,iDAAG,CAAA;IACH,iEAAW,CAAA;IACX,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,mFAAoB,CAAA;IACpB,6FAAyB,CAAA;IACzB,iGAA2B,CAAA;AAC/B,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB","sourcesContent":["export enum ColumnDataType {\n STRING,\n FLOAT,\n DOUBLE,\n INT_64,\n UINT_64,\n BOOLEAN,\n GEOMETRY,\n GEOMETRY_M,\n GEOMETRY_Z,\n GEOMETRY_ZM,\n}\n\nexport enum ColumnEncoding {\n /*\n * String -> no dictionary coding\n * Geometry -> standard unsorted encoding\n * */\n PLAIN,\n VARINT,\n DELTA_VARINT,\n RLE,\n BOOLEAN_RLE,\n BYTE_RLE,\n DICTIONARY,\n LOCALIZED_DICTIONARY,\n ORDERED_GEOMETRY_ENCODING,\n INDEXED_COORDINATE_ENCODING,\n}\n\nexport interface ColumnMetadata {\n columnName: string;\n columnType: ColumnDataType;\n columnEncoding: ColumnEncoding;\n streams: Map<string, StreamMetadata>;\n}\n\nexport interface StreamMetadata {\n numValues: number;\n byteLength: number;\n}\n\nexport interface LayerMetadata {\n name: string;\n numColumns: number;\n numFeatures: number;\n columnMetadata: ColumnMetadata[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,cAAe,SAAQ,MAA0B;IAC1D,YAAmB,IAAY,EAAE,KAAa,EAAE,uBAA2C;QACvF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ"}
1
+ {"version":3,"file":"intConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,cAAe,SAAQ,MAA0B;IAC1D,YAAmB,IAAY,EAAE,KAAa,EAAE,uBAA2C;QACvF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ","sourcesContent":["import type BitVector from \"../flat/bitVector\";\nimport Vector from \"../vector\";\n\nexport class IntConstVector extends Vector<Int32Array, number> {\n public constructor(name: string, value: number, sizeOrNullabilityBuffer: number | BitVector) {\n super(name, Int32Array.of(value), sizeOrNullabilityBuffer);\n }\n\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[0];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"longConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/longConstVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,eAAgB,SAAQ,MAA6B;IAC9D,YAAmB,IAAY,EAAE,KAAa,EAAE,uBAA2C;QACvF,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ"}
1
+ {"version":3,"file":"longConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/longConstVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,eAAgB,SAAQ,MAA6B;IAC9D,YAAmB,IAAY,EAAE,KAAa,EAAE,uBAA2C;QACvF,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ","sourcesContent":["import type BitVector from \"../flat/bitVector\";\nimport Vector from \"../vector\";\n\nexport class LongConstVector extends Vector<BigInt64Array, bigint> {\n public constructor(name: string, value: bigint, sizeOrNullabilityBuffer: number | BitVector) {\n super(name, BigInt64Array.of(value), sizeOrNullabilityBuffer);\n }\n\n protected getValueFromBuffer(index: number): bigint {\n return this.dataBuffer[0];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stringDictionaryVector.js","sourceRoot":"","sources":["../../../src/vector/dictionary/stringDictionaryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,sBAAuB,SAAQ,kBAAsC;IAKzD;IAJJ,WAAW,CAAc;IAE1C,YACI,IAAY,EACK,WAAuB,EACxC,YAAwB,EACxB,gBAA4B,EAC5B,iBAA6B;QAE7B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QALpE,gBAAW,GAAX,WAAW,CAAY;QAMxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ"}
1
+ {"version":3,"file":"stringDictionaryVector.js","sourceRoot":"","sources":["../../../src/vector/dictionary/stringDictionaryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,sBAAuB,SAAQ,kBAAsC;IAKzD;IAJJ,WAAW,CAAc;IAE1C,YACI,IAAY,EACK,WAAuB,EACxC,YAAwB,EACxB,gBAA4B,EAC5B,iBAA6B;QAE7B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QALpE,gBAAW,GAAX,WAAW,CAAY;QAMxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"../flat/bitVector\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringDictionaryVector extends VariableSizeVector<Uint8Array, string> {\n private readonly textEncoder: TextEncoder;\n\n constructor(\n name: string,\n private readonly indexBuffer: Int32Array,\n offsetBuffer: Int32Array,\n dictionaryBuffer: Uint8Array,\n nullabilityBuffer?: BitVector,\n ) {\n super(name, offsetBuffer, dictionaryBuffer, nullabilityBuffer ?? indexBuffer.length);\n this.indexBuffer = indexBuffer;\n this.textEncoder = new TextEncoder();\n }\n\n protected getValueFromBuffer(index: number): string {\n const offset = this.indexBuffer[index];\n const start = this.offsetBuffer[offset];\n const end = this.offsetBuffer[offset + 1];\n return decodeString(this.dataBuffer, start, end);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"featureTable.js","sourceRoot":"","sources":["../../src/vector/featureTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"featureTable.js","sourceRoot":"","sources":["../../src/vector/featureTable.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Geometry, type GeometryVector } from \"./geometry/geometryVector\";\nimport type Vector from \"./vector\";\nimport { type IntVector } from \"./intVector\";\nimport { IntFlatVector } from \"./flat/intFlatVector\";\nimport { DoubleFlatVector } from \"./flat/doubleFlatVector\";\nimport { IntSequenceVector } from \"./sequence/intSequenceVector\";\nimport { IntConstVector } from \"./constant/intConstVector\";\nimport { type GpuVector } from \"./geometry/gpuVector\";\n\nexport interface Feature {\n id: number | bigint;\n geometry: Geometry;\n properties: { [key: string]: unknown };\n}\n\nexport default class FeatureTable implements Iterable<Feature> {\n private propertyVectorsMap: Map<string, Vector>;\n\n constructor(\n private readonly _name: string,\n private readonly _geometryVector: GeometryVector | GpuVector,\n private readonly _idVector?: IntVector,\n private readonly _propertyVectors?: Vector[],\n private readonly _extent = 4096,\n ) {}\n\n get name(): string {\n return this._name;\n }\n\n get idVector(): IntVector {\n return this._idVector;\n }\n\n get geometryVector(): GeometryVector | GpuVector {\n return this._geometryVector;\n }\n\n get propertyVectors(): Vector[] {\n return this._propertyVectors;\n }\n\n getPropertyVector(name: string): Vector {\n if (!this.propertyVectorsMap) {\n this.propertyVectorsMap = new Map(this._propertyVectors.map((vector) => [vector.name, vector]));\n }\n\n return this.propertyVectorsMap.get(name);\n }\n\n *[Symbol.iterator](): Iterator<Feature> {\n const geometryIterator = this.geometryVector[Symbol.iterator]();\n let index = 0;\n\n while (index < this.numFeatures) {\n let id;\n if (this.idVector) {\n id = this.containsMaxSaveIntegerValues(this.idVector)\n ? Number(this.idVector.getValue(index))\n : this.idVector.getValue(index);\n }\n\n const geometry = geometryIterator?.next().value;\n\n const properties: { [key: string]: unknown } = {};\n for (const propertyColumn of this.propertyVectors) {\n if (!propertyColumn) {\n continue;\n }\n\n const columnName = propertyColumn.name;\n const propertyValue = propertyColumn.getValue(index);\n if (propertyValue !== null) {\n properties[columnName] = propertyValue;\n }\n }\n\n index++;\n yield { id, geometry, properties };\n }\n }\n\n get numFeatures(): number {\n return this.geometryVector.numGeometries;\n }\n\n get extent(): number {\n return this._extent;\n }\n\n /**\n * Returns all features as an array\n */\n getFeatures(): Feature[] {\n const features: Feature[] = [];\n const geometries = this.geometryVector.getGeometries();\n\n for (let i = 0; i < this.numFeatures; i++) {\n let id;\n if (this.idVector) {\n id = this.containsMaxSaveIntegerValues(this.idVector)\n ? Number(this.idVector.getValue(i))\n : this.idVector.getValue(i);\n }\n\n const geometry = {\n coordinates: geometries[i],\n type: this.geometryVector.geometryType(i),\n };\n\n const properties: { [key: string]: unknown } = {};\n for (const propertyColumn of this.propertyVectors) {\n if (!propertyColumn) continue;\n const columnName = propertyColumn.name;\n const propertyValue = propertyColumn.getValue(i);\n if (propertyValue !== null) {\n properties[columnName] = propertyValue;\n }\n }\n\n features.push({ id, geometry, properties });\n }\n return features;\n }\n\n private containsMaxSaveIntegerValues(intVector: IntVector) {\n return (\n intVector instanceof IntFlatVector ||\n (intVector instanceof IntConstVector && intVector instanceof IntSequenceVector) ||\n intVector instanceof DoubleFlatVector\n );\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import { type SelectionVector } from "./selectionVector";
2
+ /**
3
+ * Array-based SelectionVector for non-sequential selections.
4
+ * Stores indices explicitly, suitable for irregular patterns and frequent modifications.
5
+ */
6
+ export declare class FlatSelectionVector implements SelectionVector {
7
+ private _selectionVector;
8
+ private _limit?;
9
+ /**
10
+ * @param _selectionVector
11
+ * @param _limit In write mode the limit of a Buffer is the limit of how much data you can write into the buffer.
12
+ * In write mode the limit is equal to the capacity of the Buffer.
13
+ */
14
+ constructor(_selectionVector: number[], _limit?: number);
15
+ /** @inheritdoc */
16
+ getIndex(index: number): number;
17
+ /** @inheritdoc */
18
+ setIndex(index: number, value: number): void;
19
+ /** @inheritdoc */
20
+ setLimit(limit: number): void;
21
+ /** @inheritdoc */
22
+ selectionValues(): number[];
23
+ /** @inheritdoc */
24
+ get capacity(): number;
25
+ /** @inheritdoc */
26
+ get limit(): number;
27
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Array-based SelectionVector for non-sequential selections.
3
+ * Stores indices explicitly, suitable for irregular patterns and frequent modifications.
4
+ */
5
+ export class FlatSelectionVector {
6
+ _selectionVector;
7
+ _limit;
8
+ /**
9
+ * @param _selectionVector
10
+ * @param _limit In write mode the limit of a Buffer is the limit of how much data you can write into the buffer.
11
+ * In write mode the limit is equal to the capacity of the Buffer.
12
+ */
13
+ constructor(_selectionVector, _limit) {
14
+ this._selectionVector = _selectionVector;
15
+ this._limit = _limit;
16
+ if (!this._limit) {
17
+ this._limit = this._selectionVector.length;
18
+ }
19
+ }
20
+ /** @inheritdoc */
21
+ getIndex(index) {
22
+ if (index >= this._limit || index < 0) {
23
+ throw new RangeError("Index out of bounds");
24
+ }
25
+ return this._selectionVector[index];
26
+ }
27
+ /** @inheritdoc */
28
+ setIndex(index, value) {
29
+ if (index >= this._limit || index < 0) {
30
+ throw new RangeError("Index out of bounds");
31
+ }
32
+ this._selectionVector[index] = value;
33
+ }
34
+ /** @inheritdoc */
35
+ setLimit(limit) {
36
+ if (limit < 0 || limit > this.capacity) {
37
+ throw new RangeError("Limit out of bounds");
38
+ }
39
+ this._limit = limit;
40
+ }
41
+ /** @inheritdoc */
42
+ selectionValues() {
43
+ return this._selectionVector;
44
+ }
45
+ /** @inheritdoc */
46
+ get capacity() {
47
+ return this._selectionVector.length;
48
+ }
49
+ /** @inheritdoc */
50
+ get limit() {
51
+ return this._limit;
52
+ }
53
+ }
54
+ //# sourceMappingURL=flatSelectionVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatSelectionVector.js","sourceRoot":"","sources":["../../../src/vector/filter/flatSelectionVector.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAOhB;IACA;IAPZ;;;;OAIG;IACH,YACY,gBAA0B,EAC1B,MAAe;QADf,qBAAgB,GAAhB,gBAAgB,CAAU;QAC1B,WAAM,GAAN,MAAM,CAAS;QAEvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,KAAa;QAClB,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,KAAa,EAAE,KAAa;QACjC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,KAAa;QAClB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,eAAe;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import { type SelectionVector } from \"./selectionVector\";\n\n/**\n * Array-based SelectionVector for non-sequential selections.\n * Stores indices explicitly, suitable for irregular patterns and frequent modifications.\n */\nexport class FlatSelectionVector implements SelectionVector {\n /**\n * @param _selectionVector\n * @param _limit In write mode the limit of a Buffer is the limit of how much data you can write into the buffer.\n * In write mode the limit is equal to the capacity of the Buffer.\n */\n constructor(\n private _selectionVector: number[],\n private _limit?: number,\n ) {\n if (!this._limit) {\n this._limit = this._selectionVector.length;\n }\n }\n\n /** @inheritdoc */\n getIndex(index: number): number {\n if (index >= this._limit || index < 0) {\n throw new RangeError(\"Index out of bounds\");\n }\n\n return this._selectionVector[index];\n }\n\n /** @inheritdoc */\n setIndex(index: number, value: number): void {\n if (index >= this._limit || index < 0) {\n throw new RangeError(\"Index out of bounds\");\n }\n\n this._selectionVector[index] = value;\n }\n\n /** @inheritdoc */\n setLimit(limit: number): void {\n if (limit < 0 || limit > this.capacity) {\n throw new RangeError(\"Limit out of bounds\");\n }\n this._limit = limit;\n }\n\n /** @inheritdoc */\n selectionValues(): number[] {\n return this._selectionVector;\n }\n\n /** @inheritdoc */\n get capacity() {\n return this._selectionVector.length;\n }\n\n /** @inheritdoc */\n get limit() {\n return this._limit;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { FlatSelectionVector } from "./flatSelectionVector";
3
+ describe("flatSelectionVector", () => {
4
+ describe("Basic functionality", () => {
5
+ it("Should store and retrieve indices", () => {
6
+ const fsVector = new FlatSelectionVector([0, 1, 999999999999, -28, 36]);
7
+ expect(fsVector.getIndex(0)).toBe(0);
8
+ expect(fsVector.getIndex(2)).toBe(999999999999);
9
+ expect(fsVector.getIndex(3)).toBe(-28);
10
+ fsVector.setIndex(2, -48);
11
+ expect(fsVector.getIndex(2)).toBe(-48);
12
+ });
13
+ it("Should throw RangeError for out of bounds access", () => {
14
+ const fsVector = new FlatSelectionVector([0, 1, 2]);
15
+ expect(() => fsVector.getIndex(10)).toThrowError("Index out of bounds");
16
+ expect(() => fsVector.getIndex(-1)).toThrowError("Index out of bounds");
17
+ expect(() => fsVector.setIndex(-1, 0)).toThrowError("Index out of bounds");
18
+ expect(() => fsVector.setIndex(10, 0)).toThrowError("Index out of bounds");
19
+ });
20
+ });
21
+ describe("Array wrapper behavior", () => {
22
+ it("Should return reference to underlying array", () => {
23
+ const vector = [0, 1, 2, 3, 4];
24
+ const fsVector = new FlatSelectionVector(vector);
25
+ expect(fsVector.selectionValues()).toBe(vector);
26
+ });
27
+ it("Should use array length as default limit and capacity", () => {
28
+ const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5]);
29
+ expect(fsVector.limit).toBe(5);
30
+ expect(fsVector.capacity).toBe(5);
31
+ });
32
+ it("Should allow custom limit independent of array length", () => {
33
+ const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);
34
+ expect(fsVector.limit).toBe(3);
35
+ expect(fsVector.capacity).toBe(5);
36
+ });
37
+ });
38
+ describe("set Limit Tests", () => {
39
+ it("should set Limit", () => {
40
+ const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);
41
+ fsVector.setLimit(2);
42
+ expect(fsVector.limit).toBe(2);
43
+ });
44
+ it("should throw out of bounds error", () => {
45
+ const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);
46
+ expect(() => fsVector.setLimit(-10)).toThrowError("Limit out of bounds");
47
+ expect(() => fsVector.setLimit(10)).toThrowError("Limit out of bounds");
48
+ });
49
+ });
50
+ });
51
+ //# sourceMappingURL=flatSelectionVector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatSelectionVector.spec.js","sourceRoot":"","sources":["../../../src/vector/filter/flatSelectionVector.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { FlatSelectionVector } from \"./flatSelectionVector\";\n\ndescribe(\"flatSelectionVector\", () => {\n describe(\"Basic functionality\", () => {\n it(\"Should store and retrieve indices\", () => {\n const fsVector = new FlatSelectionVector([0, 1, 999999999999, -28, 36]);\n expect(fsVector.getIndex(0)).toBe(0);\n expect(fsVector.getIndex(2)).toBe(999999999999);\n expect(fsVector.getIndex(3)).toBe(-28);\n\n fsVector.setIndex(2, -48);\n expect(fsVector.getIndex(2)).toBe(-48);\n });\n\n it(\"Should throw RangeError for out of bounds access\", () => {\n const fsVector = new FlatSelectionVector([0, 1, 2]);\n expect(() => fsVector.getIndex(10)).toThrowError(\"Index out of bounds\");\n expect(() => fsVector.getIndex(-1)).toThrowError(\"Index out of bounds\");\n expect(() => fsVector.setIndex(-1, 0)).toThrowError(\"Index out of bounds\");\n expect(() => fsVector.setIndex(10, 0)).toThrowError(\"Index out of bounds\");\n });\n });\n\n describe(\"Array wrapper behavior\", () => {\n it(\"Should return reference to underlying array\", () => {\n const vector = [0, 1, 2, 3, 4];\n const fsVector = new FlatSelectionVector(vector);\n expect(fsVector.selectionValues()).toBe(vector);\n });\n\n it(\"Should use array length as default limit and capacity\", () => {\n const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5]);\n expect(fsVector.limit).toBe(5);\n expect(fsVector.capacity).toBe(5);\n });\n\n it(\"Should allow custom limit independent of array length\", () => {\n const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);\n expect(fsVector.limit).toBe(3);\n expect(fsVector.capacity).toBe(5);\n });\n });\n describe(\"set Limit Tests\", () => {\n it(\"should set Limit\", () => {\n const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);\n fsVector.setLimit(2);\n expect(fsVector.limit).toBe(2);\n });\n it(\"should throw out of bounds error\", () => {\n const fsVector = new FlatSelectionVector([1, 2, 3, 4, 5], 3);\n expect(() => fsVector.setLimit(-10)).toThrowError(\"Limit out of bounds\");\n expect(() => fsVector.setLimit(10)).toThrowError(\"Limit out of bounds\");\n });\n });\n});\n"]}
@@ -0,0 +1,8 @@
1
+ export interface SelectionVector {
2
+ getIndex(index: number): number;
3
+ setIndex(index: number, value: number): void;
4
+ setLimit(limit: number): void;
5
+ selectionValues(): number[];
6
+ get limit(): any;
7
+ get capacity(): any;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=selectionVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectionVector.js","sourceRoot":"","sources":["../../../src/vector/filter/selectionVector.ts"],"names":[],"mappings":"","sourcesContent":["export interface SelectionVector {\n getIndex(index: number): number;\n setIndex(index: number, value: number): void;\n setLimit(limit: number): void;\n selectionValues(): number[];\n /* Index of the first element that should not be read or written.\n * It's not the last index that can be accessed, but rather the index that marks the end of\n * the valid data in the buffer */\n get limit();\n /* Total size of the buffer */\n get capacity();\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};