@loaders.gl/tile-converter 4.0.0-alpha.20 → 4.0.0-alpha.21

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 (47) hide show
  1. package/dist/converter.min.js +15 -15
  2. package/dist/dist.min.js +31819 -31901
  3. package/dist/es5/deps-installer/deps-installer.js +1 -1
  4. package/dist/es5/i3s-server/controllers/slpk-controller.js +2 -2
  5. package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -1
  6. package/dist/es5/index.js +0 -7
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/pgm-loader.js +1 -1
  9. package/dist/es5/slpk-extractor/slpk-extractor.js +7 -8
  10. package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -1
  11. package/dist/esm/deps-installer/deps-installer.js +1 -1
  12. package/dist/esm/i3s-server/bin/i3s-server.min.js +70 -70
  13. package/dist/esm/i3s-server/controllers/slpk-controller.js +1 -1
  14. package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -1
  15. package/dist/esm/index.js +0 -1
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/pgm-loader.js +1 -1
  18. package/dist/esm/slpk-extractor/slpk-extractor.js +2 -3
  19. package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -1
  20. package/dist/i3s-server/controllers/slpk-controller.js +2 -2
  21. package/dist/index.d.ts +0 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -3
  24. package/dist/slpk-extractor/slpk-extractor.d.ts +1 -1
  25. package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
  26. package/dist/slpk-extractor/slpk-extractor.js +3 -4
  27. package/dist/slpk-extractor.min.js +35 -35
  28. package/package.json +14 -14
  29. package/src/i3s-server/controllers/slpk-controller.ts +1 -1
  30. package/src/index.ts +0 -1
  31. package/src/slpk-extractor/slpk-extractor.ts +2 -3
  32. package/dist/es5/slpk-extractor/helpers/file-handle-file.js +0 -214
  33. package/dist/es5/slpk-extractor/helpers/file-handle-file.js.map +0 -1
  34. package/dist/es5/slpk-extractor/helpers/fs-promises.js +0 -77
  35. package/dist/es5/slpk-extractor/helpers/fs-promises.js.map +0 -1
  36. package/dist/esm/slpk-extractor/helpers/file-handle-file.js +0 -54
  37. package/dist/esm/slpk-extractor/helpers/file-handle-file.js.map +0 -1
  38. package/dist/esm/slpk-extractor/helpers/fs-promises.js +0 -32
  39. package/dist/esm/slpk-extractor/helpers/fs-promises.js.map +0 -1
  40. package/dist/slpk-extractor/helpers/file-handle-file.d.ts +0 -51
  41. package/dist/slpk-extractor/helpers/file-handle-file.d.ts.map +0 -1
  42. package/dist/slpk-extractor/helpers/file-handle-file.js +0 -86
  43. package/dist/slpk-extractor/helpers/fs-promises.d.ts +0 -38
  44. package/dist/slpk-extractor/helpers/fs-promises.d.ts.map +0 -1
  45. package/dist/slpk-extractor/helpers/fs-promises.js +0 -51
  46. package/src/slpk-extractor/helpers/file-handle-file.ts +0 -109
  47. package/src/slpk-extractor/helpers/fs-promises.ts +0 -66
@@ -1,6 +1,6 @@
1
1
  import '@loaders.gl/polyfills';
2
2
  import { parseSLPK } from '@loaders.gl/i3s';
3
- import { FileHandleFile } from '@loaders.gl/tile-converter';
3
+ import { FileHandleFile } from '@loaders.gl/zip';
4
4
  let slpkArchive;
5
5
  export const loadArchive = async fullLayerPath => {
6
6
  slpkArchive = await parseSLPK(await FileHandleFile.from(fullLayerPath), msg => console.log(msg));
@@ -1 +1 @@
1
- {"version":3,"file":"slpk-controller.js","names":["parseSLPK","FileHandleFile","slpkArchive","loadArchive","fullLayerPath","from","msg","console","log","getFileByUrl","url","trimmedPath","exec","uncompressedFile","Buffer","getFile","e"],"sources":["../../../../src/i3s-server/controllers/slpk-controller.ts"],"sourcesContent":["import '@loaders.gl/polyfills';\nimport {parseSLPK} from '@loaders.gl/i3s';\nimport {FileHandleFile} from '@loaders.gl/tile-converter';\n\nlet slpkArchive;\n\n/**\n * Open SLPK file for reading and load HASH file\n * @param fullLayerPath - full path to SLPK file\n */\nexport const loadArchive = async (fullLayerPath: string): Promise<void> => {\n slpkArchive = await parseSLPK(await FileHandleFile.from(fullLayerPath), (msg) =>\n console.log(msg)\n );\n console.log('The server is ready to use');\n};\n\n/**\n * Get a file from SLPK\n * @param url - I3S HTTP URL\n * @returns - file content\n */\nexport async function getFileByUrl(url: string) {\n const trimmedPath = /^\\/?(.*)\\/?$/.exec(url);\n let uncompressedFile: Buffer | null = null;\n if (trimmedPath) {\n try {\n uncompressedFile = Buffer.from(await slpkArchive.getFile(trimmedPath[1], 'http'));\n } catch (e) {}\n }\n return uncompressedFile;\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAC9B,SAAQA,SAAS,QAAO,iBAAiB;AACzC,SAAQC,cAAc,QAAO,4BAA4B;AAEzD,IAAIC,WAAW;AAMf,OAAO,MAAMC,WAAW,GAAG,MAAOC,aAAqB,IAAoB;EACzEF,WAAW,GAAG,MAAMF,SAAS,CAAC,MAAMC,cAAc,CAACI,IAAI,CAACD,aAAa,CAAC,EAAGE,GAAG,IAC1EC,OAAO,CAACC,GAAG,CAACF,GAAG,CACjB,CAAC;EACDC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAC3C,CAAC;AAOD,OAAO,eAAeC,YAAYA,CAACC,GAAW,EAAE;EAC9C,MAAMC,WAAW,GAAG,cAAc,CAACC,IAAI,CAACF,GAAG,CAAC;EAC5C,IAAIG,gBAA+B,GAAG,IAAI;EAC1C,IAAIF,WAAW,EAAE;IACf,IAAI;MACFE,gBAAgB,GAAGC,MAAM,CAACT,IAAI,CAAC,MAAMH,WAAW,CAACa,OAAO,CAACJ,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,OAAOK,CAAC,EAAE,CAAC;EACf;EACA,OAAOH,gBAAgB;AACzB"}
1
+ {"version":3,"file":"slpk-controller.js","names":["parseSLPK","FileHandleFile","slpkArchive","loadArchive","fullLayerPath","from","msg","console","log","getFileByUrl","url","trimmedPath","exec","uncompressedFile","Buffer","getFile","e"],"sources":["../../../../src/i3s-server/controllers/slpk-controller.ts"],"sourcesContent":["import '@loaders.gl/polyfills';\nimport {parseSLPK} from '@loaders.gl/i3s';\nimport {FileHandleFile} from '@loaders.gl/zip';\n\nlet slpkArchive;\n\n/**\n * Open SLPK file for reading and load HASH file\n * @param fullLayerPath - full path to SLPK file\n */\nexport const loadArchive = async (fullLayerPath: string): Promise<void> => {\n slpkArchive = await parseSLPK(await FileHandleFile.from(fullLayerPath), (msg) =>\n console.log(msg)\n );\n console.log('The server is ready to use');\n};\n\n/**\n * Get a file from SLPK\n * @param url - I3S HTTP URL\n * @returns - file content\n */\nexport async function getFileByUrl(url: string) {\n const trimmedPath = /^\\/?(.*)\\/?$/.exec(url);\n let uncompressedFile: Buffer | null = null;\n if (trimmedPath) {\n try {\n uncompressedFile = Buffer.from(await slpkArchive.getFile(trimmedPath[1], 'http'));\n } catch (e) {}\n }\n return uncompressedFile;\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAC9B,SAAQA,SAAS,QAAO,iBAAiB;AACzC,SAAQC,cAAc,QAAO,iBAAiB;AAE9C,IAAIC,WAAW;AAMf,OAAO,MAAMC,WAAW,GAAG,MAAOC,aAAqB,IAAoB;EACzEF,WAAW,GAAG,MAAMF,SAAS,CAAC,MAAMC,cAAc,CAACI,IAAI,CAACD,aAAa,CAAC,EAAGE,GAAG,IAC1EC,OAAO,CAACC,GAAG,CAACF,GAAG,CACjB,CAAC;EACDC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAC3C,CAAC;AAOD,OAAO,eAAeC,YAAYA,CAACC,GAAW,EAAE;EAC9C,MAAMC,WAAW,GAAG,cAAc,CAACC,IAAI,CAACF,GAAG,CAAC;EAC5C,IAAIG,gBAA+B,GAAG,IAAI;EAC1C,IAAIF,WAAW,EAAE;IACf,IAAI;MACFE,gBAAgB,GAAGC,MAAM,CAACT,IAAI,CAAC,MAAMH,WAAW,CAACa,OAAO,CAACJ,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,OAAOK,CAAC,EAAE,CAAC;EACf;EACA,OAAOH,gBAAgB;AACzB"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,3 @@
1
1
  export { default as I3SConverter } from './i3s-converter/i3s-converter';
2
2
  export { default as Tiles3DConverter } from './3d-tiles-converter/3d-tiles-converter';
3
- export { FileHandleFile } from './slpk-extractor/helpers/file-handle-file';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","I3SConverter","Tiles3DConverter","FileHandleFile"],"sources":["../../src/index.ts"],"sourcesContent":["export {default as I3SConverter} from './i3s-converter/i3s-converter';\nexport {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';\nexport {FileHandleFile} from './slpk-extractor/helpers/file-handle-file';\n"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,YAAY,QAAO,+BAA+B;AACrE,SAAQD,OAAO,IAAIE,gBAAgB,QAAO,yCAAyC;AACnF,SAAQC,cAAc,QAAO,2CAA2C"}
1
+ {"version":3,"file":"index.js","names":["default","I3SConverter","Tiles3DConverter"],"sources":["../../src/index.ts"],"sourcesContent":["export {default as I3SConverter} from './i3s-converter/i3s-converter';\nexport {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';\n"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,YAAY,QAAO,+BAA+B;AACrE,SAAQD,OAAO,IAAIE,gBAAgB,QAAO,yCAAyC"}
@@ -1,5 +1,5 @@
1
1
  import { parsePGM } from '@math.gl/geoid';
2
- const VERSION = typeof "4.0.0-alpha.20" !== 'undefined' ? "4.0.0-alpha.20" : 'latest';
2
+ const VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'latest';
3
3
  export const PGMLoader = {
4
4
  name: 'PGM - Netpbm grayscale image format',
5
5
  id: 'pgm',
@@ -1,12 +1,11 @@
1
1
  import { isBrowser } from '@loaders.gl/core';
2
2
  import { BROWSER_ERROR_MESSAGE } from '../constants';
3
- import { FileHandleFile } from './helpers/file-handle-file';
4
3
  import { path } from '@loaders.gl/loader-utils';
5
- import { parseZipLocalFileHeader } from '@loaders.gl/zip';
4
+ import { FileHandleFile, parseZipLocalFileHeader } from '@loaders.gl/zip';
6
5
  import { GZipCompression } from '@loaders.gl/compression';
7
6
  import { writeFile } from '../lib/utils/file-utils';
8
7
  const indexNames = ['3dSceneLayer.json.gz', '3dNodeIndexDocument.json.gz', 'sharedResource.json.gz'];
9
- export default class SLPKConverter {
8
+ export default class SLPKExtractor {
10
9
  async extract(options) {
11
10
  if (isBrowser) {
12
11
  console.log(BROWSER_ERROR_MESSAGE);
@@ -1 +1 @@
1
- {"version":3,"file":"slpk-extractor.js","names":["isBrowser","BROWSER_ERROR_MESSAGE","FileHandleFile","path","parseZipLocalFileHeader","GZipCompression","writeFile","indexNames","SLPKConverter","extract","options","console","log","inputUrl","provider","from","localHeader","_localHeader","unGzip","name","correctIndexNames","fileName","data","slice","fileDataOffset","compressedSize","outputPath","includes","filename","join","dirname","parts","exec","concat","at","file","_file$name","test","_file$name2","compression","decompressedData","decompress","Promise","resolve","finalPath","dirName"],"sources":["../../../src/slpk-extractor/slpk-extractor.ts"],"sourcesContent":["import {isBrowser} from '@loaders.gl/core';\n\nimport {BROWSER_ERROR_MESSAGE} from '../constants';\nimport {FileHandleFile} from './helpers/file-handle-file';\nimport {path} from '@loaders.gl/loader-utils';\nimport {parseZipLocalFileHeader} from '@loaders.gl/zip';\nimport {GZipCompression} from '@loaders.gl/compression';\nimport {writeFile} from '../lib/utils/file-utils';\n\nconst indexNames = [\n '3dSceneLayer.json.gz',\n '3dNodeIndexDocument.json.gz',\n 'sharedResource.json.gz'\n];\n\n/**\n * Description of the file in the SLPK\n */\ntype File = {\n name: string | null;\n data: ArrayBuffer;\n};\n\n/**\n * Converter from slpk to i3s\n */\nexport default class SLPKConverter {\n /**\n * Extract slpk to i3s\n * @param options\n * @param options.inputUrl the url to read SLPK file\n * @param options.outputPath the output filename\n */\n public async extract(options: {inputUrl: string; outputPath: string}): Promise<string> {\n if (isBrowser) {\n console.log(BROWSER_ERROR_MESSAGE);\n return BROWSER_ERROR_MESSAGE;\n }\n const {inputUrl} = options;\n\n const provider = await FileHandleFile.from(inputUrl);\n\n let localHeader = await parseZipLocalFileHeader(0n, provider);\n while (localHeader) {\n await this.writeFile(\n await this.unGzip({\n name: this.correctIndexNames(localHeader.fileName),\n data: await provider.slice(\n localHeader.fileDataOffset,\n localHeader.fileDataOffset + localHeader.compressedSize\n )\n }),\n options.outputPath\n );\n localHeader = await parseZipLocalFileHeader(\n localHeader.fileDataOffset + localHeader?.compressedSize,\n provider\n );\n }\n\n return 'success';\n }\n\n /**\n * Defines file name and path for i3s format\n * @param fileName initial file name and path\n */\n\n private correctIndexNames(fileName: string): string | null {\n if (indexNames.includes(path.filename(path.join('/', fileName)))) {\n return path.join(path.dirname(fileName), 'index.json.gz');\n }\n // finds path with name part and extention part\n let parts = /^(.*\\/[^\\/\\.]*)(\\..+)$/.exec(fileName);\n if (!parts) {\n return null;\n }\n return `${parts?.at(1)}/index${parts?.at(2)}`;\n }\n\n private async unGzip(file: File): Promise<File> {\n if (/\\.gz$/.test(file.name ?? '')) {\n const compression = new GZipCompression();\n\n const decompressedData = await compression.decompress(file.data);\n\n return {data: decompressedData, name: (file.name ?? '').slice(0, -3)};\n }\n return Promise.resolve(file);\n }\n\n private async writeFile(options: File, outputPath: string): Promise<void> {\n if (!options.name) {\n return;\n }\n const finalPath = path.join(outputPath, options.name);\n const dirName = path.dirname(finalPath);\n const fileName = path.filename(finalPath);\n await writeFile(dirName, options.data, fileName);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"slpk-extractor.js","names":["isBrowser","BROWSER_ERROR_MESSAGE","path","FileHandleFile","parseZipLocalFileHeader","GZipCompression","writeFile","indexNames","SLPKExtractor","extract","options","console","log","inputUrl","provider","from","localHeader","_localHeader","unGzip","name","correctIndexNames","fileName","data","slice","fileDataOffset","compressedSize","outputPath","includes","filename","join","dirname","parts","exec","concat","at","file","_file$name","test","_file$name2","compression","decompressedData","decompress","Promise","resolve","finalPath","dirName"],"sources":["../../../src/slpk-extractor/slpk-extractor.ts"],"sourcesContent":["import {isBrowser} from '@loaders.gl/core';\n\nimport {BROWSER_ERROR_MESSAGE} from '../constants';\nimport {path} from '@loaders.gl/loader-utils';\nimport {FileHandleFile, parseZipLocalFileHeader} from '@loaders.gl/zip';\nimport {GZipCompression} from '@loaders.gl/compression';\nimport {writeFile} from '../lib/utils/file-utils';\n\nconst indexNames = [\n '3dSceneLayer.json.gz',\n '3dNodeIndexDocument.json.gz',\n 'sharedResource.json.gz'\n];\n\n/**\n * Description of the file in the SLPK\n */\ntype File = {\n name: string | null;\n data: ArrayBuffer;\n};\n\n/**\n * Converter from slpk to i3s\n */\nexport default class SLPKExtractor {\n /**\n * Extract slpk to i3s\n * @param options\n * @param options.inputUrl the url to read SLPK file\n * @param options.outputPath the output filename\n */\n public async extract(options: {inputUrl: string; outputPath: string}): Promise<string> {\n if (isBrowser) {\n console.log(BROWSER_ERROR_MESSAGE);\n return BROWSER_ERROR_MESSAGE;\n }\n const {inputUrl} = options;\n\n const provider = await FileHandleFile.from(inputUrl);\n\n let localHeader = await parseZipLocalFileHeader(0n, provider);\n while (localHeader) {\n await this.writeFile(\n await this.unGzip({\n name: this.correctIndexNames(localHeader.fileName),\n data: await provider.slice(\n localHeader.fileDataOffset,\n localHeader.fileDataOffset + localHeader.compressedSize\n )\n }),\n options.outputPath\n );\n localHeader = await parseZipLocalFileHeader(\n localHeader.fileDataOffset + localHeader?.compressedSize,\n provider\n );\n }\n\n return 'success';\n }\n\n /**\n * Defines file name and path for i3s format\n * @param fileName initial file name and path\n */\n\n private correctIndexNames(fileName: string): string | null {\n if (indexNames.includes(path.filename(path.join('/', fileName)))) {\n return path.join(path.dirname(fileName), 'index.json.gz');\n }\n // finds path with name part and extention part\n let parts = /^(.*\\/[^\\/\\.]*)(\\..+)$/.exec(fileName);\n if (!parts) {\n return null;\n }\n return `${parts?.at(1)}/index${parts?.at(2)}`;\n }\n\n private async unGzip(file: File): Promise<File> {\n if (/\\.gz$/.test(file.name ?? '')) {\n const compression = new GZipCompression();\n\n const decompressedData = await compression.decompress(file.data);\n\n return {data: decompressedData, name: (file.name ?? '').slice(0, -3)};\n }\n return Promise.resolve(file);\n }\n\n private async writeFile(options: File, outputPath: string): Promise<void> {\n if (!options.name) {\n return;\n }\n const finalPath = path.join(outputPath, options.name);\n const dirName = path.dirname(finalPath);\n const fileName = path.filename(finalPath);\n await writeFile(dirName, options.data, fileName);\n }\n}\n"],"mappings":"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"}
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFileByUrl = exports.loadArchive = void 0;
4
4
  require("@loaders.gl/polyfills");
5
5
  const i3s_1 = require("@loaders.gl/i3s");
6
- const tile_converter_1 = require("@loaders.gl/tile-converter");
6
+ const zip_1 = require("@loaders.gl/zip");
7
7
  let slpkArchive;
8
8
  /**
9
9
  * Open SLPK file for reading and load HASH file
10
10
  * @param fullLayerPath - full path to SLPK file
11
11
  */
12
12
  const loadArchive = async (fullLayerPath) => {
13
- slpkArchive = await (0, i3s_1.parseSLPK)(await tile_converter_1.FileHandleFile.from(fullLayerPath), (msg) => console.log(msg));
13
+ slpkArchive = await (0, i3s_1.parseSLPK)(await zip_1.FileHandleFile.from(fullLayerPath), (msg) => console.log(msg));
14
14
  console.log('The server is ready to use');
15
15
  };
16
16
  exports.loadArchive = loadArchive;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export { default as I3SConverter } from './i3s-converter/i3s-converter';
2
2
  export { default as Tiles3DConverter } from './3d-tiles-converter/3d-tiles-converter';
3
- export { FileHandleFile } from './slpk-extractor/helpers/file-handle-file';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAC,cAAc,EAAC,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,yCAAyC,CAAC"}
package/dist/index.js CHANGED
@@ -3,10 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FileHandleFile = exports.Tiles3DConverter = exports.I3SConverter = void 0;
6
+ exports.Tiles3DConverter = exports.I3SConverter = void 0;
7
7
  var i3s_converter_1 = require("./i3s-converter/i3s-converter");
8
8
  Object.defineProperty(exports, "I3SConverter", { enumerable: true, get: function () { return __importDefault(i3s_converter_1).default; } });
9
9
  var _3d_tiles_converter_1 = require("./3d-tiles-converter/3d-tiles-converter");
10
10
  Object.defineProperty(exports, "Tiles3DConverter", { enumerable: true, get: function () { return __importDefault(_3d_tiles_converter_1).default; } });
11
- var file_handle_file_1 = require("./slpk-extractor/helpers/file-handle-file");
12
- Object.defineProperty(exports, "FileHandleFile", { enumerable: true, get: function () { return file_handle_file_1.FileHandleFile; } });
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Converter from slpk to i3s
3
3
  */
4
- export default class SLPKConverter {
4
+ export default class SLPKExtractor {
5
5
  /**
6
6
  * Extract slpk to i3s
7
7
  * @param options
@@ -1 +1 @@
1
- {"version":3,"file":"slpk-extractor.d.ts","sourceRoot":"","sources":["../../src/slpk-extractor/slpk-extractor.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BtF;;;OAGG;IAEH,OAAO,CAAC,iBAAiB;YAYX,MAAM;YAWN,SAAS;CASxB"}
1
+ {"version":3,"file":"slpk-extractor.d.ts","sourceRoot":"","sources":["../../src/slpk-extractor/slpk-extractor.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BtF;;;OAGG;IAEH,OAAO,CAAC,iBAAiB;YAYX,MAAM;YAWN,SAAS;CASxB"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@loaders.gl/core");
4
4
  const constants_1 = require("../constants");
5
- const file_handle_file_1 = require("./helpers/file-handle-file");
6
5
  const loader_utils_1 = require("@loaders.gl/loader-utils");
7
6
  const zip_1 = require("@loaders.gl/zip");
8
7
  const compression_1 = require("@loaders.gl/compression");
@@ -15,7 +14,7 @@ const indexNames = [
15
14
  /**
16
15
  * Converter from slpk to i3s
17
16
  */
18
- class SLPKConverter {
17
+ class SLPKExtractor {
19
18
  /**
20
19
  * Extract slpk to i3s
21
20
  * @param options
@@ -28,7 +27,7 @@ class SLPKConverter {
28
27
  return constants_1.BROWSER_ERROR_MESSAGE;
29
28
  }
30
29
  const { inputUrl } = options;
31
- const provider = await file_handle_file_1.FileHandleFile.from(inputUrl);
30
+ const provider = await zip_1.FileHandleFile.from(inputUrl);
32
31
  let localHeader = await (0, zip_1.parseZipLocalFileHeader)(0n, provider);
33
32
  while (localHeader) {
34
33
  await this.writeFile(await this.unGzip({
@@ -72,4 +71,4 @@ class SLPKConverter {
72
71
  await (0, file_utils_1.writeFile)(dirName, options.data, fileName);
73
72
  }
74
73
  }
75
- exports.default = SLPKConverter;
74
+ exports.default = SLPKExtractor;