@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.
Files changed (57) hide show
  1. package/dist/brotli/decode.js +2311 -1739
  2. package/dist/compress-on-worker.js +16 -8
  3. package/dist/dist.dev.js +576 -198
  4. package/dist/dist.min.js +16 -0
  5. package/dist/index.cjs +36 -119
  6. package/dist/index.cjs.map +7 -0
  7. package/dist/index.d.ts +12 -12
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +0 -1
  10. package/dist/lib/brotli-compression.d.ts +2 -2
  11. package/dist/lib/brotli-compression.d.ts.map +1 -1
  12. package/dist/lib/brotli-compression.js +69 -67
  13. package/dist/lib/compression.js +50 -43
  14. package/dist/lib/deflate-compression.d.ts +2 -2
  15. package/dist/lib/deflate-compression.d.ts.map +1 -1
  16. package/dist/lib/deflate-compression.js +118 -107
  17. package/dist/lib/gzip-compression.d.ts +2 -2
  18. package/dist/lib/gzip-compression.d.ts.map +1 -1
  19. package/dist/lib/gzip-compression.js +10 -14
  20. package/dist/lib/lz4-compression.d.ts +2 -2
  21. package/dist/lib/lz4-compression.d.ts.map +1 -1
  22. package/dist/lib/lz4-compression.js +125 -75
  23. package/dist/lib/lzo-compression.d.ts +2 -2
  24. package/dist/lib/lzo-compression.d.ts.map +1 -1
  25. package/dist/lib/lzo-compression.js +47 -28
  26. package/dist/lib/no-compression.d.ts +2 -2
  27. package/dist/lib/no-compression.d.ts.map +1 -1
  28. package/dist/lib/no-compression.js +23 -22
  29. package/dist/lib/snappy-compression.d.ts +2 -2
  30. package/dist/lib/snappy-compression.d.ts.map +1 -1
  31. package/dist/lib/snappy-compression.js +20 -17
  32. package/dist/lib/zstd-compression.d.ts +2 -2
  33. package/dist/lib/zstd-compression.d.ts.map +1 -1
  34. package/dist/lib/zstd-compression.js +36 -28
  35. package/dist/types.d.ts +1 -1
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js +0 -1
  38. package/dist/workers/compression-worker-node.d.ts +1 -1
  39. package/dist/workers/compression-worker-node.d.ts.map +1 -1
  40. package/dist/workers/compression-worker-node.js +0 -1
  41. package/dist/workers/compression-worker.js +56 -44
  42. package/package.json +10 -7
  43. package/dist/brotli/decode.js.map +0 -1
  44. package/dist/compress-on-worker.js.map +0 -1
  45. package/dist/index.js.map +0 -1
  46. package/dist/lib/brotli-compression.js.map +0 -1
  47. package/dist/lib/compression.js.map +0 -1
  48. package/dist/lib/deflate-compression.js.map +0 -1
  49. package/dist/lib/gzip-compression.js.map +0 -1
  50. package/dist/lib/lz4-compression.js.map +0 -1
  51. package/dist/lib/lzo-compression.js.map +0 -1
  52. package/dist/lib/no-compression.js.map +0 -1
  53. package/dist/lib/snappy-compression.js.map +0 -1
  54. package/dist/lib/zstd-compression.js.map +0 -1
  55. package/dist/types.js.map +0 -1
  56. package/dist/workers/compression-worker-node.js.map +0 -1
  57. 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
- lz4js
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
- const COMPRESSIONS = [new NoCompression({
14
- modules
15
- }), new BrotliCompression({
16
- modules
17
- }), new DeflateCompression({
18
- modules
19
- }), new GZipCompression({
20
- modules
21
- }), new LZ4Compression({
22
- modules
23
- }), new SnappyCompression({
24
- modules
25
- }), new ZstdCompression({
26
- modules
27
- })];
28
- createWorker(async function (data) {
29
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30
- const operation = getOperation(String(options === null || options === void 0 ? void 0 : options.operation));
31
- const compression = getCompression(String(options === null || options === void 0 ? void 0 : options.compression));
32
- switch (operation) {
33
- case 'compress':
34
- return await compression.compress(data);
35
- case 'decompress':
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
- switch (operation) {
43
- case 'compress':
44
- case 'deflate':
45
- return 'compress';
46
- case 'decompress':
47
- case 'inflate':
48
- return 'decompress';
49
- default:
50
- throw new Error(`@loaders.gl/compression: Unsupported operation ${operation}. Expected 'compress' or 'decompress'`);
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
- const Compression = COMPRESSIONS.find(compression_ => name === compression_.name);
55
- if (!Compression) {
56
- throw new Error(`@loaders.gl/compression: Unsupported compression ${name}`);
57
- }
58
- return Compression;
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",
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 -- --env=dev && npm run build-worker && npm run build-worker-node",
47
- "build-bundle": "ocular-bundle ./src/index.ts",
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
- "@babel/runtime": "^7.3.1",
53
- "@loaders.gl/loader-utils": "4.2.0-alpha.3",
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
- "gitHead": "cf18e05801314a62c9fc4c2a85e8888a8a852083"
72
+ "peerDependencies": {
73
+ "@loaders.gl/core": "^4.0.0"
74
+ },
75
+ "gitHead": "32d95a81971f104e4dfeb88ab57065f05321a76a"
73
76
  }