exiftool-vendored 23.1.0 → 23.3.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/dist/ReadTask.js CHANGED
@@ -27,7 +27,7 @@ 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 _ReadTask_instances, _ReadTask_isVideo, _ReadTask_defaultToUTC, _ReadTask_tagName, _ReadTask_maybeSetZone, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
30
+ var _ReadTask_instances, _ReadTask_isVideo, _ReadTask_defaultToUTC, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.ReadTask = exports.DefaultReadTaskOptions = exports.nullish = void 0;
33
33
  const batch_cluster_1 = require("batch-cluster");
@@ -41,7 +41,6 @@ const ExifTime_1 = require("./ExifTime");
41
41
  const ExifToolOptions_1 = require("./ExifToolOptions");
42
42
  const ExifToolTask_1 = require("./ExifToolTask");
43
43
  const FilenameCharsetArgs_1 = require("./FilenameCharsetArgs");
44
- const FirstDateTime_1 = require("./FirstDateTime");
45
44
  const Lazy_1 = require("./Lazy");
46
45
  const Maybe_1 = require("./Maybe");
47
46
  const Number_1 = require("./Number");
@@ -66,7 +65,7 @@ function nullish(s) {
66
65
  exports.nullish = nullish;
67
66
  exports.DefaultReadTaskOptions = {
68
67
  optionalArgs: [],
69
- ...(0, Pick_1.pick)(DefaultExifToolOptions_1.DefaultExifToolOptions, "numericTags", "useMWG", "includeImageDataMD5", "imageHashType", "defaultVideosToUTC", "backfillTimezones", "inferTimezoneFromDatestamps", "geoTz"),
68
+ ...(0, Pick_1.pick)(DefaultExifToolOptions_1.DefaultExifToolOptions, "numericTags", "useMWG", "includeImageDataMD5", "imageHashType", "defaultVideosToUTC", "backfillTimezones", "inferTimezoneFromDatestamps", "inferTimezoneFromDatestampTags", "geoTz"),
70
69
  };
71
70
  const MaybeDateOrTimeRe = /when|date|time|subsec|creat|modif/i;
72
71
  class ReadTask extends ExifToolTask_1.ExifToolTask {
@@ -180,63 +179,19 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
180
179
  }, _ReadTask_tagName = function _ReadTask_tagName(k) {
181
180
  var _a;
182
181
  return this.degroup ? (_a = k.split(":")[1]) !== null && _a !== void 0 ? _a : k : k;
183
- }, _ReadTask_maybeSetZone = function _ReadTask_maybeSetZone(edt, candidates) {
184
- if (!edt.inferredZone && edt.hasZone)
185
- return edt;
186
- if (this.tz != null)
187
- return edt.setZone(this.tz);
188
- for (const src of candidates) {
189
- const result = edt.maybeMatchZone(src);
190
- if (result != null) {
191
- return result;
192
- }
193
- }
194
- return;
195
182
  }, _ReadTask_parseTags = function _ReadTask_parseTags() {
196
- var _a;
197
183
  __classPrivateFieldGet(this, _ReadTask_extractLatLon, "f").call(this);
198
184
  __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_extractTzOffset).call(this);
199
185
  (0, Maybe_1.map)(this.tz, (ea) => (this.tags.tz = ea));
200
186
  (0, Maybe_1.map)(this.tzSource, (ea) => (this.tags.tzSource = ea));
201
187
  // avoid casting `this.tags as any` everywhere:
202
188
  const tags = this.tags;
203
- const datesWithTz = [];
204
- // two passes: one to parse dates, and the next to possibly set timezones.
205
189
  for (const [key, value] of Object.entries(this._raw)) {
206
190
  const k = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key);
207
191
  const v = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, k, value);
208
- if (v instanceof ExifDateTime_1.ExifDateTime &&
209
- // Don't backfill from `stat()` dates, as they may include the system
210
- // zone:
211
- !key.startsWith("File") &&
212
- v.hasZone &&
213
- // Don't backfill from inferred zones:
214
- v.inferredZone !== true &&
215
- // Don't backfill from UTC tags:
216
- !isUtcTagName(key)) {
217
- datesWithTz.push(v);
218
- }
219
192
  // Note that we set `key` (which may include a group prefix):
220
193
  tags[key] = v;
221
194
  }
222
- if (this.options.backfillTimezones === true) {
223
- // prefer non-UTC offsets (UTC may be incorrect):
224
- const candidates = (0, Array_1.sortBy)(datesWithTz, (ea) => { var _a; return -Math.abs((_a = ea.tzoffsetMinutes) !== null && _a !== void 0 ? _a : 0); });
225
- for (const [key, value] of Object.entries(tags)) {
226
- if (
227
- // we don't backfill ExifTime zones, as we don't know for sure what
228
- // day they are for, and if the zone isn't fixed, that would be an
229
- // issue. (We _could_ set ExifTime zones if we knew the zone was
230
- // fixed, but that's a later, low-priority TODO).
231
- value instanceof ExifDateTime_1.ExifDateTime &&
232
- // Don't backfill dates from `stat`:
233
- !key.startsWith("File") &&
234
- // Don't backfill UTC tags:
235
- !isUtcTagName(key)) {
236
- tags[key] = (_a = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_maybeSetZone).call(this, value, candidates)) !== null && _a !== void 0 ? _a : value;
237
- }
238
- }
239
- }
240
195
  if (this.errors.length > 0)
241
196
  this.tags.errors = this.errors;
242
197
  return tags;
@@ -268,36 +223,12 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
268
223
  (0, Maybe_1.map)((0, Maybe_1.firstDefinedThunk)([
269
224
  // If there is an explicit TimeZone tag (which is rare), defer to that
270
225
  // before defaulting to UTC for videos:
271
- () => {
272
- const tz = (0, Timezones_1.extractTzOffsetFromTags)(this._rawDegrouped, this.options);
273
- // If this tz offset matches the GPS zone, use the GPS zone name (like "America/Los_Angeles") instead of the offset.
274
- const z = (0, Timezones_1.normalizeZone)(tz === null || tz === void 0 ? void 0 : tz.tz);
275
- if (tz != null && z != null) {
276
- const geoTz = __classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this);
277
- if (geoTz != null) {
278
- const edt = (0, FirstDateTime_1.firstDateTime)(this._rawDegrouped);
279
- if (edt != null) {
280
- const ts = edt.toMillis();
281
- const zOffset = z.offset(ts);
282
- const geoTzOffset = geoTz.offset(ts);
283
- if (zOffset === geoTzOffset) {
284
- return {
285
- tz: geoTz.name,
286
- src: tz.src + " & GPSLatitude/GPSLongitude",
287
- };
288
- }
289
- }
290
- }
291
- }
292
- // nope, no GPS, just use the minutes-offset zone format:
293
- return tz;
294
- },
295
- // If lat/lon is valid, use the tzlookup library, as it will be a proper
296
- // Zone name (like "America/New_York"), rather than just an hour offset.
226
+ () => (0, Timezones_1.extractTzOffsetFromTags)(this._rawDegrouped),
297
227
  () => (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this), (ea) => ({
298
228
  tz: ea.name,
299
229
  src: "GPSLatitude/GPSLongitude",
300
230
  })),
231
+ () => (0, Timezones_1.extractTzOffsetFromDatestamps)(this._rawDegrouped, this.options),
301
232
  // See https://github.com/photostructure/exiftool-vendored.js/issues/113
302
233
  // and https://github.com/photostructure/exiftool-vendored.js/issues/156
303
234
  // Videos are frequently encoded in UTC, but don't include the
@@ -332,7 +263,7 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
332
263
  if (typeof value === "object") {
333
264
  const result = {};
334
265
  for (const [k, v] of Object.entries(value)) {
335
- result[k] = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, k, v);
266
+ result[k] = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, tagName + "." + k, v);
336
267
  }
337
268
  return result;
338
269
  }
@@ -355,9 +286,24 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
355
286
  // Time-only tags have "time" but not "date" in their name:
356
287
  const keyIncludesTime = /time/i.test(tagName);
357
288
  const keyIncludesDate = /date/i.test(tagName);
358
- return ((_c = (_b = (_a = (keyIncludesTime || keyIncludesDate
289
+ const keyIncludesWhen = /when/i.test(tagName); // < ResourceEvent.When
290
+ const result = (_c = (_b = (_a = (keyIncludesTime || keyIncludesDate || keyIncludesWhen
359
291
  ? ExifDateTime_1.ExifDateTime.from(value, tz)
360
- : undefined)) !== null && _a !== void 0 ? _a : (keyIncludesTime ? ExifTime_1.ExifTime.fromEXIF(value) : undefined)) !== null && _b !== void 0 ? _b : (keyIncludesDate ? ExifDate_1.ExifDate.from(value) : undefined)) !== null && _c !== void 0 ? _c : value);
292
+ : undefined)) !== null && _a !== void 0 ? _a : (keyIncludesTime || keyIncludesWhen
293
+ ? ExifTime_1.ExifTime.fromEXIF(value)
294
+ : undefined)) !== null && _b !== void 0 ? _b : (keyIncludesDate || keyIncludesWhen
295
+ ? ExifDate_1.ExifDate.from(value)
296
+ : undefined)) !== null && _c !== void 0 ? _c : value;
297
+ if (this.options.backfillTimezones &&
298
+ result != null &&
299
+ this.tz != null &&
300
+ result instanceof ExifDateTime_1.ExifDateTime &&
301
+ __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_defaultToUTC).call(this) &&
302
+ !isUtcTagName(tagName) &&
303
+ true === result.inferredZone) {
304
+ return result.setZone(this.tz);
305
+ }
306
+ return result;
361
307
  }
362
308
  }
363
309
  // Trust that ExifTool rendered the value with the correct type in JSON:
@@ -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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"}
@@ -11,3 +11,4 @@ export interface ResourceEvent {
11
11
  SoftwareAgent?: string;
12
12
  When?: ExifDateTime | ExifDate | string;
13
13
  }
14
+ export declare function isResourceEvent(obj: any): obj is ResourceEvent;
@@ -1,3 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isResourceEvent = void 0;
4
+ const fields = [
5
+ "Action",
6
+ "Changed",
7
+ "InstanceID",
8
+ "Parameters",
9
+ "SoftwareAgent",
10
+ "When",
11
+ ];
12
+ function isResourceEvent(obj) {
13
+ return obj != null && typeof obj === "object" && fields.every((f) => f in obj);
14
+ }
15
+ exports.isResourceEvent = isResourceEvent;
3
16
  //# sourceMappingURL=ResourceEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceEvent.js","sourceRoot":"","sources":["../src/ResourceEvent.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ResourceEvent.js","sourceRoot":"","sources":["../src/ResourceEvent.ts"],"names":[],"mappings":";;;AAeA,MAAM,MAAM,GAAG;IACb,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,MAAM;CACP,CAAA;AAED,SAAgB,eAAe,CAAC,GAAQ;IACtC,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;AAChF,CAAC;AAFD,0CAEC"}
package/dist/Struct.js CHANGED
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isStruct = void 0;
4
4
  const DateTime_1 = require("./DateTime");
5
5
  function isStruct(o) {
6
+ var _a;
6
7
  return (o != null &&
7
- !Array.isArray(o) &&
8
+ ((_a = o.constructor) === null || _a === void 0 ? void 0 : _a.name) === "Object" &&
8
9
  Object.values(o).every((v) => {
9
10
  const t = typeof v;
10
11
  return t === "string" || t === "number" || (0, DateTime_1.isDateOrTime)(v) || isStruct(v);
@@ -1 +1 @@
1
- {"version":3,"file":"Struct.js","sourceRoot":"","sources":["../src/Struct.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAMzC,SAAgB,QAAQ,CAAC,CAAM;IAC7B,OAAO,CACL,CAAC,IAAI,IAAI;QACT,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;YAClB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAA,uBAAY,EAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AATD,4BASC"}
1
+ {"version":3,"file":"Struct.js","sourceRoot":"","sources":["../src/Struct.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAMzC,SAAgB,QAAQ,CAAC,CAAM;;IAC7B,OAAO,CACL,CAAC,IAAI,IAAI;QACT,CAAA,MAAA,CAAC,CAAC,WAAW,0CAAE,IAAI,MAAK,QAAQ;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;YAClB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAA,uBAAY,EAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AATD,4BASC"}
package/dist/Tags.d.ts CHANGED
@@ -35,7 +35,7 @@ export interface FileTags {
35
35
  Directory?: string;
36
36
  /** ★★★★ ✔ Example: "Progressive DCT, Huffman coding" */
37
37
  EncodingProcess?: string;
38
- /** ★★★★ ✔ Example: "2023:09:30 12:42:54-07:00" */
38
+ /** ★★★★ ✔ Example: "2023:10:02 15:36:12-07:00" */
39
39
  FileAccessDate?: ExifDateTime | string;
40
40
  /** ★★★★ ✔ Example: "2023:07:19 21:21:02-07:00" */
41
41
  FileInodeChangeDate?: ExifDateTime | string;
@@ -299,7 +299,7 @@ export interface APP1Tags {
299
299
  PaletteStretch?: number;
300
300
  /** ☆☆☆☆ Example: ".basicImgData.objectParams.emissivity" */
301
301
  Param0?: string;
302
- /** ☆☆☆☆ Example: "(Binary data 614604 bytes, use -b option to extract)" */
302
+ /** ☆☆☆☆ Example: "(Binary data 153804 bytes, use -b option to extract)" */
303
303
  RawThermalImage?: BinaryField | string;
304
304
  /** ☆☆☆☆ Example: 90 */
305
305
  RawThermalImageHeight?: number;
@@ -815,7 +815,7 @@ export interface EXIFTags {
815
815
  TileByteCounts?: BinaryField | string;
816
816
  /** ☆☆☆☆ ✔ Example: 512 */
817
817
  TileLength?: number;
818
- /** ☆☆☆☆ ✔ Example: "(Binary data 508 bytes, use -b option to extract)" */
818
+ /** ☆☆☆☆ ✔ Example: "(Binary data 507 bytes, use -b option to extract)" */
819
819
  TileOffsets?: BinaryField | string;
820
820
  /** ☆☆☆☆ ✔ Example: 512 */
821
821
  TileWidth?: number;
@@ -883,7 +883,7 @@ export interface APP6Tags {
883
883
  WhiteBalance?: string;
884
884
  }
885
885
  export interface FlashPixTags {
886
- /** ☆☆☆☆ Example: "(Binary data 18 bytes, use -b option to extract)" */
886
+ /** ☆☆☆☆ Example: "(Binary data 20796 bytes, use -b option to extract)" */
887
887
  AudioStream?: BinaryField | string;
888
888
  /** ☆☆☆☆ ✔ Example: "Unicode UTF-16, little endian" */
889
889
  CodePage?: string;
@@ -4031,7 +4031,7 @@ export interface XMPTags {
4031
4031
  CameraProfileDigest?: string;
4032
4032
  /** ☆☆☆☆ Example: "Rear" */
4033
4033
  CameraUnit?: string;
4034
- /** ☆☆☆☆ ✔ Example: [{"Camera":{"DepthMap":{"ConfidenceURI":"android/confidencal"}}] */
4034
+ /** ☆☆☆☆ ✔ Example: [{"DepthMap":{"ConfidenceURI":"android/confidencemap","Deical"}] */
4035
4035
  Cameras?: Struct[];
4036
4036
  /** ☆☆☆☆ ✔ Example: "Photo" */
4037
4037
  CaptureMode?: string;
@@ -4067,7 +4067,7 @@ export interface XMPTags {
4067
4067
  ColorSpace?: string;
4068
4068
  /** ☆☆☆☆ ✔ Example: "" */
4069
4069
  Colorlabels?: string;
4070
- /** ☆☆☆☆ ✔ Example: {"Directory":[{"Item":{"DataURI":"primary_image","Length"…eg"}}]} */
4070
+ /** ☆☆☆☆ ✔ Example: {"Directory":[{"DataURI":"primary_image","Length":0,"Mimepeg"}]} */
4071
4071
  Container?: Struct;
4072
4072
  /** ☆☆☆☆ ✔ Example: false */
4073
4073
  ConvertToGrayscale?: boolean;
@@ -4365,7 +4365,7 @@ export interface XMPTags {
4365
4365
  PreservedFileName?: string;
4366
4366
  /** ☆☆☆☆ ✔ Example: 11 */
4367
4367
  ProcessVersion?: number;
4368
- /** ☆☆☆☆ ✔ Example: [{"Profile":{"CameraIndices":[0],"Type":"DepthPhoto"}}] */
4368
+ /** ☆☆☆☆ ✔ Example: [{"CameraIndices":[0],"Type":"DepthPhoto"}] */
4369
4369
  Profiles?: Struct[];
4370
4370
  /** ☆☆☆☆ ✔ Example: "equirectangular" */
4371
4371
  ProjectionType?: string;
@@ -4506,7 +4506,7 @@ export interface XMPTags {
4506
4506
  * devices (like iPhones) An example value, JSON stringified, follows the
4507
4507
  * popularity ratings.
4508
4508
  *
4509
- * Autogenerated by "yarn mktags" by ExifTool 12.67 on Sat Sep 30 2023.
4509
+ * Autogenerated by "yarn mktags" by ExifTool 12.67 on Mon Oct 02 2023.
4510
4510
  * 3081 unique tags were found in 10090 photo and video files.
4511
4511
  */
4512
4512
  export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, ImageDataHashTag, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
@@ -13,13 +13,14 @@ const TimeFmts = [
13
13
  ];
14
14
  function* timeFormats(args) {
15
15
  var _a;
16
+ const inferredZone = (0, String_1.notBlank)(args.defaultZone);
16
17
  for (const prefix of (_a = args.formatPrefixes) !== null && _a !== void 0 ? _a : [""]) {
17
18
  for (const timeFmt of TimeFmts) {
18
19
  yield {
19
20
  fmt: prefix + timeFmt.fmt,
20
21
  zone: args.defaultZone,
21
22
  unsetMilliseconds: timeFmt.unsetMilliseconds,
22
- inferredZone: true,
23
+ inferredZone,
23
24
  };
24
25
  }
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TimeParsing.js","sourceRoot":"","sources":["../src/TimeParsing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimeParsing.js","sourceRoot":"","sources":["../src/TimeParsing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Zone } from "luxon";
2
- import { ExifDateTime } from "./ExifDateTime";
3
- import { ExifTime } from "./ExifTime";
2
+ import { CapturedAtTagNames } from "./CapturedAtTagNames";
4
3
  import { ExifToolOptions } from "./ExifToolOptions";
5
4
  import { Maybe } from "./Maybe";
6
5
  import { Tags } from "./Tags";
@@ -19,13 +18,25 @@ export declare const UnsetZone: Zone;
19
18
  * Zone instances with this name are a placeholder for being "unset".
20
19
  */
21
20
  export declare const UnsetZoneName: string;
21
+ export declare function isUTC(zone: Maybe<Zone | string | number>): boolean;
22
+ export declare function isZoneValid(zone: Maybe<Zone>): zone is Zone;
22
23
  /**
23
24
  * If `tzSource` matches this value, the tags are from a video, and we had to
24
25
  * resort to assuming time fields are in UTC.
25
26
  * @see https://github.com/photostructure/exiftool-vendored.js/issues/113
26
27
  */
27
28
  export declare const defaultVideosToUTC = "defaultVideosToUTC";
28
- export declare function normalizeZone(z: Maybe<string | number | Zone>): Maybe<Zone>;
29
+ /**
30
+ * @param input must be either a number, which is the offset in minutes, or a
31
+ * string in the format "UTC+H" or "UTC+HH:mm"
32
+ */
33
+ export declare function normalizeZone(input: Maybe<string | number | Zone>): Maybe<Zone>;
34
+ /**
35
+ * @param ts must be provided if the zone is not a fixed offset
36
+ * @return the zone offset (in "±HH:MM" format) for the given zone, or "" if
37
+ * the zone is invalid
38
+ */
39
+ export declare function zoneToShortOffset(zone: Maybe<string | number | Zone>, ts?: number): string;
29
40
  export declare function validTzOffsetMinutes(tzOffsetMinutes: Maybe<number>): tzOffsetMinutes is number;
30
41
  /**
31
42
  * Returns a "zone name" (used by `luxon`) that encodes the given offset.
@@ -43,27 +54,13 @@ export interface TzSrc {
43
54
  /**
44
55
  * Parse a timezone offset and return the offset minutes
45
56
  */
46
- export declare function extractZone(value: Maybe<string | number | number[] | ExifDateTime | ExifTime>, opts?: {
57
+ export declare function extractZone(value: Tags[keyof Tags], opts?: {
47
58
  stripTZA?: boolean;
48
59
  }): Maybe<TzSrc>;
49
- declare const TimezoneOffsetTagnames: readonly ["TimeZone", "OffsetTime", "OffsetTimeOriginal", "OffsetTimeDigitized", "TimeZoneOffset"];
50
- declare const CreateDateTagnames: readonly ["SubSecCreateDate", "CreateDate", "SubSecDateTimeOriginal", "DateTimeOriginal", "SubSecMediaCreateDate", "MediaCreateDate", "CreationDate", "TimeCreated"];
51
- export declare function extractTzOffsetFromTags(t: Pick<Tags, (typeof TimezoneOffsetTagnames)[number] | (typeof CreateDateTagnames)[number]>, opts?: Partial<Pick<ExifToolOptions, "inferTimezoneFromDatestamps">>): Maybe<TzSrc>;
60
+ export declare function extractTzOffsetFromTags(t: Tags): Maybe<TzSrc>;
61
+ export declare function extractTzOffsetFromDatestamps(t: Tags, opts: Partial<Pick<ExifToolOptions, "inferTimezoneFromDatestamps" | "inferTimezoneFromDatestampTags">>): Maybe<TzSrc>;
52
62
  export declare function inferLikelyOffsetMinutes(deltaMinutes: number): number;
53
- export declare function extractTzOffsetFromUTCOffset(t: {
54
- DateTimeUTC?: string;
55
- GPSDateTime?: string;
56
- GPSDateStamp?: string;
57
- GPSTimeStamp?: string;
58
- GPSDateTimeStamp?: string;
59
- SubSecDateTimeOriginal?: string;
60
- DateTimeOriginal?: string;
61
- SubSecCreateDate?: string;
62
- CreateDate?: string;
63
- SubSecMediaCreateDate?: string;
64
- MediaCreateDate?: string;
65
- DateTimeCreated?: string;
66
- }): Maybe<TzSrc>;
63
+ export declare function extractTzOffsetFromUTCOffset(t: Pick<Tags, (typeof CapturedAtTagNames)[number] | "GPSDateTime" | "DateTimeUTC" | "GPSDateStamp" | "GPSTimeStamp">): Maybe<TzSrc>;
67
64
  export declare function equivalentZones(a: Maybe<string | number | Zone>, b: Maybe<string | number | Zone>): boolean;
68
65
  export declare function getZoneName(args?: {
69
66
  zone?: Zone;