exiftool-vendored 23.7.0 → 24.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 +14 -0
- package/dist/BinaryExtractionTask.js +3 -3
- package/dist/BinaryExtractionTask.js.map +1 -1
- package/dist/BinaryToBufferTask.js +2 -2
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/DefaultExifToolOptions.js +0 -2
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/DefaultMaxProcs.js +1 -1
- package/dist/DefaultMaxProcs.js.map +1 -1
- package/dist/Defined.d.ts +4 -0
- package/dist/Defined.js +3 -0
- package/dist/Defined.js.map +1 -0
- package/dist/ErrorsAndWarnings.d.ts +19 -0
- package/dist/ErrorsAndWarnings.js +13 -0
- package/dist/ErrorsAndWarnings.js.map +1 -0
- package/dist/ExifTool.d.ts +9 -42
- package/dist/ExifTool.js +9 -12
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +0 -11
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/ExifToolTask.d.ts +2 -3
- package/dist/ExifToolTask.js +26 -18
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/File.js +2 -2
- package/dist/File.js.map +1 -1
- package/dist/FindExiftool.js +2 -2
- package/dist/FindExiftool.js.map +1 -1
- package/dist/{IgnorableError.d.ts → IsWarning.d.ts} +1 -1
- package/dist/{IgnorableError.js → IsWarning.js} +11 -7
- package/dist/IsWarning.js.map +1 -0
- package/dist/IsWin32.js +1 -1
- package/dist/IsWin32.js.map +1 -1
- package/dist/RawTags.d.ts +2 -1
- package/dist/ReadRawTask.js +7 -2
- package/dist/ReadRawTask.js.map +1 -1
- package/dist/ReadTask.js +10 -5
- package/dist/ReadTask.js.map +1 -1
- package/dist/RewriteAllTagsTask.js +1 -1
- package/dist/RewriteAllTagsTask.js.map +1 -1
- package/dist/ShortcutTags.d.ts +12 -0
- package/dist/ShortcutTags.js +6 -0
- package/dist/ShortcutTags.js.map +1 -0
- package/dist/Sidecars.js +2 -2
- package/dist/Sidecars.js.map +1 -1
- package/dist/String.d.ts +5 -0
- package/dist/String.js +16 -1
- package/dist/String.js.map +1 -1
- package/dist/Tags.d.ts +859 -336
- package/dist/WriteTags.d.ts +33 -1
- package/dist/WriteTask.d.ts +27 -3
- package/dist/WriteTask.js +38 -24
- package/dist/WriteTask.js.map +1 -1
- package/package.json +2 -2
- package/dist/IgnorableError.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -26,6 +26,20 @@ vendored versions of ExifTool match the version that they vendor.
|
|
|
26
26
|
|
|
27
27
|
## Version history
|
|
28
28
|
|
|
29
|
+
### v24.0.0
|
|
30
|
+
|
|
31
|
+
- 💔 In the interests of reducing complexity, the `ExifToolOptions.isIgnorableError` predicate field was removed -- if this was used by anyone, please open an issue and we can talk about it.
|
|
32
|
+
|
|
33
|
+
- 💔 `ExifTool.write` now returns metadata describing how many files were unchanged, updated, or created, and no longer throws an error if the operation is a no-op. See [issue #162](https://github.com/photostructure/exiftool-vendored.js/issues/162) for details.
|
|
34
|
+
|
|
35
|
+
- ✨ `.warnings` are returned by `ExifTool.read` and `ExifTool.write` tasks if there are non-critical warnings emitted to `stderr` by ExifTool.
|
|
36
|
+
|
|
37
|
+
- 📦 Some fields in `Tags` were moved to more correct groups
|
|
38
|
+
|
|
39
|
+
- 📦 Refined `WriteTags` signature to omit `ExifToolTags` and `FileTags` fields.
|
|
40
|
+
|
|
41
|
+
- 📦 Added [`node:` prefix](https://nodejs.org/api/esm.html#node-imports) to Node.js module imports. This requires node v14.13, v16.0, or later.
|
|
42
|
+
|
|
29
43
|
### v23.7.0
|
|
30
44
|
|
|
31
45
|
- 📦 Added MWG `.HierarchicalKeywords` and `.Collections` to `Tags`
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BinaryExtractionTask = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
9
9
|
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
10
10
|
const String_1 = require("./String");
|
|
@@ -25,8 +25,8 @@ class BinaryExtractionTask extends ExifToolTask_1.ExifToolTask {
|
|
|
25
25
|
"-w",
|
|
26
26
|
// The %0f prevents shell escaping. See
|
|
27
27
|
// https://exiftool.org/exiftool_pod.html#w-EXT-or-FMT--textOut
|
|
28
|
-
"%0f" +
|
|
29
|
-
|
|
28
|
+
"%0f" + node_path_1.default.resolve(imgDest),
|
|
29
|
+
node_path_1.default.resolve(imgSrc),
|
|
30
30
|
];
|
|
31
31
|
return new BinaryExtractionTask(args);
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryExtractionTask.js","sourceRoot":"","sources":["../src/BinaryExtractionTask.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"BinaryExtractionTask.js","sourceRoot":"","sources":["../src/BinaryExtractionTask.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAC5B,iDAA6C;AAC7C,+DAA+D;AAE/D,qCAA8B;AAE9B,MAAM,QAAQ,GAAG,gCAAgC,CAAA;AAEjD;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,2BAA2B;IACnE,YAAoB,IAAc;QAChC,KAAK,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAG,CACR,OAAe,EACf,MAAc,EACd,OAAe;QAEf,MAAM,IAAI,GAAG;YACX,GAAG,6CAAuB;YAC1B,IAAI;YACJ,GAAG,GAAG,OAAO;YACb,IAAI;YACJ,uCAAuC;YACvC,+DAA+D;YAC/D,KAAK,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7B,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SACrB,CAAA;QACD,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,GAAW;QAC/B,MAAM,CAAC,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,GAAG,CAAA;QACX,CAAC;aAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAA;QACzE,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;CACF;AArCD,oDAqCC"}
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BinaryToBufferTask = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const ExifToolTask_1 = require("./ExifToolTask");
|
|
9
9
|
const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
|
|
10
10
|
const String_1 = require("./String");
|
|
@@ -25,7 +25,7 @@ class BinaryToBufferTask extends ExifToolTask_1.ExifToolTask {
|
|
|
25
25
|
"-json",
|
|
26
26
|
"-b",
|
|
27
27
|
"-" + tagname,
|
|
28
|
-
|
|
28
|
+
node_path_1.default.resolve(imgSrc),
|
|
29
29
|
];
|
|
30
30
|
return new BinaryToBufferTask(tagname, args);
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryToBufferTask.js","sourceRoot":"","sources":["../src/BinaryToBufferTask.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"BinaryToBufferTask.js","sourceRoot":"","sources":["../src/BinaryToBufferTask.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAC5B,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,mBAAI,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,CAAC;YACH,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAA;YACjC,iCAAiC;YACjC,CAAC;gBACC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;gBACxC,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;YACnC,CAAC,CAAC,+CAA+C;YACjD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;oBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC7B,IAAI,MAAM,IAAI,IAAI;wBAAE,OAAO,MAAM,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,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;oBACvB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAA;QACjC,CAAC;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"}
|
|
@@ -30,7 +30,6 @@ const DefaultExiftoolArgs_1 = require("./DefaultExiftoolArgs");
|
|
|
30
30
|
const DefaultMaxProcs_1 = require("./DefaultMaxProcs");
|
|
31
31
|
const FindExiftool_1 = require("./FindExiftool");
|
|
32
32
|
const GeoTz_1 = require("./GeoTz");
|
|
33
|
-
const IgnorableError_1 = require("./IgnorableError");
|
|
34
33
|
const IsWin32_1 = require("./IsWin32");
|
|
35
34
|
const VersionTask_1 = require("./VersionTask");
|
|
36
35
|
/**
|
|
@@ -64,7 +63,6 @@ exports.DefaultExifToolOptions = Object.freeze({
|
|
|
64
63
|
includeImageDataMD5: undefined,
|
|
65
64
|
inferTimezoneFromDatestamps: false, // to retain prior behavior
|
|
66
65
|
inferTimezoneFromDatestampTags: [...CapturedAtTagNames_1.CapturedAtTagNames],
|
|
67
|
-
isIgnorableError: IgnorableError_1.isIgnorableWarning,
|
|
68
66
|
numericTags: [
|
|
69
67
|
"*Duration*",
|
|
70
68
|
"GPSAltitude",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,6DAAyD;AACzD,+DAA2D;AAC3D,uDAAmD;AAEnD,iDAAoD;AACpD,mCAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,6DAAyD;AACzD,+DAA2D;AAC3D,uDAAmD;AAEnD,iDAAoD;AACpD,mCAA+B;AAC/B,uCAAmC;AAEnC,+CAA2C;AAE3C;;;GAGG;AACU,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;IAEtC,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE,aAAK;IACZ,oBAAoB,EAAE,IAAI;IAC1B,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,SAAS;IAC9B,2BAA2B,EAAE,KAAK,EAAE,2BAA2B;IAC/D,8BAA8B,EAAE,CAAC,GAAG,uCAAkB,CAAC;IACvD,WAAW,EAAE;QACX,YAAY;QACZ,aAAa;QACb,aAAa;QACb,cAAc;QACd,aAAa;QACb,aAAa;KACd;IACD,MAAM,EAAE,KAAK;CACd,CAAC,CAAA"}
|
package/dist/DefaultMaxProcs.js
CHANGED
|
@@ -24,6 +24,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.DefaultMaxProcs = void 0;
|
|
27
|
-
const _os = __importStar(require("os"));
|
|
27
|
+
const _os = __importStar(require("node:os"));
|
|
28
28
|
exports.DefaultMaxProcs = Math.max(1, Math.floor(_os.cpus().length / 4));
|
|
29
29
|
//# sourceMappingURL=DefaultMaxProcs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultMaxProcs.js","sourceRoot":"","sources":["../src/DefaultMaxProcs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"DefaultMaxProcs.js","sourceRoot":"","sources":["../src/DefaultMaxProcs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAEjB,QAAA,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/Defined.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Defined.js","sourceRoot":"","sources":["../src/Defined.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExifToolTask } from "./ExifToolTask";
|
|
2
|
+
export interface ErrorsAndWarnings {
|
|
3
|
+
/**
|
|
4
|
+
* This is a list of all critical errors raised by ExifTool during the read
|
|
5
|
+
* process.
|
|
6
|
+
*/
|
|
7
|
+
errors?: string[];
|
|
8
|
+
/**
|
|
9
|
+
* This is a list of all non-critical errors raised by ExifTool during the
|
|
10
|
+
* read process.
|
|
11
|
+
*
|
|
12
|
+
* Invalid field values are considered warnings and not errors, for example.
|
|
13
|
+
*/
|
|
14
|
+
warnings?: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare function errorsAndWarnings(task: ExifToolTask<any>, t?: {
|
|
17
|
+
Error?: string;
|
|
18
|
+
Warning?: string;
|
|
19
|
+
}): Required<ErrorsAndWarnings>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorsAndWarnings = void 0;
|
|
4
|
+
const Array_1 = require("./Array");
|
|
5
|
+
const String_1 = require("./String");
|
|
6
|
+
function errorsAndWarnings(task, t) {
|
|
7
|
+
return {
|
|
8
|
+
errors: (0, Array_1.uniq)((0, String_1.compactBlanks)([t === null || t === void 0 ? void 0 : t.Error, ...task.errors])),
|
|
9
|
+
warnings: (0, Array_1.uniq)((0, String_1.compactBlanks)([t === null || t === void 0 ? void 0 : t.Warning, ...task.warnings])),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
exports.errorsAndWarnings = errorsAndWarnings;
|
|
13
|
+
//# sourceMappingURL=ErrorsAndWarnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorsAndWarnings.js","sourceRoot":"","sources":["../src/ErrorsAndWarnings.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAE9B,qCAAwC;AAiBxC,SAAgB,iBAAiB,CAC/B,IAAuB,EACvB,CAAwC;IAExC,OAAO;QACL,MAAM,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,QAAQ,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC9D,CAAA;AACH,CAAC;AARD,8CAQC"}
|
package/dist/ExifTool.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as bc from "batch-cluster";
|
|
3
3
|
import { ApplicationRecordTags } from "./ApplicationRecordTags";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { Defined, DefinedOrNullValued } from "./Defined";
|
|
5
|
+
import { ErrorsAndWarnings } from "./ErrorsAndWarnings";
|
|
6
6
|
import { ExifToolOptions } from "./ExifToolOptions";
|
|
7
7
|
import { ExifToolTask } from "./ExifToolTask";
|
|
8
8
|
import { ICCProfileTags } from "./ICCProfileTags";
|
|
9
|
-
import { IgnorableError } from "./IgnorableError";
|
|
10
9
|
import { CollectionInfo, KeywordInfoStruct, KeywordStruct, MWGCollectionsTags, MWGKeywordTags } from "./MWGTags";
|
|
11
10
|
import { Maybe } from "./Maybe";
|
|
12
11
|
import { Omit } from "./Omit";
|
|
@@ -14,11 +13,12 @@ import { PreviewTag } from "./PreviewTag";
|
|
|
14
13
|
import { Json, Literal, RawTags } from "./RawTags";
|
|
15
14
|
import { ReadTaskOptions } from "./ReadTask";
|
|
16
15
|
import { ResourceEvent } from "./ResourceEvent";
|
|
16
|
+
import { ShortcutTags } from "./ShortcutTags";
|
|
17
17
|
import { Struct } from "./Struct";
|
|
18
18
|
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";
|
|
19
19
|
import { Version } from "./Version";
|
|
20
|
-
import { WriteTags } from "./WriteTags";
|
|
21
|
-
import { WriteTaskOptions } from "./WriteTask";
|
|
20
|
+
import { AdditionalWriteTags, ExpandedDateTags, MutableTags, StructAppendTags, WriteTags } from "./WriteTags";
|
|
21
|
+
import { WriteTaskOptions, WriteTaskResult } from "./WriteTask";
|
|
22
22
|
export { BinaryField } from "./BinaryField";
|
|
23
23
|
export { CapturedAtTagNames } from "./CapturedAtTagNames";
|
|
24
24
|
export { DefaultExifToolOptions } from "./DefaultExifToolOptions";
|
|
@@ -28,44 +28,11 @@ export { ExifDate } from "./ExifDate";
|
|
|
28
28
|
export { ExifDateTime } from "./ExifDateTime";
|
|
29
29
|
export { ExifTime } from "./ExifTime";
|
|
30
30
|
export { ExifToolTask } from "./ExifToolTask";
|
|
31
|
-
export { isIgnorableWarning } from "./IgnorableError";
|
|
32
31
|
export { parseJSON } from "./JSON";
|
|
33
32
|
export { DefaultReadTaskOptions } from "./ReadTask";
|
|
34
33
|
export { UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, defaultVideosToUTC, offsetMinutesToZoneName, } from "./Timezones";
|
|
35
34
|
export { DefaultWriteTaskOptions } from "./WriteTask";
|
|
36
|
-
export type { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, AdditionalWriteTags, ApplicationRecordTags, CollectionInfo, CompositeTags, EXIFTags, ExifToolOptions, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags,
|
|
37
|
-
/**
|
|
38
|
-
* @see https://exiftool.org/TagNames/Shortcuts.html
|
|
39
|
-
*/
|
|
40
|
-
export interface ShortcutTags {
|
|
41
|
-
/**
|
|
42
|
-
* Shortcut for writing the "common EXIF date/time tags": `DateTimeOriginal`,
|
|
43
|
-
* `CreateDate`, and `ModifyDate` tags.
|
|
44
|
-
*
|
|
45
|
-
* Only used by `write`. This tag is not returned by `read`.
|
|
46
|
-
*/
|
|
47
|
-
AllDates?: string;
|
|
48
|
-
}
|
|
49
|
-
type AdditionalWriteTags = {
|
|
50
|
-
"Orientation#"?: number;
|
|
51
|
-
};
|
|
52
|
-
type ExpandedDateTags = {
|
|
53
|
-
[K in keyof Tags]: (Tags[K] extends number ? number : Tags[K] extends ExifDateTime ? ExifDate | ExifDateTime : Tags[K]) | string;
|
|
54
|
-
};
|
|
55
|
-
export type Defined<T> = T extends undefined ? never : T;
|
|
56
|
-
export type DefinedOrNullValued<T> = {
|
|
57
|
-
[P in keyof T]: Defined<T[P]> | null;
|
|
58
|
-
};
|
|
59
|
-
export interface StructAppendTags {
|
|
60
|
-
/**
|
|
61
|
-
* Use this to **append** to existing History records.
|
|
62
|
-
*/
|
|
63
|
-
"History+"?: ResourceEvent | ResourceEvent[];
|
|
64
|
-
/**
|
|
65
|
-
* Use this to **append** to existing Version records.
|
|
66
|
-
*/
|
|
67
|
-
"Versions+"?: Version | Version[];
|
|
68
|
-
}
|
|
35
|
+
export type { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, AdditionalWriteTags, ApplicationRecordTags, CollectionInfo, CompositeTags, Defined, DefinedOrNullValued, EXIFTags, ErrorsAndWarnings, ExifToolOptions, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, JFIFTags, Json, KeywordInfoStruct, KeywordStruct, Literal, MPFTags, MWGCollectionsTags, MWGKeywordTags, MakerNotesTags, Maybe, MetaTags, MutableTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, RawTags, ReadTaskOptions, ResourceEvent, ShortcutTags, Struct, StructAppendTags, Tags, Version, WriteTags, WriteTaskOptions, WriteTaskResult, XMPTags, };
|
|
69
36
|
/**
|
|
70
37
|
* Manages delegating calls to a cluster of ExifTool child processes.
|
|
71
38
|
*
|
|
@@ -141,14 +108,14 @@ export declare class ExifTool {
|
|
|
141
108
|
* @memberof ExifTool
|
|
142
109
|
* @see https://exiftool.org/exiftool_pod.html#overwrite_original
|
|
143
110
|
*/
|
|
144
|
-
write(file: string, tags: WriteTags, args?: string[], options?: WriteTaskOptions): Promise<
|
|
111
|
+
write(file: string, tags: WriteTags, args?: string[], options?: WriteTaskOptions): Promise<WriteTaskResult>;
|
|
145
112
|
/**
|
|
146
113
|
* This will strip `file` of all metadata tags. The original file (with the
|
|
147
114
|
* name `${FILENAME}_original`) will be retained. Note that some tags, like
|
|
148
115
|
* stat information and image dimensions, are intrinsic to the file and will
|
|
149
116
|
* continue to exist if you re-`read` the file.
|
|
150
117
|
*/
|
|
151
|
-
deleteAllTags(file: string): Promise<
|
|
118
|
+
deleteAllTags(file: string): Promise<WriteTaskResult>;
|
|
152
119
|
/**
|
|
153
120
|
* Extract the low-resolution thumbnail in `path/to/image.jpg`
|
|
154
121
|
* and write it to `path/to/thumbnail.jpg`.
|
|
@@ -237,7 +204,7 @@ export declare class ExifTool {
|
|
|
237
204
|
*
|
|
238
205
|
* @see BinaryExtractionTask for an example task implementation
|
|
239
206
|
*/
|
|
240
|
-
enqueueTask<T>(task: () => ExifToolTask<T
|
|
207
|
+
enqueueTask<T>(task: () => ExifToolTask<T>, retriable?: boolean): Promise<T>;
|
|
241
208
|
/**
|
|
242
209
|
* @return the currently running ExifTool processes. Note that on Windows,
|
|
243
210
|
* these are only the process IDs of the directly-spawned ExifTool wrapper,
|
package/dist/ExifTool.js
CHANGED
|
@@ -32,11 +32,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
32
32
|
};
|
|
33
33
|
var _ExifTool_checkForPerl;
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.exiftool = exports.ExifTool = exports.DefaultWriteTaskOptions = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.DefaultReadTaskOptions = exports.parseJSON = exports.
|
|
35
|
+
exports.exiftool = exports.ExifTool = exports.DefaultWriteTaskOptions = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.DefaultReadTaskOptions = exports.parseJSON = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolOptions = exports.CapturedAtTagNames = exports.BinaryField = void 0;
|
|
36
36
|
const bc = __importStar(require("batch-cluster"));
|
|
37
|
-
const _cp = __importStar(require("child_process"));
|
|
38
|
-
const _fs = __importStar(require("fs"));
|
|
39
|
-
const
|
|
37
|
+
const _cp = __importStar(require("node:child_process"));
|
|
38
|
+
const _fs = __importStar(require("node:fs"));
|
|
39
|
+
const node_process_1 = __importDefault(require("node:process"));
|
|
40
40
|
const AsyncRetry_1 = require("./AsyncRetry");
|
|
41
41
|
const BinaryExtractionTask_1 = require("./BinaryExtractionTask");
|
|
42
42
|
const BinaryToBufferTask_1 = require("./BinaryToBufferTask");
|
|
@@ -71,8 +71,6 @@ var ExifTime_1 = require("./ExifTime");
|
|
|
71
71
|
Object.defineProperty(exports, "ExifTime", { enumerable: true, get: function () { return ExifTime_1.ExifTime; } });
|
|
72
72
|
var ExifToolTask_1 = require("./ExifToolTask");
|
|
73
73
|
Object.defineProperty(exports, "ExifToolTask", { enumerable: true, get: function () { return ExifToolTask_1.ExifToolTask; } });
|
|
74
|
-
var IgnorableError_1 = require("./IgnorableError");
|
|
75
|
-
Object.defineProperty(exports, "isIgnorableWarning", { enumerable: true, get: function () { return IgnorableError_1.isIgnorableWarning; } });
|
|
76
74
|
var JSON_1 = require("./JSON");
|
|
77
75
|
Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } });
|
|
78
76
|
var ReadTask_2 = require("./ReadTask");
|
|
@@ -124,8 +122,8 @@ class ExifTool {
|
|
|
124
122
|
});
|
|
125
123
|
const ignoreShebang = (_a = o.ignoreShebang) !== null && _a !== void 0 ? _a : _ignoreShebang();
|
|
126
124
|
const env = { ...o.exiftoolEnv, LANG: "C" };
|
|
127
|
-
if ((0, String_1.notBlank)(
|
|
128
|
-
env.EXIFTOOL_HOME =
|
|
125
|
+
if ((0, String_1.notBlank)(node_process_1.default.env.EXIFTOOL_HOME) && (0, String_1.blank)(env.EXIFTOOL_HOME)) {
|
|
126
|
+
env.EXIFTOOL_HOME = node_process_1.default.env.EXIFTOOL_HOME;
|
|
129
127
|
}
|
|
130
128
|
const spawnOpts = {
|
|
131
129
|
stdio: "pipe",
|
|
@@ -218,6 +216,8 @@ class ExifTool {
|
|
|
218
216
|
* @see https://exiftool.org/exiftool_pod.html#overwrite_original
|
|
219
217
|
*/
|
|
220
218
|
write(file, tags, args, options) {
|
|
219
|
+
// don't retry because writes might not be idempotent (e.g. incrementing
|
|
220
|
+
// timestamps by an hour)
|
|
221
221
|
const retriable = false;
|
|
222
222
|
return this.enqueueTask(() => WriteTask_1.WriteTask.for(file, tags, args, {
|
|
223
223
|
...(0, Pick_1.pick)(this.options, "useMWG"),
|
|
@@ -354,10 +354,7 @@ class ExifTool {
|
|
|
354
354
|
enqueueTask(task, retriable = true) {
|
|
355
355
|
const f = async () => {
|
|
356
356
|
await __classPrivateFieldGet(this, _ExifTool_checkForPerl, "f").call(this);
|
|
357
|
-
|
|
358
|
-
// if we have to add more options for every task, rethink this approach:
|
|
359
|
-
t.isIgnorableError = this.options.isIgnorableError;
|
|
360
|
-
return this.batchCluster.enqueueTask(t);
|
|
357
|
+
return this.batchCluster.enqueueTask(task());
|
|
361
358
|
};
|
|
362
359
|
return retriable ? (0, AsyncRetry_1.retryOnReject)(f, this.options.taskRetries) : f();
|
|
363
360
|
}
|
package/dist/ExifTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as bc from "batch-cluster";
|
|
3
3
|
import { geoTz } from "./GeoTz";
|
|
4
|
-
import { IgnorableError } from "./IgnorableError";
|
|
5
4
|
import { Tags } from "./Tags";
|
|
6
5
|
/**
|
|
7
6
|
* Options for the {@link ExifTool} constructor.
|
|
@@ -198,15 +197,5 @@ export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcess
|
|
|
198
197
|
* @see https://github.com/evansiroky/node-geo-tz/
|
|
199
198
|
*/
|
|
200
199
|
geoTz: typeof geoTz;
|
|
201
|
-
/**
|
|
202
|
-
* Predicate for error handling.
|
|
203
|
-
*
|
|
204
|
-
* ExifTool will emit error and warning messages for a variety of reasons.
|
|
205
|
-
*
|
|
206
|
-
* The default implementation ignores all errors that begin with "Warning:"
|
|
207
|
-
*
|
|
208
|
-
* @return true if the error should be ignored
|
|
209
|
-
*/
|
|
210
|
-
isIgnorableError: IgnorableError;
|
|
211
200
|
}
|
|
212
201
|
export declare function handleDeprecatedOptions<T extends Pick<ExifToolOptions, "includeImageDataMD5" | "imageHashType">>(options: T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolOptions.js","sourceRoot":"","sources":["../src/ExifToolOptions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ExifToolOptions.js","sourceRoot":"","sources":["../src/ExifToolOptions.ts"],"names":[],"mappings":";;;AAgOA,SAAgB,uBAAuB,CAErC,OAAU;IACV,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;QACzE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IACrE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAPD,0DAOC"}
|
package/dist/ExifToolTask.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as bc from "batch-cluster";
|
|
2
|
-
import { isIgnorableWarning } from "./IgnorableError";
|
|
3
2
|
export declare abstract class ExifToolTask<T> extends bc.Task<T> {
|
|
3
|
+
#private;
|
|
4
4
|
readonly args: string[];
|
|
5
|
-
isIgnorableError: typeof isIgnorableWarning;
|
|
6
5
|
static renderCommand(args: string[]): string;
|
|
7
6
|
readonly errors: string[];
|
|
7
|
+
readonly warnings: string[];
|
|
8
8
|
constructor(args: string[]);
|
|
9
9
|
protected abstract parse(input: string, error?: Error): T;
|
|
10
|
-
addError(err: string): void;
|
|
11
10
|
}
|
package/dist/ExifToolTask.js
CHANGED
|
@@ -22,36 +22,44 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
26
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
27
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
28
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
29
|
+
};
|
|
30
|
+
var _ExifToolTask_instances, _ExifToolTask_parser;
|
|
25
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
32
|
exports.ExifToolTask = void 0;
|
|
27
33
|
const bc = __importStar(require("batch-cluster"));
|
|
28
|
-
const
|
|
34
|
+
const IsWarning_1 = require("./IsWarning");
|
|
29
35
|
const String_1 = require("./String");
|
|
30
36
|
class ExifToolTask extends bc.Task {
|
|
31
37
|
static renderCommand(args) {
|
|
32
38
|
return [...args, "-ignoreMinorErrors", "-execute", ""].join("\n");
|
|
33
39
|
}
|
|
34
40
|
constructor(args) {
|
|
35
|
-
super(ExifToolTask.renderCommand(args), (stdout, stderr, passed) =>
|
|
36
|
-
|
|
37
|
-
if ((0, String_1.notBlank)(stderr) || !passed) {
|
|
38
|
-
const errMsg = (stderr !== null && stderr !== void 0 ? stderr : stdout)
|
|
39
|
-
.trim()
|
|
40
|
-
.replace(/error(?::\s*|\b)/i, "");
|
|
41
|
-
if (!this.isIgnorableError(errMsg)) {
|
|
42
|
-
this.errors.push(errMsg);
|
|
43
|
-
error = new Error(errMsg);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return this.parse(stdout, error);
|
|
47
|
-
});
|
|
41
|
+
super(ExifToolTask.renderCommand(args), (stdout, stderr, passed) => __classPrivateFieldGet(this, _ExifToolTask_instances, "m", _ExifToolTask_parser).call(this, stdout, stderr, passed));
|
|
42
|
+
_ExifToolTask_instances.add(this);
|
|
48
43
|
this.args = args;
|
|
49
|
-
this.isIgnorableError = IgnorableError_1.isIgnorableWarning;
|
|
50
44
|
this.errors = [];
|
|
51
|
-
|
|
52
|
-
addError(err) {
|
|
53
|
-
this.errors.push(err);
|
|
45
|
+
this.warnings = [];
|
|
54
46
|
}
|
|
55
47
|
}
|
|
56
48
|
exports.ExifToolTask = ExifToolTask;
|
|
49
|
+
_ExifToolTask_instances = new WeakSet(), _ExifToolTask_parser = function _ExifToolTask_parser(stdout, stderr, passed) {
|
|
50
|
+
let error;
|
|
51
|
+
if ((0, String_1.notBlank)(stderr) || !passed) {
|
|
52
|
+
for (const line of (0, String_1.splitLines)(stderr !== null && stderr !== void 0 ? stderr : "")) {
|
|
53
|
+
if ((0, IsWarning_1.isWarning)(line)) {
|
|
54
|
+
this.warnings.push(line);
|
|
55
|
+
}
|
|
56
|
+
else if (/error|warning/i.test(line)) {
|
|
57
|
+
this.errors.push(line);
|
|
58
|
+
// new Error() will add a "Error: " prefix:
|
|
59
|
+
error !== null && error !== void 0 ? error : (error = new Error(line.replace(/^error: /i, "")));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return this.parse(stdout, error);
|
|
64
|
+
};
|
|
57
65
|
//# sourceMappingURL=ExifToolTask.js.map
|
package/dist/ExifToolTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,2CAAuC;AAEvC,qCAA+C;AAE/C,MAAsB,YAAgB,SAAQ,EAAE,CAAC,IAAO;IACtD,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;IAKD,YAAqB,IAAc;QACjC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACjE,uBAAA,IAAI,qDAAQ,MAAZ,IAAI,EAAS,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACrC,CAAA;;QAHkB,SAAI,GAAJ,IAAI,CAAU;QAH1B,WAAM,GAAa,EAAE,CAAA;QACrB,aAAQ,GAAa,EAAE,CAAA;IAMhC,CAAC;CAmBF;AA/BD,oCA+BC;8FAjBS,MAAc,EAAE,MAA0B,EAAE,MAAe;IACjE,IAAI,KAAmB,CAAA;IACvB,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAA,mBAAU,EAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAA,qBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;iBAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtB,2CAA2C;gBAC3C,KAAK,aAAL,KAAK,cAAL,KAAK,IAAL,KAAK,GAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAA;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC"}
|
package/dist/File.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isFileEmpty = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
5
|
const String_1 = require("./String");
|
|
6
6
|
async function isFileEmpty(path) {
|
|
7
7
|
if ((0, String_1.blank)(path)) {
|
|
@@ -11,7 +11,7 @@ async function isFileEmpty(path) {
|
|
|
11
11
|
try {
|
|
12
12
|
const s = await new Promise((res, rej) => {
|
|
13
13
|
try {
|
|
14
|
-
(0,
|
|
14
|
+
(0, node_fs_1.stat)(path, (err, val) => (err == null ? res(val) : rej(err)));
|
|
15
15
|
}
|
|
16
16
|
catch (err) {
|
|
17
17
|
rej(err);
|
package/dist/File.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"File.js","sourceRoot":"","sources":["../src/File.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"File.js","sourceRoot":"","sources":["../src/File.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,qCAAgC;AAEzB,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,OAAO,CAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC;gBACH,IAAA,cAAI,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,GAAG,CAAC,CAAA;YACV,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;;YACjC,MAAM,GAAG,CAAA;IAChB,CAAC;AACH,CAAC;AAnBD,kCAmBC"}
|
package/dist/FindExiftool.js
CHANGED
|
@@ -24,8 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.DefaultExifToolPath = void 0;
|
|
27
|
-
const _fs = __importStar(require("fs"));
|
|
28
|
-
const _path = __importStar(require("path"));
|
|
27
|
+
const _fs = __importStar(require("node:fs"));
|
|
28
|
+
const _path = __importStar(require("node:path"));
|
|
29
29
|
const IsWin32_1 = require("./IsWin32");
|
|
30
30
|
function findExiftool() {
|
|
31
31
|
const path = require(`exiftool-vendored.${(0, IsWin32_1.isWin32)() ? "exe" : "pl"}`);
|
package/dist/FindExiftool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindExiftool.js","sourceRoot":"","sources":["../src/FindExiftool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"FindExiftool.js","sourceRoot":"","sources":["../src/FindExiftool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,iDAAkC;AAClC,uCAAmC;AAEnC,SAAS,YAAY;IACnB,MAAM,IAAI,GAAW,OAAO,CAAC,qBAAqB,IAAA,iBAAO,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7E,2EAA2E;IAC3E,6BAA6B;IAC7B,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,SAAS;IACT,MAAM,SAAS,GAAG,IAAI;SACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;SAChB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElB,4EAA4E;IAC5E,yEAAyE;IACzE,aAAa;IACb,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;AAChE,CAAC;AAEY,QAAA,mBAAmB,GAAG,YAAY,EAAE,CAAA"}
|
|
@@ -7,4 +7,4 @@ export interface IgnorableError {
|
|
|
7
7
|
* undefined, errors without a message, warnings about duplicate tags, and
|
|
8
8
|
* ICC_Profile deletions.
|
|
9
9
|
*/
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function isWarning(err: Maybe<Error | string>): boolean;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isWarning = void 0;
|
|
4
4
|
const String_1 = require("./String");
|
|
5
|
+
// These are ignorable:
|
|
5
6
|
// Warning: Duplicate MakerNoteUnknown tag in ExifIFD
|
|
6
|
-
//
|
|
7
|
-
|
|
7
|
+
// These are not:
|
|
8
|
+
// Warning: Tag 'INVALID_TAG_NAME' is not defined
|
|
9
|
+
const WarningRE = /^warning: duplicate \w+ tag|^error: nothing to write|^nothing to do|^warning: icc_profile deleted/i;
|
|
8
10
|
/**
|
|
9
11
|
* This is the default implementation of IgnorableError, and ignores null,
|
|
10
12
|
* undefined, errors without a message, warnings about duplicate tags, and
|
|
11
13
|
* ICC_Profile deletions.
|
|
12
14
|
*/
|
|
13
|
-
function
|
|
15
|
+
function isWarning(err) {
|
|
16
|
+
if (err == null)
|
|
17
|
+
return true;
|
|
14
18
|
const msg = (err instanceof Error ? err.message : (0, String_1.toS)(err)).trim();
|
|
15
|
-
return (0, String_1.blank)(msg) ||
|
|
19
|
+
return (0, String_1.blank)(msg) || WarningRE.test(msg);
|
|
16
20
|
}
|
|
17
|
-
exports.
|
|
18
|
-
//# sourceMappingURL=
|
|
21
|
+
exports.isWarning = isWarning;
|
|
22
|
+
//# sourceMappingURL=IsWarning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsWarning.js","sourceRoot":"","sources":["../src/IsWarning.ts"],"names":[],"mappings":";;;AACA,qCAAqC;AAMrC,uBAAuB;AACvB,qDAAqD;AAErD,iBAAiB;AACjB,iDAAiD;AAEjD,MAAM,SAAS,GACb,oGAAoG,CAAA;AACtG;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAA0B;IAClD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAClE,OAAO,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC;AAJD,8BAIC"}
|
package/dist/IsWin32.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.isWin32 = void 0;
|
|
27
|
-
const _os = __importStar(require("os"));
|
|
27
|
+
const _os = __importStar(require("node:os"));
|
|
28
28
|
const Lazy_1 = require("./Lazy");
|
|
29
29
|
exports.isWin32 = (0, Lazy_1.lazy)(() => _os.platform() === "win32");
|
|
30
30
|
//# sourceMappingURL=IsWin32.js.map
|
package/dist/IsWin32.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsWin32.js","sourceRoot":"","sources":["../src/IsWin32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"IsWin32.js","sourceRoot":"","sources":["../src/IsWin32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,iCAA6B;AAEhB,QAAA,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAA"}
|
package/dist/RawTags.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ErrorsAndWarnings } from "./ErrorsAndWarnings";
|
|
1
2
|
export type Literal = string | number | boolean;
|
|
2
3
|
export type Json = Literal | {
|
|
3
4
|
[key: string]: Json;
|
|
@@ -7,4 +8,4 @@ export type Json = Literal | {
|
|
|
7
8
|
*
|
|
8
9
|
* @see https://github.com/photostructure/exiftool-vendored.js/issues/138
|
|
9
10
|
*/
|
|
10
|
-
export type RawTags = Record<string, Json
|
|
11
|
+
export type RawTags = Record<string, Json> & ErrorsAndWarnings;
|