@loaders.gl/loader-utils 4.0.0-alpha.4 → 4.0.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.
- package/dist/es5/index.js +328 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/json-loader.js +44 -0
- package/dist/es5/json-loader.js.map +1 -0
- package/dist/es5/lib/binary-utils/array-buffer-utils.js +80 -0
- package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -0
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js +58 -0
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js +31 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -0
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js +44 -0
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/es5/lib/binary-utils/memory-copy-utils.js +34 -0
- package/dist/es5/lib/binary-utils/memory-copy-utils.js.map +1 -0
- package/dist/es5/lib/env-utils/assert.js +12 -0
- package/dist/es5/lib/env-utils/assert.js.map +1 -0
- package/dist/es5/lib/env-utils/globals.js +30 -0
- package/dist/es5/lib/env-utils/globals.js.map +1 -0
- package/dist/es5/lib/filesystems/node-filesystem.js +210 -0
- package/dist/es5/lib/filesystems/node-filesystem.js.map +1 -0
- package/dist/es5/lib/filesystems/readable-file.js +91 -0
- package/dist/es5/lib/filesystems/readable-file.js.map +1 -0
- package/dist/es5/lib/filesystems/writable-file.js +82 -0
- package/dist/es5/lib/filesystems/writable-file.js.map +1 -0
- package/dist/es5/lib/iterators/async-iteration.js +190 -0
- package/dist/es5/lib/iterators/async-iteration.js.map +1 -0
- package/dist/es5/lib/iterators/text-iterators.js +305 -0
- package/dist/es5/lib/iterators/text-iterators.js.map +1 -0
- package/dist/es5/lib/node/buffer.browser.js +14 -0
- package/dist/es5/lib/node/buffer.browser.js.map +1 -0
- package/dist/es5/lib/node/buffer.js +27 -0
- package/dist/es5/lib/node/buffer.js.map +1 -0
- package/dist/es5/lib/node/fs.js +88 -0
- package/dist/es5/lib/node/fs.js.map +1 -0
- package/dist/es5/lib/node/promisify.js +36 -0
- package/dist/es5/lib/node/promisify.js.map +1 -0
- package/dist/es5/lib/node/stream.js +16 -0
- package/dist/es5/lib/node/stream.js.map +1 -0
- package/dist/es5/lib/option-utils/merge-loader-options.js +30 -0
- package/dist/es5/lib/option-utils/merge-loader-options.js.map +1 -0
- package/dist/es5/lib/parser-utils/parse-json.js +15 -0
- package/dist/es5/lib/parser-utils/parse-json.js.map +1 -0
- package/dist/es5/lib/path-utils/file-aliases.js +33 -0
- package/dist/es5/lib/path-utils/file-aliases.js.map +1 -0
- package/dist/es5/lib/path-utils/get-cwd.js +15 -0
- package/dist/es5/lib/path-utils/get-cwd.js.map +1 -0
- package/dist/es5/lib/path-utils/path.js +136 -0
- package/dist/es5/lib/path-utils/path.js.map +1 -0
- package/dist/es5/lib/request-utils/request-scheduler.js +150 -0
- package/dist/es5/lib/request-utils/request-scheduler.js.map +1 -0
- package/dist/es5/lib/worker-loader-utils/create-loader-worker.js +142 -0
- package/dist/es5/lib/worker-loader-utils/create-loader-worker.js.map +1 -0
- package/dist/es5/lib/worker-loader-utils/encode-with-worker.js +18 -0
- package/dist/es5/lib/worker-loader-utils/encode-with-worker.js.map +1 -0
- package/dist/es5/lib/worker-loader-utils/parse-with-worker.js +115 -0
- package/dist/es5/lib/worker-loader-utils/parse-with-worker.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/workers/json-worker.js +6 -0
- package/dist/es5/workers/json-worker.js.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/json-loader.js +18 -0
- package/dist/esm/json-loader.js.map +1 -0
- package/dist/esm/lib/binary-utils/array-buffer-utils.js +52 -0
- package/dist/esm/lib/binary-utils/array-buffer-utils.js.map +1 -0
- package/dist/{lib/binary-utils/binary-copy-utils.js → esm/lib/binary-utils/dataview-copy-utils.js} +27 -4
- package/dist/esm/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js +24 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js.map +1 -0
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js +31 -0
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/esm/lib/binary-utils/memory-copy-utils.js +26 -0
- package/dist/esm/lib/binary-utils/memory-copy-utils.js.map +1 -0
- package/dist/esm/lib/env-utils/assert.js +6 -0
- package/dist/esm/lib/env-utils/assert.js.map +1 -0
- package/dist/esm/lib/env-utils/globals.js +16 -0
- package/dist/esm/lib/env-utils/globals.js.map +1 -0
- package/dist/esm/lib/filesystems/node-filesystem.js +53 -0
- package/dist/esm/lib/filesystems/node-filesystem.js.map +1 -0
- package/dist/esm/lib/filesystems/readable-file.js +20 -0
- package/dist/esm/lib/filesystems/readable-file.js.map +1 -0
- package/dist/esm/lib/filesystems/writable-file.js +20 -0
- package/dist/esm/lib/filesystems/writable-file.js.map +1 -0
- package/dist/esm/lib/iterators/async-iteration.js +32 -0
- package/dist/esm/lib/iterators/async-iteration.js.map +1 -0
- package/dist/esm/lib/iterators/text-iterators.js +47 -0
- package/dist/esm/lib/iterators/text-iterators.js.map +1 -0
- package/dist/esm/lib/node/buffer.browser.js +7 -0
- package/dist/esm/lib/node/buffer.browser.js.map +1 -0
- package/dist/esm/lib/node/buffer.js +20 -0
- package/dist/esm/lib/node/buffer.js.map +1 -0
- package/dist/esm/lib/node/fs.js +40 -0
- package/dist/esm/lib/node/fs.js.map +1 -0
- package/dist/esm/lib/node/promisify.js +10 -0
- package/dist/esm/lib/node/promisify.js.map +1 -0
- package/dist/esm/lib/node/stream.js +7 -0
- package/dist/esm/lib/node/stream.js.map +1 -0
- package/dist/esm/lib/option-utils/merge-loader-options.js +17 -0
- package/dist/esm/lib/option-utils/merge-loader-options.js.map +1 -0
- package/dist/esm/lib/parser-utils/parse-json.js +9 -0
- package/dist/esm/lib/parser-utils/parse-json.js.map +1 -0
- package/dist/esm/lib/path-utils/file-aliases.js +24 -0
- package/dist/esm/lib/path-utils/file-aliases.js.map +1 -0
- package/dist/esm/lib/path-utils/get-cwd.js +9 -0
- package/dist/esm/lib/path-utils/get-cwd.js.map +1 -0
- package/dist/esm/lib/path-utils/path.js +127 -0
- package/dist/esm/lib/path-utils/path.js.map +1 -0
- package/dist/esm/lib/request-utils/request-scheduler.js +120 -0
- package/dist/esm/lib/request-utils/request-scheduler.js.map +1 -0
- package/dist/esm/lib/worker-loader-utils/create-loader-worker.js +95 -0
- package/dist/esm/lib/worker-loader-utils/create-loader-worker.js.map +1 -0
- package/dist/esm/lib/worker-loader-utils/encode-with-worker.js +12 -0
- package/dist/esm/lib/worker-loader-utils/encode-with-worker.js.map +1 -0
- package/dist/esm/lib/worker-loader-utils/parse-with-worker.js +63 -0
- package/dist/esm/lib/worker-loader-utils/parse-with-worker.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/workers/json-worker.js +4 -0
- package/dist/esm/workers/json-worker.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -26
- package/dist/json-loader.d.ts +9 -0
- package/dist/json-loader.d.ts.map +1 -0
- package/dist/json-loader.js +24 -18
- package/dist/lib/binary-utils/array-buffer-utils.d.ts +27 -0
- package/dist/lib/binary-utils/array-buffer-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/array-buffer-utils.js +78 -80
- package/dist/lib/binary-utils/dataview-copy-utils.d.ts +43 -0
- package/dist/lib/binary-utils/dataview-copy-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/dataview-copy-utils.js +97 -0
- package/dist/lib/binary-utils/get-first-characters.d.ts +17 -0
- package/dist/lib/binary-utils/get-first-characters.d.ts.map +1 -0
- package/dist/lib/binary-utils/get-first-characters.js +43 -25
- package/dist/lib/binary-utils/memory-conversion-utils.d.ts +15 -0
- package/dist/lib/binary-utils/memory-conversion-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/memory-conversion-utils.js +73 -0
- package/dist/lib/binary-utils/memory-copy-utils.d.ts +25 -0
- package/dist/lib/binary-utils/memory-copy-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/memory-copy-utils.js +58 -24
- package/dist/lib/env-utils/assert.d.ts +6 -0
- package/dist/lib/env-utils/assert.d.ts.map +1 -0
- package/dist/lib/env-utils/assert.js +12 -5
- package/dist/lib/env-utils/globals.d.ts +15 -0
- package/dist/lib/env-utils/globals.d.ts.map +1 -0
- package/dist/lib/env-utils/globals.js +23 -9
- package/dist/lib/filesystems/node-filesystem.d.ts +39 -0
- package/dist/lib/filesystems/node-filesystem.d.ts.map +1 -0
- package/dist/lib/filesystems/node-filesystem.js +72 -59
- package/dist/lib/filesystems/readable-file.d.ts +10 -0
- package/dist/lib/filesystems/readable-file.d.ts.map +1 -0
- package/dist/lib/filesystems/readable-file.js +25 -0
- package/dist/lib/filesystems/writable-file.d.ts +18 -0
- package/dist/lib/filesystems/writable-file.d.ts.map +1 -0
- package/dist/lib/filesystems/writable-file.js +48 -0
- package/dist/lib/iterators/async-iteration.d.ts +20 -0
- package/dist/lib/iterators/async-iteration.d.ts.map +1 -0
- package/dist/lib/iterators/async-iteration.js +49 -35
- package/dist/lib/iterators/text-iterators.d.ts +19 -0
- package/dist/lib/iterators/text-iterators.d.ts.map +1 -0
- package/dist/lib/iterators/text-iterators.js +56 -41
- package/dist/lib/node/buffer.browser.d.ts +12 -0
- package/dist/lib/node/buffer.browser.d.ts.map +1 -0
- package/dist/lib/node/buffer.browser.js +22 -0
- package/dist/lib/node/buffer.d.ts +12 -0
- package/dist/lib/node/buffer.d.ts.map +1 -0
- package/dist/lib/node/buffer.js +33 -25
- package/dist/lib/node/fs.d.ts +25 -0
- package/dist/lib/node/fs.d.ts.map +1 -0
- package/dist/lib/node/fs.js +48 -26
- package/dist/lib/node/promisify.d.ts +13 -0
- package/dist/lib/node/promisify.d.ts.map +1 -0
- package/dist/lib/node/promisify.js +22 -0
- package/dist/lib/node/stream.d.ts +4 -0
- package/dist/lib/node/stream.d.ts.map +1 -0
- package/dist/lib/node/stream.js +17 -0
- package/dist/lib/option-utils/merge-loader-options.d.ts +9 -0
- package/dist/lib/option-utils/merge-loader-options.d.ts.map +1 -0
- package/dist/lib/option-utils/merge-loader-options.js +27 -0
- package/dist/lib/parser-utils/parse-json.d.ts +5 -0
- package/dist/lib/parser-utils/parse-json.d.ts.map +1 -0
- package/dist/lib/parser-utils/parse-json.js +15 -8
- package/dist/lib/path-utils/file-aliases.d.ts +17 -0
- package/dist/lib/path-utils/file-aliases.d.ts.map +1 -0
- package/dist/lib/path-utils/file-aliases.js +40 -19
- package/dist/lib/path-utils/get-cwd.d.ts +2 -0
- package/dist/lib/path-utils/get-cwd.d.ts.map +1 -0
- package/dist/lib/path-utils/get-cwd.js +12 -0
- package/dist/lib/path-utils/path.d.ts +24 -0
- package/dist/lib/path-utils/path.d.ts.map +1 -0
- package/dist/lib/path-utils/path.js +173 -19
- package/dist/lib/request-utils/request-scheduler.d.ts +62 -0
- package/dist/lib/request-utils/request-scheduler.d.ts.map +1 -0
- package/dist/lib/request-utils/request-scheduler.js +127 -131
- package/dist/lib/worker-loader-utils/create-loader-worker.d.ts +7 -0
- package/dist/lib/worker-loader-utils/create-loader-worker.d.ts.map +1 -0
- package/dist/lib/worker-loader-utils/create-loader-worker.js +92 -96
- package/dist/lib/worker-loader-utils/encode-with-worker.d.ts +8 -0
- package/dist/lib/worker-loader-utils/encode-with-worker.d.ts.map +1 -0
- package/dist/lib/worker-loader-utils/encode-with-worker.js +21 -0
- package/dist/lib/worker-loader-utils/parse-with-worker.d.ts +15 -0
- package/dist/lib/worker-loader-utils/parse-with-worker.d.ts.map +1 -0
- package/dist/lib/worker-loader-utils/parse-with-worker.js +77 -60
- package/dist/types.d.ts +220 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -2
- package/dist/workers/json-worker.d.ts +2 -0
- package/dist/workers/json-worker.d.ts.map +1 -0
- package/dist/workers/json-worker.js +5 -4
- package/package.json +14 -24
- package/src/index.ts +32 -18
- package/src/json-loader.ts +5 -4
- package/src/lib/binary-utils/array-buffer-utils.ts +4 -40
- package/src/lib/binary-utils/{binary-copy-utils.ts → dataview-copy-utils.ts} +57 -5
- package/src/lib/binary-utils/get-first-characters.ts +17 -1
- package/src/lib/binary-utils/memory-conversion-utils.ts +53 -0
- package/src/lib/filesystems/readable-file.ts +30 -0
- package/src/lib/filesystems/writable-file.ts +44 -0
- package/src/lib/node/buffer.browser.ts +20 -0
- package/src/lib/node/buffer.ts +12 -11
- package/src/lib/node/fs.ts +51 -16
- package/src/lib/node/promisify.ts +70 -0
- package/src/lib/node/stream.ts +18 -0
- package/src/lib/option-utils/merge-loader-options.ts +35 -0
- package/src/lib/path-utils/get-cwd.ts +9 -0
- package/src/lib/path-utils/path.ts +138 -4
- package/src/lib/worker-loader-utils/create-loader-worker.ts +3 -2
- package/src/lib/worker-loader-utils/encode-with-worker.ts +21 -0
- package/src/lib/worker-loader-utils/parse-with-worker.ts +16 -3
- package/src/types.ts +156 -93
- package/dist/index.js.map +0 -1
- package/dist/json-loader.js.map +0 -1
- package/dist/lib/binary-utils/array-buffer-utils.js.map +0 -1
- package/dist/lib/binary-utils/binary-copy-utils.js.map +0 -1
- package/dist/lib/binary-utils/buffer-utils.js +0 -16
- package/dist/lib/binary-utils/buffer-utils.js.map +0 -1
- package/dist/lib/binary-utils/encode-utils.js +0 -31
- package/dist/lib/binary-utils/encode-utils.js.map +0 -1
- package/dist/lib/binary-utils/get-first-characters.js.map +0 -1
- package/dist/lib/binary-utils/memory-copy-utils.js.map +0 -1
- package/dist/lib/env-utils/assert.js.map +0 -1
- package/dist/lib/env-utils/globals.js.map +0 -1
- package/dist/lib/filesystems/node-filesystem.js.map +0 -1
- package/dist/lib/iterators/async-iteration.js.map +0 -1
- package/dist/lib/iterators/text-iterators.js.map +0 -1
- package/dist/lib/node/buffer.js.map +0 -1
- package/dist/lib/node/fs.js.map +0 -1
- package/dist/lib/node/util.js +0 -3
- package/dist/lib/node/util.js.map +0 -1
- package/dist/lib/parser-utils/parse-json.js.map +0 -1
- package/dist/lib/path-utils/file-aliases.js.map +0 -1
- package/dist/lib/path-utils/path.js.map +0 -1
- package/dist/lib/request-utils/request-scheduler.js.map +0 -1
- package/dist/lib/worker-loader-utils/create-loader-worker.js.map +0 -1
- package/dist/lib/worker-loader-utils/parse-with-worker.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/workers/json-worker.js.map +0 -1
- package/src/lib/binary-utils/buffer-utils.ts +0 -28
- package/src/lib/binary-utils/encode-utils.ts +0 -32
- package/src/lib/node/util.ts +0 -4
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.makeWritableFile = void 0;
|
|
27
|
+
// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
|
|
28
|
+
const globals_1 = require("../env-utils/globals");
|
|
29
|
+
const fs = __importStar(require("../node/fs"));
|
|
30
|
+
/** Helper function to create an envelope reader for a binary memory input */
|
|
31
|
+
function makeWritableFile(pathOrStream, options) {
|
|
32
|
+
if (globals_1.isBrowser) {
|
|
33
|
+
return {
|
|
34
|
+
write: async () => { },
|
|
35
|
+
close: async () => { }
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const outputStream = typeof pathOrStream === 'string' ? fs.createWriteStream(pathOrStream, options) : pathOrStream;
|
|
39
|
+
return {
|
|
40
|
+
write: async (buffer) => new Promise((resolve, reject) => {
|
|
41
|
+
outputStream.write(buffer, (err) => (err ? reject(err) : resolve()));
|
|
42
|
+
}),
|
|
43
|
+
close: () => new Promise((resolve, reject) => {
|
|
44
|
+
outputStream.close((err) => (err ? reject(err) : resolve()));
|
|
45
|
+
})
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.makeWritableFile = makeWritableFile;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iterate over async iterator, without resetting iterator if end is not reached
|
|
3
|
+
* - forEach intentionally does not reset iterator if exiting loop prematurely
|
|
4
|
+
* so that iteration can continue in a second loop
|
|
5
|
+
* - It is recommended to use a standard for-await as last loop to ensure
|
|
6
|
+
* iterator gets properly reset
|
|
7
|
+
*
|
|
8
|
+
* TODO - optimize using sync iteration if argument is an Iterable?
|
|
9
|
+
*
|
|
10
|
+
* @param iterator
|
|
11
|
+
* @param visitor
|
|
12
|
+
*/
|
|
13
|
+
export declare function forEach(iterator: any, visitor: any): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Concatenates all data chunks yielded by an (async) iterator
|
|
16
|
+
* This function can e.g. be used to enable atomic parsers to work on (async) iterator inputs
|
|
17
|
+
*/
|
|
18
|
+
export declare function concatenateArrayBuffersAsync(asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>): Promise<ArrayBuffer>;
|
|
19
|
+
export declare function concatenateStringsAsync(asyncIterator: AsyncIterable<string> | Iterable<string>): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=async-iteration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-iteration.d.ts","sourceRoot":"","sources":["../../../src/lib/iterators/async-iteration.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,iBAa9C;AAID;;;GAGG;AAEH,wBAAsB,4BAA4B,CAChD,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAChE,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GACtD,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
|
@@ -1,39 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.concatenateStringsAsync = exports.concatenateArrayBuffersAsync = exports.forEach = void 0;
|
|
4
|
+
const array_buffer_utils_1 = require("../binary-utils/array-buffer-utils");
|
|
5
|
+
// GENERAL UTILITIES
|
|
6
|
+
/**
|
|
7
|
+
* Iterate over async iterator, without resetting iterator if end is not reached
|
|
8
|
+
* - forEach intentionally does not reset iterator if exiting loop prematurely
|
|
9
|
+
* so that iteration can continue in a second loop
|
|
10
|
+
* - It is recommended to use a standard for-await as last loop to ensure
|
|
11
|
+
* iterator gets properly reset
|
|
12
|
+
*
|
|
13
|
+
* TODO - optimize using sync iteration if argument is an Iterable?
|
|
14
|
+
*
|
|
15
|
+
* @param iterator
|
|
16
|
+
* @param visitor
|
|
17
|
+
*/
|
|
18
|
+
async function forEach(iterator, visitor) {
|
|
19
|
+
// eslint-disable-next-line
|
|
20
|
+
while (true) {
|
|
21
|
+
const { done, value } = await iterator.next();
|
|
22
|
+
if (done) {
|
|
23
|
+
iterator.return();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const cancel = visitor(value);
|
|
27
|
+
if (cancel) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
12
30
|
}
|
|
13
|
-
|
|
14
|
-
const cancel = visitor(value);
|
|
15
|
-
|
|
16
|
-
if (cancel) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
31
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
exports.forEach = forEach;
|
|
33
|
+
// Breaking big data into iterable chunks, concatenating iterable chunks into big data objects
|
|
34
|
+
/**
|
|
35
|
+
* Concatenates all data chunks yielded by an (async) iterator
|
|
36
|
+
* This function can e.g. be used to enable atomic parsers to work on (async) iterator inputs
|
|
37
|
+
*/
|
|
38
|
+
async function concatenateArrayBuffersAsync(asyncIterator) {
|
|
39
|
+
const arrayBuffers = [];
|
|
40
|
+
for await (const chunk of asyncIterator) {
|
|
41
|
+
arrayBuffers.push(chunk);
|
|
42
|
+
}
|
|
43
|
+
return (0, array_buffer_utils_1.concatenateArrayBuffers)(...arrayBuffers);
|
|
29
44
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return strings.join('');
|
|
45
|
+
exports.concatenateArrayBuffersAsync = concatenateArrayBuffersAsync;
|
|
46
|
+
async function concatenateStringsAsync(asyncIterator) {
|
|
47
|
+
const strings = [];
|
|
48
|
+
for await (const chunk of asyncIterator) {
|
|
49
|
+
strings.push(chunk);
|
|
50
|
+
}
|
|
51
|
+
return strings.join('');
|
|
38
52
|
}
|
|
39
|
-
|
|
53
|
+
exports.concatenateStringsAsync = concatenateStringsAsync;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare function makeTextDecoderIterator(arrayBufferIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: TextDecoderOptions): AsyncIterable<string>;
|
|
2
|
+
export declare function makeTextEncoderIterator(textIterator: AsyncIterable<string> | Iterable<ArrayBuffer>): AsyncIterable<ArrayBuffer>;
|
|
3
|
+
/**
|
|
4
|
+
* @param textIterator async iterable yielding strings
|
|
5
|
+
* @returns an async iterable over lines
|
|
6
|
+
* See http://2ality.com/2018/04/async-iter-nodejs.html
|
|
7
|
+
*/
|
|
8
|
+
export declare function makeLineIterator(textIterator: AsyncIterable<string>): AsyncIterable<string>;
|
|
9
|
+
/**
|
|
10
|
+
* @param lineIterator async iterable yielding lines
|
|
11
|
+
* @returns async iterable yielding numbered lines
|
|
12
|
+
*
|
|
13
|
+
* See http://2ality.com/2018/04/async-iter-nodejs.html
|
|
14
|
+
*/
|
|
15
|
+
export declare function makeNumberedLineIterator(lineIterator: AsyncIterable<string>): AsyncIterable<{
|
|
16
|
+
counter: number;
|
|
17
|
+
line: string;
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=text-iterators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-iterators.d.ts","sourceRoot":"","sources":["../../../src/lib/iterators/text-iterators.ts"],"names":[],"mappings":"AAGA,wBAAuB,uBAAuB,CAC5C,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACvE,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CAAC,MAAM,CAAC,CAOvB;AAOD,wBAAuB,uBAAuB,CAC5C,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAC1D,aAAa,CAAC,WAAW,CAAC,CAK5B;AAED;;;;GAIG;AAEH,wBAAuB,gBAAgB,CACrC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,GAClC,aAAa,CAAC,MAAM,CAAC,CAgBvB;AAED;;;;;GAKG;AACH,wBAAuB,wBAAwB,CAC7C,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,GAClC,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAMhD"}
|
|
@@ -1,46 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// TextDecoder iterators
|
|
3
|
+
// TextDecoder will keep any partial undecoded bytes between calls to `decode`
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.makeNumberedLineIterator = exports.makeLineIterator = exports.makeTextEncoderIterator = exports.makeTextDecoderIterator = void 0;
|
|
6
|
+
async function* makeTextDecoderIterator(arrayBufferIterator, options = {}) {
|
|
7
|
+
const textDecoder = new TextDecoder(undefined, options);
|
|
8
|
+
for await (const arrayBuffer of arrayBufferIterator) {
|
|
9
|
+
yield typeof arrayBuffer === 'string'
|
|
10
|
+
? arrayBuffer
|
|
11
|
+
: textDecoder.decode(arrayBuffer, { stream: true });
|
|
12
|
+
}
|
|
9
13
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
exports.makeTextDecoderIterator = makeTextDecoderIterator;
|
|
15
|
+
// TextEncoder iterator
|
|
16
|
+
// TODO - this is not useful unless min chunk size is given
|
|
17
|
+
// TextEncoder will keep any partial undecoded bytes between calls to `encode`
|
|
18
|
+
// If iterator does not yield strings, assume arrayBuffer and return unencoded
|
|
19
|
+
async function* makeTextEncoderIterator(textIterator) {
|
|
20
|
+
const textEncoder = new TextEncoder();
|
|
21
|
+
for await (const text of textIterator) {
|
|
22
|
+
yield typeof text === 'string' ? textEncoder.encode(text) : text;
|
|
23
|
+
}
|
|
16
24
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
exports.makeTextEncoderIterator = makeTextEncoderIterator;
|
|
26
|
+
/**
|
|
27
|
+
* @param textIterator async iterable yielding strings
|
|
28
|
+
* @returns an async iterable over lines
|
|
29
|
+
* See http://2ality.com/2018/04/async-iter-nodejs.html
|
|
30
|
+
*/
|
|
31
|
+
async function* makeLineIterator(textIterator) {
|
|
32
|
+
let previous = '';
|
|
33
|
+
for await (const textChunk of textIterator) {
|
|
34
|
+
previous += textChunk;
|
|
35
|
+
let eolIndex;
|
|
36
|
+
while ((eolIndex = previous.indexOf('\n')) >= 0) {
|
|
37
|
+
// line includes the EOL
|
|
38
|
+
const line = previous.slice(0, eolIndex + 1);
|
|
39
|
+
previous = previous.slice(eolIndex + 1);
|
|
40
|
+
yield line;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (previous.length > 0) {
|
|
44
|
+
yield previous;
|
|
28
45
|
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (previous.length > 0) {
|
|
32
|
-
yield previous;
|
|
33
|
-
}
|
|
34
46
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
counter
|
|
44
|
-
|
|
47
|
+
exports.makeLineIterator = makeLineIterator;
|
|
48
|
+
/**
|
|
49
|
+
* @param lineIterator async iterable yielding lines
|
|
50
|
+
* @returns async iterable yielding numbered lines
|
|
51
|
+
*
|
|
52
|
+
* See http://2ality.com/2018/04/async-iter-nodejs.html
|
|
53
|
+
*/
|
|
54
|
+
async function* makeNumberedLineIterator(lineIterator) {
|
|
55
|
+
let counter = 1;
|
|
56
|
+
for await (const line of lineIterator) {
|
|
57
|
+
yield { counter, line };
|
|
58
|
+
counter++;
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
|
-
|
|
61
|
+
exports.makeNumberedLineIterator = makeNumberedLineIterator;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* Convert Buffer to ArrayBuffer
|
|
4
|
+
* Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
5
|
+
* @todo better data type
|
|
6
|
+
*/
|
|
7
|
+
export declare function toArrayBuffer(buffer: any): any;
|
|
8
|
+
/**
|
|
9
|
+
* Convert (copy) ArrayBuffer to Buffer
|
|
10
|
+
*/
|
|
11
|
+
export declare function toBuffer(binaryData: ArrayBuffer | ArrayBuffer | Buffer): Buffer;
|
|
12
|
+
//# sourceMappingURL=buffer.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.browser.d.ts","sourceRoot":"","sources":["../../../src/lib/node/buffer.browser.ts"],"names":[],"mappings":";AAKA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,KAAA,OAEnC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAE/E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.toBuffer = exports.toArrayBuffer = void 0;
|
|
5
|
+
// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)
|
|
6
|
+
// this file is selected by the package.json "browser" field).
|
|
7
|
+
/**
|
|
8
|
+
* Convert Buffer to ArrayBuffer
|
|
9
|
+
* Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
10
|
+
* @todo better data type
|
|
11
|
+
*/
|
|
12
|
+
function toArrayBuffer(buffer) {
|
|
13
|
+
return buffer;
|
|
14
|
+
}
|
|
15
|
+
exports.toArrayBuffer = toArrayBuffer;
|
|
16
|
+
/**
|
|
17
|
+
* Convert (copy) ArrayBuffer to Buffer
|
|
18
|
+
*/
|
|
19
|
+
function toBuffer(binaryData) {
|
|
20
|
+
throw new Error('Buffer not supported in browser');
|
|
21
|
+
}
|
|
22
|
+
exports.toBuffer = toBuffer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* Convert Buffer to ArrayBuffer
|
|
4
|
+
* Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
5
|
+
* @todo better data type
|
|
6
|
+
*/
|
|
7
|
+
export declare function toArrayBuffer(buffer: any): any;
|
|
8
|
+
/**
|
|
9
|
+
* Convert (copy) ArrayBuffer to Buffer
|
|
10
|
+
*/
|
|
11
|
+
export declare function toBuffer(binaryData: ArrayBuffer | ArrayBuffer | Buffer): Buffer;
|
|
12
|
+
//# sourceMappingURL=buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../../src/lib/node/buffer.ts"],"names":[],"mappings":";AAKA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,KAAA,OAOnC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAc/E"}
|
package/dist/lib/node/buffer.js
CHANGED
|
@@ -1,28 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const view = new Uint8Array(binaryData);
|
|
18
|
-
|
|
19
|
-
for (let i = 0; i < buffer.length; ++i) {
|
|
20
|
-
buffer[i] = view[i];
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.toBuffer = exports.toArrayBuffer = void 0;
|
|
5
|
+
// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)
|
|
6
|
+
// this file is selected by the package.json "browser" field).
|
|
7
|
+
/**
|
|
8
|
+
* Convert Buffer to ArrayBuffer
|
|
9
|
+
* Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
10
|
+
* @todo better data type
|
|
11
|
+
*/
|
|
12
|
+
function toArrayBuffer(buffer) {
|
|
13
|
+
// TODO - per docs we should just be able to call buffer.buffer, but there are issues
|
|
14
|
+
if (Buffer.isBuffer(buffer)) {
|
|
15
|
+
const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
16
|
+
return typedArray.slice().buffer;
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
return buffer;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return assert(false);
|
|
27
19
|
}
|
|
28
|
-
|
|
20
|
+
exports.toArrayBuffer = toArrayBuffer;
|
|
21
|
+
/**
|
|
22
|
+
* Convert (copy) ArrayBuffer to Buffer
|
|
23
|
+
*/
|
|
24
|
+
function toBuffer(binaryData) {
|
|
25
|
+
if (Buffer.isBuffer(binaryData)) {
|
|
26
|
+
return binaryData;
|
|
27
|
+
}
|
|
28
|
+
if (ArrayBuffer.isView(binaryData)) {
|
|
29
|
+
binaryData = binaryData.buffer;
|
|
30
|
+
}
|
|
31
|
+
if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {
|
|
32
|
+
return Buffer.from(binaryData);
|
|
33
|
+
}
|
|
34
|
+
throw new Error('toBuffer');
|
|
35
|
+
}
|
|
36
|
+
exports.toBuffer = toBuffer;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
export type { Stats, WriteStream } from 'fs';
|
|
3
|
+
export declare let readdir: any;
|
|
4
|
+
/** Wrapper for Node.js fs method */
|
|
5
|
+
export declare let stat: any;
|
|
6
|
+
/** Wrapper for Node.js fs method */
|
|
7
|
+
export declare let readFile: any;
|
|
8
|
+
/** Wrapper for Node.js fs method */
|
|
9
|
+
export declare let readFileSync: any;
|
|
10
|
+
/** Wrapper for Node.js fs method */
|
|
11
|
+
export declare let writeFile: any;
|
|
12
|
+
/** Wrapper for Node.js fs method */
|
|
13
|
+
export declare let writeFileSync: any;
|
|
14
|
+
/** Wrapper for Node.js fs method */
|
|
15
|
+
export declare let open: any;
|
|
16
|
+
/** Wrapper for Node.js fs method */
|
|
17
|
+
export declare let close: (fd: number) => Promise<void>;
|
|
18
|
+
/** Wrapper for Node.js fs method */
|
|
19
|
+
export declare let read: any;
|
|
20
|
+
/** Wrapper for Node.js fs method */
|
|
21
|
+
export declare let fstat: any;
|
|
22
|
+
export declare let createWriteStream: typeof fs.createWriteStream;
|
|
23
|
+
export declare let isSupported: boolean;
|
|
24
|
+
export declare function _readToArrayBuffer(fd: number, start: number, length: number): Promise<any>;
|
|
25
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/lib/node/fs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,YAAY,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,IAAI,CAAC;AAE3C,eAAO,IAAI,OAAO,KAAA,CAAC;AACnB,oCAAoC;AACpC,eAAO,IAAI,IAAI,KAAA,CAAC;AAEhB,oCAAoC;AACpC,eAAO,IAAI,QAAQ,KAAA,CAAC;AACpB,oCAAoC;AACpC,eAAO,IAAI,YAAY,KAAA,CAAC;AACxB,oCAAoC;AACpC,eAAO,IAAI,SAAS,KAAA,CAAC;AACrB,oCAAoC;AACpC,eAAO,IAAI,aAAa,KAAA,CAAC;AAIzB,oCAAoC;AACpC,eAAO,IAAI,IAAI,KAAA,CAAC;AAChB,oCAAoC;AACpC,eAAO,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAChD,oCAAoC;AACpC,eAAO,IAAI,IAAI,KAAA,CAAC;AAChB,oCAAoC;AACpC,eAAO,IAAI,KAAK,KAAA,CAAC;AAEjB,eAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAE1D,eAAO,IAAI,WAAW,SAAc,CAAC;AAsCrC,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAOjF"}
|
package/dist/lib/node/fs.js
CHANGED
|
@@ -1,27 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._readToArrayBuffer = exports.isSupported = exports.createWriteStream = exports.fstat = exports.read = exports.close = exports.open = exports.writeFileSync = exports.writeFile = exports.readFileSync = exports.readFile = exports.stat = exports.readdir = void 0;
|
|
7
|
+
// fs wrapper (promisified fs + avoids bundling fs in browsers)
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const buffer_1 = require("./buffer");
|
|
10
|
+
const promisify_1 = require("./promisify");
|
|
11
|
+
exports.isSupported = Boolean(fs_1.default);
|
|
12
|
+
// paths
|
|
13
|
+
try {
|
|
14
|
+
/** Wrapper for Node.js fs method */
|
|
15
|
+
exports.readdir = (0, promisify_1.promisify2)(fs_1.default.readdir);
|
|
16
|
+
/** Wrapper for Node.js fs method */
|
|
17
|
+
exports.stat = (0, promisify_1.promisify2)(fs_1.default.stat);
|
|
18
|
+
/** Wrapper for Node.js fs method */
|
|
19
|
+
exports.readFile = fs_1.default.readFile;
|
|
20
|
+
/** Wrapper for Node.js fs method */
|
|
21
|
+
exports.readFileSync = fs_1.default.readFileSync;
|
|
22
|
+
/** Wrapper for Node.js fs method */
|
|
23
|
+
exports.writeFile = (0, promisify_1.promisify3)(fs_1.default.writeFile);
|
|
24
|
+
/** Wrapper for Node.js fs method */
|
|
25
|
+
exports.writeFileSync = fs_1.default.writeFileSync;
|
|
26
|
+
// file descriptors
|
|
27
|
+
/** Wrapper for Node.js fs method */
|
|
28
|
+
exports.open = fs_1.default.open;
|
|
29
|
+
/** Wrapper for Node.js fs method */
|
|
30
|
+
exports.close = (fd) => new Promise((resolve, reject) => fs_1.default.close(fd, (err) => (err ? reject(err) : resolve())));
|
|
31
|
+
/** Wrapper for Node.js fs method */
|
|
32
|
+
exports.read = fs_1.default.read;
|
|
33
|
+
/** Wrapper for Node.js fs method */
|
|
34
|
+
exports.fstat = fs_1.default.fstat;
|
|
35
|
+
exports.createWriteStream = fs_1.default.createWriteStream;
|
|
36
|
+
exports.isSupported = Boolean(fs_1.default);
|
|
26
37
|
}
|
|
27
|
-
|
|
38
|
+
catch {
|
|
39
|
+
// ignore
|
|
40
|
+
}
|
|
41
|
+
async function _readToArrayBuffer(fd, start, length) {
|
|
42
|
+
const buffer = Buffer.alloc(length);
|
|
43
|
+
const { bytesRead } = await (0, exports.read)(fd, buffer, 0, length, start);
|
|
44
|
+
if (bytesRead !== length) {
|
|
45
|
+
throw new Error('fs.read failed');
|
|
46
|
+
}
|
|
47
|
+
return (0, buffer_1.toArrayBuffer)(buffer);
|
|
48
|
+
}
|
|
49
|
+
exports._readToArrayBuffer = _readToArrayBuffer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Wrapper for Node.js promisify */
|
|
2
|
+
type Callback<A> = (error: unknown, args: A) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Typesafe promisify implementation
|
|
5
|
+
* @link https://dev.to/_gdelgado/implement-a-type-safe-version-of-node-s-promisify-in-7-lines-of-code-in-typescript-2j34
|
|
6
|
+
* @param fn
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function promisify1<T, A>(fn: (args: T, cb: Callback<A>) => void): (args: T) => Promise<A>;
|
|
10
|
+
export declare function promisify2<T1, T2, A>(fn: (arg1: T1, arg2: T2, cb: Callback<A>) => void): (arg1: T1, arg2: T2) => Promise<A>;
|
|
11
|
+
export declare function promisify3<T1, T2, T3, A>(fn: (arg1: T1, arg2: T2, arg3: T3, cb: Callback<A>) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<A>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=promisify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promisify.d.ts","sourceRoot":"","sources":["../../../src/lib/node/promisify.ts"],"names":[],"mappings":"AAqCA,oCAAoC;AACpC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAKhG;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAClC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAChD,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAKpC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACtC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAC1D,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAK9C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.promisify3 = exports.promisify2 = exports.promisify1 = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Typesafe promisify implementation
|
|
7
|
+
* @link https://dev.to/_gdelgado/implement-a-type-safe-version-of-node-s-promisify-in-7-lines-of-code-in-typescript-2j34
|
|
8
|
+
* @param fn
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
function promisify1(fn) {
|
|
12
|
+
return (args) => new Promise((resolve, reject) => fn(args, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs))));
|
|
13
|
+
}
|
|
14
|
+
exports.promisify1 = promisify1;
|
|
15
|
+
function promisify2(fn) {
|
|
16
|
+
return (arg1, arg2) => new Promise((resolve, reject) => fn(arg1, arg2, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs))));
|
|
17
|
+
}
|
|
18
|
+
exports.promisify2 = promisify2;
|
|
19
|
+
function promisify3(fn) {
|
|
20
|
+
return (arg1, arg2, arg3) => new Promise((resolve, reject) => fn(arg1, arg2, arg3, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs))));
|
|
21
|
+
}
|
|
22
|
+
exports.promisify3 = promisify3;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/lib/node/stream.ts"],"names":[],"mappings":"AAIA,YAAY,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAErC,eAAO,IAAI,SAAS,KAAA,CAAC;AAErB,eAAO,MAAM,WAAW,SAAkB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isSupported = exports.Transform = void 0;
|
|
8
|
+
const stream_1 = __importDefault(require("stream"));
|
|
9
|
+
exports.isSupported = Boolean(stream_1.default);
|
|
10
|
+
// paths
|
|
11
|
+
try {
|
|
12
|
+
/** Wrapper for Node.js fs method */
|
|
13
|
+
exports.Transform = stream_1.default.Transform;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// ignore
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LoaderOptions } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param baseOptions Can be undefined, in which case a fresh options object will be minted
|
|
5
|
+
* @param newOptions
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function mergeLoaderOptions<Options extends LoaderOptions>(baseOptions: Options | undefined, newOptions: Options): Options;
|
|
9
|
+
//# sourceMappingURL=merge-loader-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-loader-options.d.ts","sourceRoot":"","sources":["../../../src/lib/option-utils/merge-loader-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,aAAa,EAC9D,WAAW,EAAE,OAAO,GAAG,SAAS,EAChC,UAAU,EAAE,OAAO,GAClB,OAAO,CAET"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.mergeLoaderOptions = void 0;
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @param baseOptions Can be undefined, in which case a fresh options object will be minted
|
|
8
|
+
* @param newOptions
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
function mergeLoaderOptions(baseOptions, newOptions) {
|
|
12
|
+
return mergeOptionsRecursively(baseOptions || {}, newOptions);
|
|
13
|
+
}
|
|
14
|
+
exports.mergeLoaderOptions = mergeLoaderOptions;
|
|
15
|
+
function mergeOptionsRecursively(baseOptions, newOptions) {
|
|
16
|
+
const options = { ...baseOptions };
|
|
17
|
+
for (const [key, newValue] of Object.entries(newOptions)) {
|
|
18
|
+
if (newValue && typeof newValue === 'object') {
|
|
19
|
+
options[key] = mergeOptionsRecursively(options[key] || {}, newOptions[key]);
|
|
20
|
+
// Object.assign(options[key] as object, newOptions[key]);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
options[key] = newOptions[key];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return options;
|
|
27
|
+
}
|