@loaders.gl/loader-utils 3.4.0-alpha.1 → 3.4.0-alpha.2
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 +43 -22
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/json-loader.js +1 -1
- package/dist/es5/lib/binary-utils/array-buffer-utils.js +0 -30
- package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -1
- package/dist/es5/lib/binary-utils/{binary-copy-utils.js → dataview-copy-utils.js} +33 -1
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js +2 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -1
- package/dist/es5/lib/binary-utils/{buffer-utils.js → memory-conversion-utils.js} +26 -7
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/es5/lib/filesystems/readable-file.js +100 -0
- package/dist/es5/lib/filesystems/readable-file.js.map +1 -0
- package/dist/es5/lib/filesystems/writable-file.js +89 -0
- package/dist/es5/lib/filesystems/writable-file.js.map +1 -0
- package/dist/es5/lib/node/buffer.browser.js +16 -0
- package/dist/es5/lib/node/buffer.browser.js.map +1 -0
- package/dist/es5/lib/node/buffer.js +5 -8
- package/dist/es5/lib/node/buffer.js.map +1 -1
- package/dist/es5/lib/node/fs.js +19 -10
- package/dist/es5/lib/node/fs.js.map +1 -1
- package/dist/es5/lib/node/promisify.js +37 -0
- package/dist/es5/lib/node/promisify.js.map +1 -0
- package/dist/es5/lib/node/stream.js +20 -0
- package/dist/es5/lib/node/stream.js.map +1 -0
- package/dist/es5/lib/option-utils/merge-loader-options.js +29 -0
- package/dist/es5/lib/option-utils/merge-loader-options.js.map +1 -0
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/index.js +12 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json-loader.js +1 -1
- package/dist/esm/lib/binary-utils/array-buffer-utils.js +0 -27
- package/dist/esm/lib/binary-utils/array-buffer-utils.js.map +1 -1
- package/dist/esm/lib/binary-utils/{binary-copy-utils.js → dataview-copy-utils.js} +31 -1
- package/dist/esm/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js +3 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js.map +1 -1
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js +38 -0
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/esm/lib/filesystems/readable-file.js +22 -0
- package/dist/esm/lib/filesystems/readable-file.js.map +1 -0
- package/dist/esm/lib/filesystems/writable-file.js +21 -0
- package/dist/esm/lib/filesystems/writable-file.js.map +1 -0
- package/dist/esm/lib/node/buffer.browser.js +10 -0
- package/dist/esm/lib/node/buffer.browser.js.map +1 -0
- package/dist/esm/lib/node/buffer.js +5 -9
- package/dist/esm/lib/node/buffer.js.map +1 -1
- package/dist/esm/lib/node/fs.js +11 -9
- package/dist/esm/lib/node/fs.js.map +1 -1
- package/dist/esm/lib/node/promisify.js +12 -0
- package/dist/esm/lib/node/promisify.js.map +1 -0
- package/dist/esm/lib/node/stream.js +11 -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/types.js.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -23
- package/dist/lib/binary-utils/array-buffer-utils.d.ts +4 -8
- package/dist/lib/binary-utils/array-buffer-utils.d.ts.map +1 -1
- package/dist/lib/binary-utils/array-buffer-utils.js +5 -36
- 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/{binary-copy-utils.js → dataview-copy-utils.js} +51 -5
- package/dist/lib/binary-utils/get-first-characters.d.ts +15 -1
- package/dist/lib/binary-utils/get-first-characters.d.ts.map +1 -1
- package/dist/lib/binary-utils/get-first-characters.js +15 -0
- package/dist/lib/binary-utils/{buffer-utils.d.ts → memory-conversion-utils.d.ts} +3 -4
- package/dist/lib/binary-utils/memory-conversion-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/{buffer-utils.js → memory-conversion-utils.js} +28 -9
- 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/{node/util.js → filesystems/writable-file.js} +23 -4
- 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 +3 -1
- package/dist/lib/node/buffer.d.ts.map +1 -1
- package/dist/lib/node/buffer.js +10 -10
- package/dist/lib/node/fs.d.ts +4 -2
- package/dist/lib/node/fs.d.ts.map +1 -1
- package/dist/lib/node/fs.js +11 -10
- 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 +24 -0
- package/dist/types.d.ts +19 -19
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -17
- package/src/index.ts +24 -18
- 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 +16 -11
- 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 +25 -0
- package/src/types.ts +19 -19
- package/dist/es5/lib/binary-utils/binary-copy-utils.js.map +0 -1
- package/dist/es5/lib/binary-utils/buffer-utils.js.map +0 -1
- package/dist/es5/lib/binary-utils/encode-utils.js +0 -36
- package/dist/es5/lib/binary-utils/encode-utils.js.map +0 -1
- package/dist/es5/lib/node/util.js +0 -13
- package/dist/es5/lib/node/util.js.map +0 -1
- package/dist/esm/lib/binary-utils/binary-copy-utils.js.map +0 -1
- package/dist/esm/lib/binary-utils/buffer-utils.js +0 -18
- package/dist/esm/lib/binary-utils/buffer-utils.js.map +0 -1
- package/dist/esm/lib/binary-utils/encode-utils.js +0 -29
- package/dist/esm/lib/binary-utils/encode-utils.js.map +0 -1
- package/dist/esm/lib/node/util.js +0 -4
- package/dist/esm/lib/node/util.js.map +0 -1
- package/dist/lib/binary-utils/binary-copy-utils.d.ts +0 -24
- package/dist/lib/binary-utils/binary-copy-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/buffer-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/encode-utils.d.ts +0 -4
- package/dist/lib/binary-utils/encode-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/encode-utils.js +0 -35
- package/dist/lib/node/util.d.ts +0 -5
- package/dist/lib/node/util.d.ts.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,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.makeWritableFile = makeWritableFile;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _globals = require("../env-utils/globals");
|
|
12
|
+
var fs = _interopRequireWildcard(require("../node/fs"));
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
|
|
16
|
+
function makeWritableFile(pathOrStream, options) {
|
|
17
|
+
if (_globals.isBrowser) {
|
|
18
|
+
return {
|
|
19
|
+
write: function () {
|
|
20
|
+
var _write = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
21
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
22
|
+
while (1) {
|
|
23
|
+
switch (_context.prev = _context.next) {
|
|
24
|
+
case 0:
|
|
25
|
+
case "end":
|
|
26
|
+
return _context.stop();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, _callee);
|
|
30
|
+
}));
|
|
31
|
+
function write() {
|
|
32
|
+
return _write.apply(this, arguments);
|
|
33
|
+
}
|
|
34
|
+
return write;
|
|
35
|
+
}(),
|
|
36
|
+
close: function () {
|
|
37
|
+
var _close = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
38
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
39
|
+
while (1) {
|
|
40
|
+
switch (_context2.prev = _context2.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context2.stop();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}, _callee2);
|
|
47
|
+
}));
|
|
48
|
+
function close() {
|
|
49
|
+
return _close.apply(this, arguments);
|
|
50
|
+
}
|
|
51
|
+
return close;
|
|
52
|
+
}()
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
var outputStream = typeof pathOrStream === 'string' ? fs.createWriteStream(pathOrStream, options) : pathOrStream;
|
|
56
|
+
return {
|
|
57
|
+
write: function () {
|
|
58
|
+
var _write2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(buffer) {
|
|
59
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
60
|
+
while (1) {
|
|
61
|
+
switch (_context3.prev = _context3.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
return _context3.abrupt("return", new Promise(function (resolve, reject) {
|
|
64
|
+
outputStream.write(buffer, function (err) {
|
|
65
|
+
return err ? reject(err) : resolve();
|
|
66
|
+
});
|
|
67
|
+
}));
|
|
68
|
+
case 1:
|
|
69
|
+
case "end":
|
|
70
|
+
return _context3.stop();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}, _callee3);
|
|
74
|
+
}));
|
|
75
|
+
function write(_x) {
|
|
76
|
+
return _write2.apply(this, arguments);
|
|
77
|
+
}
|
|
78
|
+
return write;
|
|
79
|
+
}(),
|
|
80
|
+
close: function close() {
|
|
81
|
+
return new Promise(function (resolve, reject) {
|
|
82
|
+
outputStream.close(function (err) {
|
|
83
|
+
return err ? reject(err) : resolve();
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=writable-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writable-file.js","names":["makeWritableFile","pathOrStream","options","isBrowser","write","close","outputStream","fs","createWriteStream","buffer","Promise","resolve","reject","err"],"sources":["../../../../src/lib/filesystems/writable-file.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {isBrowser} from '../env-utils/globals';\nimport * as fs from '../node/fs';\nimport type {Writable} from 'stream';\n\nexport type WritableFile = {\n write: (buf: Buffer) => Promise<void>;\n close: () => Promise<void>;\n};\n\nexport interface WriteStreamOptions {\n flags?: string;\n encoding?: 'utf8';\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/** Helper function to create an envelope reader for a binary memory input */\nexport function makeWritableFile(\n pathOrStream: string | Writable,\n options?: WriteStreamOptions\n): WritableFile {\n if (isBrowser) {\n return {\n write: async () => {},\n close: async () => {}\n };\n }\n\n const outputStream: Writable =\n typeof pathOrStream === 'string' ? fs.createWriteStream(pathOrStream, options) : pathOrStream;\n return {\n write: async (buffer: Buffer) =>\n new Promise((resolve, reject) => {\n outputStream.write(buffer, (err) => (err ? reject(err) : resolve()));\n }),\n close: () =>\n new Promise((resolve, reject) => {\n (outputStream as any).close((err) => (err ? reject(err) : resolve()));\n })\n };\n}\n"],"mappings":";;;;;;;;;;AACA;AACA;AAAiC;AAAA;;AAkB1B,SAASA,gBAAgB,CAC9BC,YAA+B,EAC/BC,OAA4B,EACd;EACd,IAAIC,kBAAS,EAAE;IACb,OAAO;MACLC,KAAK;QAAA,uEAAE;UAAA;YAAA;cAAA;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAc;QAAA;UAAA;QAAA;QAAA;MAAA;MACrBC,KAAK;QAAA,uEAAE;UAAA;YAAA;cAAA;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAc;QAAA;UAAA;QAAA;QAAA;MAAA;IACvB,CAAC;EACH;EAEA,IAAMC,YAAsB,GAC1B,OAAOL,YAAY,KAAK,QAAQ,GAAGM,EAAE,CAACC,iBAAiB,CAACP,YAAY,EAAEC,OAAO,CAAC,GAAGD,YAAY;EAC/F,OAAO;IACLG,KAAK;MAAA,wEAAE,kBAAOK,MAAc;QAAA;UAAA;YAAA;cAAA;gBAAA,kCAC1B,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;kBAC/BN,YAAY,CAACF,KAAK,CAACK,MAAM,EAAE,UAACI,GAAG;oBAAA,OAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,EAAE;kBAAA,CAAC,CAAC;gBACtE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;MAAA;QAAA;MAAA;MAAA;IAAA;IACJN,KAAK,EAAE;MAAA,OACL,IAAIK,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;QAC9BN,YAAY,CAASD,KAAK,CAAC,UAACQ,GAAG;UAAA,OAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,EAAE;QAAA,CAAC,CAAC;MACvE,CAAC,CAAC;IAAA;EACN,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.toArrayBuffer = toArrayBuffer;
|
|
7
|
+
exports.toBuffer = toBuffer;
|
|
8
|
+
|
|
9
|
+
function toArrayBuffer(buffer) {
|
|
10
|
+
return buffer;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function toBuffer(binaryData) {
|
|
14
|
+
throw new Error('Buffer not supported in browser');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=buffer.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.browser.js","names":["toArrayBuffer","buffer","toBuffer","binaryData","Error"],"sources":["../../../../src/lib/node/buffer.browser.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)\n// this file is selected by the package.json \"browser\" field).\n\n/**\n * Convert Buffer to ArrayBuffer\n * Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function toArrayBuffer(buffer) {\n return buffer;\n}\n\n/**\n * Convert (copy) ArrayBuffer to Buffer\n */\nexport function toBuffer(binaryData: ArrayBuffer | ArrayBuffer | Buffer): Buffer {\n throw new Error('Buffer not supported in browser');\n}\n"],"mappings":";;;;;;;;AAUO,SAASA,aAAa,CAACC,MAAM,EAAE;EACpC,OAAOA,MAAM;AACf;;AAKO,SAASC,QAAQ,CAACC,UAA8C,EAAU;EAC/E,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;AACpD"}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.toArrayBuffer = toArrayBuffer;
|
|
7
7
|
exports.toBuffer = toBuffer;
|
|
8
|
-
var _assert = require("../env-utils/assert");
|
|
9
8
|
|
|
10
9
|
function toArrayBuffer(buffer) {
|
|
11
10
|
if (Buffer.isBuffer(buffer)) {
|
|
@@ -16,17 +15,15 @@ function toArrayBuffer(buffer) {
|
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
function toBuffer(binaryData) {
|
|
18
|
+
if (Buffer.isBuffer(binaryData)) {
|
|
19
|
+
return binaryData;
|
|
20
|
+
}
|
|
19
21
|
if (ArrayBuffer.isView(binaryData)) {
|
|
20
22
|
binaryData = binaryData.buffer;
|
|
21
23
|
}
|
|
22
24
|
if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {
|
|
23
|
-
|
|
24
|
-
var view = new Uint8Array(binaryData);
|
|
25
|
-
for (var i = 0; i < buffer.length; ++i) {
|
|
26
|
-
buffer[i] = view[i];
|
|
27
|
-
}
|
|
28
|
-
return buffer;
|
|
25
|
+
return Buffer.from(binaryData);
|
|
29
26
|
}
|
|
30
|
-
|
|
27
|
+
throw new Error('toBuffer');
|
|
31
28
|
}
|
|
32
29
|
//# sourceMappingURL=buffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","binaryData","ArrayBuffer","isView","
|
|
1
|
+
{"version":3,"file":"buffer.js","names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","binaryData","ArrayBuffer","isView","from","Error"],"sources":["../../../../src/lib/node/buffer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)\n// this file is selected by the package.json \"browser\" field).\n\n/**\n * Convert Buffer to ArrayBuffer\n * Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function toArrayBuffer(buffer) {\n // TODO - per docs we should just be able to call buffer.buffer, but there are issues\n if (Buffer.isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n\n/**\n * Convert (copy) ArrayBuffer to Buffer\n */\nexport function toBuffer(binaryData: ArrayBuffer | ArrayBuffer | Buffer): Buffer {\n if (Buffer.isBuffer(binaryData)) {\n return binaryData;\n }\n\n if (ArrayBuffer.isView(binaryData)) {\n binaryData = binaryData.buffer;\n }\n\n if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {\n return Buffer.from(binaryData);\n }\n\n throw new Error('toBuffer');\n}\n"],"mappings":";;;;;;;;AAUO,SAASA,aAAa,CAACC,MAAM,EAAE;EAEpC,IAAIC,MAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,IAAMG,UAAU,GAAG,IAAIC,UAAU,CAACJ,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACK,UAAU,EAAEL,MAAM,CAACM,MAAM,CAAC;IAClF,OAAOH,UAAU,CAACI,KAAK,EAAE,CAACP,MAAM;EAClC;EACA,OAAOA,MAAM;AACf;;AAKO,SAASQ,QAAQ,CAACC,UAA8C,EAAU;EAC/E,IAAIR,MAAM,CAACC,QAAQ,CAACO,UAAU,CAAC,EAAE;IAC/B,OAAOA,UAAU;EACnB;EAEA,IAAIC,WAAW,CAACC,MAAM,CAACF,UAAU,CAAC,EAAE;IAClCA,UAAU,GAAGA,UAAU,CAACT,MAAM;EAChC;EAEA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIQ,UAAU,YAAYC,WAAW,EAAE;IACtE,OAAOT,MAAM,CAACW,IAAI,CAACH,UAAU,CAAC;EAChC;EAEA,MAAM,IAAII,KAAK,CAAC,UAAU,CAAC;AAC7B"}
|
package/dist/es5/lib/node/fs.js
CHANGED
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports._readToArrayBuffer = _readToArrayBuffer;
|
|
8
|
-
exports.writeFileSync = exports.writeFile = exports.stat = exports.readdir = exports.readFileSync = exports.readFile = exports.read = exports.open = exports.isSupported = exports.fstat = exports.close = void 0;
|
|
8
|
+
exports.writeFileSync = exports.writeFile = exports.stat = exports.readdir = exports.readFileSync = exports.readFile = exports.read = exports.open = exports.isSupported = exports.fstat = exports.createWriteStream = exports.close = void 0;
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
11
|
var _fs = _interopRequireDefault(require("fs"));
|
|
12
12
|
var _buffer = require("./buffer");
|
|
13
|
-
var
|
|
13
|
+
var _promisify = require("./promisify");
|
|
14
14
|
|
|
15
15
|
var readdir;
|
|
16
16
|
exports.readdir = readdir;
|
|
@@ -35,23 +35,32 @@ var read;
|
|
|
35
35
|
exports.read = read;
|
|
36
36
|
var fstat;
|
|
37
37
|
exports.fstat = fstat;
|
|
38
|
+
var createWriteStream;
|
|
39
|
+
exports.createWriteStream = createWriteStream;
|
|
38
40
|
var isSupported = Boolean(_fs.default);
|
|
39
41
|
|
|
40
42
|
exports.isSupported = isSupported;
|
|
41
43
|
|
|
42
44
|
try {
|
|
43
|
-
exports.readdir = readdir = (0,
|
|
44
|
-
exports.stat = stat = (0,
|
|
45
|
+
exports.readdir = readdir = (0, _promisify.promisify2)(_fs.default.readdir);
|
|
46
|
+
exports.stat = stat = (0, _promisify.promisify2)(_fs.default.stat);
|
|
45
47
|
|
|
46
|
-
exports.readFile = readFile =
|
|
48
|
+
exports.readFile = readFile = _fs.default.readFile;
|
|
47
49
|
exports.readFileSync = readFileSync = _fs.default.readFileSync;
|
|
48
|
-
exports.writeFile = writeFile = (0,
|
|
50
|
+
exports.writeFile = writeFile = (0, _promisify.promisify3)(_fs.default.writeFile);
|
|
49
51
|
exports.writeFileSync = writeFileSync = _fs.default.writeFileSync;
|
|
50
52
|
|
|
51
|
-
exports.open = open =
|
|
52
|
-
exports.close = close =
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
exports.open = open = _fs.default.open;
|
|
54
|
+
exports.close = close = function close(fd) {
|
|
55
|
+
return new Promise(function (resolve, reject) {
|
|
56
|
+
return _fs.default.close(fd, function (err) {
|
|
57
|
+
return err ? reject(err) : resolve();
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
exports.read = read = _fs.default.read;
|
|
62
|
+
exports.fstat = fstat = _fs.default.fstat;
|
|
63
|
+
exports.createWriteStream = createWriteStream = _fs.default.createWriteStream;
|
|
55
64
|
exports.isSupported = isSupported = Boolean(_fs.default);
|
|
56
65
|
} catch (_unused) {
|
|
57
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","names":["readdir","stat","readFile","readFileSync","writeFile","writeFileSync","open","close","read","fstat","isSupported","Boolean","fs","
|
|
1
|
+
{"version":3,"file":"fs.js","names":["readdir","stat","readFile","readFileSync","writeFile","writeFileSync","open","close","read","fstat","createWriteStream","isSupported","Boolean","fs","promisify2","promisify3","fd","Promise","resolve","reject","err","_readToArrayBuffer","start","length","buffer","Buffer","alloc","bytesRead","Error","toArrayBuffer"],"sources":["../../../../src/lib/node/fs.ts"],"sourcesContent":["// fs wrapper (promisified fs + avoids bundling fs in browsers)\nimport fs from 'fs';\nimport {toArrayBuffer} from './buffer';\nimport {promisify2, promisify3} from './promisify';\n\nexport type {Stats, WriteStream} from 'fs';\n\nexport let readdir;\n/** Wrapper for Node.js fs method */\nexport let stat;\n\n/** Wrapper for Node.js fs method */\nexport let readFile;\n/** Wrapper for Node.js fs method */\nexport let readFileSync;\n/** Wrapper for Node.js fs method */\nexport let writeFile;\n/** Wrapper for Node.js fs method */\nexport let writeFileSync;\n\n// file descriptors\n\n/** Wrapper for Node.js fs method */\nexport let open;\n/** Wrapper for Node.js fs method */\nexport let close: (fd: number) => Promise<void>;\n/** Wrapper for Node.js fs method */\nexport let read;\n/** Wrapper for Node.js fs method */\nexport let fstat;\n\nexport let createWriteStream: typeof fs.createWriteStream;\n\nexport let isSupported = Boolean(fs);\n\n// paths\n\ntry {\n /** Wrapper for Node.js fs method */\n readdir = promisify2(fs.readdir);\n /** Wrapper for Node.js fs method */\n stat = promisify2(fs.stat);\n\n /** Wrapper for Node.js fs method */\n readFile = fs.readFile;\n /** Wrapper for Node.js fs method */\n readFileSync = fs.readFileSync;\n /** Wrapper for Node.js fs method */\n writeFile = promisify3(fs.writeFile);\n /** Wrapper for Node.js fs method */\n writeFileSync = fs.writeFileSync;\n\n // file descriptors\n\n /** Wrapper for Node.js fs method */\n open = fs.open;\n /** Wrapper for Node.js fs method */\n close = (fd: number) =>\n new Promise((resolve, reject) => fs.close(fd, (err) => (err ? reject(err) : resolve())));\n /** Wrapper for Node.js fs method */\n read = fs.read;\n /** Wrapper for Node.js fs method */\n fstat = fs.fstat;\n\n createWriteStream = fs.createWriteStream;\n\n isSupported = Boolean(fs);\n} catch {\n // ignore\n}\n\nexport async function _readToArrayBuffer(fd: number, start: number, length: number) {\n const buffer = Buffer.alloc(length);\n const {bytesRead} = await read(fd, buffer, 0, length, start);\n if (bytesRead !== length) {\n throw new Error('fs.read failed');\n }\n return toArrayBuffer(buffer);\n}\n"],"mappings":";;;;;;;;;;AACA;AACA;AACA;;AAIO,IAAIA,OAAO;AAAC;AAEZ,IAAIC,IAAI;;AAAC;AAGT,IAAIC,QAAQ;AAAC;AAEb,IAAIC,YAAY;AAAC;AAEjB,IAAIC,SAAS;AAAC;AAEd,IAAIC,aAAa;;AAAC;;AAKlB,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAoC;AAAC;AAEzC,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAK;AAAC;AAEV,IAAIC,iBAA8C;AAAC;AAEnD,IAAIC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;;AAAC;;AAIrC,IAAI;EAEF,kBAAAb,OAAO,GAAG,IAAAc,qBAAU,EAACD,WAAE,CAACb,OAAO,CAAC;EAEhC,eAAAC,IAAI,GAAG,IAAAa,qBAAU,EAACD,WAAE,CAACZ,IAAI,CAAC;;EAG1B,mBAAAC,QAAQ,GAAGW,WAAE,CAACX,QAAQ;EAEtB,uBAAAC,YAAY,GAAGU,WAAE,CAACV,YAAY;EAE9B,oBAAAC,SAAS,GAAG,IAAAW,qBAAU,EAACF,WAAE,CAACT,SAAS,CAAC;EAEpC,wBAAAC,aAAa,GAAGQ,WAAE,CAACR,aAAa;;EAKhC,eAAAC,IAAI,GAAGO,WAAE,CAACP,IAAI;EAEd,gBAAAC,KAAK,GAAG,eAACS,EAAU;IAAA,OACjB,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;MAAA,OAAKN,WAAE,CAACN,KAAK,CAACS,EAAE,EAAE,UAACI,GAAG;QAAA,OAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,EAAE;MAAA,CAAC,CAAC;IAAA,EAAC;EAAA;EAE1F,eAAAV,IAAI,GAAGK,WAAE,CAACL,IAAI;EAEd,gBAAAC,KAAK,GAAGI,WAAE,CAACJ,KAAK;EAEhB,4BAAAC,iBAAiB,GAAGG,WAAE,CAACH,iBAAiB;EAExC,sBAAAC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;AAC3B,CAAC,CAAC,gBAAM;AAER;AAAC,SAEqBQ,kBAAkB;EAAA;AAAA;AAAA;EAAA,gFAAjC,iBAAkCL,EAAU,EAAEM,KAAa,EAAEC,MAAc;IAAA;IAAA;MAAA;QAAA;UAAA;YAC1EC,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACH,MAAM,CAAC;YAAA;YAAA,OACTf,IAAI,CAACQ,EAAE,EAAEQ,MAAM,EAAE,CAAC,EAAED,MAAM,EAAED,KAAK,CAAC;UAAA;YAAA;YAArDK,SAAS,eAATA,SAAS;YAAA,MACZA,SAAS,KAAKJ,MAAM;cAAA;cAAA;YAAA;YAAA,MAChB,IAAIK,KAAK,CAAC,gBAAgB,CAAC;UAAA;YAAA,iCAE5B,IAAAC,qBAAa,EAACL,MAAM,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAC7B;EAAA;AAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.promisify1 = promisify1;
|
|
7
|
+
exports.promisify2 = promisify2;
|
|
8
|
+
exports.promisify3 = promisify3;
|
|
9
|
+
|
|
10
|
+
function promisify1(fn) {
|
|
11
|
+
return function (args) {
|
|
12
|
+
return new Promise(function (resolve, reject) {
|
|
13
|
+
return fn(args, function (error, callbackArgs) {
|
|
14
|
+
return error ? reject(error) : resolve(callbackArgs);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function promisify2(fn) {
|
|
20
|
+
return function (arg1, arg2) {
|
|
21
|
+
return new Promise(function (resolve, reject) {
|
|
22
|
+
return fn(arg1, arg2, function (error, callbackArgs) {
|
|
23
|
+
return error ? reject(error) : resolve(callbackArgs);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function promisify3(fn) {
|
|
29
|
+
return function (arg1, arg2, arg3) {
|
|
30
|
+
return new Promise(function (resolve, reject) {
|
|
31
|
+
return fn(arg1, arg2, arg3, function (error, callbackArgs) {
|
|
32
|
+
return error ? reject(error) : resolve(callbackArgs);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=promisify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promisify.js","names":["promisify1","fn","args","Promise","resolve","reject","error","callbackArgs","promisify2","arg1","arg2","promisify3","arg3"],"sources":["../../../../src/lib/node/promisify.ts"],"sourcesContent":["// @loaders.gl, MIT license\n\n// type Parameter1<T extends (arg1: any, ...args: unknown[]) => unknown> = T extends (\n// arg1: infer P,\n// ...args: unknown[]\n// ) => unknown\n// ? P\n// : never;\n\n// type Parameter2<T extends (arg1: unknown, arg2: any, ...args: unknown[]) => unknown> = T extends (\n// arg1: unknown,\n// arg2: infer P,\n// ...args: unknown[]\n// ) => unknown\n// ? P\n// : never;\n\n// type CallbackParameter2<\n// T extends (arg: unknown, cb: (error: any, value: any) => void) => unknown\n// > = T extends (arg: unknown, cb: (error: any, value: infer P) => void) => unknown ? P : never;\n\n// type CallbackParameter3<\n// T extends (arg: unknown, arg2: unknown, cb: (error: any, value: any) => void) => unknown\n// > = T extends (arg: unknown, arg2: unknown, cb: (error: any, value: infer P) => void) => unknown\n// ? P\n// : never;\n\n// /** Extract the parameters of a function type in a tuple */\n// export type Promisified<F extends (arg1, cb: (error: unknown, value: any) => void) => any> = (\n// arg1: Parameter1<F>\n// ) => Promise<CallbackParameter2<F>>;\n// /** Extract the parameters of a function type in a tuple */\n// export type Promisified2<F extends (arg1, arg2, cb: (error: unknown, value: any) => void) => any> = (\n// arg1: Parameter1<F>,\n// arg2: Parameter2<F>\n// ) => Promise<CallbackParameter3<F>>;\n\n/** Wrapper for Node.js promisify */\ntype Callback<A> = (error: unknown, args: A) => void;\n\n/**\n * Typesafe promisify implementation\n * @link https://dev.to/_gdelgado/implement-a-type-safe-version-of-node-s-promisify-in-7-lines-of-code-in-typescript-2j34\n * @param fn\n * @returns\n */\nexport function promisify1<T, A>(fn: (args: T, cb: Callback<A>) => void): (args: T) => Promise<A> {\n return (args: T) =>\n new Promise((resolve, reject) =>\n fn(args, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs)))\n );\n}\n\nexport function promisify2<T1, T2, A>(\n fn: (arg1: T1, arg2: T2, cb: Callback<A>) => void\n): (arg1: T1, arg2: T2) => Promise<A> {\n return (arg1: T1, arg2: T2) =>\n new Promise((resolve, reject) =>\n fn(arg1, arg2, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs)))\n );\n}\n\nexport function promisify3<T1, T2, T3, A>(\n fn: (arg1: T1, arg2: T2, arg3: T3, cb: Callback<A>) => void\n): (arg1: T1, arg2: T2, arg3: T3) => Promise<A> {\n return (arg1: T1, arg2: T2, arg3: T3) =>\n new Promise((resolve, reject) =>\n fn(arg1, arg2, arg3, (error, callbackArgs) => (error ? reject(error) : resolve(callbackArgs)))\n );\n}\n"],"mappings":";;;;;;;;;AA8CO,SAASA,UAAU,CAAOC,EAAsC,EAA2B;EAChG,OAAO,UAACC,IAAO;IAAA,OACb,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;MAAA,OAC1BJ,EAAE,CAACC,IAAI,EAAE,UAACI,KAAK,EAAEC,YAAY;QAAA,OAAMD,KAAK,GAAGD,MAAM,CAACC,KAAK,CAAC,GAAGF,OAAO,CAACG,YAAY,CAAC;MAAA,CAAC,CAAC;IAAA,EACnF;EAAA;AACL;AAEO,SAASC,UAAU,CACxBP,EAAiD,EACb;EACpC,OAAO,UAACQ,IAAQ,EAAEC,IAAQ;IAAA,OACxB,IAAIP,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;MAAA,OAC1BJ,EAAE,CAACQ,IAAI,EAAEC,IAAI,EAAE,UAACJ,KAAK,EAAEC,YAAY;QAAA,OAAMD,KAAK,GAAGD,MAAM,CAACC,KAAK,CAAC,GAAGF,OAAO,CAACG,YAAY,CAAC;MAAA,CAAC,CAAC;IAAA,EACzF;EAAA;AACL;AAEO,SAASI,UAAU,CACxBV,EAA2D,EACb;EAC9C,OAAO,UAACQ,IAAQ,EAAEC,IAAQ,EAAEE,IAAQ;IAAA,OAClC,IAAIT,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;MAAA,OAC1BJ,EAAE,CAACQ,IAAI,EAAEC,IAAI,EAAEE,IAAI,EAAE,UAACN,KAAK,EAAEC,YAAY;QAAA,OAAMD,KAAK,GAAGD,MAAM,CAACC,KAAK,CAAC,GAAGF,OAAO,CAACG,YAAY,CAAC;MAAA,CAAC,CAAC;IAAA,EAC/F;EAAA;AACL"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.isSupported = exports.Transform = void 0;
|
|
8
|
+
var _stream = _interopRequireDefault(require("stream"));
|
|
9
|
+
|
|
10
|
+
var Transform;
|
|
11
|
+
exports.Transform = Transform;
|
|
12
|
+
var isSupported = Boolean(_stream.default);
|
|
13
|
+
|
|
14
|
+
exports.isSupported = isSupported;
|
|
15
|
+
|
|
16
|
+
try {
|
|
17
|
+
exports.Transform = Transform = _stream.default.Transform;
|
|
18
|
+
} catch (_unused) {
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","names":["Transform","isSupported","Boolean","stream"],"sources":["../../../../src/lib/node/stream.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport stream from 'stream';\n\nexport type {Writable} from 'stream';\n\nexport let Transform;\n\nexport const isSupported = Boolean(stream);\n\n// paths\n\ntry {\n /** Wrapper for Node.js fs method */\n Transform = stream.Transform;\n} catch {\n // ignore\n}\n"],"mappings":";;;;;;;AAEA;;AAIO,IAAIA,SAAS;AAAC;AAEd,IAAMC,WAAW,GAAGC,OAAO,CAACC,eAAM,CAAC;;AAAC;;AAI3C,IAAI;EAEF,oBAAAH,SAAS,GAAGG,eAAM,CAACH,SAAS;AAC9B,CAAC,CAAC,gBAAM;AAER"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mergeLoaderOptions = mergeLoaderOptions;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
+
|
|
14
|
+
function mergeLoaderOptions(baseOptions, newOptions) {
|
|
15
|
+
var options = _objectSpread({}, baseOptions);
|
|
16
|
+
for (var _i = 0, _Object$entries = Object.entries(newOptions); _i < _Object$entries.length; _i++) {
|
|
17
|
+
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
18
|
+
key = _Object$entries$_i[0],
|
|
19
|
+
newValue = _Object$entries$_i[1];
|
|
20
|
+
if (newValue && (0, _typeof2.default)(newValue) === 'object') {
|
|
21
|
+
options[key] = options[key] || {};
|
|
22
|
+
Object.assign(options[key], newOptions[key]);
|
|
23
|
+
} else {
|
|
24
|
+
options[key] = newOptions[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return options;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=merge-loader-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-loader-options.js","names":["mergeLoaderOptions","baseOptions","newOptions","options","Object","entries","key","newValue","assign"],"sources":["../../../../src/lib/option-utils/merge-loader-options.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {LoaderOptions} from '../../types';\n\n/**\n *\n * @param baseOptions Can be undefined, in which case a fresh options object will be minted\n * @param newOptions\n * @returns\n */\nexport function mergeLoaderOptions<Options extends LoaderOptions>(\n baseOptions: Options | undefined,\n newOptions: Options\n): Options {\n const options = {...baseOptions};\n for (const [key, newValue] of Object.entries(newOptions)) {\n if (newValue && typeof newValue === 'object') {\n options[key] = options[key] || {};\n Object.assign(options[key] as object, newOptions[key]);\n } else {\n options[key] = newOptions[key];\n }\n }\n return options as Options;\n}\n"],"mappings":";;;;;;;;;;;;;AAUO,SAASA,kBAAkB,CAChCC,WAAgC,EAChCC,UAAmB,EACV;EACT,IAAMC,OAAO,qBAAOF,WAAW,CAAC;EAChC,mCAA8BG,MAAM,CAACC,OAAO,CAACH,UAAU,CAAC,qCAAE;IAArD;MAAOI,GAAG;MAAEC,QAAQ;IACvB,IAAIA,QAAQ,IAAI,sBAAOA,QAAQ,MAAK,QAAQ,EAAE;MAC5CJ,OAAO,CAACG,GAAG,CAAC,GAAGH,OAAO,CAACG,GAAG,CAAC,IAAI,CAAC,CAAC;MACjCF,MAAM,CAACI,MAAM,CAACL,OAAO,CAACG,GAAG,CAAC,EAAYJ,UAAU,CAACI,GAAG,CAAC,CAAC;IACxD,CAAC,MAAM;MACLH,OAAO,CAACG,GAAG,CAAC,GAAGJ,UAAU,CAACI,GAAG,CAAC;IAChC;EACF;EACA,OAAOH,OAAO;AAChB"}
|
package/dist/es5/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["// Typed arrays\n\nexport type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Int32Array\n | Uint32Array;\n\nexport type TypedFloatArray = Uint16Array | Float32Array | Float64Array;\n\nexport type TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type NumericArray = Array<number> | TypedIntArray | TypedFloatArray;\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\n/**\n * Core Loader Options\n */\nexport type LoaderOptions = {\n /** fetch options or a custom fetch function */\n fetch?: typeof fetch | FetchLike | RequestInit | null;\n /** Do not throw on errors */\n nothrow?: boolean;\n\n /** loader selection, search first for supplied mimeType */\n mimeType?: string;\n /** loader selection, provide fallback mimeType is server does not provide */\n fallbackMimeType?: string;\n /** loader selection, avoid searching registered loaders */\n ignoreRegisteredLoaders?: boolean;\n\n // general\n /** Experimental: Supply a logger to the parser */\n log?: any;\n\n // batched parsing\n\n /** Size of each batch. `auto` matches batches to size of incoming chunks */\n batchSize?: number | 'auto';\n /** Minimal amount of time between batches */\n batchDebounceMs?: number;\n /** Stop loading after a given number of rows (compare SQL limit clause) */\n limit?: 0;\n /** Experimental: Stop loading after reaching */\n _limitMB?: 0;\n /** Generate metadata batches */\n metadata?: boolean;\n /** Transforms to run on incoming batches */\n transforms?: TransformBatches[];\n\n // workers\n\n /** CDN load workers from */\n CDN?: string;\n /** Set to `false` to disable workers */\n worker?: boolean;\n /** Number of concurrent workers (per loader) on desktop browser */\n maxConcurrency?: number;\n /** Number of concurrent workers (per loader) on mobile browsers */\n maxMobileConcurrency?: number;\n /** Set to `false` to prevent reuse workers */\n reuseWorkers?: boolean;\n /** Whether to use workers under Node.js (experimental) */\n _nodeWorkers?: boolean;\n /** set to 'test' to run local worker */\n _workerType?: string;\n\n /** @deprecated `options.batchType` removed, Use `options.<loader>.type` instead */\n batchType?: 'row' | 'columnar' | 'arrow';\n /** @deprecated `options.throw removed`, Use `options.nothrow` instead */\n throws?: boolean;\n /** @deprecated `options.dataType` no longer used */\n dataType?:
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["// Typed arrays\n\nexport type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Int32Array\n | Uint32Array;\n\nexport type TypedFloatArray = Uint16Array | Float32Array | Float64Array;\n\nexport type TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type NumericArray = Array<number> | TypedIntArray | TypedFloatArray;\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\n/**\n * Core Loader Options\n */\nexport type LoaderOptions = {\n /** fetch options or a custom fetch function */\n fetch?: typeof fetch | FetchLike | RequestInit | null;\n /** Do not throw on errors */\n nothrow?: boolean;\n\n /** loader selection, search first for supplied mimeType */\n mimeType?: string;\n /** loader selection, provide fallback mimeType is server does not provide */\n fallbackMimeType?: string;\n /** loader selection, avoid searching registered loaders */\n ignoreRegisteredLoaders?: boolean;\n\n // general\n /** Experimental: Supply a logger to the parser */\n log?: any;\n\n // batched parsing\n\n /** Size of each batch. `auto` matches batches to size of incoming chunks */\n batchSize?: number | 'auto';\n /** Minimal amount of time between batches */\n batchDebounceMs?: number;\n /** Stop loading after a given number of rows (compare SQL limit clause) */\n limit?: 0;\n /** Experimental: Stop loading after reaching */\n _limitMB?: 0;\n /** Generate metadata batches */\n metadata?: boolean;\n /** Transforms to run on incoming batches */\n transforms?: TransformBatches[];\n\n // workers\n\n /** CDN load workers from */\n CDN?: string | null;\n /** Set to `false` to disable workers */\n worker?: boolean;\n /** Number of concurrent workers (per loader) on desktop browser */\n maxConcurrency?: number;\n /** Number of concurrent workers (per loader) on mobile browsers */\n maxMobileConcurrency?: number;\n /** Set to `false` to prevent reuse workers */\n reuseWorkers?: boolean;\n /** Whether to use workers under Node.js (experimental) */\n _nodeWorkers?: boolean;\n /** set to 'test' to run local worker */\n _workerType?: string;\n\n /** @deprecated `options.batchType` removed, Use `options.<loader>.type` instead */\n batchType?: 'row' | 'columnar' | 'arrow';\n /** @deprecated `options.throw removed`, Use `options.nothrow` instead */\n throws?: boolean;\n /** @deprecated `options.dataType` no longer used */\n dataType?: never;\n /** @deprecated `options.uri` no longer used */\n uri?: never;\n /** @deprecated `options.method` removed. Use `options.fetch.method` */\n method?: never;\n /** @deprecated `options.headers` removed. Use `options.fetch.headers` */\n headers?: never;\n /** @deprecated `options.body` removed. Use `options.fetch.body` */\n body?: never;\n /** @deprecated `options.mode` removed. Use `options.fetch.mode` */\n mode?: never;\n /** @deprecated `options.credentials` removed. Use `options.fetch.credentials` */\n credentials?: never;\n /** @deprecated `options.cache` removed. Use `options.fetch.cache` */\n cache?: never;\n /** @deprecated `options.redirect` removed. Use `options.fetch.redirect` */\n redirect?: never;\n /** @deprecated `options.referrer` removed. Use `options.fetch.referrer` */\n referrer?: never;\n /** @deprecated `options.referrerPolicy` removed. Use `options.fetch.referrerPolicy` */\n referrerPolicy?: never;\n /** @deprecated `options.integrity` removed. Use `options.fetch.integrity` */\n integrity?: never;\n /** @deprecated `options.keepalive` removed. Use `options.fetch.keepalive` */\n keepalive?: never;\n /** @deprecated `options.signal` removed. Use `options.fetch.signal` */\n signal?: never;\n\n // Accept other keys (loader options objects, e.g. `options.csv`, `options.json` ...)\n [loaderId: string]: unknown;\n};\n\ntype PreloadOptions = {\n [key: string]: unknown;\n};\n\n/**\n * A worker loader definition that can be used with `@loaders.gl/core` functions\n */\nexport type Loader = {\n // Worker\n name: string;\n id: string;\n module: string;\n version: string;\n worker?: string | boolean;\n options: LoaderOptions;\n deprecatedOptions?: object;\n // end Worker\n\n category?: string;\n extensions: string[];\n mimeTypes: string[];\n\n binary?: boolean;\n text?: boolean;\n\n tests?: (((ArrayBuffer) => boolean) | ArrayBuffer | string)[];\n\n // TODO - deprecated\n supported?: boolean;\n testText?: (string) => boolean;\n};\n\n/**\n * A \"bundled\" loader definition that can be used with `@loaders.gl/core` functions\n * If a worker loader is supported it will also be supported.\n */\nexport type LoaderWithParser = Loader & {\n // TODO - deprecated\n testText?: (string) => boolean;\n\n parse: Parse;\n preload?: Preload;\n parseSync?: ParseSync;\n parseText?: ParseText;\n parseTextSync?: ParseTextSync;\n parseInBatches?: ParseInBatches;\n parseFileInBatches?: ParseFileInBatches;\n};\n\n/** Options for writers */\nexport type WriterOptions = {\n /** worker source. If is set will be used instead of loading worker from the Internet */\n souce?: string | null;\n /** writer-specific options */\n [writerId: string]: any;\n};\n\n/**\n * A writer definition that can be used with `@loaders.gl/core` functions\n */\nexport type Writer = {\n name: string;\n\n id: string;\n module: string;\n version: string;\n worker?: string | boolean;\n\n options: WriterOptions;\n deprecatedOptions?: object;\n\n // TODO - are these are needed?\n binary?: boolean;\n extensions?: string[];\n mimeTypes?: string[];\n text?: boolean;\n\n encode?: Encode;\n encodeSync?: EncodeSync;\n encodeInBatches?: EncodeInBatches;\n encodeURLtoURL?: EncodeURLtoURL;\n encodeText?: EncodeText;\n};\n\nexport type LoaderContext = {\n loaders?: Loader[] | null;\n url?: string;\n\n fetch: typeof fetch | FetchLike;\n response?: Response;\n parse: (\n arrayBuffer: ArrayBuffer,\n loaders?,\n options?: LoaderOptions,\n context?: LoaderContext\n ) => Promise<any>;\n parseSync?: (\n arrayBuffer: ArrayBuffer,\n loaders?,\n options?: LoaderOptions,\n context?: LoaderContext\n ) => any;\n parseInBatches?: (\n iterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n loaders?,\n options?: LoaderOptions,\n context?: LoaderContext\n ) => AsyncIterable<any> | Promise<AsyncIterable<any>>;\n};\n\ntype Parse = (\n arrayBuffer: ArrayBuffer,\n options?: LoaderOptions,\n context?: LoaderContext\n) => Promise<any>;\ntype ParseSync = (\n arrayBuffer: ArrayBuffer,\n options?: LoaderOptions,\n context?: LoaderContext\n) => any;\ntype ParseText = (text: string, options?: LoaderOptions) => Promise<any>;\ntype ParseTextSync = (text: string, options?: LoaderOptions) => any;\ntype ParseInBatches = (\n iterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n options?: LoaderOptions,\n context?: LoaderContext\n) => AsyncIterable<any>;\ntype ParseFileInBatches = (\n file: Blob,\n options?: LoaderOptions,\n context?: LoaderContext\n) => AsyncIterable<any>;\n\ntype Encode = (data: any, options?: WriterOptions) => Promise<ArrayBuffer>;\ntype EncodeSync = (data: any, options?: WriterOptions) => ArrayBuffer;\n// TODO\ntype EncodeText = Function;\ntype EncodeInBatches = Function;\ntype EncodeURLtoURL = (\n inputUrl: string,\n outputUrl: string,\n options?: WriterOptions\n) => Promise<string>;\ntype Preload = (url: string, options?: PreloadOptions) => any;\n\nexport type TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/** Types that can be synchronously parsed */\nexport type SyncDataType = string | ArrayBuffer; // TODO File | Blob can be read synchronously...\n\n/** Types that can be parsed async */\nexport type DataType =\n | string\n | ArrayBuffer\n | File\n | Blob\n | Response\n | ReadableStream\n | Iterable<ArrayBuffer>\n | AsyncIterable<ArrayBuffer>;\n\n/** Types that can be parsed in batches */\nexport type BatchableDataType =\n | DataType\n | Iterable<ArrayBuffer>\n | AsyncIterable<ArrayBuffer>\n | Promise<AsyncIterable<ArrayBuffer>>;\n\n/**\n * A FileSystem interface can encapsulate a FileList, a ZipFile, a GoogleDrive etc.\n */\nexport interface IFileSystem {\n /**\n * Return a list of file names\n * @param dirname directory name. file system root directory if omitted\n */\n readdir(dirname?: string, options?: {recursive?: boolean}): Promise<string[]>;\n\n /**\n * Gets information from a local file from the filesystem\n * @param filename file name to stat\n * @param options currently unused\n * @throws if filename is not in local filesystem\n */\n stat(filename: string, options?: object): Promise<{size: number}>;\n\n /**\n * Fetches a local file from the filesystem (or a URL)\n * @param filename\n * @param options\n */\n fetch(filename: string, options?: object): Promise<Response>;\n}\n\ntype ReadOptions = {buffer?: ArrayBuffer; offset?: number; length?: number; position?: number};\nexport interface IRandomAccessReadFileSystem extends IFileSystem {\n open(path: string, flags, mode?): Promise<any>;\n close(fd: any): Promise<void>;\n fstat(fd: any): Promise<object>;\n read(fd: any, options?: ReadOptions): Promise<{bytesRead: number; buffer: Buffer}>;\n}\n"],"mappings":""}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
export { assert } from './lib/env-utils/assert';
|
|
4
4
|
export { isBrowser, isWorker, nodeVersion, self, window, global, document } from './lib/env-utils/globals';
|
|
5
|
+
export { mergeLoaderOptions } from './lib/option-utils/merge-loader-options';
|
|
5
6
|
|
|
6
7
|
export { createLoaderWorker } from './lib/worker-loader-utils/create-loader-worker';
|
|
7
8
|
export { parseWithWorker, canParseWithWorker } from './lib/worker-loader-utils/parse-with-worker';
|
|
@@ -9,10 +10,9 @@ export { canEncodeWithWorker } from './lib/worker-loader-utils/encode-with-worke
|
|
|
9
10
|
|
|
10
11
|
export { parseJSON } from './lib/parser-utils/parse-json';
|
|
11
12
|
|
|
12
|
-
export {
|
|
13
|
+
export { sliceArrayBuffer, concatenateArrayBuffers, concatenateTypedArrays, compareArrayBuffers } from './lib/binary-utils/array-buffer-utils';
|
|
13
14
|
export { padToNBytes, copyToArray, copyArrayBuffer } from './lib/binary-utils/memory-copy-utils';
|
|
14
|
-
export { copyPaddedArrayBufferToDataView, copyPaddedStringToDataView } from './lib/binary-utils/
|
|
15
|
-
export { padStringToByteAlignment, copyStringToDataView, copyBinaryToDataView } from './lib/binary-utils/encode-utils';
|
|
15
|
+
export { padStringToByteAlignment, copyStringToDataView, copyBinaryToDataView, copyPaddedArrayBufferToDataView, copyPaddedStringToDataView } from './lib/binary-utils/dataview-copy-utils';
|
|
16
16
|
export { getFirstCharacters, getMagicString } from './lib/binary-utils/get-first-characters';
|
|
17
17
|
|
|
18
18
|
export { makeTextEncoderIterator, makeTextDecoderIterator, makeLineIterator, makeNumberedLineIterator } from './lib/iterators/text-iterators';
|
|
@@ -25,17 +25,20 @@ export { addAliases as _addAliases } from './lib/path-utils/file-aliases';
|
|
|
25
25
|
|
|
26
26
|
export { JSONLoader } from './json-loader';
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
export { path };
|
|
28
|
+
export { isBuffer, toBuffer, toArrayBuffer } from './lib/binary-utils/memory-conversion-utils';
|
|
30
29
|
|
|
31
|
-
export {
|
|
30
|
+
export { promisify1, promisify2 } from './lib/node/promisify';
|
|
32
31
|
|
|
33
|
-
import * as
|
|
34
|
-
export {
|
|
35
|
-
export { promisify } from './lib/node/util';
|
|
32
|
+
import * as path from './lib/path-utils/path';
|
|
33
|
+
export { path };
|
|
36
34
|
|
|
37
35
|
import * as fs from './lib/node/fs';
|
|
38
36
|
export { fs };
|
|
39
37
|
|
|
38
|
+
import * as stream from './lib/node/stream';
|
|
39
|
+
export { stream };
|
|
40
|
+
|
|
41
|
+
export { makeReadableFile } from './lib/filesystems/readable-file';
|
|
42
|
+
export { makeWritableFile } from './lib/filesystems/writable-file';
|
|
40
43
|
export { default as _NodeFileSystem } from './lib/filesystems/node-filesystem';
|
|
41
44
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["assert","isBrowser","isWorker","nodeVersion","self","window","global","document","createLoaderWorker","parseWithWorker","canParseWithWorker","canEncodeWithWorker","parseJSON","
|
|
1
|
+
{"version":3,"file":"index.js","names":["assert","isBrowser","isWorker","nodeVersion","self","window","global","document","mergeLoaderOptions","createLoaderWorker","parseWithWorker","canParseWithWorker","canEncodeWithWorker","parseJSON","sliceArrayBuffer","concatenateArrayBuffers","concatenateTypedArrays","compareArrayBuffers","padToNBytes","copyToArray","copyArrayBuffer","padStringToByteAlignment","copyStringToDataView","copyBinaryToDataView","copyPaddedArrayBufferToDataView","copyPaddedStringToDataView","getFirstCharacters","getMagicString","makeTextEncoderIterator","makeTextDecoderIterator","makeLineIterator","makeNumberedLineIterator","forEach","concatenateArrayBuffersAsync","default","RequestScheduler","setPathPrefix","getPathPrefix","resolvePath","addAliases","_addAliases","JSONLoader","isBuffer","toBuffer","toArrayBuffer","promisify1","promisify2","path","fs","stream","makeReadableFile","makeWritableFile","_NodeFileSystem"],"sources":["../../src/index.ts"],"sourcesContent":["// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n IFileSystem,\n IRandomAccessReadFileSystem\n} from './types';\n\n// GENERAL UTILS\nexport {assert} from './lib/env-utils/assert';\nexport {\n isBrowser,\n isWorker,\n nodeVersion,\n self,\n window,\n global,\n document\n} from './lib/env-utils/globals';\n\nexport {mergeLoaderOptions} from './lib/option-utils/merge-loader-options';\n\n// LOADERS.GL-SPECIFIC WORKER UTILS\nexport {createLoaderWorker} from './lib/worker-loader-utils/create-loader-worker';\nexport {parseWithWorker, canParseWithWorker} from './lib/worker-loader-utils/parse-with-worker';\nexport {canEncodeWithWorker} from './lib/worker-loader-utils/encode-with-worker';\n\n// PARSER UTILS\nexport {parseJSON} from './lib/parser-utils/parse-json';\n\n// MEMORY COPY UTILS\nexport {\n sliceArrayBuffer,\n concatenateArrayBuffers,\n concatenateTypedArrays,\n compareArrayBuffers\n} from './lib/binary-utils/array-buffer-utils';\nexport {padToNBytes, copyToArray, copyArrayBuffer} from './lib/binary-utils/memory-copy-utils';\nexport {\n padStringToByteAlignment,\n copyStringToDataView,\n copyBinaryToDataView,\n copyPaddedArrayBufferToDataView,\n copyPaddedStringToDataView\n} from './lib/binary-utils/dataview-copy-utils';\nexport {getFirstCharacters, getMagicString} from './lib/binary-utils/get-first-characters';\n\n// ITERATOR UTILS\nexport {\n makeTextEncoderIterator,\n makeTextDecoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from './lib/iterators/text-iterators';\nexport {forEach, concatenateArrayBuffersAsync} from './lib/iterators/async-iteration';\n\n// REQUEST UTILS\nexport {default as RequestScheduler} from './lib/request-utils/request-scheduler';\n\n// PATH HELPERS\nexport {setPathPrefix, getPathPrefix, resolvePath} from './lib/path-utils/file-aliases';\nexport {addAliases as _addAliases} from './lib/path-utils/file-aliases';\n\n// MICRO LOADERS\nexport {JSONLoader} from './json-loader';\n\n// NODE support\n\n// Node.js emulation (can be used in browser)\n\n// Avoid direct use of `Buffer` which pulls in 50KB polyfill\nexport {isBuffer, toBuffer, toArrayBuffer} from './lib/binary-utils/memory-conversion-utils';\n\n// Note.js wrappers (can be safely imported, but not used in browser)\n\n// Use instead of importing 'util' to avoid node dependencies\nexport {promisify1, promisify2} from './lib/node/promisify';\n\n// `path` replacement (avoids bundling big path polyfill)\nimport * as path from './lib/path-utils/path';\nexport {path};\n\n// Use instead of importing 'fs' to avoid node dependencies`\nimport * as fs from './lib/node/fs';\nexport {fs};\n\n// Use instead of importing 'stream' to avoid node dependencies`\nimport * as stream from './lib/node/stream';\nexport {stream};\n\n// EXPERIMENTAL\nexport type {ReadableFile} from './lib/filesystems/readable-file';\nexport {makeReadableFile} from './lib/filesystems/readable-file';\n\nexport type {WritableFile} from './lib/filesystems/writable-file';\nexport {makeWritableFile} from './lib/filesystems/writable-file';\n\nexport {default as _NodeFileSystem} from './lib/filesystems/node-filesystem';\n"],"mappings":";;AAgBA,SAAQA,MAAM,QAAO,wBAAwB;AAC7C,SACEC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,QAAQ,QACH,yBAAyB;AAEhC,SAAQC,kBAAkB,QAAO,yCAAyC;;AAG1E,SAAQC,kBAAkB,QAAO,gDAAgD;AACjF,SAAQC,eAAe,EAAEC,kBAAkB,QAAO,6CAA6C;AAC/F,SAAQC,mBAAmB,QAAO,8CAA8C;;AAGhF,SAAQC,SAAS,QAAO,+BAA+B;;AAGvD,SACEC,gBAAgB,EAChBC,uBAAuB,EACvBC,sBAAsB,EACtBC,mBAAmB,QACd,uCAAuC;AAC9C,SAAQC,WAAW,EAAEC,WAAW,EAAEC,eAAe,QAAO,sCAAsC;AAC9F,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,oBAAoB,EACpBC,+BAA+B,EAC/BC,0BAA0B,QACrB,wCAAwC;AAC/C,SAAQC,kBAAkB,EAAEC,cAAc,QAAO,yCAAyC;;AAG1F,SACEC,uBAAuB,EACvBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,QACnB,gCAAgC;AACvC,SAAQC,OAAO,EAAEC,4BAA4B,QAAO,iCAAiC;;AAGrF,SAAQC,OAAO,IAAIC,gBAAgB,QAAO,uCAAuC;;AAGjF,SAAQC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAO,+BAA+B;AACvF,SAAQC,UAAU,IAAIC,WAAW,QAAO,+BAA+B;;AAGvE,SAAQC,UAAU,QAAO,eAAe;;AAOxC,SAAQC,QAAQ,EAAEC,QAAQ,EAAEC,aAAa,QAAO,4CAA4C;;AAK5F,SAAQC,UAAU,EAAEC,UAAU,QAAO,sBAAsB;;AAG3D,OAAO,KAAKC,IAAI,MAAM,uBAAuB;AAC7C,SAAQA,IAAI;;AAGZ,OAAO,KAAKC,EAAE,MAAM,eAAe;AACnC,SAAQA,EAAE;;AAGV,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,SAAQA,MAAM;;AAId,SAAQC,gBAAgB,QAAO,iCAAiC;AAGhE,SAAQC,gBAAgB,QAAO,iCAAiC;AAEhE,SAAQjB,OAAO,IAAIkB,eAAe,QAAO,mCAAmC"}
|
package/dist/esm/json-loader.js
CHANGED
|
@@ -1,30 +1,3 @@
|
|
|
1
|
-
import { isBuffer, bufferToArrayBuffer } from './buffer-utils';
|
|
2
|
-
|
|
3
|
-
export function toArrayBuffer(data) {
|
|
4
|
-
if (isBuffer(data)) {
|
|
5
|
-
return bufferToArrayBuffer(data);
|
|
6
|
-
}
|
|
7
|
-
if (data instanceof ArrayBuffer) {
|
|
8
|
-
return data;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
if (ArrayBuffer.isView(data)) {
|
|
12
|
-
if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
|
|
13
|
-
return data.buffer;
|
|
14
|
-
}
|
|
15
|
-
return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
16
|
-
}
|
|
17
|
-
if (typeof data === 'string') {
|
|
18
|
-
const text = data;
|
|
19
|
-
const uint8Array = new TextEncoder().encode(text);
|
|
20
|
-
return uint8Array.buffer;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (data && typeof data === 'object' && data._toArrayBuffer) {
|
|
24
|
-
return data._toArrayBuffer();
|
|
25
|
-
}
|
|
26
|
-
throw new Error('toArrayBuffer');
|
|
27
|
-
}
|
|
28
1
|
|
|
29
2
|
export function compareArrayBuffers(arrayBuffer1, arrayBuffer2, byteLength) {
|
|
30
3
|
byteLength = byteLength || arrayBuffer1.byteLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-buffer-utils.js","names":["
|
|
1
|
+
{"version":3,"file":"array-buffer-utils.js","names":["compareArrayBuffers","arrayBuffer1","arrayBuffer2","byteLength","array1","Uint8Array","array2","i","length","concatenateArrayBuffers","sources","sourceArrays","map","source2","ArrayBuffer","reduce","typedArray","result","offset","sourceArray","set","buffer","concatenateTypedArrays","typedArrays","arrays","TypedArrayConstructor","constructor","Error","sumLength","acc","value","array","sliceArrayBuffer","arrayBuffer","byteOffset","subArray","undefined","subarray","arrayCopy"],"sources":["../../../../src/lib/binary-utils/array-buffer-utils.ts"],"sourcesContent":["import {TypedArray} from '../../types';\n\n/**\n * compare two binary arrays for equality\n * @param a\n * @param b\n * @param byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBuffer,\n arrayBuffer2: ArrayBuffer,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map((source2) =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n"],"mappings":";AAQA,OAAO,SAASA,mBAAmB,CACjCC,YAAyB,EACzBC,YAAyB,EACzBC,UAAmB,EACV;EACTA,UAAU,GAAGA,UAAU,IAAIF,YAAY,CAACE,UAAU;EAClD,IAAIF,YAAY,CAACE,UAAU,GAAGA,UAAU,IAAID,YAAY,CAACC,UAAU,GAAGA,UAAU,EAAE;IAChF,OAAO,KAAK;EACd;EACA,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAACJ,YAAY,CAAC;EAC3C,MAAMK,MAAM,GAAG,IAAID,UAAU,CAACH,YAAY,CAAC;EAC3C,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAE,EAAED,CAAC,EAAE;IACtC,IAAIH,MAAM,CAACG,CAAC,CAAC,KAAKD,MAAM,CAACC,CAAC,CAAC,EAAE;MAC3B,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;;AAMA,OAAO,SAASE,uBAAuB,GAAwD;EAAA,kCAApDC,OAAO;IAAPA,OAAO;EAAA;EAEhD,MAAMC,YAAY,GAAGD,OAAO,CAACE,GAAG,CAAEC,OAAO,IACvCA,OAAO,YAAYC,WAAW,GAAG,IAAIT,UAAU,CAACQ,OAAO,CAAC,GAAGA,OAAO,CACnE;;EAGD,MAAMV,UAAU,GAAGQ,YAAY,CAACI,MAAM,CAAC,CAACP,MAAM,EAAEQ,UAAU,KAAKR,MAAM,GAAGQ,UAAU,CAACb,UAAU,EAAE,CAAC,CAAC;;EAGjG,MAAMc,MAAM,GAAG,IAAIZ,UAAU,CAACF,UAAU,CAAC;;EAGzC,IAAIe,MAAM,GAAG,CAAC;EACd,KAAK,MAAMC,WAAW,IAAIR,YAAY,EAAE;IACtCM,MAAM,CAACG,GAAG,CAACD,WAAW,EAAED,MAAM,CAAC;IAC/BA,MAAM,IAAIC,WAAW,CAAChB,UAAU;EAClC;;EAGA,OAAOc,MAAM,CAACI,MAAM;AACtB;;AAQA,OAAO,SAASC,sBAAsB,GAA4B;EAAA,mCAArBC,WAAW;IAAXA,WAAW;EAAA;EAEtD,MAAMC,MAAM,GAAGD,WAA2B;EAE1C,MAAME,qBAAqB,GAAID,MAAM,IAAIA,MAAM,CAAChB,MAAM,GAAG,CAAC,IAAIgB,MAAM,CAAC,CAAC,CAAC,CAACE,WAAW,IAAK,IAAI;EAC5F,IAAI,CAACD,qBAAqB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACb,sGAAsG,CACvG;EACH;EAEA,MAAMC,SAAS,GAAGJ,MAAM,CAACT,MAAM,CAAC,CAACc,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,CAACtB,MAAM,EAAE,CAAC,CAAC;EAEtE,MAAMS,MAAM,GAAG,IAAIQ,qBAAqB,CAACG,SAAS,CAAC;EACnD,IAAIV,MAAM,GAAG,CAAC;EACd,KAAK,MAAMa,KAAK,IAAIP,MAAM,EAAE;IAC1BP,MAAM,CAACG,GAAG,CAACW,KAAK,EAAEb,MAAM,CAAC;IACzBA,MAAM,IAAIa,KAAK,CAACvB,MAAM;EACxB;EACA,OAAOS,MAAM;AACf;;AAQA,OAAO,SAASe,gBAAgB,CAC9BC,WAAwB,EACxBC,UAAkB,EAClB/B,UAAmB,EACN;EACb,MAAMgC,QAAQ,GACZhC,UAAU,KAAKiC,SAAS,GACpB,IAAI/B,UAAU,CAAC4B,WAAW,CAAC,CAACI,QAAQ,CAACH,UAAU,EAAEA,UAAU,GAAG/B,UAAU,CAAC,GACzE,IAAIE,UAAU,CAAC4B,WAAW,CAAC,CAACI,QAAQ,CAACH,UAAU,CAAC;EACtD,MAAMI,SAAS,GAAG,IAAIjC,UAAU,CAAC8B,QAAQ,CAAC;EAC1C,OAAOG,SAAS,CAACjB,MAAM;AACzB"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
1
3
|
import { padToNBytes } from './memory-copy-utils';
|
|
2
4
|
|
|
5
|
+
export function padStringToByteAlignment(string, byteAlignment) {
|
|
6
|
+
const length = string.length;
|
|
7
|
+
const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment;
|
|
8
|
+
const padding = paddedLength - length;
|
|
9
|
+
let whitespace = '';
|
|
10
|
+
for (let i = 0; i < padding; ++i) {
|
|
11
|
+
whitespace += ' ';
|
|
12
|
+
}
|
|
13
|
+
return string + whitespace;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function copyStringToDataView(dataView, byteOffset, string, byteLength) {
|
|
17
|
+
if (dataView) {
|
|
18
|
+
for (let i = 0; i < byteLength; i++) {
|
|
19
|
+
dataView.setUint8(byteOffset + i, string.charCodeAt(i));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return byteOffset + byteLength;
|
|
23
|
+
}
|
|
24
|
+
export function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
|
|
25
|
+
if (dataView) {
|
|
26
|
+
for (let i = 0; i < byteLength; i++) {
|
|
27
|
+
dataView.setUint8(byteOffset + i, binary[i]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return byteOffset + byteLength;
|
|
31
|
+
}
|
|
32
|
+
|
|
3
33
|
export function copyPaddedArrayBufferToDataView(dataView, byteOffset, sourceBuffer, padding) {
|
|
4
34
|
const paddedLength = padToNBytes(sourceBuffer.byteLength, padding);
|
|
5
35
|
const padLength = paddedLength - sourceBuffer.byteLength;
|
|
@@ -22,4 +52,4 @@ export function copyPaddedStringToDataView(dataView, byteOffset, string, padding
|
|
|
22
52
|
byteOffset = copyPaddedArrayBufferToDataView(dataView, byteOffset, stringBuffer, padding);
|
|
23
53
|
return byteOffset;
|
|
24
54
|
}
|
|
25
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=dataview-copy-utils.js.map
|