@loaders.gl/loader-utils 4.0.0-alpha.22 → 4.0.0-alpha.24
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 +30 -2
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/json-loader.js +1 -1
- package/dist/es5/lib/file-provider/data-view-file.js +146 -0
- package/dist/es5/lib/file-provider/data-view-file.js.map +1 -0
- package/dist/es5/lib/file-provider/file-handle-file.js +236 -0
- package/dist/es5/lib/file-provider/file-handle-file.js.map +1 -0
- package/dist/es5/lib/file-provider/file-handle.js +104 -0
- package/dist/es5/lib/file-provider/file-handle.js.map +1 -0
- package/dist/es5/lib/file-provider/file-provider.js +11 -0
- package/dist/es5/lib/file-provider/file-provider.js.map +1 -0
- package/dist/es5/lib/filesystems/filesystem.js +2 -0
- package/dist/es5/lib/filesystems/filesystem.js.map +1 -0
- package/dist/es5/lib/filesystems/node-filesystem.js +2 -2
- package/dist/es5/lib/filesystems/node-filesystem.js.map +1 -1
- package/dist/es5/lib/node/fs.browser.js +9 -0
- package/dist/es5/lib/node/fs.browser.js.map +1 -0
- package/dist/es5/lib/node/fs.js +19 -35
- package/dist/es5/lib/node/fs.js.map +1 -1
- package/dist/es5/lib/node/stream.browser.js +9 -0
- package/dist/es5/lib/node/stream.browser.js.map +1 -0
- package/dist/es5/lib/node/stream.js +1 -4
- package/dist/es5/lib/node/stream.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json-loader.js +1 -1
- package/dist/esm/lib/file-provider/data-view-file.js +33 -0
- package/dist/esm/lib/file-provider/data-view-file.js.map +1 -0
- package/dist/esm/lib/file-provider/file-handle-file.js +59 -0
- package/dist/esm/lib/file-provider/file-handle-file.js.map +1 -0
- package/dist/esm/lib/file-provider/file-handle.js +37 -0
- package/dist/esm/lib/file-provider/file-handle.js.map +1 -0
- package/dist/esm/lib/file-provider/file-provider.js +4 -0
- package/dist/esm/lib/file-provider/file-provider.js.map +1 -0
- package/dist/esm/lib/filesystems/filesystem.js +2 -0
- package/dist/esm/lib/filesystems/filesystem.js.map +1 -0
- package/dist/esm/lib/filesystems/node-filesystem.js +1 -1
- package/dist/esm/lib/filesystems/node-filesystem.js.map +1 -1
- package/dist/esm/lib/node/fs.browser.js +2 -0
- package/dist/esm/lib/node/fs.browser.js.map +1 -0
- package/dist/esm/lib/node/fs.js +14 -30
- package/dist/esm/lib/node/fs.js.map +1 -1
- package/dist/esm/lib/node/stream.browser.js +2 -0
- package/dist/esm/lib/node/stream.browser.js.map +1 -0
- package/dist/esm/lib/node/stream.js +1 -4
- package/dist/esm/lib/node/stream.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/file-provider/data-view-file.d.ts +37 -0
- package/dist/lib/file-provider/data-view-file.d.ts.map +1 -0
- package/dist/lib/file-provider/file-handle-file.d.ts +53 -0
- package/dist/lib/file-provider/file-handle-file.d.ts.map +1 -0
- package/dist/lib/file-provider/file-handle.d.ts +40 -0
- package/dist/lib/file-provider/file-handle.d.ts.map +1 -0
- package/dist/lib/file-provider/file-provider.d.ts +45 -0
- package/dist/lib/file-provider/file-provider.d.ts.map +1 -0
- package/dist/lib/filesystems/filesystem.d.ts +81 -0
- package/dist/lib/filesystems/filesystem.d.ts.map +1 -0
- package/dist/lib/filesystems/node-filesystem.d.ts +2 -2
- package/dist/lib/filesystems/node-filesystem.d.ts.map +1 -1
- package/dist/lib/node/fs.browser.d.ts +2 -0
- package/dist/lib/node/fs.browser.d.ts.map +1 -0
- package/dist/lib/node/fs.d.ts +16 -14
- package/dist/lib/node/fs.d.ts.map +1 -1
- package/dist/lib/node/stream.browser.d.ts +2 -0
- package/dist/lib/node/stream.browser.d.ts.map +1 -0
- package/dist/lib/node/stream.d.ts +4 -1
- package/dist/lib/node/stream.d.ts.map +1 -1
- package/dist/types.d.ts +0 -44
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -5
- package/src/index.ts +10 -4
- package/src/lib/file-provider/data-view-file.ts +72 -0
- package/src/lib/file-provider/file-handle-file.ts +116 -0
- package/src/lib/file-provider/file-handle.ts +74 -0
- package/src/lib/file-provider/file-provider.ts +56 -0
- package/src/lib/filesystems/filesystem.ts +87 -0
- package/src/lib/filesystems/node-filesystem.ts +3 -3
- package/src/lib/node/fs.browser.ts +1 -0
- package/src/lib/node/fs.ts +16 -53
- package/src/lib/node/stream.browser.ts +1 -0
- package/src/lib/node/stream.ts +2 -10
- package/src/types.ts +0 -34
- package/dist/index.js +0 -127
- package/dist/json-loader.js +0 -27
- package/dist/lib/binary-utils/array-buffer-utils.js +0 -84
- package/dist/lib/binary-utils/dataview-copy-utils.js +0 -97
- package/dist/lib/binary-utils/get-first-characters.js +0 -45
- package/dist/lib/binary-utils/memory-conversion-utils.js +0 -73
- package/dist/lib/binary-utils/memory-copy-utils.js +0 -61
- package/dist/lib/env-utils/assert.js +0 -13
- package/dist/lib/env-utils/globals.js +0 -30
- package/dist/lib/filesystems/node-filesystem.js +0 -73
- package/dist/lib/filesystems/readable-file.js +0 -25
- package/dist/lib/filesystems/writable-file.js +0 -48
- package/dist/lib/iterators/async-iteration.js +0 -53
- package/dist/lib/iterators/text-iterators.js +0 -61
- package/dist/lib/node/buffer.browser.js +0 -22
- package/dist/lib/node/buffer.js +0 -36
- package/dist/lib/node/fs.js +0 -51
- package/dist/lib/node/promisify.js +0 -22
- package/dist/lib/node/stream.js +0 -17
- package/dist/lib/option-utils/merge-loader-options.js +0 -27
- package/dist/lib/parser-utils/parse-json.js +0 -16
- package/dist/lib/path-utils/file-aliases.js +0 -47
- package/dist/lib/path-utils/get-cwd.js +0 -12
- package/dist/lib/path-utils/path.js +0 -178
- package/dist/lib/request-utils/request-scheduler.js +0 -142
- package/dist/lib/worker-loader-utils/create-loader-worker.js +0 -99
- package/dist/lib/worker-loader-utils/encode-with-worker.js +0 -21
- package/dist/lib/worker-loader-utils/parse-with-worker.js +0 -81
- package/dist/loader-types.js +0 -36
- package/dist/types.js +0 -3
- package/dist/workers/json-worker.js +0 -5
- package/dist/writer-types.js +0 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isFileProvider = void 0;
|
|
7
|
+
var isFileProvider = function isFileProvider(fileProvider) {
|
|
8
|
+
return (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.getUint8) && (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.slice) && (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.length);
|
|
9
|
+
};
|
|
10
|
+
exports.isFileProvider = isFileProvider;
|
|
11
|
+
//# sourceMappingURL=file-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-provider.js","names":["isFileProvider","fileProvider","getUint8","slice","length","exports"],"sources":["../../../../src/lib/file-provider/file-provider.ts"],"sourcesContent":["/**\n * Interface for providing file data\n */\nexport interface FileProvider {\n /**\n * Cleanup class data\n */\n destroy(): Promise<void>;\n /**\n * Gets an unsigned 8-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n getUint8(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 16-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n getUint16(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the file of the view where to read the data.\n */\n getUint32(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in byte, from the file of the view where to read the data.\n */\n getBigUint64(offset: bigint): Promise<bigint>;\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffset The offset, in bytes, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n slice(startOffset: bigint, endOffset: bigint): Promise<ArrayBuffer>;\n\n /**\n * the length (in bytes) of the data.\n */\n length: bigint;\n}\n\n/**\n * Check is the object has FileProvider members\n * @param fileProvider - tested object\n */\nexport const isFileProvider = (fileProvider: unknown) => {\n return (\n (fileProvider as FileProvider)?.getUint8 &&\n (fileProvider as FileProvider)?.slice &&\n (fileProvider as FileProvider)?.length\n );\n};\n"],"mappings":";;;;;;AAiDO,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,YAAqB,EAAK;EACvD,OACE,CAACA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBC,QAAQ,MACvCD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBE,KAAK,MACpCF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBG,MAAM;AAE1C,CAAC;AAACC,OAAA,CAAAL,cAAA,GAAAA,cAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.js","names":[],"sources":["../../../../src/lib/filesystems/filesystem.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type ReadOptions = {};\n\nexport type Stat = {\n size: number;\n isDirectory: () => boolean;\n};\n\n/**\n * A FileSystem interface can encapsulate various file sources,\n * a FileList, a ZipFile, a GoogleDrive etc.\n */\nexport interface FileSystem {\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: RequestInfo, options?: RequestInit): Promise<Response>;\n}\n\n/**\n * A random access file system\n */\nexport interface RandomAccessReadFileSystem extends FileSystem {\n open(path: string, flags: unknown, mode?: unknown): Promise<any>;\n close(fd: unknown): Promise<void>;\n fstat(fd: unknown): Promise<Stat>;\n read(fd: any, options?: ReadOptions): Promise<{bytesRead: number; buffer: Buffer}>;\n // read(\n // fd: any,\n // buffer: ArrayBuffer | ArrayBufferView,\n // offset?: number,\n // length?: number,\n // position?: number\n // ): Promise<{bytesRead: number; buffer: ArrayBuffer}>;\n}\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: string | number, mode?: any): 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*/\n"],"mappings":""}
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.NodeFileSystem = void 0;
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -206,5 +206,5 @@ var NodeFileSystem = function () {
|
|
|
206
206
|
}]);
|
|
207
207
|
return NodeFileSystem;
|
|
208
208
|
}();
|
|
209
|
-
exports.
|
|
209
|
+
exports.NodeFileSystem = NodeFileSystem;
|
|
210
210
|
//# sourceMappingURL=node-filesystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-filesystem.js","names":["fs","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NodeFileSystem","options","_classCallCheck2","fetch","_fetch","_createClass2","value","_readdir","_asyncToGenerator2","_regenerator","mark","_callee","dirname","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","readdir","abrupt","sent","stop","apply","_stat","_callee2","path","info","_callee2$","_context2","stat","size","Number","isDirectory","_x","_x2","_callee3","fallbackFetch","_callee3$","_context3","_x3","_x4","_open","_callee4","flags","mode","_callee4$","_context4","open","_x5","_x6","_x7","_close","_callee5","fd","_callee5$","_context5","close","_x8","_fstat","_callee6","_callee6$","_context6","fstat","_x9","_read","_callee7","_ref","_ref$buffer","buffer","_ref$offset","offset","_ref$length","_ref$position","position","totalBytesRead","_yield$fs$read","bytesRead","_callee7$","_context7","byteLength","read","_x10","_x11","exports"],"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"sourcesContent":["import * as fs from '../node/fs';\nimport {
|
|
1
|
+
{"version":3,"file":"node-filesystem.js","names":["fs","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NodeFileSystem","options","_classCallCheck2","fetch","_fetch","_createClass2","value","_readdir","_asyncToGenerator2","_regenerator","mark","_callee","dirname","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","readdir","abrupt","sent","stop","apply","_stat","_callee2","path","info","_callee2$","_context2","stat","size","Number","isDirectory","_x","_x2","_callee3","fallbackFetch","_callee3$","_context3","_x3","_x4","_open","_callee4","flags","mode","_callee4$","_context4","open","_x5","_x6","_x7","_close","_callee5","fd","_callee5$","_context5","close","_x8","_fstat","_callee6","_callee6$","_context6","fstat","_x9","_read","_callee7","_ref","_ref$buffer","buffer","_ref$offset","offset","_ref$length","_ref$position","position","totalBytesRead","_yield$fs$read","bytesRead","_callee7$","_context7","byteLength","read","_x10","_x11","exports"],"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"sourcesContent":["import * as fs from '../node/fs';\nimport {FileSystem, RandomAccessReadFileSystem} from './filesystem';\n// import {fetchFile} from \"../fetch/fetch-file\"\n// import {selectLoader} from \"../api/select-loader\";\n\ntype Stat = {\n size: number;\n isDirectory: () => boolean;\n info?: fs.Stats;\n};\n\ntype ReadOptions = {\n buffer?: Buffer;\n offset?: number;\n length?: number;\n position?: number;\n};\n\n/**\n * FileSystem pass-through for Node.js\n * Compatible with BrowserFileSystem.\n * @param options\n */\nexport class NodeFileSystem implements FileSystem, RandomAccessReadFileSystem {\n // implements FileSystem\n constructor(options: {[key: string]: any}) {\n this.fetch = options._fetch;\n }\n\n async readdir(dirname = '.', options?: {}): Promise<any[]> {\n return await fs.readdir(dirname, options);\n }\n\n async stat(path: string, options?: {}): Promise<Stat> {\n const info = await fs.stat(path, options);\n return {size: Number(info.size), isDirectory: () => false, info};\n }\n\n async fetch(path: string, options: {[key: string]: any}) {\n // Falls back to handle https:/http:/data: etc fetches\n // eslint-disable-next-line\n const fallbackFetch = options.fetch || this.fetch;\n return fallbackFetch(path, options);\n }\n\n // implements IRandomAccessFileSystem\n async open(path: string, flags: string | number, mode?: any): Promise<number> {\n return await fs.open(path, flags);\n }\n\n async close(fd: number): Promise<void> {\n return await fs.close(fd);\n }\n\n async fstat(fd: number): Promise<Stat> {\n const info = await fs.fstat(fd);\n return info;\n }\n\n async read(\n fd: number,\n // @ts-ignore Possibly null\n {buffer = null, offset = 0, length = buffer.byteLength, position = null}: ReadOptions\n ): Promise<{bytesRead: number; buffer: Buffer}> {\n let totalBytesRead = 0;\n // Read in loop until we get required number of bytes\n while (totalBytesRead < length) {\n const {bytesRead} = await fs.read(\n fd,\n buffer,\n offset + totalBytesRead,\n length - totalBytesRead,\n position + totalBytesRead\n );\n totalBytesRead += bytesRead;\n }\n return {bytesRead: totalBytesRead, buffer};\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.browser.js","names":["isSupported","exports"],"sources":["../../../../src/lib/node/fs.browser.ts"],"sourcesContent":["export const isSupported = false;\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG,KAAK;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA"}
|
package/dist/es5/lib/node/fs.js
CHANGED
|
@@ -11,56 +11,40 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _fs = _interopRequireDefault(require("fs"));
|
|
12
12
|
var _buffer = require("./buffer");
|
|
13
13
|
var _promisify = require("./promisify");
|
|
14
|
-
var readdir;
|
|
14
|
+
var readdir = (0, _promisify.promisify2)(_fs.default.readdir);
|
|
15
15
|
exports.readdir = readdir;
|
|
16
|
-
var stat;
|
|
16
|
+
var stat = (0, _promisify.promisify2)(_fs.default.stat);
|
|
17
17
|
exports.stat = stat;
|
|
18
|
-
var statSync;
|
|
18
|
+
var statSync = _fs.default.statSync;
|
|
19
19
|
exports.statSync = statSync;
|
|
20
|
-
var readFile;
|
|
20
|
+
var readFile = _fs.default.readFile;
|
|
21
21
|
exports.readFile = readFile;
|
|
22
|
-
var readFileSync;
|
|
22
|
+
var readFileSync = _fs.default.readFileSync;
|
|
23
23
|
exports.readFileSync = readFileSync;
|
|
24
|
-
var writeFile;
|
|
24
|
+
var writeFile = (0, _promisify.promisify3)(_fs.default.writeFile);
|
|
25
25
|
exports.writeFile = writeFile;
|
|
26
|
-
var writeFileSync;
|
|
26
|
+
var writeFileSync = _fs.default.writeFileSync;
|
|
27
27
|
exports.writeFileSync = writeFileSync;
|
|
28
|
-
var open;
|
|
28
|
+
var open = _fs.default.open;
|
|
29
29
|
exports.open = open;
|
|
30
|
-
var close
|
|
30
|
+
var close = function close(fd) {
|
|
31
|
+
return new Promise(function (resolve, reject) {
|
|
32
|
+
return _fs.default.close(fd, function (err) {
|
|
33
|
+
return err ? reject(err) : resolve();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
};
|
|
31
37
|
exports.close = close;
|
|
32
|
-
var read;
|
|
38
|
+
var read = _fs.default.read;
|
|
33
39
|
exports.read = read;
|
|
34
|
-
var fstat;
|
|
40
|
+
var fstat = _fs.default.fstat;
|
|
35
41
|
exports.fstat = fstat;
|
|
36
|
-
var createReadStream;
|
|
42
|
+
var createReadStream = _fs.default.createReadStream;
|
|
37
43
|
exports.createReadStream = createReadStream;
|
|
38
|
-
var createWriteStream;
|
|
44
|
+
var createWriteStream = _fs.default.createWriteStream;
|
|
39
45
|
exports.createWriteStream = createWriteStream;
|
|
40
46
|
var isSupported = Boolean(_fs.default);
|
|
41
47
|
exports.isSupported = isSupported;
|
|
42
|
-
try {
|
|
43
|
-
exports.readdir = readdir = (0, _promisify.promisify2)(_fs.default.readdir);
|
|
44
|
-
exports.stat = stat = (0, _promisify.promisify2)(_fs.default.stat);
|
|
45
|
-
exports.statSync = statSync = _fs.default.statSync;
|
|
46
|
-
exports.readFile = readFile = _fs.default.readFile;
|
|
47
|
-
exports.readFileSync = readFileSync = _fs.default.readFileSync;
|
|
48
|
-
exports.writeFile = writeFile = (0, _promisify.promisify3)(_fs.default.writeFile);
|
|
49
|
-
exports.writeFileSync = writeFileSync = _fs.default.writeFileSync;
|
|
50
|
-
exports.open = open = _fs.default.open;
|
|
51
|
-
exports.close = close = function close(fd) {
|
|
52
|
-
return new Promise(function (resolve, reject) {
|
|
53
|
-
return _fs.default.close(fd, function (err) {
|
|
54
|
-
return err ? reject(err) : resolve();
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
exports.read = read = _fs.default.read;
|
|
59
|
-
exports.fstat = fstat = _fs.default.fstat;
|
|
60
|
-
exports.createReadStream = createReadStream = _fs.default.createReadStream;
|
|
61
|
-
exports.createWriteStream = createWriteStream = _fs.default.createWriteStream;
|
|
62
|
-
exports.isSupported = isSupported = Boolean(_fs.default);
|
|
63
|
-
} catch (_unused) {}
|
|
64
48
|
function _readToArrayBuffer(_x, _x2, _x3) {
|
|
65
49
|
return _readToArrayBuffer2.apply(this, arguments);
|
|
66
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","names":["_fs","_interopRequireDefault","require","_buffer","_promisify","readdir","exports","stat","statSync","readFile","readFileSync","writeFile","writeFileSync","open","close","
|
|
1
|
+
{"version":3,"file":"fs.js","names":["_fs","_interopRequireDefault","require","_buffer","_promisify","readdir","promisify2","fs","exports","stat","statSync","readFile","readFileSync","writeFile","promisify3","writeFileSync","open","close","fd","Promise","resolve","reject","err","read","fstat","createReadStream","createWriteStream","isSupported","Boolean","_readToArrayBuffer","_x","_x2","_x3","_readToArrayBuffer2","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","start","length","buffer","_yield$read","bytesRead","wrap","_callee$","_context","prev","next","Buffer","alloc","sent","Error","abrupt","toArrayBuffer","stop"],"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, ReadStream, WriteStream} from 'fs';\n/** Wrapper for Node.js fs method */\nexport const readdir: any = promisify2(fs.readdir);\n/** Wrapper for Node.js fs method */\nexport const stat: any = promisify2(fs.stat);\nexport const statSync = fs.statSync;\n\n/** Wrapper for Node.js fs method */\nexport const readFile: any = fs.readFile;\n/** Wrapper for Node.js fs method */\nexport const readFileSync = fs.readFileSync;\n/** Wrapper for Node.js fs method */\nexport const writeFile: any = promisify3(fs.writeFile);\n/** Wrapper for Node.js fs method */\nexport const writeFileSync = fs.writeFileSync;\n\n// file descriptors\n\n/** Wrapper for Node.js fs method */\nexport const open: any = fs.open;\n/** Wrapper for Node.js fs method */\nexport const close = (fd: number) =>\n new Promise<void>((resolve, reject) => fs.close(fd, (err) => (err ? reject(err) : resolve())));\n/** Wrapper for Node.js fs method */\nexport const read: any = fs.read;\n/** Wrapper for Node.js fs method */\nexport const fstat: any = fs.fstat;\n\nexport const createReadStream = fs.createReadStream;\nexport const createWriteStream = fs.createWriteStream;\n\nexport const isSupported = Boolean(fs);\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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.browser.js","names":["isSupported","exports"],"sources":["../../../../src/lib/node/stream.browser.ts"],"sourcesContent":["export const isSupported = false;\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG,KAAK;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA"}
|
|
@@ -6,11 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.isSupported = exports.Transform = void 0;
|
|
8
8
|
var _stream = _interopRequireDefault(require("stream"));
|
|
9
|
-
var Transform;
|
|
9
|
+
var Transform = _stream.default.Transform;
|
|
10
10
|
exports.Transform = Transform;
|
|
11
11
|
var isSupported = Boolean(_stream.default);
|
|
12
12
|
exports.isSupported = isSupported;
|
|
13
|
-
try {
|
|
14
|
-
exports.Transform = Transform = _stream.default.Transform;
|
|
15
|
-
} catch (_unused) {}
|
|
16
13
|
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","names":["_stream","_interopRequireDefault","require","Transform","exports","isSupported","Boolean"
|
|
1
|
+
{"version":3,"file":"stream.js","names":["_stream","_interopRequireDefault","require","Transform","stream","exports","isSupported","Boolean"],"sources":["../../../../src/lib/node/stream.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport stream from 'stream';\n\nexport type {Writable} from 'stream';\n\n/** Wrapper for Node.js stream method */\nexport const Transform = stream.Transform;\n\nexport const isSupported = Boolean(stream);\n"],"mappings":";;;;;;;AAEA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,IAAMC,SAAS,GAAGC,eAAM,CAACD,SAAS;AAACE,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAEnC,IAAMG,WAAW,GAAGC,OAAO,CAACH,eAAM,CAAC;AAACC,OAAA,CAAAC,WAAA,GAAAA,WAAA"}
|
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 BigTypedArray = TypedArray | BigInt64Array | BigUint64Array;\n\nexport type TypedArrayConstructor =\n | Int8ArrayConstructor\n | Uint8ArrayConstructor\n | Int16ArrayConstructor\n | Uint16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n\nexport type BigTypedArrayConstructor =\n | TypedArrayConstructor\n | BigInt64ArrayConstructor\n | BigUint64ArrayConstructor;\n\n/** Any numeric array: typed array or `number[]` */\nexport type NumberArray = number[] | TypedArray;\n\nexport type NumericArray = number[] | TypedArray;\n\n// FETCH\n\nexport type FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\n// MISC TYPES\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
|
|
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 BigTypedArray = TypedArray | BigInt64Array | BigUint64Array;\n\nexport type TypedArrayConstructor =\n | Int8ArrayConstructor\n | Uint8ArrayConstructor\n | Int16ArrayConstructor\n | Uint16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n\nexport type BigTypedArrayConstructor =\n | TypedArrayConstructor\n | BigInt64ArrayConstructor\n | BigUint64ArrayConstructor;\n\n/** Any numeric array: typed array or `number[]` */\nexport type NumberArray = number[] | TypedArray;\n\nexport type NumericArray = number[] | TypedArray;\n\n// FETCH\n\nexport type FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\n// MISC TYPES\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"],"mappings":""}
|
package/dist/esm/index.js
CHANGED
|
@@ -24,7 +24,11 @@ import * as fs from './lib/node/fs';
|
|
|
24
24
|
export { fs };
|
|
25
25
|
import * as stream from './lib/node/stream';
|
|
26
26
|
export { stream };
|
|
27
|
+
export { NodeFileSystem as _NodeFileSystem } from './lib/filesystems/node-filesystem';
|
|
28
|
+
export { isFileProvider } from './lib/file-provider/file-provider';
|
|
29
|
+
export { FileHandle } from './lib/file-provider/file-handle';
|
|
30
|
+
export { FileHandleFile } from './lib/file-provider/file-handle-file';
|
|
31
|
+
export { DataViewFile } from './lib/file-provider/data-view-file';
|
|
27
32
|
export { makeReadableFile } from './lib/filesystems/readable-file';
|
|
28
33
|
export { makeWritableFile } from './lib/filesystems/writable-file';
|
|
29
|
-
export { default as _NodeFileSystem } from './lib/filesystems/node-filesystem';
|
|
30
34
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["parseFromContext","parseSyncFromContext","parseInBatchesFromContext","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","
|
|
1
|
+
{"version":3,"file":"index.js","names":["parseFromContext","parseSyncFromContext","parseInBatchesFromContext","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","NodeFileSystem","_NodeFileSystem","isFileProvider","FileHandle","FileHandleFile","DataViewFile","makeReadableFile","makeWritableFile"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// TYPES\n\nexport type {\n // misc\n DataType,\n SyncDataType,\n BatchableDataType,\n // numeric array types\n TypedArray,\n BigTypedArray,\n TypedArrayConstructor,\n BigTypedArrayConstructor,\n NumberArray,\n NumericArray,\n // fetch\n FetchLike\n} from './types';\n\n// loaders\n\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n LoaderOptionsType,\n LoaderReturnType,\n LoaderBatchType\n} from './loader-types';\n\nexport {parseFromContext, parseSyncFromContext, parseInBatchesFromContext} from './loader-types';\n\n// writers\n\nexport type {Writer, WriterOptions, WriterOptionsType} from './writer-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 {FileSystem, RandomAccessReadFileSystem} from './lib/filesystems/filesystem';\nexport {NodeFileSystem as _NodeFileSystem} from './lib/filesystems/node-filesystem';\n\nexport type {FileProvider} from './lib/file-provider/file-provider';\nexport {isFileProvider} from './lib/file-provider/file-provider';\n\nexport {FileHandle} from './lib/file-provider/file-handle';\nexport {FileHandleFile} from './lib/file-provider/file-handle-file';\nexport {DataViewFile} from './lib/file-provider/data-view-file';\n\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"],"mappings":"AAgCA,SAAQA,gBAAgB,EAAEC,oBAAoB,EAAEC,yBAAyB,QAAO,gBAAgB;AAOhG,SAAQC,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,cAAc,IAAIC,eAAe,QAAO,mCAAmC;AAGnF,SAAQC,cAAc,QAAO,mCAAmC;AAEhE,SAAQC,UAAU,QAAO,iCAAiC;AAC1D,SAAQC,cAAc,QAAO,sCAAsC;AACnE,SAAQC,YAAY,QAAO,oCAAoC;AAG/D,SAAQC,gBAAgB,QAAO,iCAAiC;AAGhE,SAAQC,gBAAgB,QAAO,iCAAiC"}
|
package/dist/esm/json-loader.js
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
const toNumber = bigint => {
|
|
3
|
+
if (bigint > Number.MAX_SAFE_INTEGER) {
|
|
4
|
+
throw new Error('Offset is out of bounds');
|
|
5
|
+
}
|
|
6
|
+
return Number(bigint);
|
|
7
|
+
};
|
|
8
|
+
export class DataViewFile {
|
|
9
|
+
constructor(file) {
|
|
10
|
+
_defineProperty(this, "file", void 0);
|
|
11
|
+
this.file = file;
|
|
12
|
+
}
|
|
13
|
+
async destroy() {}
|
|
14
|
+
async getUint8(offset) {
|
|
15
|
+
return this.file.getUint8(toNumber(offset));
|
|
16
|
+
}
|
|
17
|
+
async getUint16(offset) {
|
|
18
|
+
return this.file.getUint16(toNumber(offset), true);
|
|
19
|
+
}
|
|
20
|
+
async getUint32(offset) {
|
|
21
|
+
return this.file.getUint32(toNumber(offset), true);
|
|
22
|
+
}
|
|
23
|
+
async getBigUint64(offset) {
|
|
24
|
+
return this.file.getBigUint64(toNumber(offset), true);
|
|
25
|
+
}
|
|
26
|
+
async slice(startOffset, endOffset) {
|
|
27
|
+
return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));
|
|
28
|
+
}
|
|
29
|
+
get length() {
|
|
30
|
+
return BigInt(this.file.byteLength);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data-view-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-view-file.js","names":["toNumber","bigint","Number","MAX_SAFE_INTEGER","Error","DataViewFile","constructor","file","_defineProperty","destroy","getUint8","offset","getUint16","getUint32","getBigUint64","slice","startOffset","endOffset","buffer","length","BigInt","byteLength"],"sources":["../../../../src/lib/file-provider/data-view-file.ts"],"sourcesContent":["import {FileProvider} from './file-provider';\n\n/**\n * Checks if bigint can be converted to number and convert it if possible\n * @param bigint bigint to be converted\n * @returns number\n */\nconst toNumber = (bigint: bigint) => {\n if (bigint > Number.MAX_SAFE_INTEGER) {\n throw new Error('Offset is out of bounds');\n }\n return Number(bigint);\n};\n\n/** Provides file data using DataView */\nexport class DataViewFile implements FileProvider {\n /** The DataView from which data is provided */\n private file: DataView;\n\n constructor(file: DataView) {\n this.file = file;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n async destroy(): Promise<void> {}\n\n /**\n * Gets an unsigned 8-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint8(offset: bigint): Promise<number> {\n return this.file.getUint8(toNumber(offset));\n }\n\n /**\n * Gets an unsigned 16-bit intege at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint16(offset: bigint): Promise<number> {\n return this.file.getUint16(toNumber(offset), true);\n }\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint32(offset: bigint): Promise<number> {\n return this.file.getUint32(toNumber(offset), true);\n }\n\n /**\n * Gets an unsigned 64-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getBigUint64(offset: bigint): Promise<bigint> {\n return this.file.getBigUint64(toNumber(offset), true);\n }\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffset The offset, in bytes, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n async slice(startOffset: bigint, endOffset: bigint): Promise<ArrayBuffer> {\n return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));\n }\n\n /** the length (in bytes) of the data. */\n get length() {\n return BigInt(this.file.byteLength);\n }\n}\n"],"mappings":";AAOA,MAAMA,QAAQ,GAAIC,MAAc,IAAK;EACnC,IAAIA,MAAM,GAAGC,MAAM,CAACC,gBAAgB,EAAE;IACpC,MAAM,IAAIC,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA,OAAOF,MAAM,CAACD,MAAM,CAAC;AACvB,CAAC;AAGD,OAAO,MAAMI,YAAY,CAAyB;EAIhDC,WAAWA,CAACC,IAAc,EAAE;IAAAC,eAAA;IAC1B,IAAI,CAACD,IAAI,GAAGA,IAAI;EAClB;EAGA,MAAME,OAAOA,CAAA,EAAkB,CAAC;EAMhC,MAAMC,QAAQA,CAACC,MAAc,EAAmB;IAC9C,OAAO,IAAI,CAACJ,IAAI,CAACG,QAAQ,CAACV,QAAQ,CAACW,MAAM,CAAC,CAAC;EAC7C;EAMA,MAAMC,SAASA,CAACD,MAAc,EAAmB;IAC/C,OAAO,IAAI,CAACJ,IAAI,CAACK,SAAS,CAACZ,QAAQ,CAACW,MAAM,CAAC,EAAE,IAAI,CAAC;EACpD;EAMA,MAAME,SAASA,CAACF,MAAc,EAAmB;IAC/C,OAAO,IAAI,CAACJ,IAAI,CAACM,SAAS,CAACb,QAAQ,CAACW,MAAM,CAAC,EAAE,IAAI,CAAC;EACpD;EAMA,MAAMG,YAAYA,CAACH,MAAc,EAAmB;IAClD,OAAO,IAAI,CAACJ,IAAI,CAACO,YAAY,CAACd,QAAQ,CAACW,MAAM,CAAC,EAAE,IAAI,CAAC;EACvD;EAOA,MAAMI,KAAKA,CAACC,WAAmB,EAAEC,SAAiB,EAAwB;IACxE,OAAO,IAAI,CAACV,IAAI,CAACW,MAAM,CAACH,KAAK,CAACf,QAAQ,CAACgB,WAAW,CAAC,EAAEhB,QAAQ,CAACiB,SAAS,CAAC,CAAC;EAC3E;EAGA,IAAIE,MAAMA,CAAA,EAAG;IACX,OAAOC,MAAM,CAAC,IAAI,CAACb,IAAI,CAACc,UAAU,CAAC;EACrC;AACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import { FileHandle } from './file-handle';
|
|
3
|
+
import { resolvePath } from '../path-utils/file-aliases';
|
|
4
|
+
export class FileHandleFile {
|
|
5
|
+
static async from(path) {
|
|
6
|
+
path = resolvePath(path);
|
|
7
|
+
const fileDescriptor = await FileHandle.open(path);
|
|
8
|
+
return new FileHandleFile(fileDescriptor, fileDescriptor.stat.size);
|
|
9
|
+
}
|
|
10
|
+
constructor(fileDescriptor, size) {
|
|
11
|
+
_defineProperty(this, "fileDescriptor", void 0);
|
|
12
|
+
_defineProperty(this, "size", void 0);
|
|
13
|
+
this.fileDescriptor = fileDescriptor;
|
|
14
|
+
this.size = size;
|
|
15
|
+
}
|
|
16
|
+
async destroy() {
|
|
17
|
+
await this.fileDescriptor.close();
|
|
18
|
+
}
|
|
19
|
+
async getUint8(offset) {
|
|
20
|
+
const val = new Uint8Array((await this.fileDescriptor.read(Buffer.alloc(1), 0, 1, offset)).buffer.buffer).at(0);
|
|
21
|
+
if (val === undefined) {
|
|
22
|
+
throw new Error('something went wrong');
|
|
23
|
+
}
|
|
24
|
+
return val;
|
|
25
|
+
}
|
|
26
|
+
async getUint16(offset) {
|
|
27
|
+
const val = new Uint16Array((await this.fileDescriptor.read(Buffer.alloc(2), 0, 2, offset)).buffer.buffer).at(0);
|
|
28
|
+
if (val === undefined) {
|
|
29
|
+
throw new Error('something went wrong');
|
|
30
|
+
}
|
|
31
|
+
return val;
|
|
32
|
+
}
|
|
33
|
+
async getUint32(offset) {
|
|
34
|
+
const val = new Uint32Array((await this.fileDescriptor.read(Buffer.alloc(4), 0, 4, offset)).buffer.buffer).at(0);
|
|
35
|
+
if (val === undefined) {
|
|
36
|
+
throw new Error('something went wrong');
|
|
37
|
+
}
|
|
38
|
+
return val;
|
|
39
|
+
}
|
|
40
|
+
async getBigUint64(offset) {
|
|
41
|
+
const val = new BigInt64Array((await this.fileDescriptor.read(Buffer.alloc(8), 0, 8, offset)).buffer.buffer).at(0);
|
|
42
|
+
if (val === undefined) {
|
|
43
|
+
throw new Error('something went wrong');
|
|
44
|
+
}
|
|
45
|
+
return val;
|
|
46
|
+
}
|
|
47
|
+
async slice(startOffsset, endOffset) {
|
|
48
|
+
const bigLength = endOffset - startOffsset;
|
|
49
|
+
if (bigLength > Number.MAX_SAFE_INTEGER) {
|
|
50
|
+
throw new Error('too big slice');
|
|
51
|
+
}
|
|
52
|
+
const length = Number(bigLength);
|
|
53
|
+
return (await this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffsset)).buffer.buffer;
|
|
54
|
+
}
|
|
55
|
+
get length() {
|
|
56
|
+
return this.size;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=file-handle-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-handle-file.js","names":["FileHandle","resolvePath","FileHandleFile","from","path","fileDescriptor","open","stat","size","constructor","_defineProperty","destroy","close","getUint8","offset","val","Uint8Array","read","Buffer","alloc","buffer","at","undefined","Error","getUint16","Uint16Array","getUint32","Uint32Array","getBigUint64","BigInt64Array","slice","startOffsset","endOffset","bigLength","Number","MAX_SAFE_INTEGER","length"],"sources":["../../../../src/lib/file-provider/file-handle-file.ts"],"sourcesContent":["import {FileProvider} from './file-provider';\nimport {FileHandle} from './file-handle';\nimport {resolvePath} from '../path-utils/file-aliases';\n\n/**\n * Provides file data using node fs library\n */\nexport class FileHandleFile implements FileProvider {\n /**\n * Returns a new copy of FileHandleFile\n * @param path The path to the file in file system\n */\n static async from(path: string): Promise<FileHandleFile> {\n path = resolvePath(path);\n const fileDescriptor = await FileHandle.open(path);\n return new FileHandleFile(fileDescriptor, fileDescriptor.stat.size);\n }\n\n /**\n * The FileHandle from which data is provided\n */\n private fileDescriptor: FileHandle;\n\n /**\n * The file length in bytes\n */\n private size: bigint;\n\n private constructor(fileDescriptor: FileHandle, size: bigint) {\n this.fileDescriptor = fileDescriptor;\n this.size = size;\n }\n\n /** Close file */\n async destroy(): Promise<void> {\n await this.fileDescriptor.close();\n }\n\n /**\n * Gets an unsigned 8-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint8(offset: bigint): Promise<number> {\n const val = new Uint8Array(\n (await this.fileDescriptor.read(Buffer.alloc(1), 0, 1, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 16-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint16(offset: bigint): Promise<number> {\n const val = new Uint16Array(\n (await this.fileDescriptor.read(Buffer.alloc(2), 0, 2, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint32(offset: bigint): Promise<number> {\n const val = new Uint32Array(\n (await this.fileDescriptor.read(Buffer.alloc(4), 0, 4, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getBigUint64(offset: bigint): Promise<bigint> {\n const val = new BigInt64Array(\n (await this.fileDescriptor.read(Buffer.alloc(8), 0, 8, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffsset The offset, in byte, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n async slice(startOffsset: bigint, endOffset: bigint): Promise<ArrayBuffer> {\n const bigLength = endOffset - startOffsset;\n if (bigLength > Number.MAX_SAFE_INTEGER) {\n throw new Error('too big slice');\n }\n const length = Number(bigLength);\n return (await this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffsset)).buffer\n .buffer;\n }\n\n /**\n * the length (in bytes) of the data.\n */\n get length(): bigint {\n return this.size;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import { read, open, close, stat } from 'fs';
|
|
3
|
+
export class FileHandle {
|
|
4
|
+
constructor(fileDescriptor, stats) {
|
|
5
|
+
_defineProperty(this, "fileDescriptor", void 0);
|
|
6
|
+
_defineProperty(this, "stats", void 0);
|
|
7
|
+
_defineProperty(this, "read", (buffer, offset, length, position) => {
|
|
8
|
+
return new Promise(s => {
|
|
9
|
+
read(this.fileDescriptor, buffer, offset, length, position, (_err, bytesRead, buffer) => s({
|
|
10
|
+
bytesRead,
|
|
11
|
+
buffer
|
|
12
|
+
}));
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
this.fileDescriptor = fileDescriptor;
|
|
16
|
+
this.stats = stats;
|
|
17
|
+
}
|
|
18
|
+
static async open(path) {
|
|
19
|
+
const [fd, stats] = await Promise.all([new Promise((resolve, reject) => {
|
|
20
|
+
open(path, undefined, undefined, (_err, fd) => _err ? reject(_err) : resolve(fd));
|
|
21
|
+
}), new Promise((resolve, reject) => {
|
|
22
|
+
stat(path, {
|
|
23
|
+
bigint: true
|
|
24
|
+
}, (_err, stats) => _err ? reject(_err) : resolve(stats));
|
|
25
|
+
})]);
|
|
26
|
+
return new FileHandle(fd, stats);
|
|
27
|
+
}
|
|
28
|
+
async close() {
|
|
29
|
+
return new Promise(resolve => {
|
|
30
|
+
close(this.fileDescriptor, _err => resolve());
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
get stat() {
|
|
34
|
+
return this.stats;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=file-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-handle.js","names":["read","open","close","stat","FileHandle","constructor","fileDescriptor","stats","_defineProperty","buffer","offset","length","position","Promise","s","_err","bytesRead","path","fd","all","resolve","reject","undefined","bigint"],"sources":["../../../../src/lib/file-provider/file-handle.ts"],"sourcesContent":["import {read, open, close, stat, BigIntStats} from 'fs';\n\n/** file reading result */\nexport type FileReadResult = {\n /** amount of the bytes read */\n bytesRead: number;\n /** the buffer filled with data from file*/\n buffer: Buffer;\n};\n\n/** Object handling file info */\nexport class FileHandle {\n private fileDescriptor: number;\n private stats: BigIntStats;\n\n private constructor(fileDescriptor: number, stats: BigIntStats) {\n this.fileDescriptor = fileDescriptor;\n this.stats = stats;\n }\n /**\n * Opens a `FileHandle`.\n *\n * @param path path to the file\n * @return Fulfills with a {FileHandle} object.\n */\n\n static async open(path: string): Promise<FileHandle> {\n const [fd, stats] = await Promise.all([\n new Promise<number>((resolve, reject) => {\n open(path, undefined, undefined, (_err, fd) => (_err ? reject(_err) : resolve(fd)));\n }),\n new Promise<BigIntStats>((resolve, reject) => {\n stat(path, {bigint: true}, (_err, stats) => (_err ? reject(_err) : resolve(stats)));\n })\n ]);\n return new FileHandle(fd, stats);\n }\n\n /** Close file */\n async close(): Promise<void> {\n return new Promise<void>((resolve) => {\n close(this.fileDescriptor, (_err) => resolve());\n });\n }\n\n /**\n * Reads data from the file and stores that in the given buffer.\n *\n * If the file is not modified concurrently, the end-of-file is reached when the\n * number of bytes read is zero.\n * @param buffer A buffer that will be filled with the file data read.\n * @param offset The location in the buffer at which to start filling.\n * @param length The number of bytes to read.\n * @param position The location where to begin reading data from the file. If `null`, data will be read from the current file position, and the position will be updated. If `position` is an\n * integer, the current file position will remain unchanged.\n * @return Fulfills upon success with a FileReadResult object\n */\n read = (\n buffer: Buffer,\n offset: number,\n length: number,\n position: number | bigint\n ): Promise<FileReadResult> => {\n return new Promise((s) => {\n read(this.fileDescriptor, buffer, offset, length, position, (_err, bytesRead, buffer) =>\n s({bytesRead, buffer})\n );\n });\n };\n\n get stat(): BigIntStats {\n return this.stats;\n }\n}\n"],"mappings":";AAAA,SAAQA,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,IAAI,QAAoB,IAAI;AAWvD,OAAO,MAAMC,UAAU,CAAC;EAIdC,WAAWA,CAACC,cAAsB,EAAEC,KAAkB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,eA0CzD,CACLC,MAAc,EACdC,MAAc,EACdC,MAAc,EACdC,QAAyB,KACG;MAC5B,OAAO,IAAIC,OAAO,CAAEC,CAAC,IAAK;QACxBd,IAAI,CAAC,IAAI,CAACM,cAAc,EAAEG,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,CAACG,IAAI,EAAEC,SAAS,EAAEP,MAAM,KAClFK,CAAC,CAAC;UAACE,SAAS;UAAEP;QAAM,CAAC,CACvB,CAAC;MACH,CAAC,CAAC;IACJ,CAAC;IApDC,IAAI,CAACH,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAQA,aAAaN,IAAIA,CAACgB,IAAY,EAAuB;IACnD,MAAM,CAACC,EAAE,EAAEX,KAAK,CAAC,GAAG,MAAMM,OAAO,CAACM,GAAG,CAAC,CACpC,IAAIN,OAAO,CAAS,CAACO,OAAO,EAAEC,MAAM,KAAK;MACvCpB,IAAI,CAACgB,IAAI,EAAEK,SAAS,EAAEA,SAAS,EAAE,CAACP,IAAI,EAAEG,EAAE,KAAMH,IAAI,GAAGM,MAAM,CAACN,IAAI,CAAC,GAAGK,OAAO,CAACF,EAAE,CAAE,CAAC;IACrF,CAAC,CAAC,EACF,IAAIL,OAAO,CAAc,CAACO,OAAO,EAAEC,MAAM,KAAK;MAC5ClB,IAAI,CAACc,IAAI,EAAE;QAACM,MAAM,EAAE;MAAI,CAAC,EAAE,CAACR,IAAI,EAAER,KAAK,KAAMQ,IAAI,GAAGM,MAAM,CAACN,IAAI,CAAC,GAAGK,OAAO,CAACb,KAAK,CAAE,CAAC;IACrF,CAAC,CAAC,CACH,CAAC;IACF,OAAO,IAAIH,UAAU,CAACc,EAAE,EAAEX,KAAK,CAAC;EAClC;EAGA,MAAML,KAAKA,CAAA,EAAkB;IAC3B,OAAO,IAAIW,OAAO,CAAQO,OAAO,IAAK;MACpClB,KAAK,CAAC,IAAI,CAACI,cAAc,EAAGS,IAAI,IAAKK,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;EACJ;EA2BA,IAAIjB,IAAIA,CAAA,EAAgB;IACtB,OAAO,IAAI,CAACI,KAAK;EACnB;AACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const isFileProvider = fileProvider => {
|
|
2
|
+
return (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.getUint8) && (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.slice) && (fileProvider === null || fileProvider === void 0 ? void 0 : fileProvider.length);
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=file-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-provider.js","names":["isFileProvider","fileProvider","getUint8","slice","length"],"sources":["../../../../src/lib/file-provider/file-provider.ts"],"sourcesContent":["/**\n * Interface for providing file data\n */\nexport interface FileProvider {\n /**\n * Cleanup class data\n */\n destroy(): Promise<void>;\n /**\n * Gets an unsigned 8-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n getUint8(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 16-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n getUint16(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the file of the view where to read the data.\n */\n getUint32(offset: bigint): Promise<number>;\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in byte, from the file of the view where to read the data.\n */\n getBigUint64(offset: bigint): Promise<bigint>;\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffset The offset, in bytes, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n slice(startOffset: bigint, endOffset: bigint): Promise<ArrayBuffer>;\n\n /**\n * the length (in bytes) of the data.\n */\n length: bigint;\n}\n\n/**\n * Check is the object has FileProvider members\n * @param fileProvider - tested object\n */\nexport const isFileProvider = (fileProvider: unknown) => {\n return (\n (fileProvider as FileProvider)?.getUint8 &&\n (fileProvider as FileProvider)?.slice &&\n (fileProvider as FileProvider)?.length\n );\n};\n"],"mappings":"AAiDA,OAAO,MAAMA,cAAc,GAAIC,YAAqB,IAAK;EACvD,OACE,CAACA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBC,QAAQ,MACvCD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBE,KAAK,MACpCF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAmBG,MAAM;AAE1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.js","names":[],"sources":["../../../../src/lib/filesystems/filesystem.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type ReadOptions = {};\n\nexport type Stat = {\n size: number;\n isDirectory: () => boolean;\n};\n\n/**\n * A FileSystem interface can encapsulate various file sources,\n * a FileList, a ZipFile, a GoogleDrive etc.\n */\nexport interface FileSystem {\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: RequestInfo, options?: RequestInit): Promise<Response>;\n}\n\n/**\n * A random access file system\n */\nexport interface RandomAccessReadFileSystem extends FileSystem {\n open(path: string, flags: unknown, mode?: unknown): Promise<any>;\n close(fd: unknown): Promise<void>;\n fstat(fd: unknown): Promise<Stat>;\n read(fd: any, options?: ReadOptions): Promise<{bytesRead: number; buffer: Buffer}>;\n // read(\n // fd: any,\n // buffer: ArrayBuffer | ArrayBufferView,\n // offset?: number,\n // length?: number,\n // position?: number\n // ): Promise<{bytesRead: number; buffer: ArrayBuffer}>;\n}\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: string | number, mode?: any): 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*/\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-filesystem.js","names":["fs","NodeFileSystem","constructor","options","fetch","_fetch","readdir","dirname","arguments","length","undefined","stat","path","info","size","Number","isDirectory","fallbackFetch","open","flags","mode","close","fd","fstat","read","_ref","buffer","offset","byteLength","position","totalBytesRead","bytesRead"],"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"sourcesContent":["import * as fs from '../node/fs';\nimport {
|
|
1
|
+
{"version":3,"file":"node-filesystem.js","names":["fs","NodeFileSystem","constructor","options","fetch","_fetch","readdir","dirname","arguments","length","undefined","stat","path","info","size","Number","isDirectory","fallbackFetch","open","flags","mode","close","fd","fstat","read","_ref","buffer","offset","byteLength","position","totalBytesRead","bytesRead"],"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"sourcesContent":["import * as fs from '../node/fs';\nimport {FileSystem, RandomAccessReadFileSystem} from './filesystem';\n// import {fetchFile} from \"../fetch/fetch-file\"\n// import {selectLoader} from \"../api/select-loader\";\n\ntype Stat = {\n size: number;\n isDirectory: () => boolean;\n info?: fs.Stats;\n};\n\ntype ReadOptions = {\n buffer?: Buffer;\n offset?: number;\n length?: number;\n position?: number;\n};\n\n/**\n * FileSystem pass-through for Node.js\n * Compatible with BrowserFileSystem.\n * @param options\n */\nexport class NodeFileSystem implements FileSystem, RandomAccessReadFileSystem {\n // implements FileSystem\n constructor(options: {[key: string]: any}) {\n this.fetch = options._fetch;\n }\n\n async readdir(dirname = '.', options?: {}): Promise<any[]> {\n return await fs.readdir(dirname, options);\n }\n\n async stat(path: string, options?: {}): Promise<Stat> {\n const info = await fs.stat(path, options);\n return {size: Number(info.size), isDirectory: () => false, info};\n }\n\n async fetch(path: string, options: {[key: string]: any}) {\n // Falls back to handle https:/http:/data: etc fetches\n // eslint-disable-next-line\n const fallbackFetch = options.fetch || this.fetch;\n return fallbackFetch(path, options);\n }\n\n // implements IRandomAccessFileSystem\n async open(path: string, flags: string | number, mode?: any): Promise<number> {\n return await fs.open(path, flags);\n }\n\n async close(fd: number): Promise<void> {\n return await fs.close(fd);\n }\n\n async fstat(fd: number): Promise<Stat> {\n const info = await fs.fstat(fd);\n return info;\n }\n\n async read(\n fd: number,\n // @ts-ignore Possibly null\n {buffer = null, offset = 0, length = buffer.byteLength, position = null}: ReadOptions\n ): Promise<{bytesRead: number; buffer: Buffer}> {\n let totalBytesRead = 0;\n // Read in loop until we get required number of bytes\n while (totalBytesRead < length) {\n const {bytesRead} = await fs.read(\n fd,\n buffer,\n offset + totalBytesRead,\n length - totalBytesRead,\n position + totalBytesRead\n );\n totalBytesRead += bytesRead;\n }\n return {bytesRead: totalBytesRead, buffer};\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,EAAE,MAAM,YAAY;AAuBhC,OAAO,MAAMC,cAAc,CAAmD;EAE5EC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IAAI,CAACC,KAAK,GAAGD,OAAO,CAACE,MAAM;EAC7B;EAEA,MAAMC,OAAOA,CAAA,EAA8C;IAAA,IAA7CC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;IAAA,IAAEL,OAAY,GAAAK,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IACvC,OAAO,MAAMV,EAAE,CAACM,OAAO,CAACC,OAAO,EAAEJ,OAAO,CAAC;EAC3C;EAEA,MAAMQ,IAAIA,CAACC,IAAY,EAAET,OAAY,EAAiB;IACpD,MAAMU,IAAI,GAAG,MAAMb,EAAE,CAACW,IAAI,CAACC,IAAI,EAAET,OAAO,CAAC;IACzC,OAAO;MAACW,IAAI,EAAEC,MAAM,CAACF,IAAI,CAACC,IAAI,CAAC;MAAEE,WAAW,EAAEA,CAAA,KAAM,KAAK;MAAEH;IAAI,CAAC;EAClE;EAEA,MAAMT,KAAKA,CAACQ,IAAY,EAAET,OAA6B,EAAE;IAGvD,MAAMc,aAAa,GAAGd,OAAO,CAACC,KAAK,IAAI,IAAI,CAACA,KAAK;IACjD,OAAOa,aAAa,CAACL,IAAI,EAAET,OAAO,CAAC;EACrC;EAGA,MAAMe,IAAIA,CAACN,IAAY,EAAEO,KAAsB,EAAEC,IAAU,EAAmB;IAC5E,OAAO,MAAMpB,EAAE,CAACkB,IAAI,CAACN,IAAI,EAAEO,KAAK,CAAC;EACnC;EAEA,MAAME,KAAKA,CAACC,EAAU,EAAiB;IACrC,OAAO,MAAMtB,EAAE,CAACqB,KAAK,CAACC,EAAE,CAAC;EAC3B;EAEA,MAAMC,KAAKA,CAACD,EAAU,EAAiB;IACrC,MAAMT,IAAI,GAAG,MAAMb,EAAE,CAACuB,KAAK,CAACD,EAAE,CAAC;IAC/B,OAAOT,IAAI;EACb;EAEA,MAAMW,IAAIA,CACRF,EAAU,EAAAG,IAAA,EAGoC;IAAA,IAD9C;MAACC,MAAM,GAAG,IAAI;MAAEC,MAAM,GAAG,CAAC;MAAElB,MAAM,GAAGiB,MAAM,CAACE,UAAU;MAAEC,QAAQ,GAAG;IAAiB,CAAC,GAAAJ,IAAA;IAErF,IAAIK,cAAc,GAAG,CAAC;IAEtB,OAAOA,cAAc,GAAGrB,MAAM,EAAE;MAC9B,MAAM;QAACsB;MAAS,CAAC,GAAG,MAAM/B,EAAE,CAACwB,IAAI,CAC/BF,EAAE,EACFI,MAAM,EACNC,MAAM,GAAGG,cAAc,EACvBrB,MAAM,GAAGqB,cAAc,EACvBD,QAAQ,GAAGC,cACb,CAAC;MACDA,cAAc,IAAIC,SAAS;IAC7B;IACA,OAAO;MAACA,SAAS,EAAED,cAAc;MAAEJ;IAAM,CAAC;EAC5C;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.browser.js","names":["isSupported"],"sources":["../../../../src/lib/node/fs.browser.ts"],"sourcesContent":["export const isSupported = false;\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,KAAK"}
|