@loaders.gl/netcdf 3.4.0-alpha.2 → 3.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/iobuffer/iobuffer.js +43 -130
- package/dist/es5/iobuffer/iobuffer.js.map +1 -1
- package/dist/es5/netcdf-loader.js +9 -15
- package/dist/es5/netcdf-loader.js.map +1 -1
- package/dist/es5/netcdfjs/netcdf-reader.js +11 -36
- package/dist/es5/netcdfjs/netcdf-reader.js.map +1 -1
- package/dist/es5/netcdfjs/read-data.js +0 -6
- package/dist/es5/netcdfjs/read-data.js.map +1 -1
- package/dist/es5/netcdfjs/read-header.js +0 -23
- package/dist/es5/netcdfjs/read-header.js.map +1 -1
- package/dist/es5/netcdfjs/read-type.js +0 -6
- package/dist/es5/netcdfjs/read-type.js.map +1 -1
- package/dist/esm/iobuffer/iobuffer.js +0 -44
- package/dist/esm/iobuffer/iobuffer.js.map +1 -1
- package/dist/esm/netcdf-loader.js +2 -7
- package/dist/esm/netcdf-loader.js.map +1 -1
- package/dist/esm/netcdfjs/netcdf-reader.js +0 -16
- package/dist/esm/netcdfjs/netcdf-reader.js.map +1 -1
- package/dist/esm/netcdfjs/read-data.js +0 -6
- package/dist/esm/netcdfjs/read-data.js.map +1 -1
- package/dist/esm/netcdfjs/read-header.js +0 -24
- package/dist/esm/netcdfjs/read-header.js.map +1 -1
- package/dist/esm/netcdfjs/read-type.js +0 -6
- package/dist/esm/netcdfjs/read-type.js.map +1 -1
- package/package.json +3 -3
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export {NetCDFReader} from './netcdfjs/netcdf-reader';\n\nexport {NetCDFLoader} from './netcdf-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_netcdfReader","require","_netcdfLoader"],"sources":["../../src/index.ts"],"sourcesContent":["export {NetCDFReader} from './netcdfjs/netcdf-reader';\n\nexport {NetCDFLoader} from './netcdf-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA"}
|
|
@@ -10,7 +10,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var DEFAULT_BYTE_LENGTH = 1024 * 8;
|
|
12
12
|
var IOBuffer = function () {
|
|
13
|
-
|
|
14
13
|
function IOBuffer() {
|
|
15
14
|
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_BYTE_LENGTH;
|
|
16
15
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -58,90 +57,68 @@ var IOBuffer = function () {
|
|
|
58
57
|
this._mark = 0;
|
|
59
58
|
this._marks = [];
|
|
60
59
|
}
|
|
61
|
-
|
|
62
60
|
(0, _createClass2.default)(IOBuffer, [{
|
|
63
61
|
key: "available",
|
|
64
|
-
value:
|
|
65
|
-
function available() {
|
|
62
|
+
value: function available() {
|
|
66
63
|
var byteLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
67
64
|
return this.offset + byteLength <= this.length;
|
|
68
65
|
}
|
|
69
|
-
|
|
70
66
|
}, {
|
|
71
67
|
key: "isLittleEndian",
|
|
72
|
-
value:
|
|
73
|
-
function isLittleEndian() {
|
|
68
|
+
value: function isLittleEndian() {
|
|
74
69
|
return this.littleEndian;
|
|
75
70
|
}
|
|
76
|
-
|
|
77
71
|
}, {
|
|
78
72
|
key: "setLittleEndian",
|
|
79
|
-
value:
|
|
80
|
-
function setLittleEndian() {
|
|
73
|
+
value: function setLittleEndian() {
|
|
81
74
|
this.littleEndian = true;
|
|
82
75
|
return this;
|
|
83
76
|
}
|
|
84
|
-
|
|
85
77
|
}, {
|
|
86
78
|
key: "isBigEndian",
|
|
87
|
-
value:
|
|
88
|
-
function isBigEndian() {
|
|
79
|
+
value: function isBigEndian() {
|
|
89
80
|
return !this.littleEndian;
|
|
90
81
|
}
|
|
91
|
-
|
|
92
82
|
}, {
|
|
93
83
|
key: "setBigEndian",
|
|
94
|
-
value:
|
|
95
|
-
function setBigEndian() {
|
|
84
|
+
value: function setBigEndian() {
|
|
96
85
|
this.littleEndian = false;
|
|
97
86
|
return this;
|
|
98
87
|
}
|
|
99
|
-
|
|
100
88
|
}, {
|
|
101
89
|
key: "skip",
|
|
102
|
-
value:
|
|
103
|
-
function skip() {
|
|
90
|
+
value: function skip() {
|
|
104
91
|
var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
105
92
|
this.offset += n;
|
|
106
93
|
return this;
|
|
107
94
|
}
|
|
108
|
-
|
|
109
95
|
}, {
|
|
110
96
|
key: "seek",
|
|
111
|
-
value:
|
|
112
|
-
function seek(offset) {
|
|
97
|
+
value: function seek(offset) {
|
|
113
98
|
this.offset = offset;
|
|
114
99
|
return this;
|
|
115
100
|
}
|
|
116
|
-
|
|
117
101
|
}, {
|
|
118
102
|
key: "mark",
|
|
119
|
-
value:
|
|
120
|
-
function mark() {
|
|
103
|
+
value: function mark() {
|
|
121
104
|
this._mark = this.offset;
|
|
122
105
|
return this;
|
|
123
106
|
}
|
|
124
|
-
|
|
125
107
|
}, {
|
|
126
108
|
key: "reset",
|
|
127
|
-
value:
|
|
128
|
-
function reset() {
|
|
109
|
+
value: function reset() {
|
|
129
110
|
this.offset = this._mark;
|
|
130
111
|
return this;
|
|
131
112
|
}
|
|
132
|
-
|
|
133
113
|
}, {
|
|
134
114
|
key: "pushMark",
|
|
135
|
-
value:
|
|
136
|
-
function pushMark() {
|
|
115
|
+
value: function pushMark() {
|
|
137
116
|
this._marks.push(this.offset);
|
|
138
117
|
return this;
|
|
139
118
|
}
|
|
140
|
-
|
|
141
119
|
}, {
|
|
142
120
|
key: "popMark",
|
|
143
|
-
value:
|
|
144
|
-
function popMark() {
|
|
121
|
+
value: function popMark() {
|
|
145
122
|
var offset = this._marks.pop();
|
|
146
123
|
if (offset === undefined) {
|
|
147
124
|
throw new Error('Mark stack empty');
|
|
@@ -149,19 +126,15 @@ var IOBuffer = function () {
|
|
|
149
126
|
this.seek(offset);
|
|
150
127
|
return this;
|
|
151
128
|
}
|
|
152
|
-
|
|
153
129
|
}, {
|
|
154
130
|
key: "rewind",
|
|
155
|
-
value:
|
|
156
|
-
function rewind() {
|
|
131
|
+
value: function rewind() {
|
|
157
132
|
this.offset = 0;
|
|
158
133
|
return this;
|
|
159
134
|
}
|
|
160
|
-
|
|
161
135
|
}, {
|
|
162
136
|
key: "ensureAvailable",
|
|
163
|
-
value:
|
|
164
|
-
function ensureAvailable() {
|
|
137
|
+
value: function ensureAvailable() {
|
|
165
138
|
var byteLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
166
139
|
if (!this.available(byteLength)) {
|
|
167
140
|
var lengthNeeded = this.offset + byteLength;
|
|
@@ -174,39 +147,29 @@ var IOBuffer = function () {
|
|
|
174
147
|
}
|
|
175
148
|
return this;
|
|
176
149
|
}
|
|
177
|
-
|
|
178
150
|
}, {
|
|
179
151
|
key: "readBoolean",
|
|
180
|
-
value:
|
|
181
|
-
function readBoolean() {
|
|
152
|
+
value: function readBoolean() {
|
|
182
153
|
return this.readUint8() !== 0;
|
|
183
154
|
}
|
|
184
|
-
|
|
185
155
|
}, {
|
|
186
156
|
key: "readInt8",
|
|
187
|
-
value:
|
|
188
|
-
function readInt8() {
|
|
157
|
+
value: function readInt8() {
|
|
189
158
|
return this._data.getInt8(this.offset++);
|
|
190
159
|
}
|
|
191
|
-
|
|
192
160
|
}, {
|
|
193
161
|
key: "readUint8",
|
|
194
|
-
value:
|
|
195
|
-
function readUint8() {
|
|
162
|
+
value: function readUint8() {
|
|
196
163
|
return this._data.getUint8(this.offset++);
|
|
197
164
|
}
|
|
198
|
-
|
|
199
165
|
}, {
|
|
200
166
|
key: "readByte",
|
|
201
|
-
value:
|
|
202
|
-
function readByte() {
|
|
167
|
+
value: function readByte() {
|
|
203
168
|
return this.readUint8();
|
|
204
169
|
}
|
|
205
|
-
|
|
206
170
|
}, {
|
|
207
171
|
key: "readBytes",
|
|
208
|
-
value:
|
|
209
|
-
function readBytes() {
|
|
172
|
+
value: function readBytes() {
|
|
210
173
|
var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
211
174
|
var bytes = new Uint8Array(n);
|
|
212
175
|
for (var i = 0; i < n; i++) {
|
|
@@ -214,72 +177,56 @@ var IOBuffer = function () {
|
|
|
214
177
|
}
|
|
215
178
|
return bytes;
|
|
216
179
|
}
|
|
217
|
-
|
|
218
180
|
}, {
|
|
219
181
|
key: "readInt16",
|
|
220
|
-
value:
|
|
221
|
-
function readInt16() {
|
|
182
|
+
value: function readInt16() {
|
|
222
183
|
var value = this._data.getInt16(this.offset, this.littleEndian);
|
|
223
184
|
this.offset += 2;
|
|
224
185
|
return value;
|
|
225
186
|
}
|
|
226
|
-
|
|
227
187
|
}, {
|
|
228
188
|
key: "readUint16",
|
|
229
|
-
value:
|
|
230
|
-
function readUint16() {
|
|
189
|
+
value: function readUint16() {
|
|
231
190
|
var value = this._data.getUint16(this.offset, this.littleEndian);
|
|
232
191
|
this.offset += 2;
|
|
233
192
|
return value;
|
|
234
193
|
}
|
|
235
|
-
|
|
236
194
|
}, {
|
|
237
195
|
key: "readInt32",
|
|
238
|
-
value:
|
|
239
|
-
function readInt32() {
|
|
196
|
+
value: function readInt32() {
|
|
240
197
|
var value = this._data.getInt32(this.offset, this.littleEndian);
|
|
241
198
|
this.offset += 4;
|
|
242
199
|
return value;
|
|
243
200
|
}
|
|
244
|
-
|
|
245
201
|
}, {
|
|
246
202
|
key: "readUint32",
|
|
247
|
-
value:
|
|
248
|
-
function readUint32() {
|
|
203
|
+
value: function readUint32() {
|
|
249
204
|
var value = this._data.getUint32(this.offset, this.littleEndian);
|
|
250
205
|
this.offset += 4;
|
|
251
206
|
return value;
|
|
252
207
|
}
|
|
253
|
-
|
|
254
208
|
}, {
|
|
255
209
|
key: "readFloat32",
|
|
256
|
-
value:
|
|
257
|
-
function readFloat32() {
|
|
210
|
+
value: function readFloat32() {
|
|
258
211
|
var value = this._data.getFloat32(this.offset, this.littleEndian);
|
|
259
212
|
this.offset += 4;
|
|
260
213
|
return value;
|
|
261
214
|
}
|
|
262
|
-
|
|
263
215
|
}, {
|
|
264
216
|
key: "readFloat64",
|
|
265
|
-
value:
|
|
266
|
-
function readFloat64() {
|
|
217
|
+
value: function readFloat64() {
|
|
267
218
|
var value = this._data.getFloat64(this.offset, this.littleEndian);
|
|
268
219
|
this.offset += 8;
|
|
269
220
|
return value;
|
|
270
221
|
}
|
|
271
|
-
|
|
272
222
|
}, {
|
|
273
223
|
key: "readChar",
|
|
274
|
-
value:
|
|
275
|
-
function readChar() {
|
|
224
|
+
value: function readChar() {
|
|
276
225
|
return String.fromCharCode(this.readInt8());
|
|
277
226
|
}
|
|
278
|
-
|
|
279
227
|
}, {
|
|
280
228
|
key: "readChars",
|
|
281
|
-
value:
|
|
282
|
-
function readChars() {
|
|
229
|
+
value: function readChars() {
|
|
283
230
|
var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
284
231
|
var result = '';
|
|
285
232
|
for (var i = 0; i < n; i++) {
|
|
@@ -287,54 +234,42 @@ var IOBuffer = function () {
|
|
|
287
234
|
}
|
|
288
235
|
return result;
|
|
289
236
|
}
|
|
290
|
-
|
|
291
237
|
}, {
|
|
292
238
|
key: "readUtf8",
|
|
293
|
-
value:
|
|
294
|
-
function readUtf8() {
|
|
239
|
+
value: function readUtf8() {
|
|
295
240
|
var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
296
241
|
return this.textDecoder.decode(this.readBytes(n));
|
|
297
242
|
}
|
|
298
|
-
|
|
299
243
|
}, {
|
|
300
244
|
key: "writeBoolean",
|
|
301
|
-
value:
|
|
302
|
-
function writeBoolean(value) {
|
|
245
|
+
value: function writeBoolean(value) {
|
|
303
246
|
this.writeUint8(value ? 0xff : 0x00);
|
|
304
247
|
return this;
|
|
305
248
|
}
|
|
306
|
-
|
|
307
249
|
}, {
|
|
308
250
|
key: "writeInt8",
|
|
309
|
-
value:
|
|
310
|
-
function writeInt8(value) {
|
|
251
|
+
value: function writeInt8(value) {
|
|
311
252
|
this.ensureAvailable(1);
|
|
312
253
|
this._data.setInt8(this.offset++, value);
|
|
313
254
|
this._updateLastWrittenByte();
|
|
314
255
|
return this;
|
|
315
256
|
}
|
|
316
|
-
|
|
317
257
|
}, {
|
|
318
258
|
key: "writeUint8",
|
|
319
|
-
value:
|
|
320
|
-
function writeUint8(value) {
|
|
259
|
+
value: function writeUint8(value) {
|
|
321
260
|
this.ensureAvailable(1);
|
|
322
261
|
this._data.setUint8(this.offset++, value);
|
|
323
262
|
this._updateLastWrittenByte();
|
|
324
263
|
return this;
|
|
325
264
|
}
|
|
326
|
-
|
|
327
265
|
}, {
|
|
328
266
|
key: "writeByte",
|
|
329
|
-
value:
|
|
330
|
-
function writeByte(value) {
|
|
267
|
+
value: function writeByte(value) {
|
|
331
268
|
return this.writeUint8(value);
|
|
332
269
|
}
|
|
333
|
-
|
|
334
270
|
}, {
|
|
335
271
|
key: "writeBytes",
|
|
336
|
-
value:
|
|
337
|
-
function writeBytes(bytes) {
|
|
272
|
+
value: function writeBytes(bytes) {
|
|
338
273
|
this.ensureAvailable(bytes.length);
|
|
339
274
|
for (var i = 0; i < bytes.length; i++) {
|
|
340
275
|
this._data.setUint8(this.offset++, bytes[i]);
|
|
@@ -342,109 +277,87 @@ var IOBuffer = function () {
|
|
|
342
277
|
this._updateLastWrittenByte();
|
|
343
278
|
return this;
|
|
344
279
|
}
|
|
345
|
-
|
|
346
280
|
}, {
|
|
347
281
|
key: "writeInt16",
|
|
348
|
-
value:
|
|
349
|
-
function writeInt16(value) {
|
|
282
|
+
value: function writeInt16(value) {
|
|
350
283
|
this.ensureAvailable(2);
|
|
351
284
|
this._data.setInt16(this.offset, value, this.littleEndian);
|
|
352
285
|
this.offset += 2;
|
|
353
286
|
this._updateLastWrittenByte();
|
|
354
287
|
return this;
|
|
355
288
|
}
|
|
356
|
-
|
|
357
289
|
}, {
|
|
358
290
|
key: "writeUint16",
|
|
359
|
-
value:
|
|
360
|
-
function writeUint16(value) {
|
|
291
|
+
value: function writeUint16(value) {
|
|
361
292
|
this.ensureAvailable(2);
|
|
362
293
|
this._data.setUint16(this.offset, value, this.littleEndian);
|
|
363
294
|
this.offset += 2;
|
|
364
295
|
this._updateLastWrittenByte();
|
|
365
296
|
return this;
|
|
366
297
|
}
|
|
367
|
-
|
|
368
298
|
}, {
|
|
369
299
|
key: "writeInt32",
|
|
370
|
-
value:
|
|
371
|
-
function writeInt32(value) {
|
|
300
|
+
value: function writeInt32(value) {
|
|
372
301
|
this.ensureAvailable(4);
|
|
373
302
|
this._data.setInt32(this.offset, value, this.littleEndian);
|
|
374
303
|
this.offset += 4;
|
|
375
304
|
this._updateLastWrittenByte();
|
|
376
305
|
return this;
|
|
377
306
|
}
|
|
378
|
-
|
|
379
307
|
}, {
|
|
380
308
|
key: "writeUint32",
|
|
381
|
-
value:
|
|
382
|
-
function writeUint32(value) {
|
|
309
|
+
value: function writeUint32(value) {
|
|
383
310
|
this.ensureAvailable(4);
|
|
384
311
|
this._data.setUint32(this.offset, value, this.littleEndian);
|
|
385
312
|
this.offset += 4;
|
|
386
313
|
this._updateLastWrittenByte();
|
|
387
314
|
return this;
|
|
388
315
|
}
|
|
389
|
-
|
|
390
316
|
}, {
|
|
391
317
|
key: "writeFloat32",
|
|
392
|
-
value:
|
|
393
|
-
function writeFloat32(value) {
|
|
318
|
+
value: function writeFloat32(value) {
|
|
394
319
|
this.ensureAvailable(4);
|
|
395
320
|
this._data.setFloat32(this.offset, value, this.littleEndian);
|
|
396
321
|
this.offset += 4;
|
|
397
322
|
this._updateLastWrittenByte();
|
|
398
323
|
return this;
|
|
399
324
|
}
|
|
400
|
-
|
|
401
325
|
}, {
|
|
402
326
|
key: "writeFloat64",
|
|
403
|
-
value:
|
|
404
|
-
function writeFloat64(value) {
|
|
327
|
+
value: function writeFloat64(value) {
|
|
405
328
|
this.ensureAvailable(8);
|
|
406
329
|
this._data.setFloat64(this.offset, value, this.littleEndian);
|
|
407
330
|
this.offset += 8;
|
|
408
331
|
this._updateLastWrittenByte();
|
|
409
332
|
return this;
|
|
410
333
|
}
|
|
411
|
-
|
|
412
334
|
}, {
|
|
413
335
|
key: "writeChar",
|
|
414
|
-
value:
|
|
415
|
-
function writeChar(str) {
|
|
336
|
+
value: function writeChar(str) {
|
|
416
337
|
return this.writeUint8(str.charCodeAt(0));
|
|
417
338
|
}
|
|
418
|
-
|
|
419
339
|
}, {
|
|
420
340
|
key: "writeChars",
|
|
421
|
-
value:
|
|
422
|
-
function writeChars(str) {
|
|
341
|
+
value: function writeChars(str) {
|
|
423
342
|
for (var i = 0; i < str.length; i++) {
|
|
424
343
|
this.writeUint8(str.charCodeAt(i));
|
|
425
344
|
}
|
|
426
345
|
return this;
|
|
427
346
|
}
|
|
428
|
-
|
|
429
347
|
}, {
|
|
430
348
|
key: "writeUtf8",
|
|
431
|
-
value:
|
|
432
|
-
function writeUtf8(str) {
|
|
349
|
+
value: function writeUtf8(str) {
|
|
433
350
|
var bytes = this.textEncoder.encode(str);
|
|
434
351
|
return this.writeBytes(bytes);
|
|
435
352
|
}
|
|
436
|
-
|
|
437
353
|
}, {
|
|
438
354
|
key: "toArray",
|
|
439
|
-
value:
|
|
440
|
-
function toArray() {
|
|
355
|
+
value: function toArray() {
|
|
441
356
|
return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte);
|
|
442
357
|
}
|
|
443
|
-
|
|
444
358
|
}, {
|
|
445
359
|
key: "_updateLastWrittenByte",
|
|
446
|
-
value:
|
|
447
|
-
function _updateLastWrittenByte() {
|
|
360
|
+
value: function _updateLastWrittenByte() {
|
|
448
361
|
if (this.offset > this.lastWrittenByte) {
|
|
449
362
|
this.lastWrittenByte = this.offset;
|
|
450
363
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iobuffer.js","names":["DEFAULT_BYTE_LENGTH","IOBuffer","data","options","TextDecoder","TextEncoder","dataIsGiven","ArrayBuffer","lastWrittenByte","byteLength","offset","dvOffset","isView","buffer","byteOffset","length","littleEndian","_data","DataView","_mark","_marks","n","push","pop","undefined","Error","seek","available","lengthNeeded","newLength","newArray","Uint8Array","set","readUint8","getInt8","getUint8","bytes","i","readByte","value","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","String","fromCharCode","readInt8","result","readChar","textDecoder","decode","readBytes","writeUint8","ensureAvailable","setInt8","_updateLastWrittenByte","setUint8","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","str","charCodeAt","textEncoder","encode","writeBytes"],"sources":["../../../src/iobuffer/iobuffer.ts"],"sourcesContent":["const DEFAULT_BYTE_LENGTH = 1024 * 8;\n\ntype InputData = number | ArrayBufferLike | ArrayBufferView | IOBuffer | Buffer;\n\ninterface IOBufferOptions {\n /**\n * Ignore the first n bytes of the ArrayBuffer.\n */\n offset?: number;\n}\n\nexport class IOBuffer {\n /**\n * Reference to the internal ArrayBuffer object.\n */\n public buffer: ArrayBufferLike;\n\n /**\n * Byte length of the internal ArrayBuffer.\n */\n public byteLength: number;\n\n /**\n * Byte offset of the internal ArrayBuffer.\n */\n public byteOffset: number;\n\n /**\n * Byte length of the internal ArrayBuffer.\n */\n public length: number;\n\n /**\n * The current offset of the buffer's pointer.\n */\n public offset: number;\n\n private lastWrittenByte: number;\n private littleEndian: boolean;\n\n private _data: DataView;\n private _mark: number;\n private _marks: number[];\n\n private textDecoder = new TextDecoder();\n private textEncoder = new TextEncoder();\n\n /**\n * @param data - The data to construct the IOBuffer with.\n * If data is a number, it will be the new buffer's length<br>\n * If data is `undefined`, the buffer will be initialized with a default length of 8Kb<br>\n * If data is an ArrayBuffer, SharedArrayBuffer, an ArrayBufferView (Typed Array), an IOBuffer instance,\n * or a Node.js Buffer, a view will be created over the underlying ArrayBuffer.\n * @param options\n */\n public constructor(data: InputData = DEFAULT_BYTE_LENGTH, options: IOBufferOptions = {}) {\n let dataIsGiven = false;\n if (typeof data === 'number') {\n data = new ArrayBuffer(data);\n } else {\n dataIsGiven = true;\n this.lastWrittenByte = data.byteLength;\n }\n\n const offset = options.offset ? options.offset >>> 0 : 0;\n const byteLength = data.byteLength - offset;\n let dvOffset = offset;\n if (ArrayBuffer.isView(data) || data instanceof IOBuffer) {\n if (data.byteLength !== data.buffer.byteLength) {\n dvOffset = data.byteOffset + offset;\n }\n data = data.buffer;\n }\n if (dataIsGiven) {\n this.lastWrittenByte = byteLength;\n } else {\n this.lastWrittenByte = 0;\n }\n this.buffer = data;\n this.length = byteLength;\n this.byteLength = byteLength;\n this.byteOffset = dvOffset;\n this.offset = 0;\n this.littleEndian = true;\n this._data = new DataView(this.buffer, dvOffset, byteLength);\n this._mark = 0;\n this._marks = [];\n }\n\n /**\n * Checks if the memory allocated to the buffer is sufficient to store more\n * bytes after the offset.\n * @param byteLength - The needed memory in bytes.\n * @returns `true` if there is sufficient space and `false` otherwise.\n */\n public available(byteLength = 1): boolean {\n return this.offset + byteLength <= this.length;\n }\n\n /**\n * Check if little-endian mode is used for reading and writing multi-byte\n * values.\n * @returns `true` if little-endian mode is used, `false` otherwise.\n */\n public isLittleEndian(): boolean {\n return this.littleEndian;\n }\n\n /**\n * Set little-endian mode for reading and writing multi-byte values.\n */\n public setLittleEndian(): this {\n this.littleEndian = true;\n return this;\n }\n\n /**\n * Check if big-endian mode is used for reading and writing multi-byte values.\n * @returns `true` if big-endian mode is used, `false` otherwise.\n */\n public isBigEndian(): boolean {\n return !this.littleEndian;\n }\n\n /**\n * Switches to big-endian mode for reading and writing multi-byte values.\n */\n public setBigEndian(): this {\n this.littleEndian = false;\n return this;\n }\n\n /**\n * Move the pointer n bytes forward.\n * @param n - Number of bytes to skip.\n */\n public skip(n = 1): this {\n this.offset += n;\n return this;\n }\n\n /**\n * Move the pointer to the given offset.\n * @param offset\n */\n public seek(offset: number): this {\n this.offset = offset;\n return this;\n }\n\n /**\n * Store the current pointer offset.\n * @see {@link IOBuffer#reset}\n */\n public mark(): this {\n this._mark = this.offset;\n return this;\n }\n\n /**\n * Move the pointer back to the last pointer offset set by mark.\n * @see {@link IOBuffer#mark}\n */\n public reset(): this {\n this.offset = this._mark;\n return this;\n }\n\n /**\n * Push the current pointer offset to the mark stack.\n * @see {@link IOBuffer#popMark}\n */\n public pushMark(): this {\n this._marks.push(this.offset);\n return this;\n }\n\n /**\n * Pop the last pointer offset from the mark stack, and set the current\n * pointer offset to the popped value.\n * @see {@link IOBuffer#pushMark}\n */\n public popMark(): this {\n const offset = this._marks.pop();\n if (offset === undefined) {\n throw new Error('Mark stack empty');\n }\n this.seek(offset);\n return this;\n }\n\n /**\n * Move the pointer offset back to 0.\n */\n public rewind(): this {\n this.offset = 0;\n return this;\n }\n\n /**\n * Make sure the buffer has sufficient memory to write a given byteLength at\n * the current pointer offset.\n * If the buffer's memory is insufficient, this method will create a new\n * buffer (a copy) with a length that is twice (byteLength + current offset).\n * @param byteLength\n */\n public ensureAvailable(byteLength = 1): this {\n if (!this.available(byteLength)) {\n const lengthNeeded = this.offset + byteLength;\n const newLength = lengthNeeded * 2;\n const newArray = new Uint8Array(newLength);\n newArray.set(new Uint8Array(this.buffer));\n this.buffer = newArray.buffer;\n this.length = this.byteLength = newLength;\n this._data = new DataView(this.buffer);\n }\n return this;\n }\n\n /**\n * Read a byte and return false if the byte's value is 0, or true otherwise.\n * Moves pointer forward by one byte.\n */\n public readBoolean(): boolean {\n return this.readUint8() !== 0;\n }\n\n /**\n * Read a signed 8-bit integer and move pointer forward by 1 byte.\n */\n public readInt8(): number {\n return this._data.getInt8(this.offset++);\n }\n\n /**\n * Read an unsigned 8-bit integer and move pointer forward by 1 byte.\n */\n public readUint8(): number {\n return this._data.getUint8(this.offset++);\n }\n\n /**\n * Alias for {@link IOBuffer#readUint8}.\n */\n public readByte(): number {\n return this.readUint8();\n }\n\n /**\n * Read `n` bytes and move pointer forward by `n` bytes.\n */\n public readBytes(n = 1): Uint8Array {\n const bytes = new Uint8Array(n);\n for (let i = 0; i < n; i++) {\n bytes[i] = this.readByte();\n }\n return bytes;\n }\n\n /**\n * Read a 16-bit signed integer and move pointer forward by 2 bytes.\n */\n public readInt16(): number {\n const value = this._data.getInt16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n\n /**\n * Read a 16-bit unsigned integer and move pointer forward by 2 bytes.\n */\n public readUint16(): number {\n const value = this._data.getUint16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n\n /**\n * Read a 32-bit signed integer and move pointer forward by 4 bytes.\n */\n public readInt32(): number {\n const value = this._data.getInt32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 32-bit unsigned integer and move pointer forward by 4 bytes.\n */\n public readUint32(): number {\n const value = this._data.getUint32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 32-bit floating number and move pointer forward by 4 bytes.\n */\n public readFloat32(): number {\n const value = this._data.getFloat32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 64-bit floating number and move pointer forward by 8 bytes.\n */\n public readFloat64(): number {\n const value = this._data.getFloat64(this.offset, this.littleEndian);\n this.offset += 8;\n return value;\n }\n\n /**\n * Read a 1-byte ASCII character and move pointer forward by 1 byte.\n */\n public readChar(): string {\n return String.fromCharCode(this.readInt8());\n }\n\n /**\n * Read `n` 1-byte ASCII characters and move pointer forward by `n` bytes.\n */\n public readChars(n = 1): string {\n let result = '';\n for (let i = 0; i < n; i++) {\n result += this.readChar();\n }\n return result;\n }\n\n /**\n * Read the next `n` bytes, return a UTF-8 decoded string and move pointer\n * forward by `n` bytes.\n */\n public readUtf8(n = 1): string {\n return this.textDecoder.decode(this.readBytes(n));\n }\n\n /**\n * Write 0xff if the passed value is truthy, 0x00 otherwise and move pointer\n * forward by 1 byte.\n */\n public writeBoolean(value: unknown): this {\n this.writeUint8(value ? 0xff : 0x00);\n return this;\n }\n\n /**\n * Write `value` as an 8-bit signed integer and move pointer forward by 1 byte.\n */\n public writeInt8(value: number): this {\n this.ensureAvailable(1);\n this._data.setInt8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as an 8-bit unsigned integer and move pointer forward by 1\n * byte.\n */\n public writeUint8(value: number): this {\n this.ensureAvailable(1);\n this._data.setUint8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * An alias for {@link IOBuffer#writeUint8}.\n */\n public writeByte(value: number): this {\n return this.writeUint8(value);\n }\n\n /**\n * Write all elements of `bytes` as uint8 values and move pointer forward by\n * `bytes.length` bytes.\n */\n public writeBytes(bytes: ArrayLike<number>): this {\n this.ensureAvailable(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n this._data.setUint8(this.offset++, bytes[i]);\n }\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 16-bit signed integer and move pointer forward by 2\n * bytes.\n */\n public writeInt16(value: number): this {\n this.ensureAvailable(2);\n this._data.setInt16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 16-bit unsigned integer and move pointer forward by 2\n * bytes.\n */\n public writeUint16(value: number): this {\n this.ensureAvailable(2);\n this._data.setUint16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit signed integer and move pointer forward by 4\n * bytes.\n */\n public writeInt32(value: number): this {\n this.ensureAvailable(4);\n this._data.setInt32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit unsigned integer and move pointer forward by 4\n * bytes.\n */\n public writeUint32(value: number): this {\n this.ensureAvailable(4);\n this._data.setUint32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit floating number and move pointer forward by 4\n * bytes.\n */\n public writeFloat32(value: number): this {\n this.ensureAvailable(4);\n this._data.setFloat32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 64-bit floating number and move pointer forward by 8\n * bytes.\n */\n public writeFloat64(value: number): this {\n this.ensureAvailable(8);\n this._data.setFloat64(this.offset, value, this.littleEndian);\n this.offset += 8;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write the charCode of `str`'s first character as an 8-bit unsigned integer\n * and move pointer forward by 1 byte.\n */\n public writeChar(str: string): this {\n return this.writeUint8(str.charCodeAt(0));\n }\n\n /**\n * Write the charCodes of all `str`'s characters as 8-bit unsigned integers\n * and move pointer forward by `str.length` bytes.\n */\n public writeChars(str: string): this {\n for (let i = 0; i < str.length; i++) {\n this.writeUint8(str.charCodeAt(i));\n }\n return this;\n }\n\n /**\n * UTF-8 encode and write `str` to the current pointer offset and move pointer\n * forward according to the encoded length.\n */\n public writeUtf8(str: string): this {\n const bytes = this.textEncoder.encode(str);\n return this.writeBytes(bytes);\n }\n\n /**\n * Export a Uint8Array view of the internal buffer.\n * The view starts at the byte offset and its length\n * is calculated to stop at the last written byte or the original length.\n */\n public toArray(): Uint8Array {\n return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte);\n }\n\n /**\n * Update the last written byte offset\n * @private\n */\n private _updateLastWrittenByte(): void {\n if (this.offset > this.lastWrittenByte) {\n this.lastWrittenByte = this.offset;\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iobuffer.js","names":["DEFAULT_BYTE_LENGTH","IOBuffer","data","arguments","length","undefined","options","_classCallCheck2","default","_defineProperty2","TextDecoder","TextEncoder","dataIsGiven","ArrayBuffer","lastWrittenByte","byteLength","offset","dvOffset","isView","buffer","byteOffset","littleEndian","_data","DataView","_mark","_marks","_createClass2","key","value","available","isLittleEndian","setLittleEndian","isBigEndian","setBigEndian","skip","n","seek","mark","reset","pushMark","push","popMark","pop","Error","rewind","ensureAvailable","lengthNeeded","newLength","newArray","Uint8Array","set","readBoolean","readUint8","readInt8","getInt8","getUint8","readByte","readBytes","bytes","i","readInt16","getInt16","readUint16","getUint16","readInt32","getInt32","readUint32","getUint32","readFloat32","getFloat32","readFloat64","getFloat64","readChar","String","fromCharCode","readChars","result","readUtf8","textDecoder","decode","writeBoolean","writeUint8","writeInt8","setInt8","_updateLastWrittenByte","setUint8","writeByte","writeBytes","writeInt16","setInt16","writeUint16","setUint16","writeInt32","setInt32","writeUint32","setUint32","writeFloat32","setFloat32","writeFloat64","setFloat64","writeChar","str","charCodeAt","writeChars","writeUtf8","textEncoder","encode","toArray","exports"],"sources":["../../../src/iobuffer/iobuffer.ts"],"sourcesContent":["const DEFAULT_BYTE_LENGTH = 1024 * 8;\n\ntype InputData = number | ArrayBufferLike | ArrayBufferView | IOBuffer | Buffer;\n\ninterface IOBufferOptions {\n /**\n * Ignore the first n bytes of the ArrayBuffer.\n */\n offset?: number;\n}\n\nexport class IOBuffer {\n /**\n * Reference to the internal ArrayBuffer object.\n */\n public buffer: ArrayBufferLike;\n\n /**\n * Byte length of the internal ArrayBuffer.\n */\n public byteLength: number;\n\n /**\n * Byte offset of the internal ArrayBuffer.\n */\n public byteOffset: number;\n\n /**\n * Byte length of the internal ArrayBuffer.\n */\n public length: number;\n\n /**\n * The current offset of the buffer's pointer.\n */\n public offset: number;\n\n private lastWrittenByte: number;\n private littleEndian: boolean;\n\n private _data: DataView;\n private _mark: number;\n private _marks: number[];\n\n private textDecoder = new TextDecoder();\n private textEncoder = new TextEncoder();\n\n /**\n * @param data - The data to construct the IOBuffer with.\n * If data is a number, it will be the new buffer's length<br>\n * If data is `undefined`, the buffer will be initialized with a default length of 8Kb<br>\n * If data is an ArrayBuffer, SharedArrayBuffer, an ArrayBufferView (Typed Array), an IOBuffer instance,\n * or a Node.js Buffer, a view will be created over the underlying ArrayBuffer.\n * @param options\n */\n public constructor(data: InputData = DEFAULT_BYTE_LENGTH, options: IOBufferOptions = {}) {\n let dataIsGiven = false;\n if (typeof data === 'number') {\n data = new ArrayBuffer(data);\n } else {\n dataIsGiven = true;\n this.lastWrittenByte = data.byteLength;\n }\n\n const offset = options.offset ? options.offset >>> 0 : 0;\n const byteLength = data.byteLength - offset;\n let dvOffset = offset;\n if (ArrayBuffer.isView(data) || data instanceof IOBuffer) {\n if (data.byteLength !== data.buffer.byteLength) {\n dvOffset = data.byteOffset + offset;\n }\n data = data.buffer;\n }\n if (dataIsGiven) {\n this.lastWrittenByte = byteLength;\n } else {\n this.lastWrittenByte = 0;\n }\n this.buffer = data;\n this.length = byteLength;\n this.byteLength = byteLength;\n this.byteOffset = dvOffset;\n this.offset = 0;\n this.littleEndian = true;\n this._data = new DataView(this.buffer, dvOffset, byteLength);\n this._mark = 0;\n this._marks = [];\n }\n\n /**\n * Checks if the memory allocated to the buffer is sufficient to store more\n * bytes after the offset.\n * @param byteLength - The needed memory in bytes.\n * @returns `true` if there is sufficient space and `false` otherwise.\n */\n public available(byteLength = 1): boolean {\n return this.offset + byteLength <= this.length;\n }\n\n /**\n * Check if little-endian mode is used for reading and writing multi-byte\n * values.\n * @returns `true` if little-endian mode is used, `false` otherwise.\n */\n public isLittleEndian(): boolean {\n return this.littleEndian;\n }\n\n /**\n * Set little-endian mode for reading and writing multi-byte values.\n */\n public setLittleEndian(): this {\n this.littleEndian = true;\n return this;\n }\n\n /**\n * Check if big-endian mode is used for reading and writing multi-byte values.\n * @returns `true` if big-endian mode is used, `false` otherwise.\n */\n public isBigEndian(): boolean {\n return !this.littleEndian;\n }\n\n /**\n * Switches to big-endian mode for reading and writing multi-byte values.\n */\n public setBigEndian(): this {\n this.littleEndian = false;\n return this;\n }\n\n /**\n * Move the pointer n bytes forward.\n * @param n - Number of bytes to skip.\n */\n public skip(n = 1): this {\n this.offset += n;\n return this;\n }\n\n /**\n * Move the pointer to the given offset.\n * @param offset\n */\n public seek(offset: number): this {\n this.offset = offset;\n return this;\n }\n\n /**\n * Store the current pointer offset.\n * @see {@link IOBuffer#reset}\n */\n public mark(): this {\n this._mark = this.offset;\n return this;\n }\n\n /**\n * Move the pointer back to the last pointer offset set by mark.\n * @see {@link IOBuffer#mark}\n */\n public reset(): this {\n this.offset = this._mark;\n return this;\n }\n\n /**\n * Push the current pointer offset to the mark stack.\n * @see {@link IOBuffer#popMark}\n */\n public pushMark(): this {\n this._marks.push(this.offset);\n return this;\n }\n\n /**\n * Pop the last pointer offset from the mark stack, and set the current\n * pointer offset to the popped value.\n * @see {@link IOBuffer#pushMark}\n */\n public popMark(): this {\n const offset = this._marks.pop();\n if (offset === undefined) {\n throw new Error('Mark stack empty');\n }\n this.seek(offset);\n return this;\n }\n\n /**\n * Move the pointer offset back to 0.\n */\n public rewind(): this {\n this.offset = 0;\n return this;\n }\n\n /**\n * Make sure the buffer has sufficient memory to write a given byteLength at\n * the current pointer offset.\n * If the buffer's memory is insufficient, this method will create a new\n * buffer (a copy) with a length that is twice (byteLength + current offset).\n * @param byteLength\n */\n public ensureAvailable(byteLength = 1): this {\n if (!this.available(byteLength)) {\n const lengthNeeded = this.offset + byteLength;\n const newLength = lengthNeeded * 2;\n const newArray = new Uint8Array(newLength);\n newArray.set(new Uint8Array(this.buffer));\n this.buffer = newArray.buffer;\n this.length = this.byteLength = newLength;\n this._data = new DataView(this.buffer);\n }\n return this;\n }\n\n /**\n * Read a byte and return false if the byte's value is 0, or true otherwise.\n * Moves pointer forward by one byte.\n */\n public readBoolean(): boolean {\n return this.readUint8() !== 0;\n }\n\n /**\n * Read a signed 8-bit integer and move pointer forward by 1 byte.\n */\n public readInt8(): number {\n return this._data.getInt8(this.offset++);\n }\n\n /**\n * Read an unsigned 8-bit integer and move pointer forward by 1 byte.\n */\n public readUint8(): number {\n return this._data.getUint8(this.offset++);\n }\n\n /**\n * Alias for {@link IOBuffer#readUint8}.\n */\n public readByte(): number {\n return this.readUint8();\n }\n\n /**\n * Read `n` bytes and move pointer forward by `n` bytes.\n */\n public readBytes(n = 1): Uint8Array {\n const bytes = new Uint8Array(n);\n for (let i = 0; i < n; i++) {\n bytes[i] = this.readByte();\n }\n return bytes;\n }\n\n /**\n * Read a 16-bit signed integer and move pointer forward by 2 bytes.\n */\n public readInt16(): number {\n const value = this._data.getInt16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n\n /**\n * Read a 16-bit unsigned integer and move pointer forward by 2 bytes.\n */\n public readUint16(): number {\n const value = this._data.getUint16(this.offset, this.littleEndian);\n this.offset += 2;\n return value;\n }\n\n /**\n * Read a 32-bit signed integer and move pointer forward by 4 bytes.\n */\n public readInt32(): number {\n const value = this._data.getInt32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 32-bit unsigned integer and move pointer forward by 4 bytes.\n */\n public readUint32(): number {\n const value = this._data.getUint32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 32-bit floating number and move pointer forward by 4 bytes.\n */\n public readFloat32(): number {\n const value = this._data.getFloat32(this.offset, this.littleEndian);\n this.offset += 4;\n return value;\n }\n\n /**\n * Read a 64-bit floating number and move pointer forward by 8 bytes.\n */\n public readFloat64(): number {\n const value = this._data.getFloat64(this.offset, this.littleEndian);\n this.offset += 8;\n return value;\n }\n\n /**\n * Read a 1-byte ASCII character and move pointer forward by 1 byte.\n */\n public readChar(): string {\n return String.fromCharCode(this.readInt8());\n }\n\n /**\n * Read `n` 1-byte ASCII characters and move pointer forward by `n` bytes.\n */\n public readChars(n = 1): string {\n let result = '';\n for (let i = 0; i < n; i++) {\n result += this.readChar();\n }\n return result;\n }\n\n /**\n * Read the next `n` bytes, return a UTF-8 decoded string and move pointer\n * forward by `n` bytes.\n */\n public readUtf8(n = 1): string {\n return this.textDecoder.decode(this.readBytes(n));\n }\n\n /**\n * Write 0xff if the passed value is truthy, 0x00 otherwise and move pointer\n * forward by 1 byte.\n */\n public writeBoolean(value: unknown): this {\n this.writeUint8(value ? 0xff : 0x00);\n return this;\n }\n\n /**\n * Write `value` as an 8-bit signed integer and move pointer forward by 1 byte.\n */\n public writeInt8(value: number): this {\n this.ensureAvailable(1);\n this._data.setInt8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as an 8-bit unsigned integer and move pointer forward by 1\n * byte.\n */\n public writeUint8(value: number): this {\n this.ensureAvailable(1);\n this._data.setUint8(this.offset++, value);\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * An alias for {@link IOBuffer#writeUint8}.\n */\n public writeByte(value: number): this {\n return this.writeUint8(value);\n }\n\n /**\n * Write all elements of `bytes` as uint8 values and move pointer forward by\n * `bytes.length` bytes.\n */\n public writeBytes(bytes: ArrayLike<number>): this {\n this.ensureAvailable(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n this._data.setUint8(this.offset++, bytes[i]);\n }\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 16-bit signed integer and move pointer forward by 2\n * bytes.\n */\n public writeInt16(value: number): this {\n this.ensureAvailable(2);\n this._data.setInt16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 16-bit unsigned integer and move pointer forward by 2\n * bytes.\n */\n public writeUint16(value: number): this {\n this.ensureAvailable(2);\n this._data.setUint16(this.offset, value, this.littleEndian);\n this.offset += 2;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit signed integer and move pointer forward by 4\n * bytes.\n */\n public writeInt32(value: number): this {\n this.ensureAvailable(4);\n this._data.setInt32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit unsigned integer and move pointer forward by 4\n * bytes.\n */\n public writeUint32(value: number): this {\n this.ensureAvailable(4);\n this._data.setUint32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 32-bit floating number and move pointer forward by 4\n * bytes.\n */\n public writeFloat32(value: number): this {\n this.ensureAvailable(4);\n this._data.setFloat32(this.offset, value, this.littleEndian);\n this.offset += 4;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write `value` as a 64-bit floating number and move pointer forward by 8\n * bytes.\n */\n public writeFloat64(value: number): this {\n this.ensureAvailable(8);\n this._data.setFloat64(this.offset, value, this.littleEndian);\n this.offset += 8;\n this._updateLastWrittenByte();\n return this;\n }\n\n /**\n * Write the charCode of `str`'s first character as an 8-bit unsigned integer\n * and move pointer forward by 1 byte.\n */\n public writeChar(str: string): this {\n return this.writeUint8(str.charCodeAt(0));\n }\n\n /**\n * Write the charCodes of all `str`'s characters as 8-bit unsigned integers\n * and move pointer forward by `str.length` bytes.\n */\n public writeChars(str: string): this {\n for (let i = 0; i < str.length; i++) {\n this.writeUint8(str.charCodeAt(i));\n }\n return this;\n }\n\n /**\n * UTF-8 encode and write `str` to the current pointer offset and move pointer\n * forward according to the encoded length.\n */\n public writeUtf8(str: string): this {\n const bytes = this.textEncoder.encode(str);\n return this.writeBytes(bytes);\n }\n\n /**\n * Export a Uint8Array view of the internal buffer.\n * The view starts at the byte offset and its length\n * is calculated to stop at the last written byte or the original length.\n */\n public toArray(): Uint8Array {\n return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte);\n }\n\n /**\n * Update the last written byte offset\n * @private\n */\n private _updateLastWrittenByte(): void {\n if (this.offset > this.lastWrittenByte) {\n this.lastWrittenByte = this.offset;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -11,19 +11,17 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var _netcdfReader = require("./netcdfjs/netcdf-reader");
|
|
12
12
|
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; } } }; }
|
|
13
13
|
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); }
|
|
14
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
14
|
+
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; }
|
|
15
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
-
var VERSION = typeof "3.4.0-alpha.
|
|
17
|
+
var VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
|
|
18
18
|
var NetCDFWorkerLoader = {
|
|
19
19
|
name: 'NetCDF',
|
|
20
20
|
id: 'mvt',
|
|
21
21
|
module: 'mvt',
|
|
22
22
|
version: VERSION,
|
|
23
23
|
extensions: ['cdf', 'nc'],
|
|
24
|
-
mimeTypes: ['application/netcdf', 'application/x-netcdf'
|
|
25
|
-
],
|
|
26
|
-
|
|
24
|
+
mimeTypes: ['application/netcdf', 'application/x-netcdf'],
|
|
27
25
|
category: 'image',
|
|
28
26
|
options: {
|
|
29
27
|
netcdf: {
|
|
@@ -31,20 +29,17 @@ var NetCDFWorkerLoader = {
|
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
};
|
|
34
|
-
|
|
35
32
|
exports.NetCDFWorkerLoader = NetCDFWorkerLoader;
|
|
36
33
|
var NetCDFLoader = _objectSpread(_objectSpread({}, NetCDFWorkerLoader), {}, {
|
|
37
34
|
parse: function () {
|
|
38
35
|
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
39
36
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
40
|
-
while (1) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return _context.stop();
|
|
47
|
-
}
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
return _context.abrupt("return", parseNetCDF(arrayBuffer, options));
|
|
40
|
+
case 1:
|
|
41
|
+
case "end":
|
|
42
|
+
return _context.stop();
|
|
48
43
|
}
|
|
49
44
|
}, _callee);
|
|
50
45
|
}));
|
|
@@ -79,7 +74,6 @@ function parseNetCDF(arrayBuffer, options) {
|
|
|
79
74
|
data: variables
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
|
-
|
|
83
77
|
var _typecheckNetCDFWorkerLoader = NetCDFWorkerLoader;
|
|
84
78
|
exports._typecheckNetCDFWorkerLoader = _typecheckNetCDFWorkerLoader;
|
|
85
79
|
var _typecheckNetCDFLoader = NetCDFLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"netcdf-loader.js","names":["
|
|
1
|
+
{"version":3,"file":"netcdf-loader.js","names":["_netcdfReader","require","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","VERSION","NetCDFWorkerLoader","id","module","version","extensions","mimeTypes","category","options","netcdf","loadVariables","exports","NetCDFLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","abrupt","parseNetCDF","stop","_x","_x2","binary","_options$netcdf","reader","NetCDFReader","variables","loadData","_iterator","_step","variable","getDataVariable","loaderData","header","data","_typecheckNetCDFWorkerLoader","_typecheckNetCDFLoader"],"sources":["../../src/netcdf-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {NetCDFHeader} from './netcdfjs/netcdf-types';\nimport {NetCDFReader} from './netcdfjs/netcdf-reader';\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\nexport type NetCDF = {\n loaderData: NetCDFHeader;\n data: {[variableName: string]: any[][]};\n};\n\nexport type NetCDFLoaderOptions = LoaderOptions & {\n netcdf?: {\n loadData?: boolean;\n };\n};\n\n/**\n * Worker loader for NETCDF\n */\nexport const NetCDFWorkerLoader = {\n name: 'NetCDF',\n id: 'mvt',\n module: 'mvt',\n version: VERSION,\n extensions: ['cdf', 'nc'],\n mimeTypes: [\n 'application/netcdf',\n 'application/x-netcdf'\n // 'application/octet-stream'\n ],\n category: 'image',\n options: {\n netcdf: {\n loadVariables: false\n }\n }\n};\n\n/**\n * Loader for the NetCDF format\n */\nexport const NetCDFLoader = {\n ...NetCDFWorkerLoader,\n parse: async (arrayBuffer, options) => parseNetCDF(arrayBuffer, options),\n binary: true\n};\n\nfunction parseNetCDF(arrayBuffer: ArrayBuffer, options?: NetCDFLoaderOptions): NetCDF {\n const reader = new NetCDFReader(arrayBuffer);\n const variables: {[variableName: string]: any[][]} = {};\n if (options?.netcdf?.loadData) {\n for (const variable of reader.variables) {\n variables[variable.name] = reader.getDataVariable(variable);\n }\n }\n return {\n loaderData: reader.header,\n data: variables\n };\n}\n\n// Type tests\nexport const _typecheckNetCDFWorkerLoader: Loader = NetCDFWorkerLoader;\nexport const _typecheckNetCDFLoader: LoaderWithParser = NetCDFLoader;\n"],"mappings":"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"}
|