exiftool-vendored 18.6.0 → 20.0.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 +22 -0
- package/LICENSE +1 -1
- package/README.md +6 -5
- package/dist/BinaryExtractionTask.js +3 -1
- package/dist/BinaryExtractionTask.js.map +1 -1
- package/dist/BinaryToBufferTask.js +8 -1
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/DateTime.d.ts +1 -1
- package/dist/DateTime.js +1 -1
- package/dist/DateTime.js.map +1 -1
- package/dist/ExifDate.js +9 -9
- package/dist/ExifDate.js.map +1 -1
- package/dist/ExifDateTime.d.ts +16 -4
- package/dist/ExifDateTime.js +38 -26
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTime.js +7 -7
- package/dist/ExifTime.js.map +1 -1
- package/dist/ExifTool.d.ts +12 -133
- package/dist/ExifTool.js +6 -11
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +119 -0
- package/dist/ExifToolOptions.js +3 -0
- package/dist/ExifToolOptions.js.map +1 -0
- package/dist/ExifToolTask.js +3 -3
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/FilenameCharsetArgs.d.ts +16 -0
- package/dist/FilenameCharsetArgs.js +23 -0
- package/dist/FilenameCharsetArgs.js.map +1 -0
- package/dist/IsWin32.d.ts +1 -0
- package/dist/IsWin32.js +30 -0
- package/dist/IsWin32.js.map +1 -0
- package/dist/Maybe.d.ts +2 -2
- package/dist/MaybeReadonly.d.ts +1 -1
- package/dist/Object.d.ts +1 -1
- package/dist/Omit.d.ts +1 -0
- package/dist/Omit.js +3 -0
- package/dist/Omit.js.map +1 -0
- package/dist/PreviewTag.d.ts +1 -1
- package/dist/ReadRawTask.js +8 -7
- package/dist/ReadRawTask.js.map +1 -1
- package/dist/ReadTask.d.ts +2 -2
- package/dist/ReadTask.js +7 -2
- package/dist/ReadTask.js.map +1 -1
- package/dist/RewriteAllTagsTask.js +3 -1
- package/dist/RewriteAllTagsTask.js.map +1 -1
- package/dist/Struct.d.ts +1 -1
- package/dist/Tags.d.ts +162 -158
- package/dist/WriteTask.d.ts +1 -1
- package/dist/WriteTask.js +13 -17
- package/dist/WriteTask.js.map +1 -1
- package/package.json +31 -22
package/dist/ExifTool.js
CHANGED
|
@@ -39,6 +39,7 @@ const BinaryToBufferTask_1 = require("./BinaryToBufferTask");
|
|
|
39
39
|
const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
|
|
40
40
|
const GeoTz_1 = require("./GeoTz");
|
|
41
41
|
const IgnorableError_1 = require("./IgnorableError");
|
|
42
|
+
const IsWin32_1 = require("./IsWin32");
|
|
42
43
|
const Lazy_1 = require("./Lazy");
|
|
43
44
|
const ReadRawTask_1 = require("./ReadRawTask");
|
|
44
45
|
const ReadTask_1 = require("./ReadTask");
|
|
@@ -66,9 +67,8 @@ Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, ge
|
|
|
66
67
|
Object.defineProperty(exports, "UnsetZone", { enumerable: true, get: function () { return Timezones_1.UnsetZone; } });
|
|
67
68
|
Object.defineProperty(exports, "UnsetZoneName", { enumerable: true, get: function () { return Timezones_1.UnsetZoneName; } });
|
|
68
69
|
Object.defineProperty(exports, "UnsetZoneOffsetMinutes", { enumerable: true, get: function () { return Timezones_1.UnsetZoneOffsetMinutes; } });
|
|
69
|
-
const isWin32 = (0, Lazy_1.lazy)(() => _os.platform() === "win32");
|
|
70
70
|
function findExiftool() {
|
|
71
|
-
const path = require(`exiftool-vendored.${isWin32() ? "exe" : "pl"}`);
|
|
71
|
+
const path = require(`exiftool-vendored.${(0, IsWin32_1.isWin32)() ? "exe" : "pl"}`);
|
|
72
72
|
// This s/app.asar/app.asar.unpacked/ path switch adds support for Electron
|
|
73
73
|
// apps that are ASAR-packed.
|
|
74
74
|
// Note that we can't check for electron because child processes that are
|
|
@@ -92,7 +92,7 @@ function findExiftool() {
|
|
|
92
92
|
}
|
|
93
93
|
exports.DefaultExifToolPath = findExiftool();
|
|
94
94
|
exports.DefaultExiftoolArgs = ["-stay_open", "True", "-@", "-"];
|
|
95
|
-
const _ignoreShebang = (0, Lazy_1.lazy)(() => !isWin32() && !_fs.existsSync("/usr/bin/perl"));
|
|
95
|
+
const _ignoreShebang = (0, Lazy_1.lazy)(() => !(0, IsWin32_1.isWin32)() && !_fs.existsSync("/usr/bin/perl"));
|
|
96
96
|
exports.DefaultMaxProcs = Math.max(1, Math.floor(_os.cpus().length / 4));
|
|
97
97
|
/**
|
|
98
98
|
* Default values for `ExifToolOptions`, except for `processFactory` (which is
|
|
@@ -216,19 +216,14 @@ class ExifTool {
|
|
|
216
216
|
* worse if you don't include `-fast` or `-fast2` (as the most expensive bit
|
|
217
217
|
* is the perl interpreter and scanning the file on disk).
|
|
218
218
|
*
|
|
219
|
-
* @param args
|
|
220
|
-
* `-charset` or `filename=utf8` are missing, and you have non-ascii tag
|
|
221
|
-
* values, you're going to have a bad day. The resolved pathname will be
|
|
222
|
-
* appended to the args array for you, and if `-json` is missing from `args`,
|
|
223
|
-
* that will be prepended, as it's a prerequisite to parsing the result.
|
|
219
|
+
* @param args any additional arguments other than the file path. Note that "-json", and the Windows unicode filename handler flags, "-charset filename=utf8", will be added automatically.
|
|
224
220
|
*
|
|
225
221
|
* @return Note that the return value will be similar to `Tags`, but with no
|
|
226
|
-
* date, time, or other rich type parsing that you get from `.read()
|
|
227
|
-
* return value is wholly untyped.
|
|
222
|
+
* date, time, or other rich type parsing that you get from `.read()`. The field values will be `string | number | string[]`.
|
|
228
223
|
*
|
|
229
224
|
* @see https://github.com/photostructure/exiftool-vendored.js/issues/44
|
|
230
225
|
*/
|
|
231
|
-
readRaw(file, args) {
|
|
226
|
+
readRaw(file, args = []) {
|
|
232
227
|
return this.enqueueTask(() => ReadRawTask_1.ReadRawTask.for(file, args));
|
|
233
228
|
}
|
|
234
229
|
/**
|
package/dist/ExifTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,mDAAoC;AACpC,wCAAyB;AACzB,wCAAyB;AACzB,4CAA6B;AAC7B,sDAA6B;AAE7B,6CAA4C;AAC5C,iEAA6D;AAC7D,6DAAyD;AACzD,2DAAuD;
|
|
1
|
+
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as bc from "batch-cluster";
|
|
3
|
+
import { geoTz } from "./GeoTz";
|
|
4
|
+
import { IgnorableError } from "./IgnorableError";
|
|
5
|
+
export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcessOptions, bc.ChildProcessFactory {
|
|
6
|
+
/**
|
|
7
|
+
* The maximum number of ExifTool child processes to spawn when load merits.
|
|
8
|
+
*
|
|
9
|
+
* Defaults to 1/4 the number of CPUs, minimally 1.
|
|
10
|
+
*/
|
|
11
|
+
maxProcs: number;
|
|
12
|
+
/**
|
|
13
|
+
* The maximum number of requests a given ExifTool process will service before
|
|
14
|
+
* being retired.
|
|
15
|
+
*
|
|
16
|
+
* Defaults to 500, to balance performance with memory usage.
|
|
17
|
+
*/
|
|
18
|
+
maxTasksPerProcess: number;
|
|
19
|
+
/**
|
|
20
|
+
* Spawning new ExifTool processes must not take longer than
|
|
21
|
+
* `spawnTimeoutMillis` millis before it times out and a new attempt is made.
|
|
22
|
+
* Be pessimistic here--windows can regularly take several seconds to spin up
|
|
23
|
+
* a process, thanks to antivirus shenanigans. This can't be set to a value
|
|
24
|
+
* less than 100ms.
|
|
25
|
+
*
|
|
26
|
+
* Defaults to 30 seconds, to accommodate slow Windows machines.
|
|
27
|
+
*/
|
|
28
|
+
spawnTimeoutMillis: number;
|
|
29
|
+
/**
|
|
30
|
+
* If requests to ExifTool take longer than this,
|
|
31
|
+
* presume the underlying process is dead and we should restart the task. This
|
|
32
|
+
* can't be set to a value less than 10ms, and really should be set to at more
|
|
33
|
+
* than a second unless `taskRetries` is sufficiently large or all writes will
|
|
34
|
+
* be to a fast local disk. Defaults to 10 seconds.
|
|
35
|
+
*/
|
|
36
|
+
taskTimeoutMillis: number;
|
|
37
|
+
/**
|
|
38
|
+
* An interval timer is scheduled to do periodic maintenance of underlying
|
|
39
|
+
* child processes with this periodicity.
|
|
40
|
+
*
|
|
41
|
+
* Defaults to 2 seconds.
|
|
42
|
+
*/
|
|
43
|
+
onIdleIntervalMillis: number;
|
|
44
|
+
/**
|
|
45
|
+
* The number of times a task can error or timeout and be retried.
|
|
46
|
+
*
|
|
47
|
+
* Defaults to 1 (every task gets 2 chances).
|
|
48
|
+
*/
|
|
49
|
+
taskRetries: number;
|
|
50
|
+
/**
|
|
51
|
+
* Allows for non-standard paths to ExifTool. Defaults to the perl or windows
|
|
52
|
+
* binaries provided by `exiftool-vendored.pl` or `exiftool-vendored.exe`.
|
|
53
|
+
*/
|
|
54
|
+
exiftoolPath: string;
|
|
55
|
+
/**
|
|
56
|
+
* Args passed to exiftool on launch.
|
|
57
|
+
*/
|
|
58
|
+
exiftoolArgs: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Environment variables passed to ExifTool (besides `EXIFTOOL_HOME`)
|
|
61
|
+
*/
|
|
62
|
+
exiftoolEnv: NodeJS.ProcessEnv;
|
|
63
|
+
/**
|
|
64
|
+
* Tag names (which can have '*' glob matchers) which you want numeric values,
|
|
65
|
+
* rather than ExifTool's "Print Conversion."
|
|
66
|
+
*
|
|
67
|
+
* If the tag value is only for human consumption, you may want to leave this
|
|
68
|
+
* blank. The default is `["*Duration*"]`, but you may want to include
|
|
69
|
+
* "Orientation" as well.
|
|
70
|
+
*/
|
|
71
|
+
numericTags: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Video file dates are assumed to be in UTC, rather than using timezone
|
|
74
|
+
* inference used in images. To disable this default, set this to false.
|
|
75
|
+
*
|
|
76
|
+
* @see <https://github.com/photostructure/exiftool-vendored.js/issues/113>
|
|
77
|
+
*/
|
|
78
|
+
defaultVideosToUTC: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* `ExifTool` has a shebang line that assumes a valid `perl` is installed at
|
|
81
|
+
* `/usr/bin/perl`.
|
|
82
|
+
*
|
|
83
|
+
* Some environments may not include a valid `/usr/bin/perl` (like AWS
|
|
84
|
+
* Lambda), but `perl` may be available in your `PATH` some place else (like
|
|
85
|
+
* `/opt/bin/perl`), if you pull in a perl layer.
|
|
86
|
+
*
|
|
87
|
+
* This will default to `true` in those environments as a workaround in these
|
|
88
|
+
* situations. Note also that `perl` will be spawned in a sub-shell.
|
|
89
|
+
*/
|
|
90
|
+
ignoreShebang: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Override the default geo-to-timezone lookup service.
|
|
93
|
+
*
|
|
94
|
+
* This defaults to `@photostructure/tz-lookup`, but if you have the
|
|
95
|
+
* resources, consider using `geo-tz` for more accurate results.
|
|
96
|
+
*
|
|
97
|
+
* Here's a snippet of how to use `geo-tz` instead of `tz-lookup`:
|
|
98
|
+
*
|
|
99
|
+
```js
|
|
100
|
+
const geotz = require("geo-tz")
|
|
101
|
+
const { ExifTool } = require("exiftool-vendored")
|
|
102
|
+
const exiftool = new ExifTool({ geoTz: (lat, lon) => geotz.find(lat, lon)[0] })
|
|
103
|
+
```
|
|
104
|
+
*
|
|
105
|
+
* @see https://github.com/photostructure/tz-lookup
|
|
106
|
+
* @see https://github.com/evansiroky/node-geo-tz/
|
|
107
|
+
*/
|
|
108
|
+
geoTz: typeof geoTz;
|
|
109
|
+
/**
|
|
110
|
+
* Predicate for error handling.
|
|
111
|
+
*
|
|
112
|
+
* ExifTool will emit error and warning messages for a variety of reasons.
|
|
113
|
+
*
|
|
114
|
+
* The default implementation ignores all errors that begin with "Warning:"
|
|
115
|
+
*
|
|
116
|
+
* @return true if the error should be ignored
|
|
117
|
+
*/
|
|
118
|
+
isIgnorableError: IgnorableError;
|
|
119
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExifToolOptions.js","sourceRoot":"","sources":["../src/ExifToolOptions.ts"],"names":[],"mappings":""}
|
package/dist/ExifToolTask.js
CHANGED
|
@@ -28,6 +28,9 @@ const bc = __importStar(require("batch-cluster"));
|
|
|
28
28
|
const IgnorableError_1 = require("./IgnorableError");
|
|
29
29
|
const String_1 = require("./String");
|
|
30
30
|
class ExifToolTask extends bc.Task {
|
|
31
|
+
static renderCommand(args) {
|
|
32
|
+
return [...args, "-ignoreMinorErrors", "-execute", ""].join("\n");
|
|
33
|
+
}
|
|
31
34
|
constructor(args) {
|
|
32
35
|
super(ExifToolTask.renderCommand(args), (stdout, stderr, passed) => {
|
|
33
36
|
let error;
|
|
@@ -44,9 +47,6 @@ class ExifToolTask extends bc.Task {
|
|
|
44
47
|
this.isIgnorableError = IgnorableError_1.isIgnorableWarning;
|
|
45
48
|
this.errors = [];
|
|
46
49
|
}
|
|
47
|
-
static renderCommand(args) {
|
|
48
|
-
return [...args, "-ignoreMinorErrors", "-execute", ""].join("\n");
|
|
49
|
-
}
|
|
50
50
|
addError(err) {
|
|
51
51
|
this.errors.push(err);
|
|
52
52
|
}
|
package/dist/ExifToolTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,qDAAqD;AAErD,qCAAmC;AAEnC,MAAsB,YAAgB,SAAQ,EAAE,CAAC,IAAO;
|
|
1
|
+
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,qDAAqD;AAErD,qCAAmC;AAEnC,MAAsB,YAAgB,SAAQ,EAAE,CAAC,IAAO;IAGtD,MAAM,CAAC,aAAa,CAAC,IAAc;QACjC,OAAO,CAAC,GAAG,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;IAID,YAAqB,IAAc;QACjC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACjE,IAAI,KAAmB,CAAA;YACvB,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;gBACvE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACxB,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;iBAC1B;aACF;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAXiB,SAAI,GAAJ,IAAI,CAAU;QARnC,qBAAgB,GAAG,mCAAkB,CAAA;QAM5B,WAAM,GAAa,EAAE,CAAA;IAc9B,CAAC;IAID,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;CACF;AA5BD,oCA4BC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tells ExifTool to handle UTF-8-encoded filenames on Windows.
|
|
3
|
+
*
|
|
4
|
+
* Without this setting, non-latin filename characters on Windows won't be
|
|
5
|
+
* encoded correctly, and the file will be erroneously reported as not
|
|
6
|
+
* existing.
|
|
7
|
+
*
|
|
8
|
+
* This setting isn't necessary on non-Windows platforms, nor on Windows
|
|
9
|
+
* machines that have been configured to use UTF-8, but it doesn't hurt
|
|
10
|
+
* anything to include this option.
|
|
11
|
+
*
|
|
12
|
+
* @see https://github.com/photostructure/exiftool-vendored.js/issues/124
|
|
13
|
+
* @see https://exiftool.org/exiftool_pod.html#WINDOWS-UNICODE-FILE-NAMES
|
|
14
|
+
* @see https://exiftool.org/faq.html#Q10
|
|
15
|
+
*/
|
|
16
|
+
export declare const Utf8FilenameCharsetArgs: string[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Utf8FilenameCharsetArgs = void 0;
|
|
4
|
+
const IsWin32_1 = require("./IsWin32");
|
|
5
|
+
/**
|
|
6
|
+
* Tells ExifTool to handle UTF-8-encoded filenames on Windows.
|
|
7
|
+
*
|
|
8
|
+
* Without this setting, non-latin filename characters on Windows won't be
|
|
9
|
+
* encoded correctly, and the file will be erroneously reported as not
|
|
10
|
+
* existing.
|
|
11
|
+
*
|
|
12
|
+
* This setting isn't necessary on non-Windows platforms, nor on Windows
|
|
13
|
+
* machines that have been configured to use UTF-8, but it doesn't hurt
|
|
14
|
+
* anything to include this option.
|
|
15
|
+
*
|
|
16
|
+
* @see https://github.com/photostructure/exiftool-vendored.js/issues/124
|
|
17
|
+
* @see https://exiftool.org/exiftool_pod.html#WINDOWS-UNICODE-FILE-NAMES
|
|
18
|
+
* @see https://exiftool.org/faq.html#Q10
|
|
19
|
+
*/
|
|
20
|
+
exports.Utf8FilenameCharsetArgs = (0, IsWin32_1.isWin32)()
|
|
21
|
+
? ["-charset", "filename=utf8"]
|
|
22
|
+
: [];
|
|
23
|
+
//# sourceMappingURL=FilenameCharsetArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilenameCharsetArgs.js","sourceRoot":"","sources":["../src/FilenameCharsetArgs.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC;;;;;;;;;;;;;;GAcG;AACU,QAAA,uBAAuB,GAAG,IAAA,iBAAO,GAAE;IAC9C,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/B,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isWin32: () => boolean;
|
package/dist/IsWin32.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.isWin32 = void 0;
|
|
27
|
+
const _os = __importStar(require("os"));
|
|
28
|
+
const Lazy_1 = require("./Lazy");
|
|
29
|
+
exports.isWin32 = (0, Lazy_1.lazy)(() => _os.platform() === "win32");
|
|
30
|
+
//# sourceMappingURL=IsWin32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsWin32.js","sourceRoot":"","sources":["../src/IsWin32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyB;AACzB,iCAA6B;AAEhB,QAAA,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAA"}
|
package/dist/Maybe.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type Maybe<T> = T | undefined;
|
|
2
|
+
export type MaybeNull<T> = Maybe<T> | null;
|
|
3
3
|
export declare function map<T, U>(maybeT: MaybeNull<T>, f: (t: T) => U): Maybe<U>;
|
|
4
4
|
export declare function first<T, U>(iter: Iterable<Maybe<T>>, f: (t: T) => Maybe<U>): Maybe<U>;
|
|
5
5
|
export declare function firstDefinedThunk<T>(iter: Iterable<() => Maybe<T>>): Maybe<T>;
|
package/dist/MaybeReadonly.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type MaybeReadonly<T> = T | Readonly<T>;
|
package/dist/Object.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Maybe } from "./Maybe";
|
|
|
2
2
|
export declare function keys<T extends object, K extends string & keyof T>(o: T): K[];
|
|
3
3
|
export declare function isFunction(obj: any): obj is () => any;
|
|
4
4
|
export declare function fromEntries(arr: Maybe<[Maybe<string>, any]>[], obj?: any): any;
|
|
5
|
-
export
|
|
5
|
+
export type Unpick<T, U> = {
|
|
6
6
|
[P in keyof T]: P extends U ? never : T[P];
|
|
7
7
|
};
|
|
8
8
|
export declare function omit<T extends Record<string, any>, S extends string>(t: T, ...keysToOmit: S[]): Unpick<T, S>;
|
package/dist/Omit.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
|
package/dist/Omit.js
ADDED
package/dist/Omit.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Omit.js","sourceRoot":"","sources":["../src/Omit.ts"],"names":[],"mappings":""}
|
package/dist/PreviewTag.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type PreviewTag = "ThumbnailImage" | "PreviewImage" | "JpgFromRaw" | string;
|
package/dist/ReadRawTask.js
CHANGED
|
@@ -27,20 +27,21 @@ exports.ReadRawTask = void 0;
|
|
|
27
27
|
const batch_cluster_1 = require("batch-cluster");
|
|
28
28
|
const _path = __importStar(require("path"));
|
|
29
29
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
30
|
+
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
30
31
|
class ReadRawTask extends ExifToolTask_1.ExifToolTask {
|
|
31
|
-
constructor(sourceFile, args) {
|
|
32
|
-
super(args);
|
|
33
|
-
this.sourceFile = sourceFile;
|
|
34
|
-
this.args = args;
|
|
35
|
-
}
|
|
36
32
|
static for(filename, exiftoolArgs = []) {
|
|
37
|
-
const args = [...exiftoolArgs];
|
|
33
|
+
const args = [...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs, ...exiftoolArgs];
|
|
38
34
|
if (!args.includes("-json"))
|
|
39
|
-
args.
|
|
35
|
+
args.push("-json");
|
|
40
36
|
const sourceFile = _path.resolve(filename);
|
|
41
37
|
args.push(sourceFile);
|
|
42
38
|
return new ReadRawTask(sourceFile, args);
|
|
43
39
|
}
|
|
40
|
+
constructor(sourceFile, args) {
|
|
41
|
+
super(args);
|
|
42
|
+
this.sourceFile = sourceFile;
|
|
43
|
+
this.args = args;
|
|
44
|
+
}
|
|
44
45
|
toString() {
|
|
45
46
|
return "ReadRawTask" + this.sourceFile + ")";
|
|
46
47
|
}
|
package/dist/ReadRawTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadRawTask.js","sourceRoot":"","sources":["../src/ReadRawTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,4CAA6B;AAC7B,iDAA6C;
|
|
1
|
+
{"version":3,"file":"ReadRawTask.js","sourceRoot":"","sources":["../src/ReadRawTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,4CAA6B;AAC7B,iDAA6C;AAC7C,+DAA+D;AAG/D,MAAa,WAAY,SAAQ,2BAAkB;IACjD,MAAM,CAAC,GAAG,CAAC,QAAgB,EAAE,eAAyB,EAAE;QACtD,MAAM,IAAI,GAAa,CAAC,GAAG,6CAAuB,EAAE,GAAG,YAAY,CAAC,CAAA;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrB,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,YACW,UAAkB,EACT,IAAc;QAEhC,KAAK,CAAC,IAAI,CAAC,CAAA;QAHF,eAAU,GAAV,UAAU,CAAQ;QACT,SAAI,GAAJ,IAAI,CAAU;IAGlC,CAAC;IAEQ,QAAQ;QACf,OAAO,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC9C,CAAC;IAES,KAAK,CAAC,IAAY,EAAE,GAAW;QACvC,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;SAC3B;QAAC,OAAO,SAAS,EAAE;YAClB,IAAA,sBAAM,GAAE,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YAChE,MAAM,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,SAAS,CAAA;SACvB;IACH,CAAC;CACF;AA5BD,kCA4BC"}
|
package/dist/ReadTask.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExifToolOptions } from "./
|
|
1
|
+
import { ExifToolOptions } from "./ExifToolOptions";
|
|
2
2
|
import { ExifToolTask } from "./ExifToolTask";
|
|
3
3
|
import { Tags } from "./Tags";
|
|
4
4
|
export declare function nullish(s: string | undefined): s is undefined;
|
|
5
|
-
export
|
|
5
|
+
export type ReadTaskOptions = {
|
|
6
6
|
optionalArgs: string[];
|
|
7
7
|
} & Pick<ExifToolOptions, "numericTags" | "defaultVideosToUTC" | "geoTz">;
|
|
8
8
|
export declare class ReadTask extends ExifToolTask<Tags> {
|
package/dist/ReadTask.js
CHANGED
|
@@ -37,6 +37,7 @@ const ExifDate_1 = require("./ExifDate");
|
|
|
37
37
|
const ExifDateTime_1 = require("./ExifDateTime");
|
|
38
38
|
const ExifTime_1 = require("./ExifTime");
|
|
39
39
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
40
|
+
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
40
41
|
const FirstDateTime_1 = require("./FirstDateTime");
|
|
41
42
|
const Lazy_1 = require("./Lazy");
|
|
42
43
|
const Maybe_1 = require("./Maybe");
|
|
@@ -99,6 +100,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
99
100
|
var _a, _b;
|
|
100
101
|
const sourceFile = _path.resolve(filename);
|
|
101
102
|
const args = [
|
|
103
|
+
...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs,
|
|
102
104
|
"-json",
|
|
103
105
|
"-struct",
|
|
104
106
|
...((_a = options.optionalArgs) !== null && _a !== void 0 ? _a : []),
|
|
@@ -107,7 +109,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
107
109
|
// in wins)
|
|
108
110
|
args.push(...((_b = options.numericTags) !== null && _b !== void 0 ? _b : []).map((ea) => "-" + ea + "#"));
|
|
109
111
|
// TODO: Do you need -xmp:all, -all, or -all:all?
|
|
110
|
-
args.push("-all",
|
|
112
|
+
args.push("-all", sourceFile);
|
|
111
113
|
// console.log("new ReadTask()", { sourceFile, args })
|
|
112
114
|
return new ReadTask(sourceFile, args, options);
|
|
113
115
|
}
|
|
@@ -266,13 +268,16 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
|
|
|
266
268
|
const tz = isUtcTagName(tagName) ? "UTC" : this.tz;
|
|
267
269
|
if (tagName === "When" ||
|
|
268
270
|
tagName.includes("DateTime") ||
|
|
271
|
+
tagName.includes("SubSec") ||
|
|
269
272
|
tagName.toLowerCase().includes("timestamp")) {
|
|
270
273
|
const d = (_a = ExifDateTime_1.ExifDateTime.fromExifStrict(value, tz)) !== null && _a !== void 0 ? _a : ExifDateTime_1.ExifDateTime.fromISO(value, tz);
|
|
271
274
|
if (d != null)
|
|
272
275
|
return d;
|
|
273
276
|
}
|
|
274
277
|
if (tagName === "When" || tagName.includes("Date")) {
|
|
275
|
-
const d =
|
|
278
|
+
const d =
|
|
279
|
+
// Some tags, like CreationDate, actually include time resolution.
|
|
280
|
+
(_f = (_e = (_d = (_c = (_b = ExifDateTime_1.ExifDateTime.fromExifStrict(value, tz)) !== null && _b !== void 0 ? _b : ExifDateTime_1.ExifDateTime.fromISO(value, tz)) !== null && _c !== void 0 ? _c : ExifDateTime_1.ExifDateTime.fromExifLoose(value, tz)) !== null && _d !== void 0 ? _d : ExifDate_1.ExifDate.fromExifStrict(value)) !== null && _e !== void 0 ? _e : ExifDate_1.ExifDate.fromISO(value)) !== null && _f !== void 0 ? _f : ExifDate_1.ExifDate.fromExifLoose(value);
|
|
276
281
|
if (d != null) {
|
|
277
282
|
return d;
|
|
278
283
|
}
|
package/dist/ReadTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,4CAA6B;AAC7B,+CAA2C;AAC3C,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAErC,iDAA6C;AAC7C,mDAA+C;AAC/C,iCAA6B;AAC7B,mCAAgD;AAChD,qCAAkC;AAClC,qCAA+C;AAE/C,2CAIoB;AAEpB;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,UAAU;IACV,mBAAmB;CACpB,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AAE9C,SAAgB,OAAO,CAAC,CAAqB;IAC3C,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AACjE,CAAC;AAFD,0BAEC;AAOD,MAAa,QAAS,SAAQ,2BAAkB;IAa9C,YACW,UAAkB,EACT,IAAc,EACvB,OAAwB;QAEjC,KAAK,CAAC,IAAI,CAAC,CAAA;QAJF,eAAU,GAAV,UAAU,CAAQ;QACT,SAAI,GAAJ,IAAI,CAAU;QACvB,YAAO,GAAP,OAAO,CAAiB;;QAdnC,4CAA4C;QACpC,SAAI,GAAQ,EAAE,CAAA;QACtB,yCAAyC;QACjC,UAAK,GAAQ,EAAE,CAAA;QAIf,kBAAa,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ exports.RewriteAllTagsTask = void 0;
|
|
|
27
27
|
const _path = __importStar(require("path"));
|
|
28
28
|
const Array_1 = require("./Array");
|
|
29
29
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
30
|
+
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
30
31
|
class RewriteAllTagsTask extends ExifToolTask_1.ExifToolTask {
|
|
31
32
|
constructor(args) {
|
|
32
33
|
super(args);
|
|
@@ -34,6 +35,7 @@ class RewriteAllTagsTask extends ExifToolTask_1.ExifToolTask {
|
|
|
34
35
|
static for(imgSrc, imgDest, allowMakerNoteRepair) {
|
|
35
36
|
// -all= -tagsfromfile @ -all:all -unsafe -icc_profile bad.jpg
|
|
36
37
|
const args = (0, Array_1.compact)([
|
|
38
|
+
...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs,
|
|
37
39
|
"-all=",
|
|
38
40
|
"-tagsfromfile",
|
|
39
41
|
"@",
|
|
@@ -41,9 +43,9 @@ class RewriteAllTagsTask extends ExifToolTask_1.ExifToolTask {
|
|
|
41
43
|
"-unsafe",
|
|
42
44
|
"-icc_profile",
|
|
43
45
|
allowMakerNoteRepair ? "-F" : undefined,
|
|
44
|
-
_path.resolve(imgSrc),
|
|
45
46
|
"-out",
|
|
46
47
|
_path.resolve(imgDest),
|
|
48
|
+
_path.resolve(imgSrc),
|
|
47
49
|
]);
|
|
48
50
|
return new RewriteAllTagsTask(args);
|
|
49
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RewriteAllTagsTask.js","sourceRoot":"","sources":["../src/RewriteAllTagsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,mCAAiC;AACjC,iDAA6C;
|
|
1
|
+
{"version":3,"file":"RewriteAllTagsTask.js","sourceRoot":"","sources":["../src/RewriteAllTagsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,mCAAiC;AACjC,iDAA6C;AAC7C,+DAA+D;AAE/D,MAAa,kBAAmB,SAAQ,2BAAkB;IACxD,YAAoB,IAAc;QAChC,KAAK,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAG,CACR,MAAc,EACd,OAAe,EACf,oBAA6B;QAE7B,8DAA8D;QAE9D,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC;YACnB,GAAG,6CAAuB;YAC1B,OAAO;YACP,eAAe;YACf,GAAG;YACH,UAAU;YACV,SAAS;YACT,cAAc;YACd,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACvC,MAAM;YACN,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;SACtB,CAAC,CAAA;QACF,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,KAAa;;QAC/B,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,mBAAmB;YACnB,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;gBACjE,MAAM,KAAK,CAAA;aACZ;SACF;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;YAClD,MAAM,CACJ,KAAK,aAAL,KAAK,cAAL,KAAK,GACL,IAAI,KAAK,CACP,MAAA,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAI,iCAAiC,CAChE,CACF,CAAA;SACF;IACH,CAAC;CACF;AA7CD,gDA6CC"}
|
package/dist/Struct.d.ts
CHANGED