@loaders.gl/polyfills 4.2.0-alpha.4 → 4.2.0-alpha.6

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 (93) hide show
  1. package/dist/buffer/btoa.node.js +5 -3
  2. package/dist/buffer/to-array-buffer.node.js +6 -6
  3. package/dist/crypto/node-hash.js +46 -45
  4. package/dist/fetch/decode-data-uri.js +56 -41
  5. package/dist/fetch/fetch-polyfill.d.ts +1 -1
  6. package/dist/fetch/fetch-polyfill.d.ts.map +1 -1
  7. package/dist/fetch/fetch-polyfill.js +118 -103
  8. package/dist/fetch/headers-polyfill.js +91 -89
  9. package/dist/fetch/response-polyfill.d.ts +1 -1
  10. package/dist/fetch/response-polyfill.d.ts.map +1 -1
  11. package/dist/fetch/response-polyfill.js +73 -57
  12. package/dist/fetch/utils/decode-data-uri.node.js +56 -41
  13. package/dist/file/blob-stream-controller.js +55 -38
  14. package/dist/file/blob-stream.d.ts +1 -1
  15. package/dist/file/blob-stream.d.ts.map +1 -1
  16. package/dist/file/blob-stream.js +30 -15
  17. package/dist/file/blob.d.ts +1 -1
  18. package/dist/file/blob.d.ts.map +1 -1
  19. package/dist/file/blob.js +152 -109
  20. package/dist/file/file-reader.js +38 -50
  21. package/dist/file/file.js +35 -15
  22. package/dist/file/install-blob-polyfills.js +6 -5
  23. package/dist/file/install-file-polyfills.d.ts +3 -2
  24. package/dist/file/install-file-polyfills.d.ts.map +1 -1
  25. package/dist/file/install-file-polyfills.js +11 -8
  26. package/dist/file/readable-stream.js +5 -2
  27. package/dist/filesystems/fetch-node.d.ts.map +1 -1
  28. package/dist/filesystems/fetch-node.js +80 -68
  29. package/dist/filesystems/node-file.d.ts.map +1 -1
  30. package/dist/filesystems/node-file.js +129 -87
  31. package/dist/filesystems/node-filesystem.d.ts +1 -1
  32. package/dist/filesystems/node-filesystem.d.ts.map +1 -1
  33. package/dist/filesystems/node-filesystem.js +39 -35
  34. package/dist/filesystems/stream-utils.node.js +88 -55
  35. package/dist/images/encode-image-node.js +25 -12
  36. package/dist/images/encode-image.node.js +25 -12
  37. package/dist/images/parse-image-node.js +30 -23
  38. package/dist/images/parse-image.node.js +30 -23
  39. package/dist/index.browser.js +8 -3
  40. package/dist/index.cjs +13 -65091
  41. package/dist/index.cjs.map +7 -0
  42. package/dist/index.d.ts +4 -4
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +46 -15
  45. package/dist/libs/encoding-indexes-asian.js +6 -7
  46. package/dist/load-library/require-utils.node.js +70 -44
  47. package/dist/streams/make-node-stream.d.ts.map +1 -1
  48. package/dist/streams/make-node-stream.js +52 -46
  49. package/dist/text-encoder/encoding-indexes.js +31 -28
  50. package/dist/text-encoder/text-encoder.js +2604 -1033
  51. package/dist/utils/assert.js +3 -4
  52. package/dist/utils/is-browser.js +7 -2
  53. package/package.json +13 -11
  54. package/src/fetch/response-polyfill.ts +2 -0
  55. package/src/filesystems/fetch-node.ts +2 -0
  56. package/src/filesystems/node-file.ts +4 -0
  57. package/src/filesystems/node-filesystem.ts +1 -0
  58. package/src/index.ts +1 -0
  59. package/src/load-library/require-utils.node.ts +1 -1
  60. package/src/streams/make-node-stream.ts +3 -2
  61. package/dist/buffer/btoa.node.js.map +0 -1
  62. package/dist/buffer/to-array-buffer.node.js.map +0 -1
  63. package/dist/crypto/node-hash.js.map +0 -1
  64. package/dist/dist.dev.js +0 -45
  65. package/dist/fetch/decode-data-uri.js.map +0 -1
  66. package/dist/fetch/fetch-polyfill.js.map +0 -1
  67. package/dist/fetch/headers-polyfill.js.map +0 -1
  68. package/dist/fetch/response-polyfill.js.map +0 -1
  69. package/dist/fetch/utils/decode-data-uri.node.js.map +0 -1
  70. package/dist/file/blob-stream-controller.js.map +0 -1
  71. package/dist/file/blob-stream.js.map +0 -1
  72. package/dist/file/blob.js.map +0 -1
  73. package/dist/file/file-reader.js.map +0 -1
  74. package/dist/file/file.js.map +0 -1
  75. package/dist/file/install-blob-polyfills.js.map +0 -1
  76. package/dist/file/install-file-polyfills.js.map +0 -1
  77. package/dist/file/readable-stream.js.map +0 -1
  78. package/dist/filesystems/fetch-node.js.map +0 -1
  79. package/dist/filesystems/node-file.js.map +0 -1
  80. package/dist/filesystems/node-filesystem.js.map +0 -1
  81. package/dist/filesystems/stream-utils.node.js.map +0 -1
  82. package/dist/images/encode-image-node.js.map +0 -1
  83. package/dist/images/encode-image.node.js.map +0 -1
  84. package/dist/images/parse-image-node.js.map +0 -1
  85. package/dist/images/parse-image.node.js.map +0 -1
  86. package/dist/index.browser.js.map +0 -1
  87. package/dist/index.js.map +0 -1
  88. package/dist/load-library/require-utils.node.js.map +0 -1
  89. package/dist/streams/make-node-stream.js.map +0 -1
  90. package/dist/text-encoder/encoding-indexes.js.map +0 -1
  91. package/dist/text-encoder/text-encoder.js.map +0 -1
  92. package/dist/utils/assert.js.map +0 -1
  93. package/dist/utils/is-browser.js.map +0 -1
@@ -1,29 +1,36 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import getPixels from 'get-pixels';
5
+ /** Declares which image format mime types this loader polyfill supports */
2
6
  export const NODE_FORMAT_SUPPORT = ['image/png', 'image/jpeg', 'image/gif'];
3
7
  export async function parseImageNode(arrayBuffer, mimeType) {
4
- if (!mimeType) {
5
- throw new Error('MIMEType is required to parse image under Node.js');
6
- }
7
- const buffer = arrayBuffer instanceof Buffer ? arrayBuffer : Buffer.from(arrayBuffer);
8
- const ndarray = await getPixelsAsync(buffer, mimeType);
9
- return ndarray;
8
+ if (!mimeType) {
9
+ throw new Error('MIMEType is required to parse image under Node.js');
10
+ }
11
+ const buffer = arrayBuffer instanceof Buffer ? arrayBuffer : Buffer.from(arrayBuffer);
12
+ const ndarray = await getPixelsAsync(buffer, mimeType);
13
+ return ndarray;
10
14
  }
15
+ // TODO - check if getPixels callback is asynchronous if provided with buffer input
16
+ // if not, parseImage can be a sync function
11
17
  function getPixelsAsync(buffer, mimeType) {
12
- return new Promise(resolve => getPixels(buffer, mimeType, (err, ndarray) => {
13
- if (err) {
14
- throw err;
15
- }
16
- const shape = [...ndarray.shape];
17
- const layers = ndarray.shape.length === 4 ? ndarray.shape.shift() : 1;
18
- const data = ndarray.data instanceof Buffer ? new Uint8Array(ndarray.data) : ndarray.data;
19
- resolve({
20
- shape,
21
- data,
22
- width: ndarray.shape[0],
23
- height: ndarray.shape[1],
24
- components: ndarray.shape[2],
25
- layers: layers ? [layers] : []
26
- });
27
- }));
18
+ return new Promise((resolve) => getPixels(buffer, mimeType, (err, ndarray) => {
19
+ if (err) {
20
+ throw err;
21
+ }
22
+ const shape = [...ndarray.shape];
23
+ const layers = ndarray.shape.length === 4 ? ndarray.shape.shift() : 1;
24
+ const data = ndarray.data instanceof Buffer ? new Uint8Array(ndarray.data) : ndarray.data;
25
+ // extract width/height etc
26
+ resolve({
27
+ shape,
28
+ data,
29
+ width: ndarray.shape[0],
30
+ height: ndarray.shape[1],
31
+ components: ndarray.shape[2],
32
+ // TODO - error
33
+ layers: layers ? [layers] : []
34
+ });
35
+ }));
28
36
  }
29
- //# sourceMappingURL=parse-image.node.js.map
@@ -1,8 +1,13 @@
1
- export function installFilePolyfills() {}
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ export function installFilePolyfills() { }
4
+ // Dummy export to avoid import errors in browser tests
2
5
  export const NodeFileSystem = null;
3
6
  export function fetchNode(path, options) {
4
- throw new Error('fetchNode not available in browser');
7
+ throw new Error('fetchNode not available in browser');
5
8
  }
9
+ // Ensure process and process.env are defined, as Node code tends to crash on these
10
+ // @ts-ignore
6
11
  globalThis.process = globalThis.process || {};
12
+ // @ts-ignore
7
13
  globalThis.process.env = globalThis.process.env || {};
8
- //# sourceMappingURL=index.browser.js.map