exiftool-vendored 21.4.0 → 21.5.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 CHANGED
@@ -25,6 +25,20 @@ vendored versions of ExifTool match the version that they vendor.
25
25
 
26
26
  ## Version history
27
27
 
28
+ ### v21.5.0
29
+
30
+ - ✨ Added support for ExifTool's [MWG Composite
31
+ Tags](https://exiftool.org/TagNames/MWG.html). Set the new
32
+ [`ExifToolOptions.useMWG`](https://photostructure.github.io/exiftool-vendored.js/interfaces/ExifToolOptions.html#useMWG)
33
+ option to `true` to enable.
34
+
35
+ - ✨ Added support for ExifTool's new `ImageDataMD5` feature. Set the new
36
+ [`ExifToolOptions.includeImageDataMD5`](https://photostructure.github.io/exiftool-vendored.js/interfaces/ExifToolOptions.html#includeImageDataMD5)
37
+ option to `true` to enable.
38
+
39
+ - 📦 Extracted options-related code into modules to remove a couple circular
40
+ dependencies. Exports should make this transparent to external clients.
41
+
28
42
  ### v21.4.0
29
43
 
30
44
  - 🐞 Improved types from `ExifTool.readRaw()`. Thanks for the suggestion, [Silvio Brändle](https://github.com/photostructure/exiftool-vendored.js/issues/138)!
@@ -0,0 +1,7 @@
1
+ import { ExifToolOptions } from "./ExifToolOptions";
2
+ import { Omit } from "./Omit";
3
+ /**
4
+ * Default values for `ExifToolOptions`, except for `processFactory` (which is
5
+ * created by the ExifTool constructor)
6
+ */
7
+ export declare const DefaultExifToolOptions: Omit<ExifToolOptions, "processFactory" | "ignoreShebang">;
@@ -0,0 +1,70 @@
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.DefaultExifToolOptions = void 0;
27
+ const bc = __importStar(require("batch-cluster"));
28
+ const DefaultExiftoolArgs_1 = require("./DefaultExiftoolArgs");
29
+ const DefaultMaxProcs_1 = require("./DefaultMaxProcs");
30
+ const FindExiftool_1 = require("./FindExiftool");
31
+ const GeoTz_1 = require("./GeoTz");
32
+ const IgnorableError_1 = require("./IgnorableError");
33
+ const VersionTask_1 = require("./VersionTask");
34
+ /**
35
+ * Default values for `ExifToolOptions`, except for `processFactory` (which is
36
+ * created by the ExifTool constructor)
37
+ */
38
+ exports.DefaultExifToolOptions = Object.freeze({
39
+ ...new bc.BatchClusterOptions(),
40
+ maxProcs: DefaultMaxProcs_1.DefaultMaxProcs,
41
+ maxTasksPerProcess: 500,
42
+ spawnTimeoutMillis: 30000,
43
+ // see https://github.com/photostructure/exiftool-vendored.js/issues/34 :
44
+ taskTimeoutMillis: 20000,
45
+ onIdleIntervalMillis: 2000,
46
+ taskRetries: 1,
47
+ exiftoolPath: FindExiftool_1.DefaultExifToolPath,
48
+ exiftoolArgs: DefaultExiftoolArgs_1.DefaultExiftoolArgs,
49
+ exiftoolEnv: {},
50
+ pass: "{ready}",
51
+ fail: "{ready}",
52
+ exitCommand: "-stay_open\nFalse\n",
53
+ versionCommand: new VersionTask_1.VersionTask().command,
54
+ healthCheckIntervalMillis: 30000,
55
+ healthCheckCommand: "-ver\n-execute\n",
56
+ useMWG: false,
57
+ numericTags: [
58
+ "*Duration*",
59
+ "GPSAltitude",
60
+ "GPSLatitude",
61
+ "GPSLongitude",
62
+ "GPSPosition",
63
+ "Orientation",
64
+ ],
65
+ includeImageDataMD5: false,
66
+ defaultVideosToUTC: true,
67
+ geoTz: GeoTz_1.geoTz,
68
+ isIgnorableError: IgnorableError_1.isIgnorableWarning,
69
+ });
70
+ //# sourceMappingURL=DefaultExifToolOptions.js.map
@@ -0,0 +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;AAErD,+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,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,KAAK;IAC1B,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE,aAAK;IACZ,gBAAgB,EAAE,mCAAkB;CACrC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const DefaultExiftoolArgs: string[];
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultExiftoolArgs = void 0;
4
+ exports.DefaultExiftoolArgs = ["-stay_open", "True", "-@", "-"];
5
+ //# sourceMappingURL=DefaultExiftoolArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultExiftoolArgs.js","sourceRoot":"","sources":["../src/DefaultExiftoolArgs.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const DefaultMaxProcs: number;
@@ -0,0 +1,29 @@
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.DefaultMaxProcs = void 0;
27
+ const _os = __importStar(require("os"));
28
+ exports.DefaultMaxProcs = Math.max(1, Math.floor(_os.cpus().length / 4));
29
+ //# sourceMappingURL=DefaultMaxProcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultMaxProcs.js","sourceRoot":"","sources":["../src/DefaultMaxProcs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyB;AAEZ,QAAA,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA"}
@@ -1,6 +1,9 @@
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";
4
7
  import { ExifDate } from "./ExifDate";
5
8
  import { ExifDateTime } from "./ExifDateTime";
6
9
  import { ExifToolOptions } from "./ExifToolOptions";
@@ -10,11 +13,14 @@ import { IgnorableError } from "./IgnorableError";
10
13
  import { Maybe } from "./Maybe";
11
14
  import { Omit } from "./Omit";
12
15
  import { PreviewTag } from "./PreviewTag";
13
- import { RawTags } from "./RawTags";
16
+ import { Json, Literal, RawTags } from "./RawTags";
17
+ import { DefaultReadTaskOptions, ReadTaskOptions } from "./ReadTask";
14
18
  import { ResourceEvent } from "./ResourceEvent";
15
19
  import { Struct } from "./Struct";
16
- 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";
20
+ import { APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MakerNotesTags, MetaTags, MPFTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, Tags, XMPTags } from "./Tags";
17
21
  import { Version } from "./Version";
22
+ import { WriteTags } from "./WriteTags";
23
+ import { DefaultWriteTaskOptions, WriteTaskOptions } from "./WriteTask";
18
24
  export { BinaryField } from "./BinaryField";
19
25
  export { ExifDate } from "./ExifDate";
20
26
  export { ExifDateTime } from "./ExifDateTime";
@@ -22,10 +28,8 @@ export { ExifTime } from "./ExifTime";
22
28
  export { ExifToolTask } from "./ExifToolTask";
23
29
  export { isIgnorableWarning } from "./IgnorableError";
24
30
  export { parseJSON } from "./JSON";
25
- export { UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, defaultVideosToUTC, offsetMinutesToZoneName, } from "./Timezones";
26
- export type { AdditionalWriteTags, APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolOptions, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IgnorableError, IPTCTags, JFIFTags, MakerNotesTags, Maybe, MetaTags, MPFTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RawTags, ResourceEvent, RIFFTags, Struct, Tags, Version, XMPTags, };
27
- export declare const DefaultExifToolPath: string;
28
- export declare const DefaultExiftoolArgs: string[];
31
+ export { defaultVideosToUTC, offsetMinutesToZoneName, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, } from "./Timezones";
32
+ export type { AdditionalWriteTags, APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, DefaultExiftoolArgs, DefaultExifToolOptions, DefaultMaxProcs, DefaultReadTaskOptions, DefaultWriteTaskOptions, EXIFTags, ExifToolOptions, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IgnorableError, IPTCTags, JFIFTags, Json, Literal, MakerNotesTags, Maybe, MetaTags, MPFTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RawTags, ReadTaskOptions, ResourceEvent, RIFFTags, Struct, Tags, Version, WriteTags, WriteTaskOptions, XMPTags, };
29
33
  /**
30
34
  * @see https://exiftool.org/TagNames/Shortcuts.html
31
35
  */
@@ -58,13 +62,6 @@ export interface StructAppendTags {
58
62
  */
59
63
  "Versions+"?: Version | Version[];
60
64
  }
61
- export type WriteTags = DefinedOrNullValued<ShortcutTags & AdditionalWriteTags & ExpandedDateTags & StructAppendTags>;
62
- export declare const DefaultMaxProcs: number;
63
- /**
64
- * Default values for `ExifToolOptions`, except for `processFactory` (which is
65
- * created by the ExifTool constructor)
66
- */
67
- export declare const DefaultExifToolOptions: Omit<ExifToolOptions, "processFactory" | "ignoreShebang">;
68
65
  /**
69
66
  * Manages delegating calls to a vendored running instance of ExifTool.
70
67
  *
@@ -87,37 +84,43 @@ export declare class ExifTool {
87
84
  * Read the tags in `file`.
88
85
  *
89
86
  * @param {string} file the file to extract metadata tags from
90
- * @param {string[]} [optionalArgs] any additional ExifTool arguments, like "-fast" or
91
- * "-fast2". **Most other arguments will require you to use `readRaw`.**
92
- * Note that the default is "-fast", so if you want ExifTool to read the
93
- * entire file for metadata, you should pass an empty array as the second
94
- * parameter. See https://exiftool.org/#performance for
95
- * more information about `-fast` and `-fast2`.
87
+ *
88
+ * @param {string[]} [optionalArgs] any additional ExifTool arguments, like
89
+ * "-fast" or "-fast2". **Most other arguments will require you to use
90
+ * `readRaw`.** Note that the default is "-fast", so if you want ExifTool to
91
+ * read the entire file for metadata, you should pass an empty array as the
92
+ * second parameter. See https://exiftool.org/#performance for more
93
+ * information about `-fast` and `-fast2`.
94
+ *
96
95
  * @returns {Promise<Tags>} A resolved Tags promise. If there are errors
97
96
  * during reading, the `.errors` field will be present.
98
- * @memberof ExifTool
99
97
  */
100
- read<T extends Tags = Tags>(file: string, optionalArgs?: string[]): Promise<T>;
98
+ read<T extends Tags = Tags>(file: string, optionalArgs?: string[], options?: ReadTaskOptions): Promise<T>;
101
99
  /**
102
- * Read the tags from `file`, without any post-processing of ExifTool values.
100
+ * Read the tags from `file`, without any post-processing of ExifTool
101
+ * values.
103
102
  *
104
- * **You probably want `read`, not this method. READ THE REST OF THIS COMMENT
105
- * CAREFULLY.**
103
+ * **You probably want `read`, not this method. READ THE REST OF THIS
104
+ * COMMENT CAREFULLY.**
106
105
  *
107
- * If you want to extract specific tag values from a file, you may want to use
108
- * this, but all data validation and inference heuristics provided by `read`
109
- * will be skipped.
106
+ * If you want to extract specific tag values from a file, you may want to
107
+ * use this, but all data validation and inference heuristics provided by
108
+ * `read` will be skipped.
110
109
  *
111
- * Note that performance will be very similar to `read`, and will actually be
112
- * worse if you don't include `-fast` or `-fast2` (as the most expensive bit
113
- * is the perl interpreter and scanning the file on disk).
110
+ * Note that performance will be very similar to `read`, and will actually
111
+ * be worse if you don't include `-fast` or `-fast2` (as the most expensive
112
+ * bit is the perl interpreter and scanning the file on disk).
114
113
  *
115
- * @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.
114
+ * @param args any additional arguments other than the file path. Note that
115
+ * "-json", and the Windows unicode filename handler flags, "-charset
116
+ * filename=utf8", will be added automatically.
116
117
  *
117
118
  * @return Note that the return value will be similar to `Tags`, but with no
118
- * date, time, or other rich type parsing that you get from `.read()`. The field values will be `string | number | string[]`.
119
+ * date, time, or other rich type parsing that you get from `.read()`. The
120
+ * field values will be `string | number | string[]`.
119
121
  *
120
- * @see https://github.com/photostructure/exiftool-vendored.js/issues/44
122
+ * @see https://github.com/photostructure/exiftool-vendored.js/issues/44 for
123
+ * typing details.
121
124
  */
122
125
  readRaw(file: string, args?: string[]): Promise<RawTags>;
123
126
  /**
@@ -132,7 +135,7 @@ export declare class ExifTool {
132
135
  * there are errors or warnings.
133
136
  * @memberof ExifTool
134
137
  */
135
- write(file: string, tags: WriteTags, args?: string[]): Promise<void>;
138
+ write(file: string, tags: WriteTags, args?: string[], options?: WriteTaskOptions): Promise<void>;
136
139
  /**
137
140
  * This will strip `file` of all metadata tags. The original file (with the
138
141
  * name `${FILENAME}_original`) will be retained. Note that some tags, like
package/dist/ExifTool.js CHANGED
@@ -26,21 +26,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.parseJSON = exports.isIgnorableWarning = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.BinaryField = void 0;
29
+ exports.exiftool = exports.ExifTool = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.parseJSON = exports.isIgnorableWarning = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.BinaryField = void 0;
30
30
  const bc = __importStar(require("batch-cluster"));
31
31
  const _cp = __importStar(require("child_process"));
32
32
  const _fs = __importStar(require("fs"));
33
- const _os = __importStar(require("os"));
34
- const _path = __importStar(require("path"));
35
33
  const process_1 = __importDefault(require("process"));
36
34
  const AsyncRetry_1 = require("./AsyncRetry");
37
35
  const BinaryExtractionTask_1 = require("./BinaryExtractionTask");
38
36
  const BinaryToBufferTask_1 = require("./BinaryToBufferTask");
37
+ const DefaultExifToolOptions_1 = require("./DefaultExifToolOptions");
39
38
  const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
40
- const GeoTz_1 = require("./GeoTz");
41
- const IgnorableError_1 = require("./IgnorableError");
42
39
  const IsWin32_1 = require("./IsWin32");
43
40
  const Lazy_1 = require("./Lazy");
41
+ const Pick_1 = require("./Pick");
44
42
  const ReadRawTask_1 = require("./ReadRawTask");
45
43
  const ReadTask_1 = require("./ReadTask");
46
44
  const RewriteAllTagsTask_1 = require("./RewriteAllTagsTask");
@@ -57,77 +55,17 @@ var ExifTime_1 = require("./ExifTime");
57
55
  Object.defineProperty(exports, "ExifTime", { enumerable: true, get: function () { return ExifTime_1.ExifTime; } });
58
56
  var ExifToolTask_1 = require("./ExifToolTask");
59
57
  Object.defineProperty(exports, "ExifToolTask", { enumerable: true, get: function () { return ExifToolTask_1.ExifToolTask; } });
60
- var IgnorableError_2 = require("./IgnorableError");
61
- Object.defineProperty(exports, "isIgnorableWarning", { enumerable: true, get: function () { return IgnorableError_2.isIgnorableWarning; } });
58
+ var IgnorableError_1 = require("./IgnorableError");
59
+ Object.defineProperty(exports, "isIgnorableWarning", { enumerable: true, get: function () { return IgnorableError_1.isIgnorableWarning; } });
62
60
  var JSON_1 = require("./JSON");
63
61
  Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } });
64
62
  var Timezones_1 = require("./Timezones");
63
+ Object.defineProperty(exports, "defaultVideosToUTC", { enumerable: true, get: function () { return Timezones_1.defaultVideosToUTC; } });
64
+ Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } });
65
65
  Object.defineProperty(exports, "UnsetZone", { enumerable: true, get: function () { return Timezones_1.UnsetZone; } });
66
66
  Object.defineProperty(exports, "UnsetZoneName", { enumerable: true, get: function () { return Timezones_1.UnsetZoneName; } });
67
67
  Object.defineProperty(exports, "UnsetZoneOffsetMinutes", { enumerable: true, get: function () { return Timezones_1.UnsetZoneOffsetMinutes; } });
68
- Object.defineProperty(exports, "defaultVideosToUTC", { enumerable: true, get: function () { return Timezones_1.defaultVideosToUTC; } });
69
- Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } });
70
- function findExiftool() {
71
- const path = require(`exiftool-vendored.${(0, IsWin32_1.isWin32)() ? "exe" : "pl"}`);
72
- // This s/app.asar/app.asar.unpacked/ path switch adds support for Electron
73
- // apps that are ASAR-packed.
74
- // Note that we can't check for electron because child processes that are
75
- // spawned by the main process will most likely need the ELECTRON_RUN_AS_NODE
76
- // environment variable set, which will unset the process.versions.electron
77
- // field.
78
- const fixedPath = path
79
- .split(_path.sep)
80
- .map((ea) => (ea === "app.asar" ? "app.asar.unpacked" : ea))
81
- .join(_path.sep);
82
- // Note also, that we must check for the fixedPath first, because Electron's
83
- // ASAR shenanigans will make existsSync return true even for asar-packed
84
- // resources.
85
- if (_fs.existsSync(fixedPath)) {
86
- return fixedPath;
87
- }
88
- if (_fs.existsSync(path)) {
89
- return path;
90
- }
91
- throw new Error(`Vendored ExifTool does not exist at ${path}`);
92
- }
93
- exports.DefaultExifToolPath = findExiftool();
94
- exports.DefaultExiftoolArgs = ["-stay_open", "True", "-@", "-"];
95
68
  const _ignoreShebang = (0, Lazy_1.lazy)(() => !(0, IsWin32_1.isWin32)() && !_fs.existsSync("/usr/bin/perl"));
96
- exports.DefaultMaxProcs = Math.max(1, Math.floor(_os.cpus().length / 4));
97
- /**
98
- * Default values for `ExifToolOptions`, except for `processFactory` (which is
99
- * created by the ExifTool constructor)
100
- */
101
- exports.DefaultExifToolOptions = Object.freeze({
102
- ...new bc.BatchClusterOptions(),
103
- maxProcs: exports.DefaultMaxProcs,
104
- maxTasksPerProcess: 500,
105
- spawnTimeoutMillis: 30000,
106
- // see https://github.com/photostructure/exiftool-vendored.js/issues/34 :
107
- taskTimeoutMillis: 20000,
108
- onIdleIntervalMillis: 2000,
109
- taskRetries: 1,
110
- exiftoolPath: exports.DefaultExifToolPath,
111
- exiftoolArgs: exports.DefaultExiftoolArgs,
112
- exiftoolEnv: {},
113
- pass: "{ready}",
114
- fail: "{ready}",
115
- exitCommand: "-stay_open\nFalse\n",
116
- versionCommand: new VersionTask_1.VersionTask().command,
117
- healthCheckIntervalMillis: 30000,
118
- healthCheckCommand: "-ver\n-execute\n",
119
- numericTags: [
120
- "*Duration*",
121
- "GPSAltitude",
122
- "GPSLatitude",
123
- "GPSLongitude",
124
- "GPSPosition",
125
- "Orientation",
126
- ],
127
- defaultVideosToUTC: true,
128
- geoTz: GeoTz_1.geoTz,
129
- isIgnorableError: IgnorableError_1.isIgnorableWarning,
130
- });
131
69
  /**
132
70
  * Manages delegating calls to a vendored running instance of ExifTool.
133
71
  *
@@ -146,7 +84,7 @@ class ExifTool {
146
84
  throw new Error("Please update caller to the new ExifTool constructor API");
147
85
  }
148
86
  const o = {
149
- ...exports.DefaultExifToolOptions,
87
+ ...DefaultExifToolOptions_1.DefaultExifToolOptions,
150
88
  ...options,
151
89
  };
152
90
  const ignoreShebang = (_a = o.ignoreShebang) !== null && _a !== void 0 ? _a : _ignoreShebang();
@@ -184,44 +122,49 @@ class ExifTool {
184
122
  * Read the tags in `file`.
185
123
  *
186
124
  * @param {string} file the file to extract metadata tags from
187
- * @param {string[]} [optionalArgs] any additional ExifTool arguments, like "-fast" or
188
- * "-fast2". **Most other arguments will require you to use `readRaw`.**
189
- * Note that the default is "-fast", so if you want ExifTool to read the
190
- * entire file for metadata, you should pass an empty array as the second
191
- * parameter. See https://exiftool.org/#performance for
192
- * more information about `-fast` and `-fast2`.
125
+ *
126
+ * @param {string[]} [optionalArgs] any additional ExifTool arguments, like
127
+ * "-fast" or "-fast2". **Most other arguments will require you to use
128
+ * `readRaw`.** Note that the default is "-fast", so if you want ExifTool to
129
+ * read the entire file for metadata, you should pass an empty array as the
130
+ * second parameter. See https://exiftool.org/#performance for more
131
+ * information about `-fast` and `-fast2`.
132
+ *
193
133
  * @returns {Promise<Tags>} A resolved Tags promise. If there are errors
194
134
  * during reading, the `.errors` field will be present.
195
- * @memberof ExifTool
196
135
  */
197
- read(file, optionalArgs = ["-fast"]) {
136
+ read(file, optionalArgs = ["-fast"], options) {
198
137
  return this.enqueueTask(() => ReadTask_1.ReadTask.for(file, {
199
138
  optionalArgs,
200
- numericTags: this.options.numericTags,
201
- defaultVideosToUTC: this.options.defaultVideosToUTC,
202
- geoTz: this.options.geoTz,
139
+ ...(0, Pick_1.pick)(this.options, "numericTags", "useMWG", "includeImageDataMD5", "defaultVideosToUTC", "geoTz"),
140
+ ...options,
203
141
  })); // < no way to know at compile time if we're going to get back a T!
204
142
  }
205
143
  /**
206
- * Read the tags from `file`, without any post-processing of ExifTool values.
144
+ * Read the tags from `file`, without any post-processing of ExifTool
145
+ * values.
207
146
  *
208
- * **You probably want `read`, not this method. READ THE REST OF THIS COMMENT
209
- * CAREFULLY.**
147
+ * **You probably want `read`, not this method. READ THE REST OF THIS
148
+ * COMMENT CAREFULLY.**
210
149
  *
211
- * If you want to extract specific tag values from a file, you may want to use
212
- * this, but all data validation and inference heuristics provided by `read`
213
- * will be skipped.
150
+ * If you want to extract specific tag values from a file, you may want to
151
+ * use this, but all data validation and inference heuristics provided by
152
+ * `read` will be skipped.
214
153
  *
215
- * Note that performance will be very similar to `read`, and will actually be
216
- * worse if you don't include `-fast` or `-fast2` (as the most expensive bit
217
- * is the perl interpreter and scanning the file on disk).
154
+ * Note that performance will be very similar to `read`, and will actually
155
+ * be worse if you don't include `-fast` or `-fast2` (as the most expensive
156
+ * bit is the perl interpreter and scanning the file on disk).
218
157
  *
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.
158
+ * @param args any additional arguments other than the file path. Note that
159
+ * "-json", and the Windows unicode filename handler flags, "-charset
160
+ * filename=utf8", will be added automatically.
220
161
  *
221
162
  * @return Note that the return value will be similar to `Tags`, but with no
222
- * date, time, or other rich type parsing that you get from `.read()`. The field values will be `string | number | string[]`.
163
+ * date, time, or other rich type parsing that you get from `.read()`. The
164
+ * field values will be `string | number | string[]`.
223
165
  *
224
- * @see https://github.com/photostructure/exiftool-vendored.js/issues/44
166
+ * @see https://github.com/photostructure/exiftool-vendored.js/issues/44 for
167
+ * typing details.
225
168
  */
226
169
  readRaw(file, args = []) {
227
170
  return this.enqueueTask(() => ReadRawTask_1.ReadRawTask.for(file, args));
@@ -238,9 +181,12 @@ class ExifTool {
238
181
  * there are errors or warnings.
239
182
  * @memberof ExifTool
240
183
  */
241
- write(file, tags, args) {
184
+ write(file, tags, args, options) {
242
185
  const retriable = false;
243
- return this.enqueueTask(() => WriteTask_1.WriteTask.for(file, tags, args), retriable);
186
+ return this.enqueueTask(() => WriteTask_1.WriteTask.for(file, tags, args, {
187
+ ...(0, Pick_1.pick)(this.options, "useMWG"),
188
+ ...options,
189
+ }), retriable);
244
190
  }
245
191
  /**
246
192
  * This will strip `file` of all metadata tags. The original file (with the
@@ -1 +1 @@
1
- {"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
@@ -61,14 +61,40 @@ export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcess
61
61
  */
62
62
  exiftoolEnv: NodeJS.ProcessEnv;
63
63
  /**
64
- * Tag names (which can have '*' glob matchers) which you want numeric values,
65
- * rather than ExifTool's "Print Conversion."
64
+ * Should ExifTool use MWG (Metadata Working Group) composite tags for
65
+ * reading and writing tags?
66
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.
67
+ * ExifTool recommends this to be set to true.
68
+ *
69
+ * Note that this can result in many tag value differences from
70
+ * `ExifTool.read`, and makes `ExifTool.write` write to "synonymous" MWG
71
+ * tags automatically.
72
+ *
73
+ * @see https://exiftool.org/TagNames/MWG.html for details
74
+ */
75
+ useMWG: boolean;
76
+ /**
77
+ * Tag names (which can have '*' glob matchers) which you want numeric
78
+ * values, rather than ExifTool's "Print Conversion."
79
+ *
80
+ * If you're using tag values only for human consumption, you may want to
81
+ * leave this blank.
82
+ *
83
+ * The default includes "*Duration*", "GPSAltitude", "GPSLatitude",
84
+ * "GPSLongitude", "GPSPosition", and "Orientation".
70
85
  */
71
86
  numericTags: string[];
87
+ /**
88
+ * If set to true, ExifTool will attempt to calculate an "ImageDataMD5" tag
89
+ * value with the MD5 checksum of image data.
90
+ *
91
+ * Note that as of 2022-04-12, ExifTool supports JPEG, PNG, and many raw
92
+ * image formats, like CR2 and NEF. It doesn't yet support HEIC/HEIF, ORF,
93
+ * GIF, and many video formats, like MP4 and MTS.
94
+ *
95
+ * This defaults to false, as it adds ~20ms of overhead to every read
96
+ */
97
+ includeImageDataMD5: boolean;
72
98
  /**
73
99
  * Video file dates are assumed to be in UTC, rather than using timezone
74
100
  * inference used in images. To disable this default, set this to false.
@@ -0,0 +1 @@
1
+ export declare const DefaultExifToolPath: string;
@@ -0,0 +1,54 @@
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.DefaultExifToolPath = void 0;
27
+ const _fs = __importStar(require("fs"));
28
+ const _path = __importStar(require("path"));
29
+ const IsWin32_1 = require("./IsWin32");
30
+ function findExiftool() {
31
+ const path = require(`exiftool-vendored.${(0, IsWin32_1.isWin32)() ? "exe" : "pl"}`);
32
+ // This s/app.asar/app.asar.unpacked/ path switch adds support for Electron
33
+ // apps that are ASAR-packed.
34
+ // Note that we can't check for electron because child processes that are
35
+ // spawned by the main process will most likely need the ELECTRON_RUN_AS_NODE
36
+ // environment variable set, which will unset the process.versions.electron
37
+ // field.
38
+ const fixedPath = path
39
+ .split(_path.sep)
40
+ .map((ea) => (ea === "app.asar" ? "app.asar.unpacked" : ea))
41
+ .join(_path.sep);
42
+ // Note also, that we must check for the fixedPath first, because Electron's
43
+ // ASAR shenanigans will make existsSync return true even for asar-packed
44
+ // resources.
45
+ if (_fs.existsSync(fixedPath)) {
46
+ return fixedPath;
47
+ }
48
+ if (_fs.existsSync(path)) {
49
+ return path;
50
+ }
51
+ throw new Error(`Vendored ExifTool does not exist at ${path}`);
52
+ }
53
+ exports.DefaultExifToolPath = findExiftool();
54
+ //# sourceMappingURL=FindExiftool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindExiftool.js","sourceRoot":"","sources":["../src/FindExiftool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyB;AACzB,4CAA6B;AAC7B,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;QAC7B,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;AAChE,CAAC;AAEY,QAAA,mBAAmB,GAAG,YAAY,EAAE,CAAA"}
package/dist/Pick.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function pick<T, K extends keyof T>(obj: T, ...keyNames: K[]): Pick<T, K>;
package/dist/Pick.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pick = void 0;
4
+ function pick(obj, ...keyNames) {
5
+ if (obj == null)
6
+ return obj;
7
+ const result = {};
8
+ for (const key of keyNames) {
9
+ const v = obj[key];
10
+ if (v !== undefined)
11
+ result[key] = obj[key];
12
+ }
13
+ return result;
14
+ }
15
+ exports.pick = pick;
16
+ //# sourceMappingURL=Pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pick.js","sourceRoot":"","sources":["../src/Pick.ts"],"names":[],"mappings":";;;AAAA,SAAgB,IAAI,CAClB,GAAM,EACN,GAAG,QAAa;IAEhB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,CAAA;IAC3B,MAAM,MAAM,GAAG,EAAS,CAAA;IACxB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;KAC5C;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAXD,oBAWC"}
package/dist/RawTags.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- type Literal = string | number | boolean;
2
- type Json = Literal | {
1
+ export type Literal = string | number | boolean;
2
+ export type Json = Literal | {
3
3
  [key: string]: Json;
4
4
  } | Json[];
5
5
  /**
@@ -8,4 +8,3 @@ type Json = Literal | {
8
8
  * @see https://github.com/photostructure/exiftool-vendored.js/issues/138
9
9
  */
10
10
  export type RawTags = Record<string, Json>;
11
- export {};
@@ -1,10 +1,15 @@
1
- import { ExifToolOptions } from "./ExifToolOptions";
2
1
  import { ExifToolTask } from "./ExifToolTask";
3
2
  import { Tags } from "./Tags";
4
3
  export declare function nullish(s: string | undefined): s is undefined;
5
- export type ReadTaskOptions = {
6
- optionalArgs: string[];
7
- } & Pick<ExifToolOptions, "numericTags" | "defaultVideosToUTC" | "geoTz">;
4
+ export declare const DefaultReadTaskOptions: {
5
+ readonly useMWG: boolean;
6
+ readonly numericTags: string[];
7
+ readonly includeImageDataMD5: boolean;
8
+ readonly defaultVideosToUTC: boolean;
9
+ readonly geoTz: typeof import("./GeoTz").geoTz;
10
+ readonly optionalArgs: string[];
11
+ };
12
+ export type ReadTaskOptions = typeof DefaultReadTaskOptions;
8
13
  export declare class ReadTask extends ExifToolTask<Tags> {
9
14
  #private;
10
15
  readonly sourceFile: string;
@@ -22,7 +27,7 @@ export declare class ReadTask extends ExifToolTask<Tags> {
22
27
  private tz;
23
28
  private tzSource?;
24
29
  private constructor();
25
- static for(filename: string, options: ReadTaskOptions): ReadTask;
30
+ static for(filename: string, options: Partial<ReadTaskOptions>): ReadTask;
26
31
  toString(): string;
27
32
  parse(data: string, err?: Error): Tags;
28
33
  }
package/dist/ReadTask.js CHANGED
@@ -29,10 +29,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
29
29
  };
30
30
  var _ReadTask_instances, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.ReadTask = exports.nullish = void 0;
32
+ exports.ReadTask = exports.DefaultReadTaskOptions = exports.nullish = void 0;
33
33
  const batch_cluster_1 = require("batch-cluster");
34
34
  const _path = __importStar(require("path"));
35
35
  const BinaryField_1 = require("./BinaryField");
36
+ const DefaultExifToolOptions_1 = require("./DefaultExifToolOptions");
36
37
  const ExifDate_1 = require("./ExifDate");
37
38
  const ExifDateTime_1 = require("./ExifDateTime");
38
39
  const ExifTime_1 = require("./ExifTime");
@@ -42,6 +43,7 @@ const FirstDateTime_1 = require("./FirstDateTime");
42
43
  const Lazy_1 = require("./Lazy");
43
44
  const Maybe_1 = require("./Maybe");
44
45
  const Number_1 = require("./Number");
46
+ const Pick_1 = require("./Pick");
45
47
  const String_1 = require("./String");
46
48
  const Timezones_1 = require("./Timezones");
47
49
  /**
@@ -59,6 +61,10 @@ function nullish(s) {
59
61
  return s == null || ((0, String_1.isString)(s) && NullIsh.includes(s.trim()));
60
62
  }
61
63
  exports.nullish = nullish;
64
+ exports.DefaultReadTaskOptions = {
65
+ optionalArgs: [],
66
+ ...(0, Pick_1.pick)(DefaultExifToolOptions_1.DefaultExifToolOptions, "numericTags", "useMWG", "includeImageDataMD5", "defaultVideosToUTC", "geoTz"),
67
+ };
62
68
  class ReadTask extends ExifToolTask_1.ExifToolTask {
63
69
  constructor(sourceFile, args, options) {
64
70
  super(args);
@@ -97,21 +103,26 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
97
103
  this.tags.errors = this.errors;
98
104
  }
99
105
  static for(filename, options) {
100
- var _a, _b;
106
+ const opts = { ...exports.DefaultReadTaskOptions, ...options };
101
107
  const sourceFile = _path.resolve(filename);
102
108
  const args = [
103
109
  ...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs,
104
110
  "-json",
105
111
  "-struct",
106
- ...((_a = options.optionalArgs) !== null && _a !== void 0 ? _a : []),
112
+ ...opts.optionalArgs,
107
113
  ];
114
+ if (opts.useMWG) {
115
+ args.push("-use", "MWG");
116
+ }
117
+ if (opts.includeImageDataMD5) {
118
+ args.push("-imagedatamd5");
119
+ }
108
120
  // IMPORTANT: "-all" must be after numeric tag references (first reference
109
121
  // in wins)
110
- args.push(...((_b = options.numericTags) !== null && _b !== void 0 ? _b : []).map((ea) => "-" + ea + "#"));
111
- // TODO: Do you need -xmp:all, -all, or -all:all?
122
+ args.push(...opts.numericTags.map((ea) => "-" + ea + "#"));
123
+ // TODO: Do you need -xmp:all, -all, or -all:all? Is -* better?
112
124
  args.push("-all", sourceFile);
113
- // console.log("new ReadTask()", { sourceFile, args })
114
- return new ReadTask(sourceFile, args, options);
125
+ return new ReadTask(sourceFile, args, opts);
115
126
  }
116
127
  toString() {
117
128
  return "ReadTask" + this.sourceFile + ")";
@@ -156,9 +167,9 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
156
167
  __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_extractTzOffset).call(this);
157
168
  (0, Maybe_1.map)(this.tz, (ea) => (this.tags.tz = ea));
158
169
  (0, Maybe_1.map)(this.tzSource, (ea) => (this.tags.tzSource = ea));
159
- const t = this.tags; // tsc hack :(
160
170
  for (const key of Object.keys(this._raw)) {
161
- t[key] = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key), this._raw[key]);
171
+ const val = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key), this._raw[key]);
172
+ this.tags[key] = val;
162
173
  }
163
174
  if (this.errors.length > 0)
164
175
  this.tags.errors = this.errors;
@@ -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,+DAA+D;AAC/D,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;QAsF7B,kCAAiB,IAAA,WAAI,EAAC,GAAG,EAAE;;YACzB,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,EAAS,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,EAAA;YACjD,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,EAAS,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,EAAA;YACnD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,CAAA;aAChC;QACH,CAAC,CAAC,EAAA;QA6BF,0BAAS,IAAA,WAAI,EAAC,GAAG,EAAE;YACjB,uBAAA,IAAI,+BAAe,MAAnB,IAAI,CAAiB,CAAA;YACrB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;gBAAE,OAAM;YACtE,IAAI;gBACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBACpD,OAAO,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAA;aAC5B;YAAC,MAAM;gBACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,OAAM;aACP;QACH,CAAC,CAAC,EAAA;QAzHA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,EAAU,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,QAAgB,EAAE,OAAwB;;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG;YACX,GAAG,6CAAuB;YAC1B,OAAO;YACP,SAAS;YACT,GAAG,CAAC,MAAA,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC;SAChC,CAAA;QACD,0EAA0E;QAC1E,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QACrE,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE7B,sDAAsD;QACtD,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAEQ,QAAQ;QACf,OAAO,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,GAAW;QAC7B,IAAI;YACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;SAChC;QAAC,OAAO,SAAS,EAAE;YAClB,iCAAiC;YACjC,IAAA,sBAAM,GAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACjD,IAAI;gBACJ,GAAG;gBACH,SAAS;aACV,CAAC,CAAA;YACF,MAAM,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,SAAS,CAAA;SACvB;QACD,8FAA8F;QAC9F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtD,wDAAwD;QACxD,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,gFAAgF;YAChF,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,EAAE,CAC/F,CAAA;SACF;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBAC9C,IAAI,CAAC,KAAK,CAAC,uBAAA,IAAI,8CAAS,MAAb,IAAI,EAAU,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACnE,CAAC,CAAC,CAAA;SACH;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;SACvB;QAED,OAAO,uBAAA,IAAI,gDAAW,MAAf,IAAI,CAAa,CAAA;IAC1B,CAAC;CAoMF;AAhRD,4BAgRC;8JAlMU,CAAS;;IAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC;IAGC,uBAAA,IAAI,+BAAe,MAAnB,IAAI,CAAiB,CAAA;IACrB,uBAAA,IAAI,sDAAiB,MAArB,IAAI,CAAmB,CAAA;IACvB,IAAA,WAAG,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACzC,IAAA,WAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,GAAQ,IAAI,CAAC,IAAI,CAAA,CAAC,cAAc;IACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxC,CAAC,CAAC,GAAG,CAAC,GAAG,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,uBAAA,IAAI,8CAAS,MAAb,IAAI,EAAU,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;KAC5D;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC1D,OAAO,IAAI,CAAC,IAAY,CAAA;AAC1B,CAAC,+CAWC,OAAuC,EACvC,SAAoB,EACpB,QAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,QAAQ,CAAC,CAAA;IAChC,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,OAAM;KACP;SAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAM;KACP;SAAM,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;QACrB,kHAAkH;QAClH,OAAO,MAAM,CAAA;KACd;SAAM;QACL,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,OAAO;QACP,MAAM,QAAQ,GAAG,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KAC9C;AACH,CAAC;IAeC,IAAA,WAAG,EACD,IAAA,yBAAiB,EAAC;QAChB,sEAAsE;QACtE,uCAAuC;QACvC,GAAG,EAAE;YACH,MAAM,EAAE,GAAG,IAAA,mCAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9C,oHAAoH;YACpH,MAAM,CAAC,GAAG,IAAA,yBAAa,EAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,EAAE,CAAC,CAAA;YAC/B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBAC3B,MAAM,KAAK,GAAG,uBAAA,IAAI,uBAAO,MAAX,IAAI,CAAS,CAAA;gBAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,MAAM,GAAG,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACpC,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;wBACzB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACpC,IAAI,OAAO,KAAK,WAAW,EAAE;4BAC3B,OAAO;gCACL,EAAE,EAAE,KAAK,CAAC,IAAI;gCACd,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,6BAA6B;6BAC5C,CAAA;yBACF;qBACF;iBACF;aACF;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,wEAAwE;QAExE,wGAAwG;QAExG,yEAAyE;QACzE,kEAAkE;QAClE,0BAA0B;QAC1B,GAAG,EAAE;;YACH,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,0CAAE,UAAU,CAAC,QAAQ,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI;gBACtC,CAAC,CAAC,sEAAsE;oBACtE,MAAA,IAAA,mCAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,mCAAI;wBACrC,EAAE,EAAE,KAAK;wBACT,GAAG,EAAE,oBAAoB;qBAC1B;gBACH,CAAC,CAAC,kBAAkB;oBAClB,SAAS,CAAA;SAAA;QAEf,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,EAAE,CACH,IAAA,WAAG,EAAC,uBAAA,IAAI,uBAAO,MAAX,IAAI,CAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,EAAE,CAAC,IAAI;YACX,GAAG,EAAE,0BAA0B;SAChC,CAAC,CAAC;QAEL,6CAA6C;QAC7C,GAAG,EAAE,CAAC,IAAA,wCAA4B,EAAC,IAAI,CAAC,KAAK,CAAC;KAC/C,CAAC,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CACnD,CAAA;AACH,CAAC,mDAES,OAAe,EAAE,KAAU;;IACnC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEpC,IAAI;QACF,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzC,OAAO,KAAK,CAAA;SACb;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;SACtD;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,MAAM,GAAQ,EAAE,CAAA;YACtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,CAAC,EAAE,CAAC,CAAC,CAAA;aACjC;YACD,OAAO,MAAM,CAAA;SACd;QACD,IAAI,OAAO,KAAK,aAAa,EAAE;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAA;SAChB;QACD,IAAI,OAAO,KAAK,cAAc,EAAE;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAA;SAChB;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,CAAC,GAAG,yBAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAA;YAEvB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;YAClD,IACE,OAAO,KAAK,MAAM;gBAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1B,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC3C;gBACA,MAAM,CAAC,GACL,MAAA,2BAAY,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,mCACtC,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;gBACjC,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,CAAC,CAAA;aACxB;YACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAClD,MAAM,CAAC;gBACL,kEAAkE;gBAClE,MAAA,MAAA,MAAA,MAAA,MAAA,2BAAY,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,mCACtC,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mCAC/B,2BAAY,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,mCACrC,mBAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,mCAC9B,mBAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,mCACvB,mBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAE/B,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,OAAO,CAAC,CAAA;iBACT;aACF;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC5B,MAAM,CAAC,GAAG,mBAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAClC,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,CAAC,CAAA;aACxB;SACF;QACD,wEAAwE;QACxE,OAAO,KAAK,CAAA;KACb;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,QAAQ,CACX,mBAAmB,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CACvE,CAAA;QACD,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAGH,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
package/dist/Tags.d.ts CHANGED
@@ -28,7 +28,7 @@ export interface FileTags {
28
28
  CurrentIPTCDigest?: string;
29
29
  /** ★★★★ ✔ Example: "/home/username/pictures" */
30
30
  Directory?: string;
31
- /** ★★★★ ✔ Example: "2023:04:11 09:41:22-07:00" */
31
+ /** ★★★★ ✔ Example: "2023:04:12 11:10:21-07:00" */
32
32
  FileAccessDate?: ExifDateTime | string;
33
33
  /** ★★★★ ✔ Example: "2023:01:30 11:33:43-08:00" */
34
34
  FileInodeChangeDate?: ExifDateTime | string;
@@ -44,6 +44,8 @@ export interface FileTags {
44
44
  FileType?: string;
45
45
  /** ★★★★ ✔ Example: "rw2" */
46
46
  FileTypeExtension?: string;
47
+ /** ☆☆☆☆ Example: */
48
+ ImageDataMD5?: string;
47
49
  /** ★★★★ ✔ Example: 8 */
48
50
  ImageHeight?: number;
49
51
  /** ☆☆☆☆ ✔ Example: 230400 */
@@ -202,7 +204,7 @@ export interface APP1Tags {
202
204
  CreatorSoftware?: string;
203
205
  /** ☆☆☆☆ Example: "2013:03:12 16:31:26" */
204
206
  DateTimeGenerated?: ExifDateTime | string;
205
- /** ☆☆☆☆ Example: "(Binary data 275008 bytes, use -b option to extract)" */
207
+ /** ☆☆☆☆ Example: "(Binary data 1011393 bytes, use -b option to extract)" */
206
208
  EmbeddedImage?: BinaryField | string;
207
209
  /** ☆☆☆☆ Example: 960 */
208
210
  EmbeddedImageHeight?: number;
@@ -810,7 +812,7 @@ export interface EXIFTags {
810
812
  SubjectDistance?: string;
811
813
  /** ★★★☆ ✔ Example: "Unknown (4400)" */
812
814
  SubjectDistanceRange?: string;
813
- /** ★★★★ ✔ Example: "(Binary data 12652 bytes, use -b option to extract)" */
815
+ /** ★★★★ ✔ Example: "(Binary data 10202 bytes, use -b option to extract)" */
814
816
  ThumbnailImage?: BinaryField;
815
817
  /** ☆☆☆☆ ✔ Example: "(Binary data 57816 bytes, use -b option to extract)" */
816
818
  ThumbnailTIFF?: BinaryField;
@@ -818,7 +820,7 @@ export interface EXIFTags {
818
820
  TileByteCounts?: BinaryField | string;
819
821
  /** ☆☆☆☆ ✔ Example: 512 */
820
822
  TileLength?: number;
821
- /** ☆☆☆☆ ✔ Example: "(Binary data 508 bytes, use -b option to extract)" */
823
+ /** ☆☆☆☆ ✔ Example: "(Binary data 507 bytes, use -b option to extract)" */
822
824
  TileOffsets?: BinaryField | string;
823
825
  /** ☆☆☆☆ ✔ Example: 512 */
824
826
  TileWidth?: number;
@@ -844,7 +846,7 @@ export interface EXIFTags {
844
846
  WaterDepth?: number;
845
847
  /** ☆☆☆☆ ✔ Example: "0.4234 0.399" */
846
848
  WhitePoint?: string;
847
- /** ☆☆☆☆ ✔ Example: "Nom De Plume" */
849
+ /** ☆☆☆☆ ✔ Example: "Norm De Plume" */
848
850
  XPAuthor?: string;
849
851
  /** ☆☆☆☆ ✔ Example: "This is a comment." */
850
852
  XPComment?: string;
@@ -886,7 +888,7 @@ export interface APP6Tags {
886
888
  WhiteBalance?: string;
887
889
  }
888
890
  export interface FlashPixTags {
889
- /** ☆☆☆☆ Example: "(Binary data 18 bytes, use -b option to extract)" */
891
+ /** ☆☆☆☆ Example: "(Binary data 20796 bytes, use -b option to extract)" */
890
892
  AudioStream?: BinaryField | string;
891
893
  /** ☆☆☆☆ ✔ Example: "Unicode UTF-16, little endian" */
892
894
  CodePage?: string;
@@ -904,7 +906,7 @@ export interface FlashPixTags {
904
906
  ExtensionName?: string;
905
907
  /** ☆☆☆☆ ✔ Example: "Invalidated By Modification" */
906
908
  ExtensionPersistence?: string;
907
- /** ☆☆☆☆ ✔ Example: "(Binary data 57881 bytes, use -b option to extract)" */
909
+ /** ☆☆☆☆ ✔ Example: "(Binary data 46285 bytes, use -b option to extract)" */
908
910
  ScreenNail?: BinaryField | string;
909
911
  /** ☆☆☆☆ ✔ Example: 1 */
910
912
  UsedExtensionNumbers?: number;
@@ -1050,7 +1052,7 @@ export interface PhotoshopTags {
1050
1052
  PhotoshopFormat?: string;
1051
1053
  /** ☆☆☆☆ ✔ Example: 9 */
1052
1054
  PhotoshopQuality?: number;
1053
- /** ☆☆☆☆ ✔ Example: "(Binary data 4291 bytes, use -b option to extract)" */
1055
+ /** ☆☆☆☆ ✔ Example: "(Binary data 5768 bytes, use -b option to extract)" */
1054
1056
  PhotoshopThumbnail?: BinaryField | string;
1055
1057
  /** ☆☆☆☆ ✔ Example: 1 */
1056
1058
  PixelAspectRatio?: number;
@@ -1080,7 +1082,7 @@ export interface QuickTimeTags {
1080
1082
  AudioSampleRate?: number;
1081
1083
  /** ☆☆☆☆ ✔ Example: "Panasonic" */
1082
1084
  AudioVendorID?: string;
1083
- /** ☆☆☆☆ ✔ Example: "Nom De Plume" */
1085
+ /** ☆☆☆☆ ✔ Example: "Norm De Plume" */
1084
1086
  Author?: string;
1085
1087
  /** ☆☆☆☆ ✔ Example: "65535 65535 65535" */
1086
1088
  BackgroundColor?: string;
@@ -1996,7 +1998,7 @@ export interface MakerNotesTags {
1996
1998
  DSPFirmwareVersion?: string;
1997
1999
  /** ☆☆☆☆ ✔ Example: "Yes" */
1998
2000
  DarkFocusEnvironment?: string;
1999
- /** ★★☆☆ ✔ Example: "(Binary data 114 bytes, use -b option to extract)" */
2001
+ /** ★★☆☆ ✔ Example: "(Binary data 280 bytes, use -b option to extract)" */
2000
2002
  DataDump?: BinaryField | string;
2001
2003
  /** ☆☆☆☆ ✔ Example: 8289 */
2002
2004
  DataScaling?: number;
@@ -2542,8 +2544,6 @@ export interface MakerNotesTags {
2542
2544
  HDRShot?: string;
2543
2545
  /** ☆☆☆☆ ✔ Example: "n/a" */
2544
2546
  HDRSmoothing?: string;
2545
- /** ★☆☆☆ ✔ Example: "n/a" */
2546
- HighISONoiseReduction?: string;
2547
2547
  /** ☆☆☆☆ Example: 4 */
2548
2548
  HighLowKeyAdj?: number;
2549
2549
  /** ☆☆☆☆ ✔ Example: "Off" */
@@ -3108,7 +3108,7 @@ export interface MakerNotesTags {
3108
3108
  NDFilter?: string;
3109
3109
  /** ☆☆☆☆ ✔ Example: "Uncompressed (reduced to 12 bit)" */
3110
3110
  NEFCompression?: string;
3111
- /** ☆☆☆☆ ✔ Example: "(Binary data 624 bytes, use -b option to extract)" */
3111
+ /** ☆☆☆☆ ✔ Example: "(Binary data 46 bytes, use -b option to extract)" */
3112
3112
  NEFLinearizationTable?: BinaryField | string;
3113
3113
  /** ☆☆☆☆ Example: "Off (0 2)" */
3114
3114
  NeutralDensityFilter?: string;
@@ -4497,8 +4497,8 @@ export interface XMPTags {
4497
4497
  * devices (like iPhones) An example value, JSON stringified, follows the
4498
4498
  * popularity ratings.
4499
4499
  *
4500
- * Autogenerated by "yarn mktags" by ExifTool 12.60 on Tue Apr 11 2023.
4501
- * 3053 unique tags were found in 10079 photo and video files.
4500
+ * Autogenerated by "yarn mktags" by ExifTool 12.60 on Wed Apr 12 2023.
4501
+ * 3054 unique tags were found in 10079 photo and video files.
4502
4502
  */
4503
4503
  export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
4504
4504
  errors?: string[];
@@ -0,0 +1,2 @@
1
+ import { AdditionalWriteTags, DefinedOrNullValued, ExpandedDateTags, ShortcutTags, StructAppendTags } from "./ExifTool";
2
+ export type WriteTags = DefinedOrNullValued<ShortcutTags & AdditionalWriteTags & ExpandedDateTags & StructAppendTags>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WriteTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteTags.js","sourceRoot":"","sources":["../src/WriteTags.ts"],"names":[],"mappings":""}
@@ -1,11 +1,15 @@
1
- import { WriteTags } from "./ExifTool";
2
1
  import { ExifToolTask } from "./ExifToolTask";
2
+ import { WriteTags } from "./WriteTags";
3
3
  export declare function htmlEncode(s: string): string;
4
+ export declare const DefaultWriteTaskOptions: {
5
+ readonly useMWG: boolean;
6
+ };
7
+ export type WriteTaskOptions = typeof DefaultWriteTaskOptions;
4
8
  export declare class WriteTask extends ExifToolTask<void> {
5
9
  readonly sourceFile: string;
6
10
  readonly args: string[];
7
11
  private constructor();
8
- static for(filename: string, tags: WriteTags, extraArgs?: string[]): Promise<WriteTask | ExifToolTask<void>>;
12
+ static for(filename: string, tags: WriteTags, extraArgs?: string[], options?: Partial<WriteTaskOptions>): Promise<WriteTask | ExifToolTask<void>>;
9
13
  toString(): string;
10
14
  protected parse(data: string, error: Error): void;
11
15
  }
package/dist/WriteTask.js CHANGED
@@ -23,17 +23,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.WriteTask = exports.htmlEncode = void 0;
26
+ exports.WriteTask = exports.DefaultWriteTaskOptions = exports.htmlEncode = void 0;
27
27
  const he_1 = require("he");
28
28
  const _path = __importStar(require("path"));
29
29
  const Array_1 = require("./Array");
30
30
  const DateTime_1 = require("./DateTime");
31
+ const DefaultExifToolOptions_1 = require("./DefaultExifToolOptions");
31
32
  const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
32
33
  const ExifToolTask_1 = require("./ExifToolTask");
33
34
  const File_1 = require("./File");
34
35
  const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
35
36
  const Number_1 = require("./Number");
36
37
  const Object_1 = require("./Object");
38
+ const Pick_1 = require("./Pick");
37
39
  const String_1 = require("./String");
38
40
  const Struct_1 = require("./Struct");
39
41
  const VersionTask_1 = require("./VersionTask");
@@ -81,14 +83,17 @@ function enc(o, structValue = false) {
81
83
  throw new Error("cannot encode " + JSON.stringify(o));
82
84
  }
83
85
  }
86
+ exports.DefaultWriteTaskOptions = {
87
+ ...(0, Pick_1.pick)(DefaultExifToolOptions_1.DefaultExifToolOptions, "useMWG"),
88
+ };
84
89
  class WriteTask extends ExifToolTask_1.ExifToolTask {
85
90
  constructor(sourceFile, args) {
86
91
  super(args);
87
92
  this.sourceFile = sourceFile;
88
93
  this.args = args;
89
94
  }
90
- static async for(filename, tags, extraArgs = []) {
91
- var _a, _b;
95
+ static async for(filename, tags, extraArgs = [], options) {
96
+ var _a, _b, _c;
92
97
  const sourceFile = _path.resolve(filename);
93
98
  const args = [
94
99
  ...FilenameCharsetArgs_1.Utf8FilenameCharsetArgs,
@@ -96,6 +101,9 @@ class WriteTask extends ExifToolTask_1.ExifToolTask {
96
101
  `${sep}`,
97
102
  "-E", // < html encoding https://exiftool.org/faq.html#Q10
98
103
  ];
104
+ if ((_a = options === null || options === void 0 ? void 0 : options.useMWG) !== null && _a !== void 0 ? _a : exports.DefaultWriteTaskOptions.useMWG) {
105
+ args.push("-use", "MWG");
106
+ }
99
107
  // ExifTool complains "Nothing to write" if the task will only remove values
100
108
  // and the file is missing.
101
109
  if ((extraArgs.length === 0 ||
@@ -110,10 +118,10 @@ class WriteTask extends ExifToolTask_1.ExifToolTask {
110
118
  // https://exiftool.org/forum/index.php?topic=14488.0 and
111
119
  // https://github.com/photostructure/exiftool-vendored.js/issues/131
112
120
  if ((0, Number_1.isNumber)(tags.GPSLatitude)) {
113
- (_a = tags.GPSLatitudeRef) !== null && _a !== void 0 ? _a : (tags.GPSLatitudeRef = tags.GPSLatitude >= 0 ? "N" : "S");
121
+ (_b = tags.GPSLatitudeRef) !== null && _b !== void 0 ? _b : (tags.GPSLatitudeRef = tags.GPSLatitude >= 0 ? "N" : "S");
114
122
  }
115
123
  if ((0, Number_1.isNumber)(tags.GPSLongitude)) {
116
- (_b = tags.GPSLongitudeRef) !== null && _b !== void 0 ? _b : (tags.GPSLongitudeRef = tags.GPSLongitude >= 0 ? "E" : "W");
124
+ (_c = tags.GPSLongitudeRef) !== null && _c !== void 0 ? _c : (tags.GPSLongitudeRef = tags.GPSLongitude >= 0 ? "E" : "W");
117
125
  }
118
126
  for (const key of (0, Object_1.keys)(tags)) {
119
127
  const val = tags[key];
@@ -1 +1 @@
1
- {"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,4CAA6B;AAC7B,mCAAyC;AACzC,yCAAuD;AACvD,qEAAiE;AACjE,2DAAuD;AACvD,iDAA6C;AAC7C,iCAAoC;AACpC,+DAA+D;AAE/D,qCAAmC;AACnC,qCAA+B;AAC/B,iCAA6B;AAC7B,qCAAmC;AACnC,qCAAmC;AACnC,+CAA2C;AAG3C,MAAM,SAAS,GAAG,qCAAqC,CAAA;AACvD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA,CAAC,mBAAmB;AAEvD,+EAA+E;AAC/E,kBAAkB;AAClB,SAAgB,UAAU,CAAC,CAAS;IAClC,OAAO;IACL,wFAAwF;IACxF,IAAA,WAAM,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACpD,qEAAqE;SACpE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CACtE,CAAA;AACH,CAAC;AAPD,gCAOC;AAED,SAAS,GAAG,CAAC,CAAM,EAAE,WAAW,GAAG,KAAK;IACtC,IAAI,CAAC,IAAI,IAAI,EAAE;QACb,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;KACjB;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,wCAAwC;QACxC,iDAAiD;QACjD,OAAO,UAAU,CACf,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;QACD,kCAAkC;KACnC;SAAM,IAAI,IAAA,uBAAY,EAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,IAAA,uBAAY,EAAC,CAAC,CAAC,CAAA;KACvB;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,EAAE,CAAC,IAAI,IAAA,iBAAQ,EAAC,EAAE,CAAC,CAAC,CAAA;QACpE,OAAO,cAAc;YACnB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;KAC5C;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,iDAAiD;QACjD,OAAO,IAAI,IAAA,aAAI,EAAC,CAAC,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;KAChB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;KACtD;AACH,CAAC;AAEY,QAAA,uBAAuB,GAAG;IACrC,GAAG,IAAA,WAAI,EAAC,+CAAsB,EAAE,QAAQ,CAAC;CACjC,CAAA;AAIV,MAAa,SAAU,SAAQ,2BAAkB;IAC/C,YACW,UAAkB,EACT,IAAc;QAEhC,KAAK,CAAC,IAAI,CAAC,CAAA;QAHF,eAAU,GAAV,UAAU,CAAQ;QACT,SAAI,GAAJ,IAAI,CAAU;IAGlC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,QAAgB,EAChB,IAAe,EACf,YAAsB,EAAE,EACxB,OAAmC;;QAEnC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAa;YACrB,GAAG,6CAAuB;YAC1B,MAAM;YACN,GAAG,GAAG,EAAE;YACR,IAAI,EAAE,oDAAoD;SAC3D,CAAA;QAED,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,+BAAuB,CAAC,MAAM,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;SACzB;QAED,4EAA4E;QAC5E,2BAA2B;QAE3B,IACE,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACrB,IAAA,uBAAe,EAAC,SAAS,EAAE,qCAAiB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC;YAC7C,CAAC,MAAM,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC,EAC7B;YACA,SAAS;YACT,OAAO,IAAI,yBAAW,EAAS,CAAA;SAChC;QAED,wEAAwE;QACxE,wCAAwC;QACxC,yDAAyD;QACzD,oEAAoE;QACpE,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9B,MAAA,IAAI,CAAC,cAAc,oCAAnB,IAAI,CAAC,cAAc,GAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAA;SAC1D;QACD,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC/B,MAAA,IAAI,CAAC,eAAe,oCAApB,IAAI,CAAC,eAAe,GAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAA;SAC5D;QAED,KAAK,MAAM,GAAG,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACjC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrB,6DAA6D;QAC7D,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAEQ,QAAQ;QACf,OAAO,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC7C,CAAC;IAES,KAAK,CAAC,IAAY,EAAE,KAAY;QACxC,6DAA6D;QAC7D,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,KAAK,CAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAClE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAChC,OAAM;SACP;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAA;SAC/C;IACH,CAAC;CACF;AA7ED,8BA6EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exiftool-vendored",
3
- "version": "21.4.0",
3
+ "version": "21.5.0",
4
4
  "description": "Efficient, cross-platform access to ExifTool",
5
5
  "main": "./dist/ExifTool.js",
6
6
  "types": "./dist/ExifTool.d.ts",