exiftool-vendored 21.5.1 → 22.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 +17 -0
- package/RELEASE.md +13 -7
- package/dist/Array.d.ts +13 -2
- package/dist/Array.js +58 -7
- package/dist/Array.js.map +1 -1
- package/dist/BinaryField.js.map +1 -1
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/DateTime.d.ts +3 -0
- package/dist/DateTime.js +5 -1
- package/dist/DateTime.js.map +1 -1
- package/dist/DefaultExifToolOptions.js +6 -1
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/DefaultExiftoolArgs.js +1 -0
- package/dist/DefaultExiftoolArgs.js.map +1 -1
- package/dist/ExifDate.d.ts +1 -0
- package/dist/ExifDate.js +6 -0
- package/dist/ExifDate.js.map +1 -1
- package/dist/ExifDateTime.d.ts +3 -0
- package/dist/ExifDateTime.js +17 -0
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTool.d.ts +18 -14
- package/dist/ExifTool.js +47 -11
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +38 -8
- package/dist/ExifToolOptions.js +8 -0
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/ImageDataHashTag.d.ts +11 -0
- package/dist/ImageDataHashTag.js +3 -0
- package/dist/ImageDataHashTag.js.map +1 -0
- package/dist/Lazy.js +6 -2
- package/dist/Lazy.js.map +1 -1
- package/dist/Object.js +1 -1
- package/dist/Object.js.map +1 -1
- package/dist/ReadTask.d.ts +6 -5
- package/dist/ReadTask.js +90 -64
- package/dist/ReadTask.js.map +1 -1
- package/dist/String.js +3 -3
- package/dist/String.js.map +1 -1
- package/dist/Tags.d.ts +57 -56
- package/dist/Times.d.ts +1 -0
- package/dist/Times.js +10 -0
- package/dist/Times.js.map +1 -0
- package/dist/Timezones.d.ts +6 -14
- package/dist/Timezones.js +71 -25
- package/dist/Timezones.js.map +1 -1
- package/dist/VersionTask.js +1 -1
- package/dist/VersionTask.js.map +1 -1
- package/dist/Which.d.ts +2 -0
- package/dist/Which.js +23 -0
- package/dist/Which.js.map +1 -0
- package/package.json +23 -27
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,7 @@ vendored versions of ExifTool match the version that they vendor.
|
|
|
11
11
|
|
|
12
12
|
- 💔 Non-backward-compatible API changes
|
|
13
13
|
- 🌲 New releases of ExifTool that have externally visible changes
|
|
14
|
+
- 🏚️ [EOL](https://github.com/nodejs/release#release-schedule) versions of Node.js are dropped from support
|
|
14
15
|
|
|
15
16
|
### The `MINOR` or `UPDATE` version is incremented for
|
|
16
17
|
|
|
@@ -25,6 +26,22 @@ vendored versions of ExifTool match the version that they vendor.
|
|
|
25
26
|
|
|
26
27
|
## Version history
|
|
27
28
|
|
|
29
|
+
### v22.1.0
|
|
30
|
+
|
|
31
|
+
- 🌱 ExifTool upgraded to [v12.65](https://exiftool.org/history.html#v12.65)
|
|
32
|
+
|
|
33
|
+
- ✨ Add support for new `ImageDataHash` tag: [See the docs for details](https://photostructure.github.io/exiftool-vendored.js/interfaces/ExifToolOptions.html#imageHashType).
|
|
34
|
+
|
|
35
|
+
- 🐞 `perl` is checked for on non-windows machines at startup. This resolves [#152](https://github.com/photostructure/exiftool-vendored.js/issues/152). You can disable this with the [new `checkPerl` option](https://photostructure.github.io/exiftool-vendored.js/interfaces/ExifToolOptions.html#checkPerl).
|
|
36
|
+
|
|
37
|
+
### v22.0.0
|
|
38
|
+
|
|
39
|
+
- 🏚️ Drop support for Node 14, which EOL'ed 2023-04-30
|
|
40
|
+
|
|
41
|
+
- 🌱 ExifTool upgraded to [v12.62](https://exiftool.org/history.html#v12.62)
|
|
42
|
+
|
|
43
|
+
- 🐞 Fix exports for DefaultExifToolOptions and several other non-type values. Thanks for the [bug report, renambot!](https://github.com/photostructure/exiftool-vendored.js/issues/144)
|
|
44
|
+
|
|
28
45
|
### v21.5.1
|
|
29
46
|
|
|
30
47
|
- 📦 Avoid double-rendering of ImageDataMD5 (Thanks, Phil! See [forum post for details](https://exiftool.org/forum/index.php?topic=14706.msg79218#msg79218))
|
package/RELEASE.md
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
# Releasing new versions of `exiftool-vendored`
|
|
2
2
|
|
|
3
|
-
1. `git clone` this repo
|
|
3
|
+
1. `git clone` this repo into `~/src`
|
|
4
|
+
|
|
5
|
+
2. On a POSIX machine, clone
|
|
4
6
|
[exiftool-vendored.pl](https://github.com/photostructure/exiftool-vendored.pl)
|
|
5
|
-
|
|
7
|
+
into `~/src` (or another common subdirectory)
|
|
8
|
+
|
|
9
|
+
3. On a Windows machine, clone
|
|
6
10
|
[exiftool-vendored.exe](https://github.com/photostructure/exiftool-vendored.exe)
|
|
7
|
-
|
|
11
|
+
|
|
8
12
|
|
|
9
13
|
2. On POSIX, in `../exiftool-vendored.pl`:
|
|
10
14
|
|
|
11
|
-
1. `npx ncu -u && yarn install && ./update.sh && yarn test`
|
|
15
|
+
1. `git stash -u ; git fetch ; git checkout main ; npx ncu -u && yarn install && ./update.sh && yarn test`
|
|
12
16
|
1. Verify diffs are in order, and commit
|
|
13
17
|
1. `npx release-it`
|
|
14
18
|
|
|
15
|
-
3. On Windows, in
|
|
19
|
+
3. On Windows, in `...\exiftool-vendored.exe\`:
|
|
20
|
+
|
|
21
|
+
(The terminal built into vscode plays with `ncu` and `release-it` a bit nicer than CMD or Windows for Git's terminal)
|
|
16
22
|
|
|
17
|
-
1. `npx ncu -u --packageFile package.json && yarn install && ./update.sh && yarn test`
|
|
23
|
+
1. `git stash -u ; git fetch ; git checkout main ; npx ncu -u --packageFile package.json && yarn install && ./update.sh && yarn test`
|
|
18
24
|
1. Verify diffs are in order, and commit
|
|
19
25
|
1. `npx release-it`
|
|
20
26
|
|
|
21
|
-
4. Finally, release `exiftool-vendored`:
|
|
27
|
+
4. Finally, back on the POSIX box, release `exiftool-vendored`:
|
|
22
28
|
|
|
23
29
|
1. `cd ../exiftool-vendored.js`
|
|
24
30
|
1. `npx ncu -u`
|
package/dist/Array.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { MaybeNull } from "./Maybe";
|
|
1
|
+
import { Maybe, MaybeNull } from "./Maybe";
|
|
2
|
+
export declare function isIterable(obj: any): obj is Iterable<any>;
|
|
3
|
+
export declare function toA<T>(arr: undefined | null | T[] | T | Iterable<T>): T[];
|
|
2
4
|
export declare function compact<T>(array: MaybeNull<T>[]): T[];
|
|
3
|
-
export declare function times<T>(n: number, f: (idx: number) => T): T[];
|
|
4
5
|
/**
|
|
5
6
|
* Remove all elements from the given array that return false from the given
|
|
6
7
|
* predicate `filter`.
|
|
@@ -8,3 +9,13 @@ export declare function times<T>(n: number, f: (idx: number) => T): T[];
|
|
|
8
9
|
export declare function filterInPlace<T>(arr: T[], filter: (t: T) => boolean): T[];
|
|
9
10
|
export declare function uniq<T>(arr: T[]): T[];
|
|
10
11
|
export declare function shallowArrayEql(a: any[], b: any[]): boolean;
|
|
12
|
+
type Comparable = number | string | boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Returns a copy of arr, stable sorted by the given constraint. Note that false
|
|
15
|
+
* < true, and that `f` may return an array for sort priorities, or undefined if
|
|
16
|
+
* the item should be skipped from the returned result.
|
|
17
|
+
*
|
|
18
|
+
* Note: localeSort() thinks lower case should come before upper case (!!)
|
|
19
|
+
*/
|
|
20
|
+
export declare function sortBy<T>(arr: Iterable<Maybe<T>> | Maybe<T>[], f: (t: T) => Maybe<Comparable>): T[];
|
|
21
|
+
export {};
|
package/dist/Array.js
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shallowArrayEql = exports.uniq = exports.filterInPlace = exports.
|
|
3
|
+
exports.sortBy = exports.shallowArrayEql = exports.uniq = exports.filterInPlace = exports.compact = exports.toA = exports.isIterable = void 0;
|
|
4
|
+
const String_1 = require("./String");
|
|
5
|
+
function isIterable(obj) {
|
|
6
|
+
return (obj != null &&
|
|
7
|
+
typeof obj !== "string" &&
|
|
8
|
+
typeof obj[Symbol.iterator] === "function");
|
|
9
|
+
}
|
|
10
|
+
exports.isIterable = isIterable;
|
|
11
|
+
function toA(arr) {
|
|
12
|
+
return Array.isArray(arr) // < strings are not arrays
|
|
13
|
+
? arr
|
|
14
|
+
: arr == null
|
|
15
|
+
? []
|
|
16
|
+
: (0, String_1.isString)(arr) // < don't rely on isIterable rejecting Strings
|
|
17
|
+
? [arr]
|
|
18
|
+
: isIterable(arr)
|
|
19
|
+
? Array.from(arr)
|
|
20
|
+
: [arr];
|
|
21
|
+
}
|
|
22
|
+
exports.toA = toA;
|
|
4
23
|
function compact(array) {
|
|
5
24
|
return array.filter((elem) => elem != null);
|
|
6
25
|
}
|
|
7
26
|
exports.compact = compact;
|
|
8
|
-
function times(n, f) {
|
|
9
|
-
return Array(n)
|
|
10
|
-
.fill(undefined)
|
|
11
|
-
.map((_, i) => f(i));
|
|
12
|
-
}
|
|
13
|
-
exports.times = times;
|
|
14
27
|
/**
|
|
15
28
|
* Remove all elements from the given array that return false from the given
|
|
16
29
|
* predicate `filter`.
|
|
@@ -44,4 +57,42 @@ function shallowArrayEql(a, b) {
|
|
|
44
57
|
a.every((ea, idx) => ea === b[idx]));
|
|
45
58
|
}
|
|
46
59
|
exports.shallowArrayEql = shallowArrayEql;
|
|
60
|
+
/**
|
|
61
|
+
* Returns a copy of arr, stable sorted by the given constraint. Note that false
|
|
62
|
+
* < true, and that `f` may return an array for sort priorities, or undefined if
|
|
63
|
+
* the item should be skipped from the returned result.
|
|
64
|
+
*
|
|
65
|
+
* Note: localeSort() thinks lower case should come before upper case (!!)
|
|
66
|
+
*/
|
|
67
|
+
function sortBy(arr, f) {
|
|
68
|
+
return (toA(arr).filter((ea) => ea != null)
|
|
69
|
+
.map((item) => ({
|
|
70
|
+
item,
|
|
71
|
+
cmp: f(item),
|
|
72
|
+
}))
|
|
73
|
+
.filter((ea) => ea.cmp != null)
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
75
|
+
.sort((a, b) => cmp(a.cmp, b.cmp))
|
|
76
|
+
.map((ea) => ea.item));
|
|
77
|
+
}
|
|
78
|
+
exports.sortBy = sortBy;
|
|
79
|
+
function cmp(a, b) {
|
|
80
|
+
// undefined == undefined:
|
|
81
|
+
if (a == null && b == null)
|
|
82
|
+
return 0;
|
|
83
|
+
// undefined should be < defined. We can't use typeof here because typeof null
|
|
84
|
+
// is "object" and typeof undefined = "undefined".
|
|
85
|
+
if (a == null)
|
|
86
|
+
return -1;
|
|
87
|
+
if (b == null)
|
|
88
|
+
return 1;
|
|
89
|
+
const aType = typeof a;
|
|
90
|
+
const bType = typeof b;
|
|
91
|
+
if ((aType === "string" || aType === "symbol") &&
|
|
92
|
+
(bType === "string" || bType === "symbol")) {
|
|
93
|
+
// in German, ä sorts before z, in Swedish, ä sorts after z
|
|
94
|
+
return String(a).localeCompare(String(b));
|
|
95
|
+
}
|
|
96
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
97
|
+
}
|
|
47
98
|
//# sourceMappingURL=Array.js.map
|
package/dist/Array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.js","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Array.js","sourceRoot":"","sources":["../src/Array.ts"],"names":[],"mappings":"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"}
|
package/dist/BinaryField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryField.js","sourceRoot":"","sources":["../src/BinaryField.ts"],"names":[],"mappings":";;;AACA,qCAAgC;AAEhC,0DAA0D;AAC1D,MAAM,aAAa;AACjB,yDAAyD;AACzD,wBAAwB,CAAA;AAE1B,MAAa,WAAW;IACtB,
|
|
1
|
+
{"version":3,"file":"BinaryField.js","sourceRoot":"","sources":["../src/BinaryField.ts"],"names":[],"mappings":";;;AACA,qCAAgC;AAEhC,0DAA0D;AAC1D,MAAM,aAAa;AACjB,yDAAyD;AACzD,wBAAwB,CAAA;AAE1B,MAAa,WAAW;IACtB,YACW,KAAa,EACb,QAAgB;QADhB,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;IACxB,CAAC;IAEJ,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAuC;QACrD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,MAAM,KAAK,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aACxC;SACF;QACD,OAAM;IACR,CAAC;CACF;AA5BD,kCA4BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryToBufferTask.js","sourceRoot":"","sources":["../src/BinaryToBufferTask.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,iDAA6C;AAC7C,+DAA+D;AAE/D,qCAAmC;AAEnC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,2BAA4B;IAClE,
|
|
1
|
+
{"version":3,"file":"BinaryToBufferTask.js","sourceRoot":"","sources":["../src/BinaryToBufferTask.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,iDAA6C;AAC7C,+DAA+D;AAE/D,qCAAmC;AAEnC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,2BAA4B;IAClE,YACW,OAAe,EACxB,IAAc;QAEd,KAAK,CAAC,IAAI,CAAC,CAAA;QAHF,YAAO,GAAP,OAAO,CAAQ;IAI1B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAe,EAAE,MAAc;QACxC,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,IAAI,GAAG;YACX,GAAG,6CAAuB;YAC1B,OAAO;YACP,IAAI;YACJ,GAAG,GAAG,OAAO;YACb,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SACrB,CAAA;QACD,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAW;;QAC7B,IAAI;YACF,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAA;YACjC,iCAAiC;YACjC;gBACE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;gBACxC,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;aAClC,CAAC,+CAA+C;YACjD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;oBAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC7B,IAAI,MAAM,IAAI,IAAI;wBAAE,OAAO,MAAM,CAAA;iBAClC;aACF;SACF;QAAC,OAAO,MAAM,EAAE;YACf,GAAG,aAAH,GAAG,cAAH,GAAG,IAAH,GAAG,GAAK,IAAA,iBAAQ,EAAC,IAAI,CAAC;gBACpB,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,MAAM,YAAY,KAAK;oBACzB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAA;SAC9B;QACD,OAAO,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,CAAA;IACtD,CAAC;CACF;AA5CD,gDA4CC;AAED,MAAM,SAAS,GAAG,SAAS,CAAA;AAE3B,SAAS,MAAM,CAAC,IAAmB;IACjC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAChD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC7D,CAAC"}
|
package/dist/DateTime.d.ts
CHANGED
|
@@ -14,3 +14,6 @@ export declare function dateTimeToExif(d: DateTime, opts?: {
|
|
|
14
14
|
includeMilliseconds?: boolean;
|
|
15
15
|
}): string;
|
|
16
16
|
export declare function toExifString(d: DateOrTime): Maybe<string>;
|
|
17
|
+
export declare function hms(d: DateTime, opts?: {
|
|
18
|
+
includeMilliseconds?: boolean;
|
|
19
|
+
}): string;
|
package/dist/DateTime.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toExifString = exports.dateTimeToExif = exports.isDateOrTime = exports.DayMs = exports.HourMs = exports.MinuteMs = exports.validDateTime = void 0;
|
|
3
|
+
exports.hms = exports.toExifString = exports.dateTimeToExif = exports.isDateOrTime = exports.DayMs = exports.HourMs = exports.MinuteMs = exports.validDateTime = void 0;
|
|
4
4
|
const luxon_1 = require("luxon");
|
|
5
5
|
const ExifDate_1 = require("./ExifDate");
|
|
6
6
|
const ExifDateTime_1 = require("./ExifDateTime");
|
|
@@ -35,4 +35,8 @@ function toExifString(d) {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.toExifString = toExifString;
|
|
38
|
+
function hms(d, opts) {
|
|
39
|
+
return d.toFormat("HH:mm:ss" + ((opts === null || opts === void 0 ? void 0 : opts.includeMilliseconds) === true ? ".SSS" : ""));
|
|
40
|
+
}
|
|
41
|
+
exports.hms = hms;
|
|
38
42
|
//# sourceMappingURL=DateTime.js.map
|
package/dist/DateTime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAGrC,SAAgB,aAAa,CAAC,EAAY;IACxC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,CAAA;AACjC,CAAC;AAFD,sCAEC;AAEY,QAAA,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAA;AACpB,QAAA,MAAM,GAAG,EAAE,GAAG,gBAAQ,CAAA;AACtB,QAAA,KAAK,GAAG,EAAE,GAAG,cAAM,CAAA;AAIhC,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,CACL,CAAC,YAAY,2BAAY;QACzB,CAAC,YAAY,mBAAQ;QACrB,CAAC,YAAY,mBAAQ;QACrB,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAA;AACH,CAAC;AAPD,oCAOC;AAED,SAAgB,cAAc,CAC5B,CAAW,EACX,IAAiE;IAEjE,OAAO,CAAC,CAAC,QAAQ,CACf,kBAAkB;QAChB,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,MAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9C,CAAA;AACH,CAAC;AATD,wCASC;AAED,SAAgB,YAAY,CAAC,CAAa;;IACxC,IAAI,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,iDAAI,CAAA;KAC3B;AACH,CAAC;AAND,oCAMC"}
|
|
1
|
+
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAGrC,SAAgB,aAAa,CAAC,EAAY;IACxC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,CAAA;AACjC,CAAC;AAFD,sCAEC;AAEY,QAAA,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAA;AACpB,QAAA,MAAM,GAAG,EAAE,GAAG,gBAAQ,CAAA;AACtB,QAAA,KAAK,GAAG,EAAE,GAAG,cAAM,CAAA;AAIhC,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,CACL,CAAC,YAAY,2BAAY;QACzB,CAAC,YAAY,mBAAQ;QACrB,CAAC,YAAY,mBAAQ;QACrB,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAA;AACH,CAAC;AAPD,oCAOC;AAED,SAAgB,cAAc,CAC5B,CAAW,EACX,IAAiE;IAEjE,OAAO,CAAC,CAAC,QAAQ,CACf,kBAAkB;QAChB,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,MAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9C,CAAA;AACH,CAAC;AATD,wCASC;AAED,SAAgB,YAAY,CAAC,CAAa;;IACxC,IAAI,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,iDAAI,CAAA;KAC3B;AACH,CAAC;AAND,oCAMC;AAED,SAAgB,GAAG,CACjB,CAAW,EACX,IAAwC;IAExC,OAAO,CAAC,CAAC,QAAQ,CACf,UAAU,GAAG,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CAAA;AACH,CAAC;AAPD,kBAOC"}
|
|
@@ -30,6 +30,7 @@ const DefaultMaxProcs_1 = require("./DefaultMaxProcs");
|
|
|
30
30
|
const FindExiftool_1 = require("./FindExiftool");
|
|
31
31
|
const GeoTz_1 = require("./GeoTz");
|
|
32
32
|
const IgnorableError_1 = require("./IgnorableError");
|
|
33
|
+
const IsWin32_1 = require("./IsWin32");
|
|
33
34
|
const VersionTask_1 = require("./VersionTask");
|
|
34
35
|
/**
|
|
35
36
|
* Default values for `ExifToolOptions`, except for `processFactory` (which is
|
|
@@ -47,6 +48,7 @@ exports.DefaultExifToolOptions = Object.freeze({
|
|
|
47
48
|
exiftoolPath: FindExiftool_1.DefaultExifToolPath,
|
|
48
49
|
exiftoolArgs: DefaultExiftoolArgs_1.DefaultExiftoolArgs,
|
|
49
50
|
exiftoolEnv: {},
|
|
51
|
+
checkPerl: !(0, IsWin32_1.isWin32)(),
|
|
50
52
|
pass: "{ready}",
|
|
51
53
|
fail: "{ready}",
|
|
52
54
|
exitCommand: "-stay_open\nFalse\n",
|
|
@@ -62,8 +64,11 @@ exports.DefaultExifToolOptions = Object.freeze({
|
|
|
62
64
|
"GPSPosition",
|
|
63
65
|
"Orientation",
|
|
64
66
|
],
|
|
65
|
-
includeImageDataMD5:
|
|
67
|
+
includeImageDataMD5: undefined,
|
|
68
|
+
imageHashType: false,
|
|
66
69
|
defaultVideosToUTC: true,
|
|
70
|
+
backfillTimezones: false,
|
|
71
|
+
inferTimezoneFromDatestamps: false,
|
|
67
72
|
geoTz: GeoTz_1.geoTz,
|
|
68
73
|
isIgnorableError: IgnorableError_1.isIgnorableWarning,
|
|
69
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,+DAA2D;AAC3D,uDAAmD;AAEnD,iDAAoD;AACpD,mCAA+B;AAC/B,qDAAqD;
|
|
1
|
+
{"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,+DAA2D;AAC3D,uDAAmD;AAEnD,iDAAoD;AACpD,mCAA+B;AAC/B,qDAAqD;AACrD,uCAAmC;AAEnC,+CAA2C;AAE3C;;;GAGG;AAEU,QAAA,sBAAsB,GAG/B,MAAM,CAAC,MAAM,CAAC;IAChB,GAAG,IAAI,EAAE,CAAC,mBAAmB,EAAE;IAC/B,QAAQ,EAAE,iCAAe;IACzB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,KAAK;IACzB,yEAAyE;IACzE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,kCAAmB;IACjC,YAAY,EAAE,yCAAmB;IACjC,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,CAAC,IAAA,iBAAO,GAAE;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,IAAI,yBAAW,EAAE,CAAC,OAAO;IACzC,yBAAyB,EAAE,KAAK;IAChC,kBAAkB,EAAE,kBAAkB;IACtC,MAAM,EAAE,KAAK;IACb,WAAW,EAAE;QACX,YAAY;QACZ,aAAa;QACb,aAAa;QACb,cAAc;QACd,aAAa;QACb,aAAa;KACd;IACD,mBAAmB,EAAE,SAAS;IAC9B,aAAa,EAAE,KAAK;IACpB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,KAAK;IACxB,2BAA2B,EAAE,KAAK;IAClC,KAAK,EAAE,aAAK;IACZ,gBAAgB,EAAE,mCAAkB;CACrC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultExiftoolArgs.js","sourceRoot":"","sources":["../src/DefaultExiftoolArgs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DefaultExiftoolArgs.js","sourceRoot":"","sources":["../src/DefaultExiftoolArgs.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACV,QAAA,mBAAmB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA"}
|
package/dist/ExifDate.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare class ExifDate {
|
|
|
8
8
|
readonly month: number;
|
|
9
9
|
readonly day: number;
|
|
10
10
|
readonly rawValue?: string | undefined;
|
|
11
|
+
static from(exifOrIso: string): Maybe<ExifDate>;
|
|
11
12
|
static fromISO(text: string): Maybe<ExifDate>;
|
|
12
13
|
private static fromPatterns;
|
|
13
14
|
static fromExifStrict(text: string): Maybe<ExifDate>;
|
package/dist/ExifDate.js
CHANGED
|
@@ -9,6 +9,12 @@ const String_1 = require("./String");
|
|
|
9
9
|
* Encodes an ExifDate
|
|
10
10
|
*/
|
|
11
11
|
class ExifDate {
|
|
12
|
+
static from(exifOrIso) {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
return (
|
|
15
|
+
// in order of strictness:
|
|
16
|
+
(_b = (_a = this.fromExifStrict(exifOrIso)) !== null && _a !== void 0 ? _a : this.fromISO(exifOrIso)) !== null && _b !== void 0 ? _b : this.fromExifLoose(exifOrIso));
|
|
17
|
+
}
|
|
12
18
|
static fromISO(text) {
|
|
13
19
|
return this.fromDateTime(luxon_1.DateTime.fromISO(text), text);
|
|
14
20
|
}
|
package/dist/ExifDate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":"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"}
|
package/dist/ExifDateTime.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class ExifDateTime {
|
|
|
15
15
|
readonly tzoffsetMinutes?: number | undefined;
|
|
16
16
|
readonly rawValue?: string | undefined;
|
|
17
17
|
readonly zoneName?: string | undefined;
|
|
18
|
+
static from(exifOrIso: string, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
|
|
18
19
|
static fromISO(iso: string, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
|
|
19
20
|
/**
|
|
20
21
|
* Try to parse a date-time string from EXIF. If there is not both a date
|
|
@@ -100,5 +101,7 @@ export declare class ExifDateTime {
|
|
|
100
101
|
* @return a new ExifDateTime from the given JSON. Note that this instance **may not be valid**.
|
|
101
102
|
*/
|
|
102
103
|
static fromJSON(json: Omit<ReturnType<ExifDateTime["toJSON"]>, "_ctor">): ExifDateTime;
|
|
104
|
+
maybeMatchZone(target: ExifDateTime, maxDeltaMs?: number): Maybe<ExifDateTime>;
|
|
105
|
+
private ifClose;
|
|
103
106
|
plus(duration: DurationLike): Maybe<ExifDateTime>;
|
|
104
107
|
}
|
package/dist/ExifDateTime.js
CHANGED
|
@@ -28,6 +28,12 @@ const TimeFmts = [
|
|
|
28
28
|
* Encodes an ExifDateTime with an optional tz offset in minutes.
|
|
29
29
|
*/
|
|
30
30
|
class ExifDateTime {
|
|
31
|
+
static from(exifOrIso, defaultZone) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
return (
|
|
34
|
+
// in order of strictness:
|
|
35
|
+
(_b = (_a = this.fromExifStrict(exifOrIso, defaultZone)) !== null && _a !== void 0 ? _a : this.fromISO(exifOrIso, defaultZone)) !== null && _b !== void 0 ? _b : this.fromExifLoose(exifOrIso, defaultZone));
|
|
36
|
+
}
|
|
31
37
|
static fromISO(iso, defaultZone) {
|
|
32
38
|
if ((0, String_1.blank)(iso) || null != iso.match(/^\d+$/))
|
|
33
39
|
return undefined;
|
|
@@ -300,6 +306,17 @@ class ExifDateTime {
|
|
|
300
306
|
static fromJSON(json) {
|
|
301
307
|
return new ExifDateTime(json.year, json.month, json.day, json.hour, json.minute, json.second, json.millisecond, json.tzoffsetMinutes, json.rawValue, json.zoneName);
|
|
302
308
|
}
|
|
309
|
+
maybeMatchZone(target, maxDeltaMs = 14 * DateTime_1.MinuteMs) {
|
|
310
|
+
var _a, _b, _c, _d, _e;
|
|
311
|
+
if (!target.hasZone)
|
|
312
|
+
return;
|
|
313
|
+
return ((_d = (_b = (_a = this.setZone(target.zone, { keepLocalTime: false })) === null || _a === void 0 ? void 0 : _a.ifClose(target, maxDeltaMs)) !== null && _b !== void 0 ? _b : (_c = this.setZone(target.zone, { keepLocalTime: true })) === null || _c === void 0 ? void 0 : _c.ifClose(target, maxDeltaMs)) !== null && _d !== void 0 ? _d : (_e = this.setZone("UTC", { keepLocalTime: true })) === null || _e === void 0 ? void 0 : _e.ifClose(target, maxDeltaMs));
|
|
314
|
+
}
|
|
315
|
+
ifClose(target, maxDeltaMs = 14 * DateTime_1.MinuteMs) {
|
|
316
|
+
const ts = this.toMillis();
|
|
317
|
+
const targetTs = target.toMillis();
|
|
318
|
+
return Math.abs(ts - targetTs) <= maxDeltaMs ? this : undefined;
|
|
319
|
+
}
|
|
303
320
|
plus(duration) {
|
|
304
321
|
let dt = this.toDateTime().plus(duration);
|
|
305
322
|
if (!this.hasZone) {
|
package/dist/ExifDateTime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifDateTime.js","sourceRoot":"","sources":["../src/ExifDateTime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAOc;AACd,
|
|
1
|
+
{"version":3,"file":"ExifDateTime.js","sourceRoot":"","sources":["../src/ExifDateTime.ts"],"names":[],"mappings":"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"}
|
package/dist/ExifTool.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as bc from "batch-cluster";
|
|
3
3
|
import { ApplicationRecordTags } from "./ApplicationRecordTags";
|
|
4
|
-
import { DefaultExiftoolArgs } from "./DefaultExiftoolArgs";
|
|
5
|
-
import { DefaultExifToolOptions } from "./DefaultExifToolOptions";
|
|
6
|
-
import { DefaultMaxProcs } from "./DefaultMaxProcs";
|
|
7
4
|
import { ExifDate } from "./ExifDate";
|
|
8
5
|
import { ExifDateTime } from "./ExifDateTime";
|
|
9
6
|
import { ExifToolOptions } from "./ExifToolOptions";
|
|
@@ -14,22 +11,27 @@ import { Maybe } from "./Maybe";
|
|
|
14
11
|
import { Omit } from "./Omit";
|
|
15
12
|
import { PreviewTag } from "./PreviewTag";
|
|
16
13
|
import { Json, Literal, RawTags } from "./RawTags";
|
|
17
|
-
import {
|
|
14
|
+
import { ReadTaskOptions } from "./ReadTask";
|
|
18
15
|
import { ResourceEvent } from "./ResourceEvent";
|
|
19
16
|
import { Struct } from "./Struct";
|
|
20
|
-
import { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MakerNotesTags, MetaTags,
|
|
17
|
+
import { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, Tags, XMPTags } from "./Tags";
|
|
21
18
|
import { Version } from "./Version";
|
|
22
19
|
import { WriteTags } from "./WriteTags";
|
|
23
|
-
import {
|
|
20
|
+
import { WriteTaskOptions } from "./WriteTask";
|
|
24
21
|
export { BinaryField } from "./BinaryField";
|
|
22
|
+
export { DefaultExifToolOptions } from "./DefaultExifToolOptions";
|
|
23
|
+
export { DefaultExiftoolArgs } from "./DefaultExiftoolArgs";
|
|
24
|
+
export { DefaultMaxProcs } from "./DefaultMaxProcs";
|
|
25
25
|
export { ExifDate } from "./ExifDate";
|
|
26
26
|
export { ExifDateTime } from "./ExifDateTime";
|
|
27
27
|
export { ExifTime } from "./ExifTime";
|
|
28
28
|
export { ExifToolTask } from "./ExifToolTask";
|
|
29
29
|
export { isIgnorableWarning } from "./IgnorableError";
|
|
30
30
|
export { parseJSON } from "./JSON";
|
|
31
|
-
export {
|
|
32
|
-
export
|
|
31
|
+
export { DefaultReadTaskOptions } from "./ReadTask";
|
|
32
|
+
export { UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, defaultVideosToUTC, offsetMinutesToZoneName, } from "./Timezones";
|
|
33
|
+
export { DefaultWriteTaskOptions } from "./WriteTask";
|
|
34
|
+
export type { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, AdditionalWriteTags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolOptions, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, IgnorableError, JFIFTags, Json, Literal, MPFTags, MakerNotesTags, Maybe, MetaTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, RawTags, ReadTaskOptions, ResourceEvent, Struct, Tags, Version, WriteTags, WriteTaskOptions, XMPTags, };
|
|
33
35
|
/**
|
|
34
36
|
* @see https://exiftool.org/TagNames/Shortcuts.html
|
|
35
37
|
*/
|
|
@@ -69,6 +71,7 @@ export interface StructAppendTags {
|
|
|
69
71
|
* instance of this class, `exiftool`.
|
|
70
72
|
*/
|
|
71
73
|
export declare class ExifTool {
|
|
74
|
+
#private;
|
|
72
75
|
readonly options: ExifToolOptions;
|
|
73
76
|
private readonly batchCluster;
|
|
74
77
|
constructor(options?: Partial<ExifToolOptions>);
|
|
@@ -95,7 +98,7 @@ export declare class ExifTool {
|
|
|
95
98
|
* @returns {Promise<Tags>} A resolved Tags promise. If there are errors
|
|
96
99
|
* during reading, the `.errors` field will be present.
|
|
97
100
|
*/
|
|
98
|
-
read<T extends Tags = Tags>(file: string, optionalArgs?: string[], options?: ReadTaskOptions): Promise<T>;
|
|
101
|
+
read<T extends Tags = Tags>(file: string, optionalArgs?: string[], options?: Partial<ReadTaskOptions>): Promise<T>;
|
|
99
102
|
/**
|
|
100
103
|
* Read the tags from `file`, without any post-processing of ExifTool
|
|
101
104
|
* values.
|
|
@@ -128,12 +131,13 @@ export declare class ExifTool {
|
|
|
128
131
|
*
|
|
129
132
|
* @param {string} file an existing file to write `tags` to.
|
|
130
133
|
* @param {Tags} tags the tags to write to `file`.
|
|
131
|
-
* @param {string[]} [args] any additional ExifTool arguments, like
|
|
132
|
-
*
|
|
133
|
-
* @returns {Promise<void>} Either the promise will be resolved if the
|
|
134
|
-
*
|
|
135
|
-
*
|
|
134
|
+
* @param {string[]} [args] any additional ExifTool arguments, like `-n`, or
|
|
135
|
+
* `-overwrite_original`.
|
|
136
|
+
* @returns {Promise<void>} Either the promise will be resolved if the tags
|
|
137
|
+
* are written to successfully, or the promise will be rejected if there are
|
|
138
|
+
* errors or warnings.
|
|
136
139
|
* @memberof ExifTool
|
|
140
|
+
* @see https://exiftool.org/exiftool_pod.html#overwrite_original
|
|
137
141
|
*/
|
|
138
142
|
write(file: string, tags: WriteTags, args?: string[], options?: WriteTaskOptions): Promise<void>;
|
|
139
143
|
/**
|