exiftool-vendored 18.1.0 → 18.2.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,11 +25,29 @@ vendored versions of ExifTool match the version that they vendor.
25
25
 
26
26
  ## Version history
27
27
 
28
+ ### v18.2.0
29
+
30
+ - ✨ Add support for alternative gps timezone lookup libraries. If you want to use `geo-tz` instead, use something like this:
31
+
32
+ ```js
33
+ const geoTz = require("geo-tz")
34
+ const { ExifTool } = require("exiftool-vendored")
35
+ const exiftool = new ExifTool({ geoToTz: (lat, lon) => geoTz.find(lat, lon)[0] })
36
+ ```
37
+
38
+ - ✨ If a timezone offset tag is present, _and_ GPS metadata can infer a timezone, _and_ they result in the same offset, `Tags.tz` will use the GPS zone name (like `America/Los_Angeles`).
39
+
40
+ - 🐞 We now only apply timezone offset defaults to tag values that are lacking in explicit offsets and are not always encoded in UTC.
41
+
42
+ - 📦 Timezone "normalization" to a single timezone is no longer applied--if a datetime tag has an offset, the ExifDateTime value should retain that offset value now. Use `ExifDateTime.setZone` if you want to normalize any instance.
43
+
44
+ - 📦 Restore `GPSPosition` to the default `numericTags` so all GPS lat/lon values are consistent.
45
+
28
46
  ### v18.1.0
29
47
 
30
- - 📦 Switch from the abandoned `tz-lookup` package to `@photostructure/tz-lookup`. Note that this uses an updated time zone geo database, so some time zone names and geo shapes have changed.
48
+ - 📦 Switch from the abandoned `tz-lookup` package to [`@photostructure/tz-lookup`](https://github.com/photostructure/tz-lookup). Note that this uses an updated time zone geo database, so some time zone names and geo shapes have changed.
31
49
 
32
- - 🐞 The `GPSPosition` tag is no longer included in the default set of numeric tags, as this results in ExifTool returning two floats, whitespace-separated. Use `GPSLatitude` and `GPSLongitude` instead.
50
+ - 📦 The `GPSPosition` tag is no longer included in the default set of numeric tags, as this results in ExifTool returning two floats, whitespace-separated. Use `GPSLatitude` and `GPSLongitude` instead.
33
51
 
34
52
  ### v18.0.0
35
53
 
package/README.md CHANGED
@@ -5,7 +5,6 @@
5
5
  [![npm version](https://img.shields.io/npm/v/exiftool-vendored.svg)](https://www.npmjs.com/package/exiftool-vendored)
6
6
  [![Node.js CI](https://github.com/photostructure/exiftool-vendored.js/actions/workflows/node.js.yml/badge.svg)](https://github.com/photostructure/exiftool-vendored.js/actions/workflows/node.js.yml)
7
7
  [![GitHub issues](https://img.shields.io/github/issues/photostructure/exiftool-vendored.js.svg)](https://github.com/photostructure/exiftool-vendored.js/issues)
8
- [![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/photostructure/exiftool-vendored.js.svg)](https://lgtm.com/projects/g/photostructure/exiftool-vendored.js/context:javascript)
9
8
  [![Known Vulnerabilities](https://snyk.io/test/github/photostructure/exiftool-vendored.js/badge.svg?targetFile=package.json)](https://snyk.io/test/github/photostructure/exiftool-vendored.js?targetFile=package.json)
10
9
 
11
10
  ## Features
@@ -0,0 +1 @@
1
+ export declare const CapturedAtTagNames: readonly ["SubSecDateTimeOriginal", "DateTimeOriginal", "SubSecCreateDate", "CreateDate", "SubSecMediaCreateDate", "MediaCreateDate", "DateTimeCreated"];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CapturedAtTagNames = void 0;
4
+ exports.CapturedAtTagNames = [
5
+ "SubSecDateTimeOriginal",
6
+ "DateTimeOriginal",
7
+ "SubSecCreateDate",
8
+ "CreateDate",
9
+ "SubSecMediaCreateDate",
10
+ "MediaCreateDate",
11
+ "DateTimeCreated",
12
+ ];
13
+ //# sourceMappingURL=CapturedAtTagNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CapturedAtTagNames.js","sourceRoot":"","sources":["../src/CapturedAtTagNames.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;CACT,CAAA"}
@@ -5,6 +5,7 @@ import { ApplicationRecordTags } from "./ApplicationRecordTags";
5
5
  import { ExifDate } from "./ExifDate";
6
6
  import { ExifDateTime } from "./ExifDateTime";
7
7
  import { ExifToolTask } from "./ExifToolTask";
8
+ import { geoTz } from "./GeoTz";
8
9
  import { ICCProfileTags } from "./ICCProfileTags";
9
10
  import { Maybe } from "./Maybe";
10
11
  import { PreviewTag } from "./PreviewTag";
@@ -17,7 +18,7 @@ export { ExifDateTime } from "./ExifDateTime";
17
18
  export { ExifTime } from "./ExifTime";
18
19
  export { ExifToolTask } from "./ExifToolTask";
19
20
  export { parseJSON } from "./JSON";
20
- export { offsetMinutesToZoneName, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, } from "./Timezones";
21
+ export { defaultVideosToUTC, offsetMinutesToZoneName, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, } from "./Timezones";
21
22
  export type { AdditionalWriteTags, APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, JFIFTags, MakerNotesTags, Maybe, MetaTags, MPFTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, ResourceEvent, RIFFTags, Struct, Tags, Version, XMPTags, };
22
23
  export declare const DefaultExifToolPath: string;
23
24
  export declare const DefaultExiftoolArgs: string[];
@@ -141,6 +142,24 @@ export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcess
141
142
  * situations. Note also that `perl` will be spawned in a sub-shell.
142
143
  */
143
144
  ignoreShebang: boolean;
145
+ /**
146
+ * Override the default geo-to-timezone lookup service.
147
+ *
148
+ * This defaults to `@photostructure/tz-lookup`, but if you have the
149
+ * resources, consider using `geo-tz` for more accurate results.
150
+ *
151
+ * Here's a snippet of how to use `geo-tz` instead of `tz-lookup`:
152
+ *
153
+ ```js
154
+ const geotz = require("geo-tz")
155
+ const { ExifTool } = require("exiftool-vendored")
156
+ const exiftool = new ExifTool({ geoTz: (lat, lon) => geotz.find(lat, lon)[0] })
157
+ ```
158
+ *
159
+ * @see https://github.com/photostructure/tz-lookup
160
+ * @see https://github.com/evansiroky/node-geo-tz/
161
+ */
162
+ geoTz: typeof geoTz;
144
163
  }
145
164
  declare type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
146
165
  /**
package/dist/ExifTool.js CHANGED
@@ -26,7 +26,7 @@ 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.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.offsetMinutesToZoneName = exports.parseJSON = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = void 0;
29
+ exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.parseJSON = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = 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"));
@@ -37,6 +37,7 @@ const AsyncRetry_1 = require("./AsyncRetry");
37
37
  const BinaryExtractionTask_1 = require("./BinaryExtractionTask");
38
38
  const BinaryToBufferTask_1 = require("./BinaryToBufferTask");
39
39
  const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
40
+ const GeoTz_1 = require("./GeoTz");
40
41
  const Lazy_1 = require("./Lazy");
41
42
  const ReadRawTask_1 = require("./ReadRawTask");
42
43
  const ReadTask_1 = require("./ReadTask");
@@ -55,6 +56,7 @@ Object.defineProperty(exports, "ExifToolTask", { enumerable: true, get: function
55
56
  var JSON_1 = require("./JSON");
56
57
  Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } });
57
58
  var Timezones_1 = require("./Timezones");
59
+ Object.defineProperty(exports, "defaultVideosToUTC", { enumerable: true, get: function () { return Timezones_1.defaultVideosToUTC; } });
58
60
  Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } });
59
61
  Object.defineProperty(exports, "UnsetZone", { enumerable: true, get: function () { return Timezones_1.UnsetZone; } });
60
62
  Object.defineProperty(exports, "UnsetZoneName", { enumerable: true, get: function () { return Timezones_1.UnsetZoneName; } });
@@ -114,9 +116,11 @@ exports.DefaultExifToolOptions = Object.freeze({
114
116
  "GPSAltitude",
115
117
  "GPSLatitude",
116
118
  "GPSLongitude",
119
+ "GPSPosition",
117
120
  "Orientation",
118
121
  ],
119
122
  defaultVideosToUTC: true,
123
+ geoTz: GeoTz_1.geoTz,
120
124
  });
121
125
  /**
122
126
  * Manages delegating calls to a vendored running instance of ExifTool.
@@ -189,6 +193,7 @@ class ExifTool {
189
193
  optionalArgs,
190
194
  numericTags: this.options.numericTags,
191
195
  defaultVideosToUTC: this.options.defaultVideosToUTC,
196
+ geoTz: this.options.geoTz,
192
197
  })); // < no way to know at compile time if we're going to get back a T!
193
198
  }
194
199
  /**
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ import { ExifDateTime } from "./ExifDateTime";
2
+ import { Maybe } from "./Maybe";
3
+ import { MaybeReadonly } from "./MaybeReadonly";
4
+ import { Tags } from "./Tags";
5
+ /**
6
+ * Returns the first date/time tag in `dateTimeTags` that strictly parses from
7
+ * EXIF.
8
+ */
9
+ export declare function firstDateTime(tags: Maybe<Tags>, dateTimeTags?: MaybeReadonly<(keyof Tags)[]>): Maybe<ExifDateTime>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstDateTime = void 0;
4
+ const CapturedAtTagNames_1 = require("./CapturedAtTagNames");
5
+ const ExifDateTime_1 = require("./ExifDateTime");
6
+ const String_1 = require("./String");
7
+ /**
8
+ * Returns the first date/time tag in `dateTimeTags` that strictly parses from
9
+ * EXIF.
10
+ */
11
+ function firstDateTime(tags, dateTimeTags = CapturedAtTagNames_1.CapturedAtTagNames) {
12
+ for (const tag of dateTimeTags) {
13
+ const dt = tags === null || tags === void 0 ? void 0 : tags[tag];
14
+ if (dt instanceof ExifDateTime_1.ExifDateTime) {
15
+ return dt;
16
+ }
17
+ else if ((0, String_1.isString)(dt)) {
18
+ const edt = ExifDateTime_1.ExifDateTime.fromEXIF(dt);
19
+ if (edt != null) {
20
+ return edt;
21
+ }
22
+ }
23
+ }
24
+ return;
25
+ }
26
+ exports.firstDateTime = firstDateTime;
27
+ //# sourceMappingURL=FirstDateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirstDateTime.js","sourceRoot":"","sources":["../src/FirstDateTime.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AACzD,iDAA6C;AAG7C,qCAAmC;AAGnC;;;GAGG;AACH,SAAgB,aAAa,CAC3B,IAAiB,EACjB,eAA8C,uCAAkB;IAEhE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,MAAM,EAAE,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAQ,CAAA;QAC7B,IAAI,EAAE,YAAY,2BAAY,EAAE;YAC9B,OAAO,EAAE,CAAA;SACV;aAAM,IAAI,IAAA,iBAAQ,EAAC,EAAE,CAAC,EAAE;YACvB,MAAM,GAAG,GAAG,2BAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,OAAO,GAAG,CAAA;aACX;SACF;KACF;IACD,OAAM;AACR,CAAC;AAhBD,sCAgBC"}
@@ -0,0 +1,2 @@
1
+ import { Maybe } from "./Maybe";
2
+ export declare function geoTz(lat: number, lon: number): Maybe<string>;
package/dist/GeoTz.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.geoTz = void 0;
7
+ const tz_lookup_1 = __importDefault(require("@photostructure/tz-lookup"));
8
+ function geoTz(lat, lon) {
9
+ try {
10
+ return (0, tz_lookup_1.default)(lat, lon);
11
+ }
12
+ catch {
13
+ return;
14
+ }
15
+ }
16
+ exports.geoTz = geoTz;
17
+ //# sourceMappingURL=GeoTz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoTz.js","sourceRoot":"","sources":["../src/GeoTz.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAiD;AAGjD,SAAgB,KAAK,CAAC,GAAW,EAAE,GAAW;IAC5C,IAAI;QACF,OAAO,IAAA,mBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC3B;IAAC,MAAM;QACN,OAAM;KACP;AACH,CAAC;AAND,sBAMC"}
@@ -0,0 +1 @@
1
+ export declare type MaybeReadonly<T> = T | Readonly<T>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=MaybeReadonly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaybeReadonly.js","sourceRoot":"","sources":["../src/MaybeReadonly.ts"],"names":[],"mappings":""}
@@ -4,7 +4,7 @@ import { Tags } from "./Tags";
4
4
  export declare function nullish(s: string | undefined): s is undefined;
5
5
  export declare type ReadTaskOptions = {
6
6
  optionalArgs: string[];
7
- } & Pick<ExifToolOptions, "numericTags" | "defaultVideosToUTC">;
7
+ } & Pick<ExifToolOptions, "numericTags" | "defaultVideosToUTC" | "geoTz">;
8
8
  export declare class ReadTask extends ExifToolTask<Tags> {
9
9
  #private;
10
10
  readonly sourceFile: string;
package/dist/ReadTask.js CHANGED
@@ -27,19 +27,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
27
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
28
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
29
29
  };
30
- var __importDefault = (this && this.__importDefault) || function (mod) {
31
- return (mod && mod.__esModule) ? mod : { "default": mod };
32
- };
33
- var _ReadTask_instances, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_extractTzOffset, _ReadTask_normalizeDateTime, _ReadTask_parseTag;
30
+ var _ReadTask_instances, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
34
31
  Object.defineProperty(exports, "__esModule", { value: true });
35
32
  exports.ReadTask = exports.nullish = void 0;
36
- const tz_lookup_1 = __importDefault(require("@photostructure/tz-lookup"));
37
33
  const batch_cluster_1 = require("batch-cluster");
38
34
  const _path = __importStar(require("path"));
39
35
  const ExifDate_1 = require("./ExifDate");
40
36
  const ExifDateTime_1 = require("./ExifDateTime");
41
37
  const ExifTime_1 = require("./ExifTime");
42
38
  const ExifToolTask_1 = require("./ExifToolTask");
39
+ const FirstDateTime_1 = require("./FirstDateTime");
40
+ const Lazy_1 = require("./Lazy");
43
41
  const Maybe_1 = require("./Maybe");
44
42
  const Number_1 = require("./Number");
45
43
  const String_1 = require("./String");
@@ -71,6 +69,27 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
71
69
  /** Always has non-group-prefixed keys */
72
70
  this._tags = {};
73
71
  this.invalidLatLon = false;
72
+ _ReadTask_extractLatLon.set(this, (0, Lazy_1.lazy)(() => {
73
+ var _a, _b;
74
+ (_a = this.lat) !== null && _a !== void 0 ? _a : (this.lat = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, "GPSLatitude", "S", 90));
75
+ (_b = this.lon) !== null && _b !== void 0 ? _b : (this.lon = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, "GPSLongitude", "W", 180));
76
+ if (this.invalidLatLon) {
77
+ this.lat = this.lon = undefined;
78
+ }
79
+ }));
80
+ _ReadTask_geoTz.set(this, (0, Lazy_1.lazy)(() => {
81
+ __classPrivateFieldGet(this, _ReadTask_extractLatLon, "f").call(this);
82
+ if (this.invalidLatLon || this.lat == null || this.lon == null)
83
+ return;
84
+ try {
85
+ const geoTz = this.options.geoTz(this.lat, this.lon);
86
+ return (0, Timezones_1.normalizeZone)(geoTz);
87
+ }
88
+ catch {
89
+ this.invalidLatLon = true;
90
+ return;
91
+ }
92
+ }));
74
93
  this.degroup = this.args.indexOf("-G") !== -1;
75
94
  this.tags = { SourceFile: sourceFile };
76
95
  this.tags.errors = this.errors;
@@ -126,11 +145,11 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
126
145
  }
127
146
  }
128
147
  exports.ReadTask = ReadTask;
129
- _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagName(k) {
148
+ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagName(k) {
130
149
  var _a;
131
150
  return this.degroup ? (_a = k.split(":")[1]) !== null && _a !== void 0 ? _a : k : k;
132
151
  }, _ReadTask_parseTags = function _ReadTask_parseTags() {
133
- __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_extractLatLon).call(this);
152
+ __classPrivateFieldGet(this, _ReadTask_extractLatLon, "f").call(this);
134
153
  __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_extractTzOffset).call(this);
135
154
  (0, Maybe_1.map)(this.tz, (ea) => (this.tags.tz = ea));
136
155
  (0, Maybe_1.map)(this.tzSource, (ea) => (this.tags.tzSource = ea));
@@ -141,13 +160,6 @@ _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagN
141
160
  if (this.errors.length > 0)
142
161
  this.tags.errors = this.errors;
143
162
  return this.tags;
144
- }, _ReadTask_extractLatLon = function _ReadTask_extractLatLon() {
145
- var _a, _b;
146
- (_a = this.lat) !== null && _a !== void 0 ? _a : (this.lat = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, "GPSLatitude", "S", 90));
147
- (_b = this.lon) !== null && _b !== void 0 ? _b : (this.lon = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, "GPSLongitude", "W", 180));
148
- if (this.invalidLatLon) {
149
- this.lat = this.lon = undefined;
150
- }
151
163
  }, _ReadTask_latlon = function _ReadTask_latlon(tagName, negateRef, maxValid) {
152
164
  const tagValue = this._tags[tagName];
153
165
  const ref = this._tags[tagName + "Ref"];
@@ -174,48 +186,54 @@ _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagN
174
186
  }
175
187
  }, _ReadTask_extractTzOffset = function _ReadTask_extractTzOffset() {
176
188
  (0, Maybe_1.map)((0, Maybe_1.firstDefinedThunk)([
189
+ // If there is an explicit TimeZone tag (which is rare), defer to that
190
+ // before defaulting to UTC for videos:
191
+ () => {
192
+ const tz = (0, Timezones_1.extractTzOffsetFromTags)(this._tags);
193
+ // If this tz offset matches the GPS zone, use the GPS zone name (like "America/Los_Angeles") instead of the offset.
194
+ const z = (0, Timezones_1.normalizeZone)(tz === null || tz === void 0 ? void 0 : tz.tz);
195
+ if (tz != null && z != null) {
196
+ const geoTz = __classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this);
197
+ if (geoTz != null) {
198
+ const edt = (0, FirstDateTime_1.firstDateTime)(this._raw);
199
+ if (edt != null) {
200
+ const ts = edt.toMillis();
201
+ const zOffset = z.offset(ts);
202
+ const geoTzOffset = geoTz.offset(ts);
203
+ if (zOffset === geoTzOffset) {
204
+ return {
205
+ tz: geoTz.name,
206
+ src: tz.src + " & Lat/Lon",
207
+ };
208
+ }
209
+ }
210
+ }
211
+ }
212
+ return tz;
213
+ },
177
214
  // See https://github.com/photostructure/exiftool-vendored.js/issues/113
215
+ // Videos are frequently encoded in UTC, but don't include the timezone offset in their datetime stamps.
216
+ // This must be before the tz_lookup/geoTz strategy, as smartphone videos
217
+ // will contain GPS, but still encode timestamps in UTC without an
218
+ // explicit offset. HURRAY
178
219
  () => {
179
220
  var _a, _b, _c;
180
- if (((_b = (_a = this._tags) === null || _a === void 0 ? void 0 : _a.MIMEType) === null || _b === void 0 ? void 0 : _b.startsWith("video/")) &&
181
- this.options.defaultVideosToUTC === true) {
182
- return (
183
- // If there is a TimeZone tag, defer to that before defaulting to UTC:
184
- (_c = (0, Timezones_1.extractTzOffsetFromTags)(this._tags)) !== null && _c !== void 0 ? _c : {
185
- tz: "UTC",
186
- src: "defaultVideosToUTC",
187
- });
188
- }
189
- return;
221
+ return ((_b = (_a = this._tags) === null || _a === void 0 ? void 0 : _a.MIMEType) === null || _b === void 0 ? void 0 : _b.startsWith("video/")) &&
222
+ this.options.defaultVideosToUTC === true
223
+ ? // If there is a TimeZone tag, defer to that before defaulting to UTC:
224
+ (_c = (0, Timezones_1.extractTzOffsetFromTags)(this._tags)) !== null && _c !== void 0 ? _c : {
225
+ tz: "UTC",
226
+ src: "defaultVideosToUTC",
227
+ }
228
+ : // not applicable:
229
+ undefined;
190
230
  },
191
231
  // If lat/lon is valid, use the tzlookup library, as it will be a proper
192
232
  // Zone name (like "America/New_York"), rather than just an hour offset.
193
- () => {
194
- if (!this.invalidLatLon && this.lat != null && this.lon != null) {
195
- try {
196
- return (0, Maybe_1.map)((0, tz_lookup_1.default)(this.lat, this.lon), (tz) => ({
197
- tz,
198
- src: "from Lat/Lon",
199
- }));
200
- }
201
- catch (err) {
202
- /* */
203
- }
204
- }
205
- return;
206
- },
207
- () => (0, Timezones_1.extractTzOffsetFromTags)(this._tags),
233
+ () => (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this), (ea) => ({ tz: ea.name, src: "from Lat/Lon" })),
234
+ // This is a last-ditch estimation heuristic:
208
235
  () => (0, Timezones_1.extractTzOffsetFromUTCOffset)(this._tags),
209
236
  ]), (ea) => ({ tz: this.tz, src: this.tzSource } = ea));
210
- }, _ReadTask_normalizeDateTime = function _ReadTask_normalizeDateTime(tagName, value) {
211
- if (tagName.startsWith("File") ||
212
- !(value instanceof ExifDateTime_1.ExifDateTime) ||
213
- utcTagName(tagName) ||
214
- this.tz == null) {
215
- return value;
216
- }
217
- // ExifTool may have put this in the current system time, instead of the timezone of the file.
218
- return value.zone !== this.tz ? value.setZone(this.tz) : value;
219
237
  }, _ReadTask_parseTag = function _ReadTask_parseTag(tagName, value) {
220
238
  var _a, _b, _c, _d, _e, _f;
221
239
  if (nullish(value))
@@ -241,18 +259,18 @@ _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagN
241
259
  return this.lon;
242
260
  }
243
261
  if (typeof value === "string") {
244
- const tz = utcTagName(tagName) ? "UTC" : undefined;
262
+ const tz = isUtcTagName(tagName) ? "UTC" : this.tz;
245
263
  if (tagName === "When" ||
246
264
  tagName.includes("DateTime") ||
247
265
  tagName.toLowerCase().includes("timestamp")) {
248
266
  const d = (_a = ExifDateTime_1.ExifDateTime.fromExifStrict(value, tz)) !== null && _a !== void 0 ? _a : ExifDateTime_1.ExifDateTime.fromISO(value, tz);
249
267
  if (d != null)
250
- return __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_normalizeDateTime).call(this, tagName, d);
268
+ return d;
251
269
  }
252
270
  if (tagName === "When" || tagName.includes("Date")) {
253
271
  const d = (_f = (_e = (_d = (_c = (_b = ExifDateTime_1.ExifDateTime.fromExifStrict(value, tz)) !== null && _b !== void 0 ? _b : ExifDateTime_1.ExifDateTime.fromISO(value, tz)) !== null && _c !== void 0 ? _c : ExifDateTime_1.ExifDateTime.fromExifLoose(value, tz)) !== null && _d !== void 0 ? _d : ExifDate_1.ExifDate.fromExifStrict(value)) !== null && _e !== void 0 ? _e : ExifDate_1.ExifDate.fromISO(value)) !== null && _f !== void 0 ? _f : ExifDate_1.ExifDate.fromExifLoose(value);
254
272
  if (d != null) {
255
- return __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_normalizeDateTime).call(this, tagName, d);
273
+ return d;
256
274
  }
257
275
  }
258
276
  if (tagName.includes("Time")) {
@@ -269,7 +287,7 @@ _ReadTask_instances = new WeakSet(), _ReadTask_tagName = function _ReadTask_tagN
269
287
  return value;
270
288
  }
271
289
  };
272
- function utcTagName(tagName) {
290
+ function isUtcTagName(tagName) {
273
291
  return tagName.includes("UTC") || tagName.startsWith("GPS");
274
292
  }
275
293
  //# sourceMappingURL=ReadTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
package/dist/Tags.d.ts CHANGED
@@ -1085,7 +1085,7 @@ export interface QuickTimeTags {
1085
1085
  CompressorID?: string;
1086
1086
  /** ☆☆☆☆ ✔ Example: "Track 1" */
1087
1087
  ContentDescribes?: string;
1088
- /** ☆☆☆☆ ✔ Example: 2022-02-12T22:31:16.000Z */
1088
+ /** ☆☆☆☆ ✔ Example: 2022-02-12T14:31:16.000-08:00 */
1089
1089
  CreationDate?: ExifDateTime | string;
1090
1090
  /** ☆☆☆☆ ✔ Example: "0 s" */
1091
1091
  CurrentTime?: string;
@@ -4037,7 +4037,7 @@ export interface XMPTags {
4037
4037
  CameraProfileDigest?: string;
4038
4038
  /** ☆☆☆☆ Example: "Rear" */
4039
4039
  CameraUnit?: string;
4040
- /** ☆☆☆☆ ✔ Example: [{"Camera":{"DepthMap":{"ConfidenceURI":"android/confidencal"}}] */
4040
+ /** ☆☆☆☆ ✔ Example: [{"DepthMap":{"ConfidenceURI":"android/confidencemap","Deical"}] */
4041
4041
  Cameras?: Struct[];
4042
4042
  /** ☆☆☆☆ ✔ Example: "https://PhotoStructure.com/" */
4043
4043
  CaptureSoftware?: string;
@@ -4069,7 +4069,7 @@ export interface XMPTags {
4069
4069
  ColorNoiseReductionSmoothness?: number;
4070
4070
  /** ☆☆☆☆ ✔ Example: "" */
4071
4071
  Colorlabels?: string;
4072
- /** ☆☆☆☆ ✔ Example: {"Directory":[{"Item":{"DataURI":"primary_image","Length"…eg"}}]} */
4072
+ /** ☆☆☆☆ ✔ Example: {"Directory":[{"DataURI":"primary_image","Length":0,"Mimepeg"}]} */
4073
4073
  Container?: Struct;
4074
4074
  /** ☆☆☆☆ ✔ Example: false */
4075
4075
  ConvertToGrayscale?: boolean;
@@ -4351,7 +4351,7 @@ export interface XMPTags {
4351
4351
  PreservedFileName?: string;
4352
4352
  /** ☆☆☆☆ ✔ Example: 11 */
4353
4353
  ProcessVersion?: number;
4354
- /** ☆☆☆☆ ✔ Example: [{"Profile":{"CameraIndices":[0],"Type":"DepthPhoto"}}] */
4354
+ /** ☆☆☆☆ ✔ Example: [{"CameraIndices":[0],"Type":"DepthPhoto"}] */
4355
4355
  Profiles?: Struct[];
4356
4356
  /** ☆☆☆☆ ✔ Example: "equirectangular" */
4357
4357
  ProjectionType?: string;
@@ -4494,7 +4494,7 @@ export interface XMPTags {
4494
4494
  * devices (like iPhones) An example value, JSON stringified, follows the
4495
4495
  * popularity ratings.
4496
4496
  *
4497
- * Autogenerated by "yarn mktags" by ExifTool 12.45 on Tue Sep 20 2022.
4497
+ * Autogenerated by "yarn mktags" by ExifTool 12.45 on Tue Sep 27 2022.
4498
4498
  * 2923 unique tags were found in 9968 photo and video files.
4499
4499
  */
4500
4500
  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 {
@@ -1,12 +1,26 @@
1
+ import { Zone } from "luxon";
1
2
  import { Maybe } from "./Maybe";
2
3
  export declare const MaxTzOffsetHours = 14;
4
+ /**
5
+ * Zone instances with this offset are a placeholder for being "unset".
6
+ */
3
7
  export declare const UnsetZoneOffsetMinutes = -1;
4
8
  /**
5
9
  * This is a placeholder for dates where the zone is unknown/unset, because
6
10
  * Luxon doesn't officially support "unset" zones.
7
11
  */
8
- export declare const UnsetZone: import("luxon").Zone;
12
+ export declare const UnsetZone: Zone;
13
+ /**
14
+ * Zone instances with this name are a placeholder for being "unset".
15
+ */
9
16
  export declare const UnsetZoneName: string;
17
+ /**
18
+ * If `tzSource` matches this value, the tags are from a video, and we had to
19
+ * resort to assuming time fields are in UTC.
20
+ * @see https://github.com/photostructure/exiftool-vendored.js/issues/113
21
+ */
22
+ export declare const defaultVideosToUTC = "defaultVideosToUTC";
23
+ export declare function normalizeZone(z: Maybe<string | number | Zone>): Maybe<Zone>;
10
24
  export declare function reasonableTzOffsetMinutes(tzOffsetMinutes: Maybe<number>): boolean;
11
25
  /**
12
26
  * Returns a "zone name" (used by `luxon`) that encodes the given offset.
package/dist/Timezones.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.extractOffset = exports.offsetMinutesToZoneName = exports.reasonableTzOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.UnsetZoneOffsetMinutes = exports.MaxTzOffsetHours = void 0;
3
+ exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.extractOffset = exports.offsetMinutesToZoneName = exports.reasonableTzOffsetMinutes = exports.normalizeZone = exports.defaultVideosToUTC = exports.UnsetZoneName = exports.UnsetZone = exports.UnsetZoneOffsetMinutes = exports.MaxTzOffsetHours = void 0;
4
4
  const luxon_1 = require("luxon");
5
5
  const Array_1 = require("./Array");
6
+ const CapturedAtTagNames_1 = require("./CapturedAtTagNames");
6
7
  const ExifDateTime_1 = require("./ExifDateTime");
7
8
  const Maybe_1 = require("./Maybe");
8
9
  const Number_1 = require("./Number");
@@ -10,13 +11,37 @@ const String_1 = require("./String");
10
11
  // Pacific/Kiritimati is +14:00 TIL
11
12
  // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
12
13
  exports.MaxTzOffsetHours = 14;
14
+ /**
15
+ * Zone instances with this offset are a placeholder for being "unset".
16
+ */
13
17
  exports.UnsetZoneOffsetMinutes = -1;
14
18
  /**
15
19
  * This is a placeholder for dates where the zone is unknown/unset, because
16
20
  * Luxon doesn't officially support "unset" zones.
17
21
  */
18
22
  exports.UnsetZone = luxon_1.Info.normalizeZone(exports.UnsetZoneOffsetMinutes);
23
+ /**
24
+ * Zone instances with this name are a placeholder for being "unset".
25
+ */
19
26
  exports.UnsetZoneName = exports.UnsetZone.name;
27
+ /**
28
+ * If `tzSource` matches this value, the tags are from a video, and we had to
29
+ * resort to assuming time fields are in UTC.
30
+ * @see https://github.com/photostructure/exiftool-vendored.js/issues/113
31
+ */
32
+ exports.defaultVideosToUTC = "defaultVideosToUTC";
33
+ function normalizeZone(z) {
34
+ try {
35
+ if (z == null || (0, String_1.blank)(String(z)))
36
+ return;
37
+ const zone = luxon_1.Info.normalizeZone(z);
38
+ return (zone === null || zone === void 0 ? void 0 : zone.isValid) === true ? zone : undefined;
39
+ }
40
+ catch {
41
+ return;
42
+ }
43
+ }
44
+ exports.normalizeZone = normalizeZone;
20
45
  function reasonableTzOffsetMinutes(tzOffsetMinutes) {
21
46
  return ((0, Number_1.isNumber)(tzOffsetMinutes) &&
22
47
  tzOffsetMinutes !== exports.UnsetZoneOffsetMinutes &&
@@ -116,15 +141,7 @@ function extractTzOffsetFromUTCOffset(t) {
116
141
  return;
117
142
  // If we can find any of these without a zone, the timezone should be the
118
143
  // offset between this time and the GPS time.
119
- const dt = (0, Maybe_1.first)([
120
- "SubSecDateTimeOriginal",
121
- "DateTimeOriginal",
122
- "SubSecCreateDate",
123
- "CreateDate",
124
- "SubSecMediaCreateDate",
125
- "MediaCreateDate",
126
- "DateTimeCreated",
127
- ], (tagName) => {
144
+ const dt = (0, Maybe_1.first)(CapturedAtTagNames_1.CapturedAtTagNames, (tagName) => {
128
145
  const edt = ExifDateTime_1.ExifDateTime.fromExifStrict(t[tagName]);
129
146
  return edt != null && edt.zone == null
130
147
  ? {
@@ -135,7 +152,6 @@ function extractTzOffsetFromUTCOffset(t) {
135
152
  });
136
153
  if (dt == null)
137
154
  return;
138
- // By flooring
139
155
  const diffSeconds = dt.s - utc.s;
140
156
  const offsetMinutes = inferLikelyOffsetMinutes(diffSeconds / 60);
141
157
  return (0, Maybe_1.map)(offsetMinutesToZoneName(offsetMinutes), (tz) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"Timezones.js","sourceRoot":"","sources":["../src/Timezones.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timezones.js","sourceRoot":"","sources":["../src/Timezones.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exiftool-vendored",
3
- "version": "18.1.0",
3
+ "version": "18.2.0",
4
4
  "description": "Efficient, cross-platform access to ExifTool",
5
5
  "main": "./dist/ExifTool.js",
6
6
  "types": "./dist/ExifTool.d.ts",
@@ -84,6 +84,7 @@
84
84
  "eslint-plugin-node": "^11.1.0",
85
85
  "extract-zip": "^2.0.1",
86
86
  "fs-extra": "^10.1.0",
87
+ "geo-tz": "^7.0.2",
87
88
  "globule": "^1.3.4",
88
89
  "mocha": "^10.0.0",
89
90
  "npm-run-all": "^4.1.5",
@@ -97,15 +98,13 @@
97
98
  "typescript": "~4.8.3",
98
99
  "xpath": "^0.0.32"
99
100
  },
100
- "dependencies-note": {
101
- "_": "@types/luxon is _actually_ a dependency (not a devDependency). See <https://github.com/photostructure/exiftool-vendored.js/pull/108>"
102
- },
101
+ "dependencies-note": "@types/luxon is not a devDependency, as our exported TypeScript typings reference luxon types. See <https://github.com/photostructure/exiftool-vendored.js/pull/108>",
103
102
  "dependencies": {
103
+ "@photostructure/tz-lookup": "^7.0.0",
104
104
  "@types/luxon": "^3.0.1",
105
105
  "batch-cluster": "^11.0.0",
106
106
  "he": "^1.2.0",
107
- "luxon": "^3.0.3",
108
- "@photostructure/tz-lookup": "^7.0.0"
107
+ "luxon": "^3.0.3"
109
108
  },
110
109
  "optionalDependencies": {
111
110
  "exiftool-vendored.exe": "12.45.0",