@loaders.gl/compression 4.2.0-alpha.3 → 4.2.0-alpha.5
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/brotli/decode.js +2311 -1739
- package/dist/compress-on-worker.js +16 -8
- package/dist/dist.dev.js +576 -198
- package/dist/dist.min.js +16 -0
- package/dist/index.cjs +36 -119
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/lib/brotli-compression.d.ts +2 -2
- package/dist/lib/brotli-compression.d.ts.map +1 -1
- package/dist/lib/brotli-compression.js +69 -67
- package/dist/lib/compression.js +50 -43
- package/dist/lib/deflate-compression.d.ts +2 -2
- package/dist/lib/deflate-compression.d.ts.map +1 -1
- package/dist/lib/deflate-compression.js +118 -107
- package/dist/lib/gzip-compression.d.ts +2 -2
- package/dist/lib/gzip-compression.d.ts.map +1 -1
- package/dist/lib/gzip-compression.js +10 -14
- package/dist/lib/lz4-compression.d.ts +2 -2
- package/dist/lib/lz4-compression.d.ts.map +1 -1
- package/dist/lib/lz4-compression.js +125 -75
- package/dist/lib/lzo-compression.d.ts +2 -2
- package/dist/lib/lzo-compression.d.ts.map +1 -1
- package/dist/lib/lzo-compression.js +47 -28
- package/dist/lib/no-compression.d.ts +2 -2
- package/dist/lib/no-compression.d.ts.map +1 -1
- package/dist/lib/no-compression.js +23 -22
- package/dist/lib/snappy-compression.d.ts +2 -2
- package/dist/lib/snappy-compression.d.ts.map +1 -1
- package/dist/lib/snappy-compression.js +20 -17
- package/dist/lib/zstd-compression.d.ts +2 -2
- package/dist/lib/zstd-compression.d.ts.map +1 -1
- package/dist/lib/zstd-compression.js +36 -28
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/workers/compression-worker-node.d.ts +1 -1
- package/dist/workers/compression-worker-node.d.ts.map +1 -1
- package/dist/workers/compression-worker-node.js +0 -1
- package/dist/workers/compression-worker.js +56 -44
- package/package.json +10 -7
- package/dist/brotli/decode.js.map +0 -1
- package/dist/compress-on-worker.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/brotli-compression.js.map +0 -1
- package/dist/lib/compression.js.map +0 -1
- package/dist/lib/deflate-compression.js.map +0 -1
- package/dist/lib/gzip-compression.js.map +0 -1
- package/dist/lib/lz4-compression.js.map +0 -1
- package/dist/lib/lzo-compression.js.map +0 -1
- package/dist/lib/no-compression.js.map +0 -1
- package/dist/lib/snappy-compression.js.map +0 -1
- package/dist/lib/zstd-compression.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/workers/compression-worker-node.js.map +0 -1
- package/dist/workers/compression-worker.js.map +0 -1
|
@@ -1,60 +1,72 @@
|
|
|
1
1
|
import { createWorker } from '@loaders.gl/worker-utils';
|
|
2
|
+
// Compressors
|
|
2
3
|
import { NoCompression } from "../lib/no-compression.js";
|
|
3
4
|
import { BrotliCompression } from "../lib/brotli-compression.js";
|
|
4
5
|
import { DeflateCompression } from "../lib/deflate-compression.js";
|
|
5
6
|
import { GZipCompression } from "../lib/gzip-compression.js";
|
|
6
7
|
import { LZ4Compression } from "../lib/lz4-compression.js";
|
|
8
|
+
// import {LZOCompression} from '../lib/lzo-compression';
|
|
7
9
|
import { SnappyCompression } from "../lib/snappy-compression.js";
|
|
8
10
|
import { ZstdCompression } from "../lib/zstd-compression.js";
|
|
11
|
+
// Import big dependencies
|
|
12
|
+
// import brotli from 'brotli'; - brotli has problems with decompress in browsers
|
|
13
|
+
// import brotliDecompress from 'brotli/decompress';
|
|
9
14
|
import lz4js from 'lz4js';
|
|
15
|
+
// import lzo from 'lzo';
|
|
16
|
+
// import {ZstdCodec} from 'zstd-codec';
|
|
17
|
+
// Inject large dependencies through Compression constructor options
|
|
10
18
|
const modules = {
|
|
11
|
-
|
|
19
|
+
// brotli has problems with decompress in browsers
|
|
20
|
+
// brotli: {
|
|
21
|
+
// decompress: brotliDecompress,
|
|
22
|
+
// compress: () => {
|
|
23
|
+
// throw new Error('brotli compress');
|
|
24
|
+
// }
|
|
25
|
+
// },
|
|
26
|
+
lz4js
|
|
27
|
+
// lzo,
|
|
28
|
+
// 'zstd-codec': ZstdCodec
|
|
12
29
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return await compression.decompress(data);
|
|
37
|
-
default:
|
|
38
|
-
throw new Error('invalid option');
|
|
39
|
-
}
|
|
30
|
+
/** @type {Compression[]} */
|
|
31
|
+
const COMPRESSIONS = [
|
|
32
|
+
new NoCompression({ modules }),
|
|
33
|
+
new BrotliCompression({ modules }),
|
|
34
|
+
new DeflateCompression({ modules }),
|
|
35
|
+
new GZipCompression({ modules }),
|
|
36
|
+
// new LZOCompression({modules}),
|
|
37
|
+
new LZ4Compression({ modules }),
|
|
38
|
+
new SnappyCompression({ modules }),
|
|
39
|
+
new ZstdCompression({ modules })
|
|
40
|
+
];
|
|
41
|
+
createWorker(async (data, options = {}) => {
|
|
42
|
+
const operation = getOperation(String(options?.operation));
|
|
43
|
+
const compression = getCompression(String(options?.compression));
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
switch (operation) {
|
|
46
|
+
case 'compress':
|
|
47
|
+
return await compression.compress(data);
|
|
48
|
+
case 'decompress':
|
|
49
|
+
return await compression.decompress(data);
|
|
50
|
+
default:
|
|
51
|
+
throw new Error('invalid option');
|
|
52
|
+
}
|
|
40
53
|
});
|
|
41
54
|
function getOperation(operation) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
switch (operation) {
|
|
56
|
+
case 'compress':
|
|
57
|
+
case 'deflate':
|
|
58
|
+
return 'compress';
|
|
59
|
+
case 'decompress':
|
|
60
|
+
case 'inflate':
|
|
61
|
+
return 'decompress';
|
|
62
|
+
default:
|
|
63
|
+
throw new Error(`@loaders.gl/compression: Unsupported operation ${operation}. Expected 'compress' or 'decompress'`);
|
|
64
|
+
}
|
|
52
65
|
}
|
|
53
66
|
function getCompression(name) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
67
|
+
const Compression = COMPRESSIONS.find((compression_) => name === compression_.name);
|
|
68
|
+
if (!Compression) {
|
|
69
|
+
throw new Error(`@loaders.gl/compression: Unsupported compression ${name}`);
|
|
70
|
+
}
|
|
71
|
+
return Compression;
|
|
59
72
|
}
|
|
60
|
-
//# sourceMappingURL=compression-worker.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/compression",
|
|
3
|
-
"version": "4.2.0-alpha.
|
|
3
|
+
"version": "4.2.0-alpha.5",
|
|
4
4
|
"description": "Decompression and compression plugins for loaders.gl",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"util": false
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
|
-
"pre-build": "npm run build-bundle && npm run build-bundle
|
|
47
|
-
"build-bundle": "ocular-bundle ./
|
|
46
|
+
"pre-build": "npm run build-bundle && npm run build-bundle-dev && npm run build-worker && npm run build-worker-node",
|
|
47
|
+
"build-bundle": "ocular-bundle ./bundle.ts --output=dist/dist.min.js",
|
|
48
|
+
"build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js",
|
|
48
49
|
"build-worker": "esbuild src/workers/compression-worker.ts --outfile=dist/compression-worker.js --target=esnext --bundle --minify --sourcemap --external:{fs,path,crypto} --define:__VERSION__=\\\"$npm_package_version\\\"",
|
|
49
50
|
"build-worker-node": "esbuild src/workers/compression-worker-node.ts --outfile=dist/compression-worker-node.js --platform=node --target=node16 --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
|
-
"@
|
|
53
|
-
"@loaders.gl/
|
|
54
|
-
"@loaders.gl/worker-utils": "4.2.0-alpha.3",
|
|
53
|
+
"@loaders.gl/loader-utils": "4.2.0-alpha.5",
|
|
54
|
+
"@loaders.gl/worker-utils": "4.2.0-alpha.5",
|
|
55
55
|
"@types/brotli": "^1.3.0",
|
|
56
56
|
"@types/pako": "^1.0.1",
|
|
57
57
|
"fflate": "0.7.4",
|
|
@@ -69,5 +69,8 @@
|
|
|
69
69
|
"lz4js": "^0.2.0",
|
|
70
70
|
"zstd-codec": "^0.1"
|
|
71
71
|
},
|
|
72
|
-
"
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"@loaders.gl/core": "^4.0.0"
|
|
74
|
+
},
|
|
75
|
+
"gitHead": "32d95a81971f104e4dfeb88ab57065f05321a76a"
|
|
73
76
|
}
|