@maplibre/mlt 0.0.1-alpha.10

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 (242) hide show
  1. package/README.md +28 -0
  2. package/dist/encodings/decodingUtils.d.ts +13 -0
  3. package/dist/encodings/decodingUtils.js +194 -0
  4. package/dist/encodings/decodingUtils.js.map +1 -0
  5. package/dist/encodings/doubleDecoder.d.ts +4 -0
  6. package/dist/encodings/doubleDecoder.js +22 -0
  7. package/dist/encodings/doubleDecoder.js.map +1 -0
  8. package/dist/encodings/fastpfor/bitpacking.d.ts +51 -0
  9. package/dist/encodings/fastpfor/bitpacking.js +3930 -0
  10. package/dist/encodings/fastpfor/bitpacking.js.map +1 -0
  11. package/dist/encodings/fastpfor/codec.d.ts +19 -0
  12. package/dist/encodings/fastpfor/codec.js +3 -0
  13. package/dist/encodings/fastpfor/codec.js.map +1 -0
  14. package/dist/encodings/fastpfor/fastpfor.d.ts +38 -0
  15. package/dist/encodings/fastpfor/fastpfor.js +148 -0
  16. package/dist/encodings/fastpfor/fastpfor.js.map +1 -0
  17. package/dist/encodings/fastpfor/fastpfor.spec.d.ts +1 -0
  18. package/dist/encodings/fastpfor/fastpfor.spec.js +160 -0
  19. package/dist/encodings/fastpfor/fastpfor.spec.js.map +1 -0
  20. package/dist/encodings/fastpfor/index.d.ts +20 -0
  21. package/dist/encodings/fastpfor/index.js +50 -0
  22. package/dist/encodings/fastpfor/index.js.map +1 -0
  23. package/dist/encodings/fastpfor/util.d.ts +2 -0
  24. package/dist/encodings/fastpfor/util.js +16 -0
  25. package/dist/encodings/fastpfor/util.js.map +1 -0
  26. package/dist/encodings/fastpfor/varint.d.ts +18 -0
  27. package/dist/encodings/fastpfor/varint.js +125 -0
  28. package/dist/encodings/fastpfor/varint.js.map +1 -0
  29. package/dist/encodings/fsstDecoder.d.ts +9 -0
  30. package/dist/encodings/fsstDecoder.js +34 -0
  31. package/dist/encodings/fsstDecoder.js.map +1 -0
  32. package/dist/encodings/geometryDecoder.d.ts +5 -0
  33. package/dist/encodings/geometryDecoder.js +441 -0
  34. package/dist/encodings/geometryDecoder.js.map +1 -0
  35. package/dist/encodings/geometryDecoder.spec.d.ts +1 -0
  36. package/dist/encodings/geometryDecoder.spec.js +7 -0
  37. package/dist/encodings/geometryDecoder.spec.js.map +1 -0
  38. package/dist/encodings/geometryScaling.d.ts +6 -0
  39. package/dist/encodings/geometryScaling.js +3 -0
  40. package/dist/encodings/geometryScaling.js.map +1 -0
  41. package/dist/encodings/intWrapper.d.ts +8 -0
  42. package/dist/encodings/intWrapper.js +23 -0
  43. package/dist/encodings/intWrapper.js.map +1 -0
  44. package/dist/encodings/integerDecodingUtils.d.ts +46 -0
  45. package/dist/encodings/integerDecodingUtils.js +699 -0
  46. package/dist/encodings/integerDecodingUtils.js.map +1 -0
  47. package/dist/encodings/integerDecodingUtils.spec.d.ts +1 -0
  48. package/dist/encodings/integerDecodingUtils.spec.js +63 -0
  49. package/dist/encodings/integerDecodingUtils.spec.js.map +1 -0
  50. package/dist/encodings/integerStreamDecoder.d.ts +26 -0
  51. package/dist/encodings/integerStreamDecoder.js +249 -0
  52. package/dist/encodings/integerStreamDecoder.js.map +1 -0
  53. package/dist/encodings/propertyDecoder.d.ts +4 -0
  54. package/dist/encodings/propertyDecoder.js +146 -0
  55. package/dist/encodings/propertyDecoder.js.map +1 -0
  56. package/dist/encodings/stringDecoder.d.ts +11 -0
  57. package/dist/encodings/stringDecoder.js +149 -0
  58. package/dist/encodings/stringDecoder.js.map +1 -0
  59. package/dist/index.d.ts +11 -0
  60. package/dist/index.js +19 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/metadata/tile/dictionaryType.d.ts +8 -0
  63. package/dist/metadata/tile/dictionaryType.js +13 -0
  64. package/dist/metadata/tile/dictionaryType.js.map +1 -0
  65. package/dist/metadata/tile/lengthType.d.ts +9 -0
  66. package/dist/metadata/tile/lengthType.js +14 -0
  67. package/dist/metadata/tile/lengthType.js.map +1 -0
  68. package/dist/metadata/tile/logicalLevelTechnique.d.ts +8 -0
  69. package/dist/metadata/tile/logicalLevelTechnique.js +15 -0
  70. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -0
  71. package/dist/metadata/tile/logicalStreamType.d.ts +12 -0
  72. package/dist/metadata/tile/logicalStreamType.js +24 -0
  73. package/dist/metadata/tile/logicalStreamType.js.map +1 -0
  74. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +15 -0
  75. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +31 -0
  76. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -0
  77. package/dist/metadata/tile/offsetType.d.ts +6 -0
  78. package/dist/metadata/tile/offsetType.js +11 -0
  79. package/dist/metadata/tile/offsetType.js.map +1 -0
  80. package/dist/metadata/tile/physicalLevelTechnique.d.ts +17 -0
  81. package/dist/metadata/tile/physicalLevelTechnique.js +22 -0
  82. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -0
  83. package/dist/metadata/tile/physicalStreamType.d.ts +6 -0
  84. package/dist/metadata/tile/physicalStreamType.js +11 -0
  85. package/dist/metadata/tile/physicalStreamType.js.map +1 -0
  86. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +20 -0
  87. package/dist/metadata/tile/rleEncodedStreamMetadata.js +36 -0
  88. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -0
  89. package/dist/metadata/tile/scalarType.d.ts +12 -0
  90. package/dist/metadata/tile/scalarType.js +17 -0
  91. package/dist/metadata/tile/scalarType.js.map +1 -0
  92. package/dist/metadata/tile/streamMetadata.d.ts +23 -0
  93. package/dist/metadata/tile/streamMetadata.js +78 -0
  94. package/dist/metadata/tile/streamMetadata.js.map +1 -0
  95. package/dist/metadata/tile/streamMetadataDecoder.d.ts +5 -0
  96. package/dist/metadata/tile/streamMetadataDecoder.js +24 -0
  97. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -0
  98. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +10 -0
  99. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +123 -0
  100. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -0
  101. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  102. package/dist/metadata/tileset/tilesetMetadata.js +32 -0
  103. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  104. package/dist/metadata/tileset/typeMap.d.ts +38 -0
  105. package/dist/metadata/tileset/typeMap.js +193 -0
  106. package/dist/metadata/tileset/typeMap.js.map +1 -0
  107. package/dist/mltDecoder.d.ts +11 -0
  108. package/dist/mltDecoder.js +149 -0
  109. package/dist/mltDecoder.js.map +1 -0
  110. package/dist/mltDecoder.spec.d.ts +1 -0
  111. package/dist/mltDecoder.spec.js +142 -0
  112. package/dist/mltDecoder.spec.js.map +1 -0
  113. package/dist/mltMetadata.d.ts +40 -0
  114. package/dist/mltMetadata.js +34 -0
  115. package/dist/mltMetadata.js.map +1 -0
  116. package/dist/vector/constant/intConstVector.d.ts +19 -0
  117. package/dist/vector/constant/intConstVector.js +90 -0
  118. package/dist/vector/constant/intConstVector.js.map +1 -0
  119. package/dist/vector/constant/longConstVector.d.ts +19 -0
  120. package/dist/vector/constant/longConstVector.js +88 -0
  121. package/dist/vector/constant/longConstVector.js.map +1 -0
  122. package/dist/vector/dictionary/stringDictionaryVector.d.ts +22 -0
  123. package/dist/vector/dictionary/stringDictionaryVector.js +193 -0
  124. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -0
  125. package/dist/vector/dictionary/stringDictionaryVector.spec.d.ts +1 -0
  126. package/dist/vector/dictionary/stringDictionaryVector.spec.js +49 -0
  127. package/dist/vector/dictionary/stringDictionaryVector.spec.js.map +1 -0
  128. package/dist/vector/featureTable.d.ts +33 -0
  129. package/dist/vector/featureTable.js +109 -0
  130. package/dist/vector/featureTable.js.map +1 -0
  131. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  132. package/dist/vector/filter/constSelectionVector.js +1 -0
  133. package/dist/vector/filter/constSelectionVector.js.map +1 -0
  134. package/dist/vector/filter/flatSelectionVector.d.ts +16 -0
  135. package/dist/vector/filter/flatSelectionVector.js +44 -0
  136. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  137. package/dist/vector/filter/selectionVector.d.ts +8 -0
  138. package/dist/vector/filter/selectionVector.js +3 -0
  139. package/dist/vector/filter/selectionVector.js.map +1 -0
  140. package/dist/vector/filter/selectionVectorUtils.d.ts +7 -0
  141. package/dist/vector/filter/selectionVectorUtils.js +44 -0
  142. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  143. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  144. package/dist/vector/filter/sequenceSelectionVector.js +1 -0
  145. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  146. package/dist/vector/fixedSizeVector.d.ts +3 -0
  147. package/dist/vector/fixedSizeVector.js +11 -0
  148. package/dist/vector/fixedSizeVector.js.map +1 -0
  149. package/dist/vector/flat/bitVector.d.ts +14 -0
  150. package/dist/vector/flat/bitVector.js +40 -0
  151. package/dist/vector/flat/bitVector.js.map +1 -0
  152. package/dist/vector/flat/booleanFlatVector.d.ts +20 -0
  153. package/dist/vector/flat/booleanFlatVector.js +55 -0
  154. package/dist/vector/flat/booleanFlatVector.js.map +1 -0
  155. package/dist/vector/flat/doubleFlatVector.d.ts +17 -0
  156. package/dist/vector/flat/doubleFlatVector.js +109 -0
  157. package/dist/vector/flat/doubleFlatVector.js.map +1 -0
  158. package/dist/vector/flat/floatFlatVector.d.ts +17 -0
  159. package/dist/vector/flat/floatFlatVector.js +109 -0
  160. package/dist/vector/flat/floatFlatVector.js.map +1 -0
  161. package/dist/vector/flat/intFlatVector.d.ts +17 -0
  162. package/dist/vector/flat/intFlatVector.js +122 -0
  163. package/dist/vector/flat/intFlatVector.js.map +1 -0
  164. package/dist/vector/flat/longFlatVector.d.ts +17 -0
  165. package/dist/vector/flat/longFlatVector.js +123 -0
  166. package/dist/vector/flat/longFlatVector.js.map +1 -0
  167. package/dist/vector/flat/stringFlatVector.d.ts +20 -0
  168. package/dist/vector/flat/stringFlatVector.js +177 -0
  169. package/dist/vector/flat/stringFlatVector.js.map +1 -0
  170. package/dist/vector/flat/stringFlatVector.spec.d.ts +1 -0
  171. package/dist/vector/flat/stringFlatVector.spec.js +46 -0
  172. package/dist/vector/flat/stringFlatVector.spec.js.map +1 -0
  173. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +27 -0
  174. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +123 -0
  175. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -0
  176. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  177. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +33 -0
  178. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  179. package/dist/vector/geometry/constGeometryVector.d.ts +18 -0
  180. package/dist/vector/geometry/constGeometryVector.js +54 -0
  181. package/dist/vector/geometry/constGeometryVector.js.map +1 -0
  182. package/dist/vector/geometry/constGpuVector.d.ts +15 -0
  183. package/dist/vector/geometry/constGpuVector.js +68 -0
  184. package/dist/vector/geometry/constGpuVector.js.map +1 -0
  185. package/dist/vector/geometry/flatGeometryVector.d.ts +17 -0
  186. package/dist/vector/geometry/flatGeometryVector.js +65 -0
  187. package/dist/vector/geometry/flatGeometryVector.js.map +1 -0
  188. package/dist/vector/geometry/flatGpuVector.d.ts +14 -0
  189. package/dist/vector/geometry/flatGpuVector.js +68 -0
  190. package/dist/vector/geometry/flatGpuVector.js.map +1 -0
  191. package/dist/vector/geometry/geometryType.d.ts +13 -0
  192. package/dist/vector/geometry/geometryType.js +19 -0
  193. package/dist/vector/geometry/geometryType.js.map +1 -0
  194. package/dist/vector/geometry/geometryVector.d.ts +37 -0
  195. package/dist/vector/geometry/geometryVector.js +73 -0
  196. package/dist/vector/geometry/geometryVector.js.map +1 -0
  197. package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -0
  198. package/dist/vector/geometry/geometryVectorConverter.js +305 -0
  199. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -0
  200. package/dist/vector/geometry/gpuVector.d.ts +26 -0
  201. package/dist/vector/geometry/gpuVector.js +129 -0
  202. package/dist/vector/geometry/gpuVector.js.map +1 -0
  203. package/dist/vector/geometry/point.d.ts +195 -0
  204. package/dist/vector/geometry/point.js +310 -0
  205. package/dist/vector/geometry/point.js.map +1 -0
  206. package/dist/vector/geometry/spaceFillingCurve.d.ts +22 -0
  207. package/dist/vector/geometry/spaceFillingCurve.js +34 -0
  208. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -0
  209. package/dist/vector/geometry/topologyVector.d.ts +9 -0
  210. package/dist/vector/geometry/topologyVector.js +24 -0
  211. package/dist/vector/geometry/topologyVector.js.map +1 -0
  212. package/dist/vector/geometry/vertexBufferType.d.ts +5 -0
  213. package/dist/vector/geometry/vertexBufferType.js +10 -0
  214. package/dist/vector/geometry/vertexBufferType.js.map +1 -0
  215. package/dist/vector/geometry/zOrderCurve.d.ts +17 -0
  216. package/dist/vector/geometry/zOrderCurve.js +44 -0
  217. package/dist/vector/geometry/zOrderCurve.js.map +1 -0
  218. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  219. package/dist/vector/geometry/zOrderCurve.spec.js +19 -0
  220. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  221. package/dist/vector/intVector.d.ts +8 -0
  222. package/dist/vector/intVector.js +3 -0
  223. package/dist/vector/intVector.js.map +1 -0
  224. package/dist/vector/sequence/intSequenceVector.d.ts +18 -0
  225. package/dist/vector/sequence/intSequenceVector.js +72 -0
  226. package/dist/vector/sequence/intSequenceVector.js.map +1 -0
  227. package/dist/vector/sequence/longSequenceVector.d.ts +18 -0
  228. package/dist/vector/sequence/longSequenceVector.js +57 -0
  229. package/dist/vector/sequence/longSequenceVector.js.map +1 -0
  230. package/dist/vector/sequence/sequenceVector.d.ts +5 -0
  231. package/dist/vector/sequence/sequenceVector.js +16 -0
  232. package/dist/vector/sequence/sequenceVector.js.map +1 -0
  233. package/dist/vector/variableSizeVector.d.ts +6 -0
  234. package/dist/vector/variableSizeVector.js +17 -0
  235. package/dist/vector/variableSizeVector.js.map +1 -0
  236. package/dist/vector/vector.d.ts +30 -0
  237. package/dist/vector/vector.js +76 -0
  238. package/dist/vector/vector.js.map +1 -0
  239. package/dist/vector/vectorType.d.ts +7 -0
  240. package/dist/vector/vectorType.js +12 -0
  241. package/dist/vector/vectorType.js.map +1 -0
  242. package/package.json +49 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const spaceFillingCurve_1 = __importDefault(require("./spaceFillingCurve"));
7
+ class ZOrderCurve extends spaceFillingCurve_1.default {
8
+ encode(vertex) {
9
+ this.validateCoordinates(vertex);
10
+ const shiftedX = vertex.x + this._coordinateShift;
11
+ const shiftedY = vertex.y + this._coordinateShift;
12
+ let mortonCode = 0;
13
+ for (let i = 0; i < this._numBits; i++) {
14
+ mortonCode |= ((shiftedX & (1 << i)) << i) | ((shiftedY & (1 << i)) << (i + 1));
15
+ }
16
+ return mortonCode;
17
+ }
18
+ decode(mortonCode) {
19
+ const x = this.decodeMorton(mortonCode) - this._coordinateShift;
20
+ const y = this.decodeMorton(mortonCode >> 1) - this._coordinateShift;
21
+ return { x, y };
22
+ }
23
+ decodeMorton(code) {
24
+ let coordinate = 0;
25
+ for (let i = 0; i < this._numBits; i++) {
26
+ coordinate |= (code & (1 << (2 * i))) >> i;
27
+ }
28
+ return coordinate;
29
+ }
30
+ static decode(mortonCode, numBits, coordinateShift) {
31
+ const x = ZOrderCurve.decodeMorton(mortonCode, numBits) - coordinateShift;
32
+ const y = ZOrderCurve.decodeMorton(mortonCode >> 1, numBits) - coordinateShift;
33
+ return { x, y };
34
+ }
35
+ static decodeMorton(code, numBits) {
36
+ let coordinate = 0;
37
+ for (let i = 0; i < numBits; i++) {
38
+ coordinate |= (code & (1 << (2 * i))) >> i;
39
+ }
40
+ return coordinate;
41
+ }
42
+ }
43
+ exports.default = ZOrderCurve;
44
+ //# sourceMappingURL=zOrderCurve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zOrderCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAEpD,MAAqB,WAAY,SAAQ,2BAAiB;IACtD,MAAM,CAAC,MAAgC;QACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAuB;QACtE,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC1E,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC/E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;QACrD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAvCD,8BAuCC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const zOrderCurve_1 = __importDefault(require("./zOrderCurve"));
8
+ (0, vitest_1.describe)("ZOrderCurve", () => {
9
+ (0, vitest_1.it)("decode", () => {
10
+ const expectedIndex = 38865244;
11
+ const expectedVertex = { x: 3358, y: 4130 };
12
+ const zCurve = new zOrderCurve_1.default(288, 4150);
13
+ const actualIndex = zCurve.encode(expectedVertex);
14
+ const actualVertex = zCurve.decode(actualIndex);
15
+ (0, vitest_1.expect)(actualIndex).toEqual(expectedIndex);
16
+ (0, vitest_1.expect)(actualVertex).toEqual(expectedVertex);
17
+ });
18
+ });
19
+ //# sourceMappingURL=zOrderCurve.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zOrderCurve.spec.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.spec.ts"],"names":[],"mappings":";;;;;AAAA,mCAA8C;AAC9C,gEAAwC;AAExC,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,QAAQ,EAAE,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,qBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type IntFlatVector } from "./flat/intFlatVector";
2
+ import { type LongFlatVector } from "./flat/longFlatVector";
3
+ import { type IntConstVector } from "./constant/intConstVector";
4
+ import { type LongConstVector } from "./constant/longConstVector";
5
+ import { type IntSequenceVector } from "./sequence/intSequenceVector";
6
+ import { type LongSequenceVector } from "./sequence/longSequenceVector";
7
+ import { type DoubleFlatVector } from "./flat/doubleFlatVector";
8
+ export type IntVector = IntFlatVector | LongFlatVector | DoubleFlatVector | IntSequenceVector | LongSequenceVector | IntConstVector | LongConstVector;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=intVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intVector.js","sourceRoot":"","sources":["../../src/vector/intVector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { SequenceVector } from "./sequenceVector";
2
+ import { type SelectionVector } from "../filter/selectionVector";
3
+ export declare class IntSequenceVector extends SequenceVector<Int32Array, number> {
4
+ constructor(name: string, baseValue: number, delta: number, size: number);
5
+ filter(value: number): SelectionVector;
6
+ match(values: number[]): SelectionVector;
7
+ filterSelected(value: number, selectionVector: SelectionVector): SelectionVector;
8
+ matchSelected(values: number[], selectionVector: SelectionVector): SelectionVector;
9
+ protected getValueFromBuffer(index: number): number;
10
+ filterNotEqual(value: number): SelectionVector;
11
+ filterNotEqualSelected(value: number, selectionVector: SelectionVector): void;
12
+ greaterThanOrEqualTo(value: number): SelectionVector;
13
+ greaterThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
14
+ noneMatch(values: number[]): SelectionVector;
15
+ noneMatchSelected(values: number[], selectionVector: SelectionVector): void;
16
+ smallerThanOrEqualTo(value: number): SelectionVector;
17
+ smallerThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
18
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntSequenceVector = void 0;
4
+ const sequenceVector_1 = require("./sequenceVector");
5
+ const flatSelectionVector_1 = require("../filter/flatSelectionVector");
6
+ class IntSequenceVector extends sequenceVector_1.SequenceVector {
7
+ constructor(name, baseValue, delta, size) {
8
+ super(name, Int32Array.of(baseValue), delta, size);
9
+ }
10
+ filter(value) {
11
+ const index = (value - this.dataBuffer[0]) / this.delta;
12
+ const sequenceValue = this.dataBuffer[0] + index * this.delta;
13
+ if (value === sequenceValue) {
14
+ return new flatSelectionVector_1.FlatSelectionVector([index]);
15
+ }
16
+ const vector = sequenceValue ? [index] : [];
17
+ return new flatSelectionVector_1.FlatSelectionVector(vector);
18
+ }
19
+ match(values) {
20
+ /*const baseValue = this.dataBuffer[0];
21
+ const sequenceValues = new Array(values.length);
22
+ let i = 0;
23
+ for(const value of sequenceValues){
24
+ const index = (value - baseValue) / this.delta;
25
+ const sequenceValue = baseValue + index * this.delta;
26
+ sequenceValues[i++] = sequenceValue;
27
+ }
28
+
29
+ if(value === sequenceValue){
30
+ return new FlatSelectionVector([index])
31
+ }
32
+
33
+ const vector = sequenceValue? [index] : [];
34
+ return new FlatSelectionVector(vector);*/
35
+ throw new Error("Not implemented yet.");
36
+ }
37
+ filterSelected(value, selectionVector) {
38
+ throw new Error("Not implemented yet.");
39
+ }
40
+ matchSelected(values, selectionVector) {
41
+ throw new Error("Not implemented yet.");
42
+ }
43
+ getValueFromBuffer(index) {
44
+ return this.dataBuffer[0] + index * this.delta;
45
+ }
46
+ filterNotEqual(value) {
47
+ throw new Error("Not implemented yet.");
48
+ }
49
+ filterNotEqualSelected(value, selectionVector) {
50
+ throw new Error("Not implemented yet.");
51
+ }
52
+ greaterThanOrEqualTo(value) {
53
+ throw new Error("Not implemented yet.");
54
+ }
55
+ greaterThanOrEqualToSelected(value, selectionVector) {
56
+ throw new Error("Not implemented yet.");
57
+ }
58
+ noneMatch(values) {
59
+ throw new Error("Not implemented yet.");
60
+ }
61
+ noneMatchSelected(values, selectionVector) {
62
+ throw new Error("Not implemented yet.");
63
+ }
64
+ smallerThanOrEqualTo(value) {
65
+ throw new Error("Not implemented yet.");
66
+ }
67
+ smallerThanOrEqualToSelected(value, selectionVector) {
68
+ throw new Error("Not implemented yet.");
69
+ }
70
+ }
71
+ exports.IntSequenceVector = IntSequenceVector;
72
+ //# sourceMappingURL=intSequenceVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,uEAAoE;AAEpE,MAAa,iBAAkB,SAAQ,+BAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,yCAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAgB;QAClB;;;;;;;;;;;;;;iDAcyC;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,eAAgC;QAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,eAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,eAAgC;QAClE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAAgB,EAAE,eAAgC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CACJ;AA9ED,8CA8EC"}
@@ -0,0 +1,18 @@
1
+ import { SequenceVector } from "./sequenceVector";
2
+ import { type SelectionVector } from "../filter/selectionVector";
3
+ export declare class LongSequenceVector extends SequenceVector<BigInt64Array, bigint> {
4
+ constructor(name: string, baseValue: bigint, delta: bigint, size: number);
5
+ filter(value: bigint): SelectionVector;
6
+ match(values: bigint[]): SelectionVector;
7
+ filterSelected(value: bigint, selectionVector: SelectionVector): SelectionVector;
8
+ matchSelected(values: bigint[], selectionVector: SelectionVector): SelectionVector;
9
+ protected getValueFromBuffer(index: number): bigint;
10
+ filterNotEqual(value: bigint): SelectionVector;
11
+ filterNotEqualSelected(value: bigint, selectionVector: SelectionVector): void;
12
+ greaterThanOrEqualTo(value: bigint): SelectionVector;
13
+ greaterThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
14
+ noneMatch(values: bigint[]): SelectionVector;
15
+ noneMatchSelected(values: bigint[], selectionVector: SelectionVector): void;
16
+ smallerThanOrEqualTo(value: bigint): SelectionVector;
17
+ smallerThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
18
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LongSequenceVector = void 0;
4
+ const sequenceVector_1 = require("./sequenceVector");
5
+ const flatSelectionVector_1 = require("../filter/flatSelectionVector");
6
+ class LongSequenceVector extends sequenceVector_1.SequenceVector {
7
+ constructor(name, baseValue, delta, size) {
8
+ super(name, BigInt64Array.of(baseValue), delta, size);
9
+ }
10
+ filter(value) {
11
+ const index = (value - this.dataBuffer[0]) / this.delta;
12
+ const sequenceValue = this.dataBuffer[0] + index * this.delta;
13
+ if (value === sequenceValue) {
14
+ return new flatSelectionVector_1.FlatSelectionVector([Number(index)]);
15
+ }
16
+ const vector = sequenceValue ? [Number(index)] : [];
17
+ return new flatSelectionVector_1.FlatSelectionVector(vector);
18
+ }
19
+ match(values) {
20
+ throw new Error("Not implemented yet.");
21
+ }
22
+ filterSelected(value, selectionVector) {
23
+ throw new Error("Not implemented yet.");
24
+ }
25
+ matchSelected(values, selectionVector) {
26
+ throw new Error("Not implemented yet.");
27
+ }
28
+ getValueFromBuffer(index) {
29
+ return this.dataBuffer[0] + BigInt(index) * this.delta;
30
+ }
31
+ filterNotEqual(value) {
32
+ throw new Error("Not implemented yet.");
33
+ }
34
+ filterNotEqualSelected(value, selectionVector) {
35
+ throw new Error("Not implemented yet.");
36
+ }
37
+ greaterThanOrEqualTo(value) {
38
+ throw new Error("Not implemented yet.");
39
+ }
40
+ greaterThanOrEqualToSelected(value, selectionVector) {
41
+ throw new Error("Not implemented yet.");
42
+ }
43
+ noneMatch(values) {
44
+ throw new Error("Not implemented yet.");
45
+ }
46
+ noneMatchSelected(values, selectionVector) {
47
+ throw new Error("Not implemented yet.");
48
+ }
49
+ smallerThanOrEqualTo(value) {
50
+ throw new Error("Not implemented yet.");
51
+ }
52
+ smallerThanOrEqualToSelected(value, selectionVector) {
53
+ throw new Error("Not implemented yet.");
54
+ }
55
+ }
56
+ exports.LongSequenceVector = LongSequenceVector;
57
+ //# sourceMappingURL=longSequenceVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVector.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,uEAAoE;AAEpE,MAAa,kBAAmB,SAAQ,+BAAqC;IACzE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,yCAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAgB;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,eAAgC;QAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,eAAgC;QAC5D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,eAAgC;QAClE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAAgB,EAAE,eAAgC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,eAAgC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CACJ;AA/DD,gDA+DC"}
@@ -0,0 +1,5 @@
1
+ import Vector from "../vector";
2
+ export declare abstract class SequenceVector<T extends ArrayBufferView, K> extends Vector<T, K> {
3
+ protected readonly delta: K;
4
+ protected constructor(name: string, baseValueBuffer: T, delta: K, size: number);
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SequenceVector = void 0;
7
+ const vector_1 = __importDefault(require("../vector"));
8
+ class SequenceVector extends vector_1.default {
9
+ delta;
10
+ constructor(name, baseValueBuffer, delta, size) {
11
+ super(name, baseValueBuffer, size);
12
+ this.delta = delta;
13
+ }
14
+ }
15
+ exports.SequenceVector = SequenceVector;
16
+ //# sourceMappingURL=sequenceVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/sequenceVector.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAE/B,MAAsB,cAA6C,SAAQ,gBAAY;IAChE,KAAK,CAAI;IAE5B,YAAsB,IAAY,EAAE,eAAkB,EAAE,KAAQ,EAAE,IAAY;QAC1E,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAPD,wCAOC"}
@@ -0,0 +1,6 @@
1
+ import type BitVector from "./flat/bitVector";
2
+ import Vector from "./vector";
3
+ export declare abstract class VariableSizeVector<T extends ArrayBufferView, K> extends Vector<T, K> {
4
+ protected offsetBuffer: Int32Array;
5
+ protected constructor(name: string, offsetBuffer: Int32Array, dataBuffer: T, sizeOrNullabilityBuffer: number | BitVector);
6
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VariableSizeVector = void 0;
7
+ const vector_1 = __importDefault(require("./vector"));
8
+ class VariableSizeVector extends vector_1.default {
9
+ offsetBuffer;
10
+ //TODO: switch to Uint32Array by changing the decodings
11
+ constructor(name, offsetBuffer, dataBuffer, sizeOrNullabilityBuffer) {
12
+ super(name, dataBuffer, sizeOrNullabilityBuffer);
13
+ this.offsetBuffer = offsetBuffer;
14
+ }
15
+ }
16
+ exports.VariableSizeVector = VariableSizeVector;
17
+ //# sourceMappingURL=variableSizeVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":";;;;;;AACA,sDAA8B;AAE9B,MAAsB,kBAAiD,SAAQ,gBAAY;IAIzE;IAHd,uDAAuD;IACvD,YACI,IAAY,EACF,YAAwB,EAClC,UAAa,EACb,uBAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAJvC,iBAAY,GAAZ,YAAY,CAAY;IAKtC,CAAC;CACJ;AAVD,gDAUC"}
@@ -0,0 +1,30 @@
1
+ import type BitVector from "./flat/bitVector";
2
+ import { type SelectionVector } from "./filter/selectionVector";
3
+ export default abstract class Vector<T extends ArrayBufferView = ArrayBufferView, K = unknown> {
4
+ private readonly _name;
5
+ protected readonly dataBuffer: T;
6
+ protected nullabilityBuffer: BitVector | null;
7
+ protected _size: number;
8
+ constructor(_name: string, dataBuffer: T, sizeOrNullabilityBuffer: number | BitVector);
9
+ getValue(index: number): K | null;
10
+ has(index: number): boolean;
11
+ get name(): string;
12
+ get size(): number;
13
+ presentValues(): SelectionVector;
14
+ presentValuesSelected(selectionVector: SelectionVector): SelectionVector;
15
+ nullableValues(): SelectionVector;
16
+ nullableValuesSelected(selectionVector: SelectionVector): SelectionVector;
17
+ protected abstract getValueFromBuffer(index: number): K;
18
+ abstract filter(value: K): SelectionVector;
19
+ abstract filterNotEqual(value: K): SelectionVector;
20
+ abstract match(values: K[]): SelectionVector;
21
+ abstract noneMatch(values: K[]): SelectionVector;
22
+ abstract filterSelected(value: K, selectionVector: SelectionVector): void;
23
+ abstract filterNotEqualSelected(value: K, selectionVector: SelectionVector): void;
24
+ abstract matchSelected(values: K[], selectionVector: SelectionVector): void;
25
+ abstract noneMatchSelected(values: K[], selectionVector: SelectionVector): void;
26
+ abstract greaterThanOrEqualTo(value: K): SelectionVector;
27
+ abstract smallerThanOrEqualTo(value: K): SelectionVector;
28
+ abstract greaterThanOrEqualToSelected(value: K, selectionVector: SelectionVector): void;
29
+ abstract smallerThanOrEqualToSelected(value: K, selectionVector: SelectionVector): void;
30
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const flatSelectionVector_1 = require("./filter/flatSelectionVector");
4
+ class Vector {
5
+ _name;
6
+ dataBuffer;
7
+ nullabilityBuffer;
8
+ _size;
9
+ constructor(_name, dataBuffer, sizeOrNullabilityBuffer) {
10
+ this._name = _name;
11
+ this.dataBuffer = dataBuffer;
12
+ if (typeof sizeOrNullabilityBuffer === "number") {
13
+ this._size = sizeOrNullabilityBuffer;
14
+ }
15
+ else {
16
+ this.nullabilityBuffer = sizeOrNullabilityBuffer;
17
+ this._size = sizeOrNullabilityBuffer.size();
18
+ }
19
+ }
20
+ getValue(index) {
21
+ return this.nullabilityBuffer && !this.nullabilityBuffer.get(index) ? null : this.getValueFromBuffer(index);
22
+ }
23
+ has(index) {
24
+ return (this.nullabilityBuffer && this.nullabilityBuffer.get(index)) || !this.nullabilityBuffer;
25
+ }
26
+ get name() {
27
+ return this._name;
28
+ }
29
+ get size() {
30
+ return this._size;
31
+ }
32
+ presentValues() {
33
+ const selectionVector = [];
34
+ for (let i = 0; i < this.size; i++) {
35
+ if (this.has(i)) {
36
+ selectionVector.push(i);
37
+ }
38
+ }
39
+ return new flatSelectionVector_1.FlatSelectionVector(selectionVector);
40
+ }
41
+ presentValuesSelected(selectionVector) {
42
+ let limit = 0;
43
+ const vector = selectionVector.selectionValues();
44
+ for (let i = 0; i < selectionVector.limit; i++) {
45
+ const index = vector[i];
46
+ if (this.has(index)) {
47
+ vector[limit++] = index;
48
+ }
49
+ }
50
+ selectionVector.setLimit(limit);
51
+ return selectionVector;
52
+ }
53
+ nullableValues() {
54
+ const selectionVector = [];
55
+ for (let i = 0; i < this.size; i++) {
56
+ if (!this.has(i)) {
57
+ selectionVector.push(i);
58
+ }
59
+ }
60
+ return new flatSelectionVector_1.FlatSelectionVector(selectionVector);
61
+ }
62
+ nullableValuesSelected(selectionVector) {
63
+ let limit = 0;
64
+ const vector = selectionVector.selectionValues();
65
+ for (let i = 0; i < selectionVector.limit; i++) {
66
+ const index = vector[i];
67
+ if (!this.has(index)) {
68
+ vector[limit++] = index;
69
+ }
70
+ }
71
+ selectionVector.setLimit(limit);
72
+ return selectionVector;
73
+ }
74
+ }
75
+ exports.default = Vector;
76
+ //# sourceMappingURL=vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/vector/vector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare enum VectorType {
2
+ FLAT = 0,
3
+ CONST = 1,
4
+ SEQUENCE = 2,
5
+ DICTIONARY = 3,
6
+ FSST_DICTIONARY = 4
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VectorType = void 0;
4
+ var VectorType;
5
+ (function (VectorType) {
6
+ VectorType[VectorType["FLAT"] = 0] = "FLAT";
7
+ VectorType[VectorType["CONST"] = 1] = "CONST";
8
+ VectorType[VectorType["SEQUENCE"] = 2] = "SEQUENCE";
9
+ VectorType[VectorType["DICTIONARY"] = 3] = "DICTIONARY";
10
+ VectorType[VectorType["FSST_DICTIONARY"] = 4] = "FSST_DICTIONARY";
11
+ })(VectorType || (exports.VectorType = VectorType = {}));
12
+ //# sourceMappingURL=vectorType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorType.js","sourceRoot":"","sources":["../../src/vector/vectorType.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,2CAAI,CAAA;IACJ,6CAAK,CAAA;IACL,mDAAQ,CAAA;IACR,uDAAU,CAAA;IACV,iEAAe,CAAA;AACnB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@maplibre/mlt",
3
+ "version": "0.0.1-alpha.10",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "files": [
7
+ "/dist"
8
+ ],
9
+ "license": "(MIT OR Apache-2.0)",
10
+ "homepage": "https://github.com/maplibre/maplibre-tile-spec/#readme",
11
+ "keywords": [
12
+ "maplibre",
13
+ "gis",
14
+ "vector"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "test": "vitest run --coverage --coverage.reportOnFailure",
19
+ "lint": "eslint",
20
+ "format": "prettier --write \"**/*.ts\""
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/maplibre/maplibre-tile-spec.git"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/maplibre/maplibre-tile-spec/issues"
28
+ },
29
+ "devDependencies": {
30
+ "@mapbox/vector-tile": "^2.0.4",
31
+ "@maplibre/maplibre-gl-style-spec": "^24.3.0",
32
+ "@types/bytebuffer": "^5.0.49",
33
+ "@types/earcut": "^3.0.0",
34
+ "@types/node": "^24.7.2",
35
+ "@types/pbf": "^3.0.5",
36
+ "@types/varint": "^6.0.3",
37
+ "@vitest/coverage-v8": "^3.2.4",
38
+ "bytebuffer": "^5.0.1",
39
+ "earcut": "^3.0.2",
40
+ "eslint": "^9.37.0",
41
+ "pbf": "^4.0.1",
42
+ "prettier": "^3.6.2",
43
+ "semver": "^7.7.3",
44
+ "typescript": "^5.9.3",
45
+ "typescript-eslint": "^8.46.1",
46
+ "varint": "^6.0.0",
47
+ "vitest": "^3.2.4"
48
+ }
49
+ }