@loaders.gl/polyfills 4.0.0-beta.2 → 4.0.0-beta.4
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/buffer/btoa.node.d.ts.map +1 -0
- package/dist/buffer/btoa.node.js.map +1 -0
- package/dist/buffer/to-array-buffer.node.d.ts.map +1 -0
- package/dist/buffer/to-array-buffer.node.js.map +1 -0
- package/dist/crypto/node-hash.d.ts +28 -0
- package/dist/crypto/node-hash.d.ts.map +1 -0
- package/dist/crypto/node-hash.js +56 -0
- package/dist/crypto/node-hash.js.map +1 -0
- package/dist/dist.dev.js +43 -0
- package/dist/fetch/decode-data-uri.d.ts +16 -0
- package/dist/fetch/decode-data-uri.d.ts.map +1 -0
- package/dist/fetch/decode-data-uri.js +45 -0
- package/dist/fetch/decode-data-uri.js.map +1 -0
- package/dist/{node/fetch/fetch.node.d.ts → fetch/fetch-polyfill.d.ts} +2 -2
- package/dist/fetch/fetch-polyfill.d.ts.map +1 -0
- package/dist/{esm/node/fetch/fetch.node.js → fetch/fetch-polyfill.js} +4 -4
- package/dist/fetch/fetch-polyfill.js.map +1 -0
- package/dist/{node/fetch/headers.node.d.ts → fetch/headers-polyfill.d.ts} +1 -1
- package/dist/{node/fetch/headers.node.d.ts.map → fetch/headers-polyfill.d.ts.map} +1 -1
- package/dist/{esm/node/fetch/headers.node.js → fetch/headers-polyfill.js} +3 -4
- package/dist/fetch/headers-polyfill.js.map +1 -0
- package/dist/{node/fetch/response.node.d.ts → fetch/response-polyfill.d.ts} +2 -2
- package/dist/{node/fetch/response.node.d.ts.map → fetch/response-polyfill.d.ts.map} +1 -1
- package/dist/{esm/node/fetch/response.node.js → fetch/response-polyfill.js} +14 -15
- package/dist/fetch/response-polyfill.js.map +1 -0
- package/dist/fetch/utils/decode-data-uri.node.d.ts.map +1 -0
- package/dist/{esm/node/fetch → fetch}/utils/decode-data-uri.node.js +2 -2
- package/dist/fetch/utils/decode-data-uri.node.js.map +1 -0
- package/dist/file/blob-stream-controller.d.ts.map +1 -0
- package/dist/{esm/node/file → file}/blob-stream-controller.js +3 -4
- package/dist/file/blob-stream-controller.js.map +1 -0
- package/dist/file/blob-stream.d.ts.map +1 -0
- package/dist/{esm/node/file → file}/blob-stream.js +3 -4
- package/dist/file/blob-stream.js.map +1 -0
- package/dist/file/blob.d.ts.map +1 -0
- package/dist/{esm/node/file → file}/blob.js +4 -5
- package/dist/file/blob.js.map +1 -0
- package/dist/file/file-reader.d.ts.map +1 -0
- package/dist/file/file-reader.js +59 -0
- package/dist/file/file-reader.js.map +1 -0
- package/dist/{node/file → file}/file.d.ts +1 -2
- package/dist/file/file.d.ts.map +1 -0
- package/dist/{esm/node/file → file}/file.js +4 -6
- package/dist/file/file.js.map +1 -0
- package/dist/file/install-blob-polyfills.d.ts +9 -0
- package/dist/file/install-blob-polyfills.d.ts.map +1 -0
- package/dist/file/install-blob-polyfills.js +9 -0
- package/dist/file/install-blob-polyfills.js.map +1 -0
- package/dist/file/install-file-polyfills.d.ts +3 -0
- package/dist/file/install-file-polyfills.d.ts.map +1 -0
- package/dist/file/install-file-polyfills.js +13 -0
- package/dist/file/install-file-polyfills.js.map +1 -0
- package/dist/file/readable-stream.d.ts.map +1 -0
- package/dist/{esm/node/file → file}/readable-stream.js +1 -1
- package/dist/file/readable-stream.js.map +1 -0
- package/dist/filesystems/fetch-node.d.ts +8 -0
- package/dist/filesystems/fetch-node.d.ts.map +1 -0
- package/dist/filesystems/fetch-node.js +77 -0
- package/dist/filesystems/fetch-node.js.map +1 -0
- package/dist/filesystems/node-file.d.ts +13 -0
- package/dist/filesystems/node-file.d.ts.map +1 -0
- package/dist/filesystems/node-file.js +72 -0
- package/dist/filesystems/node-file.js.map +1 -0
- package/dist/filesystems/node-filesystem.d.ts +11 -31
- package/dist/filesystems/node-filesystem.d.ts.map +1 -1
- package/dist/filesystems/node-filesystem.js +40 -0
- package/dist/filesystems/node-filesystem.js.map +1 -0
- package/dist/{node/fetch/utils → filesystems}/stream-utils.node.d.ts +8 -1
- package/dist/filesystems/stream-utils.node.d.ts.map +1 -0
- package/dist/{esm/node/fetch/utils → filesystems}/stream-utils.node.js +24 -2
- package/dist/filesystems/stream-utils.node.js.map +1 -0
- package/dist/images/encode-image-node.d.ts +20 -0
- package/dist/images/encode-image-node.d.ts.map +1 -0
- package/dist/images/encode-image-node.js +20 -0
- package/dist/images/encode-image-node.js.map +1 -0
- package/dist/images/encode-image.node.d.ts.map +1 -0
- package/dist/{esm/node/images → images}/encode-image.node.js +1 -1
- package/dist/images/encode-image.node.js.map +1 -0
- package/dist/images/parse-image-node.d.ts +13 -0
- package/dist/images/parse-image-node.d.ts.map +1 -0
- package/dist/images/parse-image-node.js +29 -0
- package/dist/images/parse-image-node.js.map +1 -0
- package/dist/images/parse-image.node.d.ts.map +1 -0
- package/dist/images/parse-image.node.js.map +1 -0
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +6 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.cjs +33 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/libs/encoding-indexes-asian.js +2 -0
- package/dist/libs/encoding-indexes-asian.js.map +1 -0
- package/dist/load-library/require-utils.node.d.ts +18 -0
- package/dist/load-library/require-utils.node.d.ts.map +1 -0
- package/dist/load-library/require-utils.node.js +55 -0
- package/dist/load-library/require-utils.node.js.map +1 -0
- package/dist/streams/make-node-stream.d.ts +11 -0
- package/dist/streams/make-node-stream.d.ts.map +1 -0
- package/dist/streams/make-node-stream.js +56 -0
- package/dist/streams/make-node-stream.js.map +1 -0
- package/dist/text-encoder/encoding-indexes.d.ts.map +1 -0
- package/dist/{esm/lib → text-encoder}/encoding-indexes.js.map +1 -1
- package/dist/{lib/encoding.d.ts → text-encoder/text-encoder.d.ts} +1 -1
- package/dist/text-encoder/text-encoder.d.ts.map +1 -0
- package/dist/{esm/lib/encoding.js → text-encoder/text-encoder.js} +7 -7
- package/dist/text-encoder/text-encoder.js.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/is-browser.d.ts +2 -0
- package/dist/utils/is-browser.d.ts.map +1 -0
- package/dist/utils/is-browser.js +2 -0
- package/dist/utils/is-browser.js.map +1 -0
- package/package.json +16 -6
- package/src/crypto/node-hash.ts +71 -0
- package/src/{node/fetch/fetch.node.ts → fetch/fetch-polyfill.ts} +3 -3
- package/src/{node/fetch/response.node.ts → fetch/response-polyfill.ts} +6 -6
- package/src/fetch/utils/decode-data-uri.node.ts +69 -0
- package/src/{node/file → file}/file.ts +1 -2
- package/src/file/install-blob-polyfills.ts +13 -0
- package/src/file/install-file-polyfills.ts +20 -0
- package/src/{node/file → file}/readable-stream.ts +1 -1
- package/src/filesystems/fetch-node.ts +96 -0
- package/src/filesystems/node-file.ts +137 -0
- package/src/filesystems/node-filesystem.ts +26 -61
- package/src/{node/fetch/utils → filesystems}/stream-utils.node.ts +42 -3
- package/src/images/encode-image.node.ts +41 -0
- package/src/images/parse-image.node.ts +53 -0
- package/src/index.browser.ts +4 -8
- package/src/index.ts +73 -50
- package/src/load-library/require-utils.node.ts +101 -0
- package/src/streams/make-node-stream.ts +74 -0
- package/src/{lib/encoding.ts → text-encoder/text-encoder.ts} +7 -7
- package/src/utils/is-browser.ts +6 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/dist.min.js +0 -63
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/filesystems/node-filesystem.js +0 -214
- package/dist/es5/filesystems/node-filesystem.js.map +0 -1
- package/dist/es5/index.browser.js +0 -15
- package/dist/es5/index.browser.js.map +0 -1
- package/dist/es5/index.js +0 -82
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/encoding-indexes.js +0 -37
- package/dist/es5/lib/encoding-indexes.js.map +0 -1
- package/dist/es5/lib/encoding.js +0 -1214
- package/dist/es5/lib/encoding.js.map +0 -1
- package/dist/es5/libs/encoding-indexes-asian.js +0 -13
- package/dist/es5/node/buffer/btoa.node.js +0 -14
- package/dist/es5/node/buffer/btoa.node.js.map +0 -1
- package/dist/es5/node/buffer/to-array-buffer.node.js +0 -14
- package/dist/es5/node/buffer/to-array-buffer.node.js.map +0 -1
- package/dist/es5/node/fetch/fetch.node.js +0 -193
- package/dist/es5/node/fetch/fetch.node.js.map +0 -1
- package/dist/es5/node/fetch/headers.node.js +0 -151
- package/dist/es5/node/fetch/headers.node.js.map +0 -1
- package/dist/es5/node/fetch/response.node.js +0 -182
- package/dist/es5/node/fetch/response.node.js.map +0 -1
- package/dist/es5/node/fetch/utils/decode-data-uri.node.js +0 -58
- package/dist/es5/node/fetch/utils/decode-data-uri.node.js.map +0 -1
- package/dist/es5/node/fetch/utils/stream-utils.node.js +0 -92
- package/dist/es5/node/fetch/utils/stream-utils.node.js.map +0 -1
- package/dist/es5/node/file/blob-stream-controller.js +0 -90
- package/dist/es5/node/file/blob-stream-controller.js.map +0 -1
- package/dist/es5/node/file/blob-stream.js +0 -64
- package/dist/es5/node/file/blob-stream.js.map +0 -1
- package/dist/es5/node/file/blob.js +0 -212
- package/dist/es5/node/file/blob.js.map +0 -1
- package/dist/es5/node/file/file-reader.js +0 -153
- package/dist/es5/node/file/file-reader.js.map +0 -1
- package/dist/es5/node/file/file.js +0 -44
- package/dist/es5/node/file/file.js.map +0 -1
- package/dist/es5/node/file/install-file-polyfills.js +0 -22
- package/dist/es5/node/file/install-file-polyfills.js.map +0 -1
- package/dist/es5/node/file/readable-stream.js +0 -27
- package/dist/es5/node/file/readable-stream.js.map +0 -1
- package/dist/es5/node/images/encode-image.node.js +0 -30
- package/dist/es5/node/images/encode-image.node.js.map +0 -1
- package/dist/es5/node/images/parse-image.node.js +0 -64
- package/dist/es5/node/images/parse-image.node.js.map +0 -1
- package/dist/es5/promise/all-settled.js +0 -28
- package/dist/es5/promise/all-settled.js.map +0 -1
- package/dist/es5/utils/assert.js +0 -12
- package/dist/es5/utils/assert.js.map +0 -1
- package/dist/es5/utils/globals.js +0 -18
- package/dist/es5/utils/globals.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/filesystems/node-filesystem.js +0 -56
- package/dist/esm/filesystems/node-filesystem.js.map +0 -1
- package/dist/esm/index.browser.js +0 -7
- package/dist/esm/index.browser.js.map +0 -1
- package/dist/esm/index.js +0 -51
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/encoding.js.map +0 -1
- package/dist/esm/libs/encoding-indexes-asian.js +0 -13
- package/dist/esm/node/buffer/btoa.node.js.map +0 -1
- package/dist/esm/node/buffer/to-array-buffer.node.js.map +0 -1
- package/dist/esm/node/fetch/fetch.node.js.map +0 -1
- package/dist/esm/node/fetch/headers.node.js.map +0 -1
- package/dist/esm/node/fetch/response.node.js.map +0 -1
- package/dist/esm/node/fetch/utils/decode-data-uri.node.js.map +0 -1
- package/dist/esm/node/fetch/utils/stream-utils.node.js.map +0 -1
- package/dist/esm/node/file/blob-stream-controller.js.map +0 -1
- package/dist/esm/node/file/blob-stream.js.map +0 -1
- package/dist/esm/node/file/blob.js.map +0 -1
- package/dist/esm/node/file/file-reader.js +0 -60
- package/dist/esm/node/file/file-reader.js.map +0 -1
- package/dist/esm/node/file/file.js.map +0 -1
- package/dist/esm/node/file/install-file-polyfills.js +0 -16
- package/dist/esm/node/file/install-file-polyfills.js.map +0 -1
- package/dist/esm/node/file/readable-stream.js.map +0 -1
- package/dist/esm/node/images/encode-image.node.js.map +0 -1
- package/dist/esm/node/images/parse-image.node.js.map +0 -1
- package/dist/esm/promise/all-settled.js +0 -19
- package/dist/esm/promise/all-settled.js.map +0 -1
- package/dist/esm/utils/assert.js +0 -6
- package/dist/esm/utils/assert.js.map +0 -1
- package/dist/esm/utils/globals.js +0 -9
- package/dist/esm/utils/globals.js.map +0 -1
- package/dist/lib/encoding-indexes.d.ts.map +0 -1
- package/dist/lib/encoding.d.ts.map +0 -1
- package/dist/node/buffer/btoa.node.d.ts.map +0 -1
- package/dist/node/buffer/to-array-buffer.node.d.ts.map +0 -1
- package/dist/node/fetch/fetch.node.d.ts.map +0 -1
- package/dist/node/fetch/utils/decode-data-uri.node.d.ts.map +0 -1
- package/dist/node/fetch/utils/stream-utils.node.d.ts.map +0 -1
- package/dist/node/file/blob-stream-controller.d.ts.map +0 -1
- package/dist/node/file/blob-stream.d.ts.map +0 -1
- package/dist/node/file/blob.d.ts.map +0 -1
- package/dist/node/file/file-reader.d.ts.map +0 -1
- package/dist/node/file/file.d.ts.map +0 -1
- package/dist/node/file/install-file-polyfills.d.ts +0 -2
- package/dist/node/file/install-file-polyfills.d.ts.map +0 -1
- package/dist/node/file/readable-stream.d.ts.map +0 -1
- package/dist/node/images/encode-image.node.d.ts.map +0 -1
- package/dist/node/images/parse-image.node.d.ts.map +0 -1
- package/dist/promise/all-settled.d.ts +0 -10
- package/dist/promise/all-settled.d.ts.map +0 -1
- package/dist/utils/globals.d.ts +0 -4
- package/dist/utils/globals.d.ts.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/node/file/install-file-polyfills.ts +0 -27
- package/src/promise/all-settled.ts +0 -21
- package/src/utils/globals.ts +0 -37
- /package/dist/{node/buffer → buffer}/btoa.node.d.ts +0 -0
- /package/dist/{esm/node/buffer → buffer}/btoa.node.js +0 -0
- /package/dist/{node/buffer → buffer}/to-array-buffer.node.d.ts +0 -0
- /package/dist/{esm/node/buffer → buffer}/to-array-buffer.node.js +0 -0
- /package/dist/{node/fetch → fetch}/utils/decode-data-uri.node.d.ts +0 -0
- /package/dist/{node/file → file}/blob-stream-controller.d.ts +0 -0
- /package/dist/{node/file → file}/blob-stream.d.ts +0 -0
- /package/dist/{node/file → file}/blob.d.ts +0 -0
- /package/dist/{node/file → file}/file-reader.d.ts +0 -0
- /package/dist/{node/file → file}/readable-stream.d.ts +0 -0
- /package/dist/{node/images → images}/encode-image.node.d.ts +0 -0
- /package/dist/{node/images → images}/parse-image.node.d.ts +0 -0
- /package/dist/{esm/node/images → images}/parse-image.node.js +0 -0
- /package/dist/{lib → text-encoder}/encoding-indexes.d.ts +0 -0
- /package/dist/{esm/lib → text-encoder}/encoding-indexes.js +0 -0
- /package/src/{node/buffer → buffer}/btoa.node.ts +0 -0
- /package/src/{node/buffer → buffer}/to-array-buffer.node.ts +0 -0
- /package/src/{node/fetch/utils/decode-data-uri.node.ts → fetch/decode-data-uri.ts} +0 -0
- /package/src/{node/fetch/headers.node.ts → fetch/headers-polyfill.ts} +0 -0
- /package/src/{node/file → file}/blob-stream-controller.ts +0 -0
- /package/src/{node/file → file}/blob-stream.ts +0 -0
- /package/src/{node/file → file}/blob.ts +0 -0
- /package/src/{node/file → file}/file-reader.ts +0 -0
- /package/src/{node/images/encode-image.node.ts → images/encode-image-node.ts} +0 -0
- /package/src/{node/images/parse-image.node.ts → images/parse-image-node.ts} +0 -0
- /package/src/{lib → text-encoder}/encoding-indexes.ts +0 -0
package/src/index.ts
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
/* eslint-disable dot-notation */
|
|
2
|
-
import {isBrowser} from './utils/
|
|
2
|
+
import {isBrowser} from './utils/is-browser';
|
|
3
3
|
|
|
4
|
-
import {TextDecoder, TextEncoder} from './
|
|
5
|
-
import {allSettled} from './promise/all-settled';
|
|
4
|
+
import {TextDecoder, TextEncoder} from './text-encoder/text-encoder';
|
|
6
5
|
|
|
7
6
|
// Node specific
|
|
8
|
-
import
|
|
7
|
+
import {atob, btoa} from './buffer/btoa.node';
|
|
9
8
|
|
|
10
|
-
import {encodeImageNode} from './
|
|
11
|
-
import {parseImageNode, NODE_FORMAT_SUPPORT} from './
|
|
9
|
+
import {encodeImageNode} from './images/encode-image-node';
|
|
10
|
+
import {parseImageNode, NODE_FORMAT_SUPPORT} from './images/parse-image-node';
|
|
12
11
|
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
// FILESYSTEM POLYFILLS
|
|
13
|
+
import {NodeFile} from './filesystems/node-file';
|
|
14
|
+
import {NodeFileSystem} from './filesystems/node-filesystem';
|
|
15
|
+
import {fetchNode} from './filesystems/fetch-node';
|
|
16
|
+
|
|
17
|
+
// NODE VERSION
|
|
18
|
+
import {versions} from 'node:process';
|
|
19
|
+
export const nodeVersion = parseInt(versions.node.split('.')[0]);
|
|
20
|
+
|
|
21
|
+
// STREAM POLYFILLS
|
|
22
|
+
import {makeNodeStream} from './streams/make-node-stream';
|
|
23
|
+
|
|
24
|
+
// BLOB AND FILE POLYFILLS
|
|
25
|
+
export {Blob_ as Blob} from './file/install-blob-polyfills';
|
|
26
|
+
export {File_ as File} from './file/install-file-polyfills';
|
|
18
27
|
|
|
19
28
|
if (isBrowser) {
|
|
20
29
|
// eslint-disable-next-line no-console
|
|
@@ -23,6 +32,17 @@ if (isBrowser) {
|
|
|
23
32
|
);
|
|
24
33
|
}
|
|
25
34
|
|
|
35
|
+
globalThis.loaders = globalThis.loaders || {};
|
|
36
|
+
|
|
37
|
+
// STREAM POLYFILLS
|
|
38
|
+
export {makeNodeStream} from './streams/make-node-stream';
|
|
39
|
+
globalThis.loaders.makeNodeStream = makeNodeStream;
|
|
40
|
+
|
|
41
|
+
// FILESYSTEM POLYFILLS
|
|
42
|
+
globalThis.loaders.NodeFile = NodeFile;
|
|
43
|
+
globalThis.loaders.NodeFileSystem = NodeFileSystem;
|
|
44
|
+
globalThis.loaders.fetchNode = fetchNode;
|
|
45
|
+
|
|
26
46
|
// POLYFILLS: TextEncoder, TextDecoder
|
|
27
47
|
// - Recent Node versions have these classes but virtually no encodings unless special build.
|
|
28
48
|
// - Browser: Edge, IE11 do not have these
|
|
@@ -41,58 +61,61 @@ if (!globalThis.TextDecoder) {
|
|
|
41
61
|
// - Node: Yes
|
|
42
62
|
// - Browser: No
|
|
43
63
|
|
|
44
|
-
if (!
|
|
45
|
-
globalThis['atob'] =
|
|
64
|
+
if (!('atob' in globalThis) && atob) {
|
|
65
|
+
globalThis['atob'] = atob;
|
|
46
66
|
}
|
|
47
|
-
if (!
|
|
48
|
-
globalThis['btoa'] =
|
|
67
|
+
if (!('btoa' in globalThis) && btoa) {
|
|
68
|
+
globalThis['btoa'] = btoa;
|
|
49
69
|
}
|
|
50
70
|
|
|
51
|
-
globalThis.loaders = globalThis.loaders || {};
|
|
52
|
-
|
|
53
|
-
// FILESYSTEM POLYFILLS:
|
|
54
|
-
export {NodeFileSystem} from './filesystems/node-filesystem';
|
|
55
|
-
import {NodeFileSystem} from './filesystems/node-filesystem';
|
|
56
|
-
globalThis.loaders.NodeFileSystem = NodeFileSystem;
|
|
57
|
-
|
|
58
71
|
// NODE IMAGE FUNCTIONS:
|
|
59
72
|
// These are not official polyfills but used by the @loaders.gl/images module if installed
|
|
60
73
|
// TODO - is there an appropriate Image API we could polyfill using an adapter?
|
|
61
74
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
75
|
+
globalThis.loaders.encodeImageNode = encodeImageNode;
|
|
76
|
+
globalThis.loaders.parseImageNode = parseImageNode;
|
|
77
|
+
globalThis.loaders.imageFormatsNode = NODE_FORMAT_SUPPORT;
|
|
65
78
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
79
|
+
// Deprecated, remove after republish
|
|
80
|
+
globalThis._parseImageNode = parseImageNode;
|
|
81
|
+
globalThis._imageFormatsNode = NODE_FORMAT_SUPPORT;
|
|
70
82
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
83
|
+
// LOAD LIBRARY
|
|
84
|
+
|
|
85
|
+
import {
|
|
86
|
+
readFileAsArrayBuffer,
|
|
87
|
+
readFileAsText,
|
|
88
|
+
requireFromFile,
|
|
89
|
+
requireFromString
|
|
90
|
+
} from './load-library/require-utils.node';
|
|
91
|
+
|
|
92
|
+
globalThis.loaders.readFileAsArrayBuffer = readFileAsArrayBuffer;
|
|
93
|
+
globalThis.loaders.readFileAsText = readFileAsText;
|
|
94
|
+
globalThis.loaders.requireFromFile = requireFromFile;
|
|
95
|
+
globalThis.loaders.requireFromString = requireFromString;
|
|
75
96
|
|
|
76
97
|
// DEPRECATED POLYFILL:
|
|
77
98
|
// - Node v18+: No, not needed
|
|
78
99
|
// - Node v16 and lower: Yes
|
|
79
100
|
// - Browsers (evergreen): Not needed.
|
|
80
101
|
// - IE11: No. This polyfill is node only, install external polyfill
|
|
81
|
-
import {Headers as HeadersNode} from './
|
|
82
|
-
import {Response as ResponseNode} from './
|
|
83
|
-
import {fetchNode as
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
102
|
+
import {Headers as HeadersNode} from './fetch/headers-polyfill';
|
|
103
|
+
import {Response as ResponseNode} from './fetch/response-polyfill';
|
|
104
|
+
import {fetchNode as fetchNodePolyfill} from './fetch/fetch-polyfill';
|
|
105
|
+
|
|
106
|
+
if (nodeVersion < 18) {
|
|
107
|
+
if (!('Headers' in globalThis) && HeadersNode) {
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
globalThis.Headers = HeadersNode;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!('Response' in globalThis) && ResponseNode) {
|
|
113
|
+
// @ts-ignore
|
|
114
|
+
globalThis.Response = ResponseNode;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (!('fetch' in globalThis) && fetchNodePolyfill) {
|
|
118
|
+
// @ts-ignore
|
|
119
|
+
globalThis.fetch = fetchNodePolyfill;
|
|
120
|
+
}
|
|
98
121
|
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// Fork of https://github.com/floatdrop/require-from-string/blob/master/index.js
|
|
2
|
+
// Copyright (c) Vsevolod Strukchinsky <floatdrop@gmail.com> (github.com/floatdrop)
|
|
3
|
+
// MIT license
|
|
4
|
+
|
|
5
|
+
// this file is not visible to webpack (it is excluded in the package.json "browser" field).
|
|
6
|
+
|
|
7
|
+
import Module from 'module';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import fs from 'fs';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Load a file from local file system
|
|
13
|
+
* @param filename
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export async function readFileAsArrayBuffer(filename: string): Promise<ArrayBuffer> {
|
|
17
|
+
if (filename.startsWith('http')) {
|
|
18
|
+
const response = await fetch(filename);
|
|
19
|
+
return await response.arrayBuffer();
|
|
20
|
+
}
|
|
21
|
+
const buffer = fs.readFileSync(filename);
|
|
22
|
+
return buffer.buffer;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Load a file from local file system
|
|
27
|
+
* @param filename
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
export async function readFileAsText(filename: string): Promise<string> {
|
|
31
|
+
if (filename.startsWith('http')) {
|
|
32
|
+
const response = await fetch(filename);
|
|
33
|
+
return await response.text();
|
|
34
|
+
}
|
|
35
|
+
const text = fs.readFileSync(filename, 'utf8');
|
|
36
|
+
return text;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Node.js Dynamically require from file
|
|
40
|
+
// Relative names are resolved relative to cwd
|
|
41
|
+
// This indirect function is provided because webpack will try to bundle `module.require`.
|
|
42
|
+
// this file is not visible to webpack (it is excluded in the package.json "browser" field).
|
|
43
|
+
export async function requireFromFile(filename: string): Promise<any> {
|
|
44
|
+
if (filename.startsWith('http')) {
|
|
45
|
+
const response = await fetch(filename);
|
|
46
|
+
const code = await response.text();
|
|
47
|
+
return requireFromString(code);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!filename.startsWith('/')) {
|
|
51
|
+
filename = `${process.cwd()}/${filename}`;
|
|
52
|
+
}
|
|
53
|
+
const code = await fs.readFileSync(filename, 'utf8');
|
|
54
|
+
return requireFromString(code);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Dynamically require from string
|
|
58
|
+
// - `code` - Required - Type: string - Module code.
|
|
59
|
+
// - `filename` - Type: string - Default: '' - Optional filename.
|
|
60
|
+
// - `options.appendPaths` Type: Array List of paths, that will be appended to module paths.
|
|
61
|
+
// Useful, when you want to be able require modules from these paths.
|
|
62
|
+
// - `options.prependPaths` Type: Array Same as appendPaths, but paths will be prepended.
|
|
63
|
+
export function requireFromString(
|
|
64
|
+
code: string,
|
|
65
|
+
filename = '',
|
|
66
|
+
options?: {
|
|
67
|
+
prependPaths?: string[];
|
|
68
|
+
appendPaths?: string[];
|
|
69
|
+
}
|
|
70
|
+
): any {
|
|
71
|
+
if (typeof filename === 'object') {
|
|
72
|
+
options = filename;
|
|
73
|
+
filename = '';
|
|
74
|
+
}
|
|
75
|
+
filename = filename.replace('file://', '');
|
|
76
|
+
|
|
77
|
+
if (typeof code !== 'string') {
|
|
78
|
+
throw new Error(`code must be a string, not ${typeof code}`);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// @ts-ignore
|
|
82
|
+
const paths = Module._nodeModulePaths(path.dirname(filename));
|
|
83
|
+
|
|
84
|
+
const parent = typeof module !== 'undefined' && module?.parent;
|
|
85
|
+
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
const newModule = new Module(filename, parent);
|
|
88
|
+
newModule.filename = filename;
|
|
89
|
+
newModule.paths = ([] as string[])
|
|
90
|
+
.concat(options?.prependPaths || [])
|
|
91
|
+
.concat(paths)
|
|
92
|
+
.concat(options?.appendPaths || []);
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
newModule._compile(code, filename);
|
|
95
|
+
|
|
96
|
+
if (parent && parent.children) {
|
|
97
|
+
parent.children.splice(parent.children.indexOf(newModule), 1);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return newModule.exports;
|
|
101
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type {ReadableOptions} from 'stream';
|
|
2
|
+
import * as Stream from 'stream';
|
|
3
|
+
|
|
4
|
+
class _Readable {}
|
|
5
|
+
|
|
6
|
+
type ReadableType = Stream.Readable | _Readable;
|
|
7
|
+
const Readable = Stream.Readable || _Readable;
|
|
8
|
+
|
|
9
|
+
export type MakeStreamOptions = ReadableOptions;
|
|
10
|
+
|
|
11
|
+
/** Builds a node stream from an iterator */
|
|
12
|
+
export function makeNodeStream<ArrayBuffer>(
|
|
13
|
+
source: Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>,
|
|
14
|
+
options?: ReadableOptions
|
|
15
|
+
): ReadableType {
|
|
16
|
+
// @ts-ignore AsyncGenerator
|
|
17
|
+
const iterator = source[Symbol.asyncIterator]
|
|
18
|
+
? // @ts-ignore AsyncGenerator
|
|
19
|
+
source[Symbol.asyncIterator]()
|
|
20
|
+
: // @ts-ignore AsyncGenerator
|
|
21
|
+
source[Symbol.iterator]();
|
|
22
|
+
return new AsyncIterableReadable(iterator, options);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class AsyncIterableReadable extends Readable {
|
|
26
|
+
private _pulling: boolean;
|
|
27
|
+
private _bytesMode: boolean;
|
|
28
|
+
private _iterator: AsyncIterator<ArrayBuffer>;
|
|
29
|
+
|
|
30
|
+
constructor(it: AsyncIterator<ArrayBuffer>, options?: ReadableOptions) {
|
|
31
|
+
super(options);
|
|
32
|
+
this._iterator = it;
|
|
33
|
+
this._pulling = false;
|
|
34
|
+
this._bytesMode = !options || !options.objectMode;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async _read(size: number): Promise<void> {
|
|
38
|
+
if (!this._pulling) {
|
|
39
|
+
this._pulling = true;
|
|
40
|
+
this._pulling = await this._pull(size, this._iterator);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async _destroy(error: Error | null, cb: (e: Error | null) => void): Promise<void> {
|
|
45
|
+
if (!this._iterator) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (error) {
|
|
49
|
+
await this._iterator?.throw?.(error);
|
|
50
|
+
} else {
|
|
51
|
+
await this._iterator?.return?.(error);
|
|
52
|
+
}
|
|
53
|
+
cb?.(null);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// eslint-disable-next-line complexity
|
|
57
|
+
private async _pull(size: number, it: AsyncIterator<ArrayBuffer>): Promise<boolean> {
|
|
58
|
+
const bm = this._bytesMode;
|
|
59
|
+
let r: IteratorResult<ArrayBuffer> | null = null;
|
|
60
|
+
// while (this.readable && !(r = await it.next(bm ? size : null)).done) {
|
|
61
|
+
while (this.readable && !(r = await it.next()).done) {
|
|
62
|
+
if (size !== null) {
|
|
63
|
+
size -= bm && ArrayBuffer.isView(r.value) ? r.value.byteLength : 1;
|
|
64
|
+
}
|
|
65
|
+
if (!this.push(new Uint8Array(r.value)) || size <= 0) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if ((r?.done || !this.readable) && (this.push(null) || true)) {
|
|
70
|
+
it?.return?.();
|
|
71
|
+
}
|
|
72
|
+
return !this.readable;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import indexes from './encoding-indexes';
|
|
9
9
|
// Note: Aaian character indices add half a megabyte to bundle. Ignore, since we really only want the built-in UTF8...
|
|
10
10
|
// import indexes from './encoding-indexes-asian.js';
|
|
11
|
-
|
|
11
|
+
globalThis['encoding-indexes'] = indexes || {};
|
|
12
12
|
|
|
13
13
|
//
|
|
14
14
|
// Utilities
|
|
@@ -720,10 +720,10 @@ function indexPointerFor(code_point, index) {
|
|
|
720
720
|
* @return {(!Array.<number>|!Array.<Array.<number>>)}
|
|
721
721
|
* */
|
|
722
722
|
function index(name) {
|
|
723
|
-
if (!('encoding-indexes' in
|
|
723
|
+
if (!('encoding-indexes' in globalThis)) {
|
|
724
724
|
throw Error('Indexes missing.' + ' Did you forget to include encoding-indexes.js first?');
|
|
725
725
|
}
|
|
726
|
-
return
|
|
726
|
+
return globalThis['encoding-indexes'][name];
|
|
727
727
|
}
|
|
728
728
|
|
|
729
729
|
/**
|
|
@@ -1121,7 +1121,7 @@ function TextEncoder(label, options) {
|
|
|
1121
1121
|
// Standard behavior.
|
|
1122
1122
|
enc._encoding = getEncoding('utf-8');
|
|
1123
1123
|
|
|
1124
|
-
if (label !== undefined && 'console' in
|
|
1124
|
+
if (label !== undefined && 'console' in globalThis) {
|
|
1125
1125
|
console.warn('TextEncoder constructor called with encoding label, ' + 'which is ignored.');
|
|
1126
1126
|
}
|
|
1127
1127
|
}
|
|
@@ -1483,7 +1483,7 @@ function SingleByteEncoder(index, options) {
|
|
|
1483
1483
|
}
|
|
1484
1484
|
|
|
1485
1485
|
(function () {
|
|
1486
|
-
if (!('encoding-indexes' in
|
|
1486
|
+
if (!('encoding-indexes' in globalThis)) return;
|
|
1487
1487
|
encodings.forEach(function (category) {
|
|
1488
1488
|
if (category.heading !== 'Legacy single-byte encodings') return;
|
|
1489
1489
|
category.encodings.forEach(function (encoding) {
|
|
@@ -3077,8 +3077,8 @@ decoders['x-user-defined'] = function (options) {
|
|
|
3077
3077
|
};
|
|
3078
3078
|
|
|
3079
3079
|
// FORK
|
|
3080
|
-
// if (!
|
|
3081
|
-
// if (!
|
|
3080
|
+
// if (!globalThis['TextEncoder']) globalThis['TextEncoder'] = TextEncoder;
|
|
3081
|
+
// if (!globalThis['TextDecoder']) globalThis['TextDecoder'] = TextDecoder;
|
|
3082
3082
|
// babel.config.js skip transpiling files in `libs/`
|
|
3083
3083
|
// module.exports = {TextEncoder, TextDecoder};
|
|
3084
3084
|
export {TextEncoder, TextDecoder};
|
package/dist/bundle.d.ts
DELETED
package/dist/bundle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
|
package/dist/dist.min.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
4
|
-
var __esm = (fn, res) => function __init() {
|
|
5
|
-
return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
|
|
6
|
-
};
|
|
7
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
-
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
-
};
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
__markAsModule(target);
|
|
12
|
-
for (var name in all)
|
|
13
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// src/promise/all-settled.ts
|
|
17
|
-
function allSettled(promises) {
|
|
18
|
-
const mappedPromises = promises.map((promise) => {
|
|
19
|
-
return promise.then((value) => {
|
|
20
|
-
return { status: FULFILLED_STATUS, value };
|
|
21
|
-
}).catch((reason) => {
|
|
22
|
-
return { status: REJECTED_STATUS, reason };
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
return Promise.all(mappedPromises);
|
|
26
|
-
}
|
|
27
|
-
var REJECTED_STATUS, FULFILLED_STATUS;
|
|
28
|
-
var init_all_settled = __esm({
|
|
29
|
-
"src/promise/all-settled.ts"() {
|
|
30
|
-
REJECTED_STATUS = "rejected";
|
|
31
|
-
FULFILLED_STATUS = "fulfilled";
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
// src/index.browser.ts
|
|
36
|
-
var index_browser_exports = {};
|
|
37
|
-
__export(index_browser_exports, {
|
|
38
|
-
NodeFileSystem: () => NodeFileSystem,
|
|
39
|
-
installFilePolyfills: () => installFilePolyfills
|
|
40
|
-
});
|
|
41
|
-
function installFilePolyfills() {
|
|
42
|
-
}
|
|
43
|
-
var NodeFileSystem;
|
|
44
|
-
var init_index_browser = __esm({
|
|
45
|
-
"src/index.browser.ts"() {
|
|
46
|
-
init_all_settled();
|
|
47
|
-
if (!("allSettled" in Promise)) {
|
|
48
|
-
Promise.allSettled = allSettled;
|
|
49
|
-
}
|
|
50
|
-
NodeFileSystem = null;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// src/bundle.ts
|
|
55
|
-
var require_bundle = __commonJS({
|
|
56
|
-
"src/bundle.ts"(exports, module) {
|
|
57
|
-
var moduleExports = (init_index_browser(), index_browser_exports);
|
|
58
|
-
globalThis.loaders = globalThis.loaders || {};
|
|
59
|
-
module.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
require_bundle();
|
|
63
|
-
})();
|
package/dist/es5/bundle.js
DELETED
package/dist/es5/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
|