exiftool-vendored 28.8.0 → 29.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +40 -4
  2. package/README.md +22 -22
  3. package/SECURITY.md +1 -2
  4. package/dist/Array.d.ts +4 -4
  5. package/dist/Array.js +8 -10
  6. package/dist/Array.js.map +1 -1
  7. package/dist/AsyncRetry.js.map +1 -1
  8. package/dist/BinaryExtractionTask.d.ts +4 -2
  9. package/dist/BinaryExtractionTask.js +8 -5
  10. package/dist/BinaryExtractionTask.js.map +1 -1
  11. package/dist/BinaryField.js +2 -0
  12. package/dist/BinaryField.js.map +1 -1
  13. package/dist/BinaryToBufferTask.js +5 -5
  14. package/dist/BinaryToBufferTask.js.map +1 -1
  15. package/dist/Boolean.d.ts +1 -1
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/CapturedAtTagNames.js.map +1 -1
  18. package/dist/CoordinateParser.d.ts +59 -0
  19. package/dist/CoordinateParser.js +286 -0
  20. package/dist/CoordinateParser.js.map +1 -0
  21. package/dist/DateTime.d.ts +1 -1
  22. package/dist/DateTime.js +4 -5
  23. package/dist/DateTime.js.map +1 -1
  24. package/dist/DefaultCreateDateTagNames.js.map +1 -1
  25. package/dist/DefaultExifToolOptions.js +20 -7
  26. package/dist/DefaultExifToolOptions.js.map +1 -1
  27. package/dist/DefaultExiftoolArgs.js.map +1 -1
  28. package/dist/DefaultMaxProcs.js +17 -7
  29. package/dist/DefaultMaxProcs.js.map +1 -1
  30. package/dist/DeleteAllTagsArgs.js.map +1 -1
  31. package/dist/ErrorsAndWarnings.d.ts +5 -1
  32. package/dist/ErrorsAndWarnings.js +11 -2
  33. package/dist/ErrorsAndWarnings.js.map +1 -1
  34. package/dist/ExifDate.js +7 -2
  35. package/dist/ExifDate.js.map +1 -1
  36. package/dist/ExifDateTime.d.ts +2 -2
  37. package/dist/ExifDateTime.js +63 -67
  38. package/dist/ExifDateTime.js.map +1 -1
  39. package/dist/ExifTime.js +19 -26
  40. package/dist/ExifTime.js.map +1 -1
  41. package/dist/ExifTool.d.ts +28 -24
  42. package/dist/ExifTool.js +97 -81
  43. package/dist/ExifTool.js.map +1 -1
  44. package/dist/ExifToolOptions.d.ts +8 -0
  45. package/dist/ExifToolOptions.js.map +1 -1
  46. package/dist/ExifToolTags.js +0 -1
  47. package/dist/ExifToolTags.js.map +1 -1
  48. package/dist/ExifToolTask.js +38 -33
  49. package/dist/ExifToolTask.js.map +1 -1
  50. package/dist/ExifToolVendoredTags.js.map +1 -1
  51. package/dist/ExiftoolPath.js +27 -12
  52. package/dist/ExiftoolPath.js.map +1 -1
  53. package/dist/File.d.ts +2 -0
  54. package/dist/File.js +16 -1
  55. package/dist/File.js.map +1 -1
  56. package/dist/FileTags.d.ts +3 -2
  57. package/dist/FileTags.js +3 -2
  58. package/dist/FileTags.js.map +1 -1
  59. package/dist/FilenameCharsetArgs.js.map +1 -1
  60. package/dist/FirstDateTime.js +1 -1
  61. package/dist/FirstDateTime.js.map +1 -1
  62. package/dist/GPS.d.ts +18 -0
  63. package/dist/GPS.js +116 -0
  64. package/dist/GPS.js.map +1 -0
  65. package/dist/GeoTz.js.map +1 -1
  66. package/dist/GeolocationTags.d.ts +1 -1
  67. package/dist/GeolocationTags.js +16 -14
  68. package/dist/GeolocationTags.js.map +1 -1
  69. package/dist/IsWarning.js.map +1 -1
  70. package/dist/IsWin32.js +17 -7
  71. package/dist/IsWin32.js.map +1 -1
  72. package/dist/JSON.js +4 -1
  73. package/dist/JSON.js.map +1 -1
  74. package/dist/Lazy.js +2 -1
  75. package/dist/Lazy.js.map +1 -1
  76. package/dist/Maybe.js.map +1 -1
  77. package/dist/Number.d.ts +18 -3
  78. package/dist/Number.js +36 -1
  79. package/dist/Number.js.map +1 -1
  80. package/dist/Object.d.ts +4 -4
  81. package/dist/Object.js +8 -8
  82. package/dist/Object.js.map +1 -1
  83. package/dist/OnlyZerosRE.js.map +1 -1
  84. package/dist/Pick.js.map +1 -1
  85. package/dist/ReadRawTask.js +20 -8
  86. package/dist/ReadRawTask.js.map +1 -1
  87. package/dist/ReadTask.d.ts +1 -1
  88. package/dist/ReadTask.js +233 -264
  89. package/dist/ReadTask.js.map +1 -1
  90. package/dist/ResourceEvent.d.ts +1 -1
  91. package/dist/ResourceEvent.js +1 -1
  92. package/dist/ResourceEvent.js.map +1 -1
  93. package/dist/RewriteAllTagsTask.js +19 -9
  94. package/dist/RewriteAllTagsTask.js.map +1 -1
  95. package/dist/Sidecars.js.map +1 -1
  96. package/dist/String.d.ts +8 -4
  97. package/dist/String.js +7 -3
  98. package/dist/String.js.map +1 -1
  99. package/dist/Struct.d.ts +1 -1
  100. package/dist/Struct.js +1 -2
  101. package/dist/Struct.js.map +1 -1
  102. package/dist/Tags.d.ts +154 -152
  103. package/dist/TimeParsing.js +6 -8
  104. package/dist/TimeParsing.js.map +1 -1
  105. package/dist/Times.d.ts +6 -0
  106. package/dist/Times.js +7 -3
  107. package/dist/Times.js.map +1 -1
  108. package/dist/Timezones.d.ts +5 -4
  109. package/dist/Timezones.js +71 -41
  110. package/dist/Timezones.js.map +1 -1
  111. package/dist/Version.d.ts +1 -1
  112. package/dist/Version.js +1 -1
  113. package/dist/Version.js.map +1 -1
  114. package/dist/VersionTask.js +1 -1
  115. package/dist/VersionTask.js.map +1 -1
  116. package/dist/Which.js.map +1 -1
  117. package/dist/WriteTags.d.ts +6 -1
  118. package/dist/WriteTask.js +71 -25
  119. package/dist/WriteTask.js.map +1 -1
  120. package/eslint.config.mjs +34 -0
  121. package/package.json +21 -19
@@ -1,16 +1,4 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- 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");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _a, _ExifDateTime_fromPatterns, _ExifDateTime_looseExifFormats, _ExifDateTime_dt;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.ExifDateTime = void 0;
16
4
  const luxon_1 = require("luxon");
@@ -24,20 +12,32 @@ const Timezones_1 = require("./Timezones");
24
12
  * Encodes an ExifDateTime with an optional tz offset in minutes.
25
13
  */
26
14
  class ExifDateTime {
15
+ year;
16
+ month;
17
+ day;
18
+ hour;
19
+ minute;
20
+ second;
21
+ millisecond;
22
+ tzoffsetMinutes;
23
+ rawValue;
24
+ zoneName;
25
+ inferredZone;
27
26
  static from(exifOrIso, defaultZone) {
28
- var _b, _c;
29
- return exifOrIso instanceof _a
27
+ return exifOrIso instanceof ExifDateTime
30
28
  ? exifOrIso // already an ExifDateTime
31
29
  : (0, String_1.blank)(exifOrIso)
32
30
  ? undefined // in order of strictness:
33
- : ((_c = (_b = this.fromExifStrict(exifOrIso, defaultZone)) !== null && _b !== void 0 ? _b : this.fromISO(exifOrIso, defaultZone)) !== null && _c !== void 0 ? _c : this.fromExifLoose(exifOrIso, defaultZone));
31
+ : (this.fromExifStrict(exifOrIso, defaultZone) ??
32
+ this.fromISO(exifOrIso, defaultZone) ??
33
+ this.fromExifLoose(exifOrIso, defaultZone));
34
34
  }
35
35
  static fromISO(iso, defaultZone) {
36
36
  if ((0, String_1.blank)(iso) || null != iso.match(/^\d+$/))
37
37
  return undefined;
38
38
  // Unfortunately, DateTime.fromISO() is happy to parse a date with no time,
39
39
  // so we have to do this ourselves:
40
- return __classPrivateFieldGet(this, _a, "m", _ExifDateTime_fromPatterns).call(this, iso, (0, TimeParsing_1.timeFormats)({
40
+ return this.#fromPatterns(iso, (0, TimeParsing_1.timeFormats)({
41
41
  formatPrefixes: ["y-MM-dd'T'", "y-MM-dd ", "y-M-d "],
42
42
  defaultZone,
43
43
  }));
@@ -53,12 +53,22 @@ class ExifDateTime {
53
53
  * `offsetMinutesToZoneName`.
54
54
  */
55
55
  static fromEXIF(text, defaultZone) {
56
- var _b;
57
56
  if ((0, String_1.blank)(text))
58
57
  return undefined;
59
58
  return (
60
59
  // .fromExifStrict() uses .fromISO() as a backstop
61
- (_b = this.fromExifStrict(text, defaultZone)) !== null && _b !== void 0 ? _b : this.fromExifLoose(text, defaultZone));
60
+ this.fromExifStrict(text, defaultZone) ??
61
+ this.fromExifLoose(text, defaultZone));
62
+ }
63
+ static #fromPatterns(text, fmts) {
64
+ const result = (0, TimeParsing_1.parseDateTime)(text, fmts);
65
+ return result == null
66
+ ? undefined
67
+ : ExifDateTime.fromDateTime(result.dt, {
68
+ rawValue: text,
69
+ unsetMilliseconds: result.unsetMilliseconds,
70
+ inferredZone: result.inferredZone,
71
+ });
62
72
  }
63
73
  /**
64
74
  * Parse the given date-time string, EXIF-formatted.
@@ -72,29 +82,40 @@ class ExifDateTime {
72
82
  * `offsetMinutesToZoneName`.
73
83
  */
74
84
  static fromExifStrict(text, defaultZone) {
75
- var _b;
76
- if ((0, String_1.blank)(text))
85
+ if ((0, String_1.blank)(text) || !(0, String_1.isString)(text))
77
86
  return undefined;
78
- return ((_b = __classPrivateFieldGet(this, _a, "m", _ExifDateTime_fromPatterns).call(this, text, (0, TimeParsing_1.timeFormats)({ formatPrefixes: ["y:MM:dd ", "y:M:d "], defaultZone }))) !== null && _b !== void 0 ? _b :
79
- // Not found yet? Maybe it's in ISO format? See
80
- // https://github.com/photostructure/exiftool-vendored.js/issues/71
81
- this.fromISO(text, defaultZone));
87
+ return (this.#fromPatterns(text, (0, TimeParsing_1.timeFormats)({ formatPrefixes: ["y:MM:dd ", "y:M:d "], defaultZone })) ??
88
+ // Not found yet? Maybe it's in ISO format? See
89
+ // https://github.com/photostructure/exiftool-vendored.js/issues/71
90
+ this.fromISO(text, defaultZone));
91
+ }
92
+ static *#looseExifFormats(defaultZone) {
93
+ // The following are from actual datestamps seen in the wild (!!)
94
+ const formats = [
95
+ "MMM d y HH:mm:ss",
96
+ "MMM d y, HH:mm:ss",
97
+ // Thu Oct 13 00:12:27 2016:
98
+ "ccc MMM d HH:mm:ss y",
99
+ ];
100
+ const zone = (0, String_1.notBlank)(defaultZone) ? defaultZone : Timezones_1.UnsetZone;
101
+ for (const fmt of formats) {
102
+ yield { fmt: fmt, zone, inferredZone: true };
103
+ }
82
104
  }
83
105
  static fromExifLoose(text, defaultZone) {
84
- return (0, String_1.blank)(text)
106
+ return (0, String_1.blank)(text) || !(0, String_1.isString)(text)
85
107
  ? undefined
86
- : __classPrivateFieldGet(this, _a, "m", _ExifDateTime_fromPatterns).call(this, text, __classPrivateFieldGet(this, _a, "m", _ExifDateTime_looseExifFormats).call(this, defaultZone));
108
+ : this.#fromPatterns(text, this.#looseExifFormats(defaultZone));
87
109
  }
88
110
  static fromDateTime(dt, opts) {
89
- var _b;
90
111
  if (dt == null || !dt.isValid || dt.year === 0 || dt.year === 1) {
91
112
  return undefined;
92
113
  }
93
- return new _a(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.millisecond === 0 && true === (opts === null || opts === void 0 ? void 0 : opts.unsetMilliseconds)
114
+ return new ExifDateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.millisecond === 0 && true === opts?.unsetMilliseconds
94
115
  ? undefined
95
- : dt.millisecond, dt.offset === Timezones_1.UnsetZoneOffsetMinutes ? undefined : dt.offset, opts === null || opts === void 0 ? void 0 : opts.rawValue, dt.zoneName == null || ((_b = dt.zone) === null || _b === void 0 ? void 0 : _b.name) === Timezones_1.UnsetZone.name
116
+ : dt.millisecond, dt.offset === Timezones_1.UnsetZoneOffsetMinutes ? undefined : dt.offset, opts?.rawValue, dt.zoneName == null || dt.zone?.name === Timezones_1.UnsetZone.name
96
117
  ? undefined
97
- : dt.zoneName, opts === null || opts === void 0 ? void 0 : opts.inferredZone);
118
+ : dt.zoneName, opts?.inferredZone);
98
119
  }
99
120
  /**
100
121
  * Create an ExifDateTime from a number of milliseconds since the epoch
@@ -120,12 +141,13 @@ class ExifDateTime {
120
141
  dt = dt.setZone(Timezones_1.UnsetZone, { keepLocalTime: true });
121
142
  }
122
143
  // TODO: is there a way to provide an invalid millisecond value?
123
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
124
144
  return this.fromDateTime(dt, { rawValue: options.rawValue });
125
145
  }
126
146
  static now(opts = {}) {
127
147
  return this.fromMillis(Date.now(), opts);
128
148
  }
149
+ #dt;
150
+ zone;
129
151
  constructor(year, month, day, hour, minute, second, millisecond, tzoffsetMinutes, rawValue, zoneName, inferredZone) {
130
152
  this.year = year;
131
153
  this.month = month;
@@ -138,7 +160,6 @@ class ExifDateTime {
138
160
  this.rawValue = rawValue;
139
161
  this.zoneName = zoneName;
140
162
  this.inferredZone = inferredZone;
141
- _ExifDateTime_dt.set(this, void 0);
142
163
  this.zone = (0, Timezones_1.getZoneName)({ zoneName, tzoffsetMinutes });
143
164
  }
144
165
  get millis() {
@@ -151,17 +172,16 @@ class ExifDateTime {
151
172
  return this.millisecond == null;
152
173
  }
153
174
  setZone(zone, opts) {
154
- var _b;
155
175
  const dt = (0, TimeParsing_1.setZone)({
156
176
  zone,
157
177
  src: this.toDateTime(),
158
178
  srcHasZone: this.hasZone,
159
179
  opts,
160
180
  });
161
- return _a.fromDateTime(dt, {
181
+ return ExifDateTime.fromDateTime(dt, {
162
182
  rawValue: this.rawValue,
163
183
  unsetMilliseconds: this.millisecond == null,
164
- inferredZone: (_b = opts === null || opts === void 0 ? void 0 : opts.inferredZone) !== null && _b !== void 0 ? _b : true,
184
+ inferredZone: opts?.inferredZone ?? true,
165
185
  });
166
186
  }
167
187
  /**
@@ -169,8 +189,7 @@ class ExifDateTime {
169
189
  * has an unset zone (as Luxon doesn't support "unset" timezones)
170
190
  */
171
191
  toDateTime(overrideZone) {
172
- var _b;
173
- return (__classPrivateFieldSet(this, _ExifDateTime_dt, (_b = __classPrivateFieldGet(this, _ExifDateTime_dt, "f")) !== null && _b !== void 0 ? _b : luxon_1.DateTime.fromObject({
192
+ return (this.#dt ??= luxon_1.DateTime.fromObject({
174
193
  year: this.year,
175
194
  month: this.month,
176
195
  day: this.day,
@@ -179,8 +198,8 @@ class ExifDateTime {
179
198
  second: this.second,
180
199
  millisecond: this.millisecond,
181
200
  }, {
182
- zone: overrideZone !== null && overrideZone !== void 0 ? overrideZone : this.zone,
183
- }), "f"));
201
+ zone: overrideZone ?? this.zone,
202
+ }));
184
203
  }
185
204
  toEpochSeconds(overrideZone) {
186
205
  return this.toDateTime(overrideZone).toUnixInteger();
@@ -189,9 +208,8 @@ class ExifDateTime {
189
208
  return this.toDateTime().toJSDate();
190
209
  }
191
210
  toISOString(options = {}) {
192
- var _b;
193
211
  return (0, Maybe_1.denull)(this.toDateTime().toISO({
194
- suppressMilliseconds: (_b = options.suppressMilliseconds) !== null && _b !== void 0 ? _b : this.millisecond == null,
212
+ suppressMilliseconds: options.suppressMilliseconds ?? this.millisecond == null,
195
213
  includeOffset: this.hasZone && options.includeOffset !== false,
196
214
  }));
197
215
  }
@@ -233,14 +251,14 @@ class ExifDateTime {
233
251
  * @return a new ExifDateTime from the given JSON. Note that this instance **may not be valid**.
234
252
  */
235
253
  static fromJSON(json) {
236
- return new _a(json.year, json.month, json.day, json.hour, json.minute, json.second, json.millisecond, json.tzoffsetMinutes, json.rawValue, json.zoneName, json.inferredZone);
254
+ return new ExifDateTime(json.year, json.month, json.day, json.hour, json.minute, json.second, json.millisecond, json.tzoffsetMinutes, json.rawValue, json.zoneName, json.inferredZone);
237
255
  }
238
256
  maybeMatchZone(target, maxDeltaMs = 14 * DateTime_1.MinuteMs) {
239
- var _b, _c, _d;
240
257
  const targetZone = target.zone;
241
258
  if (targetZone == null || !target.hasZone)
242
259
  return;
243
- return ((_c = (_b = this.setZone(targetZone, { keepLocalTime: false })) === null || _b === void 0 ? void 0 : _b.ifClose(target, maxDeltaMs)) !== null && _c !== void 0 ? _c : (_d = this.setZone(targetZone, { keepLocalTime: true })) === null || _d === void 0 ? void 0 : _d.ifClose(target, maxDeltaMs));
260
+ return (this.setZone(targetZone, { keepLocalTime: false })?.ifClose(target, maxDeltaMs) ??
261
+ this.setZone(targetZone, { keepLocalTime: true })?.ifClose(target, maxDeltaMs));
244
262
  }
245
263
  ifClose(target, maxDeltaMs = 14 * DateTime_1.MinuteMs) {
246
264
  const ts = this.toMillis();
@@ -252,30 +270,8 @@ class ExifDateTime {
252
270
  if (!this.hasZone) {
253
271
  dt = dt.setZone(Timezones_1.UnsetZone, { keepLocalTime: true });
254
272
  }
255
- return _a.fromDateTime(dt, this);
273
+ return ExifDateTime.fromDateTime(dt, this);
256
274
  }
257
275
  }
258
276
  exports.ExifDateTime = ExifDateTime;
259
- _a = ExifDateTime, _ExifDateTime_dt = new WeakMap(), _ExifDateTime_fromPatterns = function _ExifDateTime_fromPatterns(text, fmts) {
260
- const result = (0, TimeParsing_1.parseDateTime)(text, fmts);
261
- return result == null
262
- ? undefined
263
- : _a.fromDateTime(result.dt, {
264
- rawValue: text,
265
- unsetMilliseconds: result.unsetMilliseconds,
266
- inferredZone: result.inferredZone,
267
- });
268
- }, _ExifDateTime_looseExifFormats = function* _ExifDateTime_looseExifFormats(defaultZone) {
269
- // The following are from actual datestamps seen in the wild (!!)
270
- const formats = [
271
- "MMM d y HH:mm:ss",
272
- "MMM d y, HH:mm:ss",
273
- // Thu Oct 13 00:12:27 2016:
274
- "ccc MMM d HH:mm:ss y",
275
- ];
276
- const zone = (0, String_1.notBlank)(defaultZone) ? defaultZone : Timezones_1.UnsetZone;
277
- for (const fmt of formats) {
278
- yield { fmt: fmt, zone, inferredZone: true };
279
- }
280
- };
281
277
  //# sourceMappingURL=ExifDateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExifDateTime.js","sourceRoot":"","sources":["../src/ExifDateTime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExifDateTime.js","sourceRoot":"","sources":["../src/ExifDateTime.ts"],"names":[],"mappings":"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"}
package/dist/ExifTime.js CHANGED
@@ -1,16 +1,4 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- 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");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _ExifTime_instances, _ExifTime_dt, _ExifTime_z, _ExifTime_subsec, _ExifTime_shortZone;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.ExifTime = void 0;
16
4
  const luxon_1 = require("luxon");
@@ -22,6 +10,12 @@ const Timezones_1 = require("./Timezones");
22
10
  * Encodes an ExifTime (which may not have a timezone offset)
23
11
  */
24
12
  class ExifTime {
13
+ hour;
14
+ minute;
15
+ second;
16
+ millisecond;
17
+ rawValue;
18
+ inferredZone;
25
19
  static fromEXIF(text, defaultZone) {
26
20
  const s = (0, String_1.toS)(text).trim();
27
21
  if (s.length === 0)
@@ -37,28 +31,27 @@ class ExifTime {
37
31
  ? undefined
38
32
  : new ExifTime(dt.hour, dt.minute, dt.second, unsetMilliseconds ? undefined : dt.millisecond, rawValue, zone, inferredZone);
39
33
  }
34
+ #dt;
35
+ #z;
36
+ zone;
40
37
  constructor(hour, minute, second, millisecond, rawValue, zoneName, inferredZone) {
41
- _ExifTime_instances.add(this);
42
38
  this.hour = hour;
43
39
  this.minute = minute;
44
40
  this.second = second;
45
41
  this.millisecond = millisecond;
46
42
  this.rawValue = rawValue;
47
43
  this.inferredZone = inferredZone;
48
- _ExifTime_dt.set(this, void 0);
49
- _ExifTime_z.set(this, void 0);
50
44
  this.zone = (0, Timezones_1.getZoneName)({ zoneName });
51
45
  }
52
46
  toDateTime() {
53
- var _a;
54
- return (__classPrivateFieldSet(this, _ExifTime_dt, (_a = __classPrivateFieldGet(this, _ExifTime_dt, "f")) !== null && _a !== void 0 ? _a : luxon_1.DateTime.fromObject({
47
+ return (this.#dt ??= luxon_1.DateTime.fromObject({
55
48
  hour: this.hour,
56
49
  minute: this.minute,
57
50
  second: this.second,
58
51
  millisecond: this.millisecond,
59
52
  }, {
60
53
  zone: this.zone,
61
- }), "f"));
54
+ }));
62
55
  }
63
56
  /**
64
57
  * Alias for `.millisecond`
@@ -69,10 +62,16 @@ class ExifTime {
69
62
  get hasZone() {
70
63
  return this.zone != null;
71
64
  }
65
+ #subsec() {
66
+ return this.millisecond == null ? "" : "." + (0, String_1.pad3)(this.millisecond);
67
+ }
68
+ #shortZone() {
69
+ return (this.#z ??= (0, Timezones_1.zoneToShortOffset)(this.zone));
70
+ }
72
71
  toString() {
73
72
  return ((0, String_1.pad2)(this.hour, this.minute, this.second).join(":") +
74
- __classPrivateFieldGet(this, _ExifTime_instances, "m", _ExifTime_subsec).call(this) +
75
- __classPrivateFieldGet(this, _ExifTime_instances, "m", _ExifTime_shortZone).call(this));
73
+ this.#subsec() +
74
+ this.#shortZone());
76
75
  }
77
76
  toISOString() {
78
77
  return this.toString();
@@ -106,10 +105,4 @@ class ExifTime {
106
105
  }
107
106
  }
108
107
  exports.ExifTime = ExifTime;
109
- _ExifTime_dt = new WeakMap(), _ExifTime_z = new WeakMap(), _ExifTime_instances = new WeakSet(), _ExifTime_subsec = function _ExifTime_subsec() {
110
- return this.millisecond == null ? "" : "." + (0, String_1.pad3)(this.millisecond);
111
- }, _ExifTime_shortZone = function _ExifTime_shortZone() {
112
- var _a;
113
- return (__classPrivateFieldSet(this, _ExifTime_z, (_a = __classPrivateFieldGet(this, _ExifTime_z, "f")) !== null && _a !== void 0 ? _a : (0, Timezones_1.zoneToShortOffset)(this.zone), "f"));
114
- };
115
108
  //# sourceMappingURL=ExifTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExifTime.js","sourceRoot":"","sources":["../src/ExifTime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExifTime.js","sourceRoot":"","sources":["../src/ExifTime.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as bc from "batch-cluster";
2
+ import { BinaryExtractionTaskOptions } from "./BinaryExtractionTask";
2
3
  import { ContainerDirectoryItem } from "./ContainerDirectoryItem";
3
4
  import { Defined, DefinedOrNullValued } from "./Defined";
4
5
  import { ErrorsAndWarnings } from "./ErrorsAndWarnings";
@@ -20,7 +21,7 @@ import { ShortcutTags } from "./ShortcutTags";
20
21
  import { Struct } from "./Struct";
21
22
  import { APPTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, Tags, XMPTags } from "./Tags";
22
23
  import { Version } from "./Version";
23
- import { AdditionalWriteTags, ExpandedDateTags, MutableTags, StructAppendTags, WriteTags } from "./WriteTags";
24
+ import { AdditionalWriteTags, ExpandedDateTags, MutableTags, StructAppendTags, WritableGPSRefs, WriteTags } from "./WriteTags";
24
25
  import { WriteTaskOptions, WriteTaskResult } from "./WriteTask";
25
26
  export { BinaryField } from "./BinaryField";
26
27
  export { CapturedAtTagNames } from "./CapturedAtTagNames";
@@ -37,7 +38,7 @@ export { parseJSON } from "./JSON";
37
38
  export { DefaultReadTaskOptions } from "./ReadTask";
38
39
  export { TimezoneOffsetTagnames, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, defaultVideosToUTC, offsetMinutesToZoneName, } from "./Timezones";
39
40
  export { DefaultWriteTaskOptions } from "./WriteTask";
40
- export type { APPTags, AdditionalWriteTags, IPTCApplicationRecordTags as ApplicationRecordTags, CollectionInfo, CompositeTags, ContainerDirectoryItem, Defined, DefinedOrNullValued, EXIFTags, ErrorsAndWarnings, ExifToolOptions, ExifToolTags, ExifToolTaskOptions, ExifToolVendoredTags, ExpandedDateTags, FileTags, FlashPixTags, GeolocationTags, ICCProfileTags, IPTCApplicationRecordTags, IPTCTags, ImageDataHashTag, JFIFTags, Json, KeywordInfoStruct, KeywordStruct, Literal, MPFTags, MWGCollectionsTags, MWGKeywordTags, MakerNotesTags, Maybe, MetaTags, MutableTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, RawTags, ReadTaskOptions, ResourceEvent, ShortcutTags, Struct, StructAppendTags, Tags, Version, WriteTags, WriteTaskOptions, WriteTaskResult, XMPTags, };
41
+ export type { APPTags, AdditionalWriteTags, IPTCApplicationRecordTags as ApplicationRecordTags, CollectionInfo, CompositeTags, ContainerDirectoryItem, Defined, DefinedOrNullValued, EXIFTags, ErrorsAndWarnings, ExifToolOptions, ExifToolTags, ExifToolTaskOptions, ExifToolVendoredTags, ExpandedDateTags, FileTags, FlashPixTags, GeolocationTags, ICCProfileTags, IPTCApplicationRecordTags, IPTCTags, ImageDataHashTag, JFIFTags, Json, KeywordInfoStruct, KeywordStruct, Literal, MPFTags, MWGCollectionsTags, MWGKeywordTags, MakerNotesTags, Maybe, MetaTags, MutableTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, RawTags, ReadTaskOptions, ResourceEvent, ShortcutTags, Struct, StructAppendTags, Tags, Version, WritableGPSRefs, WriteTags, WriteTaskOptions, WriteTaskResult, XMPTags, };
41
42
  /**
42
43
  * Manages delegating calls to a cluster of ExifTool child processes.
43
44
  *
@@ -153,8 +154,6 @@ export declare class ExifTool {
153
154
  */
154
155
  write(file: string, tags: WriteTags, options?: WriteTaskOptions): Promise<WriteTaskResult>;
155
156
  /**
156
- * Write the given `tags` to `file`.
157
- *
158
157
  * @param file an existing file to write `tags` to
159
158
  *
160
159
  * @param tags the tags to write to `file`.
@@ -173,7 +172,7 @@ export declare class ExifTool {
173
172
  *
174
173
  * @deprecated use
175
174
  * {@link ExifTool.write(file: string, tags: WriteTags, options?: WriteTaskOptions)}
176
- * instead (move `writeArgs` into your `options` hash)
175
+ * instead: move `writeArgs` into your `options` hash.
177
176
  */
178
177
  write(file: string, tags: WriteTags, writeArgs?: string[], options?: WriteTaskOptions): Promise<WriteTaskResult>;
179
178
  /**
@@ -191,26 +190,28 @@ export declare class ExifTool {
191
190
  retain?: (keyof Tags | string)[];
192
191
  } & Partial<ExifToolTaskOptions>): Promise<WriteTaskResult>;
193
192
  /**
194
- * Extract the low-resolution thumbnail in `path/to/image.jpg`
195
- * and write it to `path/to/thumbnail.jpg`.
193
+ * Extract the low-resolution thumbnail in `path/to/image.jpg` and write it to
194
+ * `path/to/thumbnail.jpg`.
196
195
  *
197
196
  * Note that these images can be less than .1 megapixels in size.
198
197
  *
199
- * @return a `Promise<void>`. An `Error` is raised if
200
- * the file could not be read or the output not written.
198
+ * @return a `Promise<void>`
199
+ *
200
+ * @throws if the file could not be read or the output not written
201
201
  */
202
- extractThumbnail(imageFile: string, thumbnailFile: string, opts?: ExifToolOptions): Promise<void>;
202
+ extractThumbnail(imageFile: string, thumbnailFile: string, opts?: BinaryExtractionTaskOptions): Promise<void>;
203
203
  /**
204
- * Extract the "preview" image in `path/to/image.jpg`
205
- * and write it to `path/to/preview.jpg`.
204
+ * Extract the "preview" image in `path/to/image.jpg` and write it to
205
+ * `path/to/preview.jpg`.
206
206
  *
207
207
  * The size of these images varies widely, and is present in dSLR images.
208
208
  * Canon, Fuji, Olympus, and Sony use this tag.
209
209
  *
210
- * @return a `Promise<void>`. An `Error` is raised if
211
- * the file could not be read or the output not written.
210
+ * @return a `Promise<void>`
211
+ *
212
+ * @throws if the file could not be read or the output not written
212
213
  */
213
- extractPreview(imageFile: string, previewFile: string, opts?: ExifToolOptions): Promise<void>;
214
+ extractPreview(imageFile: string, previewFile: string, opts?: BinaryExtractionTaskOptions): Promise<void>;
214
215
  /**
215
216
  * Extract the "JpgFromRaw" image in `path/to/image.jpg` and write it to
216
217
  * `path/to/fromRaw.jpg`.
@@ -218,27 +219,30 @@ export declare class ExifTool {
218
219
  * This size of these images varies widely, and is not present in all RAW
219
220
  * images. Nikon and Panasonic use this tag.
220
221
  *
221
- * @return a `Promise<void>`. The promise will be rejected if the file could
222
- * not be read or the output not written.
222
+ * @return a `Promise<void>`
223
+ *
224
+ * @throws if the file could not be read or the output not written.
223
225
  */
224
- extractJpgFromRaw(imageFile: string, outputFile: string, opts?: ExifToolOptions): Promise<void>;
226
+ extractJpgFromRaw(imageFile: string, outputFile: string, opts?: BinaryExtractionTaskOptions): Promise<void>;
225
227
  /**
226
228
  * Extract a given binary value from "tagname" tag associated to
227
229
  * `path/to/image.jpg` and write it to `dest` (which cannot exist and whose
228
230
  * directory must already exist).
229
231
  *
230
- * @return a `Promise<void>`. The promise will be rejected if the binary
231
- * output not be written to `dest`.
232
+ * @return a `Promise<void>`
233
+ *
234
+ * @throws if the binary output not be written to `dest`.
232
235
  */
233
- extractBinaryTag(tagname: string, src: string, dest: string, opts?: ExifToolTaskOptions): Promise<void>;
236
+ extractBinaryTag(tagname: string, src: string, dest: string, opts?: BinaryExtractionTaskOptions): Promise<void>;
234
237
  /**
235
238
  * Extract a given binary value from "tagname" tag associated to
236
239
  * `path/to/image.jpg` as a `Buffer`. This has the advantage of not writing to
237
240
  * a file, but if the payload associated to `tagname` is large, this can cause
238
241
  * out-of-memory errors.
239
242
  *
240
- * @return a `Promise<Buffer>`. The promise will be rejected if the file or
241
- * tag is missing.
243
+ * @return a `Promise<Buffer>`
244
+ *
245
+ * @throws if the file or tag is missing.
242
246
  */
243
247
  extractBinaryTagToBuffer(tagname: PreviewTag, imageFile: string, opts?: ExifToolTaskOptions): Promise<Buffer>;
244
248
  /**
@@ -257,7 +261,7 @@ export declare class ExifTool {
257
261
  * @param {boolean} opts.allowMakerNoteRepair if there are problems with MakerNote
258
262
  * tags, allow ExifTool to apply heuristics to recover corrupt tags. See
259
263
  * exiftool's `-F` flag.
260
- * @return {Promise<void>} resolved when outputFile has been written.
264
+ * @return {Promise<void>} resolved after the outputFile has been written.
261
265
  */
262
266
  rewriteAllTags(inputFile: string, outputFile: string, opts?: {
263
267
  allowMakerNoteRepair?: boolean;