@loaders.gl/core 3.1.0-alpha.4 → 3.1.0-alpha.5

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 (103) hide show
  1. package/dist/dist.min.js +1 -1
  2. package/dist/dist.min.js.map +1 -1
  3. package/dist/es5/bundle.js +1 -1
  4. package/dist/es5/bundle.js.map +1 -1
  5. package/dist/es5/index.js +56 -56
  6. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js +14 -119
  7. package/dist/es5/iterators/batch-iterators/timed-batch-iterator.js.map +1 -1
  8. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js +17 -53
  9. package/dist/es5/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -1
  10. package/dist/es5/iterators/make-iterator/make-blob-iterator.js +12 -53
  11. package/dist/es5/iterators/make-iterator/make-blob-iterator.js.map +1 -1
  12. package/dist/es5/iterators/make-iterator/make-iterator.js +1 -1
  13. package/dist/es5/iterators/make-iterator/make-iterator.js.map +1 -1
  14. package/dist/es5/iterators/make-iterator/make-stream-iterator.js +24 -161
  15. package/dist/es5/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  16. package/dist/es5/iterators/make-iterator/make-string-iterator.js +13 -41
  17. package/dist/es5/iterators/make-iterator/make-string-iterator.js.map +1 -1
  18. package/dist/es5/iterators/make-stream/make-dom-stream.js +24 -69
  19. package/dist/es5/iterators/make-stream/make-dom-stream.js.map +1 -1
  20. package/dist/es5/iterators/make-stream/make-node-stream.js +53 -189
  21. package/dist/es5/iterators/make-stream/make-node-stream.js.map +1 -1
  22. package/dist/es5/javascript-utils/is-type.js +18 -58
  23. package/dist/es5/javascript-utils/is-type.js.map +1 -1
  24. package/dist/es5/lib/api/encode.js +46 -242
  25. package/dist/es5/lib/api/encode.js.map +1 -1
  26. package/dist/es5/lib/api/load-in-batches.js +9 -52
  27. package/dist/es5/lib/api/load-in-batches.js.map +1 -1
  28. package/dist/es5/lib/api/load.js +15 -60
  29. package/dist/es5/lib/api/load.js.map +1 -1
  30. package/dist/es5/lib/api/parse-in-batches.js +81 -333
  31. package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
  32. package/dist/es5/lib/api/parse-sync.js +11 -15
  33. package/dist/es5/lib/api/parse-sync.js.map +1 -1
  34. package/dist/es5/lib/api/parse.js +50 -142
  35. package/dist/es5/lib/api/parse.js.map +1 -1
  36. package/dist/es5/lib/api/register-loaders.js +8 -30
  37. package/dist/es5/lib/api/register-loaders.js.map +1 -1
  38. package/dist/es5/lib/api/save.js +4 -37
  39. package/dist/es5/lib/api/save.js.map +1 -1
  40. package/dist/es5/lib/api/select-loader.js +74 -209
  41. package/dist/es5/lib/api/select-loader.js.map +1 -1
  42. package/dist/es5/lib/fetch/fetch-error-message.js +13 -55
  43. package/dist/es5/lib/fetch/fetch-error-message.js.map +1 -1
  44. package/dist/es5/lib/fetch/fetch-file.js +10 -47
  45. package/dist/es5/lib/fetch/fetch-file.js.map +1 -1
  46. package/dist/es5/lib/fetch/read-array-buffer.js +19 -80
  47. package/dist/es5/lib/fetch/read-array-buffer.js.map +1 -1
  48. package/dist/es5/lib/fetch/read-file.js +2 -3
  49. package/dist/es5/lib/fetch/read-file.js.map +1 -1
  50. package/dist/es5/lib/fetch/write-file.js +9 -38
  51. package/dist/es5/lib/fetch/write-file.js.map +1 -1
  52. package/dist/es5/lib/filesystems/browser-filesystem.js +77 -266
  53. package/dist/es5/lib/filesystems/browser-filesystem.js.map +1 -1
  54. package/dist/es5/lib/filesystems/read-array-buffer.js +6 -43
  55. package/dist/es5/lib/filesystems/read-array-buffer.js.map +1 -1
  56. package/dist/es5/lib/init.js +1 -1
  57. package/dist/es5/lib/init.js.map +1 -1
  58. package/dist/es5/lib/loader-utils/check-errors.js +12 -50
  59. package/dist/es5/lib/loader-utils/check-errors.js.map +1 -1
  60. package/dist/es5/lib/loader-utils/get-data.js +71 -238
  61. package/dist/es5/lib/loader-utils/get-data.js.map +1 -1
  62. package/dist/es5/lib/loader-utils/loader-context.js +8 -19
  63. package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
  64. package/dist/es5/lib/loader-utils/loggers.js +36 -81
  65. package/dist/es5/lib/loader-utils/loggers.js.map +1 -1
  66. package/dist/es5/lib/loader-utils/normalize-loader.js +7 -13
  67. package/dist/es5/lib/loader-utils/normalize-loader.js.map +1 -1
  68. package/dist/es5/lib/loader-utils/option-defaults.js +2 -2
  69. package/dist/es5/lib/loader-utils/option-defaults.js.map +1 -1
  70. package/dist/es5/lib/loader-utils/option-utils.js +51 -85
  71. package/dist/es5/lib/loader-utils/option-utils.js.map +1 -1
  72. package/dist/es5/lib/progress/fetch-progress.js +49 -150
  73. package/dist/es5/lib/progress/fetch-progress.js.map +1 -1
  74. package/dist/es5/lib/utils/mime-type-utils.js +4 -4
  75. package/dist/es5/lib/utils/mime-type-utils.js.map +1 -1
  76. package/dist/es5/lib/utils/resource-utils.js +4 -4
  77. package/dist/es5/lib/utils/resource-utils.js.map +1 -1
  78. package/dist/es5/lib/utils/response-utils.js +88 -215
  79. package/dist/es5/lib/utils/response-utils.js.map +1 -1
  80. package/dist/es5/null-loader.js +10 -137
  81. package/dist/es5/null-loader.js.map +1 -1
  82. package/dist/esm/lib/api/encode.js +1 -1
  83. package/dist/esm/lib/api/encode.js.map +1 -1
  84. package/dist/esm/lib/api/parse-sync.js +1 -1
  85. package/dist/esm/lib/api/parse-sync.js.map +1 -1
  86. package/dist/esm/lib/api/parse.js +1 -1
  87. package/dist/esm/lib/api/parse.js.map +1 -1
  88. package/dist/esm/lib/api/select-loader.js +4 -4
  89. package/dist/esm/lib/api/select-loader.js.map +1 -1
  90. package/dist/esm/lib/fetch/fetch-error-message.js +2 -2
  91. package/dist/esm/lib/fetch/fetch-error-message.js.map +1 -1
  92. package/dist/esm/lib/init.js +1 -1
  93. package/dist/esm/lib/loader-utils/check-errors.js +4 -4
  94. package/dist/esm/lib/loader-utils/check-errors.js.map +1 -1
  95. package/dist/esm/lib/loader-utils/option-utils.js +5 -5
  96. package/dist/esm/lib/loader-utils/option-utils.js.map +1 -1
  97. package/dist/esm/lib/utils/response-utils.js +7 -7
  98. package/dist/esm/lib/utils/response-utils.js.map +1 -1
  99. package/dist/esm/null-loader.js +1 -1
  100. package/dist/null-worker.js +1 -1
  101. package/dist/null-worker.js.map +1 -1
  102. package/package.json +4 -4
  103. package/src/lib/api/encode.ts +1 -0
@@ -1,63 +1,26 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.fetchFile = fetchFile;
9
7
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
8
  var _loaderUtils = require("@loaders.gl/loader-utils");
15
9
 
16
10
  var _responseUtils = require("../utils/response-utils");
17
11
 
18
- function fetchFile(_x, _x2) {
19
- return _fetchFile.apply(this, arguments);
20
- }
21
-
22
- function _fetchFile() {
23
- _fetchFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(url, options) {
24
- var fetchOptions;
25
- return _regenerator.default.wrap(function _callee$(_context) {
26
- while (1) {
27
- switch (_context.prev = _context.next) {
28
- case 0:
29
- if (!(typeof url === 'string')) {
30
- _context.next = 7;
31
- break;
32
- }
33
-
34
- url = (0, _loaderUtils.resolvePath)(url);
35
- fetchOptions = options;
36
-
37
- if (options !== null && options !== void 0 && options.fetch && typeof (options === null || options === void 0 ? void 0 : options.fetch) !== 'function') {
38
- fetchOptions = options.fetch;
39
- }
40
-
41
- _context.next = 6;
42
- return fetch(url, fetchOptions);
43
-
44
- case 6:
45
- return _context.abrupt("return", _context.sent);
12
+ async function fetchFile(url, options) {
13
+ if (typeof url === 'string') {
14
+ url = (0, _loaderUtils.resolvePath)(url);
15
+ let fetchOptions = options;
46
16
 
47
- case 7:
48
- _context.next = 9;
49
- return (0, _responseUtils.makeResponse)(url);
17
+ if (options !== null && options !== void 0 && options.fetch && typeof (options === null || options === void 0 ? void 0 : options.fetch) !== 'function') {
18
+ fetchOptions = options.fetch;
19
+ }
50
20
 
51
- case 9:
52
- return _context.abrupt("return", _context.sent);
21
+ return await fetch(url, fetchOptions);
22
+ }
53
23
 
54
- case 10:
55
- case "end":
56
- return _context.stop();
57
- }
58
- }
59
- }, _callee);
60
- }));
61
- return _fetchFile.apply(this, arguments);
24
+ return await (0, _responseUtils.makeResponse)(url);
62
25
  }
63
26
  //# sourceMappingURL=fetch-file.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/fetch/fetch-file.ts"],"names":["fetchFile","url","options","fetchOptions","fetch"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;SAYsBA,S;;;;;yEAAf,iBACLC,GADK,EAELC,OAFK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAID,OAAOD,GAAP,KAAe,QAJd;AAAA;AAAA;AAAA;;AAKHA,YAAAA,GAAG,GAAG,8BAAYA,GAAZ,CAAN;AAEIE,YAAAA,YAPD,GAO6BD,OAP7B;;AAQH,gBAAIA,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAEE,KAAT,IAAkB,QAAOF,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAEE,KAAhB,MAA0B,UAAhD,EAA4D;AAC1DD,cAAAA,YAAY,GAAGD,OAAO,CAACE,KAAvB;AACD;;AAVE;AAAA,mBAYUA,KAAK,CAACH,GAAD,EAAME,YAAN,CAZf;;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAeQ,iCAAaF,GAAb,CAfR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import {resolvePath} from '@loaders.gl/loader-utils';\nimport {makeResponse} from '../utils/response-utils';\n// import {getErrorMessageFromResponse} from './fetch-error-message';\n\n/**\n * fetch compatible function\n * Reads file data from:\n * - http/http urls\n * - data urls\n * - File/Blob objects\n * Leverages `@loaders.gl/polyfills` for Node.js support\n * Respects pathPrefix and file aliases\n */\nexport async function fetchFile(\n url: string | Blob,\n options?: RequestInit & {fetch?: RequestInit | Function}\n): Promise<Response> {\n if (typeof url === 'string') {\n url = resolvePath(url);\n\n let fetchOptions: RequestInit = options as RequestInit;\n if (options?.fetch && typeof options?.fetch !== 'function') {\n fetchOptions = options.fetch;\n }\n\n return await fetch(url, fetchOptions);\n }\n\n return await makeResponse(url);\n}\n"],"file":"fetch-file.js"}
1
+ {"version":3,"sources":["../../../../src/lib/fetch/fetch-file.ts"],"names":["fetchFile","url","options","fetchOptions","fetch"],"mappings":";;;;;;;AAAA;;AACA;;AAYO,eAAeA,SAAf,CACLC,GADK,EAELC,OAFK,EAGc;AACnB,MAAI,OAAOD,GAAP,KAAe,QAAnB,EAA6B;AAC3BA,IAAAA,GAAG,GAAG,8BAAYA,GAAZ,CAAN;AAEA,QAAIE,YAAyB,GAAGD,OAAhC;;AACA,QAAIA,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAEE,KAAT,IAAkB,QAAOF,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAEE,KAAhB,MAA0B,UAAhD,EAA4D;AAC1DD,MAAAA,YAAY,GAAGD,OAAO,CAACE,KAAvB;AACD;;AAED,WAAO,MAAMA,KAAK,CAACH,GAAD,EAAME,YAAN,CAAlB;AACD;;AAED,SAAO,MAAM,iCAAaF,GAAb,CAAb;AACD","sourcesContent":["import {resolvePath} from '@loaders.gl/loader-utils';\nimport {makeResponse} from '../utils/response-utils';\n// import {getErrorMessageFromResponse} from './fetch-error-message';\n\n/**\n * fetch compatible function\n * Reads file data from:\n * - http/http urls\n * - data urls\n * - File/Blob objects\n * Leverages `@loaders.gl/polyfills` for Node.js support\n * Respects pathPrefix and file aliases\n */\nexport async function fetchFile(\n url: string | Blob,\n options?: RequestInit & {fetch?: RequestInit | Function}\n): Promise<Response> {\n if (typeof url === 'string') {\n url = resolvePath(url);\n\n let fetchOptions: RequestInit = options as RequestInit;\n if (options?.fetch && typeof options?.fetch !== 'function') {\n fetchOptions = options.fetch;\n }\n\n return await fetch(url, fetchOptions);\n }\n\n return await makeResponse(url);\n}\n"],"file":"fetch-file.js"}
@@ -1,100 +1,39 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.readArrayBuffer = readArrayBuffer;
9
7
  exports.readBlob = readBlob;
10
8
 
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
-
15
9
  var _loaderUtils = require("@loaders.gl/loader-utils");
16
10
 
17
- function readArrayBuffer(_x, _x2, _x3) {
18
- return _readArrayBuffer.apply(this, arguments);
19
- }
20
-
21
- function _readArrayBuffer() {
22
- _readArrayBuffer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(file, start, length) {
23
- var slice;
24
- return _regenerator.default.wrap(function _callee$(_context) {
25
- while (1) {
26
- switch (_context.prev = _context.next) {
27
- case 0:
28
- if (!(typeof file === 'number')) {
29
- _context.next = 4;
30
- break;
31
- }
32
-
33
- _context.next = 3;
34
- return _loaderUtils.fs._readToArrayBuffer(file, start, length);
35
-
36
- case 3:
37
- return _context.abrupt("return", _context.sent);
11
+ async function readArrayBuffer(file, start, length) {
12
+ if (typeof file === 'number') {
13
+ return await _loaderUtils.fs._readToArrayBuffer(file, start, length);
14
+ }
38
15
 
39
- case 4:
40
- if (!(file instanceof Blob)) {
41
- file = new Blob([file]);
42
- }
16
+ if (!(file instanceof Blob)) {
17
+ file = new Blob([file]);
18
+ }
43
19
 
44
- slice = file.slice(start, start + length);
45
- _context.next = 8;
46
- return readBlob(slice);
47
-
48
- case 8:
49
- return _context.abrupt("return", _context.sent);
50
-
51
- case 9:
52
- case "end":
53
- return _context.stop();
54
- }
55
- }
56
- }, _callee);
57
- }));
58
- return _readArrayBuffer.apply(this, arguments);
59
- }
60
-
61
- function readBlob(_x4) {
62
- return _readBlob.apply(this, arguments);
20
+ const slice = file.slice(start, start + length);
21
+ return await readBlob(slice);
63
22
  }
64
23
 
65
- function _readBlob() {
66
- _readBlob = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(blob) {
67
- return _regenerator.default.wrap(function _callee2$(_context2) {
68
- while (1) {
69
- switch (_context2.prev = _context2.next) {
70
- case 0:
71
- _context2.next = 2;
72
- return new Promise(function (resolve, reject) {
73
- var fileReader = new FileReader();
74
-
75
- fileReader.onload = function (event) {
76
- var _event$target;
77
-
78
- return resolve(event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.result);
79
- };
24
+ async function readBlob(blob) {
25
+ return await new Promise((resolve, reject) => {
26
+ const fileReader = new FileReader();
80
27
 
81
- fileReader.onerror = function (error) {
82
- return reject(error);
83
- };
28
+ fileReader.onload = event => {
29
+ var _event$target;
84
30
 
85
- fileReader.readAsArrayBuffer(blob);
86
- });
31
+ return resolve(event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.result);
32
+ };
87
33
 
88
- case 2:
89
- return _context2.abrupt("return", _context2.sent);
34
+ fileReader.onerror = error => reject(error);
90
35
 
91
- case 3:
92
- case "end":
93
- return _context2.stop();
94
- }
95
- }
96
- }, _callee2);
97
- }));
98
- return _readBlob.apply(this, arguments);
36
+ fileReader.readAsArrayBuffer(blob);
37
+ });
99
38
  }
100
39
  //# sourceMappingURL=read-array-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/fetch/read-array-buffer.ts"],"names":["readArrayBuffer","file","start","length","fs","_readToArrayBuffer","Blob","slice","readBlob","blob","Promise","resolve","reject","fileReader","FileReader","onload","event","target","result","onerror","error","readAsArrayBuffer"],"mappings":";;;;;;;;;;;;;;AACA;;SASsBA,e;;;;;+EAAf,iBACLC,IADK,EAELC,KAFK,EAGLC,MAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKD,OAAOF,IAAP,KAAgB,QALf;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAMUG,gBAAGC,kBAAH,CAAsBJ,IAAtB,EAA4BC,KAA5B,EAAmCC,MAAnC,CANV;;AAAA;AAAA;;AAAA;AASL,gBAAI,EAAEF,IAAI,YAAYK,IAAlB,CAAJ,EAA6B;AAC3BL,cAAAA,IAAI,GAAG,IAAIK,IAAJ,CAAS,CAACL,IAAD,CAAT,CAAP;AACD;;AACKM,YAAAA,KAZD,GAYSN,IAAI,CAACM,KAAL,CAAWL,KAAX,EAAkBA,KAAK,GAAGC,MAA1B,CAZT;AAAA;AAAA,mBAaQK,QAAQ,CAACD,KAAD,CAbhB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAuBeC,Q;;;;;wEAAf,kBAAwBC,IAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACQ,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAC5C,kBAAMC,UAAU,GAAG,IAAIC,UAAJ,EAAnB;;AACAD,cAAAA,UAAU,CAACE,MAAX,GAAoB,UAACC,KAAD;AAAA;;AAAA,uBAClBL,OAAO,CAACK,KAAD,aAACA,KAAD,wCAACA,KAAK,CAAEC,MAAR,kDAAC,cAAeC,MAAhB,CADW;AAAA,eAApB;;AAGAL,cAAAA,UAAU,CAACM,OAAX,GAAqB,UAACC,KAAD;AAAA,uBAAsCR,MAAM,CAACQ,KAAD,CAA5C;AAAA,eAArB;;AACAP,cAAAA,UAAU,CAACQ,iBAAX,CAA6BZ,IAA7B;AACD,aAPY,CADR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["//\nimport {fs} from '@loaders.gl/loader-utils';\n\n/**\n * Reads a chunk from a random access file\n * @param file\n * @param start\n * @param length\n * @returns\n */\nexport async function readArrayBuffer(\n file: Blob | ArrayBuffer | string | number,\n start: number,\n length: number\n): Promise<ArrayBuffer> {\n if (typeof file === 'number') {\n return await fs._readToArrayBuffer(file, start, length);\n }\n // TODO - we can do better for ArrayBuffer and string\n if (!(file instanceof Blob)) {\n file = new Blob([file]);\n }\n const slice = file.slice(start, start + length);\n return await readBlob(slice);\n}\n\n/**\n * Read a slice of a Blob or File, without loading the entire file into memory\n * The trick when reading File objects is to read successive \"slices\" of the File\n * Per spec https://w3c.github.io/FileAPI/, slicing a File only updates the start and end fields\n * Actually reading from file happens in `readAsArrayBuffer`\n * @param blob to read\n */\nexport async function readBlob(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = (event: ProgressEvent<FileReader>) =>\n resolve(event?.target?.result as ArrayBuffer);\n // TODO - reject with a proper Error\n fileReader.onerror = (error: ProgressEvent<FileReader>) => reject(error);\n fileReader.readAsArrayBuffer(blob);\n });\n}\n"],"file":"read-array-buffer.js"}
1
+ {"version":3,"sources":["../../../../src/lib/fetch/read-array-buffer.ts"],"names":["readArrayBuffer","file","start","length","fs","_readToArrayBuffer","Blob","slice","readBlob","blob","Promise","resolve","reject","fileReader","FileReader","onload","event","target","result","onerror","error","readAsArrayBuffer"],"mappings":";;;;;;;;AACA;;AASO,eAAeA,eAAf,CACLC,IADK,EAELC,KAFK,EAGLC,MAHK,EAIiB;AACtB,MAAI,OAAOF,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAO,MAAMG,gBAAGC,kBAAH,CAAsBJ,IAAtB,EAA4BC,KAA5B,EAAmCC,MAAnC,CAAb;AACD;;AAED,MAAI,EAAEF,IAAI,YAAYK,IAAlB,CAAJ,EAA6B;AAC3BL,IAAAA,IAAI,GAAG,IAAIK,IAAJ,CAAS,CAACL,IAAD,CAAT,CAAP;AACD;;AACD,QAAMM,KAAK,GAAGN,IAAI,CAACM,KAAL,CAAWL,KAAX,EAAkBA,KAAK,GAAGC,MAA1B,CAAd;AACA,SAAO,MAAMK,QAAQ,CAACD,KAAD,CAArB;AACD;;AASM,eAAeC,QAAf,CAAwBC,IAAxB,EAA0D;AAC/D,SAAO,MAAM,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AAC5C,UAAMC,UAAU,GAAG,IAAIC,UAAJ,EAAnB;;AACAD,IAAAA,UAAU,CAACE,MAAX,GAAqBC,KAAD;AAAA;;AAAA,aAClBL,OAAO,CAACK,KAAD,aAACA,KAAD,wCAACA,KAAK,CAAEC,MAAR,kDAAC,cAAeC,MAAhB,CADW;AAAA,KAApB;;AAGAL,IAAAA,UAAU,CAACM,OAAX,GAAsBC,KAAD,IAAsCR,MAAM,CAACQ,KAAD,CAAjE;;AACAP,IAAAA,UAAU,CAACQ,iBAAX,CAA6BZ,IAA7B;AACD,GAPY,CAAb;AAQD","sourcesContent":["//\nimport {fs} from '@loaders.gl/loader-utils';\n\n/**\n * Reads a chunk from a random access file\n * @param file\n * @param start\n * @param length\n * @returns\n */\nexport async function readArrayBuffer(\n file: Blob | ArrayBuffer | string | number,\n start: number,\n length: number\n): Promise<ArrayBuffer> {\n if (typeof file === 'number') {\n return await fs._readToArrayBuffer(file, start, length);\n }\n // TODO - we can do better for ArrayBuffer and string\n if (!(file instanceof Blob)) {\n file = new Blob([file]);\n }\n const slice = file.slice(start, start + length);\n return await readBlob(slice);\n}\n\n/**\n * Read a slice of a Blob or File, without loading the entire file into memory\n * The trick when reading File objects is to read successive \"slices\" of the File\n * Per spec https://w3c.github.io/FileAPI/, slicing a File only updates the start and end fields\n * Actually reading from file happens in `readAsArrayBuffer`\n * @param blob to read\n */\nexport async function readBlob(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = (event: ProgressEvent<FileReader>) =>\n resolve(event?.target?.result as ArrayBuffer);\n // TODO - reject with a proper Error\n fileReader.onerror = (error: ProgressEvent<FileReader>) => reject(error);\n fileReader.readAsArrayBuffer(blob);\n });\n}\n"],"file":"read-array-buffer.js"}
@@ -7,12 +7,11 @@ exports.readFileSync = readFileSync;
7
7
 
8
8
  var _loaderUtils = require("@loaders.gl/loader-utils");
9
9
 
10
- function readFileSync(url) {
11
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
+ function readFileSync(url, options = {}) {
12
11
  url = (0, _loaderUtils.resolvePath)(url);
13
12
 
14
13
  if (!_loaderUtils.isBrowser) {
15
- var buffer = _loaderUtils.fs.readFileSync(url, options);
14
+ const buffer = _loaderUtils.fs.readFileSync(url, options);
16
15
 
17
16
  return typeof buffer !== 'string' ? (0, _loaderUtils.toArrayBuffer)(buffer) : buffer;
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/fetch/read-file.ts"],"names":["readFileSync","url","options","isBrowser","buffer","fs","nothrow"],"mappings":";;;;;;;AACA;;AASO,SAASA,YAAT,CAAsBC,GAAtB,EAAyD;AAAA,MAAtBC,OAAsB,uEAAJ,EAAI;AAC9DD,EAAAA,GAAG,GAAG,8BAAYA,GAAZ,CAAN;;AAOA,MAAI,CAACE,sBAAL,EAAgB;AACd,QAAMC,MAAM,GAAGC,gBAAGL,YAAH,CAAgBC,GAAhB,EAAqBC,OAArB,CAAf;;AACA,WAAO,OAAOE,MAAP,KAAkB,QAAlB,GAA6B,gCAAcA,MAAd,CAA7B,GAAqDA,MAA5D;AACD;;AAGD,MAAI,CAACF,OAAO,CAACI,OAAb,EAAsB;AAEpB,6BAAO,KAAP;AACD;;AAED,SAAO,IAAP;AACD","sourcesContent":["// File read\nimport {isBrowser, resolvePath, fs, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\n\n// TODO - this is not tested\n// const isDataURL = (url) => url.startsWith('data:');\n\n/**\n * In a few cases (data URIs, node.js) \"files\" can be read synchronously\n */\nexport function readFileSync(url: string, options: object = {}) {\n url = resolvePath(url);\n\n // Only support this if we can also support sync data URL decoding in browser\n // if (isDataURL(url)) {\n // return decodeDataUri(url);\n // }\n\n if (!isBrowser) {\n const buffer = fs.readFileSync(url, options);\n return typeof buffer !== 'string' ? toArrayBuffer(buffer) : buffer;\n }\n\n // @ts-ignore\n if (!options.nothrow) {\n // throw new Error('Cant load URI synchronously');\n assert(false);\n }\n\n return null;\n}\n"],"file":"read-file.js"}
1
+ {"version":3,"sources":["../../../../src/lib/fetch/read-file.ts"],"names":["readFileSync","url","options","isBrowser","buffer","fs","nothrow"],"mappings":";;;;;;;AACA;;AASO,SAASA,YAAT,CAAsBC,GAAtB,EAAmCC,OAAe,GAAG,EAArD,EAAyD;AAC9DD,EAAAA,GAAG,GAAG,8BAAYA,GAAZ,CAAN;;AAOA,MAAI,CAACE,sBAAL,EAAgB;AACd,UAAMC,MAAM,GAAGC,gBAAGL,YAAH,CAAgBC,GAAhB,EAAqBC,OAArB,CAAf;;AACA,WAAO,OAAOE,MAAP,KAAkB,QAAlB,GAA6B,gCAAcA,MAAd,CAA7B,GAAqDA,MAA5D;AACD;;AAGD,MAAI,CAACF,OAAO,CAACI,OAAb,EAAsB;AAEpB,6BAAO,KAAP;AACD;;AAED,SAAO,IAAP;AACD","sourcesContent":["// File read\nimport {isBrowser, resolvePath, fs, toArrayBuffer} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\n\n// TODO - this is not tested\n// const isDataURL = (url) => url.startsWith('data:');\n\n/**\n * In a few cases (data URIs, node.js) \"files\" can be read synchronously\n */\nexport function readFileSync(url: string, options: object = {}) {\n url = resolvePath(url);\n\n // Only support this if we can also support sync data URL decoding in browser\n // if (isDataURL(url)) {\n // return decodeDataUri(url);\n // }\n\n if (!isBrowser) {\n const buffer = fs.readFileSync(url, options);\n return typeof buffer !== 'string' ? toArrayBuffer(buffer) : buffer;\n }\n\n // @ts-ignore\n if (!options.nothrow) {\n // throw new Error('Cant load URI synchronously');\n assert(false);\n }\n\n return null;\n}\n"],"file":"read-file.js"}
@@ -1,52 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.writeFile = writeFile;
9
7
  exports.writeFileSync = writeFileSync;
10
8
 
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
-
15
9
  var _loaderUtils = require("@loaders.gl/loader-utils");
16
10
 
17
- function writeFile(_x, _x2, _x3) {
18
- return _writeFile.apply(this, arguments);
19
- }
11
+ async function writeFile(filePath, arrayBufferOrString, options) {
12
+ filePath = (0, _loaderUtils.resolvePath)(filePath);
20
13
 
21
- function _writeFile() {
22
- _writeFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(filePath, arrayBufferOrString, options) {
23
- return _regenerator.default.wrap(function _callee$(_context) {
24
- while (1) {
25
- switch (_context.prev = _context.next) {
26
- case 0:
27
- filePath = (0, _loaderUtils.resolvePath)(filePath);
28
-
29
- if (_loaderUtils.isBrowser) {
30
- _context.next = 4;
31
- break;
32
- }
33
-
34
- _context.next = 4;
35
- return _loaderUtils.fs.writeFile(filePath, (0, _loaderUtils.toBuffer)(arrayBufferOrString), {
36
- flag: 'w'
37
- });
38
-
39
- case 4:
40
- (0, _loaderUtils.assert)(false);
41
-
42
- case 5:
43
- case "end":
44
- return _context.stop();
45
- }
46
- }
47
- }, _callee);
48
- }));
49
- return _writeFile.apply(this, arguments);
14
+ if (!_loaderUtils.isBrowser) {
15
+ await _loaderUtils.fs.writeFile(filePath, (0, _loaderUtils.toBuffer)(arrayBufferOrString), {
16
+ flag: 'w'
17
+ });
18
+ }
19
+
20
+ (0, _loaderUtils.assert)(false);
50
21
  }
51
22
 
52
23
  function writeFileSync(filePath, arrayBufferOrString, options) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/fetch/write-file.ts"],"names":["writeFile","filePath","arrayBufferOrString","options","isBrowser","fs","flag","writeFileSync"],"mappings":";;;;;;;;;;;;;;AACA;;SAGsBA,S;;;;;yEAAf,iBACLC,QADK,EAELC,mBAFK,EAGLC,OAHK;AAAA;AAAA;AAAA;AAAA;AAKLF,YAAAA,QAAQ,GAAG,8BAAYA,QAAZ,CAAX;;AALK,gBAMAG,sBANA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAOGC,gBAAGL,SAAH,CAAaC,QAAb,EAAuB,2BAASC,mBAAT,CAAvB,EAAsD;AAACI,cAAAA,IAAI,EAAE;AAAP,aAAtD,CAPH;;AAAA;AASL,qCAAO,KAAP;;AATK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAYA,SAASC,aAAT,CACLN,QADK,EAELC,mBAFK,EAGLC,OAHK,EAIC;AACNF,EAAAA,QAAQ,GAAG,8BAAYA,QAAZ,CAAX;;AACA,MAAI,CAACG,sBAAL,EAAgB;AACdC,oBAAGE,aAAH,CAAiBN,QAAjB,EAA2B,2BAASC,mBAAT,CAA3B,EAA0D;AAACI,MAAAA,IAAI,EAAE;AAAP,KAA1D;AACD;;AACD,2BAAO,KAAP;AACD","sourcesContent":["// file write\nimport {isBrowser, assert, resolvePath} from '@loaders.gl/loader-utils';\nimport {fs, toBuffer} from '@loaders.gl/loader-utils';\n\nexport async function writeFile(\n filePath: string,\n arrayBufferOrString: ArrayBuffer | string,\n options?\n): Promise<void> {\n filePath = resolvePath(filePath);\n if (!isBrowser) {\n await fs.writeFile(filePath, toBuffer(arrayBufferOrString), {flag: 'w'});\n }\n assert(false);\n}\n\nexport function writeFileSync(\n filePath: string,\n arrayBufferOrString: ArrayBuffer | string,\n options?\n): void {\n filePath = resolvePath(filePath);\n if (!isBrowser) {\n fs.writeFileSync(filePath, toBuffer(arrayBufferOrString), {flag: 'w'});\n }\n assert(false);\n}\n"],"file":"write-file.js"}
1
+ {"version":3,"sources":["../../../../src/lib/fetch/write-file.ts"],"names":["writeFile","filePath","arrayBufferOrString","options","isBrowser","fs","flag","writeFileSync"],"mappings":";;;;;;;;AACA;;AAGO,eAAeA,SAAf,CACLC,QADK,EAELC,mBAFK,EAGLC,OAHK,EAIU;AACfF,EAAAA,QAAQ,GAAG,8BAAYA,QAAZ,CAAX;;AACA,MAAI,CAACG,sBAAL,EAAgB;AACd,UAAMC,gBAAGL,SAAH,CAAaC,QAAb,EAAuB,2BAASC,mBAAT,CAAvB,EAAsD;AAACI,MAAAA,IAAI,EAAE;AAAP,KAAtD,CAAN;AACD;;AACD,2BAAO,KAAP;AACD;;AAEM,SAASC,aAAT,CACLN,QADK,EAELC,mBAFK,EAGLC,OAHK,EAIC;AACNF,EAAAA,QAAQ,GAAG,8BAAYA,QAAZ,CAAX;;AACA,MAAI,CAACG,sBAAL,EAAgB;AACdC,oBAAGE,aAAH,CAAiBN,QAAjB,EAA2B,2BAASC,mBAAT,CAA3B,EAA0D;AAACI,MAAAA,IAAI,EAAE;AAAP,KAA1D;AACD;;AACD,2BAAO,KAAP;AACD","sourcesContent":["// file write\nimport {isBrowser, assert, resolvePath} from '@loaders.gl/loader-utils';\nimport {fs, toBuffer} from '@loaders.gl/loader-utils';\n\nexport async function writeFile(\n filePath: string,\n arrayBufferOrString: ArrayBuffer | string,\n options?\n): Promise<void> {\n filePath = resolvePath(filePath);\n if (!isBrowser) {\n await fs.writeFile(filePath, toBuffer(arrayBufferOrString), {flag: 'w'});\n }\n assert(false);\n}\n\nexport function writeFileSync(\n filePath: string,\n arrayBufferOrString: ArrayBuffer | string,\n options?\n): void {\n filePath = resolvePath(filePath);\n if (!isBrowser) {\n fs.writeFileSync(filePath, toBuffer(arrayBufferOrString), {flag: 'w'});\n }\n assert(false);\n}\n"],"file":"write-file.js"}