@loaders.gl/loader-utils 3.3.0 → 3.4.0-alpha.1

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 (119) hide show
  1. package/dist/es5/index.js +22 -36
  2. package/dist/es5/index.js.map +1 -1
  3. package/dist/es5/json-loader.js +1 -1
  4. package/dist/es5/json-loader.js.map +1 -1
  5. package/dist/es5/lib/binary-utils/array-buffer-utils.js +30 -0
  6. package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -1
  7. package/dist/es5/lib/binary-utils/{dataview-copy-utils.js → binary-copy-utils.js} +1 -33
  8. package/dist/es5/lib/binary-utils/binary-copy-utils.js.map +1 -0
  9. package/dist/es5/lib/binary-utils/{memory-conversion-utils.js → buffer-utils.js} +7 -26
  10. package/dist/es5/lib/binary-utils/buffer-utils.js.map +1 -0
  11. package/dist/es5/lib/binary-utils/encode-utils.js +36 -0
  12. package/dist/es5/lib/binary-utils/encode-utils.js.map +1 -0
  13. package/dist/es5/lib/binary-utils/get-first-characters.js +0 -2
  14. package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -1
  15. package/dist/es5/lib/node/buffer.js +8 -5
  16. package/dist/es5/lib/node/buffer.js.map +1 -1
  17. package/dist/es5/lib/node/fs.js +9 -18
  18. package/dist/es5/lib/node/fs.js.map +1 -1
  19. package/dist/es5/lib/node/util.js +7 -31
  20. package/dist/es5/lib/node/util.js.map +1 -1
  21. package/dist/esm/index.js +9 -11
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/json-loader.js +1 -1
  24. package/dist/esm/json-loader.js.map +1 -1
  25. package/dist/esm/lib/binary-utils/array-buffer-utils.js +27 -0
  26. package/dist/esm/lib/binary-utils/array-buffer-utils.js.map +1 -1
  27. package/dist/esm/lib/binary-utils/{dataview-copy-utils.js → binary-copy-utils.js} +1 -31
  28. package/dist/esm/lib/binary-utils/binary-copy-utils.js.map +1 -0
  29. package/dist/esm/lib/binary-utils/buffer-utils.js +18 -0
  30. package/dist/esm/lib/binary-utils/buffer-utils.js.map +1 -0
  31. package/dist/esm/lib/binary-utils/encode-utils.js +29 -0
  32. package/dist/esm/lib/binary-utils/encode-utils.js.map +1 -0
  33. package/dist/esm/lib/binary-utils/get-first-characters.js +0 -3
  34. package/dist/esm/lib/binary-utils/get-first-characters.js.map +1 -1
  35. package/dist/esm/lib/node/buffer.js +9 -5
  36. package/dist/esm/lib/node/buffer.js.map +1 -1
  37. package/dist/esm/lib/node/fs.js +9 -11
  38. package/dist/esm/lib/node/fs.js.map +1 -1
  39. package/dist/esm/lib/node/util.js +2 -10
  40. package/dist/esm/lib/node/util.js.map +1 -1
  41. package/dist/index.d.ts +7 -10
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +23 -25
  44. package/dist/lib/binary-utils/array-buffer-utils.d.ts +8 -4
  45. package/dist/lib/binary-utils/array-buffer-utils.d.ts.map +1 -1
  46. package/dist/lib/binary-utils/array-buffer-utils.js +36 -5
  47. package/dist/lib/binary-utils/binary-copy-utils.d.ts +24 -0
  48. package/dist/lib/binary-utils/binary-copy-utils.d.ts.map +1 -0
  49. package/dist/lib/binary-utils/{dataview-copy-utils.js → binary-copy-utils.js} +5 -51
  50. package/dist/lib/binary-utils/{memory-conversion-utils.d.ts → buffer-utils.d.ts} +4 -3
  51. package/dist/lib/binary-utils/buffer-utils.d.ts.map +1 -0
  52. package/dist/lib/binary-utils/{memory-conversion-utils.js → buffer-utils.js} +9 -28
  53. package/dist/lib/binary-utils/encode-utils.d.ts +4 -0
  54. package/dist/lib/binary-utils/encode-utils.d.ts.map +1 -0
  55. package/dist/lib/binary-utils/encode-utils.js +35 -0
  56. package/dist/lib/binary-utils/get-first-characters.d.ts +1 -15
  57. package/dist/lib/binary-utils/get-first-characters.d.ts.map +1 -1
  58. package/dist/lib/binary-utils/get-first-characters.js +0 -15
  59. package/dist/lib/node/buffer.d.ts +1 -3
  60. package/dist/lib/node/buffer.d.ts.map +1 -1
  61. package/dist/lib/node/buffer.js +8 -7
  62. package/dist/lib/node/fs.d.ts +2 -4
  63. package/dist/lib/node/fs.d.ts.map +1 -1
  64. package/dist/lib/node/fs.js +9 -10
  65. package/dist/lib/node/util.d.ts +3 -11
  66. package/dist/lib/node/util.d.ts.map +1 -1
  67. package/dist/lib/node/util.js +27 -20
  68. package/dist/lib/worker-loader-utils/create-loader-worker.js +1 -1
  69. package/package.json +4 -5
  70. package/src/index.ts +18 -22
  71. package/src/lib/binary-utils/array-buffer-utils.ts +40 -4
  72. package/src/lib/binary-utils/{dataview-copy-utils.ts → binary-copy-utils.ts} +5 -57
  73. package/src/lib/binary-utils/buffer-utils.ts +28 -0
  74. package/src/lib/binary-utils/encode-utils.ts +32 -0
  75. package/src/lib/binary-utils/get-first-characters.ts +1 -17
  76. package/src/lib/node/buffer.ts +10 -9
  77. package/src/lib/node/fs.ts +11 -16
  78. package/src/lib/node/util.ts +2 -68
  79. package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +0 -1
  80. package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +0 -1
  81. package/dist/es5/lib/filesystems/readable-file.js +0 -100
  82. package/dist/es5/lib/filesystems/readable-file.js.map +0 -1
  83. package/dist/es5/lib/filesystems/writable-file.js +0 -89
  84. package/dist/es5/lib/filesystems/writable-file.js.map +0 -1
  85. package/dist/es5/lib/loader-utils/buffer-utils.js +0 -19
  86. package/dist/es5/lib/loader-utils/buffer-utils.js.map +0 -1
  87. package/dist/es5/lib/node/stream.js +0 -20
  88. package/dist/es5/lib/node/stream.js.map +0 -1
  89. package/dist/esm/lib/binary-utils/dataview-copy-utils.js.map +0 -1
  90. package/dist/esm/lib/binary-utils/memory-conversion-utils.js +0 -38
  91. package/dist/esm/lib/binary-utils/memory-conversion-utils.js.map +0 -1
  92. package/dist/esm/lib/filesystems/readable-file.js +0 -22
  93. package/dist/esm/lib/filesystems/readable-file.js.map +0 -1
  94. package/dist/esm/lib/filesystems/writable-file.js +0 -21
  95. package/dist/esm/lib/filesystems/writable-file.js.map +0 -1
  96. package/dist/esm/lib/loader-utils/buffer-utils.js +0 -13
  97. package/dist/esm/lib/loader-utils/buffer-utils.js.map +0 -1
  98. package/dist/esm/lib/node/stream.js +0 -11
  99. package/dist/esm/lib/node/stream.js.map +0 -1
  100. package/dist/lib/binary-utils/dataview-copy-utils.d.ts +0 -43
  101. package/dist/lib/binary-utils/dataview-copy-utils.d.ts.map +0 -1
  102. package/dist/lib/binary-utils/memory-conversion-utils.d.ts.map +0 -1
  103. package/dist/lib/filesystems/readable-file.d.ts +0 -10
  104. package/dist/lib/filesystems/readable-file.d.ts.map +0 -1
  105. package/dist/lib/filesystems/readable-file.js +0 -25
  106. package/dist/lib/filesystems/writable-file.d.ts +0 -18
  107. package/dist/lib/filesystems/writable-file.d.ts.map +0 -1
  108. package/dist/lib/filesystems/writable-file.js +0 -48
  109. package/dist/lib/loader-utils/buffer-utils.d.ts +0 -10
  110. package/dist/lib/loader-utils/buffer-utils.d.ts.map +0 -1
  111. package/dist/lib/loader-utils/buffer-utils.js +0 -22
  112. package/dist/lib/node/stream.d.ts +0 -4
  113. package/dist/lib/node/stream.d.ts.map +0 -1
  114. package/dist/lib/node/stream.js +0 -17
  115. package/src/lib/binary-utils/memory-conversion-utils.ts +0 -53
  116. package/src/lib/filesystems/readable-file.ts +0 -30
  117. package/src/lib/filesystems/writable-file.ts +0 -44
  118. package/src/lib/loader-utils/buffer-utils.ts +0 -18
  119. package/src/lib/node/stream.ts +0 -18
package/dist/es5/index.js CHANGED
@@ -35,6 +35,12 @@ Object.defineProperty(exports, "assert", {
35
35
  return _assert.assert;
36
36
  }
37
37
  });
38
+ Object.defineProperty(exports, "bufferToArrayBuffer", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _bufferUtils.bufferToArrayBuffer;
42
+ }
43
+ });
38
44
  Object.defineProperty(exports, "canEncodeWithWorker", {
39
45
  enumerable: true,
40
46
  get: function get() {
@@ -80,25 +86,25 @@ Object.defineProperty(exports, "copyArrayBuffer", {
80
86
  Object.defineProperty(exports, "copyBinaryToDataView", {
81
87
  enumerable: true,
82
88
  get: function get() {
83
- return _dataviewCopyUtils.copyBinaryToDataView;
89
+ return _encodeUtils.copyBinaryToDataView;
84
90
  }
85
91
  });
86
92
  Object.defineProperty(exports, "copyPaddedArrayBufferToDataView", {
87
93
  enumerable: true,
88
94
  get: function get() {
89
- return _dataviewCopyUtils.copyPaddedArrayBufferToDataView;
95
+ return _binaryCopyUtils.copyPaddedArrayBufferToDataView;
90
96
  }
91
97
  });
92
98
  Object.defineProperty(exports, "copyPaddedStringToDataView", {
93
99
  enumerable: true,
94
100
  get: function get() {
95
- return _dataviewCopyUtils.copyPaddedStringToDataView;
101
+ return _binaryCopyUtils.copyPaddedStringToDataView;
96
102
  }
97
103
  });
98
104
  Object.defineProperty(exports, "copyStringToDataView", {
99
105
  enumerable: true,
100
106
  get: function get() {
101
- return _dataviewCopyUtils.copyStringToDataView;
107
+ return _encodeUtils.copyStringToDataView;
102
108
  }
103
109
  });
104
110
  Object.defineProperty(exports, "copyToArray", {
@@ -159,7 +165,7 @@ Object.defineProperty(exports, "isBrowser", {
159
165
  Object.defineProperty(exports, "isBuffer", {
160
166
  enumerable: true,
161
167
  get: function get() {
162
- return _memoryConversionUtils.isBuffer;
168
+ return _bufferUtils.isBuffer;
163
169
  }
164
170
  });
165
171
  Object.defineProperty(exports, "isWorker", {
@@ -180,12 +186,6 @@ Object.defineProperty(exports, "makeNumberedLineIterator", {
180
186
  return _textIterators.makeNumberedLineIterator;
181
187
  }
182
188
  });
183
- Object.defineProperty(exports, "makeReadableFile", {
184
- enumerable: true,
185
- get: function get() {
186
- return _readableFile.makeReadableFile;
187
- }
188
- });
189
189
  Object.defineProperty(exports, "makeTextDecoderIterator", {
190
190
  enumerable: true,
191
191
  get: function get() {
@@ -198,12 +198,6 @@ Object.defineProperty(exports, "makeTextEncoderIterator", {
198
198
  return _textIterators.makeTextEncoderIterator;
199
199
  }
200
200
  });
201
- Object.defineProperty(exports, "makeWritableFile", {
202
- enumerable: true,
203
- get: function get() {
204
- return _writableFile.makeWritableFile;
205
- }
206
- });
207
201
  Object.defineProperty(exports, "nodeVersion", {
208
202
  enumerable: true,
209
203
  get: function get() {
@@ -213,7 +207,7 @@ Object.defineProperty(exports, "nodeVersion", {
213
207
  Object.defineProperty(exports, "padStringToByteAlignment", {
214
208
  enumerable: true,
215
209
  get: function get() {
216
- return _dataviewCopyUtils.padStringToByteAlignment;
210
+ return _encodeUtils.padStringToByteAlignment;
217
211
  }
218
212
  });
219
213
  Object.defineProperty(exports, "padToNBytes", {
@@ -235,16 +229,10 @@ Object.defineProperty(exports, "parseWithWorker", {
235
229
  }
236
230
  });
237
231
  exports.path = void 0;
238
- Object.defineProperty(exports, "promisify1", {
239
- enumerable: true,
240
- get: function get() {
241
- return _util.promisify1;
242
- }
243
- });
244
- Object.defineProperty(exports, "promisify2", {
232
+ Object.defineProperty(exports, "promisify", {
245
233
  enumerable: true,
246
234
  get: function get() {
247
- return _util.promisify2;
235
+ return util.promisify;
248
236
  }
249
237
  });
250
238
  Object.defineProperty(exports, "resolvePath", {
@@ -271,19 +259,19 @@ Object.defineProperty(exports, "sliceArrayBuffer", {
271
259
  return _arrayBufferUtils.sliceArrayBuffer;
272
260
  }
273
261
  });
274
- exports.stream = void 0;
275
262
  Object.defineProperty(exports, "toArrayBuffer", {
276
263
  enumerable: true,
277
264
  get: function get() {
278
- return _memoryConversionUtils.toArrayBuffer;
265
+ return _arrayBufferUtils.toArrayBuffer;
279
266
  }
280
267
  });
281
268
  Object.defineProperty(exports, "toBuffer", {
282
269
  enumerable: true,
283
270
  get: function get() {
284
- return _memoryConversionUtils.toBuffer;
271
+ return _bufferUtils.toBuffer;
285
272
  }
286
273
  });
274
+ exports.util = void 0;
287
275
  Object.defineProperty(exports, "window", {
288
276
  enumerable: true,
289
277
  get: function get() {
@@ -298,23 +286,21 @@ var _encodeWithWorker = require("./lib/worker-loader-utils/encode-with-worker");
298
286
  var _parseJson = require("./lib/parser-utils/parse-json");
299
287
  var _arrayBufferUtils = require("./lib/binary-utils/array-buffer-utils");
300
288
  var _memoryCopyUtils = require("./lib/binary-utils/memory-copy-utils");
301
- var _dataviewCopyUtils = require("./lib/binary-utils/dataview-copy-utils");
289
+ var _binaryCopyUtils = require("./lib/binary-utils/binary-copy-utils");
290
+ var _encodeUtils = require("./lib/binary-utils/encode-utils");
302
291
  var _getFirstCharacters = require("./lib/binary-utils/get-first-characters");
303
292
  var _textIterators = require("./lib/iterators/text-iterators");
304
293
  var _asyncIteration = require("./lib/iterators/async-iteration");
305
294
  var _requestScheduler = _interopRequireDefault(require("./lib/request-utils/request-scheduler"));
306
295
  var _fileAliases = require("./lib/path-utils/file-aliases");
307
296
  var _jsonLoader = require("./json-loader");
308
- var _memoryConversionUtils = require("./lib/binary-utils/memory-conversion-utils");
309
- var _util = require("./lib/node/util");
310
297
  var path = _interopRequireWildcard(require("./lib/path-utils/path"));
311
298
  exports.path = path;
299
+ var _bufferUtils = require("./lib/binary-utils/buffer-utils");
300
+ var util = _interopRequireWildcard(require("./lib/node/util"));
301
+ exports.util = util;
312
302
  var fs = _interopRequireWildcard(require("./lib/node/fs"));
313
303
  exports.fs = fs;
314
- var stream = _interopRequireWildcard(require("./lib/node/stream"));
315
- exports.stream = stream;
316
- var _readableFile = require("./lib/filesystems/readable-file");
317
- var _writableFile = require("./lib/filesystems/writable-file");
318
304
  var _nodeFilesystem = _interopRequireDefault(require("./lib/filesystems/node-filesystem"));
319
305
  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); }
320
306
  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; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n IFileSystem,\n IRandomAccessReadFileSystem\n} from './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\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/util';\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 {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\nexport {default as _NodeFileSystem} from './lib/filesystems/node-filesystem';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;AACA;AAWA;AACA;AACA;AAGA;AAGA;AAMA;AACA;AAOA;AAGA;AAMA;AAGA;AAGA;AAIA;AAOA;AAKA;AAGA;AAA8C;AAI9C;AAAoC;AAIpC;AAA4C;AAK5C;AAGA;AAEA;AAA6E;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// TYPES\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions,\n Writer,\n WriterOptions,\n DataType,\n SyncDataType,\n BatchableDataType,\n IFileSystem,\n IRandomAccessReadFileSystem\n} from './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\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 toArrayBuffer,\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 copyPaddedArrayBufferToDataView,\n copyPaddedStringToDataView\n} from './lib/binary-utils/binary-copy-utils';\nexport {\n padStringToByteAlignment,\n copyStringToDataView,\n copyBinaryToDataView\n} from './lib/binary-utils/encode-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// `path` replacement (avoids bundling big path polyfill)\nimport * as path from './lib/path-utils/path';\nexport {path};\n\n// Avoid direct use of `Buffer` which pulls in 50KB polyfill\nexport {isBuffer, toBuffer, bufferToArrayBuffer} from './lib/binary-utils/buffer-utils';\n\n// Note.js wrappers (can be safely imported, but not used in browser)\n\n// Use instead of importing 'util'\nimport * as util from './lib/node/util';\nexport {util};\n// TODO - remove\nexport {promisify} from './lib/node/util';\n\n// Use instead of importing 'fs';`\nimport * as fs from './lib/node/fs';\nexport {fs};\n\n// EXPERIMENTAL\nexport {default as _NodeFileSystem} from './lib/filesystems/node-filesystem';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;AACA;AAWA;AACA;AACA;AAGA;AAGA;AAOA;AACA;AAIA;AAKA;AAGA;AAMA;AAGA;AAGA;AAIA;AAOA;AAA8C;AAI9C;AAKA;AAAwC;AAMxC;AAAoC;AAIpC;AAA6E;AAAA"}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports._typecheckJSONLoader = 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 "3.3.0" !== 'undefined' ? "3.3.0" : 'latest';
10
+ var VERSION = typeof "3.4.0-alpha.1" !== 'undefined' ? "3.4.0-alpha.1" : 'latest';
11
11
 
12
12
  var JSONLoader = {
13
13
  name: 'JSON',
@@ -1 +1 @@
1
- {"version":3,"file":"json-loader.js","names":["VERSION","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parseTextSync","parse","arrayBuffer","TextDecoder","decode","options","JSON","_typecheckJSONLoader"],"sources":["../../src/json-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from './types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * A JSON Micro loader (minimal bundle size)\n * Alternative to `@loaders.gl/json`\n */\nexport const JSONLoader = {\n name: 'JSON',\n id: 'json',\n module: 'json',\n version: VERSION,\n extensions: ['json', 'geojson'],\n mimeTypes: ['application/json'],\n category: 'json',\n text: true,\n parseTextSync,\n parse: async (arrayBuffer) => parseTextSync(new TextDecoder().decode(arrayBuffer)),\n options: {}\n};\n\n// TODO - deprecated\nfunction parseTextSync(text) {\n return JSON.parse(text);\n}\n\nexport const _typecheckJSONLoader: LoaderWithParser = JSONLoader;\n"],"mappings":";;;;;;;;;AAIA,IAAMA,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,QAAQ;;AAMpE,IAAMC,UAAU,GAAG;EACxBC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;EAC/BC,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,QAAQ,EAAE,MAAM;EAChBC,IAAI,EAAE,IAAI;EACVC,aAAa,EAAbA,aAAa;EACbC,KAAK;IAAA,uEAAE,iBAAOC,WAAW;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAKF,aAAa,CAAC,IAAIG,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAClFG,OAAO,EAAE,CAAC;AACZ,CAAC;;AAAC;AAGF,SAASL,aAAa,CAACD,IAAI,EAAE;EAC3B,OAAOO,IAAI,CAACL,KAAK,CAACF,IAAI,CAAC;AACzB;AAEO,IAAMQ,oBAAsC,GAAGhB,UAAU;AAAC"}
1
+ {"version":3,"file":"json-loader.js","names":["VERSION","JSONLoader","name","id","module","version","extensions","mimeTypes","category","text","parseTextSync","parse","arrayBuffer","TextDecoder","decode","options","JSON","_typecheckJSONLoader"],"sources":["../../src/json-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from './types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * A JSON Micro loader (minimal bundle size)\n * Alternative to `@loaders.gl/json`\n */\nexport const JSONLoader = {\n name: 'JSON',\n id: 'json',\n module: 'json',\n version: VERSION,\n extensions: ['json', 'geojson'],\n mimeTypes: ['application/json'],\n category: 'json',\n text: true,\n parseTextSync,\n parse: async (arrayBuffer) => parseTextSync(new TextDecoder().decode(arrayBuffer)),\n options: {}\n};\n\n// TODO - deprecated\nfunction parseTextSync(text) {\n return JSON.parse(text);\n}\n\nexport const _typecheckJSONLoader: LoaderWithParser = JSONLoader;\n"],"mappings":";;;;;;;;;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;;AAMpE,IAAMC,UAAU,GAAG;EACxBC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;EAC/BC,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,QAAQ,EAAE,MAAM;EAChBC,IAAI,EAAE,IAAI;EACVC,aAAa,EAAbA,aAAa;EACbC,KAAK;IAAA,uEAAE,iBAAOC,WAAW;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAKF,aAAa,CAAC,IAAIG,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAClFG,OAAO,EAAE,CAAC;AACZ,CAAC;;AAAC;AAGF,SAASL,aAAa,CAACD,IAAI,EAAE;EAC3B,OAAOO,IAAI,CAACL,KAAK,CAACF,IAAI,CAAC;AACzB;AAEO,IAAMQ,oBAAsC,GAAGhB,UAAU;AAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -7,9 +8,38 @@ exports.compareArrayBuffers = compareArrayBuffers;
7
8
  exports.concatenateArrayBuffers = concatenateArrayBuffers;
8
9
  exports.concatenateTypedArrays = concatenateTypedArrays;
9
10
  exports.sliceArrayBuffer = sliceArrayBuffer;
11
+ exports.toArrayBuffer = toArrayBuffer;
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+ var _bufferUtils = require("./buffer-utils");
10
14
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
11
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
16
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+ function toArrayBuffer(data) {
18
+ if ((0, _bufferUtils.isBuffer)(data)) {
19
+ return (0, _bufferUtils.bufferToArrayBuffer)(data);
20
+ }
21
+ if (data instanceof ArrayBuffer) {
22
+ return data;
23
+ }
24
+
25
+ if (ArrayBuffer.isView(data)) {
26
+ if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
27
+ return data.buffer;
28
+ }
29
+ return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
30
+ }
31
+ if (typeof data === 'string') {
32
+ var text = data;
33
+ var uint8Array = new TextEncoder().encode(text);
34
+ return uint8Array.buffer;
35
+ }
36
+
37
+ if (data && (0, _typeof2.default)(data) === 'object' && data._toArrayBuffer) {
38
+ return data._toArrayBuffer();
39
+ }
40
+ throw new Error('toArrayBuffer');
41
+ }
42
+
13
43
  function compareArrayBuffers(arrayBuffer1, arrayBuffer2, byteLength) {
14
44
  byteLength = byteLength || arrayBuffer1.byteLength;
15
45
  if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {
@@ -1 +1 @@
1
- {"version":3,"file":"array-buffer-utils.js","names":["compareArrayBuffers","arrayBuffer1","arrayBuffer2","byteLength","array1","Uint8Array","array2","i","length","concatenateArrayBuffers","sources","sourceArrays","map","source2","ArrayBuffer","reduce","typedArray","result","offset","sourceArray","set","buffer","concatenateTypedArrays","typedArrays","arrays","TypedArrayConstructor","constructor","Error","sumLength","acc","value","array","sliceArrayBuffer","arrayBuffer","byteOffset","subArray","undefined","subarray","arrayCopy"],"sources":["../../../../src/lib/binary-utils/array-buffer-utils.ts"],"sourcesContent":["import {TypedArray} from '../../types';\n\n/**\n * compare two binary arrays for equality\n * @param a\n * @param b\n * @param byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBuffer,\n arrayBuffer2: ArrayBuffer,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map((source2) =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"array-buffer-utils.js","names":["toArrayBuffer","data","isBuffer","bufferToArrayBuffer","ArrayBuffer","isView","byteOffset","byteLength","buffer","slice","text","uint8Array","TextEncoder","encode","_toArrayBuffer","Error","compareArrayBuffers","arrayBuffer1","arrayBuffer2","array1","Uint8Array","array2","i","length","concatenateArrayBuffers","sources","sourceArrays","map","source2","reduce","typedArray","result","offset","sourceArray","set","concatenateTypedArrays","typedArrays","arrays","TypedArrayConstructor","constructor","sumLength","acc","value","array","sliceArrayBuffer","arrayBuffer","subArray","undefined","subarray","arrayCopy"],"sources":["../../../../src/lib/binary-utils/array-buffer-utils.ts"],"sourcesContent":["import {TypedArray} from '../../types';\nimport {isBuffer, bufferToArrayBuffer} from './buffer-utils';\n\n/**\n * Convert an object to an array buffer\n */\nexport function toArrayBuffer(data: any): ArrayBuffer {\n // Note: Should be called first, Buffers can trigger other detections below\n if (isBuffer(data)) {\n return bufferToArrayBuffer(data);\n }\n\n if (data instanceof ArrayBuffer) {\n return data;\n }\n\n // Careful - Node Buffers look like Uint8Arrays (keep after isBuffer)\n if (ArrayBuffer.isView(data)) {\n if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {\n return data.buffer;\n }\n return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);\n }\n\n if (typeof data === 'string') {\n const text = data;\n const uint8Array = new TextEncoder().encode(text);\n return uint8Array.buffer;\n }\n\n // HACK to support Blob polyfill\n if (data && typeof data === 'object' && data._toArrayBuffer) {\n return data._toArrayBuffer();\n }\n\n throw new Error('toArrayBuffer');\n}\n\n/**\n * compare two binary arrays for equality\n * @param {ArrayBuffer} a\n * @param {ArrayBuffer} b\n * @param {number} byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBuffer,\n arrayBuffer2: ArrayBuffer,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map((source2) =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param {...*} arrays - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n"],"mappings":"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"}
@@ -3,41 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.copyBinaryToDataView = copyBinaryToDataView;
7
6
  exports.copyPaddedArrayBufferToDataView = copyPaddedArrayBufferToDataView;
8
7
  exports.copyPaddedStringToDataView = copyPaddedStringToDataView;
9
- exports.copyStringToDataView = copyStringToDataView;
10
- exports.padStringToByteAlignment = padStringToByteAlignment;
11
8
  var _memoryCopyUtils = require("./memory-copy-utils");
12
-
13
- function padStringToByteAlignment(string, byteAlignment) {
14
- var length = string.length;
15
- var paddedLength = Math.ceil(length / byteAlignment) * byteAlignment;
16
- var padding = paddedLength - length;
17
- var whitespace = '';
18
- for (var i = 0; i < padding; ++i) {
19
- whitespace += ' ';
20
- }
21
- return string + whitespace;
22
- }
23
-
24
- function copyStringToDataView(dataView, byteOffset, string, byteLength) {
25
- if (dataView) {
26
- for (var i = 0; i < byteLength; i++) {
27
- dataView.setUint8(byteOffset + i, string.charCodeAt(i));
28
- }
29
- }
30
- return byteOffset + byteLength;
31
- }
32
- function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
33
- if (dataView) {
34
- for (var i = 0; i < byteLength; i++) {
35
- dataView.setUint8(byteOffset + i, binary[i]);
36
- }
37
- }
38
- return byteOffset + byteLength;
39
- }
40
-
41
9
  function copyPaddedArrayBufferToDataView(dataView, byteOffset, sourceBuffer, padding) {
42
10
  var paddedLength = (0, _memoryCopyUtils.padToNBytes)(sourceBuffer.byteLength, padding);
43
11
  var padLength = paddedLength - sourceBuffer.byteLength;
@@ -60,4 +28,4 @@ function copyPaddedStringToDataView(dataView, byteOffset, string, padding) {
60
28
  byteOffset = copyPaddedArrayBufferToDataView(dataView, byteOffset, stringBuffer, padding);
61
29
  return byteOffset;
62
30
  }
63
- //# sourceMappingURL=dataview-copy-utils.js.map
31
+ //# sourceMappingURL=binary-copy-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-copy-utils.js","names":["copyPaddedArrayBufferToDataView","dataView","byteOffset","sourceBuffer","padding","paddedLength","padToNBytes","byteLength","padLength","targetArray","Uint8Array","buffer","sourceArray","set","i","setUint8","copyPaddedStringToDataView","string","textEncoder","TextEncoder","stringBuffer","encode"],"sources":["../../../../src/lib/binary-utils/binary-copy-utils.ts"],"sourcesContent":["import {TypedArray} from '../../types';\nimport {padToNBytes} from './memory-copy-utils';\n\n/**\n * Copy sourceBuffer to dataView with some padding\n *\n * @param {DataView | null} dataView - destination data container. If null - only new offset is calculated\n * @param {number} byteOffset - destination byte offset to copy to\n * @param {Array | TypedArray} sourceBuffer - source data buffer\n * @param {number} padding - pad the resulting array to multiple of \"padding\" bytes. Additional bytes are filled with 0x20 (ASCII space)\n *\n * @return new byteOffset of resulting dataView\n */\nexport function copyPaddedArrayBufferToDataView(\n dataView: DataView | null,\n byteOffset: number,\n sourceBuffer: TypedArray,\n padding: number\n) {\n const paddedLength = padToNBytes(sourceBuffer.byteLength, padding);\n const padLength = paddedLength - sourceBuffer.byteLength;\n\n if (dataView) {\n // Copy array\n const targetArray = new Uint8Array(\n dataView.buffer,\n dataView.byteOffset + byteOffset,\n sourceBuffer.byteLength\n );\n const sourceArray = new Uint8Array(sourceBuffer);\n targetArray.set(sourceArray);\n\n // Add PADDING\n for (let i = 0; i < padLength; ++i) {\n // json chunk is padded with spaces (ASCII 0x20)\n dataView.setUint8(byteOffset + sourceBuffer.byteLength + i, 0x20);\n }\n }\n byteOffset += paddedLength;\n return byteOffset;\n}\n\n/**\n * Copy string to dataView with some padding\n *\n * @param {DataView | null} dataView - destination data container. If null - only new offset is calculated\n * @param {number} byteOffset - destination byte offset to copy to\n * @param {string} string - source string\n * @param {number} padding - pad the resulting array to multiple of \"padding\" bytes. Additional bytes are filled with 0x20 (ASCII space)\n *\n * @return new byteOffset of resulting dataView\n */\nexport function copyPaddedStringToDataView(\n dataView: DataView | null,\n byteOffset: number,\n string: string,\n padding: number\n): number {\n const textEncoder = new TextEncoder();\n // PERFORMANCE IDEA: We encode twice, once to get size and once to store\n // PERFORMANCE IDEA: Use TextEncoder.encodeInto() to avoid temporary copy\n const stringBuffer = textEncoder.encode(string);\n\n byteOffset = copyPaddedArrayBufferToDataView(dataView, byteOffset, stringBuffer, padding);\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;AACA;AAYO,SAASA,+BAA+B,CAC7CC,QAAyB,EACzBC,UAAkB,EAClBC,YAAwB,EACxBC,OAAe,EACf;EACA,IAAMC,YAAY,GAAG,IAAAC,4BAAW,EAACH,YAAY,CAACI,UAAU,EAAEH,OAAO,CAAC;EAClE,IAAMI,SAAS,GAAGH,YAAY,GAAGF,YAAY,CAACI,UAAU;EAExD,IAAIN,QAAQ,EAAE;IAEZ,IAAMQ,WAAW,GAAG,IAAIC,UAAU,CAChCT,QAAQ,CAACU,MAAM,EACfV,QAAQ,CAACC,UAAU,GAAGA,UAAU,EAChCC,YAAY,CAACI,UAAU,CACxB;IACD,IAAMK,WAAW,GAAG,IAAIF,UAAU,CAACP,YAAY,CAAC;IAChDM,WAAW,CAACI,GAAG,CAACD,WAAW,CAAC;;IAG5B,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,SAAS,EAAE,EAAEM,CAAC,EAAE;MAElCb,QAAQ,CAACc,QAAQ,CAACb,UAAU,GAAGC,YAAY,CAACI,UAAU,GAAGO,CAAC,EAAE,IAAI,CAAC;IACnE;EACF;EACAZ,UAAU,IAAIG,YAAY;EAC1B,OAAOH,UAAU;AACnB;;AAYO,SAASc,0BAA0B,CACxCf,QAAyB,EACzBC,UAAkB,EAClBe,MAAc,EACdb,OAAe,EACP;EACR,IAAMc,WAAW,GAAG,IAAIC,WAAW,EAAE;EAGrC,IAAMC,YAAY,GAAGF,WAAW,CAACG,MAAM,CAACJ,MAAM,CAAC;EAE/Cf,UAAU,GAAGF,+BAA+B,CAACC,QAAQ,EAAEC,UAAU,EAAEkB,YAAY,EAAEhB,OAAO,CAAC;EAEzF,OAAOF,UAAU;AACnB"}
@@ -5,14 +5,13 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.bufferToArrayBuffer = bufferToArrayBuffer;
8
9
  exports.isBuffer = isBuffer;
9
- exports.toArrayBuffer = toArrayBuffer;
10
10
  exports.toBuffer = toBuffer;
11
11
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
12
  var node = _interopRequireWildcard(require("../node/buffer"));
13
13
  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); }
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
15
-
16
15
  function isBuffer(value) {
17
16
  return value && (0, _typeof2.default)(value) === 'object' && value.isBuffer;
18
17
  }
@@ -21,29 +20,11 @@ function toBuffer(data) {
21
20
  return node.toBuffer ? node.toBuffer(data) : data;
22
21
  }
23
22
 
24
- function toArrayBuffer(data) {
25
- if (isBuffer(data)) {
26
- return node.toArrayBuffer(data);
27
- }
28
- if (data instanceof ArrayBuffer) {
29
- return data;
30
- }
31
-
32
- if (ArrayBuffer.isView(data)) {
33
- if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
34
- return data.buffer;
35
- }
36
- return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
37
- }
38
- if (typeof data === 'string') {
39
- var text = data;
40
- var uint8Array = new TextEncoder().encode(text);
41
- return uint8Array.buffer;
42
- }
43
-
44
- if (data && (0, _typeof2.default)(data) === 'object' && data._toArrayBuffer) {
45
- return data._toArrayBuffer();
23
+ function bufferToArrayBuffer(buffer) {
24
+ if (isBuffer(buffer)) {
25
+ var typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
26
+ return typedArray.slice().buffer;
46
27
  }
47
- throw new Error('toArrayBuffer');
28
+ return buffer;
48
29
  }
49
- //# sourceMappingURL=memory-conversion-utils.js.map
30
+ //# sourceMappingURL=buffer-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-utils.js","names":["isBuffer","value","toBuffer","data","node","bufferToArrayBuffer","buffer","typedArray","Uint8Array","byteOffset","length","slice"],"sources":["../../../../src/lib/binary-utils/buffer-utils.ts"],"sourcesContent":["import * as node from '../node/buffer';\n\n/**\n * Check for Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)\n */\nexport function isBuffer(value: any): boolean {\n return value && typeof value === 'object' && value.isBuffer;\n}\n\n/**\n * Converts to Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function toBuffer(data: any): Buffer {\n return node.toBuffer ? node.toBuffer(data) : data;\n}\n\n/**\n * Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function bufferToArrayBuffer(buffer: any): ArrayBuffer {\n if (isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n"],"mappings":";;;;;;;;;;;AAAA;AAAuC;AAAA;AAKhC,SAASA,QAAQ,CAACC,KAAU,EAAW;EAC5C,OAAOA,KAAK,IAAI,sBAAOA,KAAK,MAAK,QAAQ,IAAIA,KAAK,CAACD,QAAQ;AAC7D;;AAMO,SAASE,QAAQ,CAACC,IAAS,EAAU;EAC1C,OAAOC,IAAI,CAACF,QAAQ,GAAGE,IAAI,CAACF,QAAQ,CAACC,IAAI,CAAC,GAAGA,IAAI;AACnD;;AAMO,SAASE,mBAAmB,CAACC,MAAW,EAAe;EAC5D,IAAIN,QAAQ,CAACM,MAAM,CAAC,EAAE;IACpB,IAAMC,UAAU,GAAG,IAAIC,UAAU,CAACF,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACG,UAAU,EAAEH,MAAM,CAACI,MAAM,CAAC;IAClF,OAAOH,UAAU,CAACI,KAAK,EAAE,CAACL,MAAM;EAClC;EACA,OAAOA,MAAM;AACf"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.copyBinaryToDataView = copyBinaryToDataView;
7
+ exports.copyStringToDataView = copyStringToDataView;
8
+ exports.padStringToByteAlignment = padStringToByteAlignment;
9
+
10
+ function padStringToByteAlignment(string, byteAlignment) {
11
+ var length = string.length;
12
+ var paddedLength = Math.ceil(length / byteAlignment) * byteAlignment;
13
+ var padding = paddedLength - length;
14
+ var whitespace = '';
15
+ for (var i = 0; i < padding; ++i) {
16
+ whitespace += ' ';
17
+ }
18
+ return string + whitespace;
19
+ }
20
+ function copyStringToDataView(dataView, byteOffset, string, byteLength) {
21
+ if (dataView) {
22
+ for (var i = 0; i < byteLength; i++) {
23
+ dataView.setUint8(byteOffset + i, string.charCodeAt(i));
24
+ }
25
+ }
26
+ return byteOffset + byteLength;
27
+ }
28
+ function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
29
+ if (dataView) {
30
+ for (var i = 0; i < byteLength; i++) {
31
+ dataView.setUint8(byteOffset + i, binary[i]);
32
+ }
33
+ }
34
+ return byteOffset + byteLength;
35
+ }
36
+ //# sourceMappingURL=encode-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-utils.js","names":["padStringToByteAlignment","string","byteAlignment","length","paddedLength","Math","ceil","padding","whitespace","i","copyStringToDataView","dataView","byteOffset","byteLength","setUint8","charCodeAt","copyBinaryToDataView","binary"],"sources":["../../../../src/lib/binary-utils/encode-utils.ts"],"sourcesContent":["// Note: These were broken out from gltf loader...\n// eslint-disable-next-line complexity\n\n// PERFORMANCE IDEA: No need to copy string twice...\nexport function padStringToByteAlignment(string, byteAlignment) {\n const length = string.length;\n const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment; // Round up to the required alignment\n const padding = paddedLength - length;\n let whitespace = '';\n for (let i = 0; i < padding; ++i) {\n whitespace += ' ';\n }\n return string + whitespace;\n}\n\nexport function copyStringToDataView(dataView, byteOffset, string, byteLength) {\n if (dataView) {\n for (let i = 0; i < byteLength; i++) {\n dataView.setUint8(byteOffset + i, string.charCodeAt(i));\n }\n }\n return byteOffset + byteLength;\n}\n\nexport function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {\n if (dataView) {\n for (let i = 0; i < byteLength; i++) {\n dataView.setUint8(byteOffset + i, binary[i]);\n }\n }\n return byteOffset + byteLength;\n}\n"],"mappings":";;;;;;;;;AAIO,SAASA,wBAAwB,CAACC,MAAM,EAAEC,aAAa,EAAE;EAC9D,IAAMC,MAAM,GAAGF,MAAM,CAACE,MAAM;EAC5B,IAAMC,YAAY,GAAGC,IAAI,CAACC,IAAI,CAACH,MAAM,GAAGD,aAAa,CAAC,GAAGA,aAAa;EACtE,IAAMK,OAAO,GAAGH,YAAY,GAAGD,MAAM;EACrC,IAAIK,UAAU,GAAG,EAAE;EACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,EAAE,EAAEE,CAAC,EAAE;IAChCD,UAAU,IAAI,GAAG;EACnB;EACA,OAAOP,MAAM,GAAGO,UAAU;AAC5B;AAEO,SAASE,oBAAoB,CAACC,QAAQ,EAAEC,UAAU,EAAEX,MAAM,EAAEY,UAAU,EAAE;EAC7E,IAAIF,QAAQ,EAAE;IACZ,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,UAAU,EAAEJ,CAAC,EAAE,EAAE;MACnCE,QAAQ,CAACG,QAAQ,CAACF,UAAU,GAAGH,CAAC,EAAER,MAAM,CAACc,UAAU,CAACN,CAAC,CAAC,CAAC;IACzD;EACF;EACA,OAAOG,UAAU,GAAGC,UAAU;AAChC;AAEO,SAASG,oBAAoB,CAACL,QAAQ,EAAEC,UAAU,EAAEK,MAAM,EAAEJ,UAAU,EAAE;EAC7E,IAAIF,QAAQ,EAAE;IACZ,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,UAAU,EAAEJ,CAAC,EAAE,EAAE;MACnCE,QAAQ,CAACG,QAAQ,CAACF,UAAU,GAAGH,CAAC,EAAEQ,MAAM,CAACR,CAAC,CAAC,CAAC;IAC9C;EACF;EACA,OAAOG,UAAU,GAAGC,UAAU;AAChC"}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getFirstCharacters = getFirstCharacters;
7
7
  exports.getMagicString = getMagicString;
8
-
9
8
  function getFirstCharacters(data) {
10
9
  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
11
10
  if (typeof data === 'string') {
@@ -18,7 +17,6 @@ function getFirstCharacters(data) {
18
17
  }
19
18
  return '';
20
19
  }
21
-
22
20
  function getMagicString(arrayBuffer, byteOffset, length) {
23
21
  if (arrayBuffer.byteLength <= byteOffset + length) {
24
22
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"get-first-characters.js","names":["getFirstCharacters","data","length","slice","ArrayBuffer","isView","getMagicString","buffer","byteOffset","arrayBuffer","byteLength","dataView","DataView","magic","i","String","fromCharCode","getUint8"],"sources":["../../../../src/lib/binary-utils/get-first-characters.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/**\n * Get the first characters from a binary file (interpret the first bytes as an ASCII string)\n * @param data\n * @param length\n * @returns\n */\nexport function getFirstCharacters(data: string | ArrayBuffer, length: number = 5): string {\n if (typeof data === 'string') {\n return data.slice(0, length);\n } else if (ArrayBuffer.isView(data)) {\n // Typed Arrays can have offsets into underlying buffer\n return getMagicString(data.buffer, data.byteOffset, length);\n } else if (data instanceof ArrayBuffer) {\n const byteOffset = 0;\n return getMagicString(data, byteOffset, length);\n }\n return '';\n}\n\n/**\n * Gets a magic string from a \"file\"\n * Typically used to check or detect file format\n * @param arrayBuffer\n * @param byteOffset\n * @param length\n * @returns\n */\nexport function getMagicString(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n length: number\n): string {\n if (arrayBuffer.byteLength <= byteOffset + length) {\n return '';\n }\n const dataView = new DataView(arrayBuffer);\n let magic = '';\n for (let i = 0; i < length; i++) {\n magic += String.fromCharCode(dataView.getUint8(byteOffset + i));\n }\n return magic;\n}\n"],"mappings":";;;;;;;;AAQO,SAASA,kBAAkB,CAACC,IAA0B,EAA8B;EAAA,IAA5BC,MAAc,uEAAG,CAAC;EAC/E,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAED,MAAM,CAAC;EAC9B,CAAC,MAAM,IAAIE,WAAW,CAACC,MAAM,CAACJ,IAAI,CAAC,EAAE;IAEnC,OAAOK,cAAc,CAACL,IAAI,CAACM,MAAM,EAAEN,IAAI,CAACO,UAAU,EAAEN,MAAM,CAAC;EAC7D,CAAC,MAAM,IAAID,IAAI,YAAYG,WAAW,EAAE;IACtC,IAAMI,UAAU,GAAG,CAAC;IACpB,OAAOF,cAAc,CAACL,IAAI,EAAEO,UAAU,EAAEN,MAAM,CAAC;EACjD;EACA,OAAO,EAAE;AACX;;AAUO,SAASI,cAAc,CAC5BG,WAAwB,EACxBD,UAAkB,EAClBN,MAAc,EACN;EACR,IAAIO,WAAW,CAACC,UAAU,IAAIF,UAAU,GAAGN,MAAM,EAAE;IACjD,OAAO,EAAE;EACX;EACA,IAAMS,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1C,IAAII,KAAK,GAAG,EAAE;EACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,MAAM,EAAEY,CAAC,EAAE,EAAE;IAC/BD,KAAK,IAAIE,MAAM,CAACC,YAAY,CAACL,QAAQ,CAACM,QAAQ,CAACT,UAAU,GAAGM,CAAC,CAAC,CAAC;EACjE;EACA,OAAOD,KAAK;AACd"}
1
+ {"version":3,"file":"get-first-characters.js","names":["getFirstCharacters","data","length","slice","ArrayBuffer","isView","getMagicString","buffer","byteOffset","arrayBuffer","byteLength","dataView","DataView","magic","i","String","fromCharCode","getUint8"],"sources":["../../../../src/lib/binary-utils/get-first-characters.ts"],"sourcesContent":["export function getFirstCharacters(data, length = 5): string {\n if (typeof data === 'string') {\n return data.slice(0, length);\n } else if (ArrayBuffer.isView(data)) {\n // Typed Arrays can have offsets into underlying buffer\n return getMagicString(data.buffer, data.byteOffset, length);\n } else if (data instanceof ArrayBuffer) {\n const byteOffset = 0;\n return getMagicString(data, byteOffset, length);\n }\n return '';\n}\n\nexport function getMagicString(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n length: number\n): string {\n if (arrayBuffer.byteLength <= byteOffset + length) {\n return '';\n }\n const dataView = new DataView(arrayBuffer);\n let magic = '';\n for (let i = 0; i < length; i++) {\n magic += String.fromCharCode(dataView.getUint8(byteOffset + i));\n }\n return magic;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,kBAAkB,CAACC,IAAI,EAAsB;EAAA,IAApBC,MAAM,uEAAG,CAAC;EACjD,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAED,MAAM,CAAC;EAC9B,CAAC,MAAM,IAAIE,WAAW,CAACC,MAAM,CAACJ,IAAI,CAAC,EAAE;IAEnC,OAAOK,cAAc,CAACL,IAAI,CAACM,MAAM,EAAEN,IAAI,CAACO,UAAU,EAAEN,MAAM,CAAC;EAC7D,CAAC,MAAM,IAAID,IAAI,YAAYG,WAAW,EAAE;IACtC,IAAMI,UAAU,GAAG,CAAC;IACpB,OAAOF,cAAc,CAACL,IAAI,EAAEO,UAAU,EAAEN,MAAM,CAAC;EACjD;EACA,OAAO,EAAE;AACX;AAEO,SAASI,cAAc,CAC5BG,WAAwB,EACxBD,UAAkB,EAClBN,MAAc,EACN;EACR,IAAIO,WAAW,CAACC,UAAU,IAAIF,UAAU,GAAGN,MAAM,EAAE;IACjD,OAAO,EAAE;EACX;EACA,IAAMS,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1C,IAAII,KAAK,GAAG,EAAE;EACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,MAAM,EAAEY,CAAC,EAAE,EAAE;IAC/BD,KAAK,IAAIE,MAAM,CAACC,YAAY,CAACL,QAAQ,CAACM,QAAQ,CAACT,UAAU,GAAGM,CAAC,CAAC,CAAC;EACjE;EACA,OAAOD,KAAK;AACd"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.toArrayBuffer = toArrayBuffer;
7
7
  exports.toBuffer = toBuffer;
8
+ var _assert = require("../env-utils/assert");
8
9
 
9
10
  function toArrayBuffer(buffer) {
10
11
  if (Buffer.isBuffer(buffer)) {
@@ -15,15 +16,17 @@ function toArrayBuffer(buffer) {
15
16
  }
16
17
 
17
18
  function toBuffer(binaryData) {
18
- if (Buffer.isBuffer(binaryData)) {
19
- return binaryData;
20
- }
21
19
  if (ArrayBuffer.isView(binaryData)) {
22
20
  binaryData = binaryData.buffer;
23
21
  }
24
22
  if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {
25
- return Buffer.from(binaryData);
23
+ var buffer = new Buffer(binaryData.byteLength);
24
+ var view = new Uint8Array(binaryData);
25
+ for (var i = 0; i < buffer.length; ++i) {
26
+ buffer[i] = view[i];
27
+ }
28
+ return buffer;
26
29
  }
27
- throw new Error('toBuffer');
30
+ return (0, _assert.assert)(false);
28
31
  }
29
32
  //# sourceMappingURL=buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","binaryData","ArrayBuffer","isView","from","Error"],"sources":["../../../../src/lib/node/buffer.ts"],"sourcesContent":["// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)\n// this file is not visible to webpack (it is excluded in the package.json \"browser\" field).\n\n/**\n * Convert Buffer to ArrayBuffer\n * Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function toArrayBuffer(buffer) {\n // TODO - per docs we should just be able to call buffer.buffer, but there are issues\n if (Buffer.isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n\n/**\n * Convert (copy) ArrayBuffer to Buffer\n */\nexport function toBuffer(binaryData: ArrayBuffer | ArrayBuffer | Buffer): Buffer {\n if (Buffer.isBuffer(binaryData)) {\n return binaryData;\n }\n\n if (ArrayBuffer.isView(binaryData)) {\n binaryData = binaryData.buffer;\n }\n\n if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {\n return Buffer.from(binaryData);\n }\n\n throw new Error('toBuffer');\n}\n"],"mappings":";;;;;;;;AAQO,SAASA,aAAa,CAACC,MAAM,EAAE;EAEpC,IAAIC,MAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,IAAMG,UAAU,GAAG,IAAIC,UAAU,CAACJ,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACK,UAAU,EAAEL,MAAM,CAACM,MAAM,CAAC;IAClF,OAAOH,UAAU,CAACI,KAAK,EAAE,CAACP,MAAM;EAClC;EACA,OAAOA,MAAM;AACf;;AAKO,SAASQ,QAAQ,CAACC,UAA8C,EAAU;EAC/E,IAAIR,MAAM,CAACC,QAAQ,CAACO,UAAU,CAAC,EAAE;IAC/B,OAAOA,UAAU;EACnB;EAEA,IAAIC,WAAW,CAACC,MAAM,CAACF,UAAU,CAAC,EAAE;IAClCA,UAAU,GAAGA,UAAU,CAACT,MAAM;EAChC;EAEA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIQ,UAAU,YAAYC,WAAW,EAAE;IACtE,OAAOT,MAAM,CAACW,IAAI,CAACH,UAAU,CAAC;EAChC;EAEA,MAAM,IAAII,KAAK,CAAC,UAAU,CAAC;AAC7B"}
1
+ {"version":3,"file":"buffer.js","names":["toArrayBuffer","buffer","Buffer","isBuffer","typedArray","Uint8Array","byteOffset","length","slice","toBuffer","binaryData","ArrayBuffer","isView","byteLength","view","i","assert"],"sources":["../../../../src/lib/node/buffer.ts"],"sourcesContent":["// Isolates Buffer references to ensure they are only bundled under Node.js (avoids big webpack polyfill)\n// this file is not visible to webpack (it is excluded in the package.json \"browser\" field).\n\nimport {assert} from '../env-utils/assert';\n\n/**\n * Convert Buffer to ArrayBuffer\n */\nexport function toArrayBuffer(buffer) {\n // TODO - per docs we should just be able to call buffer.buffer, but there are issues\n if (Buffer.isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n\n/**\n * Convert (copy) ArrayBuffer to Buffer\n */\nexport function toBuffer(binaryData) {\n if (ArrayBuffer.isView(binaryData)) {\n binaryData = binaryData.buffer;\n }\n\n if (typeof Buffer !== 'undefined' && binaryData instanceof ArrayBuffer) {\n const buffer = new Buffer(binaryData.byteLength);\n const view = new Uint8Array(binaryData);\n for (let i = 0; i < buffer.length; ++i) {\n buffer[i] = view[i];\n }\n return buffer;\n }\n\n return assert(false);\n}\n"],"mappings":";;;;;;;AAGA;;AAKO,SAASA,aAAa,CAACC,MAAM,EAAE;EAEpC,IAAIC,MAAM,CAACC,QAAQ,CAACF,MAAM,CAAC,EAAE;IAC3B,IAAMG,UAAU,GAAG,IAAIC,UAAU,CAACJ,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACK,UAAU,EAAEL,MAAM,CAACM,MAAM,CAAC;IAClF,OAAOH,UAAU,CAACI,KAAK,EAAE,CAACP,MAAM;EAClC;EACA,OAAOA,MAAM;AACf;;AAKO,SAASQ,QAAQ,CAACC,UAAU,EAAE;EACnC,IAAIC,WAAW,CAACC,MAAM,CAACF,UAAU,CAAC,EAAE;IAClCA,UAAU,GAAGA,UAAU,CAACT,MAAM;EAChC;EAEA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIQ,UAAU,YAAYC,WAAW,EAAE;IACtE,IAAMV,MAAM,GAAG,IAAIC,MAAM,CAACQ,UAAU,CAACG,UAAU,CAAC;IAChD,IAAMC,IAAI,GAAG,IAAIT,UAAU,CAACK,UAAU,CAAC;IACvC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGd,MAAM,CAACM,MAAM,EAAE,EAAEQ,CAAC,EAAE;MACtCd,MAAM,CAACc,CAAC,CAAC,GAAGD,IAAI,CAACC,CAAC,CAAC;IACrB;IACA,OAAOd,MAAM;EACf;EAEA,OAAO,IAAAe,cAAM,EAAC,KAAK,CAAC;AACtB"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports._readToArrayBuffer = _readToArrayBuffer;
8
- exports.writeFileSync = exports.writeFile = exports.stat = exports.readdir = exports.readFileSync = exports.readFile = exports.read = exports.open = exports.isSupported = exports.fstat = exports.createWriteStream = exports.close = void 0;
8
+ exports.writeFileSync = exports.writeFile = exports.stat = exports.readdir = exports.readFileSync = exports.readFile = exports.read = exports.open = exports.isSupported = exports.fstat = exports.close = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
11
  var _fs = _interopRequireDefault(require("fs"));
@@ -35,32 +35,23 @@ var read;
35
35
  exports.read = read;
36
36
  var fstat;
37
37
  exports.fstat = fstat;
38
- var createWriteStream;
39
- exports.createWriteStream = createWriteStream;
40
38
  var isSupported = Boolean(_fs.default);
41
39
 
42
40
  exports.isSupported = isSupported;
43
41
 
44
42
  try {
45
- exports.readdir = readdir = (0, _util.promisify2)(_fs.default.readdir);
46
- exports.stat = stat = (0, _util.promisify2)(_fs.default.stat);
43
+ exports.readdir = readdir = (0, _util.promisify)(_fs.default.readdir);
44
+ exports.stat = stat = (0, _util.promisify)(_fs.default.stat);
47
45
 
48
- exports.readFile = readFile = _fs.default.readFile;
46
+ exports.readFile = readFile = (0, _util.promisify)(_fs.default.readFile);
49
47
  exports.readFileSync = readFileSync = _fs.default.readFileSync;
50
- exports.writeFile = writeFile = (0, _util.promisify3)(_fs.default.writeFile);
48
+ exports.writeFile = writeFile = (0, _util.promisify)(_fs.default.writeFile);
51
49
  exports.writeFileSync = writeFileSync = _fs.default.writeFileSync;
52
50
 
53
- exports.open = open = _fs.default.open;
54
- exports.close = close = function close(fd) {
55
- return new Promise(function (resolve, reject) {
56
- return _fs.default.close(fd, function (err) {
57
- return err ? reject(err) : resolve();
58
- });
59
- });
60
- };
61
- exports.read = read = _fs.default.read;
62
- exports.fstat = fstat = _fs.default.fstat;
63
- exports.createWriteStream = createWriteStream = _fs.default.createWriteStream;
51
+ exports.open = open = (0, _util.promisify)(_fs.default.open);
52
+ exports.close = close = (0, _util.promisify)(_fs.default.close);
53
+ exports.read = read = (0, _util.promisify)(_fs.default.read);
54
+ exports.fstat = fstat = (0, _util.promisify)(_fs.default.fstat);
64
55
  exports.isSupported = isSupported = Boolean(_fs.default);
65
56
  } catch (_unused) {
66
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","names":["readdir","stat","readFile","readFileSync","writeFile","writeFileSync","open","close","read","fstat","createWriteStream","isSupported","Boolean","fs","promisify2","promisify3","fd","Promise","resolve","reject","err","_readToArrayBuffer","start","length","buffer","Buffer","alloc","bytesRead","Error","toArrayBuffer"],"sources":["../../../../src/lib/node/fs.ts"],"sourcesContent":["// fs wrapper (promisified fs + avoids bundling fs in browsers)\nimport fs from 'fs';\nimport {toArrayBuffer} from './buffer';\nimport {promisify2, promisify3} from './util';\n\nexport type {Stats, WriteStream} from 'fs';\n\nexport let readdir;\n/** Wrapper for Node.js fs method */\nexport let stat;\n\n/** Wrapper for Node.js fs method */\nexport let readFile;\n/** Wrapper for Node.js fs method */\nexport let readFileSync;\n/** Wrapper for Node.js fs method */\nexport let writeFile;\n/** Wrapper for Node.js fs method */\nexport let writeFileSync;\n\n// file descriptors\n\n/** Wrapper for Node.js fs method */\nexport let open;\n/** Wrapper for Node.js fs method */\nexport let close: (fd: number) => Promise<void>;\n/** Wrapper for Node.js fs method */\nexport let read;\n/** Wrapper for Node.js fs method */\nexport let fstat;\n\nexport let createWriteStream: typeof fs.createWriteStream;\n\nexport let isSupported = Boolean(fs);\n\n// paths\n\ntry {\n /** Wrapper for Node.js fs method */\n readdir = promisify2(fs.readdir);\n /** Wrapper for Node.js fs method */\n stat = promisify2(fs.stat);\n\n /** Wrapper for Node.js fs method */\n readFile = fs.readFile;\n /** Wrapper for Node.js fs method */\n readFileSync = fs.readFileSync;\n /** Wrapper for Node.js fs method */\n writeFile = promisify3(fs.writeFile);\n /** Wrapper for Node.js fs method */\n writeFileSync = fs.writeFileSync;\n\n // file descriptors\n\n /** Wrapper for Node.js fs method */\n open = fs.open;\n /** Wrapper for Node.js fs method */\n close = (fd: number) =>\n new Promise((resolve, reject) => fs.close(fd, (err) => (err ? reject(err) : resolve())));\n /** Wrapper for Node.js fs method */\n read = fs.read;\n /** Wrapper for Node.js fs method */\n fstat = fs.fstat;\n\n createWriteStream = fs.createWriteStream;\n\n isSupported = Boolean(fs);\n} catch {\n // ignore\n}\n\nexport async function _readToArrayBuffer(fd: number, start: number, length: number) {\n const buffer = Buffer.alloc(length);\n const {bytesRead} = await read(fd, buffer, 0, length, start);\n if (bytesRead !== length) {\n throw new Error('fs.read failed');\n }\n return toArrayBuffer(buffer);\n}\n"],"mappings":";;;;;;;;;;AACA;AACA;AACA;;AAIO,IAAIA,OAAO;AAAC;AAEZ,IAAIC,IAAI;;AAAC;AAGT,IAAIC,QAAQ;AAAC;AAEb,IAAIC,YAAY;AAAC;AAEjB,IAAIC,SAAS;AAAC;AAEd,IAAIC,aAAa;;AAAC;;AAKlB,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAoC;AAAC;AAEzC,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAK;AAAC;AAEV,IAAIC,iBAA8C;AAAC;AAEnD,IAAIC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;;AAAC;;AAIrC,IAAI;EAEF,kBAAAb,OAAO,GAAG,IAAAc,gBAAU,EAACD,WAAE,CAACb,OAAO,CAAC;EAEhC,eAAAC,IAAI,GAAG,IAAAa,gBAAU,EAACD,WAAE,CAACZ,IAAI,CAAC;;EAG1B,mBAAAC,QAAQ,GAAGW,WAAE,CAACX,QAAQ;EAEtB,uBAAAC,YAAY,GAAGU,WAAE,CAACV,YAAY;EAE9B,oBAAAC,SAAS,GAAG,IAAAW,gBAAU,EAACF,WAAE,CAACT,SAAS,CAAC;EAEpC,wBAAAC,aAAa,GAAGQ,WAAE,CAACR,aAAa;;EAKhC,eAAAC,IAAI,GAAGO,WAAE,CAACP,IAAI;EAEd,gBAAAC,KAAK,GAAG,eAACS,EAAU;IAAA,OACjB,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;MAAA,OAAKN,WAAE,CAACN,KAAK,CAACS,EAAE,EAAE,UAACI,GAAG;QAAA,OAAMA,GAAG,GAAGD,MAAM,CAACC,GAAG,CAAC,GAAGF,OAAO,EAAE;MAAA,CAAC,CAAC;IAAA,EAAC;EAAA;EAE1F,eAAAV,IAAI,GAAGK,WAAE,CAACL,IAAI;EAEd,gBAAAC,KAAK,GAAGI,WAAE,CAACJ,KAAK;EAEhB,4BAAAC,iBAAiB,GAAGG,WAAE,CAACH,iBAAiB;EAExC,sBAAAC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;AAC3B,CAAC,CAAC,gBAAM;AAER;AAAC,SAEqBQ,kBAAkB;EAAA;AAAA;AAAA;EAAA,gFAAjC,iBAAkCL,EAAU,EAAEM,KAAa,EAAEC,MAAc;IAAA;IAAA;MAAA;QAAA;UAAA;YAC1EC,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACH,MAAM,CAAC;YAAA;YAAA,OACTf,IAAI,CAACQ,EAAE,EAAEQ,MAAM,EAAE,CAAC,EAAED,MAAM,EAAED,KAAK,CAAC;UAAA;YAAA;YAArDK,SAAS,eAATA,SAAS;YAAA,MACZA,SAAS,KAAKJ,MAAM;cAAA;cAAA;YAAA;YAAA,MAChB,IAAIK,KAAK,CAAC,gBAAgB,CAAC;UAAA;YAAA,iCAE5B,IAAAC,qBAAa,EAACL,MAAM,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAC7B;EAAA;AAAA"}
1
+ {"version":3,"file":"fs.js","names":["readdir","stat","readFile","readFileSync","writeFile","writeFileSync","open","close","read","fstat","isSupported","Boolean","fs","promisify","_readToArrayBuffer","fd","start","length","buffer","Buffer","alloc","bytesRead","Error","toArrayBuffer"],"sources":["../../../../src/lib/node/fs.ts"],"sourcesContent":["// fs wrapper (promisified fs + avoids bundling fs in browsers)\nimport fs from 'fs';\nimport {toArrayBuffer} from './buffer';\nimport {promisify} from './util';\n\nexport type {Stats} from 'fs';\n\nexport let readdir;\n/** Wrapper for Node.js fs method */\nexport let stat;\n\n/** Wrapper for Node.js fs method */\nexport let readFile;\n/** Wrapper for Node.js fs method */\nexport let readFileSync;\n/** Wrapper for Node.js fs method */\nexport let writeFile;\n/** Wrapper for Node.js fs method */\nexport let writeFileSync;\n\n// file descriptors\n\n/** Wrapper for Node.js fs method */\nexport let open;\n/** Wrapper for Node.js fs method */\nexport let close;\n/** Wrapper for Node.js fs method */\nexport let read;\n/** Wrapper for Node.js fs method */\nexport let fstat;\n\nexport let isSupported = Boolean(fs);\n\n// paths\n\ntry {\n /** Wrapper for Node.js fs method */\n readdir = promisify(fs.readdir);\n /** Wrapper for Node.js fs method */\n stat = promisify(fs.stat);\n\n /** Wrapper for Node.js fs method */\n readFile = promisify(fs.readFile);\n /** Wrapper for Node.js fs method */\n readFileSync = fs.readFileSync;\n /** Wrapper for Node.js fs method */\n writeFile = promisify(fs.writeFile);\n /** Wrapper for Node.js fs method */\n writeFileSync = fs.writeFileSync;\n\n // file descriptors\n\n /** Wrapper for Node.js fs method */\n open = promisify(fs.open);\n /** Wrapper for Node.js fs method */\n close = promisify(fs.close);\n /** Wrapper for Node.js fs method */\n read = promisify(fs.read);\n /** Wrapper for Node.js fs method */\n fstat = promisify(fs.fstat);\n\n isSupported = Boolean(fs);\n} catch {\n // ignore\n}\n\nexport async function _readToArrayBuffer(fd: number, start: number, length: number) {\n const buffer = Buffer.alloc(length);\n const {bytesRead} = await read(fd, buffer, 0, length, start);\n if (bytesRead !== length) {\n throw new Error('fs.read failed');\n }\n return toArrayBuffer(buffer);\n}\n"],"mappings":";;;;;;;;;;AACA;AACA;AACA;;AAIO,IAAIA,OAAO;AAAC;AAEZ,IAAIC,IAAI;;AAAC;AAGT,IAAIC,QAAQ;AAAC;AAEb,IAAIC,YAAY;AAAC;AAEjB,IAAIC,SAAS;AAAC;AAEd,IAAIC,aAAa;;AAAC;;AAKlB,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAK;AAAC;AAEV,IAAIC,IAAI;AAAC;AAET,IAAIC,KAAK;AAAC;AAEV,IAAIC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;;AAAC;;AAIrC,IAAI;EAEF,kBAAAZ,OAAO,GAAG,IAAAa,eAAS,EAACD,WAAE,CAACZ,OAAO,CAAC;EAE/B,eAAAC,IAAI,GAAG,IAAAY,eAAS,EAACD,WAAE,CAACX,IAAI,CAAC;;EAGzB,mBAAAC,QAAQ,GAAG,IAAAW,eAAS,EAACD,WAAE,CAACV,QAAQ,CAAC;EAEjC,uBAAAC,YAAY,GAAGS,WAAE,CAACT,YAAY;EAE9B,oBAAAC,SAAS,GAAG,IAAAS,eAAS,EAACD,WAAE,CAACR,SAAS,CAAC;EAEnC,wBAAAC,aAAa,GAAGO,WAAE,CAACP,aAAa;;EAKhC,eAAAC,IAAI,GAAG,IAAAO,eAAS,EAACD,WAAE,CAACN,IAAI,CAAC;EAEzB,gBAAAC,KAAK,GAAG,IAAAM,eAAS,EAACD,WAAE,CAACL,KAAK,CAAC;EAE3B,eAAAC,IAAI,GAAG,IAAAK,eAAS,EAACD,WAAE,CAACJ,IAAI,CAAC;EAEzB,gBAAAC,KAAK,GAAG,IAAAI,eAAS,EAACD,WAAE,CAACH,KAAK,CAAC;EAE3B,sBAAAC,WAAW,GAAGC,OAAO,CAACC,WAAE,CAAC;AAC3B,CAAC,CAAC,gBAAM;AAER;AAAC,SAEqBE,kBAAkB;EAAA;AAAA;AAAA;EAAA,gFAAjC,iBAAkCC,EAAU,EAAEC,KAAa,EAAEC,MAAc;IAAA;IAAA;MAAA;QAAA;UAAA;YAC1EC,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACH,MAAM,CAAC;YAAA;YAAA,OACTT,IAAI,CAACO,EAAE,EAAEG,MAAM,EAAE,CAAC,EAAED,MAAM,EAAED,KAAK,CAAC;UAAA;YAAA;YAArDK,SAAS,eAATA,SAAS;YAAA,MACZA,SAAS,KAAKJ,MAAM;cAAA;cAAA;YAAA;YAAA,MAChB,IAAIK,KAAK,CAAC,gBAAgB,CAAC;UAAA;YAAA,iCAE5B,IAAAC,qBAAa,EAACL,MAAM,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAC7B;EAAA;AAAA"}