@loaders.gl/shapefile 3.0.10 → 3.0.14
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/dbf-worker.js +1 -1
- package/dist/dbf-worker.js.map +1 -1
- package/dist/dist.es5.min.js +1 -1
- package/dist/dist.es5.min.js.map +1 -1
- package/dist/dist.min.js +1 -1
- package/dist/dist.min.js.map +1 -1
- package/dist/es5/dbf-loader.js +1 -1
- package/dist/es5/index.js +0 -10
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/shapefile-loader.js +1 -1
- package/dist/es5/shp-loader.js +1 -1
- package/dist/esm/dbf-loader.js +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/parsers/parse-dbf.js +2 -2
- package/dist/esm/lib/parsers/parse-dbf.js.map +1 -1
- package/dist/esm/lib/parsers/parse-shapefile.js +1 -1
- package/dist/esm/lib/parsers/parse-shapefile.js.map +1 -1
- package/dist/esm/lib/parsers/parse-shp-geometry.js +1 -1
- package/dist/esm/lib/parsers/parse-shp-geometry.js.map +1 -1
- package/dist/esm/lib/parsers/parse-shp-header.js +2 -2
- package/dist/esm/lib/parsers/parse-shp-header.js.map +1 -1
- package/dist/esm/lib/parsers/parse-shp.js +2 -2
- package/dist/esm/lib/parsers/parse-shp.js.map +1 -1
- package/dist/esm/shapefile-loader.js +1 -1
- package/dist/esm/shp-loader.js +1 -1
- package/dist/shp-worker.js +1 -1
- package/dist/shp-worker.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +0 -3
- package/dist/es5/lib/filesystems/node-filesystem.js +0 -272
- package/dist/es5/lib/filesystems/node-filesystem.js.map +0 -1
- package/dist/esm/lib/filesystems/node-filesystem.js +0 -67
- package/dist/esm/lib/filesystems/node-filesystem.js.map +0 -1
- package/src/lib/filesystems/node-filesystem.ts +0 -87
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
19
|
-
|
|
20
|
-
var _util = _interopRequireDefault(require("util"));
|
|
21
|
-
|
|
22
|
-
var NodeFileSystem = function () {
|
|
23
|
-
function NodeFileSystem(options) {
|
|
24
|
-
(0, _classCallCheck2.default)(this, NodeFileSystem);
|
|
25
|
-
this.fetch = options._fetch;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
(0, _createClass2.default)(NodeFileSystem, [{
|
|
29
|
-
key: "readdir",
|
|
30
|
-
value: function () {
|
|
31
|
-
var _readdir = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
32
|
-
var dirname,
|
|
33
|
-
options,
|
|
34
|
-
readdir,
|
|
35
|
-
_args = arguments;
|
|
36
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
|
-
while (1) {
|
|
38
|
-
switch (_context.prev = _context.next) {
|
|
39
|
-
case 0:
|
|
40
|
-
dirname = _args.length > 0 && _args[0] !== undefined ? _args[0] : '.';
|
|
41
|
-
options = _args.length > 1 ? _args[1] : undefined;
|
|
42
|
-
readdir = _util.default.promisify(_fs.default.readdir);
|
|
43
|
-
_context.next = 5;
|
|
44
|
-
return readdir(dirname, options);
|
|
45
|
-
|
|
46
|
-
case 5:
|
|
47
|
-
return _context.abrupt("return", _context.sent);
|
|
48
|
-
|
|
49
|
-
case 6:
|
|
50
|
-
case "end":
|
|
51
|
-
return _context.stop();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}, _callee);
|
|
55
|
-
}));
|
|
56
|
-
|
|
57
|
-
function readdir() {
|
|
58
|
-
return _readdir.apply(this, arguments);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return readdir;
|
|
62
|
-
}()
|
|
63
|
-
}, {
|
|
64
|
-
key: "stat",
|
|
65
|
-
value: function () {
|
|
66
|
-
var _stat = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(path, options) {
|
|
67
|
-
var stat, info;
|
|
68
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
69
|
-
while (1) {
|
|
70
|
-
switch (_context2.prev = _context2.next) {
|
|
71
|
-
case 0:
|
|
72
|
-
stat = _util.default.promisify(_fs.default.stat);
|
|
73
|
-
_context2.next = 3;
|
|
74
|
-
return stat(path, options);
|
|
75
|
-
|
|
76
|
-
case 3:
|
|
77
|
-
info = _context2.sent;
|
|
78
|
-
return _context2.abrupt("return", {
|
|
79
|
-
size: Number(info.size),
|
|
80
|
-
isDirectory: function isDirectory() {
|
|
81
|
-
return false;
|
|
82
|
-
},
|
|
83
|
-
info: info
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
case 5:
|
|
87
|
-
case "end":
|
|
88
|
-
return _context2.stop();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}, _callee2);
|
|
92
|
-
}));
|
|
93
|
-
|
|
94
|
-
function stat(_x, _x2) {
|
|
95
|
-
return _stat.apply(this, arguments);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return stat;
|
|
99
|
-
}()
|
|
100
|
-
}, {
|
|
101
|
-
key: "fetch",
|
|
102
|
-
value: function () {
|
|
103
|
-
var _fetch = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(path, options) {
|
|
104
|
-
var fallbackFetch;
|
|
105
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
106
|
-
while (1) {
|
|
107
|
-
switch (_context3.prev = _context3.next) {
|
|
108
|
-
case 0:
|
|
109
|
-
fallbackFetch = options.fetch || this.fetch;
|
|
110
|
-
return _context3.abrupt("return", fallbackFetch(path, options));
|
|
111
|
-
|
|
112
|
-
case 2:
|
|
113
|
-
case "end":
|
|
114
|
-
return _context3.stop();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}, _callee3, this);
|
|
118
|
-
}));
|
|
119
|
-
|
|
120
|
-
function fetch(_x3, _x4) {
|
|
121
|
-
return _fetch.apply(this, arguments);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return fetch;
|
|
125
|
-
}()
|
|
126
|
-
}, {
|
|
127
|
-
key: "open",
|
|
128
|
-
value: function () {
|
|
129
|
-
var _open = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(path, flags, mode) {
|
|
130
|
-
var open;
|
|
131
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
132
|
-
while (1) {
|
|
133
|
-
switch (_context4.prev = _context4.next) {
|
|
134
|
-
case 0:
|
|
135
|
-
open = _util.default.promisify(_fs.default.open);
|
|
136
|
-
_context4.next = 3;
|
|
137
|
-
return open(path, flags);
|
|
138
|
-
|
|
139
|
-
case 3:
|
|
140
|
-
return _context4.abrupt("return", _context4.sent);
|
|
141
|
-
|
|
142
|
-
case 4:
|
|
143
|
-
case "end":
|
|
144
|
-
return _context4.stop();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, _callee4);
|
|
148
|
-
}));
|
|
149
|
-
|
|
150
|
-
function open(_x5, _x6, _x7) {
|
|
151
|
-
return _open.apply(this, arguments);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return open;
|
|
155
|
-
}()
|
|
156
|
-
}, {
|
|
157
|
-
key: "close",
|
|
158
|
-
value: function () {
|
|
159
|
-
var _close = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(fd) {
|
|
160
|
-
var close;
|
|
161
|
-
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
162
|
-
while (1) {
|
|
163
|
-
switch (_context5.prev = _context5.next) {
|
|
164
|
-
case 0:
|
|
165
|
-
close = _util.default.promisify(_fs.default.close);
|
|
166
|
-
_context5.next = 3;
|
|
167
|
-
return close(fd);
|
|
168
|
-
|
|
169
|
-
case 3:
|
|
170
|
-
return _context5.abrupt("return", _context5.sent);
|
|
171
|
-
|
|
172
|
-
case 4:
|
|
173
|
-
case "end":
|
|
174
|
-
return _context5.stop();
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}, _callee5);
|
|
178
|
-
}));
|
|
179
|
-
|
|
180
|
-
function close(_x8) {
|
|
181
|
-
return _close.apply(this, arguments);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return close;
|
|
185
|
-
}()
|
|
186
|
-
}, {
|
|
187
|
-
key: "fstat",
|
|
188
|
-
value: function () {
|
|
189
|
-
var _fstat = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(fd) {
|
|
190
|
-
var fstat, info;
|
|
191
|
-
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
192
|
-
while (1) {
|
|
193
|
-
switch (_context6.prev = _context6.next) {
|
|
194
|
-
case 0:
|
|
195
|
-
fstat = _util.default.promisify(_fs.default.fstat);
|
|
196
|
-
_context6.next = 3;
|
|
197
|
-
return fstat(fd);
|
|
198
|
-
|
|
199
|
-
case 3:
|
|
200
|
-
info = _context6.sent;
|
|
201
|
-
return _context6.abrupt("return", info);
|
|
202
|
-
|
|
203
|
-
case 5:
|
|
204
|
-
case "end":
|
|
205
|
-
return _context6.stop();
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}, _callee6);
|
|
209
|
-
}));
|
|
210
|
-
|
|
211
|
-
function fstat(_x9) {
|
|
212
|
-
return _fstat.apply(this, arguments);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return fstat;
|
|
216
|
-
}()
|
|
217
|
-
}, {
|
|
218
|
-
key: "read",
|
|
219
|
-
value: function () {
|
|
220
|
-
var _read = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(fd, _ref) {
|
|
221
|
-
var _ref$buffer, buffer, _ref$offset, offset, _ref$length, length, _ref$position, position, fsRead, totalBytesRead, _yield$fsRead, bytesRead;
|
|
222
|
-
|
|
223
|
-
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
224
|
-
while (1) {
|
|
225
|
-
switch (_context7.prev = _context7.next) {
|
|
226
|
-
case 0:
|
|
227
|
-
_ref$buffer = _ref.buffer, buffer = _ref$buffer === void 0 ? null : _ref$buffer, _ref$offset = _ref.offset, offset = _ref$offset === void 0 ? 0 : _ref$offset, _ref$length = _ref.length, length = _ref$length === void 0 ? buffer.byteLength : _ref$length, _ref$position = _ref.position, position = _ref$position === void 0 ? null : _ref$position;
|
|
228
|
-
fsRead = _util.default.promisify(_fs.default.read);
|
|
229
|
-
totalBytesRead = 0;
|
|
230
|
-
|
|
231
|
-
case 3:
|
|
232
|
-
if (!(totalBytesRead < length)) {
|
|
233
|
-
_context7.next = 11;
|
|
234
|
-
break;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
_context7.next = 6;
|
|
238
|
-
return fsRead(fd, buffer, offset + totalBytesRead, length - totalBytesRead, position + totalBytesRead);
|
|
239
|
-
|
|
240
|
-
case 6:
|
|
241
|
-
_yield$fsRead = _context7.sent;
|
|
242
|
-
bytesRead = _yield$fsRead.bytesRead;
|
|
243
|
-
totalBytesRead += bytesRead;
|
|
244
|
-
_context7.next = 3;
|
|
245
|
-
break;
|
|
246
|
-
|
|
247
|
-
case 11:
|
|
248
|
-
return _context7.abrupt("return", {
|
|
249
|
-
bytesRead: totalBytesRead,
|
|
250
|
-
buffer: buffer
|
|
251
|
-
});
|
|
252
|
-
|
|
253
|
-
case 12:
|
|
254
|
-
case "end":
|
|
255
|
-
return _context7.stop();
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}, _callee7);
|
|
259
|
-
}));
|
|
260
|
-
|
|
261
|
-
function read(_x10, _x11) {
|
|
262
|
-
return _read.apply(this, arguments);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
return read;
|
|
266
|
-
}()
|
|
267
|
-
}]);
|
|
268
|
-
return NodeFileSystem;
|
|
269
|
-
}();
|
|
270
|
-
|
|
271
|
-
exports.default = NodeFileSystem;
|
|
272
|
-
//# sourceMappingURL=node-filesystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"names":["NodeFileSystem","options","fetch","_fetch","dirname","readdir","util","promisify","fs","path","stat","info","size","Number","isDirectory","fallbackFetch","flags","mode","open","fd","close","fstat","buffer","offset","length","byteLength","position","fsRead","read","totalBytesRead","bytesRead"],"mappings":"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","sourcesContent":["import fs from 'fs';\nimport util from 'util';\nimport {IFileSystem, IRandomAccessReadFileSystem} from '@loaders.gl/loader-utils';\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 * - Provides promisified versions of Node `fs` API\n * - Type compatible with BrowserFileSystem.\n * @param options\n */\nexport default class NodeFileSystem implements IFileSystem, IRandomAccessReadFileSystem {\n // implements IFileSystem\n constructor(options: {[key: string]: any}) {\n this.fetch = options._fetch;\n }\n\n async readdir(dirname = '.', options?: {}): Promise<any[]> {\n const readdir = util.promisify(fs.readdir);\n return await readdir(dirname, options);\n }\n\n async stat(path: string, options?: {}): Promise<Stat> {\n const stat = util.promisify(fs.stat);\n const info = await 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 const open = util.promisify(fs.open);\n return await open(path, flags);\n }\n\n async close(fd: number): Promise<void> {\n const close = util.promisify(fs.close);\n return await close(fd);\n }\n\n async fstat(fd: number): Promise<Stat> {\n const fstat = util.promisify(fs.fstat);\n const info = await 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 const fsRead = util.promisify(fs.read);\n let totalBytesRead = 0;\n // Read in loop until we get required number of bytes\n while (totalBytesRead < length) {\n const {bytesRead} = await fsRead(\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"],"file":"node-filesystem.js"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import util from 'util';
|
|
3
|
-
export default class NodeFileSystem {
|
|
4
|
-
constructor(options) {
|
|
5
|
-
this.fetch = options._fetch;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
async readdir(dirname = '.', options) {
|
|
9
|
-
const readdir = util.promisify(fs.readdir);
|
|
10
|
-
return await readdir(dirname, options);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
async stat(path, options) {
|
|
14
|
-
const stat = util.promisify(fs.stat);
|
|
15
|
-
const info = await stat(path, options);
|
|
16
|
-
return {
|
|
17
|
-
size: Number(info.size),
|
|
18
|
-
isDirectory: () => false,
|
|
19
|
-
info
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
async fetch(path, options) {
|
|
24
|
-
const fallbackFetch = options.fetch || this.fetch;
|
|
25
|
-
return fallbackFetch(path, options);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async open(path, flags, mode) {
|
|
29
|
-
const open = util.promisify(fs.open);
|
|
30
|
-
return await open(path, flags);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async close(fd) {
|
|
34
|
-
const close = util.promisify(fs.close);
|
|
35
|
-
return await close(fd);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async fstat(fd) {
|
|
39
|
-
const fstat = util.promisify(fs.fstat);
|
|
40
|
-
const info = await fstat(fd);
|
|
41
|
-
return info;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
async read(fd, {
|
|
45
|
-
buffer = null,
|
|
46
|
-
offset = 0,
|
|
47
|
-
length = buffer.byteLength,
|
|
48
|
-
position = null
|
|
49
|
-
}) {
|
|
50
|
-
const fsRead = util.promisify(fs.read);
|
|
51
|
-
let totalBytesRead = 0;
|
|
52
|
-
|
|
53
|
-
while (totalBytesRead < length) {
|
|
54
|
-
const {
|
|
55
|
-
bytesRead
|
|
56
|
-
} = await fsRead(fd, buffer, offset + totalBytesRead, length - totalBytesRead, position + totalBytesRead);
|
|
57
|
-
totalBytesRead += bytesRead;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return {
|
|
61
|
-
bytesRead: totalBytesRead,
|
|
62
|
-
buffer
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=node-filesystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/filesystems/node-filesystem.ts"],"names":["fs","util","NodeFileSystem","constructor","options","fetch","_fetch","readdir","dirname","promisify","stat","path","info","size","Number","isDirectory","fallbackFetch","open","flags","mode","close","fd","fstat","read","buffer","offset","length","byteLength","position","fsRead","totalBytesRead","bytesRead"],"mappings":"AAAA,OAAOA,EAAP,MAAe,IAAf;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAwBA,eAAe,MAAMC,cAAN,CAAyE;AAEtFC,EAAAA,WAAW,CAACC,OAAD,EAAgC;AACzC,SAAKC,KAAL,GAAaD,OAAO,CAACE,MAArB;AACD;;AAEY,QAAPC,OAAO,CAACC,OAAO,GAAG,GAAX,EAAgBJ,OAAhB,EAA8C;AACzD,UAAMG,OAAO,GAAGN,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACO,OAAlB,CAAhB;AACA,WAAO,MAAMA,OAAO,CAACC,OAAD,EAAUJ,OAAV,CAApB;AACD;;AAES,QAAJM,IAAI,CAACC,IAAD,EAAeP,OAAf,EAA4C;AACpD,UAAMM,IAAI,GAAGT,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACU,IAAlB,CAAb;AACA,UAAME,IAAI,GAAG,MAAMF,IAAI,CAACC,IAAD,EAAOP,OAAP,CAAvB;AACA,WAAO;AAACS,MAAAA,IAAI,EAAEC,MAAM,CAACF,IAAI,CAACC,IAAN,CAAb;AAA0BE,MAAAA,WAAW,EAAE,MAAM,KAA7C;AAAoDH,MAAAA;AAApD,KAAP;AACD;;AAEU,QAALP,KAAK,CAACM,IAAD,EAAeP,OAAf,EAA8C;AAGvD,UAAMY,aAAa,GAAGZ,OAAO,CAACC,KAAR,IAAiB,KAAKA,KAA5C;AACA,WAAOW,aAAa,CAACL,IAAD,EAAOP,OAAP,CAApB;AACD;;AAGS,QAAJa,IAAI,CAACN,IAAD,EAAeO,KAAf,EAAuCC,IAAvC,EAAoE;AAC5E,UAAMF,IAAI,GAAGhB,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACiB,IAAlB,CAAb;AACA,WAAO,MAAMA,IAAI,CAACN,IAAD,EAAOO,KAAP,CAAjB;AACD;;AAEU,QAALE,KAAK,CAACC,EAAD,EAA4B;AACrC,UAAMD,KAAK,GAAGnB,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACoB,KAAlB,CAAd;AACA,WAAO,MAAMA,KAAK,CAACC,EAAD,CAAlB;AACD;;AAEU,QAALC,KAAK,CAACD,EAAD,EAA4B;AACrC,UAAMC,KAAK,GAAGrB,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACsB,KAAlB,CAAd;AACA,UAAMV,IAAI,GAAG,MAAMU,KAAK,CAACD,EAAD,CAAxB;AACA,WAAOT,IAAP;AACD;;AAES,QAAJW,IAAI,CACRF,EADQ,EAGR;AAACG,IAAAA,MAAM,GAAG,IAAV;AAAgBC,IAAAA,MAAM,GAAG,CAAzB;AAA4BC,IAAAA,MAAM,GAAGF,MAAM,CAACG,UAA5C;AAAwDC,IAAAA,QAAQ,GAAG;AAAnE,GAHQ,EAIsC;AAC9C,UAAMC,MAAM,GAAG5B,IAAI,CAACQ,SAAL,CAAeT,EAAE,CAACuB,IAAlB,CAAf;AACA,QAAIO,cAAc,GAAG,CAArB;;AAEA,WAAOA,cAAc,GAAGJ,MAAxB,EAAgC;AAC9B,YAAM;AAACK,QAAAA;AAAD,UAAc,MAAMF,MAAM,CAC9BR,EAD8B,EAE9BG,MAF8B,EAG9BC,MAAM,GAAGK,cAHqB,EAI9BJ,MAAM,GAAGI,cAJqB,EAK9BF,QAAQ,GAAGE,cALmB,CAAhC;AAOAA,MAAAA,cAAc,IAAIC,SAAlB;AACD;;AACD,WAAO;AAACA,MAAAA,SAAS,EAAED,cAAZ;AAA4BN,MAAAA;AAA5B,KAAP;AACD;;AA5DqF","sourcesContent":["import fs from 'fs';\nimport util from 'util';\nimport {IFileSystem, IRandomAccessReadFileSystem} from '@loaders.gl/loader-utils';\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 * - Provides promisified versions of Node `fs` API\n * - Type compatible with BrowserFileSystem.\n * @param options\n */\nexport default class NodeFileSystem implements IFileSystem, IRandomAccessReadFileSystem {\n // implements IFileSystem\n constructor(options: {[key: string]: any}) {\n this.fetch = options._fetch;\n }\n\n async readdir(dirname = '.', options?: {}): Promise<any[]> {\n const readdir = util.promisify(fs.readdir);\n return await readdir(dirname, options);\n }\n\n async stat(path: string, options?: {}): Promise<Stat> {\n const stat = util.promisify(fs.stat);\n const info = await 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 const open = util.promisify(fs.open);\n return await open(path, flags);\n }\n\n async close(fd: number): Promise<void> {\n const close = util.promisify(fs.close);\n return await close(fd);\n }\n\n async fstat(fd: number): Promise<Stat> {\n const fstat = util.promisify(fs.fstat);\n const info = await 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 const fsRead = util.promisify(fs.read);\n let totalBytesRead = 0;\n // Read in loop until we get required number of bytes\n while (totalBytesRead < length) {\n const {bytesRead} = await fsRead(\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"],"file":"node-filesystem.js"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import util from 'util';
|
|
3
|
-
import {IFileSystem, IRandomAccessReadFileSystem} from '@loaders.gl/loader-utils';
|
|
4
|
-
// import {fetchFile} from "../fetch/fetch-file"
|
|
5
|
-
// import {selectLoader} from "../api/select-loader";
|
|
6
|
-
|
|
7
|
-
type Stat = {
|
|
8
|
-
size: number;
|
|
9
|
-
isDirectory: () => boolean;
|
|
10
|
-
info?: fs.Stats;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
type ReadOptions = {
|
|
14
|
-
buffer?: Buffer;
|
|
15
|
-
offset?: number;
|
|
16
|
-
length?: number;
|
|
17
|
-
position?: number;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* FileSystem pass-through for Node.js
|
|
22
|
-
* - Provides promisified versions of Node `fs` API
|
|
23
|
-
* - Type compatible with BrowserFileSystem.
|
|
24
|
-
* @param options
|
|
25
|
-
*/
|
|
26
|
-
export default class NodeFileSystem implements IFileSystem, IRandomAccessReadFileSystem {
|
|
27
|
-
// implements IFileSystem
|
|
28
|
-
constructor(options: {[key: string]: any}) {
|
|
29
|
-
this.fetch = options._fetch;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async readdir(dirname = '.', options?: {}): Promise<any[]> {
|
|
33
|
-
const readdir = util.promisify(fs.readdir);
|
|
34
|
-
return await readdir(dirname, options);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async stat(path: string, options?: {}): Promise<Stat> {
|
|
38
|
-
const stat = util.promisify(fs.stat);
|
|
39
|
-
const info = await stat(path, options);
|
|
40
|
-
return {size: Number(info.size), isDirectory: () => false, info};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async fetch(path: string, options: {[key: string]: any}) {
|
|
44
|
-
// Falls back to handle https:/http:/data: etc fetches
|
|
45
|
-
// eslint-disable-next-line
|
|
46
|
-
const fallbackFetch = options.fetch || this.fetch;
|
|
47
|
-
return fallbackFetch(path, options);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// implements IRandomAccessFileSystem
|
|
51
|
-
async open(path: string, flags: string | number, mode?: any): Promise<number> {
|
|
52
|
-
const open = util.promisify(fs.open);
|
|
53
|
-
return await open(path, flags);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async close(fd: number): Promise<void> {
|
|
57
|
-
const close = util.promisify(fs.close);
|
|
58
|
-
return await close(fd);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async fstat(fd: number): Promise<Stat> {
|
|
62
|
-
const fstat = util.promisify(fs.fstat);
|
|
63
|
-
const info = await fstat(fd);
|
|
64
|
-
return info;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async read(
|
|
68
|
-
fd: number,
|
|
69
|
-
// @ts-ignore Possibly null
|
|
70
|
-
{buffer = null, offset = 0, length = buffer.byteLength, position = null}: ReadOptions
|
|
71
|
-
): Promise<{bytesRead: number; buffer: Buffer}> {
|
|
72
|
-
const fsRead = util.promisify(fs.read);
|
|
73
|
-
let totalBytesRead = 0;
|
|
74
|
-
// Read in loop until we get required number of bytes
|
|
75
|
-
while (totalBytesRead < length) {
|
|
76
|
-
const {bytesRead} = await fsRead(
|
|
77
|
-
fd,
|
|
78
|
-
buffer,
|
|
79
|
-
offset + totalBytesRead,
|
|
80
|
-
length - totalBytesRead,
|
|
81
|
-
position + totalBytesRead
|
|
82
|
-
);
|
|
83
|
-
totalBytesRead += bytesRead;
|
|
84
|
-
}
|
|
85
|
-
return {bytesRead: totalBytesRead, buffer};
|
|
86
|
-
}
|
|
87
|
-
}
|