@cogeotiff/cli 8.0.2 → 8.1.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/CHANGELOG.md +14 -0
- package/build/commands/info.d.ts +2 -2
- package/build/commands/info.js +12 -14
- package/build/commands/info.js.map +1 -1
- package/build/index.d.ts +2 -2
- package/package.json +3 -3
- package/src/commands/info.ts +13 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [8.1.0](https://github.com/blacha/cogeotiff/compare/cli-v8.0.2...cli-v8.1.0) (2023-08-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **cli:** fetch all tiff tags with --fetch-tags ([#1155](https://github.com/blacha/cogeotiff/issues/1155)) ([4067751](https://github.com/blacha/cogeotiff/commit/406775184eed18ab10ae2816ecbedea9706b20f5))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @cogeotiff/core bumped from ^8.0.2 to ^8.1.0
|
|
16
|
+
|
|
3
17
|
## [8.0.2](https://github.com/blacha/cogeotiff/compare/cli-v8.0.1...cli-v8.0.2) (2023-08-05)
|
|
4
18
|
|
|
5
19
|
|
package/build/commands/info.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const commandInfo: Partial<import("cmd-ts/dist/cjs/argparser.js")
|
|
|
2
2
|
parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
3
3
|
path: URL | undefined;
|
|
4
4
|
tags: boolean;
|
|
5
|
-
|
|
5
|
+
fetchTags: boolean;
|
|
6
6
|
paths: URL[];
|
|
7
7
|
verbose: boolean;
|
|
8
8
|
extraVerbose: boolean;
|
|
@@ -10,7 +10,7 @@ export declare const commandInfo: Partial<import("cmd-ts/dist/cjs/argparser.js")
|
|
|
10
10
|
} & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & import("cmd-ts/dist/cjs/helpdoc.js").ProvidesHelp & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
|
|
11
11
|
path: URL | undefined;
|
|
12
12
|
tags: boolean;
|
|
13
|
-
|
|
13
|
+
fetchTags: boolean;
|
|
14
14
|
paths: URL[];
|
|
15
15
|
verbose: boolean;
|
|
16
16
|
extraVerbose: boolean;
|
package/build/commands/info.js
CHANGED
|
@@ -17,8 +17,8 @@ export const commandInfo = command({
|
|
|
17
17
|
args: {
|
|
18
18
|
...DefaultArgs,
|
|
19
19
|
path: option({ short: 'f', long: 'file', type: optional(Url) }),
|
|
20
|
-
tags: flag({ short: 't', long: 'tags', description: 'Dump tiff
|
|
21
|
-
|
|
20
|
+
tags: flag({ short: 't', long: 'tags', description: 'Dump tiff tags' }),
|
|
21
|
+
fetchTags: flag({ long: 'fetch-tags', description: 'Fetch extra tiff tag information' }),
|
|
22
22
|
paths: restPositionals({ type: Url, description: 'Files to process' }),
|
|
23
23
|
},
|
|
24
24
|
async handler(args) {
|
|
@@ -76,14 +76,8 @@ export const commandInfo = command({
|
|
|
76
76
|
if (args.tags) {
|
|
77
77
|
for (const img of tiff.images) {
|
|
78
78
|
const tiffTags = [...img.tags.values()];
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
for (const tag of tiffTags) {
|
|
82
|
-
if (tag.type !== 'offset')
|
|
83
|
-
continue;
|
|
84
|
-
// for (let i = 0; i < Math.min(tag.count, 100); i++) tag.getValueAt(i);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
79
|
+
if (args.fetchTags)
|
|
80
|
+
await Promise.all(tiffTags.map((t) => img.fetch(t.id)));
|
|
87
81
|
result.push({
|
|
88
82
|
title: `Image: ${img.id} - Tiff tags`,
|
|
89
83
|
keys: tiffTags.map(formatTag),
|
|
@@ -165,8 +159,14 @@ function formatTag(tag) {
|
|
|
165
159
|
const tagName = TiffTag[tag.id];
|
|
166
160
|
const tagDebug = `(${TiffTagValueType[tag.dataType]}${tag.count > 1 ? ' x' + tag.count : ''}`;
|
|
167
161
|
const key = `${c.dim(toHex(tag.id)).padEnd(7, ' ')} ${String(tagName)} ${c.dim(tagDebug)})`.padEnd(50, ' ');
|
|
168
|
-
|
|
169
|
-
|
|
162
|
+
// Array of values that is not a string!
|
|
163
|
+
if (tag.count > 1 && tag.dataType !== TiffTagValueType.Ascii) {
|
|
164
|
+
if (tag.value == null || tag.isLoaded === false) {
|
|
165
|
+
return { key, value: c.dim('Tag not Loaded, use --fetch-tags to force load') };
|
|
166
|
+
}
|
|
167
|
+
const val = [...tag.value]; // Ensure the value is not a TypedArray
|
|
168
|
+
return { key, value: val.length > 25 ? val.slice(0, 25).join(', ') + '...' : val.join(', ') };
|
|
169
|
+
}
|
|
170
170
|
let tagString = JSON.stringify(tag.value) ?? c.dim('null');
|
|
171
171
|
if (tagString.length > 256)
|
|
172
172
|
tagString = tagString.slice(0, 250) + '...';
|
|
@@ -175,8 +175,6 @@ function formatTag(tag) {
|
|
|
175
175
|
function formatGeoTag(tagId, value) {
|
|
176
176
|
const tagName = TiffTagGeo[tagId];
|
|
177
177
|
const key = `${c.dim(toHex(tagId)).padEnd(7, ' ')} ${String(tagName).padEnd(30)}`;
|
|
178
|
-
if (Array.isArray(value))
|
|
179
|
-
return { key, value: JSON.stringify(value.slice(0, 250)) };
|
|
180
178
|
let tagString = JSON.stringify(value) ?? c.dim('null');
|
|
181
179
|
if (tagString.length > 256)
|
|
182
180
|
tagString = tagString.slice(0, 250) + '...';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,OAAO,EAAO,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const cmd: Partial<import("cmd-ts/dist/cjs/argparser.js").Registe
|
|
|
4
4
|
args: {
|
|
5
5
|
path: URL | undefined;
|
|
6
6
|
tags: boolean;
|
|
7
|
-
|
|
7
|
+
fetchTags: boolean;
|
|
8
8
|
paths: URL[];
|
|
9
9
|
verbose: boolean;
|
|
10
10
|
extraVerbose: boolean;
|
|
@@ -25,7 +25,7 @@ export declare const cmd: Partial<import("cmd-ts/dist/cjs/argparser.js").Registe
|
|
|
25
25
|
args: {
|
|
26
26
|
path: URL | undefined;
|
|
27
27
|
tags: boolean;
|
|
28
|
-
|
|
28
|
+
fetchTags: boolean;
|
|
29
29
|
paths: URL[];
|
|
30
30
|
verbose: boolean;
|
|
31
31
|
extraVerbose: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogeotiff/cli",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/blacha/cogeotiff.git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@chunkd/fs-aws": "^11.0.2",
|
|
22
22
|
"@chunkd/middleware": "^11.0.0",
|
|
23
23
|
"@chunkd/source": "^11.0.0",
|
|
24
|
-
"@cogeotiff/core": "^8.0
|
|
24
|
+
"@cogeotiff/core": "^8.1.0",
|
|
25
25
|
"@linzjs/tracing": "^1.1.1",
|
|
26
26
|
"ansi-colors": "^4.1.1",
|
|
27
27
|
"cmd-ts": "^0.13.0",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "c19acc74a71f376ce52fea5270a247b723219baf"
|
|
39
39
|
}
|
package/src/commands/info.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fsa } from '@chunkd/fs';
|
|
2
|
-
import { CogTiff, Tag, TiffTagGeo, TiffTag, TiffTagValueType, TiffVersion, toHex } from '@cogeotiff/core';
|
|
2
|
+
import { CogTiff, Tag, TiffTagGeo, TiffTag, TiffTagValueType, TiffVersion, toHex, TagOffset } from '@cogeotiff/core';
|
|
3
3
|
import { CogTiffImage } from '@cogeotiff/core/src/cog.tiff.image.js';
|
|
4
4
|
import c from 'ansi-colors';
|
|
5
5
|
import { command, flag, option, optional, restPositionals } from 'cmd-ts';
|
|
@@ -20,8 +20,8 @@ export const commandInfo = command({
|
|
|
20
20
|
args: {
|
|
21
21
|
...DefaultArgs,
|
|
22
22
|
path: option({ short: 'f', long: 'file', type: optional(Url) }),
|
|
23
|
-
tags: flag({ short: 't', long: 'tags', description: 'Dump tiff
|
|
24
|
-
|
|
23
|
+
tags: flag({ short: 't', long: 'tags', description: 'Dump tiff tags' }),
|
|
24
|
+
fetchTags: flag({ long: 'fetch-tags', description: 'Fetch extra tiff tag information' }),
|
|
25
25
|
paths: restPositionals({ type: Url, description: 'Files to process' }),
|
|
26
26
|
},
|
|
27
27
|
async handler(args) {
|
|
@@ -86,13 +86,8 @@ export const commandInfo = command({
|
|
|
86
86
|
if (args.tags) {
|
|
87
87
|
for (const img of tiff.images) {
|
|
88
88
|
const tiffTags = [...img.tags.values()];
|
|
89
|
-
|
|
90
|
-
if (args.
|
|
91
|
-
for (const tag of tiffTags) {
|
|
92
|
-
if (tag.type !== 'offset') continue;
|
|
93
|
-
// for (let i = 0; i < Math.min(tag.count, 100); i++) tag.getValueAt(i);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
89
|
+
|
|
90
|
+
if (args.fetchTags) await Promise.all(tiffTags.map((t) => img.fetch(t.id)));
|
|
96
91
|
|
|
97
92
|
result.push({
|
|
98
93
|
title: `Image: ${img.id} - Tiff tags`,
|
|
@@ -180,7 +175,14 @@ function formatTag(tag: Tag): { key: string; value: string } {
|
|
|
180
175
|
const tagDebug = `(${TiffTagValueType[tag.dataType]}${tag.count > 1 ? ' x' + tag.count : ''}`;
|
|
181
176
|
const key = `${c.dim(toHex(tag.id)).padEnd(7, ' ')} ${String(tagName)} ${c.dim(tagDebug)})`.padEnd(50, ' ');
|
|
182
177
|
|
|
183
|
-
|
|
178
|
+
// Array of values that is not a string!
|
|
179
|
+
if (tag.count > 1 && tag.dataType !== TiffTagValueType.Ascii) {
|
|
180
|
+
if (tag.value == null || (tag as TagOffset).isLoaded === false) {
|
|
181
|
+
return { key, value: c.dim('Tag not Loaded, use --fetch-tags to force load') };
|
|
182
|
+
}
|
|
183
|
+
const val = [...(tag.value as number[])]; // Ensure the value is not a TypedArray
|
|
184
|
+
return { key, value: val.length > 25 ? val.slice(0, 25).join(', ') + '...' : val.join(', ') };
|
|
185
|
+
}
|
|
184
186
|
|
|
185
187
|
let tagString = JSON.stringify(tag.value) ?? c.dim('null');
|
|
186
188
|
if (tagString.length > 256) tagString = tagString.slice(0, 250) + '...';
|
|
@@ -191,8 +193,6 @@ function formatGeoTag(tagId: TiffTagGeo, value: string | number): { key: string;
|
|
|
191
193
|
const tagName = TiffTagGeo[tagId];
|
|
192
194
|
const key = `${c.dim(toHex(tagId)).padEnd(7, ' ')} ${String(tagName).padEnd(30)}`;
|
|
193
195
|
|
|
194
|
-
if (Array.isArray(value)) return { key, value: JSON.stringify(value.slice(0, 250)) };
|
|
195
|
-
|
|
196
196
|
let tagString = JSON.stringify(value) ?? c.dim('null');
|
|
197
197
|
if (tagString.length > 256) tagString = tagString.slice(0, 250) + '...';
|
|
198
198
|
return { key, value: tagString };
|