@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
package/dist/es5/index.js
CHANGED
|
@@ -5,6 +5,24 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "DataViewFile", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _dataViewFile.DataViewFile;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "FileHandle", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _fileHandle.FileHandle;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "FileHandleFile", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _fileHandleFile.FileHandleFile;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
8
26
|
Object.defineProperty(exports, "JSONLoader", {
|
|
9
27
|
enumerable: true,
|
|
10
28
|
get: function get() {
|
|
@@ -20,7 +38,7 @@ Object.defineProperty(exports, "RequestScheduler", {
|
|
|
20
38
|
Object.defineProperty(exports, "_NodeFileSystem", {
|
|
21
39
|
enumerable: true,
|
|
22
40
|
get: function get() {
|
|
23
|
-
return _nodeFilesystem.
|
|
41
|
+
return _nodeFilesystem.NodeFileSystem;
|
|
24
42
|
}
|
|
25
43
|
});
|
|
26
44
|
Object.defineProperty(exports, "_addAliases", {
|
|
@@ -162,6 +180,12 @@ Object.defineProperty(exports, "isBuffer", {
|
|
|
162
180
|
return _memoryConversionUtils.isBuffer;
|
|
163
181
|
}
|
|
164
182
|
});
|
|
183
|
+
Object.defineProperty(exports, "isFileProvider", {
|
|
184
|
+
enumerable: true,
|
|
185
|
+
get: function get() {
|
|
186
|
+
return _fileProvider.isFileProvider;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
165
189
|
Object.defineProperty(exports, "isWorker", {
|
|
166
190
|
enumerable: true,
|
|
167
191
|
get: function get() {
|
|
@@ -339,9 +363,13 @@ var fs = _interopRequireWildcard(require("./lib/node/fs"));
|
|
|
339
363
|
exports.fs = fs;
|
|
340
364
|
var stream = _interopRequireWildcard(require("./lib/node/stream"));
|
|
341
365
|
exports.stream = stream;
|
|
366
|
+
var _nodeFilesystem = require("./lib/filesystems/node-filesystem");
|
|
367
|
+
var _fileProvider = require("./lib/file-provider/file-provider");
|
|
368
|
+
var _fileHandle = require("./lib/file-provider/file-handle");
|
|
369
|
+
var _fileHandleFile = require("./lib/file-provider/file-handle-file");
|
|
370
|
+
var _dataViewFile = require("./lib/file-provider/data-view-file");
|
|
342
371
|
var _readableFile = require("./lib/filesystems/readable-file");
|
|
343
372
|
var _writableFile = require("./lib/filesystems/writable-file");
|
|
344
|
-
var _nodeFilesystem = _interopRequireDefault(require("./lib/filesystems/node-filesystem"));
|
|
345
373
|
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); }
|
|
346
374
|
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; }
|
|
347
375
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_loaderTypes","require","_assert","_globals","_mergeLoaderOptions","_createLoaderWorker","_parseWithWorker","_encodeWithWorker","_parseJson","_arrayBufferUtils","_memoryCopyUtils","_dataviewCopyUtils","_getFirstCharacters","_textIterators","_asyncIteration","_requestScheduler","_interopRequireDefault","_fileAliases","_jsonLoader","_memoryConversionUtils","_promisify","path","_interopRequireWildcard","exports","fs","stream","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_loaderTypes","require","_assert","_globals","_mergeLoaderOptions","_createLoaderWorker","_parseWithWorker","_encodeWithWorker","_parseJson","_arrayBufferUtils","_memoryCopyUtils","_dataviewCopyUtils","_getFirstCharacters","_textIterators","_asyncIteration","_requestScheduler","_interopRequireDefault","_fileAliases","_jsonLoader","_memoryConversionUtils","_promisify","path","_interopRequireWildcard","exports","fs","stream","_nodeFilesystem","_fileProvider","_fileHandle","_fileHandleFile","_dataViewFile","_readableFile","_writableFile","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"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":"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"}
|
package/dist/es5/json-loader.js
CHANGED
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.JSONLoader = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
10
|
+
var VERSION = typeof "4.0.0-alpha.24" !== 'undefined' ? "4.0.0-alpha.24" : 'latest';
|
|
11
11
|
var JSONLoader = {
|
|
12
12
|
name: 'JSON',
|
|
13
13
|
id: 'json',
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DataViewFile = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var toNumber = function toNumber(bigint) {
|
|
14
|
+
if (bigint > Number.MAX_SAFE_INTEGER) {
|
|
15
|
+
throw new Error('Offset is out of bounds');
|
|
16
|
+
}
|
|
17
|
+
return Number(bigint);
|
|
18
|
+
};
|
|
19
|
+
var DataViewFile = function () {
|
|
20
|
+
function DataViewFile(file) {
|
|
21
|
+
(0, _classCallCheck2.default)(this, DataViewFile);
|
|
22
|
+
(0, _defineProperty2.default)(this, "file", void 0);
|
|
23
|
+
this.file = file;
|
|
24
|
+
}
|
|
25
|
+
(0, _createClass2.default)(DataViewFile, [{
|
|
26
|
+
key: "destroy",
|
|
27
|
+
value: function () {
|
|
28
|
+
var _destroy = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
29
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
|
+
while (1) switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
case "end":
|
|
33
|
+
return _context.stop();
|
|
34
|
+
}
|
|
35
|
+
}, _callee);
|
|
36
|
+
}));
|
|
37
|
+
function destroy() {
|
|
38
|
+
return _destroy.apply(this, arguments);
|
|
39
|
+
}
|
|
40
|
+
return destroy;
|
|
41
|
+
}()
|
|
42
|
+
}, {
|
|
43
|
+
key: "getUint8",
|
|
44
|
+
value: function () {
|
|
45
|
+
var _getUint = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(offset) {
|
|
46
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
47
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
return _context2.abrupt("return", this.file.getUint8(toNumber(offset)));
|
|
50
|
+
case 1:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context2.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee2, this);
|
|
55
|
+
}));
|
|
56
|
+
function getUint8(_x) {
|
|
57
|
+
return _getUint.apply(this, arguments);
|
|
58
|
+
}
|
|
59
|
+
return getUint8;
|
|
60
|
+
}()
|
|
61
|
+
}, {
|
|
62
|
+
key: "getUint16",
|
|
63
|
+
value: function () {
|
|
64
|
+
var _getUint2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(offset) {
|
|
65
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
66
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
return _context3.abrupt("return", this.file.getUint16(toNumber(offset), true));
|
|
69
|
+
case 1:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context3.stop();
|
|
72
|
+
}
|
|
73
|
+
}, _callee3, this);
|
|
74
|
+
}));
|
|
75
|
+
function getUint16(_x2) {
|
|
76
|
+
return _getUint2.apply(this, arguments);
|
|
77
|
+
}
|
|
78
|
+
return getUint16;
|
|
79
|
+
}()
|
|
80
|
+
}, {
|
|
81
|
+
key: "getUint32",
|
|
82
|
+
value: function () {
|
|
83
|
+
var _getUint3 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(offset) {
|
|
84
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
85
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
return _context4.abrupt("return", this.file.getUint32(toNumber(offset), true));
|
|
88
|
+
case 1:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context4.stop();
|
|
91
|
+
}
|
|
92
|
+
}, _callee4, this);
|
|
93
|
+
}));
|
|
94
|
+
function getUint32(_x3) {
|
|
95
|
+
return _getUint3.apply(this, arguments);
|
|
96
|
+
}
|
|
97
|
+
return getUint32;
|
|
98
|
+
}()
|
|
99
|
+
}, {
|
|
100
|
+
key: "getBigUint64",
|
|
101
|
+
value: function () {
|
|
102
|
+
var _getBigUint = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(offset) {
|
|
103
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
104
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
105
|
+
case 0:
|
|
106
|
+
return _context5.abrupt("return", this.file.getBigUint64(toNumber(offset), true));
|
|
107
|
+
case 1:
|
|
108
|
+
case "end":
|
|
109
|
+
return _context5.stop();
|
|
110
|
+
}
|
|
111
|
+
}, _callee5, this);
|
|
112
|
+
}));
|
|
113
|
+
function getBigUint64(_x4) {
|
|
114
|
+
return _getBigUint.apply(this, arguments);
|
|
115
|
+
}
|
|
116
|
+
return getBigUint64;
|
|
117
|
+
}()
|
|
118
|
+
}, {
|
|
119
|
+
key: "slice",
|
|
120
|
+
value: function () {
|
|
121
|
+
var _slice = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(startOffset, endOffset) {
|
|
122
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
123
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
124
|
+
case 0:
|
|
125
|
+
return _context6.abrupt("return", this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset)));
|
|
126
|
+
case 1:
|
|
127
|
+
case "end":
|
|
128
|
+
return _context6.stop();
|
|
129
|
+
}
|
|
130
|
+
}, _callee6, this);
|
|
131
|
+
}));
|
|
132
|
+
function slice(_x5, _x6) {
|
|
133
|
+
return _slice.apply(this, arguments);
|
|
134
|
+
}
|
|
135
|
+
return slice;
|
|
136
|
+
}()
|
|
137
|
+
}, {
|
|
138
|
+
key: "length",
|
|
139
|
+
get: function get() {
|
|
140
|
+
return BigInt(this.file.byteLength);
|
|
141
|
+
}
|
|
142
|
+
}]);
|
|
143
|
+
return DataViewFile;
|
|
144
|
+
}();
|
|
145
|
+
exports.DataViewFile = DataViewFile;
|
|
146
|
+
//# 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","file","_classCallCheck2","default","_defineProperty2","_createClass2","key","value","_destroy","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stop","destroy","apply","arguments","_getUint","_callee2","offset","_callee2$","_context2","abrupt","getUint8","_x","_getUint2","_callee3","_callee3$","_context3","getUint16","_x2","_getUint3","_callee4","_callee4$","_context4","getUint32","_x3","_getBigUint","_callee5","_callee5$","_context5","getBigUint64","_x4","_slice","_callee6","startOffset","endOffset","_callee6$","_context6","buffer","slice","_x5","_x6","get","BigInt","byteLength","exports"],"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":"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"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FileHandleFile = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _fileHandle = require("./file-handle");
|
|
14
|
+
var _fileAliases = require("../path-utils/file-aliases");
|
|
15
|
+
var FileHandleFile = function () {
|
|
16
|
+
function FileHandleFile(fileDescriptor, size) {
|
|
17
|
+
(0, _classCallCheck2.default)(this, FileHandleFile);
|
|
18
|
+
(0, _defineProperty2.default)(this, "fileDescriptor", void 0);
|
|
19
|
+
(0, _defineProperty2.default)(this, "size", void 0);
|
|
20
|
+
this.fileDescriptor = fileDescriptor;
|
|
21
|
+
this.size = size;
|
|
22
|
+
}
|
|
23
|
+
(0, _createClass2.default)(FileHandleFile, [{
|
|
24
|
+
key: "destroy",
|
|
25
|
+
value: function () {
|
|
26
|
+
var _destroy = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
27
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
28
|
+
while (1) switch (_context.prev = _context.next) {
|
|
29
|
+
case 0:
|
|
30
|
+
_context.next = 2;
|
|
31
|
+
return this.fileDescriptor.close();
|
|
32
|
+
case 2:
|
|
33
|
+
case "end":
|
|
34
|
+
return _context.stop();
|
|
35
|
+
}
|
|
36
|
+
}, _callee, this);
|
|
37
|
+
}));
|
|
38
|
+
function destroy() {
|
|
39
|
+
return _destroy.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
return destroy;
|
|
42
|
+
}()
|
|
43
|
+
}, {
|
|
44
|
+
key: "getUint8",
|
|
45
|
+
value: function () {
|
|
46
|
+
var _getUint = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(offset) {
|
|
47
|
+
var val;
|
|
48
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
49
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
_context2.t0 = Uint8Array;
|
|
52
|
+
_context2.next = 3;
|
|
53
|
+
return this.fileDescriptor.read(Buffer.alloc(1), 0, 1, offset);
|
|
54
|
+
case 3:
|
|
55
|
+
_context2.t1 = _context2.sent.buffer.buffer;
|
|
56
|
+
val = new _context2.t0(_context2.t1).at(0);
|
|
57
|
+
if (!(val === undefined)) {
|
|
58
|
+
_context2.next = 7;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
throw new Error('something went wrong');
|
|
62
|
+
case 7:
|
|
63
|
+
return _context2.abrupt("return", val);
|
|
64
|
+
case 8:
|
|
65
|
+
case "end":
|
|
66
|
+
return _context2.stop();
|
|
67
|
+
}
|
|
68
|
+
}, _callee2, this);
|
|
69
|
+
}));
|
|
70
|
+
function getUint8(_x) {
|
|
71
|
+
return _getUint.apply(this, arguments);
|
|
72
|
+
}
|
|
73
|
+
return getUint8;
|
|
74
|
+
}()
|
|
75
|
+
}, {
|
|
76
|
+
key: "getUint16",
|
|
77
|
+
value: function () {
|
|
78
|
+
var _getUint2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(offset) {
|
|
79
|
+
var val;
|
|
80
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
81
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
_context3.t0 = Uint16Array;
|
|
84
|
+
_context3.next = 3;
|
|
85
|
+
return this.fileDescriptor.read(Buffer.alloc(2), 0, 2, offset);
|
|
86
|
+
case 3:
|
|
87
|
+
_context3.t1 = _context3.sent.buffer.buffer;
|
|
88
|
+
val = new _context3.t0(_context3.t1).at(0);
|
|
89
|
+
if (!(val === undefined)) {
|
|
90
|
+
_context3.next = 7;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
throw new Error('something went wrong');
|
|
94
|
+
case 7:
|
|
95
|
+
return _context3.abrupt("return", val);
|
|
96
|
+
case 8:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context3.stop();
|
|
99
|
+
}
|
|
100
|
+
}, _callee3, this);
|
|
101
|
+
}));
|
|
102
|
+
function getUint16(_x2) {
|
|
103
|
+
return _getUint2.apply(this, arguments);
|
|
104
|
+
}
|
|
105
|
+
return getUint16;
|
|
106
|
+
}()
|
|
107
|
+
}, {
|
|
108
|
+
key: "getUint32",
|
|
109
|
+
value: function () {
|
|
110
|
+
var _getUint3 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(offset) {
|
|
111
|
+
var val;
|
|
112
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
113
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
114
|
+
case 0:
|
|
115
|
+
_context4.t0 = Uint32Array;
|
|
116
|
+
_context4.next = 3;
|
|
117
|
+
return this.fileDescriptor.read(Buffer.alloc(4), 0, 4, offset);
|
|
118
|
+
case 3:
|
|
119
|
+
_context4.t1 = _context4.sent.buffer.buffer;
|
|
120
|
+
val = new _context4.t0(_context4.t1).at(0);
|
|
121
|
+
if (!(val === undefined)) {
|
|
122
|
+
_context4.next = 7;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
throw new Error('something went wrong');
|
|
126
|
+
case 7:
|
|
127
|
+
return _context4.abrupt("return", val);
|
|
128
|
+
case 8:
|
|
129
|
+
case "end":
|
|
130
|
+
return _context4.stop();
|
|
131
|
+
}
|
|
132
|
+
}, _callee4, this);
|
|
133
|
+
}));
|
|
134
|
+
function getUint32(_x3) {
|
|
135
|
+
return _getUint3.apply(this, arguments);
|
|
136
|
+
}
|
|
137
|
+
return getUint32;
|
|
138
|
+
}()
|
|
139
|
+
}, {
|
|
140
|
+
key: "getBigUint64",
|
|
141
|
+
value: function () {
|
|
142
|
+
var _getBigUint = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(offset) {
|
|
143
|
+
var val;
|
|
144
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
145
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
146
|
+
case 0:
|
|
147
|
+
_context5.t0 = BigInt64Array;
|
|
148
|
+
_context5.next = 3;
|
|
149
|
+
return this.fileDescriptor.read(Buffer.alloc(8), 0, 8, offset);
|
|
150
|
+
case 3:
|
|
151
|
+
_context5.t1 = _context5.sent.buffer.buffer;
|
|
152
|
+
val = new _context5.t0(_context5.t1).at(0);
|
|
153
|
+
if (!(val === undefined)) {
|
|
154
|
+
_context5.next = 7;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
throw new Error('something went wrong');
|
|
158
|
+
case 7:
|
|
159
|
+
return _context5.abrupt("return", val);
|
|
160
|
+
case 8:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context5.stop();
|
|
163
|
+
}
|
|
164
|
+
}, _callee5, this);
|
|
165
|
+
}));
|
|
166
|
+
function getBigUint64(_x4) {
|
|
167
|
+
return _getBigUint.apply(this, arguments);
|
|
168
|
+
}
|
|
169
|
+
return getBigUint64;
|
|
170
|
+
}()
|
|
171
|
+
}, {
|
|
172
|
+
key: "slice",
|
|
173
|
+
value: function () {
|
|
174
|
+
var _slice = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(startOffsset, endOffset) {
|
|
175
|
+
var bigLength, length;
|
|
176
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
177
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
178
|
+
case 0:
|
|
179
|
+
bigLength = endOffset - startOffsset;
|
|
180
|
+
if (!(bigLength > Number.MAX_SAFE_INTEGER)) {
|
|
181
|
+
_context6.next = 3;
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
throw new Error('too big slice');
|
|
185
|
+
case 3:
|
|
186
|
+
length = Number(bigLength);
|
|
187
|
+
_context6.next = 6;
|
|
188
|
+
return this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffsset);
|
|
189
|
+
case 6:
|
|
190
|
+
return _context6.abrupt("return", _context6.sent.buffer.buffer);
|
|
191
|
+
case 7:
|
|
192
|
+
case "end":
|
|
193
|
+
return _context6.stop();
|
|
194
|
+
}
|
|
195
|
+
}, _callee6, this);
|
|
196
|
+
}));
|
|
197
|
+
function slice(_x5, _x6) {
|
|
198
|
+
return _slice.apply(this, arguments);
|
|
199
|
+
}
|
|
200
|
+
return slice;
|
|
201
|
+
}()
|
|
202
|
+
}, {
|
|
203
|
+
key: "length",
|
|
204
|
+
get: function get() {
|
|
205
|
+
return this.size;
|
|
206
|
+
}
|
|
207
|
+
}], [{
|
|
208
|
+
key: "from",
|
|
209
|
+
value: function () {
|
|
210
|
+
var _from = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(path) {
|
|
211
|
+
var fileDescriptor;
|
|
212
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
213
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
214
|
+
case 0:
|
|
215
|
+
path = (0, _fileAliases.resolvePath)(path);
|
|
216
|
+
_context7.next = 3;
|
|
217
|
+
return _fileHandle.FileHandle.open(path);
|
|
218
|
+
case 3:
|
|
219
|
+
fileDescriptor = _context7.sent;
|
|
220
|
+
return _context7.abrupt("return", new FileHandleFile(fileDescriptor, fileDescriptor.stat.size));
|
|
221
|
+
case 5:
|
|
222
|
+
case "end":
|
|
223
|
+
return _context7.stop();
|
|
224
|
+
}
|
|
225
|
+
}, _callee7);
|
|
226
|
+
}));
|
|
227
|
+
function from(_x7) {
|
|
228
|
+
return _from.apply(this, arguments);
|
|
229
|
+
}
|
|
230
|
+
return from;
|
|
231
|
+
}()
|
|
232
|
+
}]);
|
|
233
|
+
return FileHandleFile;
|
|
234
|
+
}();
|
|
235
|
+
exports.FileHandleFile = FileHandleFile;
|
|
236
|
+
//# sourceMappingURL=file-handle-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-handle-file.js","names":["_fileHandle","require","_fileAliases","FileHandleFile","fileDescriptor","size","_classCallCheck2","default","_defineProperty2","_createClass2","key","value","_destroy","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","close","stop","destroy","apply","arguments","_getUint","_callee2","offset","val","_callee2$","_context2","t0","Uint8Array","read","Buffer","alloc","t1","sent","buffer","at","undefined","Error","abrupt","getUint8","_x","_getUint2","_callee3","_callee3$","_context3","Uint16Array","getUint16","_x2","_getUint3","_callee4","_callee4$","_context4","Uint32Array","getUint32","_x3","_getBigUint","_callee5","_callee5$","_context5","BigInt64Array","getBigUint64","_x4","_slice","_callee6","startOffsset","endOffset","bigLength","length","_callee6$","_context6","Number","MAX_SAFE_INTEGER","slice","_x5","_x6","get","_from","_callee7","path","_callee7$","_context7","resolvePath","FileHandle","open","stat","from","_x7","exports"],"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,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FileHandle = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _fs = require("fs");
|
|
15
|
+
var FileHandle = function () {
|
|
16
|
+
function FileHandle(fileDescriptor, stats) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
(0, _classCallCheck2.default)(this, FileHandle);
|
|
19
|
+
(0, _defineProperty2.default)(this, "fileDescriptor", void 0);
|
|
20
|
+
(0, _defineProperty2.default)(this, "stats", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "read", function (buffer, offset, length, position) {
|
|
22
|
+
return new Promise(function (s) {
|
|
23
|
+
(0, _fs.read)(_this.fileDescriptor, buffer, offset, length, position, function (_err, bytesRead, buffer) {
|
|
24
|
+
return s({
|
|
25
|
+
bytesRead: bytesRead,
|
|
26
|
+
buffer: buffer
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
this.fileDescriptor = fileDescriptor;
|
|
32
|
+
this.stats = stats;
|
|
33
|
+
}
|
|
34
|
+
(0, _createClass2.default)(FileHandle, [{
|
|
35
|
+
key: "close",
|
|
36
|
+
value: function () {
|
|
37
|
+
var _close2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
38
|
+
var _this2 = this;
|
|
39
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
40
|
+
while (1) switch (_context.prev = _context.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
return _context.abrupt("return", new Promise(function (resolve) {
|
|
43
|
+
(0, _fs.close)(_this2.fileDescriptor, function (_err) {
|
|
44
|
+
return resolve();
|
|
45
|
+
});
|
|
46
|
+
}));
|
|
47
|
+
case 1:
|
|
48
|
+
case "end":
|
|
49
|
+
return _context.stop();
|
|
50
|
+
}
|
|
51
|
+
}, _callee);
|
|
52
|
+
}));
|
|
53
|
+
function close() {
|
|
54
|
+
return _close2.apply(this, arguments);
|
|
55
|
+
}
|
|
56
|
+
return close;
|
|
57
|
+
}()
|
|
58
|
+
}, {
|
|
59
|
+
key: "stat",
|
|
60
|
+
get: function get() {
|
|
61
|
+
return this.stats;
|
|
62
|
+
}
|
|
63
|
+
}], [{
|
|
64
|
+
key: "open",
|
|
65
|
+
value: function () {
|
|
66
|
+
var _open2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(path) {
|
|
67
|
+
var _yield$Promise$all, _yield$Promise$all2, fd, stats;
|
|
68
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
69
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
70
|
+
case 0:
|
|
71
|
+
_context2.next = 2;
|
|
72
|
+
return Promise.all([new Promise(function (resolve, reject) {
|
|
73
|
+
(0, _fs.open)(path, undefined, undefined, function (_err, fd) {
|
|
74
|
+
return _err ? reject(_err) : resolve(fd);
|
|
75
|
+
});
|
|
76
|
+
}), new Promise(function (resolve, reject) {
|
|
77
|
+
(0, _fs.stat)(path, {
|
|
78
|
+
bigint: true
|
|
79
|
+
}, function (_err, stats) {
|
|
80
|
+
return _err ? reject(_err) : resolve(stats);
|
|
81
|
+
});
|
|
82
|
+
})]);
|
|
83
|
+
case 2:
|
|
84
|
+
_yield$Promise$all = _context2.sent;
|
|
85
|
+
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
86
|
+
fd = _yield$Promise$all2[0];
|
|
87
|
+
stats = _yield$Promise$all2[1];
|
|
88
|
+
return _context2.abrupt("return", new FileHandle(fd, stats));
|
|
89
|
+
case 7:
|
|
90
|
+
case "end":
|
|
91
|
+
return _context2.stop();
|
|
92
|
+
}
|
|
93
|
+
}, _callee2);
|
|
94
|
+
}));
|
|
95
|
+
function open(_x) {
|
|
96
|
+
return _open2.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
return open;
|
|
99
|
+
}()
|
|
100
|
+
}]);
|
|
101
|
+
return FileHandle;
|
|
102
|
+
}();
|
|
103
|
+
exports.FileHandle = FileHandle;
|
|
104
|
+
//# sourceMappingURL=file-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-handle.js","names":["_fs","require","FileHandle","fileDescriptor","stats","_this","_classCallCheck2","default","_defineProperty2","buffer","offset","length","position","Promise","s","read","_err","bytesRead","_createClass2","key","value","_close2","_asyncToGenerator2","_regenerator","mark","_callee","_this2","wrap","_callee$","_context","prev","next","abrupt","resolve","close","stop","apply","arguments","get","_open2","_callee2","path","_yield$Promise$all","_yield$Promise$all2","fd","_callee2$","_context2","all","reject","open","undefined","stat","bigint","sent","_slicedToArray2","_x","exports"],"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":"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"}
|