@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.
- package/LICENSE.txt +231 -0
- package/dist/decoding/decodingUtils.js +2 -2
- package/dist/decoding/decodingUtils.js.map +1 -1
- package/dist/decoding/decodingUtils.spec.js +2 -2
- package/dist/decoding/decodingUtils.spec.js.map +1 -1
- package/dist/decoding/fsstDecoder.js.map +1 -1
- package/dist/decoding/fsstDecoder.spec.js +14 -10
- package/dist/decoding/fsstDecoder.spec.js.map +1 -1
- package/dist/decoding/geometryDecoder.js +40 -200
- package/dist/decoding/geometryDecoder.js.map +1 -1
- package/dist/decoding/geometryDecoder.spec.js.map +1 -1
- package/dist/decoding/geometryScaling.js.map +1 -1
- package/dist/decoding/intWrapper.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.d.ts +1 -1
- package/dist/decoding/integerDecodingUtils.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.d.ts +13 -22
- package/dist/decoding/integerStreamDecoder.js +234 -237
- package/dist/decoding/integerStreamDecoder.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.spec.js +77 -39
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
- package/dist/decoding/propertyDecoder.js +21 -21
- package/dist/decoding/propertyDecoder.js.map +1 -1
- package/dist/decoding/propertyDecoder.spec.js +162 -199
- package/dist/decoding/propertyDecoder.spec.js.map +1 -1
- package/dist/decoding/stringDecoder.d.ts +2 -10
- package/dist/decoding/stringDecoder.js +150 -157
- package/dist/decoding/stringDecoder.js.map +1 -1
- package/dist/decoding/stringDecoder.spec.js +59 -60
- package/dist/decoding/stringDecoder.spec.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/tile/dictionaryType.js.map +1 -1
- package/dist/metadata/tile/lengthType.js.map +1 -1
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/logicalStreamType.js.map +1 -1
- package/dist/metadata/tile/offsetType.js.map +1 -1
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/physicalStreamType.js.map +1 -1
- package/dist/metadata/tile/scalarType.js.map +1 -1
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +28 -4
- package/dist/metadata/tile/streamMetadataDecoder.js +81 -15
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +4 -4
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
- package/dist/metadata/tileset/typeMap.d.ts +21 -29
- package/dist/metadata/tileset/typeMap.js +167 -169
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.js +20 -18
- package/dist/mltDecoder.js.map +1 -1
- package/dist/mltDecoder.spec.js.map +1 -1
- package/dist/mltMetadata.js.map +1 -1
- package/dist/vector/constant/intConstVector.js.map +1 -1
- package/dist/vector/constant/longConstVector.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/featureTable.js.map +1 -1
- package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
- package/dist/vector/filter/flatSelectionVector.js +54 -0
- package/dist/vector/filter/flatSelectionVector.js.map +1 -0
- package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
- package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
- package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
- package/dist/vector/filter/selectionVector.d.ts +8 -0
- package/dist/vector/filter/selectionVector.js +2 -0
- package/dist/vector/filter/selectionVector.js.map +1 -0
- package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
- package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
- package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
- package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
- package/dist/vector/filter/selectionVectorUtils.js +37 -0
- package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
- package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
- package/dist/vector/filter/sequenceSelectionVector.js +67 -0
- package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
- package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
- package/dist/vector/fixedSizeVector.js.map +1 -1
- package/dist/vector/flat/bitVector.js.map +1 -1
- package/dist/vector/flat/booleanFlatVector.js.map +1 -1
- package/dist/vector/flat/doubleFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/intFlatVector.js.map +1 -1
- package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/longFlatVector.js.map +1 -1
- package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
- package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
- package/dist/vector/geometry/constGeometryVector.js +6 -6
- package/dist/vector/geometry/constGeometryVector.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +1 -1
- package/dist/vector/geometry/constGpuVector.js +3 -24
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
- package/dist/vector/geometry/flatGeometryVector.js +7 -7
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
- package/dist/vector/geometry/flatGpuVector.js +3 -22
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryType.js.map +1 -1
- package/dist/vector/geometry/geometryVector.js +2 -2
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.js +4 -4
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/vertexBufferType.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.d.ts +4 -17
- package/dist/vector/geometry/zOrderCurve.js +10 -35
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.js +15 -10
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
- package/dist/vector/intVector.js.map +1 -1
- package/dist/vector/sequence/intSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
- package/dist/vector/sequence/sequenceVector.js.map +1 -1
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/dist/vector/vector.js.map +1 -1
- package/dist/vector/vectorType.js.map +1 -1
- package/package.json +5 -5
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +0 -15
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +0 -27
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +0 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +0 -24
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +0 -38
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +0 -1
- package/dist/metadata/tile/streamMetadata.d.ts +0 -29
- package/dist/metadata/tile/streamMetadata.js +0 -82
- package/dist/metadata/tile/streamMetadata.js.map +0 -1
- package/dist/vector/geometry/spaceFillingCurve.d.ts +0 -22
- package/dist/vector/geometry/spaceFillingCurve.js +0 -31
- package/dist/vector/geometry/spaceFillingCurve.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringDecoder.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,6CAA6C,CAAC;AAEnF,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AACvD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAc,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAC,0BAA0B,EAAC,MAAM,sDAAsD,CAAC;AAEhG,MAAM,OAAO,aAAa;IACd,MAAM,CAAU,gBAAgB,GAAG,SAAS,CAAC;IAC7C,MAAM,CAAU,uBAAuB,GAAG,GAAG,CAAC;IAEtD;IACA,CAAC;IAED,MAAM,CAAC,MAAM,CACT,IAAY,EACZ,IAAgB,EAChB,MAAkB,EAClB,UAAkB,EAClB,SAAqB;QAErB,IAAI,sBAAsB,GAAe,IAAI,CAAC;QAC9C,IAAI,YAAY,GAAe,IAAI,CAAC;QACpC,IAAI,gBAAgB,GAAe,IAAI,CAAC;QACxC,IAAI,kBAAkB,GAAe,IAAI,CAAC;QAC1C,IAAI,iBAAiB,GAAe,IAAI,CAAC;QACzC,IAAI,aAAa,GAAc,IAAI,CAAC;QACpC,IAAI,iBAAiB,GAAe,IAAI,CAAC;QACzC,IAAI,eAAe,GAAe,IAAI,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClE,IAAI,cAAc,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAClC,SAAS;YACb,CAAC;YAED,QAAQ,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACxC,KAAK,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9B,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC7E,aAAa,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;oBACrE,MAAM;gBACV,CAAC;gBACD,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC;oBAC9D,MAAM,iBAAiB,GAAG,SAAS,IAAI,aAAa,CAAC;oBACrD,YAAY,GAAG,UAAU;wBACrB,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,CAAC;wBACtG,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBAChF,MAAM;gBACV,CAAC;gBACD,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,MAAM,EAAE,GAAG,oBAAoB,CAAC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC/F,IAAI,UAAU,CAAC,UAAU,KAAK,cAAc,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBACxE,sBAAsB,GAAG,EAAE,CAAC;oBAChC,CAAC;yBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBAC3E,kBAAkB,GAAG,EAAE,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACJ,oDAAoD;wBACpD,iBAAiB,GAAG,EAAE,CAAC;oBAC3B,CAAC;oBACD,MAAM;gBACV,CAAC;gBACD,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;oBACjF,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC;oBACjE,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnC,iBAAiB,GAAG,EAAE,CAAC;oBAC3B,CAAC;yBAAM,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAClF,gBAAgB,GAAG,EAAE,CAAC;oBAC1B,CAAC;yBAAM,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1C,eAAe,GAAG,EAAE,CAAC;oBACzB,CAAC;oBACD,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,CAClC,IAAI,EACJ,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,IAAI,aAAa,CAC7B,IAAI,IAAI,CAAC,sBAAsB,CAC5B,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,SAAS,IAAI,aAAa,CAC7B,IAAI,IAAI,CAAC,uBAAuB,CAC7B,IAAI,EACJ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,IAAI,aAAa,CAC7B,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACrC,IAAY,EACZ,iBAAoC,EACpC,YAA+B,EAC/B,sBAAyC,EACzC,gBAAmC,EACnC,kBAAqC,EACrC,iBAAmC;QAEnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,0BAA0B,CACjC,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,CACpB,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,sBAAsB,CACjC,IAAY,EACZ,gBAAmC,EACnC,YAA+B,EAC/B,sBAAyC,EACzC,iBAAmC;QAEnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,iBAAiB;YACpB,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YAC7G,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;IACnG,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAClC,IAAY,EACZ,iBAAoC,EACpC,eAAkC,EAClC,YAA+B,EAC/B,iBAAmC;QAEnC,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,iBAAiB;gBACpB,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC;gBACvG,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjF,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,kBAAkB,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YACD,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACvH,CAAC;QAED,OAAO,iBAAiB;YACpB,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC;YACnF,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,sBAAsB,CACzB,IAAgB,EAChB,MAAkB,EAClB,MAAc,EACd,WAAmB,EACnB,mBAAiC;QAEjC,IAAI,sBAAsB,GAAe,IAAI,CAAC;QAC9C,IAAI,gBAAgB,GAAe,IAAI,CAAC;QACxC,IAAI,kBAAkB,GAAe,IAAI,CAAC;QAC1C,IAAI,iBAAiB,GAAe,IAAI,CAAC;QAEzC,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClE,QAAQ,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACxC,KAAK,kBAAkB,CAAC,MAAM;oBAC1B,IAAI,UAAU,CAAC,UAAU,KAAK,cAAc,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBACxE,sBAAsB,GAAG,oBAAoB,CAAC,gCAAgC,CAC1E,IAAI,EACJ,MAAM,EACN,cAAc,CACjB,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,kBAAkB,GAAG,oBAAoB,CAAC,gCAAgC,CACtE,IAAI,EACJ,MAAM,EACN,cAAc,CACjB,CAAC;oBACN,CAAC;oBACD,MAAM;gBACV,KAAK,kBAAkB,CAAC,IAAI;oBACxB,IACI,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB,CAAC,cAAc;wBACzE,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB,CAAC,cAAc,EAC3E,CAAC;wBACC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;wBACzF,uBAAuB,GAAG,IAAI,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACJ,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC9F,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM;YACd,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;QAChD,MAAM,uBAAuB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBAClB,uCAAuC;gBACvC,SAAS;YACb,CAAC;YAED,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,IAAI,GAC7B,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC,gBAAgB;gBAC9C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,aAAa,CAAC,uBAAuB,GAAG,UAAU,CAAC,IAC7D,EAAE,CAAC;YACH,IAAI,mBAAmB,EAAE,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACvC,yDAAyD;oBACzD,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACrC,SAAS;gBACb,CAAC;YACL,CAAC;YAED,IACI,UAAU,KAAK,CAAC;gBAChB,UAAU,CAAC,IAAI,KAAK,aAAa;gBACjC,UAAU,CAAC,WAAW,CAAC,YAAY,KAAK,UAAU,CAAC,MAAM,EAC3D,CAAC;gBACC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,CAAC,oBAAoB,YAAY,wBAAwB;gBACzE,CAAC,CAAC,oBAAoB,CAAC,YAAY;gBACnC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,WAAW,KAAK,WAAW,CAAC;YAC/C,MAAM,YAAY,GAAG,UAAU;gBAC3B,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAC1C,IAAI,EACJ,MAAM,EACN,oBAAoB,EACpB,KAAK,EACL,IAAI,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAChE;gBACD,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAEtF,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB;gBAC5C,CAAC,CAAC,IAAI,0BAA0B,CAC5B,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,IAAI,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAChE;gBACD,CAAC,CAAC,IAAI,sBAAsB,CACxB,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,IAAI,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAChE,CAAC;QACV,CAAC;QAED,OAAO,uBAAuB,CAAC;IACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"stringDecoder.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { decodeStreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\nimport { StringFlatVector } from \"../vector/flat/stringFlatVector\";\nimport { StringDictionaryVector } from \"../vector/dictionary/stringDictionaryVector\";\nimport type IntWrapper from \"./intWrapper\";\nimport BitVector from \"../vector/flat/bitVector\";\nimport type Vector from \"../vector/vector\";\nimport { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport { LengthType } from \"../metadata/tile/lengthType\";\nimport { decodeIntStream, decodeLengthStreamToOffsetBuffer, decodeNullableIntStream } from \"./integerStreamDecoder\";\nimport { type Column, ScalarType } from \"../metadata/tileset/tilesetMetadata\";\nimport { decodeVarintInt32 } from \"./integerDecodingUtils\";\nimport { decodeBooleanRle, skipColumn } from \"./decodingUtils\";\nimport { StringFsstDictionaryVector } from \"../vector/fsst-dictionary/stringFsstDictionaryVector\";\n\nconst ROOT_COLUMN_NAME = \"default\";\nconst NESTED_COLUMN_SEPARATOR = \":\";\n\nexport function decodeString(\n name: string,\n data: Uint8Array,\n offset: IntWrapper,\n numStreams: number,\n bitVector?: BitVector,\n): Vector {\n let dictionaryLengthStream: Int32Array = null;\n let offsetStream: Int32Array = null;\n let dictionaryStream: Uint8Array = null;\n let symbolLengthStream: Int32Array = null;\n let symbolTableStream: Uint8Array = null;\n let presentStream: BitVector = null;\n let plainLengthStream: Int32Array = null;\n let plainDataStream: Uint8Array = null;\n\n for (let i = 0; i < numStreams; i++) {\n const streamMetadata = decodeStreamMetadata(data, offset);\n if (streamMetadata.byteLength === 0) {\n continue;\n }\n\n switch (streamMetadata.physicalStreamType) {\n case PhysicalStreamType.PRESENT: {\n const presentData = decodeBooleanRle(data, streamMetadata.numValues, offset);\n presentStream = new BitVector(presentData, streamMetadata.numValues);\n break;\n }\n case PhysicalStreamType.OFFSET: {\n const isNullable = bitVector != null || presentStream != null;\n const nullabilityBuffer = bitVector ?? presentStream;\n offsetStream = isNullable\n ? decodeNullableIntStream(data, offset, streamMetadata, false, nullabilityBuffer)\n : decodeIntStream(data, offset, streamMetadata, false);\n break;\n }\n case PhysicalStreamType.LENGTH: {\n const ls = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n if (LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {\n dictionaryLengthStream = ls;\n } else if (LengthType.SYMBOL === streamMetadata.logicalStreamType.lengthType) {\n symbolLengthStream = ls;\n } else {\n // Plain string encoding uses VAR_BINARY length type\n plainLengthStream = ls;\n }\n break;\n }\n case PhysicalStreamType.DATA: {\n const ds = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n offset.add(streamMetadata.byteLength);\n const dictType = streamMetadata.logicalStreamType.dictionaryType;\n if (DictionaryType.FSST === dictType) {\n symbolTableStream = ds;\n } else if (DictionaryType.SINGLE === dictType || DictionaryType.SHARED === dictType) {\n dictionaryStream = ds;\n } else if (DictionaryType.NONE === dictType) {\n plainDataStream = ds;\n }\n break;\n }\n }\n }\n\n return (\n decodeFsstDictionaryVector(\n name,\n symbolTableStream,\n offsetStream,\n dictionaryLengthStream,\n dictionaryStream,\n symbolLengthStream,\n bitVector ?? presentStream,\n ) ??\n decodeDictionaryVector(\n name,\n dictionaryStream,\n offsetStream,\n dictionaryLengthStream,\n bitVector ?? presentStream,\n ) ??\n decodePlainStringVector(name, plainLengthStream, plainDataStream, offsetStream, bitVector ?? presentStream)\n );\n}\n\nfunction decodeFsstDictionaryVector(\n name: string,\n symbolTableStream: Uint8Array | null,\n offsetStream: Int32Array | null,\n dictionaryLengthStream: Int32Array | null,\n dictionaryStream: Uint8Array | null,\n symbolLengthStream: Int32Array | null,\n nullabilityBuffer: BitVector | null,\n): Vector | null {\n if (!symbolTableStream) {\n return null;\n }\n return new StringFsstDictionaryVector(\n name,\n offsetStream,\n dictionaryLengthStream,\n dictionaryStream,\n symbolLengthStream,\n symbolTableStream,\n nullabilityBuffer,\n );\n}\n\nfunction decodeDictionaryVector(\n name: string,\n dictionaryStream: Uint8Array | null,\n offsetStream: Int32Array | null,\n dictionaryLengthStream: Int32Array | null,\n nullabilityBuffer: BitVector | null,\n): Vector | null {\n if (!dictionaryStream) {\n return null;\n }\n return nullabilityBuffer\n ? new StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream, nullabilityBuffer)\n : new StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream);\n}\n\nfunction decodePlainStringVector(\n name: string,\n plainLengthStream: Int32Array | null,\n plainDataStream: Uint8Array | null,\n offsetStream: Int32Array | null,\n nullabilityBuffer: BitVector | null,\n): Vector | null {\n if (!plainLengthStream || !plainDataStream) {\n return null;\n }\n\n if (offsetStream) {\n return nullabilityBuffer\n ? new StringDictionaryVector(name, offsetStream, plainLengthStream, plainDataStream, nullabilityBuffer)\n : new StringDictionaryVector(name, offsetStream, plainLengthStream, plainDataStream);\n }\n\n if (nullabilityBuffer && nullabilityBuffer.size() !== plainLengthStream.length - 1) {\n const sparseOffsetStream = new Int32Array(nullabilityBuffer.size());\n let valueIndex = 0;\n for (let i = 0; i < nullabilityBuffer.size(); i++) {\n if (nullabilityBuffer.get(i)) {\n sparseOffsetStream[i] = valueIndex++;\n } else {\n sparseOffsetStream[i] = 0;\n }\n }\n return new StringDictionaryVector(\n name,\n sparseOffsetStream,\n plainLengthStream,\n plainDataStream,\n nullabilityBuffer,\n );\n }\n\n return nullabilityBuffer\n ? new StringFlatVector(name, plainLengthStream, plainDataStream, nullabilityBuffer)\n : new StringFlatVector(name, plainLengthStream, plainDataStream);\n}\n\nexport function decodeSharedDictionary(\n data: Uint8Array,\n offset: IntWrapper,\n column: Column,\n numFeatures: number,\n propertyColumnNames?: Set<string>,\n): Vector[] {\n let dictionaryOffsetBuffer: Int32Array = null;\n let dictionaryBuffer: Uint8Array = null;\n let symbolOffsetBuffer: Int32Array = null;\n let symbolTableBuffer: Uint8Array = null;\n\n let dictionaryStreamDecoded = false;\n while (!dictionaryStreamDecoded) {\n const streamMetadata = decodeStreamMetadata(data, offset);\n switch (streamMetadata.physicalStreamType) {\n case PhysicalStreamType.LENGTH:\n if (LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {\n dictionaryOffsetBuffer = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n } else {\n symbolOffsetBuffer = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n }\n break;\n case PhysicalStreamType.DATA:\n if (\n DictionaryType.SINGLE === streamMetadata.logicalStreamType.dictionaryType ||\n DictionaryType.SHARED === streamMetadata.logicalStreamType.dictionaryType\n ) {\n dictionaryBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n dictionaryStreamDecoded = true;\n } else {\n symbolTableBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n }\n offset.add(streamMetadata.byteLength);\n break;\n }\n }\n\n const childFields = column.complexType.children;\n const stringDictionaryVectors = [];\n let i = 0;\n for (const childField of childFields) {\n const numStreams = decodeVarintInt32(data, offset, 1)[0];\n if (numStreams == 0) {\n /* Column is not present in the tile */\n continue;\n }\n\n const columnName = `${column.name}${\n childField.name === ROOT_COLUMN_NAME ? \"\" : NESTED_COLUMN_SEPARATOR + childField.name\n }`;\n if (propertyColumnNames) {\n if (!propertyColumnNames.has(columnName)) {\n //TODO: add size of sub column to Mlt for faster skipping\n skipColumn(numStreams, data, offset);\n continue;\n }\n }\n\n if (\n numStreams !== 2 ||\n childField.type !== \"scalarField\" ||\n childField.scalarField.physicalType !== ScalarType.STRING\n ) {\n throw new Error(\"Currently only optional string fields are implemented for a struct.\");\n }\n\n const presentStreamMetadata = decodeStreamMetadata(data, offset);\n const presentStream = decodeBooleanRle(data, presentStreamMetadata.numValues, offset);\n const offsetStreamMetadata = decodeStreamMetadata(data, offset);\n const offsetCount = offsetStreamMetadata.decompressedCount;\n const isNullable = offsetCount !== numFeatures;\n const offsetStream = isNullable\n ? decodeNullableIntStream(\n data,\n offset,\n offsetStreamMetadata,\n false,\n new BitVector(presentStream, presentStreamMetadata.numValues),\n )\n : decodeIntStream(data, offset, offsetStreamMetadata, false);\n\n stringDictionaryVectors[i++] = symbolTableBuffer\n ? new StringFsstDictionaryVector(\n columnName,\n offsetStream,\n dictionaryOffsetBuffer,\n dictionaryBuffer,\n symbolOffsetBuffer,\n symbolTableBuffer,\n new BitVector(presentStream, presentStreamMetadata.numValues),\n )\n : new StringDictionaryVector(\n columnName,\n offsetStream,\n dictionaryOffsetBuffer,\n dictionaryBuffer,\n new BitVector(presentStream, presentStreamMetadata.numValues),\n );\n }\n\n return stringDictionaryVectors;\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, vi } from
|
|
2
|
-
import IntegerStreamDecoder from "./integerStreamDecoder";
|
|
3
|
-
import
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
2
|
+
import * as IntegerStreamDecoder from "./integerStreamDecoder";
|
|
3
|
+
import * as StreamMetadataDecoder from "../metadata/tile/streamMetadataDecoder";
|
|
4
4
|
import { LengthType } from "../metadata/tile/lengthType";
|
|
5
5
|
import { PhysicalStreamType } from "../metadata/tile/physicalStreamType";
|
|
6
6
|
import { DictionaryType } from "../metadata/tile/dictionaryType";
|
|
7
7
|
import { ScalarType } from "../metadata/tile/scalarType";
|
|
8
|
-
import
|
|
8
|
+
import * as StringDecoder from "./stringDecoder";
|
|
9
9
|
import * as integerDecoder from "./integerDecodingUtils";
|
|
10
10
|
function createMockStreamMetadata(physicalStreamType, logicalStreamType, byteLength) {
|
|
11
11
|
return {
|
|
@@ -18,14 +18,14 @@ function createMockStreamMetadata(physicalStreamType, logicalStreamType, byteLen
|
|
|
18
18
|
_logicalLevelTechnique2: undefined,
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
function createMockChildField(name =
|
|
21
|
+
function createMockChildField(name = "fieldName", type = "scalarField", physicalType = ScalarType.STRING) {
|
|
22
22
|
return {
|
|
23
23
|
name,
|
|
24
24
|
type,
|
|
25
25
|
scalarField: { physicalType },
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
function createMockColumn(name =
|
|
28
|
+
function createMockColumn(name = "testColumn", children = []) {
|
|
29
29
|
return {
|
|
30
30
|
name,
|
|
31
31
|
complexType: {
|
|
@@ -49,15 +49,14 @@ function setupOffsetMock(initialValue = 0) {
|
|
|
49
49
|
*/
|
|
50
50
|
function setupStreamMetadataDecodeMock(metadata) {
|
|
51
51
|
let callCount = 0;
|
|
52
|
-
vi.spyOn(StreamMetadataDecoder,
|
|
52
|
+
vi.spyOn(StreamMetadataDecoder, "decodeStreamMetadata").mockImplementation(() => {
|
|
53
53
|
const result = metadata[callCount % metadata.length];
|
|
54
54
|
callCount++;
|
|
55
55
|
return result;
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
function setupLengthStreamDecodeMock(offsetBuffer, streamMetadata) {
|
|
59
|
-
vi.spyOn(IntegerStreamDecoder,
|
|
60
|
-
.mockImplementation((data, offset, metadata) => {
|
|
59
|
+
vi.spyOn(IntegerStreamDecoder, "decodeLengthStreamToOffsetBuffer").mockImplementation((data, offset, metadata) => {
|
|
61
60
|
offset.add(metadata.byteLength);
|
|
62
61
|
return offsetBuffer;
|
|
63
62
|
});
|
|
@@ -65,58 +64,58 @@ function setupLengthStreamDecodeMock(offsetBuffer, streamMetadata) {
|
|
|
65
64
|
function setupVarintDecodeMock(value = 0) {
|
|
66
65
|
const values = Array.isArray(value) ? value : [value];
|
|
67
66
|
let callCount = 0;
|
|
68
|
-
vi.spyOn(integerDecoder,
|
|
67
|
+
vi.spyOn(integerDecoder, "decodeVarintInt32").mockImplementation(() => {
|
|
69
68
|
const result = new Int32Array([values[callCount] ?? 0]);
|
|
70
69
|
callCount++;
|
|
71
70
|
return result;
|
|
72
71
|
});
|
|
73
72
|
}
|
|
74
|
-
describe(
|
|
75
|
-
it(
|
|
76
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
73
|
+
describe("decodePlainStringVector", () => {
|
|
74
|
+
it.skip("should return null when plainLengthStream is null", () => {
|
|
75
|
+
const result = StringDecoder.decodePlainStringVector("test", null, new Uint8Array([1, 2, 3]), null, null);
|
|
77
76
|
expect(result).toBeNull();
|
|
78
77
|
});
|
|
79
|
-
it(
|
|
80
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
78
|
+
it.skip("should return null when plainDataStream is null", () => {
|
|
79
|
+
const result = StringDecoder.decodePlainStringVector("test", new Int32Array([0, 3]), null, null, null);
|
|
81
80
|
expect(result).toBeNull();
|
|
82
81
|
});
|
|
83
|
-
it(
|
|
82
|
+
it.skip("should return StringDictionaryVector when offsetStream exists (non-nullable)", () => {
|
|
84
83
|
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
85
84
|
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
86
85
|
const offsetStream = new Int32Array([0, 1]);
|
|
87
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
86
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, null);
|
|
88
87
|
expect(result).toBeDefined();
|
|
89
|
-
expect(result.name).toBe(
|
|
88
|
+
expect(result.name).toBe("test");
|
|
90
89
|
});
|
|
91
|
-
it(
|
|
90
|
+
it.skip("should return StringDictionaryVector when offsetStream exists (nullable)", () => {
|
|
92
91
|
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
93
92
|
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
94
93
|
const offsetStream = new Int32Array([0, 1]);
|
|
95
94
|
const nullabilityBuffer = { size: () => 2, get: (i) => true };
|
|
96
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
95
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, offsetStream, nullabilityBuffer);
|
|
97
96
|
expect(result).toBeDefined();
|
|
98
|
-
expect(result.name).toBe(
|
|
97
|
+
expect(result.name).toBe("test");
|
|
99
98
|
});
|
|
100
|
-
it(
|
|
99
|
+
it.skip("should return StringDictionaryVector with sparse offset when nullability mismatch", () => {
|
|
101
100
|
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
102
101
|
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
103
102
|
const nullabilityBuffer = {
|
|
104
103
|
size: () => 3,
|
|
105
|
-
get: (i) => i !== 1
|
|
104
|
+
get: (i) => i !== 1,
|
|
106
105
|
};
|
|
107
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
106
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, nullabilityBuffer);
|
|
108
107
|
expect(result).toBeDefined();
|
|
109
|
-
expect(result.name).toBe(
|
|
108
|
+
expect(result.name).toBe("test");
|
|
110
109
|
});
|
|
111
|
-
it(
|
|
110
|
+
it.skip("should return StringFlatVector (non-nullable)", () => {
|
|
112
111
|
const plainLengthStream = new Int32Array([0, 3, 7]);
|
|
113
112
|
const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);
|
|
114
|
-
const result = StringDecoder.decodePlainStringVector(
|
|
113
|
+
const result = StringDecoder.decodePlainStringVector("test", plainLengthStream, plainDataStream, null, null);
|
|
115
114
|
expect(result).toBeDefined();
|
|
116
|
-
expect(result.name).toBe(
|
|
115
|
+
expect(result.name).toBe("test");
|
|
117
116
|
});
|
|
118
117
|
});
|
|
119
|
-
describe(
|
|
118
|
+
describe("decodeSharedDictionary", () => {
|
|
120
119
|
let mockData;
|
|
121
120
|
let mockOffset;
|
|
122
121
|
let mockColumn;
|
|
@@ -124,12 +123,12 @@ describe('decodeSharedDictionary', () => {
|
|
|
124
123
|
beforeEach(() => {
|
|
125
124
|
mockData = new Uint8Array(256);
|
|
126
125
|
mockOffset = setupOffsetMock();
|
|
127
|
-
mockColumn = createMockColumn(
|
|
126
|
+
mockColumn = createMockColumn("testColumn", [createMockChildField()]);
|
|
128
127
|
numFeatures = 10;
|
|
129
128
|
vi.clearAllMocks();
|
|
130
129
|
});
|
|
131
|
-
describe(
|
|
132
|
-
it(
|
|
130
|
+
describe("basic dictionary stream decoding", () => {
|
|
131
|
+
it("should decode LENGTH stream for dictionary offset buffer", () => {
|
|
133
132
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
134
133
|
const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
135
134
|
const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -139,12 +138,12 @@ describe('decodeSharedDictionary', () => {
|
|
|
139
138
|
setupLengthStreamDecodeMock(expectedOffsetBuffer, streamMetadata);
|
|
140
139
|
setupVarintDecodeMock(0);
|
|
141
140
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
|
|
142
|
-
expect(StreamMetadataDecoder.
|
|
141
|
+
expect(StreamMetadataDecoder.decodeStreamMetadata).toHaveBeenCalledWith(mockData, mockOffset);
|
|
143
142
|
expect(IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer).toHaveBeenCalled();
|
|
144
143
|
expect(result).toBeDefined();
|
|
145
144
|
expect(Array.isArray(result)).toBe(true);
|
|
146
145
|
});
|
|
147
|
-
it(
|
|
146
|
+
it("should decode LENGTH stream for symbol offset buffer", () => {
|
|
148
147
|
const lengthLogicalType = { lengthType: LengthType.SYMBOL };
|
|
149
148
|
const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
150
149
|
const dataLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -157,8 +156,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
157
156
|
expect(result).toBeDefined();
|
|
158
157
|
});
|
|
159
158
|
});
|
|
160
|
-
describe(
|
|
161
|
-
it(
|
|
159
|
+
describe("dictionary buffer decoding", () => {
|
|
160
|
+
it("should decode SINGLE dictionary type DATA stream", () => {
|
|
162
161
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
163
162
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
164
163
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
|
|
@@ -171,7 +170,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
171
170
|
expect(mockOffset.add).toHaveBeenCalledWith(40);
|
|
172
171
|
expect(result).toBeDefined();
|
|
173
172
|
});
|
|
174
|
-
it(
|
|
173
|
+
it("should advance offset correctly through LENGTH and DATA streams", () => {
|
|
175
174
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
176
175
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
177
176
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE };
|
|
@@ -186,8 +185,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
186
185
|
expect(result).toBeDefined();
|
|
187
186
|
});
|
|
188
187
|
});
|
|
189
|
-
describe(
|
|
190
|
-
it(
|
|
188
|
+
describe("symbol table buffer decoding", () => {
|
|
189
|
+
it("should decode symbol table buffer when dictionary type is not SINGLE or SHARED", () => {
|
|
191
190
|
const symbolTableLogicalType = { dictionaryType: DictionaryType.NONE };
|
|
192
191
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, symbolTableLogicalType, 20);
|
|
193
192
|
const symbolTableMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, symbolTableLogicalType, 35);
|
|
@@ -204,9 +203,9 @@ describe('decodeSharedDictionary', () => {
|
|
|
204
203
|
expect(result).toBeDefined();
|
|
205
204
|
});
|
|
206
205
|
});
|
|
207
|
-
describe(
|
|
208
|
-
it(
|
|
209
|
-
const propertyColumnNames = new Set([
|
|
206
|
+
describe("with propertyColumnNames filter", () => {
|
|
207
|
+
it("should accept optional propertyColumnNames parameter", () => {
|
|
208
|
+
const propertyColumnNames = new Set(["testColumn"]);
|
|
210
209
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
211
210
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
212
211
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -220,8 +219,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
220
219
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures, propertyColumnNames);
|
|
221
220
|
expect(result).toBeDefined();
|
|
222
221
|
});
|
|
223
|
-
it(
|
|
224
|
-
const propertyColumnNames = new Set([
|
|
222
|
+
it("should skip column when propertyColumnNames does not include column", () => {
|
|
223
|
+
const propertyColumnNames = new Set(["someOtherColumn"]);
|
|
225
224
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
226
225
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
227
226
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -237,8 +236,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
237
236
|
expect(result).toBeDefined();
|
|
238
237
|
});
|
|
239
238
|
});
|
|
240
|
-
describe(
|
|
241
|
-
it(
|
|
239
|
+
describe("offset management", () => {
|
|
240
|
+
it("should correctly advance offset through multiple streams", () => {
|
|
242
241
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
243
242
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
244
243
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -251,8 +250,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
251
250
|
expect(mockOffset.add).toHaveBeenCalledWith(100);
|
|
252
251
|
});
|
|
253
252
|
});
|
|
254
|
-
describe(
|
|
255
|
-
it(
|
|
253
|
+
describe("edge cases", () => {
|
|
254
|
+
it("should handle minimum feature count", () => {
|
|
256
255
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
257
256
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 4);
|
|
258
257
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -264,7 +263,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
264
263
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 1);
|
|
265
264
|
expect(result).toBeDefined();
|
|
266
265
|
});
|
|
267
|
-
it(
|
|
266
|
+
it("should handle large feature count", () => {
|
|
268
267
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
269
268
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 1000);
|
|
270
269
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -279,8 +278,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
279
278
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 10000);
|
|
280
279
|
expect(result).toBeDefined();
|
|
281
280
|
});
|
|
282
|
-
it(
|
|
283
|
-
const emptyColumnMock = createMockColumn(
|
|
281
|
+
it("should handle empty child fields list", () => {
|
|
282
|
+
const emptyColumnMock = createMockColumn("emptyColumn", []);
|
|
284
283
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
285
284
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 0);
|
|
286
285
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -294,8 +293,8 @@ describe('decodeSharedDictionary', () => {
|
|
|
294
293
|
}).not.toThrow();
|
|
295
294
|
});
|
|
296
295
|
});
|
|
297
|
-
describe(
|
|
298
|
-
it(
|
|
296
|
+
describe("stream count handling", () => {
|
|
297
|
+
it("should skip columns with 0 streams", () => {
|
|
299
298
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
300
299
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
301
300
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -307,9 +306,9 @@ describe('decodeSharedDictionary', () => {
|
|
|
307
306
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
|
|
308
307
|
expect(result).toBeDefined();
|
|
309
308
|
});
|
|
310
|
-
it(
|
|
311
|
-
const childFieldNonString = createMockChildField(
|
|
312
|
-
const columnWithNonStringField = createMockColumn(
|
|
309
|
+
it("should throw error for non-string scalar fields", () => {
|
|
310
|
+
const childFieldNonString = createMockChildField("fieldName", "scalarField", ScalarType.INT_32);
|
|
311
|
+
const columnWithNonStringField = createMockColumn("testColumn", [childFieldNonString]);
|
|
313
312
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
314
313
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
315
314
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -322,11 +321,11 @@ describe('decodeSharedDictionary', () => {
|
|
|
322
321
|
setupVarintDecodeMock([2, 2]); // 2 streams in field, 2 streams to skip
|
|
323
322
|
expect(() => {
|
|
324
323
|
StringDecoder.decodeSharedDictionary(mockData, mockOffset, columnWithNonStringField, numFeatures);
|
|
325
|
-
}).toThrow(
|
|
324
|
+
}).toThrow("Currently only optional string fields are implemented for a struct.");
|
|
326
325
|
});
|
|
327
326
|
});
|
|
328
|
-
describe(
|
|
329
|
-
it(
|
|
327
|
+
describe("return value validation", () => {
|
|
328
|
+
it("should return Vector array", () => {
|
|
330
329
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
331
330
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
332
331
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -338,7 +337,7 @@ describe('decodeSharedDictionary', () => {
|
|
|
338
337
|
const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);
|
|
339
338
|
expect(result).toBeInstanceOf(Array);
|
|
340
339
|
});
|
|
341
|
-
it(
|
|
340
|
+
it("should not return null or undefined", () => {
|
|
342
341
|
const lengthLogicalType = { lengthType: LengthType.DICTIONARY };
|
|
343
342
|
const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);
|
|
344
343
|
const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stringDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { type LogicalStreamType } from \"../metadata/tile/logicalStreamType\";\nimport * as IntegerStreamDecoder from \"./integerStreamDecoder\";\nimport * as StreamMetadataDecoder from \"../metadata/tile/streamMetadataDecoder\";\nimport { type StreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\nimport { LengthType } from \"../metadata/tile/lengthType\";\nimport { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport { ScalarType } from \"../metadata/tile/scalarType\";\nimport type IntWrapper from \"./intWrapper\";\nimport { type Column } from \"../metadata/tileset/tilesetMetadata\";\nimport * as StringDecoder from \"./stringDecoder\";\nimport * as integerDecoder from \"./integerDecodingUtils\";\n\nfunction createMockStreamMetadata(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n byteLength: number,\n): StreamMetadata {\n return {\n physicalStreamType,\n logicalStreamType,\n byteLength,\n _physicalStreamType: physicalStreamType,\n _logicalStreamType: logicalStreamType,\n _logicalLevelTechnique1: undefined,\n _logicalLevelTechnique2: undefined,\n } as unknown as StreamMetadata;\n}\n\nfunction createMockChildField(\n name: string = \"fieldName\",\n type: string = \"scalarField\",\n physicalType: ScalarType = ScalarType.STRING,\n) {\n return {\n name,\n type,\n scalarField: { physicalType },\n };\n}\n\nfunction createMockColumn(name: string = \"testColumn\", children: any[] = []): Column {\n return {\n name,\n complexType: {\n children: children.length > 0 ? children : [createMockChildField()],\n },\n } as unknown as Column;\n}\n\nfunction setupOffsetMock(initialValue: number = 0) {\n let offsetValue = initialValue;\n const mockOffset = {\n get: vi.fn(() => offsetValue),\n add: vi.fn((amount: number) => {\n offsetValue += amount;\n }),\n } as unknown as IntWrapper;\n return mockOffset;\n}\n\n/**\n * Setup StreamMetadataDecoder mock with a pool of metadata.\n * Cycles through the pool if more calls are made than metadata provided.\n */\nfunction setupStreamMetadataDecodeMock(metadata: StreamMetadata[]): void {\n let callCount = 0;\n vi.spyOn(StreamMetadataDecoder, \"decodeStreamMetadata\").mockImplementation(() => {\n const result = metadata[callCount % metadata.length];\n callCount++;\n return result;\n });\n}\n\nfunction setupLengthStreamDecodeMock(offsetBuffer: Int32Array, streamMetadata: StreamMetadata): void {\n vi.spyOn(IntegerStreamDecoder, \"decodeLengthStreamToOffsetBuffer\").mockImplementation((data, offset, metadata) => {\n offset.add(metadata.byteLength);\n return offsetBuffer;\n });\n}\n\nfunction setupVarintDecodeMock(value: number | number[] = 0): void {\n const values = Array.isArray(value) ? value : [value];\n let callCount = 0;\n vi.spyOn(integerDecoder, \"decodeVarintInt32\" as any).mockImplementation(() => {\n const result = new Int32Array([values[callCount] ?? 0]);\n callCount++;\n return result;\n });\n}\n\ndescribe(\"decodePlainStringVector\", () => {\n it.skip(\"should return null when plainLengthStream is null\", () => {\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n null,\n new Uint8Array([1, 2, 3]),\n null,\n null,\n );\n expect(result).toBeNull();\n });\n\n it.skip(\"should return null when plainDataStream is null\", () => {\n const result = (StringDecoder as any).decodePlainStringVector(\"test\", new Int32Array([0, 3]), null, null, null);\n expect(result).toBeNull();\n });\n\n it.skip(\"should return StringDictionaryVector when offsetStream exists (non-nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const offsetStream = new Int32Array([0, 1]);\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n offsetStream,\n null,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it.skip(\"should return StringDictionaryVector when offsetStream exists (nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const offsetStream = new Int32Array([0, 1]);\n const nullabilityBuffer = { size: () => 2, get: (i: number) => true } as any;\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n offsetStream,\n nullabilityBuffer,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it.skip(\"should return StringDictionaryVector with sparse offset when nullability mismatch\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n const nullabilityBuffer = {\n size: () => 3,\n get: (i: number) => i !== 1,\n } as any;\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n null,\n nullabilityBuffer,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n\n it.skip(\"should return StringFlatVector (non-nullable)\", () => {\n const plainLengthStream = new Int32Array([0, 3, 7]);\n const plainDataStream = new Uint8Array([97, 98, 99, 100, 101, 102, 103]);\n\n const result = (StringDecoder as any).decodePlainStringVector(\n \"test\",\n plainLengthStream,\n plainDataStream,\n null,\n null,\n );\n\n expect(result).toBeDefined();\n expect(result.name).toBe(\"test\");\n });\n});\n\ndescribe(\"decodeSharedDictionary\", () => {\n let mockData: Uint8Array;\n let mockOffset: IntWrapper;\n let mockColumn: Column;\n let numFeatures: number;\n\n beforeEach(() => {\n mockData = new Uint8Array(256);\n mockOffset = setupOffsetMock();\n mockColumn = createMockColumn(\"testColumn\", [createMockChildField()]);\n numFeatures = 10;\n vi.clearAllMocks();\n });\n\n describe(\"basic dictionary stream decoding\", () => {\n it(\"should decode LENGTH stream for dictionary offset buffer\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dataLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dataStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dataLogicalType, 50);\n const expectedOffsetBuffer = new Int32Array([0, 5, 10, 15, 20]);\n\n setupStreamMetadataDecodeMock([streamMetadata, dataStreamMetadata]);\n setupLengthStreamDecodeMock(expectedOffsetBuffer, streamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(StreamMetadataDecoder.decodeStreamMetadata).toHaveBeenCalledWith(mockData, mockOffset);\n expect(IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer).toHaveBeenCalled();\n expect(result).toBeDefined();\n expect(Array.isArray(result)).toBe(true);\n });\n\n it(\"should decode LENGTH stream for symbol offset buffer\", () => {\n const lengthLogicalType = { lengthType: LengthType.SYMBOL } as unknown as LogicalStreamType;\n const streamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dataLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dataStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dataLogicalType, 50);\n const expectedOffsetBuffer = new Int32Array([0, 3, 6, 9]);\n\n setupStreamMetadataDecodeMock([streamMetadata, dataStreamMetadata]);\n setupLengthStreamDecodeMock(expectedOffsetBuffer, streamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeDefined();\n });\n });\n\n describe(\"dictionary buffer decoding\", () => {\n it(\"should decode SINGLE dictionary type DATA stream\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenCalledWith(40);\n expect(result).toBeDefined();\n });\n\n it(\"should advance offset correctly through LENGTH and DATA streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SINGLE } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenNthCalledWith(1, 20);\n expect(mockOffset.add).toHaveBeenNthCalledWith(2, 40);\n expect(result).toBeDefined();\n });\n });\n\n describe(\"symbol table buffer decoding\", () => {\n it(\"should decode symbol table buffer when dictionary type is not SINGLE or SHARED\", () => {\n const symbolTableLogicalType = { dictionaryType: DictionaryType.NONE } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.LENGTH,\n symbolTableLogicalType,\n 20,\n );\n const symbolTableMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, symbolTableLogicalType, 35);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryDataMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 50);\n const offsetBuffer = new Int32Array([0, 10, 20]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, symbolTableMetadata, dictionaryDataMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenNthCalledWith(1, 20);\n expect(mockOffset.add).toHaveBeenNthCalledWith(2, 35);\n expect(mockOffset.add).toHaveBeenNthCalledWith(3, 50);\n expect(result).toBeDefined();\n });\n });\n\n describe(\"with propertyColumnNames filter\", () => {\n it(\"should accept optional propertyColumnNames parameter\", () => {\n const propertyColumnNames = new Set([\"testColumn\"]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStreamMetadata = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n // Provide metadata for: LENGTH, DATA (for dictionary), DATA (for skipColumn)\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([1, 1]); // First field has 1 stream, then 1 more stream to skip\n\n const result = StringDecoder.decodeSharedDictionary(\n mockData,\n mockOffset,\n mockColumn,\n numFeatures,\n propertyColumnNames,\n );\n\n expect(result).toBeDefined();\n });\n\n it(\"should skip column when propertyColumnNames does not include column\", () => {\n const propertyColumnNames = new Set([\"someOtherColumn\"]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStream1 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const skipStream2 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 25);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n // Provide metadata for: LENGTH, DATA (for dictionary), and 2 streams to skip\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStream1, skipStream2]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([2, 2]); // 2 streams in first field, 2 streams to skip\n\n const result = StringDecoder.decodeSharedDictionary(\n mockData,\n mockOffset,\n mockColumn,\n numFeatures,\n propertyColumnNames,\n );\n\n expect(result).toBeDefined();\n });\n });\n\n describe(\"offset management\", () => {\n it(\"should correctly advance offset through multiple streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 100,\n );\n const offsetBuffer = new Int32Array([0, 25, 50, 75, 100]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(mockOffset.add).toHaveBeenCalledWith(100);\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"should handle minimum feature count\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 4);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 10,\n );\n const offsetBuffer = new Int32Array([0, 10]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 1);\n\n expect(result).toBeDefined();\n });\n\n it(\"should handle large feature count\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 1000);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 5000,\n );\n const largeOffsetBuffer = new Int32Array(10001);\n for (let i = 0; i < largeOffsetBuffer.length; i++) {\n largeOffsetBuffer[i] = i * 500;\n }\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(largeOffsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, 10000);\n\n expect(result).toBeDefined();\n });\n\n it(\"should handle empty child fields list\", () => {\n const emptyColumnMock = createMockColumn(\"emptyColumn\", []);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 0);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 0,\n );\n const offsetBuffer = new Int32Array([0]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n expect(() => {\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, emptyColumnMock, 0);\n }).not.toThrow();\n });\n });\n\n describe(\"stream count handling\", () => {\n it(\"should skip columns with 0 streams\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeDefined();\n });\n\n it(\"should throw error for non-string scalar fields\", () => {\n const childFieldNonString = createMockChildField(\"fieldName\", \"scalarField\", ScalarType.INT_32);\n const columnWithNonStringField = createMockColumn(\"testColumn\", [childFieldNonString]);\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const skipStream1 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 15);\n const skipStream2 = createMockStreamMetadata(PhysicalStreamType.DATA, dictionaryLogicalType, 25);\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata, skipStream1, skipStream2]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock([2, 2]); // 2 streams in field, 2 streams to skip\n\n expect(() => {\n StringDecoder.decodeSharedDictionary(mockData, mockOffset, columnWithNonStringField, numFeatures);\n }).toThrow(\"Currently only optional string fields are implemented for a struct.\");\n });\n });\n\n describe(\"return value validation\", () => {\n it(\"should return Vector array\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).toBeInstanceOf(Array);\n });\n\n it(\"should not return null or undefined\", () => {\n const lengthLogicalType = { lengthType: LengthType.DICTIONARY } as unknown as LogicalStreamType;\n const lengthStreamMetadata = createMockStreamMetadata(PhysicalStreamType.LENGTH, lengthLogicalType, 20);\n const dictionaryLogicalType = { dictionaryType: DictionaryType.SHARED } as unknown as LogicalStreamType;\n const dictionaryStreamMetadata = createMockStreamMetadata(\n PhysicalStreamType.DATA,\n dictionaryLogicalType,\n 40,\n );\n const offsetBuffer = new Int32Array([0, 10, 20, 40]);\n\n setupStreamMetadataDecodeMock([lengthStreamMetadata, dictionaryStreamMetadata]);\n setupLengthStreamDecodeMock(offsetBuffer, lengthStreamMetadata);\n setupVarintDecodeMock(0);\n\n const result = StringDecoder.decodeSharedDictionary(mockData, mockOffset, mockColumn, numFeatures);\n\n expect(result).not.toBeNull();\n expect(result).not.toBeUndefined();\n });\n });\n});\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC","sourcesContent":["export { default as decodeTile } from \"./mltDecoder\";\nexport { default as FeatureTable } from \"./vector/featureTable\";\nexport { GeometryVector } from \"./vector/geometry/geometryVector\";\nexport { GpuVector } from \"./vector/geometry/gpuVector\";\nexport { default as GeometryScaling } from \"./decoding/geometryScaling\";\nexport { GEOMETRY_TYPE } from \"./vector/geometry/geometryType\";\nexport type { TileSetMetadata } from \"./metadata/tileset/tilesetMetadata\";\nexport type { Geometry } from \"./vector/geometry/geometryVector\";\nexport type { Feature } from \"./vector/featureTable\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictionaryType.js","sourceRoot":"","sources":["../../../src/metadata/tile/dictionaryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
|
|
1
|
+
{"version":3,"file":"dictionaryType.js","sourceRoot":"","sources":["../../../src/metadata/tile/dictionaryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB","sourcesContent":["export enum DictionaryType {\n NONE = \"NONE\",\n SINGLE = \"SINGLE\",\n SHARED = \"SHARED\",\n VERTEX = \"VERTEX\",\n MORTON = \"MORTON\",\n FSST = \"FSST\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lengthType.js","sourceRoot":"","sources":["../../../src/metadata/tile/lengthType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB"}
|
|
1
|
+
{"version":3,"file":"lengthType.js","sourceRoot":"","sources":["../../../src/metadata/tile/lengthType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB","sourcesContent":["export enum LengthType {\n VAR_BINARY = \"VAR_BINARY\",\n GEOMETRIES = \"GEOMETRIES\",\n PARTS = \"PARTS\",\n RINGS = \"RINGS\",\n TRIANGLES = \"TRIANGLES\",\n SYMBOL = \"SYMBOL\",\n DICTIONARY = \"DICTIONARY\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oEAA2C,CAAA;IAC3C,oCAAW,CAAA;IACX,0CAAiB,CAAA;IACjB,wHAAwH;IACxH,yFAAyF;IACzF,oCAAW,CAAA;AACf,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC"}
|
|
1
|
+
{"version":3,"file":"logicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oEAA2C,CAAA;IAC3C,oCAAW,CAAA;IACX,0CAAiB,CAAA;IACjB,wHAAwH;IACxH,yFAAyF;IACzF,oCAAW,CAAA;AACf,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC","sourcesContent":["export enum LogicalLevelTechnique {\n NONE = \"NONE\",\n DELTA = \"DELTA\",\n COMPONENTWISE_DELTA = \"COMPONENTWISE_DELTA\",\n RLE = \"RLE\",\n MORTON = \"MORTON\",\n // Pseudodecimal Encoding of floats -> only for the exponent integer part an additional logical level technique is used.\n // Both exponent and significant parts are encoded with the same physical level technique\n PDE = \"PDE\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalStreamType.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,iBAAiB;IAEL;IACA;IACA;IAHrB,YACqB,eAAgC,EAChC,WAAwB,EACxB,WAAwB;QAFxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAC1C,CAAC;IAEJ,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"logicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/logicalStreamType.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,iBAAiB;IAEL;IACA;IACA;IAHrB,YACqB,eAAgC,EAChC,WAAwB,EACxB,WAAwB;QAFxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;IAC1C,CAAC;IAEJ,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ","sourcesContent":["import { type DictionaryType } from \"./dictionaryType\";\nimport { type OffsetType } from \"./offsetType\";\nimport { type LengthType } from \"./lengthType\";\n\nexport class LogicalStreamType {\n constructor(\n private readonly _dictionaryType?: DictionaryType,\n private readonly _offsetType?: OffsetType,\n private readonly _lengthType?: LengthType,\n ) {}\n\n get dictionaryType(): DictionaryType | undefined {\n return this._dictionaryType;\n }\n\n get offsetType(): OffsetType | undefined {\n return this._offsetType;\n }\n\n get lengthType(): LengthType | undefined {\n return this._lengthType;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offsetType.js","sourceRoot":"","sources":["../../../src/metadata/tile/offsetType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
|
|
1
|
+
{"version":3,"file":"offsetType.js","sourceRoot":"","sources":["../../../src/metadata/tile/offsetType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB","sourcesContent":["export enum OffsetType {\n VERTEX = \"VERTEX\",\n INDEX = \"INDEX\",\n STRING = \"STRING\",\n KEY = \"KEY\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAC9B,uCAAa,CAAA;IACb;;;OAGG;IACH,iDAAuB,CAAA;IACvB;;;OAGG;IACH,2CAAiB,CAAA;IACjB;;OAEG;IACH,qCAAW,CAAA;AACf,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC"}
|
|
1
|
+
{"version":3,"file":"physicalLevelTechnique.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalLevelTechnique.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAC9B,uCAAa,CAAA;IACb;;;OAGG;IACH,iDAAuB,CAAA;IACvB;;;OAGG;IACH,2CAAiB,CAAA;IACjB;;OAEG;IACH,qCAAW,CAAA;AACf,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC","sourcesContent":["export enum PhysicalLevelTechnique {\n NONE = \"NONE\",\n /**\n * Preferred option, tends to produce the best compression ratio and decoding performance.\n * But currently only limited to 32 bit integer.\n */\n FAST_PFOR = \"FAST_PFOR\",\n /**\n * Can produce better results in combination with a heavyweight compression scheme like Gzip.\n * Simple compression scheme where the decoder are easier to implement compared to FastPfor.\n */\n VARINT = \"VARINT\",\n /**\n * Adaptive Lossless floating-Point Compression\n */\n ALP = \"ALP\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalStreamType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
|
|
1
|
+
{"version":3,"file":"physicalStreamType.js","sourceRoot":"","sources":["../../../src/metadata/tile/physicalStreamType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B","sourcesContent":["export enum PhysicalStreamType {\n PRESENT = \"PRESENT\",\n DATA = \"DATA\",\n OFFSET = \"OFFSET\",\n LENGTH = \"LENGTH\",\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalarType.js","sourceRoot":"","sources":["../../../src/metadata/tile/scalarType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;AACd,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB"}
|
|
1
|
+
{"version":3,"file":"scalarType.js","sourceRoot":"","sources":["../../../src/metadata/tile/scalarType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,+CAAU,CAAA;AACd,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB","sourcesContent":["export enum ScalarType {\n BOOLEAN = 0,\n INT_8 = 1,\n UINT_8 = 2,\n INT_32 = 3,\n UINT_32 = 4,\n INT_64 = 5,\n UINT_64 = 6,\n FLOAT = 7,\n DOUBLE = 8,\n STRING = 9,\n}\n"]}
|