@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.
Files changed (35) hide show
  1. package/dist/dbf-worker.js +1 -1
  2. package/dist/dbf-worker.js.map +1 -1
  3. package/dist/dist.es5.min.js +1 -1
  4. package/dist/dist.es5.min.js.map +1 -1
  5. package/dist/dist.min.js +1 -1
  6. package/dist/dist.min.js.map +1 -1
  7. package/dist/es5/dbf-loader.js +1 -1
  8. package/dist/es5/index.js +0 -10
  9. package/dist/es5/index.js.map +1 -1
  10. package/dist/es5/shapefile-loader.js +1 -1
  11. package/dist/es5/shp-loader.js +1 -1
  12. package/dist/esm/dbf-loader.js +1 -1
  13. package/dist/esm/index.js +0 -1
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/lib/parsers/parse-dbf.js +2 -2
  16. package/dist/esm/lib/parsers/parse-dbf.js.map +1 -1
  17. package/dist/esm/lib/parsers/parse-shapefile.js +1 -1
  18. package/dist/esm/lib/parsers/parse-shapefile.js.map +1 -1
  19. package/dist/esm/lib/parsers/parse-shp-geometry.js +1 -1
  20. package/dist/esm/lib/parsers/parse-shp-geometry.js.map +1 -1
  21. package/dist/esm/lib/parsers/parse-shp-header.js +2 -2
  22. package/dist/esm/lib/parsers/parse-shp-header.js.map +1 -1
  23. package/dist/esm/lib/parsers/parse-shp.js +2 -2
  24. package/dist/esm/lib/parsers/parse-shp.js.map +1 -1
  25. package/dist/esm/shapefile-loader.js +1 -1
  26. package/dist/esm/shp-loader.js +1 -1
  27. package/dist/shp-worker.js +1 -1
  28. package/dist/shp-worker.js.map +1 -1
  29. package/package.json +5 -5
  30. package/src/index.ts +0 -3
  31. package/dist/es5/lib/filesystems/node-filesystem.js +0 -272
  32. package/dist/es5/lib/filesystems/node-filesystem.js.map +0 -1
  33. package/dist/esm/lib/filesystems/node-filesystem.js +0 -67
  34. package/dist/esm/lib/filesystems/node-filesystem.js.map +0 -1
  35. 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
- }