@cogeotiff/core 9.0.3 → 9.1.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.
- package/CHANGELOG.md +20 -0
- package/build/__benchmark__/cog.read.benchmark.js +2 -2
- package/build/__benchmark__/cog.read.benchmark.js.map +1 -1
- package/build/__benchmark__/source.file.d.ts +1 -2
- package/build/__benchmark__/source.memory.d.ts +1 -2
- package/build/__test__/cog.read.test.js +13 -9
- package/build/__test__/cog.read.test.js.map +1 -1
- package/build/__test__/example.js +1 -1
- package/build/__test__/example.js.map +1 -1
- package/build/const/tiff.tag.value.d.ts +1 -0
- package/build/const/tiff.tag.value.js +2 -0
- package/build/const/tiff.tag.value.js.map +1 -1
- package/build/index.d.ts +4 -3
- package/build/index.js.map +1 -1
- package/build/read/tiff.tag.d.ts +4 -4
- package/build/read/tiff.tag.factory.d.ts +3 -3
- package/build/read/tiff.tag.factory.js +6 -0
- package/build/read/tiff.tag.factory.js.map +1 -1
- package/build/read/tiff.value.reader.d.ts +1 -1
- package/build/read/tiff.value.reader.js +2 -1
- package/build/read/tiff.value.reader.js.map +1 -1
- package/build/tiff.d.ts +2 -2
- package/build/tiff.image.d.ts +5 -4
- package/build/tiff.image.js +1 -1
- package/build/tiff.image.js.map +1 -1
- package/build/tiff.js +5 -7
- package/build/tiff.js.map +1 -1
- package/package.json +3 -3
- package/src/__benchmark__/cog.read.benchmark.ts +1 -1
- package/src/__benchmark__/source.file.ts +1 -1
- package/src/__benchmark__/source.memory.ts +1 -1
- package/src/__test__/cog.read.test.ts +15 -9
- package/src/__test__/example.ts +1 -1
- package/src/const/tiff.tag.value.ts +2 -0
- package/src/index.ts +4 -3
- package/src/read/tiff.tag.factory.ts +12 -6
- package/src/read/tiff.tag.ts +4 -4
- package/src/read/tiff.value.reader.ts +3 -2
- package/src/tiff.image.ts +7 -14
- package/src/tiff.ts +13 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [9.1.1](https://github.com/blacha/cogeotiff/compare/core-v9.1.0...core-v9.1.1) (2025-11-10)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* add field type 13 exif IFD Offset ([#1367](https://github.com/blacha/cogeotiff/issues/1367)) ([08546f1](https://github.com/blacha/cogeotiff/commit/08546f1b3901b624c0085723bc0e70da8415f6c4))
|
|
9
|
+
* allow tiff reads if content-length is unknown ([#1355](https://github.com/blacha/cogeotiff/issues/1355)) ([78a35a9](https://github.com/blacha/cogeotiff/commit/78a35a903b3628f40289a2c576d920a568fb1abf)), closes [#1349](https://github.com/blacha/cogeotiff/issues/1349)
|
|
10
|
+
|
|
11
|
+
## [9.1.0](https://github.com/blacha/cogeotiff/compare/core-v9.0.3...core-v9.1.0) (2025-09-17)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* enable basic big endian support ([1550206](https://github.com/blacha/cogeotiff/commit/1550206908bc3c85a2f4b295e755750aafa399c3))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **cli:** correctly show "not loaded" when strings are not loaded ([#1309](https://github.com/blacha/cogeotiff/issues/1309)) ([fdbd4e9](https://github.com/blacha/cogeotiff/commit/fdbd4e975ac5f27c4e36438e0f1ff776e7db7f5a))
|
|
22
|
+
|
|
3
23
|
## [9.0.3](https://github.com/blacha/cogeotiff/compare/core-v9.0.2...core-v9.0.3) (2024-01-08)
|
|
4
24
|
|
|
5
25
|
|
|
@@ -7,7 +7,7 @@ import { SourceMemory } from './source.memory.js';
|
|
|
7
7
|
async function main() {
|
|
8
8
|
const buf = await readFile(process.argv[process.argv.length - 1]);
|
|
9
9
|
const source = new SourceMemory(buf);
|
|
10
|
-
for (let i = 0; i <
|
|
10
|
+
for (let i = 0; i < 5_000; i++) {
|
|
11
11
|
performance.mark('tiff:init');
|
|
12
12
|
const tiff = new Tiff(source);
|
|
13
13
|
await tiff.init();
|
|
@@ -20,5 +20,5 @@ async function main() {
|
|
|
20
20
|
await tiff.images[0].fetch(TiffTag.TileOffsets);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
main();
|
|
23
|
+
void main();
|
|
24
24
|
//# sourceMappingURL=cog.read.benchmark.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cog.read.benchmark.js","sourceRoot":"","sources":["../../src/__benchmark__/cog.read.benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+BAA+B;AAC/B,mEAAmE;AACnE,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"cog.read.benchmark.js","sourceRoot":"","sources":["../../src/__benchmark__/cog.read.benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+BAA+B;AAC/B,mEAAmE;AACnE,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEnC,WAAW;QACX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,+EAA+E;QAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -16,15 +16,19 @@ function validate(tif) {
|
|
|
16
16
|
assert.deepEqual(firstTif.size, { width: 64, height: 64 });
|
|
17
17
|
}
|
|
18
18
|
describe('CogRead', () => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
it('should read big endian', async () => {
|
|
20
|
+
const source = new TestFileSource(new URL('../../data/big.endian.tiff', import.meta.url));
|
|
21
|
+
const tiff = new Tiff(source);
|
|
22
|
+
await tiff.init();
|
|
23
|
+
assert.equal(tiff.isLittleEndian, false);
|
|
24
|
+
assert.equal(tiff.version, TiffVersion.Tiff);
|
|
25
|
+
assert.equal(tiff.images.length, 1);
|
|
26
|
+
const firstImage = tiff.images[0];
|
|
27
|
+
assert.equal(firstImage.compression, 'application/zstd');
|
|
28
|
+
assert.equal(firstImage.isTiled(), true);
|
|
29
|
+
const firstTile = await firstImage.getTile(0, 0);
|
|
30
|
+
assert.equal(firstTile?.bytes.byteLength, 511);
|
|
31
|
+
});
|
|
28
32
|
it('should read big tiff', async () => {
|
|
29
33
|
const source = new TestFileSource(new URL('../../data/big_cog.tiff', import.meta.url));
|
|
30
34
|
const tiff = new Tiff(source);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cog.read.test.js","sourceRoot":"","sources":["../../src/__test__/cog.read.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,SAAS,QAAQ,CAAC,GAAS;IACzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEnC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,
|
|
1
|
+
{"version":3,"file":"cog.read.test.js","sourceRoot":"","sources":["../../src/__test__/cog.read.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/__test__/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvC,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,iDAAiD;IAC/D,CAAC;IAED,qCAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB;QACjC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,GAAG,CAAC,MAAM,CAAC;IACX,+BAA+B;IAC/B,GAAG,CAAC,IAAI,CAAC;AACX,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/__test__/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvC,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,iDAAiD;IAC/D,CAAC;IAED,qCAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB;QACjC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,GAAG,CAAC,MAAM,CAAC;IACX,+BAA+B;IAC/B,GAAG,CAAC,IAAI,CAAC;AACX,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -12,6 +12,8 @@ export var TiffTagValueType;
|
|
|
12
12
|
TiffTagValueType[TiffTagValueType["SignedRational"] = 10] = "SignedRational";
|
|
13
13
|
TiffTagValueType[TiffTagValueType["Float32"] = 11] = "Float32";
|
|
14
14
|
TiffTagValueType[TiffTagValueType["Float64"] = 12] = "Float64";
|
|
15
|
+
// IFD offset: https://owl.phy.queensu.ca/~phil/exiftool/standards.html
|
|
16
|
+
TiffTagValueType[TiffTagValueType["Ifd"] = 13] = "Ifd";
|
|
15
17
|
// BigTiff
|
|
16
18
|
TiffTagValueType[TiffTagValueType["Uint64"] = 16] = "Uint64";
|
|
17
19
|
TiffTagValueType[TiffTagValueType["Int64"] = 17] = "Int64";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiff.tag.value.js","sourceRoot":"","sources":["../../src/const/tiff.tag.value.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"tiff.tag.value.js","sourceRoot":"","sources":["../../src/const/tiff.tag.value.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,2DAAU,CAAA;IACV,2DAAU,CAAA;IACV,+DAAY,CAAA;IACZ,uDAAQ,CAAA;IACR,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,yDAAS,CAAA;IACT,4EAAmB,CAAA;IACnB,8DAAY,CAAA;IACZ,8DAAY,CAAA;IACZ,uEAAuE;IACvE,sDAAQ,CAAA;IACR,UAAU;IACV,4DAAW,CAAA;IACX,0DAAU,CAAA;IACV,wDAAS,CAAA;AACX,CAAC,EAnBW,gBAAgB,KAAhB,gBAAgB,QAmB3B"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export { TiffEndian } from './const/tiff.endian.js';
|
|
2
2
|
export { TiffCompressionMimeType as TiffCompression, TiffMimeType } from './const/tiff.mime.js';
|
|
3
|
-
export {
|
|
3
|
+
export type { TiffTagGeoType, TiffTagType } from './const/tiff.tag.id.js';
|
|
4
|
+
export { TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
4
5
|
export { TiffTagValueType } from './const/tiff.tag.value.js';
|
|
5
6
|
export { TiffVersion } from './const/tiff.version.js';
|
|
6
|
-
export { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
7
|
+
export type { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
7
8
|
export { getTiffTagSize } from './read/tiff.value.reader.js';
|
|
8
|
-
export { Source } from './source.js';
|
|
9
|
+
export type { Source } from './source.js';
|
|
9
10
|
export { TiffImage } from './tiff.image.js';
|
|
10
11
|
export { Tiff } from './tiff.js';
|
|
11
12
|
export { toHex } from './util/util.hex.js';
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,sBAAsB;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC"}
|
package/build/read/tiff.tag.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TiffTag } from '../const/tiff.tag.id.js';
|
|
2
|
-
import { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
|
-
import { DataViewOffset } from './data.view.offset.js';
|
|
1
|
+
import type { TiffTag } from '../const/tiff.tag.id.js';
|
|
2
|
+
import type { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
|
+
import type { DataViewOffset } from './data.view.offset.js';
|
|
4
4
|
/** Tiff tag interfaces */
|
|
5
5
|
export type Tag<T = unknown> = TagLazy<T> | TagInline<T> | TagOffset;
|
|
6
6
|
export interface TagBase {
|
|
@@ -34,7 +34,7 @@ export interface TagOffset extends TagBase {
|
|
|
34
34
|
type: 'offset';
|
|
35
35
|
/** Values of the offsets this is a sparse array unless @see {TagOffset.isLoaded} is true */
|
|
36
36
|
value: number[];
|
|
37
|
-
/**
|
|
37
|
+
/** Have all the values been read */
|
|
38
38
|
isLoaded: boolean;
|
|
39
39
|
/** Raw buffer of the values for lazy decoding, as reading 100,000s of uint64s can take quite a long time */
|
|
40
40
|
view?: DataViewOffset;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Tiff } from '../tiff.js';
|
|
2
|
-
import { DataViewOffset } from './data.view.offset.js';
|
|
3
|
-
import { Tag, TagLazy, TagOffset } from './tiff.tag.js';
|
|
1
|
+
import type { Tiff } from '../tiff.js';
|
|
2
|
+
import type { DataViewOffset } from './data.view.offset.js';
|
|
3
|
+
import type { Tag, TagLazy, TagOffset } from './tiff.tag.js';
|
|
4
4
|
/**
|
|
5
5
|
* Determine if all the data for the tiff tag is loaded in and use that to create the specific CogTiffTag
|
|
6
6
|
*
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
|
|
1
2
|
import { TiffTag, TiffTagConvertArray } from '../const/tiff.tag.id.js';
|
|
2
3
|
import { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
4
|
import { getUint, getUint64 } from '../util/bytes.js';
|
|
@@ -17,6 +18,7 @@ function readTagValue(fieldType, bytes, offset, isLittleEndian) {
|
|
|
17
18
|
case TiffTagValueType.Int16:
|
|
18
19
|
return bytes.getInt16(offset, isLittleEndian);
|
|
19
20
|
case TiffTagValueType.Uint32:
|
|
21
|
+
case TiffTagValueType.Ifd:
|
|
20
22
|
return bytes.getUint32(offset, isLittleEndian);
|
|
21
23
|
case TiffTagValueType.Int32:
|
|
22
24
|
return bytes.getInt32(offset, isLittleEndian);
|
|
@@ -147,11 +149,15 @@ export async function getValueAt(tiff, tag, index) {
|
|
|
147
149
|
const view = new DataView(bytes);
|
|
148
150
|
// Skip type conversion to array by using undefined tiff tag id
|
|
149
151
|
const value = readValue(tiff, undefined, view, 0, tag.dataType, 1);
|
|
152
|
+
if (typeof value !== 'number')
|
|
153
|
+
throw new Error('Value is not a number');
|
|
150
154
|
tag.value[index] = value;
|
|
151
155
|
return value;
|
|
152
156
|
}
|
|
153
157
|
// Skip type conversion to array by using undefined tiff tag id
|
|
154
158
|
const value = readValue(tiff, undefined, tag.view, index * dataTypeSize, tag.dataType, 1);
|
|
159
|
+
if (typeof value !== 'number')
|
|
160
|
+
throw new Error('Value is not a number');
|
|
155
161
|
tag.value[index] = value;
|
|
156
162
|
return value;
|
|
157
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiff.tag.factory.js","sourceRoot":"","sources":["../../src/read/tiff.tag.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tiff.tag.factory.js","sourceRoot":"","sources":["../../src/read/tiff.tag.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export function getTiffTagSize(fieldType) {
|
|
|
12
12
|
case TiffTagValueType.Uint32:
|
|
13
13
|
case TiffTagValueType.Int32:
|
|
14
14
|
case TiffTagValueType.Float32:
|
|
15
|
+
case TiffTagValueType.Ifd:
|
|
15
16
|
return 4;
|
|
16
17
|
case TiffTagValueType.Rational:
|
|
17
18
|
case TiffTagValueType.SignedRational:
|
|
@@ -21,7 +22,7 @@ export function getTiffTagSize(fieldType) {
|
|
|
21
22
|
case TiffTagValueType.Ifd8:
|
|
22
23
|
return 8;
|
|
23
24
|
default:
|
|
24
|
-
throw new Error(`Invalid fieldType ${fieldType}`);
|
|
25
|
+
throw new Error(`Invalid fieldType ${String(fieldType)}`);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=tiff.value.reader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiff.value.reader.js","sourceRoot":"","sources":["../../src/read/tiff.value.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,SAA2B;IACxD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI,CAAC;QAC3B,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"tiff.value.reader.js","sourceRoot":"","sources":["../../src/read/tiff.value.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,SAA2B;IACxD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI,CAAC;QAC3B,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gBAAgB,CAAC,GAAG;YACvB,OAAO,CAAC,CAAC;QACX,KAAK,gBAAgB,CAAC,QAAQ,CAAC;QAC/B,KAAK,gBAAgB,CAAC,cAAc,CAAC;QACrC,KAAK,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAC7B,KAAK,gBAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
package/build/tiff.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TiffVersion } from './const/tiff.version.js';
|
|
2
2
|
import { TiffGhostOptions } from './read/tiff.gdal.js';
|
|
3
|
-
import { TiffIfdConfig } from './read/tiff.ifd.config.js';
|
|
4
|
-
import { Source } from './source.js';
|
|
3
|
+
import type { TiffIfdConfig } from './read/tiff.ifd.config.js';
|
|
4
|
+
import type { Source } from './source.js';
|
|
5
5
|
import { TiffImage } from './tiff.image.js';
|
|
6
6
|
export declare class Tiff {
|
|
7
7
|
/** Read 16KB blocks at a time */
|
package/build/tiff.image.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TiffMimeType } from './const/tiff.mime.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import type { TiffTagGeoType, TiffTagType } from './const/tiff.tag.id.js';
|
|
3
|
+
import { Compression, TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
4
|
+
import type { Tag, TagInline, TagOffset } from './read/tiff.tag.js';
|
|
5
|
+
import type { Tiff } from './tiff.js';
|
|
6
|
+
import type { BoundingBox, Size } from './vector.js';
|
|
6
7
|
/** Invalid EPSG code */
|
|
7
8
|
export declare const InvalidProjectionCode = 32767;
|
|
8
9
|
/**
|
package/build/tiff.image.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getCompressionMimeType, TiffCompressionMimeType, TiffMimeType } from './const/tiff.mime.js';
|
|
2
|
-
import { Compression, ModelTypeCode, SubFileType, TiffTag, TiffTagGeo
|
|
2
|
+
import { Compression, ModelTypeCode, SubFileType, TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
3
3
|
import { fetchAllOffsets, fetchLazy, getValueAt } from './read/tiff.tag.factory.js';
|
|
4
4
|
import { getUint } from './util/bytes.js';
|
|
5
5
|
/** Invalid EPSG code */
|
package/build/tiff.image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiff.image.js","sourceRoot":"","sources":["../src/tiff.image.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tiff.image.js","sourceRoot":"","sources":["../src/tiff.image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGpF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,wBAAwB;AACxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAY3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;CACpB,CAAC,CAAC;AAYH,MAAM,OAAO,SAAS;IAiBpB,YAAY,IAAU,EAAE,EAAU,EAAE,IAAuB;QAhB3D;;;;;WAKG;QACH;;;;;WAAW;QACX,iDAAiD;QACjD;;;;;WAAW;QACX,sCAAsC;QACtC;;;;mBAAkB,KAAK;WAAC;QACxB,iDAAiD;QACjD;;;;mBAAuD,IAAI,GAAG,EAAE;WAAC;QACjE,qDAAqD;QACrD;;;;;WAAwB;QAGtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI;QAC3B,MAAM,YAAY,GAAuB;YACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,WAAW;YAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAA8B,GAAM;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7E,wCAAwC;QACxC,OAAO,SAAS,CAAC,KAAuB,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;OAUG;IACH,GAAG,CAA8B,GAAM;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,KAAK,CAA8B,GAAM;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,KAAuB,CAAC;QAC1E,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAA4B,CAAC;QACjG,IAAI,SAAS,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC,KAAuB,CAAC;QACjE,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAA4B,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IACzC,CAAC;IACD;;;;;;;;OAQG;IACH,QAAQ,CAAiC,GAAM;QAC7C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAsB,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,iBAAiB;QACjB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACzD,6BAA6B;YAC7B,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAoB,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;YACrC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9B,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,KAAK,KAAK,CAAC;oBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC,CAAC;;oBAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,kEAAkE;QAClE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,6FAA6F;IAC7F,IAAI,YAAY;QACd,MAAM,cAAc,GAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;QACjG,IAAI,cAAc;YAAE,OAAO,IAAI,CAAC;QAChC,wEAAwE;QACxE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,MAAM,eAAe,GAAoB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7E,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,mBAAmB,GAAoB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrF,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,uEAAuE;YACvE,OAAO,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5G,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,YAAY,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACH,IAAI,WAAW;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,IAAI,IAAI;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,qBAAqB;YAAE,OAAO,IAAI,CAAC;QAEhE,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpD,KAAK,aAAa,CAAC,OAAO;gBACxB,OAAO,IAAI,CAAC;YACd,KAAK,aAAa,CAAC,SAAS;gBAC1B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,aAAa,CAAC,UAAU;gBAC3B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,aAAa,CAAC,UAAU;gBAC3B,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,aAAa,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,UAAU,KAAK,qBAAqB;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEpF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,UAAU;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAc,CAAC;QACnE,IAAI,UAAU,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,gHAAgH;IAChH,aAAa,CAAC,CAAS,EAAE,CAAS;QAChC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvF,MAAM,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1F,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,KAAK,CAAC,CAAC;QAEpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAc,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAc,CAAC;QAEjE,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAEzF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,yGAAyG;IACzG,aAAa,CAAC,KAAkB;QAC9B,yFAAyF;QACzF,wCAAwC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAElE,2BAA2B;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9B,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,SAAiB;QAEjB,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,WAAW,SAAS,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,IAAI;YAAE,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,kCAAkC;QAC3F,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;QAE1E,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;QACzG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,CAAS,EACT,CAAS;QAET,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE5B,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAExD,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,OAAO,OAAO,SAAS,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;QACrC,IAAI,GAAG,IAAI,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,OAAO,UAAU,EAAE,CAAC,CAAC;QAEvG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,CAAS,EAAE,CAAS;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAExD,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,0DAA0D;QAC1D,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAC1D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClE,4BAA4B;YAC5B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAErD,uEAAuE;YACvE,2DAA2D;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACvG,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAc,CAAC;QACtE,IAAI,UAAU,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAU,EAAE,CAAkC,EAAE,KAAa;IAC9E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,kBAAkB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,mFAAmF;IACnF,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
|
package/build/tiff.js
CHANGED
|
@@ -119,8 +119,6 @@ export class Tiff {
|
|
|
119
119
|
const endian = bytes.getUint16(offset, this.isLittleEndian);
|
|
120
120
|
offset += 2;
|
|
121
121
|
this.isLittleEndian = endian === TiffEndian.Little;
|
|
122
|
-
if (!this.isLittleEndian)
|
|
123
|
-
throw new Error('Only little endian is supported');
|
|
124
122
|
this.version = bytes.getUint16(offset, this.isLittleEndian);
|
|
125
123
|
offset += 2;
|
|
126
124
|
let nextOffsetIfd;
|
|
@@ -142,7 +140,7 @@ export class Tiff {
|
|
|
142
140
|
offset += this.ifdConfig.pointer;
|
|
143
141
|
}
|
|
144
142
|
else {
|
|
145
|
-
throw new Error(`Only tiff supported version:${this.version}`);
|
|
143
|
+
throw new Error(`Only tiff supported version:${String(this.version)}`);
|
|
146
144
|
}
|
|
147
145
|
const ghostSize = nextOffsetIfd - offset;
|
|
148
146
|
// GDAL now stores metadata between the IFD inside a ghost storage area
|
|
@@ -159,7 +157,7 @@ export class Tiff {
|
|
|
159
157
|
lastView = new DataView(bytes);
|
|
160
158
|
lastView.sourceOffset = nextOffsetIfd;
|
|
161
159
|
}
|
|
162
|
-
nextOffsetIfd =
|
|
160
|
+
nextOffsetIfd = this.readIfd(nextOffsetIfd, lastView);
|
|
163
161
|
}
|
|
164
162
|
await Promise.all(this.images.map((i) => i.init()));
|
|
165
163
|
this.isInitialized = true;
|
|
@@ -171,7 +169,7 @@ export class Tiff {
|
|
|
171
169
|
* @param offset file offset to read the header from
|
|
172
170
|
* @param view offset that contains the bytes for the header
|
|
173
171
|
*/
|
|
174
|
-
|
|
172
|
+
readIfd(offset, view) {
|
|
175
173
|
const viewOffset = offset - view.sourceOffset;
|
|
176
174
|
const tagCount = getUint(view, viewOffset, this.ifdConfig.offset, this.isLittleEndian);
|
|
177
175
|
const tags = new Map();
|
|
@@ -198,10 +196,10 @@ Object.defineProperty(Tiff, "DefaultReadSize", {
|
|
|
198
196
|
value: 16 * 1024
|
|
199
197
|
});
|
|
200
198
|
function getMaxLength(source, offset, length) {
|
|
199
|
+
const size = source.metadata?.size;
|
|
201
200
|
// max length is unknown, roll the dice and hope the chunk exists
|
|
202
|
-
if (
|
|
201
|
+
if (size == null || size < 1)
|
|
203
202
|
return length;
|
|
204
|
-
const size = source.metadata.size;
|
|
205
203
|
// Read was going to happen past the end of the file limit it to the end of the file
|
|
206
204
|
if (offset + length > size)
|
|
207
205
|
return size - offset;
|
package/build/tiff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiff.js","sourceRoot":"","sources":["../src/tiff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tiff.js","sourceRoot":"","sources":["../src/tiff.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogeotiff/core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.1.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/blacha/cogeotiff.git",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"author": "Blayne Chard",
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"scripts": {
|
|
18
|
-
"test": "node --test"
|
|
18
|
+
"test": "node --test \"build/**/*.test.js\""
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/node": "^20.0.0"
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "38e71bede6e9b095ee49d25ed7962ba7ef44f306"
|
|
27
27
|
}
|
|
@@ -20,17 +20,23 @@ function validate(tif: Tiff): void {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
describe('CogRead', () => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// const tiff = new Tiff(source);
|
|
23
|
+
it('should read big endian', async () => {
|
|
24
|
+
const source = new TestFileSource(new URL('../../data/big.endian.tiff', import.meta.url));
|
|
25
|
+
const tiff = new Tiff(source);
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
await tiff.init();
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
assert.equal(tiff.isLittleEndian, false);
|
|
30
|
+
assert.equal(tiff.version, TiffVersion.Tiff);
|
|
31
|
+
assert.equal(tiff.images.length, 1);
|
|
32
|
+
const firstImage = tiff.images[0];
|
|
33
|
+
|
|
34
|
+
assert.equal(firstImage.compression, 'application/zstd');
|
|
35
|
+
assert.equal(firstImage.isTiled(), true);
|
|
36
|
+
|
|
37
|
+
const firstTile = await firstImage.getTile(0, 0);
|
|
38
|
+
assert.equal(firstTile?.bytes.byteLength, 511);
|
|
39
|
+
});
|
|
34
40
|
|
|
35
41
|
it('should read big tiff', async () => {
|
|
36
42
|
const source = new TestFileSource(new URL('../../data/big_cog.tiff', import.meta.url));
|
package/src/__test__/example.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export { TiffEndian } from './const/tiff.endian.js';
|
|
2
2
|
export { TiffCompressionMimeType as TiffCompression, TiffMimeType } from './const/tiff.mime.js';
|
|
3
|
-
export {
|
|
3
|
+
export type { TiffTagGeoType, TiffTagType } from './const/tiff.tag.id.js';
|
|
4
|
+
export { TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
4
5
|
export { TiffTagValueType } from './const/tiff.tag.value.js';
|
|
5
6
|
export { TiffVersion } from './const/tiff.version.js';
|
|
6
|
-
export { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
7
|
+
export type { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
7
8
|
export { getTiffTagSize } from './read/tiff.value.reader.js';
|
|
8
|
-
export { Source } from './source.js';
|
|
9
|
+
export type { Source } from './source.js';
|
|
9
10
|
export { TiffImage } from './tiff.image.js';
|
|
10
11
|
export { Tiff } from './tiff.js';
|
|
11
12
|
export { toHex } from './util/util.hex.js';
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
|
|
1
2
|
import { TiffTag, TiffTagConvertArray } from '../const/tiff.tag.id.js';
|
|
2
3
|
import { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
|
-
import { Tiff } from '../tiff.js';
|
|
4
|
+
import type { Tiff } from '../tiff.js';
|
|
4
5
|
import { getUint, getUint64 } from '../util/bytes.js';
|
|
5
|
-
import { DataViewOffset
|
|
6
|
-
import {
|
|
6
|
+
import type { DataViewOffset } from './data.view.offset.js';
|
|
7
|
+
import { hasBytes } from './data.view.offset.js';
|
|
8
|
+
import type { Tag, TagLazy, TagOffset } from './tiff.tag.js';
|
|
7
9
|
import { getTiffTagSize } from './tiff.value.reader.js';
|
|
8
10
|
|
|
9
11
|
function readTagValue(
|
|
@@ -30,6 +32,7 @@ function readTagValue(
|
|
|
30
32
|
return bytes.getInt16(offset, isLittleEndian);
|
|
31
33
|
|
|
32
34
|
case TiffTagValueType.Uint32:
|
|
35
|
+
case TiffTagValueType.Ifd:
|
|
33
36
|
return bytes.getUint32(offset, isLittleEndian);
|
|
34
37
|
|
|
35
38
|
case TiffTagValueType.Int32:
|
|
@@ -113,6 +116,7 @@ export function createTag(tiff: Tiff, view: DataViewOffset, offset: number): Tag
|
|
|
113
116
|
}
|
|
114
117
|
|
|
115
118
|
const dataOffset = getUint(view, offset + 4 + tiff.ifdConfig.pointer, tiff.ifdConfig.pointer, tiff.isLittleEndian);
|
|
119
|
+
|
|
116
120
|
switch (tagId) {
|
|
117
121
|
case TiffTag.TileOffsets:
|
|
118
122
|
case TiffTag.TileByteCounts:
|
|
@@ -166,7 +170,7 @@ export async function fetchAllOffsets(tiff: Tiff, tag: TagOffset): Promise<numbe
|
|
|
166
170
|
tag.view.sourceOffset = tag.dataOffset;
|
|
167
171
|
}
|
|
168
172
|
|
|
169
|
-
tag.value = readValue(tiff, tag.id, tag.view, 0, tag.dataType, tag.count)
|
|
173
|
+
tag.value = readValue(tiff, tag.id, tag.view, 0, tag.dataType, tag.count);
|
|
170
174
|
tag.isLoaded = true;
|
|
171
175
|
return tag.value;
|
|
172
176
|
}
|
|
@@ -188,13 +192,15 @@ export async function getValueAt(tiff: Tiff, tag: TagOffset, index: number): Pro
|
|
|
188
192
|
const bytes = await tiff.source.fetch(tag.dataOffset + index * dataTypeSize, dataTypeSize);
|
|
189
193
|
const view = new DataView(bytes);
|
|
190
194
|
// Skip type conversion to array by using undefined tiff tag id
|
|
191
|
-
const value = readValue(tiff, undefined, view, 0, tag.dataType, 1)
|
|
195
|
+
const value = readValue(tiff, undefined, view, 0, tag.dataType, 1);
|
|
196
|
+
if (typeof value !== 'number') throw new Error('Value is not a number');
|
|
192
197
|
tag.value[index] = value;
|
|
193
198
|
return value;
|
|
194
199
|
}
|
|
195
200
|
|
|
196
201
|
// Skip type conversion to array by using undefined tiff tag id
|
|
197
|
-
const value = readValue(tiff, undefined, tag.view, index * dataTypeSize, tag.dataType, 1)
|
|
202
|
+
const value = readValue(tiff, undefined, tag.view, index * dataTypeSize, tag.dataType, 1);
|
|
203
|
+
if (typeof value !== 'number') throw new Error('Value is not a number');
|
|
198
204
|
tag.value[index] = value;
|
|
199
205
|
return value;
|
|
200
206
|
}
|
package/src/read/tiff.tag.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TiffTag } from '../const/tiff.tag.id.js';
|
|
2
|
-
import { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
|
-
import { DataViewOffset } from './data.view.offset.js';
|
|
1
|
+
import type { TiffTag } from '../const/tiff.tag.id.js';
|
|
2
|
+
import type { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
3
|
+
import type { DataViewOffset } from './data.view.offset.js';
|
|
4
4
|
|
|
5
5
|
/** Tiff tag interfaces */
|
|
6
6
|
export type Tag<T = unknown> = TagLazy<T> | TagInline<T> | TagOffset;
|
|
@@ -39,7 +39,7 @@ export interface TagOffset extends TagBase {
|
|
|
39
39
|
type: 'offset';
|
|
40
40
|
/** Values of the offsets this is a sparse array unless @see {TagOffset.isLoaded} is true */
|
|
41
41
|
value: number[];
|
|
42
|
-
/**
|
|
42
|
+
/** Have all the values been read */
|
|
43
43
|
isLoaded: boolean;
|
|
44
44
|
/** Raw buffer of the values for lazy decoding, as reading 100,000s of uint64s can take quite a long time */
|
|
45
45
|
view?: DataViewOffset;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TiffTagValueType } from '../const/tiff.tag.value.js';
|
|
2
|
-
import { ByteSize } from '../util/bytes.js';
|
|
2
|
+
import type { ByteSize } from '../util/bytes.js';
|
|
3
3
|
|
|
4
4
|
export function getTiffTagSize(fieldType: TiffTagValueType): ByteSize {
|
|
5
5
|
switch (fieldType) {
|
|
@@ -14,6 +14,7 @@ export function getTiffTagSize(fieldType: TiffTagValueType): ByteSize {
|
|
|
14
14
|
case TiffTagValueType.Uint32:
|
|
15
15
|
case TiffTagValueType.Int32:
|
|
16
16
|
case TiffTagValueType.Float32:
|
|
17
|
+
case TiffTagValueType.Ifd:
|
|
17
18
|
return 4;
|
|
18
19
|
case TiffTagValueType.Rational:
|
|
19
20
|
case TiffTagValueType.SignedRational:
|
|
@@ -23,6 +24,6 @@ export function getTiffTagSize(fieldType: TiffTagValueType): ByteSize {
|
|
|
23
24
|
case TiffTagValueType.Ifd8:
|
|
24
25
|
return 8;
|
|
25
26
|
default:
|
|
26
|
-
throw new Error(`Invalid fieldType ${fieldType}`);
|
|
27
|
+
throw new Error(`Invalid fieldType ${String(fieldType)}`);
|
|
27
28
|
}
|
|
28
29
|
}
|
package/src/tiff.image.ts
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { getCompressionMimeType, TiffCompressionMimeType, TiffMimeType } from './const/tiff.mime.js';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
ModelTypeCode,
|
|
5
|
-
SubFileType,
|
|
6
|
-
TiffTag,
|
|
7
|
-
TiffTagGeo,
|
|
8
|
-
TiffTagGeoType,
|
|
9
|
-
TiffTagType,
|
|
10
|
-
} from './const/tiff.tag.id.js';
|
|
2
|
+
import type { TiffTagGeoType, TiffTagType } from './const/tiff.tag.id.js';
|
|
3
|
+
import { Compression, ModelTypeCode, SubFileType, TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
11
4
|
import { fetchAllOffsets, fetchLazy, getValueAt } from './read/tiff.tag.factory.js';
|
|
12
|
-
import { Tag, TagInline, TagOffset } from './read/tiff.tag.js';
|
|
13
|
-
import { Tiff } from './tiff.js';
|
|
5
|
+
import type { Tag, TagInline, TagOffset } from './read/tiff.tag.js';
|
|
6
|
+
import type { Tiff } from './tiff.js';
|
|
14
7
|
import { getUint } from './util/bytes.js';
|
|
15
|
-
import { BoundingBox, Size } from './vector.js';
|
|
8
|
+
import type { BoundingBox, Size } from './vector.js';
|
|
16
9
|
|
|
17
10
|
/** Invalid EPSG code */
|
|
18
11
|
export const InvalidProjectionCode = 32767;
|
|
@@ -226,7 +219,7 @@ export class TiffImage {
|
|
|
226
219
|
if (typeof tag.value === 'string') {
|
|
227
220
|
this.tagsGeo.set(key, tag.value.slice(offset, offset + count - 1).trim());
|
|
228
221
|
} else if (Array.isArray(tag.value)) {
|
|
229
|
-
if (count === 1) this.tagsGeo.set(key, tag.value[offset]);
|
|
222
|
+
if (count === 1) this.tagsGeo.set(key, tag.value[offset] as string);
|
|
230
223
|
else this.tagsGeo.set(key, tag.value.slice(offset, offset + count));
|
|
231
224
|
} else {
|
|
232
225
|
throw new Error('Failed to extract GeoTiffTags');
|
|
@@ -600,6 +593,6 @@ function getOffset(tiff: Tiff, x: TagOffset | TagInline<number[]>, index: number
|
|
|
600
593
|
}
|
|
601
594
|
// Sparse tiffs may not have the full tileWidth * tileHeight in their offset arrays
|
|
602
595
|
if (index >= x.count) return 0;
|
|
603
|
-
if (x.type === 'inline') return x.value[index]
|
|
596
|
+
if (x.type === 'inline') return x.value[index];
|
|
604
597
|
return getValueAt(tiff, x, index);
|
|
605
598
|
}
|
package/src/tiff.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { TiffEndian } from './const/tiff.endian.js';
|
|
2
|
-
import { TiffTag } from './const/tiff.tag.id.js';
|
|
2
|
+
import type { TiffTag } from './const/tiff.tag.id.js';
|
|
3
3
|
import { TiffVersion } from './const/tiff.version.js';
|
|
4
|
-
import { Tag } from './index.js';
|
|
5
|
-
import { DataViewOffset
|
|
4
|
+
import type { Tag } from './index.js';
|
|
5
|
+
import type { DataViewOffset } from './read/data.view.offset.js';
|
|
6
|
+
import { hasBytes } from './read/data.view.offset.js';
|
|
6
7
|
import { TiffGhostOptions } from './read/tiff.gdal.js';
|
|
7
|
-
import {
|
|
8
|
+
import type { TiffIfdConfig } from './read/tiff.ifd.config.js';
|
|
9
|
+
import { TagTiffBigConfig, TagTiffConfig } from './read/tiff.ifd.config.js';
|
|
8
10
|
import { createTag } from './read/tiff.tag.factory.js';
|
|
9
|
-
import { Source } from './source.js';
|
|
11
|
+
import type { Source } from './source.js';
|
|
10
12
|
import { TiffImage } from './tiff.image.js';
|
|
11
13
|
import { getUint } from './util/bytes.js';
|
|
12
14
|
import { toHex } from './util/util.hex.js';
|
|
@@ -85,11 +87,10 @@ export class Tiff {
|
|
|
85
87
|
bytes.sourceOffset = 0;
|
|
86
88
|
|
|
87
89
|
let offset = 0;
|
|
88
|
-
const endian = bytes.getUint16(offset, this.isLittleEndian);
|
|
90
|
+
const endian = bytes.getUint16(offset, this.isLittleEndian) as TiffEndian;
|
|
89
91
|
offset += 2;
|
|
90
92
|
|
|
91
93
|
this.isLittleEndian = endian === TiffEndian.Little;
|
|
92
|
-
if (!this.isLittleEndian) throw new Error('Only little endian is supported');
|
|
93
94
|
this.version = bytes.getUint16(offset, this.isLittleEndian);
|
|
94
95
|
offset += 2;
|
|
95
96
|
|
|
@@ -108,7 +109,7 @@ export class Tiff {
|
|
|
108
109
|
nextOffsetIfd = getUint(bytes, offset, this.ifdConfig.pointer, this.isLittleEndian);
|
|
109
110
|
offset += this.ifdConfig.pointer;
|
|
110
111
|
} else {
|
|
111
|
-
throw new Error(`Only tiff supported version:${this.version}`);
|
|
112
|
+
throw new Error(`Only tiff supported version:${String(this.version)}`);
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
const ghostSize = nextOffsetIfd - offset;
|
|
@@ -131,7 +132,7 @@ export class Tiff {
|
|
|
131
132
|
lastView = new DataView(bytes) as DataViewOffset;
|
|
132
133
|
lastView.sourceOffset = nextOffsetIfd;
|
|
133
134
|
}
|
|
134
|
-
nextOffsetIfd =
|
|
135
|
+
nextOffsetIfd = this.readIfd(nextOffsetIfd, lastView);
|
|
135
136
|
}
|
|
136
137
|
|
|
137
138
|
await Promise.all(this.images.map((i) => i.init()));
|
|
@@ -145,7 +146,7 @@ export class Tiff {
|
|
|
145
146
|
* @param offset file offset to read the header from
|
|
146
147
|
* @param view offset that contains the bytes for the header
|
|
147
148
|
*/
|
|
148
|
-
private
|
|
149
|
+
private readIfd(offset: number, view: DataViewOffset): number {
|
|
149
150
|
const viewOffset = offset - view.sourceOffset;
|
|
150
151
|
const tagCount = getUint(view, viewOffset, this.ifdConfig.offset, this.isLittleEndian);
|
|
151
152
|
|
|
@@ -170,9 +171,9 @@ export class Tiff {
|
|
|
170
171
|
}
|
|
171
172
|
|
|
172
173
|
function getMaxLength(source: Source, offset: number, length: number): number {
|
|
174
|
+
const size = source.metadata?.size;
|
|
173
175
|
// max length is unknown, roll the dice and hope the chunk exists
|
|
174
|
-
if (
|
|
175
|
-
const size = source.metadata.size;
|
|
176
|
+
if (size == null || size < 1) return length;
|
|
176
177
|
|
|
177
178
|
// Read was going to happen past the end of the file limit it to the end of the file
|
|
178
179
|
if (offset + length > size) return size - offset;
|