@loaders.gl/zip 4.0.0-alpha.21 → 4.0.0-alpha.23
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/dist/dist.min.js +4650 -176
- package/dist/es5/filesystems/zip-filesystem.js +134 -102
- package/dist/es5/filesystems/zip-filesystem.js.map +1 -1
- package/dist/es5/hash-file-utility.js.map +1 -1
- package/dist/es5/index.js +6 -14
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/parse-zip/cd-file-header.js.map +1 -1
- package/dist/es5/parse-zip/end-of-central-directory.js.map +1 -1
- package/dist/es5/parse-zip/local-file-header.js.map +1 -1
- package/dist/es5/parse-zip/search-from-the-end.js.map +1 -1
- package/dist/es5/tar-builder.js +8 -8
- package/dist/es5/tar-builder.js.map +1 -1
- package/dist/es5/zip-loader.js +2 -4
- package/dist/es5/zip-loader.js.map +1 -1
- package/dist/esm/filesystems/zip-filesystem.js +18 -5
- package/dist/esm/filesystems/zip-filesystem.js.map +1 -1
- package/dist/esm/hash-file-utility.js.map +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parse-zip/cd-file-header.js.map +1 -1
- package/dist/esm/parse-zip/end-of-central-directory.js.map +1 -1
- package/dist/esm/parse-zip/local-file-header.js.map +1 -1
- package/dist/esm/parse-zip/search-from-the-end.js.map +1 -1
- package/dist/esm/tar-builder.js +2 -2
- package/dist/esm/tar-builder.js.map +1 -1
- package/dist/esm/zip-loader.js +1 -2
- package/dist/esm/zip-loader.js.map +1 -1
- package/dist/filesystems/zip-filesystem.d.ts +4 -3
- package/dist/filesystems/zip-filesystem.d.ts.map +1 -1
- package/dist/filesystems/zip-filesystem.js +17 -8
- package/dist/hash-file-utility.d.ts +1 -1
- package/dist/hash-file-utility.d.ts.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -9
- package/dist/parse-zip/cd-file-header.d.ts +1 -1
- package/dist/parse-zip/cd-file-header.d.ts.map +1 -1
- package/dist/parse-zip/end-of-central-directory.d.ts +1 -1
- package/dist/parse-zip/end-of-central-directory.d.ts.map +1 -1
- package/dist/parse-zip/local-file-header.d.ts +1 -1
- package/dist/parse-zip/local-file-header.d.ts.map +1 -1
- package/dist/parse-zip/search-from-the-end.d.ts +1 -1
- package/dist/parse-zip/search-from-the-end.d.ts.map +1 -1
- package/dist/tar-builder.d.ts +2 -2
- package/dist/tar-builder.d.ts.map +1 -1
- package/dist/tar-builder.js +4 -3
- package/dist/zip-loader.d.ts +0 -1
- package/dist/zip-loader.d.ts.map +1 -1
- package/dist/zip-loader.js +1 -2
- package/package.json +4 -9
- package/src/filesystems/zip-filesystem.ts +16 -6
- package/src/hash-file-utility.ts +1 -1
- package/src/index.ts +5 -5
- package/src/parse-zip/cd-file-header.ts +1 -1
- package/src/parse-zip/end-of-central-directory.ts +1 -1
- package/src/parse-zip/local-file-header.ts +1 -1
- package/src/parse-zip/search-from-the-end.ts +1 -1
- package/src/tar-builder.ts +2 -2
- package/src/zip-loader.ts +0 -2
- package/dist/es5/file-provider/data-view-file.js +0 -146
- package/dist/es5/file-provider/data-view-file.js.map +0 -1
- package/dist/es5/file-provider/file-handle-file.js +0 -234
- package/dist/es5/file-provider/file-handle-file.js.map +0 -1
- package/dist/es5/file-provider/file-handle.js +0 -101
- package/dist/es5/file-provider/file-handle.js.map +0 -1
- package/dist/es5/file-provider/file-provider.js +0 -11
- package/dist/es5/file-provider/file-provider.js.map +0 -1
- package/dist/esm/file-provider/data-view-file.js +0 -33
- package/dist/esm/file-provider/data-view-file.js.map +0 -1
- package/dist/esm/file-provider/file-handle-file.js +0 -57
- package/dist/esm/file-provider/file-handle-file.js.map +0 -1
- package/dist/esm/file-provider/file-handle.js +0 -37
- package/dist/esm/file-provider/file-handle.js.map +0 -1
- package/dist/esm/file-provider/file-provider.js +0 -4
- package/dist/esm/file-provider/file-provider.js.map +0 -1
- package/dist/file-provider/data-view-file.d.ts +0 -37
- package/dist/file-provider/data-view-file.d.ts.map +0 -1
- package/dist/file-provider/data-view-file.js +0 -63
- package/dist/file-provider/file-handle-file.d.ts +0 -53
- package/dist/file-provider/file-handle-file.d.ts.map +0 -1
- package/dist/file-provider/file-handle-file.js +0 -90
- package/dist/file-provider/file-handle.d.ts +0 -40
- package/dist/file-provider/file-handle.d.ts.map +0 -1
- package/dist/file-provider/file-handle.js +0 -57
- package/dist/file-provider/file-provider.d.ts +0 -45
- package/dist/file-provider/file-provider.d.ts.map +0 -1
- package/dist/file-provider/file-provider.js +0 -13
- package/src/file-provider/data-view-file.ts +0 -72
- package/src/file-provider/file-handle-file.ts +0 -114
- package/src/file-provider/file-handle.ts +0 -73
- package/src/file-provider/file-provider.ts +0 -56
package/dist/esm/zip-loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import JSZip from 'jszip';
|
|
2
|
-
const VERSION = typeof "4.0.0-alpha.
|
|
2
|
+
const VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
|
|
3
3
|
export const ZipLoader = {
|
|
4
4
|
id: 'zip',
|
|
5
5
|
module: 'zip',
|
|
@@ -43,5 +43,4 @@ async function loadZipEntry(jsZip, subFilename) {
|
|
|
43
43
|
return error;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
export const _typecheckZipLoader = ZipLoader;
|
|
47
46
|
//# sourceMappingURL=zip-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-loader.js","names":["JSZip","VERSION","ZipLoader","id","module","name","version","extensions","mimeTypes","category","tests","options","parse","parseZipAsync","data","arguments","length","undefined","promises","fileMap","jsZip","zip","loadAsync","forEach","relativePath","zipEntry","subFilename","promise","loadZipEntry","then","arrayBufferOrError","push","Promise","all","error","log","concat","arrayBuffer","file","async","dataType"
|
|
1
|
+
{"version":3,"file":"zip-loader.js","names":["JSZip","VERSION","ZipLoader","id","module","name","version","extensions","mimeTypes","category","tests","options","parse","parseZipAsync","data","arguments","length","undefined","promises","fileMap","jsZip","zip","loadAsync","forEach","relativePath","zipEntry","subFilename","promise","loadZipEntry","then","arrayBufferOrError","push","Promise","all","error","log","concat","arrayBuffer","file","async","dataType"],"sources":["../../src/zip-loader.ts"],"sourcesContent":["// Zip loader\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport JSZip from 'jszip';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\ntype FileMap = Record<string, ArrayBuffer>;\n\nexport const ZipLoader: LoaderWithParser<FileMap, never, LoaderOptions> = {\n id: 'zip',\n module: 'zip',\n name: 'Zip Archive',\n version: VERSION,\n extensions: ['zip'],\n mimeTypes: ['application/zip'],\n category: 'archive',\n tests: ['PK'],\n options: {},\n parse: parseZipAsync\n};\n\n// TODO - Could return a map of promises, perhaps as an option...\nasync function parseZipAsync(data: any, options = {}): Promise<FileMap> {\n const promises: Promise<any>[] = [];\n const fileMap: Record<string, ArrayBuffer> = {};\n\n try {\n const jsZip = new JSZip();\n\n const zip = await jsZip.loadAsync(data, options);\n\n // start to load each file in this zip\n zip.forEach((relativePath, zipEntry) => {\n const subFilename = zipEntry.name;\n\n const promise = loadZipEntry(jsZip, subFilename, options).then((arrayBufferOrError) => {\n fileMap[relativePath] = arrayBufferOrError;\n });\n\n // Ensure Promise.all doesn't ignore rejected promises.\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return fileMap;\n } catch (error) {\n // @ts-ignore\n options.log.error(`Unable to read zip archive: ${error}`);\n throw error;\n }\n}\n\nasync function loadZipEntry(jsZip: any, subFilename: string, options: any = {}) {\n // jszip supports both arraybuffer and text, the main loaders.gl types\n // https://stuk.github.io/jszip/documentation/api_zipobject/async.html\n try {\n const arrayBuffer = await jsZip.file(subFilename).async(options.dataType || 'arraybuffer');\n return arrayBuffer;\n } catch (error) {\n options.log.error(`Unable to read ${subFilename} from zip archive: ${error}`);\n // Store error in place of data in map\n return error;\n }\n}\n"],"mappings":"AAEA,OAAOA,KAAK,MAAM,OAAO;AAIzB,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAI3E,OAAO,MAAMC,SAA0D,GAAG;EACxEC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,iBAAiB,CAAC;EAC9BC,QAAQ,EAAE,SAAS;EACnBC,KAAK,EAAE,CAAC,IAAI,CAAC;EACbC,OAAO,EAAE,CAAC,CAAC;EACXC,KAAK,EAAEC;AACT,CAAC;AAGD,eAAeA,aAAaA,CAACC,IAAS,EAAkC;EAAA,IAAhCH,OAAO,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAClD,MAAMG,QAAwB,GAAG,EAAE;EACnC,MAAMC,OAAoC,GAAG,CAAC,CAAC;EAE/C,IAAI;IACF,MAAMC,KAAK,GAAG,IAAIpB,KAAK,CAAC,CAAC;IAEzB,MAAMqB,GAAG,GAAG,MAAMD,KAAK,CAACE,SAAS,CAACR,IAAI,EAAEH,OAAO,CAAC;IAGhDU,GAAG,CAACE,OAAO,CAAC,CAACC,YAAY,EAAEC,QAAQ,KAAK;MACtC,MAAMC,WAAW,GAAGD,QAAQ,CAACpB,IAAI;MAEjC,MAAMsB,OAAO,GAAGC,YAAY,CAACR,KAAK,EAAEM,WAAW,EAAEf,OAAO,CAAC,CAACkB,IAAI,CAAEC,kBAAkB,IAAK;QACrFX,OAAO,CAACK,YAAY,CAAC,GAAGM,kBAAkB;MAC5C,CAAC,CAAC;MAGFZ,QAAQ,CAACa,IAAI,CAACJ,OAAO,CAAC;IACxB,CAAC,CAAC;IAEF,MAAMK,OAAO,CAACC,GAAG,CAACf,QAAQ,CAAC;IAC3B,OAAOC,OAAO;EAChB,CAAC,CAAC,OAAOe,KAAK,EAAE;IAEdvB,OAAO,CAACwB,GAAG,CAACD,KAAK,gCAAAE,MAAA,CAAgCF,KAAK,CAAE,CAAC;IACzD,MAAMA,KAAK;EACb;AACF;AAEA,eAAeN,YAAYA,CAACR,KAAU,EAAEM,WAAmB,EAAqB;EAAA,IAAnBf,OAAY,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAG5E,IAAI;IACF,MAAMsB,WAAW,GAAG,MAAMjB,KAAK,CAACkB,IAAI,CAACZ,WAAW,CAAC,CAACa,KAAK,CAAC5B,OAAO,CAAC6B,QAAQ,IAAI,aAAa,CAAC;IAC1F,OAAOH,WAAW;EACpB,CAAC,CAAC,OAAOH,KAAK,EAAE;IACdvB,OAAO,CAACwB,GAAG,CAACD,KAAK,mBAAAE,MAAA,CAAmBV,WAAW,yBAAAU,MAAA,CAAsBF,KAAK,CAAE,CAAC;IAE7E,OAAOA,KAAK;EACd;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FileSystem } from '@loaders.gl/
|
|
2
|
-
import { FileProvider } from '
|
|
1
|
+
import { FileSystem } from '@loaders.gl/loader-utils';
|
|
2
|
+
import { FileProvider } from '@loaders.gl/loader-utils';
|
|
3
3
|
import { ZipCDFileHeader } from '../parse-zip/cd-file-header';
|
|
4
4
|
/**
|
|
5
5
|
* FileSystem adapter for a ZIP file
|
|
@@ -7,7 +7,8 @@ import { ZipCDFileHeader } from '../parse-zip/cd-file-header';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class ZipFileSystem implements FileSystem {
|
|
9
9
|
/** FileProvider instance promise */
|
|
10
|
-
|
|
10
|
+
protected fileProvider: Promise<FileProvider | null>;
|
|
11
|
+
fileName?: string;
|
|
11
12
|
/**
|
|
12
13
|
* Constructor
|
|
13
14
|
* @param file - instance of FileProvider or file path string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-filesystem.d.ts","sourceRoot":"","sources":["../../src/filesystems/zip-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"zip-filesystem.d.ts","sourceRoot":"","sources":["../../src/filesystems/zip-filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAiB,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAC,eAAe,EAA2B,MAAM,6BAA6B,CAAC;AAiBtF;;;GAGG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC9C,oCAAoC;IACpC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAyB;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;gBACS,IAAI,EAAE,YAAY,GAAG,MAAM;IAcvC,yBAAyB;IACnB,OAAO;IAOb;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAalC;;;;OAIG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAKvE;;;;OAIG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BhD;;;;OAIG;YACW,eAAe;CAkB9B"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZipFileSystem = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
5
|
+
const loader_utils_2 = require("@loaders.gl/loader-utils");
|
|
6
|
+
const loader_utils_3 = require("@loaders.gl/loader-utils");
|
|
7
7
|
const cd_file_header_1 = require("../parse-zip/cd-file-header");
|
|
8
8
|
const local_file_header_1 = require("../parse-zip/local-file-header");
|
|
9
|
+
const compression_1 = require("@loaders.gl/compression");
|
|
9
10
|
/** Handling different compression types in zip */
|
|
10
11
|
const COMPRESSION_METHODS = {
|
|
11
12
|
/** No compression */
|
|
12
|
-
0: async (compressedFile) => compressedFile
|
|
13
|
+
0: async (compressedFile) => compressedFile,
|
|
14
|
+
/** Deflation */
|
|
15
|
+
8: async (compressedFile) => {
|
|
16
|
+
const compression = new compression_1.DeflateCompression({ raw: true });
|
|
17
|
+
const decompressedData = await compression.decompress(compressedFile);
|
|
18
|
+
return decompressedData;
|
|
19
|
+
}
|
|
13
20
|
};
|
|
14
21
|
/**
|
|
15
22
|
* FileSystem adapter for a ZIP file
|
|
@@ -25,14 +32,15 @@ class ZipFileSystem {
|
|
|
25
32
|
this.fileProvider = Promise.resolve(null);
|
|
26
33
|
// Try to open file in NodeJS
|
|
27
34
|
if (typeof file === 'string') {
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
this.fileName = file;
|
|
36
|
+
if (!loader_utils_1.isBrowser) {
|
|
37
|
+
this.fileProvider = loader_utils_3.FileHandleFile.from(file);
|
|
30
38
|
}
|
|
31
39
|
else {
|
|
32
40
|
throw new Error('Cannot open file for random access in a WEB browser');
|
|
33
41
|
}
|
|
34
42
|
}
|
|
35
|
-
else if ((0,
|
|
43
|
+
else if ((0, loader_utils_2.isFileProvider)(file)) {
|
|
36
44
|
this.fileProvider = Promise.resolve(file);
|
|
37
45
|
}
|
|
38
46
|
}
|
|
@@ -40,7 +48,7 @@ class ZipFileSystem {
|
|
|
40
48
|
async destroy() {
|
|
41
49
|
const fileProvider = await this.fileProvider;
|
|
42
50
|
if (fileProvider) {
|
|
43
|
-
fileProvider.destroy();
|
|
51
|
+
await fileProvider.destroy();
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
54
|
/**
|
|
@@ -90,6 +98,7 @@ class ZipFileSystem {
|
|
|
90
98
|
const compressedFile = await fileProvider.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
|
|
91
99
|
const uncompressedFile = await compressionHandler(compressedFile);
|
|
92
100
|
const response = new Response(uncompressedFile);
|
|
101
|
+
Object.defineProperty(response, 'url', { value: `${this.fileName || ''}/${filename}` });
|
|
93
102
|
return response;
|
|
94
103
|
}
|
|
95
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash-file-utility.d.ts","sourceRoot":"","sources":["../src/hash-file-utility.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"hash-file-utility.d.ts","sourceRoot":"","sources":["../src/hash-file-utility.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAGtD,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG;IACxB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,SAAS,MAAM,KAAG,MAY5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,aAAc,WAAW,KAAG,WAAW,EAmBhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,iBACJ,MAAM,aACT,WAAW,EAAE,KACvB,WAAW,GAAG,SAgBhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBAAwB,YAAY,KAAG,QAAQ,WAAW,EAAE,CAWxF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export { ZipLoader } from './zip-loader';
|
|
2
2
|
export { ZipWriter } from './zip-writer';
|
|
3
|
-
export {
|
|
4
|
-
export type { FileProvider } from './file-provider/file-provider';
|
|
5
|
-
export { FileHandleFile } from './file-provider/file-handle-file';
|
|
6
|
-
export { DataViewFile } from './file-provider/data-view-file';
|
|
3
|
+
export { TarBuilder } from './tar-builder';
|
|
7
4
|
export { parseZipCDFileHeader, zipCDFileHeaderGenerator, signature as cdSignature } from './parse-zip/cd-file-header';
|
|
8
5
|
export { parseZipLocalFileHeader, signature as localHeaderSignature } from './parse-zip/local-file-header';
|
|
9
6
|
export { parseEoCDRecord } from './parse-zip/end-of-central-directory';
|
|
10
7
|
export { searchFromTheEnd } from './parse-zip/search-from-the-end';
|
|
11
8
|
export type { HashElement } from './hash-file-utility';
|
|
12
9
|
export { compareHashes, parseHashFile, findBin, generateHashInfo } from './hash-file-utility';
|
|
10
|
+
export { ZipFileSystem } from './filesystems/zip-filesystem';
|
|
13
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,SAAS,IAAI,WAAW,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,SAAS,IAAI,oBAAoB,EAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAEjE,YAAY,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
2
|
+
// loaders.gl, MIT license
|
|
5
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateHashInfo = exports.findBin = exports.parseHashFile = exports.compareHashes = exports.searchFromTheEnd = exports.parseEoCDRecord = exports.localHeaderSignature = exports.parseZipLocalFileHeader = exports.cdSignature = exports.zipCDFileHeaderGenerator = exports.parseZipCDFileHeader = exports.
|
|
4
|
+
exports.ZipFileSystem = exports.generateHashInfo = exports.findBin = exports.parseHashFile = exports.compareHashes = exports.searchFromTheEnd = exports.parseEoCDRecord = exports.localHeaderSignature = exports.parseZipLocalFileHeader = exports.cdSignature = exports.zipCDFileHeaderGenerator = exports.parseZipCDFileHeader = exports.TarBuilder = exports.ZipWriter = exports.ZipLoader = void 0;
|
|
7
5
|
var zip_loader_1 = require("./zip-loader");
|
|
8
6
|
Object.defineProperty(exports, "ZipLoader", { enumerable: true, get: function () { return zip_loader_1.ZipLoader; } });
|
|
9
7
|
var zip_writer_1 = require("./zip-writer");
|
|
10
8
|
Object.defineProperty(exports, "ZipWriter", { enumerable: true, get: function () { return zip_writer_1.ZipWriter; } });
|
|
11
9
|
var tar_builder_1 = require("./tar-builder");
|
|
12
|
-
Object.defineProperty(exports, "TarBuilder", { enumerable: true, get: function () { return
|
|
13
|
-
var file_handle_file_1 = require("./file-provider/file-handle-file");
|
|
14
|
-
Object.defineProperty(exports, "FileHandleFile", { enumerable: true, get: function () { return file_handle_file_1.FileHandleFile; } });
|
|
15
|
-
var data_view_file_1 = require("./file-provider/data-view-file");
|
|
16
|
-
Object.defineProperty(exports, "DataViewFile", { enumerable: true, get: function () { return data_view_file_1.DataViewFile; } });
|
|
10
|
+
Object.defineProperty(exports, "TarBuilder", { enumerable: true, get: function () { return tar_builder_1.TarBuilder; } });
|
|
17
11
|
var cd_file_header_1 = require("./parse-zip/cd-file-header");
|
|
18
12
|
Object.defineProperty(exports, "parseZipCDFileHeader", { enumerable: true, get: function () { return cd_file_header_1.parseZipCDFileHeader; } });
|
|
19
13
|
Object.defineProperty(exports, "zipCDFileHeaderGenerator", { enumerable: true, get: function () { return cd_file_header_1.zipCDFileHeaderGenerator; } });
|
|
@@ -30,3 +24,5 @@ Object.defineProperty(exports, "compareHashes", { enumerable: true, get: functio
|
|
|
30
24
|
Object.defineProperty(exports, "parseHashFile", { enumerable: true, get: function () { return hash_file_utility_1.parseHashFile; } });
|
|
31
25
|
Object.defineProperty(exports, "findBin", { enumerable: true, get: function () { return hash_file_utility_1.findBin; } });
|
|
32
26
|
Object.defineProperty(exports, "generateHashInfo", { enumerable: true, get: function () { return hash_file_utility_1.generateHashInfo; } });
|
|
27
|
+
var zip_filesystem_1 = require("./filesystems/zip-filesystem");
|
|
28
|
+
Object.defineProperty(exports, "ZipFileSystem", { enumerable: true, get: function () { return zip_filesystem_1.ZipFileSystem; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cd-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/cd-file-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"cd-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/cd-file-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAUF,eAAO,MAAM,SAAS,EAAE,YAAuC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,iBACjB,MAAM,UACZ,YAAY,KACnB,QAAQ,eAAe,GAAG,IAAI,CAqDhC,CAAC;AAEF;;;GAGG;AACH,wBAAuB,wBAAwB,CAAC,YAAY,EAAE,YAAY,kDAUzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end-of-central-directory.d.ts","sourceRoot":"","sources":["../../src/parse-zip/end-of-central-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"end-of-central-directory.d.ts","sourceRoot":"","sources":["../../src/parse-zip/end-of-central-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAGtD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAwB,YAAY,KAAG,QAAQ,aAAa,CAwCvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/local-file-header.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"local-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/local-file-header.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAUF,eAAO,MAAM,SAAS,QAAwC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,iBACpB,MAAM,UACZ,YAAY,KACnB,QAAQ,kBAAkB,GAAG,IAAI,CAkDnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-from-the-end.d.ts","sourceRoot":"","sources":["../../src/parse-zip/search-from-the-end.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"search-from-the-end.d.ts","sourceRoot":"","sources":["../../src/parse-zip/search-from-the-end.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,wCAAwC;AACxC,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,SACrB,YAAY,2BAEjB,QAAQ,MAAM,CAuBhB,CAAC"}
|
package/dist/tar-builder.d.ts
CHANGED
|
@@ -5,13 +5,13 @@ type TarBuilderOptions = {
|
|
|
5
5
|
/**
|
|
6
6
|
* Build a tar file by adding files
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export declare class TarBuilder {
|
|
9
9
|
static get properties(): {
|
|
10
10
|
id: string;
|
|
11
11
|
name: string;
|
|
12
12
|
extensions: string[];
|
|
13
13
|
mimeTypes: string[];
|
|
14
|
-
builder: typeof
|
|
14
|
+
builder: typeof TarBuilder;
|
|
15
15
|
options: {
|
|
16
16
|
recordsPerBlock: number;
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tar-builder.d.ts","sourceRoot":"","sources":["../src/tar-builder.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,eAAe,CAAC;AAMhC,KAAK,iBAAiB,GAAG;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"tar-builder.d.ts","sourceRoot":"","sources":["../src/tar-builder.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,eAAe,CAAC;AAMhC,KAAK,iBAAiB,GAAG;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAU;IACrB,MAAM,KAAK,UAAU;;;;;;;;;MASpB;IAED,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAK;gBAEN,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAIhD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAKvC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;CAGpC"}
|
package/dist/tar-builder.js
CHANGED
|
@@ -3,6 +3,7 @@ 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.TarBuilder = void 0;
|
|
6
7
|
const tar_1 = __importDefault(require("./lib/tar/tar"));
|
|
7
8
|
const TAR_BUILDER_OPTIONS = {
|
|
8
9
|
recordsPerBlock: 20
|
|
@@ -10,14 +11,14 @@ const TAR_BUILDER_OPTIONS = {
|
|
|
10
11
|
/**
|
|
11
12
|
* Build a tar file by adding files
|
|
12
13
|
*/
|
|
13
|
-
class
|
|
14
|
+
class TarBuilder {
|
|
14
15
|
static get properties() {
|
|
15
16
|
return {
|
|
16
17
|
id: 'tar',
|
|
17
18
|
name: 'TAR',
|
|
18
19
|
extensions: ['tar'],
|
|
19
20
|
mimeTypes: ['application/x-tar'],
|
|
20
|
-
builder:
|
|
21
|
+
builder: TarBuilder,
|
|
21
22
|
options: TAR_BUILDER_OPTIONS
|
|
22
23
|
};
|
|
23
24
|
}
|
|
@@ -35,4 +36,4 @@ class TARBuilder {
|
|
|
35
36
|
return new Response(this.tape.save()).arrayBuffer();
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
exports.
|
|
39
|
+
exports.TarBuilder = TarBuilder;
|
package/dist/zip-loader.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
2
|
type FileMap = Record<string, ArrayBuffer>;
|
|
3
3
|
export declare const ZipLoader: LoaderWithParser<FileMap, never, LoaderOptions>;
|
|
4
|
-
export declare const _typecheckZipLoader: LoaderWithParser;
|
|
5
4
|
export {};
|
|
6
5
|
//# sourceMappingURL=zip-loader.d.ts.map
|
package/dist/zip-loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-loader.d.ts","sourceRoot":"","sources":["../src/zip-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAO9E,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAWrE,CAAC
|
|
1
|
+
{"version":3,"file":"zip-loader.d.ts","sourceRoot":"","sources":["../src/zip-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAO9E,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE3C,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAWrE,CAAC"}
|
package/dist/zip-loader.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.
|
|
6
|
+
exports.ZipLoader = void 0;
|
|
7
7
|
const jszip_1 = __importDefault(require("jszip"));
|
|
8
8
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
9
9
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
@@ -58,4 +58,3 @@ async function loadZipEntry(jsZip, subFilename, options = {}) {
|
|
|
58
58
|
return error;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
exports._typecheckZipLoader = exports.ZipLoader;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/zip",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.23",
|
|
4
4
|
"description": "Zip Archive Loader",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -25,19 +25,14 @@
|
|
|
25
25
|
"dist",
|
|
26
26
|
"README.md"
|
|
27
27
|
],
|
|
28
|
-
"browser": {
|
|
29
|
-
"fs": false
|
|
30
|
-
},
|
|
31
28
|
"scripts": {
|
|
32
29
|
"pre-build": "npm run build-bundle",
|
|
33
30
|
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
34
31
|
},
|
|
35
32
|
"dependencies": {
|
|
36
|
-
"@loaders.gl/compression": "4.0.0-alpha.
|
|
33
|
+
"@loaders.gl/compression": "4.0.0-alpha.23",
|
|
34
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.23",
|
|
37
35
|
"jszip": "^3.1.5"
|
|
38
36
|
},
|
|
39
|
-
"
|
|
40
|
-
"@loaders.gl/core": "^4.0.0"
|
|
41
|
-
},
|
|
42
|
-
"gitHead": "df5d670b136192b26941396e944f9c46be788e83"
|
|
37
|
+
"gitHead": "e212f2a0c0e342f7cb65ce84fa2ff39f64b7d94b"
|
|
43
38
|
}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import {FileSystem, isBrowser} from '@loaders.gl/
|
|
2
|
-
import {FileProvider, isFileProvider} from '
|
|
3
|
-
import {FileHandleFile} from '
|
|
1
|
+
import {FileSystem, isBrowser} from '@loaders.gl/loader-utils';
|
|
2
|
+
import {FileProvider, isFileProvider} from '@loaders.gl/loader-utils';
|
|
3
|
+
import {FileHandleFile} from '@loaders.gl/loader-utils';
|
|
4
4
|
import {ZipCDFileHeader, zipCDFileHeaderGenerator} from '../parse-zip/cd-file-header';
|
|
5
5
|
import {parseZipLocalFileHeader} from '../parse-zip/local-file-header';
|
|
6
|
+
import {DeflateCompression} from '@loaders.gl/compression';
|
|
6
7
|
|
|
7
8
|
type CompressionHandler = (compressedFile: ArrayBuffer) => Promise<ArrayBuffer>;
|
|
8
9
|
/** Handling different compression types in zip */
|
|
9
10
|
const COMPRESSION_METHODS: {[key: number]: CompressionHandler} = {
|
|
10
11
|
/** No compression */
|
|
11
|
-
0: async (compressedFile) => compressedFile
|
|
12
|
+
0: async (compressedFile) => compressedFile,
|
|
13
|
+
/** Deflation */
|
|
14
|
+
8: async (compressedFile) => {
|
|
15
|
+
const compression = new DeflateCompression({raw: true});
|
|
16
|
+
const decompressedData = await compression.decompress(compressedFile);
|
|
17
|
+
return decompressedData;
|
|
18
|
+
}
|
|
12
19
|
};
|
|
13
20
|
|
|
14
21
|
/**
|
|
@@ -17,7 +24,8 @@ const COMPRESSION_METHODS: {[key: number]: CompressionHandler} = {
|
|
|
17
24
|
*/
|
|
18
25
|
export class ZipFileSystem implements FileSystem {
|
|
19
26
|
/** FileProvider instance promise */
|
|
20
|
-
|
|
27
|
+
protected fileProvider: Promise<FileProvider | null> = Promise.resolve(null);
|
|
28
|
+
public fileName?: string;
|
|
21
29
|
|
|
22
30
|
/**
|
|
23
31
|
* Constructor
|
|
@@ -26,6 +34,7 @@ export class ZipFileSystem implements FileSystem {
|
|
|
26
34
|
constructor(file: FileProvider | string) {
|
|
27
35
|
// Try to open file in NodeJS
|
|
28
36
|
if (typeof file === 'string') {
|
|
37
|
+
this.fileName = file;
|
|
29
38
|
if (!isBrowser) {
|
|
30
39
|
this.fileProvider = FileHandleFile.from(file);
|
|
31
40
|
} else {
|
|
@@ -40,7 +49,7 @@ export class ZipFileSystem implements FileSystem {
|
|
|
40
49
|
async destroy() {
|
|
41
50
|
const fileProvider = await this.fileProvider;
|
|
42
51
|
if (fileProvider) {
|
|
43
|
-
fileProvider.destroy();
|
|
52
|
+
await fileProvider.destroy();
|
|
44
53
|
}
|
|
45
54
|
}
|
|
46
55
|
|
|
@@ -103,6 +112,7 @@ export class ZipFileSystem implements FileSystem {
|
|
|
103
112
|
const uncompressedFile = await compressionHandler(compressedFile);
|
|
104
113
|
|
|
105
114
|
const response = new Response(uncompressedFile);
|
|
115
|
+
Object.defineProperty(response, 'url', {value: `${this.fileName || ''}/${filename}`});
|
|
106
116
|
return response;
|
|
107
117
|
}
|
|
108
118
|
|
package/src/hash-file-utility.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import md5 from 'md5';
|
|
2
|
+
import {FileProvider} from '@loaders.gl/loader-utils';
|
|
2
3
|
import {zipCDFileHeaderGenerator} from './parse-zip/cd-file-header';
|
|
3
|
-
import {FileProvider} from './file-provider/file-provider';
|
|
4
4
|
|
|
5
5
|
/** Element of hash array */
|
|
6
6
|
export type HashElement = {
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
// loaders.gl, MIT license
|
|
2
|
+
|
|
1
3
|
export {ZipLoader} from './zip-loader';
|
|
2
4
|
export {ZipWriter} from './zip-writer';
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
export type {FileProvider} from './file-provider/file-provider';
|
|
6
|
-
export {FileHandleFile} from './file-provider/file-handle-file';
|
|
7
|
-
export {DataViewFile} from './file-provider/data-view-file';
|
|
5
|
+
export {TarBuilder} from './tar-builder';
|
|
8
6
|
|
|
9
7
|
export {
|
|
10
8
|
parseZipCDFileHeader,
|
|
@@ -20,3 +18,5 @@ export {searchFromTheEnd} from './parse-zip/search-from-the-end';
|
|
|
20
18
|
|
|
21
19
|
export type {HashElement} from './hash-file-utility';
|
|
22
20
|
export {compareHashes, parseHashFile, findBin, generateHashInfo} from './hash-file-utility';
|
|
21
|
+
|
|
22
|
+
export {ZipFileSystem} from './filesystems/zip-filesystem';
|
package/src/tar-builder.ts
CHANGED
|
@@ -11,14 +11,14 @@ type TarBuilderOptions = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Build a tar file by adding files
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
14
|
+
export class TarBuilder {
|
|
15
15
|
static get properties() {
|
|
16
16
|
return {
|
|
17
17
|
id: 'tar',
|
|
18
18
|
name: 'TAR',
|
|
19
19
|
extensions: ['tar'],
|
|
20
20
|
mimeTypes: ['application/x-tar'],
|
|
21
|
-
builder:
|
|
21
|
+
builder: TarBuilder,
|
|
22
22
|
options: TAR_BUILDER_OPTIONS
|
|
23
23
|
};
|
|
24
24
|
}
|