geotiff 3.0.2 → 3.0.4-beta.0
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-browser/geotiff.js +3 -3
- package/dist-browser/geotiff.js.map +1 -1
- package/dist-module/compression/basedecoder.d.ts +30 -4
- package/dist-module/compression/basedecoder.d.ts.map +1 -1
- package/dist-module/compression/basedecoder.js +22 -1
- package/dist-module/compression/basedecoder.js.map +1 -0
- package/dist-module/compression/deflate.d.ts +2 -1
- package/dist-module/compression/deflate.d.ts.map +1 -1
- package/dist-module/compression/deflate.js +2 -0
- package/dist-module/compression/deflate.js.map +1 -0
- package/dist-module/compression/index.d.ts +14 -22
- package/dist-module/compression/index.d.ts.map +1 -1
- package/dist-module/compression/index.js +36 -25
- package/dist-module/compression/index.js.map +1 -0
- package/dist-module/compression/jpeg.d.ts +55 -15
- package/dist-module/compression/jpeg.d.ts.map +1 -1
- package/dist-module/compression/jpeg.js +187 -16
- package/dist-module/compression/jpeg.js.map +1 -0
- package/dist-module/compression/lerc.d.ts +11 -1
- package/dist-module/compression/lerc.d.ts.map +1 -1
- package/dist-module/compression/lerc.js +16 -4
- package/dist-module/compression/lerc.js.map +1 -0
- package/dist-module/compression/lzw.d.ts +2 -1
- package/dist-module/compression/lzw.d.ts.map +1 -1
- package/dist-module/compression/lzw.js +29 -1
- package/dist-module/compression/lzw.js.map +1 -0
- package/dist-module/compression/packbits.d.ts +2 -1
- package/dist-module/compression/packbits.d.ts.map +1 -1
- package/dist-module/compression/packbits.js +2 -0
- package/dist-module/compression/packbits.js.map +1 -0
- package/dist-module/compression/raw.d.ts +2 -1
- package/dist-module/compression/raw.d.ts.map +1 -1
- package/dist-module/compression/raw.js +2 -0
- package/dist-module/compression/raw.js.map +1 -0
- package/dist-module/compression/webimage.d.ts +2 -1
- package/dist-module/compression/webimage.d.ts.map +1 -1
- package/dist-module/compression/webimage.js +5 -0
- package/dist-module/compression/webimage.js.map +1 -0
- package/dist-module/compression/zstd.d.ts +4 -2
- package/dist-module/compression/zstd.d.ts.map +1 -1
- package/dist-module/compression/zstd.js +3 -1
- package/dist-module/compression/zstd.js.map +1 -0
- package/dist-module/dataslice.d.ts +78 -22
- package/dist-module/dataslice.d.ts.map +1 -1
- package/dist-module/dataslice.js +57 -1
- package/dist-module/dataslice.js.map +1 -0
- package/dist-module/dataview64.d.ts +71 -14
- package/dist-module/dataview64.d.ts.map +1 -1
- package/dist-module/dataview64.js +58 -1
- package/dist-module/dataview64.js.map +1 -0
- package/dist-module/geotiff.d.ts +61 -12
- package/dist-module/geotiff.d.ts.map +1 -1
- package/dist-module/geotiff.js +73 -14
- package/dist-module/geotiff.js.map +1 -0
- package/dist-module/geotiffimage.d.ts +41 -15
- package/dist-module/geotiffimage.d.ts.map +1 -1
- package/dist-module/geotiffimage.js +132 -52
- package/dist-module/geotiffimage.js.map +1 -0
- package/dist-module/geotiffwriter.d.ts +28 -1
- package/dist-module/geotiffwriter.d.ts.map +1 -1
- package/dist-module/geotiffwriter.js +206 -84
- package/dist-module/geotiffwriter.js.map +1 -0
- package/dist-module/globals.d.ts +912 -92
- package/dist-module/globals.d.ts.map +1 -1
- package/dist-module/globals.js +201 -227
- package/dist-module/globals.js.map +1 -0
- package/dist-module/imagefiledirectory.d.ts +72 -19
- package/dist-module/imagefiledirectory.d.ts.map +1 -1
- package/dist-module/imagefiledirectory.js +51 -26
- package/dist-module/imagefiledirectory.js.map +1 -0
- package/dist-module/logging.d.ts +36 -10
- package/dist-module/logging.d.ts.map +1 -1
- package/dist-module/logging.js +16 -2
- package/dist-module/logging.js.map +1 -0
- package/dist-module/pool.d.ts +15 -8
- package/dist-module/pool.d.ts.map +1 -1
- package/dist-module/pool.js +11 -3
- package/dist-module/pool.js.map +1 -0
- package/dist-module/predictor.d.ts +10 -1
- package/dist-module/predictor.d.ts.map +1 -1
- package/dist-module/predictor.js +19 -0
- package/dist-module/predictor.js.map +1 -0
- package/dist-module/resample.d.ts.map +1 -1
- package/dist-module/resample.js +12 -0
- package/dist-module/resample.js.map +1 -0
- package/dist-module/rgb.js +1 -0
- package/dist-module/rgb.js.map +1 -0
- package/dist-module/source/arraybuffer.d.ts +7 -4
- package/dist-module/source/arraybuffer.d.ts.map +1 -1
- package/dist-module/source/arraybuffer.js +15 -1
- package/dist-module/source/arraybuffer.js.map +1 -0
- package/dist-module/source/basesource.d.ts +11 -6
- package/dist-module/source/basesource.d.ts.map +1 -1
- package/dist-module/source/basesource.js +7 -4
- package/dist-module/source/basesource.js.map +1 -0
- package/dist-module/source/blockedsource.d.ts +2 -2
- package/dist-module/source/blockedsource.d.ts.map +1 -1
- package/dist-module/source/blockedsource.js +8 -5
- package/dist-module/source/blockedsource.js.map +1 -0
- package/dist-module/source/client/base.d.ts +8 -7
- package/dist-module/source/client/base.d.ts.map +1 -1
- package/dist-module/source/client/base.js +7 -5
- package/dist-module/source/client/base.js.map +1 -0
- package/dist-module/source/client/fetch.d.ts +6 -2
- package/dist-module/source/client/fetch.d.ts.map +1 -1
- package/dist-module/source/client/fetch.js +7 -2
- package/dist-module/source/client/fetch.js.map +1 -0
- package/dist-module/source/client/http.d.ts +27 -5
- package/dist-module/source/client/http.d.ts.map +1 -1
- package/dist-module/source/client/http.js +16 -2
- package/dist-module/source/client/http.js.map +1 -0
- package/dist-module/source/client/xhr.d.ts +22 -3
- package/dist-module/source/client/xhr.d.ts.map +1 -1
- package/dist-module/source/client/xhr.js +12 -2
- package/dist-module/source/client/xhr.js.map +1 -0
- package/dist-module/source/file.d.ts +8 -5
- package/dist-module/source/file.d.ts.map +1 -1
- package/dist-module/source/file.js +40 -8
- package/dist-module/source/file.js.map +1 -0
- package/dist-module/source/filereader.d.ts +12 -4
- package/dist-module/source/filereader.d.ts.map +1 -1
- package/dist-module/source/filereader.js +15 -2
- package/dist-module/source/filereader.js.map +1 -0
- package/dist-module/source/httputils.d.ts +16 -9
- package/dist-module/source/httputils.d.ts.map +1 -1
- package/dist-module/source/httputils.js +19 -12
- package/dist-module/source/httputils.js.map +1 -0
- package/dist-module/source/remote.d.ts.map +1 -1
- package/dist-module/source/remote.js +19 -7
- package/dist-module/source/remote.js.map +1 -0
- package/dist-module/utils.d.ts +36 -41
- package/dist-module/utils.d.ts.map +1 -1
- package/dist-module/utils.js +17 -12
- package/dist-module/utils.js.map +1 -0
- package/dist-module/worker/create.js +1 -1
- package/dist-module/worker/create.js.map +1 -0
- package/dist-module/worker/decoder.d.ts +2 -0
- package/dist-module/worker/decoder.d.ts.map +1 -0
- package/dist-module/worker/decoder.js +21 -0
- package/dist-module/worker/decoder.js.map +1 -0
- package/dist-node/compression/basedecoder.d.ts +30 -4
- package/dist-node/compression/basedecoder.d.ts.map +1 -1
- package/dist-node/compression/basedecoder.js +22 -1
- package/dist-node/compression/basedecoder.js.map +1 -1
- package/dist-node/compression/deflate.d.ts +2 -1
- package/dist-node/compression/deflate.d.ts.map +1 -1
- package/dist-node/compression/deflate.js +2 -0
- package/dist-node/compression/deflate.js.map +1 -1
- package/dist-node/compression/index.d.ts +14 -22
- package/dist-node/compression/index.d.ts.map +1 -1
- package/dist-node/compression/index.js +36 -25
- package/dist-node/compression/index.js.map +1 -1
- package/dist-node/compression/jpeg.d.ts +55 -16
- package/dist-node/compression/jpeg.d.ts.map +1 -1
- package/dist-node/compression/jpeg.js +187 -16
- package/dist-node/compression/jpeg.js.map +1 -1
- package/dist-node/compression/lerc.d.ts +11 -1
- package/dist-node/compression/lerc.d.ts.map +1 -1
- package/dist-node/compression/lerc.js +16 -4
- package/dist-node/compression/lerc.js.map +1 -1
- package/dist-node/compression/lzw.d.ts +2 -1
- package/dist-node/compression/lzw.d.ts.map +1 -1
- package/dist-node/compression/lzw.js +29 -1
- package/dist-node/compression/lzw.js.map +1 -1
- package/dist-node/compression/packbits.d.ts +2 -1
- package/dist-node/compression/packbits.d.ts.map +1 -1
- package/dist-node/compression/packbits.js +2 -0
- package/dist-node/compression/packbits.js.map +1 -1
- package/dist-node/compression/raw.d.ts +2 -1
- package/dist-node/compression/raw.d.ts.map +1 -1
- package/dist-node/compression/raw.js +2 -0
- package/dist-node/compression/raw.js.map +1 -1
- package/dist-node/compression/webimage.d.ts +2 -2
- package/dist-node/compression/webimage.d.ts.map +1 -1
- package/dist-node/compression/webimage.js +5 -0
- package/dist-node/compression/webimage.js.map +1 -1
- package/dist-node/compression/zstd.d.ts +2 -1
- package/dist-node/compression/zstd.d.ts.map +1 -1
- package/dist-node/compression/zstd.js +3 -1
- package/dist-node/compression/zstd.js.map +1 -1
- package/dist-node/dataslice.d.ts +78 -22
- package/dist-node/dataslice.d.ts.map +1 -1
- package/dist-node/dataslice.js +57 -1
- package/dist-node/dataslice.js.map +1 -1
- package/dist-node/dataview64.d.ts +71 -14
- package/dist-node/dataview64.d.ts.map +1 -1
- package/dist-node/dataview64.js +58 -1
- package/dist-node/dataview64.js.map +1 -1
- package/dist-node/geotiff.d.ts +61 -12
- package/dist-node/geotiff.d.ts.map +1 -1
- package/dist-node/geotiff.js +75 -15
- package/dist-node/geotiff.js.map +1 -1
- package/dist-node/geotiffimage.d.ts +41 -15
- package/dist-node/geotiffimage.d.ts.map +1 -1
- package/dist-node/geotiffimage.js +132 -52
- package/dist-node/geotiffimage.js.map +1 -1
- package/dist-node/geotiffwriter.d.ts +28 -1
- package/dist-node/geotiffwriter.d.ts.map +1 -1
- package/dist-node/geotiffwriter.js +206 -84
- package/dist-node/geotiffwriter.js.map +1 -1
- package/dist-node/globals.d.ts +910 -90
- package/dist-node/globals.d.ts.map +1 -1
- package/dist-node/globals.js +202 -228
- package/dist-node/globals.js.map +1 -1
- package/dist-node/imagefiledirectory.d.ts +72 -19
- package/dist-node/imagefiledirectory.d.ts.map +1 -1
- package/dist-node/imagefiledirectory.js +51 -26
- package/dist-node/imagefiledirectory.js.map +1 -1
- package/dist-node/logging.d.ts +36 -10
- package/dist-node/logging.d.ts.map +1 -1
- package/dist-node/logging.js +16 -2
- package/dist-node/logging.js.map +1 -1
- package/dist-node/pool.d.ts +15 -8
- package/dist-node/pool.d.ts.map +1 -1
- package/dist-node/pool.js +11 -3
- package/dist-node/pool.js.map +1 -1
- package/dist-node/predictor.d.ts +10 -1
- package/dist-node/predictor.d.ts.map +1 -1
- package/dist-node/predictor.js +19 -0
- package/dist-node/predictor.js.map +1 -1
- package/dist-node/resample.d.ts.map +1 -1
- package/dist-node/resample.js +12 -0
- package/dist-node/resample.js.map +1 -1
- package/dist-node/rgb.js +1 -0
- package/dist-node/rgb.js.map +1 -1
- package/dist-node/source/arraybuffer.d.ts +7 -4
- package/dist-node/source/arraybuffer.d.ts.map +1 -1
- package/dist-node/source/arraybuffer.js +15 -1
- package/dist-node/source/arraybuffer.js.map +1 -1
- package/dist-node/source/basesource.d.ts +11 -6
- package/dist-node/source/basesource.d.ts.map +1 -1
- package/dist-node/source/basesource.js +7 -4
- package/dist-node/source/basesource.js.map +1 -1
- package/dist-node/source/blockedsource.d.ts +2 -2
- package/dist-node/source/blockedsource.d.ts.map +1 -1
- package/dist-node/source/blockedsource.js +8 -5
- package/dist-node/source/blockedsource.js.map +1 -1
- package/dist-node/source/client/base.d.ts +8 -7
- package/dist-node/source/client/base.d.ts.map +1 -1
- package/dist-node/source/client/base.js +7 -5
- package/dist-node/source/client/base.js.map +1 -1
- package/dist-node/source/client/fetch.d.ts +5 -2
- package/dist-node/source/client/fetch.d.ts.map +1 -1
- package/dist-node/source/client/fetch.js +7 -2
- package/dist-node/source/client/fetch.js.map +1 -1
- package/dist-node/source/client/http.d.ts +22 -4
- package/dist-node/source/client/http.d.ts.map +1 -1
- package/dist-node/source/client/http.js +16 -2
- package/dist-node/source/client/http.js.map +1 -1
- package/dist-node/source/client/xhr.d.ts +23 -3
- package/dist-node/source/client/xhr.d.ts.map +1 -1
- package/dist-node/source/client/xhr.js +12 -2
- package/dist-node/source/client/xhr.js.map +1 -1
- package/dist-node/source/file.d.ts +8 -5
- package/dist-node/source/file.d.ts.map +1 -1
- package/dist-node/source/file.js +40 -8
- package/dist-node/source/file.js.map +1 -1
- package/dist-node/source/filereader.d.ts +12 -4
- package/dist-node/source/filereader.d.ts.map +1 -1
- package/dist-node/source/filereader.js +15 -2
- package/dist-node/source/filereader.js.map +1 -1
- package/dist-node/source/httputils.d.ts +16 -9
- package/dist-node/source/httputils.d.ts.map +1 -1
- package/dist-node/source/httputils.js +19 -12
- package/dist-node/source/httputils.js.map +1 -1
- package/dist-node/source/remote.d.ts.map +1 -1
- package/dist-node/source/remote.js +19 -7
- package/dist-node/source/remote.js.map +1 -1
- package/dist-node/utils.d.ts +9 -8
- package/dist-node/utils.d.ts.map +1 -1
- package/dist-node/utils.js +17 -12
- package/dist-node/utils.js.map +1 -1
- package/dist-node/worker/create.js +1 -1
- package/dist-node/worker/create.js.map +1 -1
- package/dist-node/worker/decoder.d.ts +2 -0
- package/dist-node/worker/decoder.d.ts.map +1 -0
- package/dist-node/worker/decoder.js +24 -0
- package/dist-node/worker/decoder.js.map +1 -0
- package/package.json +5 -3
|
@@ -3,6 +3,12 @@ const MIN_BITS = 9;
|
|
|
3
3
|
const CLEAR_CODE = 256; // clear code
|
|
4
4
|
const EOI_CODE = 257; // end of information
|
|
5
5
|
const MAX_BYTELENGTH = 12;
|
|
6
|
+
/**
|
|
7
|
+
* @param {Uint8Array} array
|
|
8
|
+
* @param {number} position
|
|
9
|
+
* @param {number} length
|
|
10
|
+
* @returns {number}
|
|
11
|
+
*/
|
|
6
12
|
function getByte(array, position, length) {
|
|
7
13
|
const d = position % 8;
|
|
8
14
|
const a = Math.floor(position / 8);
|
|
@@ -30,12 +36,21 @@ function getByte(array, position, length) {
|
|
|
30
36
|
}
|
|
31
37
|
return chunks;
|
|
32
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @template T
|
|
41
|
+
* @param {Array<T>} dest
|
|
42
|
+
* @param {Array<T>} source
|
|
43
|
+
* @returns {Array<T>}
|
|
44
|
+
*/
|
|
33
45
|
function appendReversed(dest, source) {
|
|
34
46
|
for (let i = source.length - 1; i >= 0; i--) {
|
|
35
47
|
dest.push(source[i]);
|
|
36
48
|
}
|
|
37
49
|
return dest;
|
|
38
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @param {ArrayBuffer} input
|
|
53
|
+
*/
|
|
39
54
|
function decompress(input) {
|
|
40
55
|
const dictionaryIndex = new Uint16Array(4093);
|
|
41
56
|
const dictionaryChar = new Uint8Array(4093);
|
|
@@ -50,17 +65,23 @@ function decompress(input) {
|
|
|
50
65
|
dictionaryLength = 258;
|
|
51
66
|
byteLength = MIN_BITS;
|
|
52
67
|
}
|
|
68
|
+
/** @param {Uint8Array} array */
|
|
53
69
|
function getNext(array) {
|
|
54
70
|
const byte = getByte(array, position, byteLength);
|
|
55
71
|
position += byteLength;
|
|
56
72
|
return byte;
|
|
57
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* @param {number} i
|
|
76
|
+
* @param {number} c
|
|
77
|
+
*/
|
|
58
78
|
function addToDictionary(i, c) {
|
|
59
79
|
dictionaryChar[dictionaryLength] = c;
|
|
60
80
|
dictionaryIndex[dictionaryLength] = i;
|
|
61
81
|
dictionaryLength++;
|
|
62
82
|
return dictionaryLength - 1;
|
|
63
83
|
}
|
|
84
|
+
/** @param {number} n */
|
|
64
85
|
function getDictionaryReversed(n) {
|
|
65
86
|
const rev = [];
|
|
66
87
|
for (let i = n; i !== 4096; i = dictionaryIndex[i]) {
|
|
@@ -95,10 +116,15 @@ function decompress(input) {
|
|
|
95
116
|
else if (code < dictionaryLength) {
|
|
96
117
|
const val = getDictionaryReversed(code);
|
|
97
118
|
appendReversed(result, val);
|
|
98
|
-
|
|
119
|
+
if (oldCode !== undefined) {
|
|
120
|
+
addToDictionary(oldCode, val[val.length - 1]);
|
|
121
|
+
}
|
|
99
122
|
oldCode = code;
|
|
100
123
|
}
|
|
101
124
|
else {
|
|
125
|
+
if (oldCode === undefined) {
|
|
126
|
+
throw new Error(`Invalid LZW code: ${code} with no previous code`);
|
|
127
|
+
}
|
|
102
128
|
const oldVal = getDictionaryReversed(oldCode);
|
|
103
129
|
if (!oldVal) {
|
|
104
130
|
throw new Error(`Bogus entry. Not in dictionary, ${oldCode} / ${dictionaryLength}, position: ${position}`);
|
|
@@ -121,7 +147,9 @@ function decompress(input) {
|
|
|
121
147
|
return new Uint8Array(result);
|
|
122
148
|
}
|
|
123
149
|
export default class LZWDecoder extends BaseDecoder {
|
|
150
|
+
/** @param {ArrayBuffer} buffer */
|
|
124
151
|
decodeBlock(buffer) {
|
|
125
152
|
return decompress(buffer).buffer;
|
|
126
153
|
}
|
|
127
154
|
}
|
|
155
|
+
//# sourceMappingURL=lzw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lzw.js","sourceRoot":"","sources":["../../src/compression/lzw.js"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export default class PackbitsDecoder extends BaseDecoder {
|
|
2
|
-
|
|
2
|
+
/** @param {ArrayBuffer} buffer */
|
|
3
|
+
decodeBlock(buffer: ArrayBuffer): ArrayBuffer;
|
|
3
4
|
}
|
|
4
5
|
import BaseDecoder from './basedecoder.js';
|
|
5
6
|
//# sourceMappingURL=packbits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packbits.d.ts","sourceRoot":"","sources":["../../src/compression/packbits.js"],"names":[],"mappings":"AAEA;IACE,
|
|
1
|
+
{"version":3,"file":"packbits.d.ts","sourceRoot":"","sources":["../../src/compression/packbits.js"],"names":[],"mappings":"AAEA;IACE,kCAAkC;IAClC,oBADY,WAAW,eAsBtB;CACF;wBA1BuB,kBAAkB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BaseDecoder from './basedecoder.js';
|
|
2
2
|
export default class PackbitsDecoder extends BaseDecoder {
|
|
3
|
+
/** @param {ArrayBuffer} buffer */
|
|
3
4
|
decodeBlock(buffer) {
|
|
4
5
|
const dataView = new DataView(buffer);
|
|
5
6
|
const out = [];
|
|
@@ -23,3 +24,4 @@ export default class PackbitsDecoder extends BaseDecoder {
|
|
|
23
24
|
return new Uint8Array(out).buffer;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
//# sourceMappingURL=packbits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packbits.js","sourceRoot":"","sources":["../../src/compression/packbits.js"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,kCAAkC;IAClC,WAAW,CAAC,MAAM;QAChB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,MAAM,GAAG,CAAC,MAAM,CAAC;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/compression/raw.js"],"names":[],"mappings":"AAEA;IACE,
|
|
1
|
+
{"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/compression/raw.js"],"names":[],"mappings":"AAEA;IACE,kCAAkC;IAClC,oBADY,WAAW,eAGtB;CACF;wBAPuB,kBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw.js","sourceRoot":"","sources":["../../src/compression/raw.js"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,kCAAkC;IAClC,WAAW,CAAC,MAAM;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* formats like WebP when supported.
|
|
6
6
|
*/
|
|
7
7
|
export default class WebImageDecoder extends BaseDecoder {
|
|
8
|
-
|
|
8
|
+
/** @param {ArrayBuffer} buffer */
|
|
9
|
+
decodeBlock(buffer: ArrayBuffer): Promise<ArrayBuffer>;
|
|
9
10
|
}
|
|
10
11
|
import BaseDecoder from './basedecoder.js';
|
|
11
12
|
//# sourceMappingURL=webimage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webimage.d.ts","sourceRoot":"","sources":["../../src/compression/webimage.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;
|
|
1
|
+
{"version":3,"file":"webimage.d.ts","sourceRoot":"","sources":["../../src/compression/webimage.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;IAaE,kCAAkC;IAClC,oBADY,WAAW,wBAqCtB;CACF;wBA3DuB,kBAAkB"}
|
|
@@ -6,6 +6,9 @@ import BaseDecoder from './basedecoder.js';
|
|
|
6
6
|
* formats like WebP when supported.
|
|
7
7
|
*/
|
|
8
8
|
export default class WebImageDecoder extends BaseDecoder {
|
|
9
|
+
/**
|
|
10
|
+
* @param {import('./basedecoder.js').BaseDecoderParameters} parameters
|
|
11
|
+
*/
|
|
9
12
|
constructor(parameters) {
|
|
10
13
|
super(parameters);
|
|
11
14
|
if (typeof createImageBitmap === 'undefined') {
|
|
@@ -15,6 +18,7 @@ export default class WebImageDecoder extends BaseDecoder {
|
|
|
15
18
|
throw new Error('Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available');
|
|
16
19
|
}
|
|
17
20
|
}
|
|
21
|
+
/** @param {ArrayBuffer} buffer */
|
|
18
22
|
async decodeBlock(buffer) {
|
|
19
23
|
const blob = new Blob([buffer]);
|
|
20
24
|
const imageBitmap = await createImageBitmap(blob);
|
|
@@ -53,3 +57,4 @@ export default class WebImageDecoder extends BaseDecoder {
|
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
}
|
|
60
|
+
//# sourceMappingURL=webimage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webimage.js","sourceRoot":"","sources":["../../src/compression/webimage.js"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD;;OAEG;IACH,YAAY,UAAU;QACpB,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,WAAW,CAAC,MAAM;QACtB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QAED,4DAA4D;QAC5D,oDAAoD;QACpD,MAAM,GAAG,GAAG,uCAAuC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QAErF,4CAA4C;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC;QAC7D,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,qBAAqB;YACrB,OAAO,SAAS,CAAC,MAAM,CAAC;QAC1B,CAAC;aAAM,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YACjC,6CAA6C;YAC7C,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export const zstd:
|
|
1
|
+
export const zstd: ZSTDDecoder;
|
|
2
2
|
export default class ZstdDecoder extends BaseDecoder {
|
|
3
|
-
|
|
3
|
+
/** @param {ArrayBuffer} buffer */
|
|
4
|
+
decodeBlock(buffer: ArrayBuffer): ArrayBuffer;
|
|
4
5
|
}
|
|
6
|
+
import { ZSTDDecoder } from 'zstddec/stream';
|
|
5
7
|
import BaseDecoder from './basedecoder.js';
|
|
6
8
|
//# sourceMappingURL=zstd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zstd.d.ts","sourceRoot":"","sources":["../../src/compression/zstd.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"zstd.d.ts","sourceRoot":"","sources":["../../src/compression/zstd.js"],"names":[],"mappings":"AAGA,+BAAsC;AAEtC;IACE,kCAAkC;IAClC,oBADY,WAAW,GAEH,WAAW,CAC9B;CACF;4BAV2B,gBAAgB;wBACpB,kBAAkB"}
|
|
@@ -2,7 +2,9 @@ import { ZSTDDecoder } from 'zstddec/stream';
|
|
|
2
2
|
import BaseDecoder from './basedecoder.js';
|
|
3
3
|
export const zstd = new ZSTDDecoder();
|
|
4
4
|
export default class ZstdDecoder extends BaseDecoder {
|
|
5
|
+
/** @param {ArrayBuffer} buffer */
|
|
5
6
|
decodeBlock(buffer) {
|
|
6
|
-
return zstd.decode(new Uint8Array(buffer)).buffer;
|
|
7
|
+
return /** @type {ArrayBuffer} */ (zstd.decode(new Uint8Array(buffer)).buffer);
|
|
7
8
|
}
|
|
8
9
|
}
|
|
10
|
+
//# sourceMappingURL=zstd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zstd.js","sourceRoot":"","sources":["../../src/compression/zstd.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,kCAAkC;IAClC,WAAW,CAAC,MAAM;QAChB,OAAO,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;CACF"}
|
|
@@ -1,25 +1,81 @@
|
|
|
1
1
|
export default class DataSlice {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @param {ArrayBufferLike} arrayBuffer
|
|
4
|
+
* @param {number} sliceOffset
|
|
5
|
+
* @param {boolean} littleEndian
|
|
6
|
+
* @param {boolean} bigTiff
|
|
7
|
+
*/
|
|
8
|
+
constructor(arrayBuffer: ArrayBufferLike, sliceOffset: number, littleEndian: boolean, bigTiff: boolean);
|
|
9
|
+
_dataView: DataView<ArrayBufferLike>;
|
|
10
|
+
_sliceOffset: number;
|
|
11
|
+
_littleEndian: boolean;
|
|
12
|
+
_bigTiff: boolean;
|
|
13
|
+
get sliceOffset(): number;
|
|
14
|
+
get sliceTop(): number;
|
|
15
|
+
get littleEndian(): boolean;
|
|
16
|
+
get bigTiff(): boolean;
|
|
17
|
+
get buffer(): ArrayBufferLike;
|
|
18
|
+
/**
|
|
19
|
+
* @param {number} offset
|
|
20
|
+
* @param {number} length
|
|
21
|
+
* @returns {boolean}
|
|
22
|
+
*/
|
|
23
|
+
covers(offset: number, length: number): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* @param {number} offset
|
|
26
|
+
* @returns {number}
|
|
27
|
+
*/
|
|
28
|
+
readUint8(offset: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* @param {number} offset
|
|
31
|
+
* @returns {number}
|
|
32
|
+
*/
|
|
33
|
+
readInt8(offset: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* @param {number} offset
|
|
36
|
+
* @returns {number}
|
|
37
|
+
*/
|
|
38
|
+
readUint16(offset: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* @param {number} offset
|
|
41
|
+
* @returns {number}
|
|
42
|
+
*/
|
|
43
|
+
readInt16(offset: number): number;
|
|
44
|
+
/**
|
|
45
|
+
* @param {number} offset
|
|
46
|
+
* @returns {number}
|
|
47
|
+
*/
|
|
48
|
+
readUint32(offset: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* @param {number} offset
|
|
51
|
+
* @returns {number}
|
|
52
|
+
*/
|
|
53
|
+
readInt32(offset: number): number;
|
|
54
|
+
/**
|
|
55
|
+
* @param {number} offset
|
|
56
|
+
* @returns {number}
|
|
57
|
+
*/
|
|
58
|
+
readFloat32(offset: number): number;
|
|
59
|
+
/**
|
|
60
|
+
* @param {number} offset
|
|
61
|
+
* @returns {number}
|
|
62
|
+
*/
|
|
63
|
+
readFloat64(offset: number): number;
|
|
64
|
+
/**
|
|
65
|
+
* @param {number} offset
|
|
66
|
+
* @returns {number}
|
|
67
|
+
*/
|
|
68
|
+
readUint64(offset: number): number;
|
|
69
|
+
/**
|
|
70
|
+
* Adapted from https://stackoverflow.com/a/55338384/8060591
|
|
71
|
+
* @param {number} offset
|
|
72
|
+
* @returns {number}
|
|
73
|
+
*/
|
|
74
|
+
readInt64(offset: number): number;
|
|
75
|
+
/**
|
|
76
|
+
* @param {number} offset
|
|
77
|
+
* @returns {number}
|
|
78
|
+
*/
|
|
79
|
+
readOffset(offset: number): number;
|
|
24
80
|
}
|
|
25
81
|
//# sourceMappingURL=dataslice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataslice.d.ts","sourceRoot":"","sources":["../src/dataslice.js"],"names":[],"mappings":"AAAA;IACE,
|
|
1
|
+
{"version":3,"file":"dataslice.d.ts","sourceRoot":"","sources":["../src/dataslice.js"],"names":[],"mappings":"AAAA;IACE;;;;;OAKG;IACH,yBALW,eAAe,eACf,MAAM,gBACN,OAAO,WACP,OAAO,EAOjB;IAJC,qCAA0C;IAC1C,qBAA+B;IAC/B,uBAAiC;IACjC,kBAAuB;IAGzB,0BAEC;IAED,uBAEC;IAED,4BAEC;IAED,uBAEC;IAED,8BAEC;IAED;;;;OAIG;IACH,eAJW,MAAM,UACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,kBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,oBAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAyBlB;IAED;;;;OAIG;IACH,kBAHW,MAAM,GACJ,MAAM,CA2BlB;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,CAOlB;CACF"}
|
package/dist-module/dataslice.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export default class DataSlice {
|
|
2
|
+
/**
|
|
3
|
+
* @param {ArrayBufferLike} arrayBuffer
|
|
4
|
+
* @param {number} sliceOffset
|
|
5
|
+
* @param {boolean} littleEndian
|
|
6
|
+
* @param {boolean} bigTiff
|
|
7
|
+
*/
|
|
2
8
|
constructor(arrayBuffer, sliceOffset, littleEndian, bigTiff) {
|
|
3
9
|
this._dataView = new DataView(arrayBuffer);
|
|
4
10
|
this._sliceOffset = sliceOffset;
|
|
@@ -20,33 +26,74 @@ export default class DataSlice {
|
|
|
20
26
|
get buffer() {
|
|
21
27
|
return this._dataView.buffer;
|
|
22
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @param {number} offset
|
|
31
|
+
* @param {number} length
|
|
32
|
+
* @returns {boolean}
|
|
33
|
+
*/
|
|
23
34
|
covers(offset, length) {
|
|
24
35
|
return this.sliceOffset <= offset && this.sliceTop >= offset + length;
|
|
25
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* @param {number} offset
|
|
39
|
+
* @returns {number}
|
|
40
|
+
*/
|
|
26
41
|
readUint8(offset) {
|
|
27
42
|
return this._dataView.getUint8(offset - this._sliceOffset);
|
|
28
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @param {number} offset
|
|
46
|
+
* @returns {number}
|
|
47
|
+
*/
|
|
29
48
|
readInt8(offset) {
|
|
30
49
|
return this._dataView.getInt8(offset - this._sliceOffset);
|
|
31
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @param {number} offset
|
|
53
|
+
* @returns {number}
|
|
54
|
+
*/
|
|
32
55
|
readUint16(offset) {
|
|
33
56
|
return this._dataView.getUint16(offset - this._sliceOffset, this._littleEndian);
|
|
34
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* @param {number} offset
|
|
60
|
+
* @returns {number}
|
|
61
|
+
*/
|
|
35
62
|
readInt16(offset) {
|
|
36
63
|
return this._dataView.getInt16(offset - this._sliceOffset, this._littleEndian);
|
|
37
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* @param {number} offset
|
|
67
|
+
* @returns {number}
|
|
68
|
+
*/
|
|
38
69
|
readUint32(offset) {
|
|
39
70
|
return this._dataView.getUint32(offset - this._sliceOffset, this._littleEndian);
|
|
40
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @param {number} offset
|
|
74
|
+
* @returns {number}
|
|
75
|
+
*/
|
|
41
76
|
readInt32(offset) {
|
|
42
77
|
return this._dataView.getInt32(offset - this._sliceOffset, this._littleEndian);
|
|
43
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* @param {number} offset
|
|
81
|
+
* @returns {number}
|
|
82
|
+
*/
|
|
44
83
|
readFloat32(offset) {
|
|
45
84
|
return this._dataView.getFloat32(offset - this._sliceOffset, this._littleEndian);
|
|
46
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* @param {number} offset
|
|
88
|
+
* @returns {number}
|
|
89
|
+
*/
|
|
47
90
|
readFloat64(offset) {
|
|
48
91
|
return this._dataView.getFloat64(offset - this._sliceOffset, this._littleEndian);
|
|
49
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* @param {number} offset
|
|
95
|
+
* @returns {number}
|
|
96
|
+
*/
|
|
50
97
|
readUint64(offset) {
|
|
51
98
|
const left = this.readUint32(offset);
|
|
52
99
|
const right = this.readUint32(offset + 4);
|
|
@@ -66,7 +113,11 @@ export default class DataSlice {
|
|
|
66
113
|
}
|
|
67
114
|
return combined;
|
|
68
115
|
}
|
|
69
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Adapted from https://stackoverflow.com/a/55338384/8060591
|
|
118
|
+
* @param {number} offset
|
|
119
|
+
* @returns {number}
|
|
120
|
+
*/
|
|
70
121
|
readInt64(offset) {
|
|
71
122
|
let value = 0;
|
|
72
123
|
const isNegative = (this._dataView.getUint8(offset + (this._littleEndian ? 7 : 0)) & 0x80)
|
|
@@ -92,6 +143,10 @@ export default class DataSlice {
|
|
|
92
143
|
}
|
|
93
144
|
return value;
|
|
94
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* @param {number} offset
|
|
148
|
+
* @returns {number}
|
|
149
|
+
*/
|
|
95
150
|
readOffset(offset) {
|
|
96
151
|
if (this._bigTiff) {
|
|
97
152
|
return this.readUint64(offset);
|
|
@@ -99,3 +154,4 @@ export default class DataSlice {
|
|
|
99
154
|
return this.readUint32(offset);
|
|
100
155
|
}
|
|
101
156
|
}
|
|
157
|
+
//# sourceMappingURL=dataslice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataslice.js","sourceRoot":"","sources":["../src/dataslice.js"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,74 @@
|
|
|
1
1
|
export default class DataView64 {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @param {ArrayBufferLike} arrayBuffer
|
|
4
|
+
*/
|
|
5
|
+
constructor(arrayBuffer: ArrayBufferLike);
|
|
6
|
+
_dataView: DataView<ArrayBufferLike>;
|
|
7
|
+
get buffer(): ArrayBufferLike;
|
|
8
|
+
/**
|
|
9
|
+
* @param {number} offset
|
|
10
|
+
* @param {boolean} littleEndian
|
|
11
|
+
* @returns {number}
|
|
12
|
+
*/
|
|
13
|
+
getUint64(offset: number, littleEndian: boolean): number;
|
|
14
|
+
/**
|
|
15
|
+
* Adapted from https://stackoverflow.com/a/55338384/8060591
|
|
16
|
+
* @param {number} offset
|
|
17
|
+
* @param {boolean} littleEndian
|
|
18
|
+
* @returns {number}
|
|
19
|
+
*/
|
|
20
|
+
getInt64(offset: number, littleEndian: boolean): number;
|
|
21
|
+
/**
|
|
22
|
+
* @param {number} offset
|
|
23
|
+
* @returns {number}
|
|
24
|
+
*/
|
|
25
|
+
getUint8(offset: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* @param {number} offset
|
|
28
|
+
* @returns {number}
|
|
29
|
+
*/
|
|
30
|
+
getInt8(offset: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* @param {number} offset
|
|
33
|
+
* @param {boolean} littleEndian
|
|
34
|
+
* @returns {number}
|
|
35
|
+
*/
|
|
36
|
+
getUint16(offset: number, littleEndian: boolean): number;
|
|
37
|
+
/**
|
|
38
|
+
* @param {number} offset
|
|
39
|
+
* @param {boolean} littleEndian
|
|
40
|
+
* @returns {number}
|
|
41
|
+
*/
|
|
42
|
+
getInt16(offset: number, littleEndian: boolean): number;
|
|
43
|
+
/**
|
|
44
|
+
* @param {number} offset
|
|
45
|
+
* @param {boolean} littleEndian
|
|
46
|
+
* @returns {number}
|
|
47
|
+
*/
|
|
48
|
+
getUint32(offset: number, littleEndian: boolean): number;
|
|
49
|
+
/**
|
|
50
|
+
* @param {number} offset
|
|
51
|
+
* @param {boolean} littleEndian
|
|
52
|
+
* @returns {number}
|
|
53
|
+
*/
|
|
54
|
+
getInt32(offset: number, littleEndian: boolean): number;
|
|
55
|
+
/**
|
|
56
|
+
* @param {number} offset
|
|
57
|
+
* @param {boolean} littleEndian
|
|
58
|
+
* @returns {number}
|
|
59
|
+
*/
|
|
60
|
+
getFloat16(offset: number, littleEndian: boolean): number;
|
|
61
|
+
/**
|
|
62
|
+
* @param {number} offset
|
|
63
|
+
* @param {boolean} littleEndian
|
|
64
|
+
* @returns {number}
|
|
65
|
+
*/
|
|
66
|
+
getFloat32(offset: number, littleEndian: boolean): number;
|
|
67
|
+
/**
|
|
68
|
+
* @param {number} offset
|
|
69
|
+
* @param {boolean} littleEndian
|
|
70
|
+
* @returns {number}
|
|
71
|
+
*/
|
|
72
|
+
getFloat64(offset: number, littleEndian: boolean): number;
|
|
16
73
|
}
|
|
17
74
|
//# sourceMappingURL=dataview64.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataview64.d.ts","sourceRoot":"","sources":["../src/dataview64.js"],"names":[],"mappings":"AAEA;IACE,
|
|
1
|
+
{"version":3,"file":"dataview64.d.ts","sourceRoot":"","sources":["../src/dataview64.js"],"names":[],"mappings":"AAEA;IACE;;OAEG;IACH,yBAFW,eAAe,EAIzB;IADC,qCAA0C;IAG5C,8BAEC;IAED;;;;OAIG;IACH,kBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAyBlB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAwBlB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;;OAIG;IACH,kBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,kBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,mBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,mBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,mBAJW,MAAM,gBACN,OAAO,GACL,MAAM,CAIlB;CACF"}
|