exiftool-vendored 24.5.0 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ReadTask.js CHANGED
@@ -22,12 +22,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ 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");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
25
31
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
26
32
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
27
33
  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
34
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
29
35
  };
30
- var _ReadTask_instances, _ReadTask_isVideo, _ReadTask_defaultToUTC, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
36
+ var _ReadTask_instances, _ReadTask_raw, _ReadTask_rawDegrouped, _ReadTask_tags, _ReadTask_lat, _ReadTask_lon, _ReadTask_invalidLatLon, _ReadTask_tz, _ReadTask_tzSource, _ReadTask_isVideo, _ReadTask_defaultToUTC, _ReadTask_tagName, _ReadTask_parseTags, _ReadTask_extractLatLon, _ReadTask_latlon, _ReadTask_geoTz, _ReadTask_extractTzOffset, _ReadTask_parseTag;
31
37
  Object.defineProperty(exports, "__esModule", { value: true });
32
38
  exports.ReadTask = exports.DefaultReadTaskOptions = exports.nullish = exports.ReadTaskOptionFields = void 0;
33
39
  const batch_cluster_1 = require("batch-cluster");
@@ -50,7 +56,8 @@ const Pick_1 = require("./Pick");
50
56
  const String_1 = require("./String");
51
57
  const Timezones_1 = require("./Timezones");
52
58
  /**
53
- * tag names we don't need to muck with:
59
+ * tag names we don't need to muck with, but name conventions (like including
60
+ * "date") suggest they might be date/time tags
54
61
  */
55
62
  const PassthroughTags = [
56
63
  "ExifToolVersion",
@@ -63,6 +70,7 @@ exports.ReadTaskOptionFields = [
63
70
  "backfillTimezones",
64
71
  "defaultVideosToUTC",
65
72
  "geoTz",
73
+ "geolocation",
66
74
  "ignoreZeroZeroLatLon",
67
75
  "imageHashType",
68
76
  "includeImageDataMD5",
@@ -88,50 +96,67 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
88
96
  this.sourceFile = sourceFile;
89
97
  this.args = args;
90
98
  this.options = options;
91
- this._raw = {};
92
- this._rawDegrouped = {};
93
- this.tags = {};
94
- this.invalidLatLon = false;
99
+ _ReadTask_raw.set(this, {});
100
+ _ReadTask_rawDegrouped.set(this, {});
101
+ _ReadTask_tags.set(this, {});
102
+ _ReadTask_lat.set(this, void 0);
103
+ _ReadTask_lon.set(this, void 0);
104
+ _ReadTask_invalidLatLon.set(this, false);
105
+ _ReadTask_tz.set(this, void 0);
106
+ _ReadTask_tzSource.set(this, void 0);
95
107
  _ReadTask_extractLatLon.set(this, (0, Lazy_1.lazy)(() => {
96
108
  var _a, _b;
97
- (_a = this.lat) !== null && _a !== void 0 ? _a : (this.lat = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, {
109
+ __classPrivateFieldSet(this, _ReadTask_lat, (_a = __classPrivateFieldGet(this, _ReadTask_lat, "f")) !== null && _a !== void 0 ? _a : __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, {
98
110
  tagName: "GPSLatitude",
99
111
  positiveRef: "N",
100
112
  negativeRef: "S",
101
113
  maxValid: 90,
102
- }));
103
- (_b = this.lon) !== null && _b !== void 0 ? _b : (this.lon = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, {
114
+ }), "f");
115
+ __classPrivateFieldSet(this, _ReadTask_lon, (_b = __classPrivateFieldGet(this, _ReadTask_lon, "f")) !== null && _b !== void 0 ? _b : __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_latlon).call(this, {
104
116
  tagName: "GPSLongitude",
105
117
  positiveRef: "E",
106
118
  negativeRef: "W",
107
119
  maxValid: 180,
108
- }));
109
- if (this.options.ignoreZeroZeroLatLon && this.lat === 0 && this.lon === 0) {
110
- this.invalidLatLon = true;
120
+ }), "f");
121
+ if (this.options.ignoreZeroZeroLatLon &&
122
+ __classPrivateFieldGet(this, _ReadTask_lat, "f") === 0 &&
123
+ __classPrivateFieldGet(this, _ReadTask_lon, "f") === 0) {
124
+ __classPrivateFieldSet(this, _ReadTask_invalidLatLon, true, "f");
111
125
  }
112
- if (this.invalidLatLon) {
113
- this.lat = this.lon = undefined;
126
+ if (__classPrivateFieldGet(this, _ReadTask_invalidLatLon, "f")) {
127
+ __classPrivateFieldSet(this, _ReadTask_lat, __classPrivateFieldSet(this, _ReadTask_lon, undefined, "f"), "f");
128
+ if (this.options.geolocation) {
129
+ this.warnings.push("Invalid GPSLatitude or GPSLongitude. Geolocation tags have been deleted.");
130
+ for (const key of Object.keys(__classPrivateFieldGet(this, _ReadTask_raw, "f"))) {
131
+ const k = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key);
132
+ if (k.startsWith("Geolocation")) {
133
+ delete __classPrivateFieldGet(this, _ReadTask_raw, "f")[key];
134
+ delete __classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f")[k];
135
+ }
136
+ }
137
+ }
114
138
  }
115
139
  }));
116
140
  _ReadTask_geoTz.set(this, (0, Lazy_1.lazy)(() => {
117
141
  __classPrivateFieldGet(this, _ReadTask_extractLatLon, "f").call(this);
118
- if (this.invalidLatLon || this.lat == null || this.lon == null)
142
+ if (__classPrivateFieldGet(this, _ReadTask_invalidLatLon, "f") || __classPrivateFieldGet(this, _ReadTask_lat, "f") == null || __classPrivateFieldGet(this, _ReadTask_lon, "f") == null)
119
143
  return;
120
144
  try {
121
- const geoTz = this.options.geoTz(this.lat, this.lon);
145
+ const geoTz = this.options.geoTz(__classPrivateFieldGet(this, _ReadTask_lat, "f"), __classPrivateFieldGet(this, _ReadTask_lon, "f"));
122
146
  return (0, Timezones_1.normalizeZone)(geoTz);
123
147
  }
124
148
  catch {
125
- this.invalidLatLon = true;
149
+ __classPrivateFieldSet(this, _ReadTask_invalidLatLon, true, "f");
126
150
  return;
127
151
  }
128
152
  }));
129
153
  // See https://github.com/photostructure/exiftool-vendored.js/issues/147#issuecomment-1642580118
130
154
  this.degroup = this.args.includes("-G");
131
- this.tags = { SourceFile: sourceFile };
132
- this.tags.errors = this.errors;
155
+ __classPrivateFieldSet(this, _ReadTask_tags, { SourceFile: sourceFile }, "f");
156
+ __classPrivateFieldGet(this, _ReadTask_tags, "f").errors = this.errors;
133
157
  }
134
158
  static for(filename, options) {
159
+ var _a;
135
160
  const opts = (0, ExifToolOptions_1.handleDeprecatedOptions)({
136
161
  ...exports.DefaultReadTaskOptions,
137
162
  ...options,
@@ -151,6 +176,9 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
151
176
  args.push("-api", "requesttags=imagedatahash");
152
177
  args.push("-api", "imagehashtype=" + opts.imageHashType);
153
178
  }
179
+ if ((_a = opts.geolocation) !== null && _a !== void 0 ? _a : false) {
180
+ args.push("-api", "geolocation");
181
+ }
154
182
  // IMPORTANT: "-all" must be after numeric tag references, as the first
155
183
  // reference in wins
156
184
  args.push(...opts.numericTags.map((ea) => "-" + ea + "#"));
@@ -165,7 +193,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
165
193
  // only exposed for tests
166
194
  parse(data, err) {
167
195
  try {
168
- this._raw = JSON.parse(data)[0];
196
+ __classPrivateFieldSet(this, _ReadTask_raw, JSON.parse(data)[0], "f");
169
197
  }
170
198
  catch (jsonError) {
171
199
  // TODO: should restart exiftool?
@@ -177,65 +205,65 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
177
205
  throw err !== null && err !== void 0 ? err : jsonError;
178
206
  }
179
207
  // ExifTool does "humorous" things to paths, like flip path separators. resolve() undoes that.
180
- const SourceFile = _path.resolve(this._raw.SourceFile);
208
+ const SourceFile = _path.resolve(__classPrivateFieldGet(this, _ReadTask_raw, "f").SourceFile);
181
209
  // Sanity check that the result is for the file we want:
182
210
  if (SourceFile !== this.sourceFile) {
183
211
  // Throw an error rather than add an errors string because this is *really* bad:
184
- throw new Error(`Internal error: unexpected SourceFile of ${this._raw.SourceFile} for file ${this.sourceFile}`);
185
- }
186
- if (this.degroup) {
187
- this._rawDegrouped = {};
188
- for (const [key, value] of Object.entries(this._raw)) {
189
- const k = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key);
190
- this._rawDegrouped[k] = value;
191
- }
192
- }
193
- else {
194
- this._rawDegrouped = this._raw;
212
+ throw new Error(`Internal error: unexpected SourceFile of ${__classPrivateFieldGet(this, _ReadTask_raw, "f").SourceFile} for file ${this.sourceFile}`);
195
213
  }
196
214
  return __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTags).call(this);
197
215
  }
198
216
  }
199
217
  exports.ReadTask = ReadTask;
200
- _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadTask_instances = new WeakSet(), _ReadTask_isVideo = function _ReadTask_isVideo() {
218
+ _ReadTask_raw = new WeakMap(), _ReadTask_rawDegrouped = new WeakMap(), _ReadTask_tags = new WeakMap(), _ReadTask_lat = new WeakMap(), _ReadTask_lon = new WeakMap(), _ReadTask_invalidLatLon = new WeakMap(), _ReadTask_tz = new WeakMap(), _ReadTask_tzSource = new WeakMap(), _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadTask_instances = new WeakSet(), _ReadTask_isVideo = function _ReadTask_isVideo() {
201
219
  var _a;
202
- return String((_a = this._rawDegrouped) === null || _a === void 0 ? void 0 : _a.MIMEType).startsWith("video/");
220
+ return String((_a = __classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f")) === null || _a === void 0 ? void 0 : _a.MIMEType).startsWith("video/");
203
221
  }, _ReadTask_defaultToUTC = function _ReadTask_defaultToUTC() {
204
222
  return __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_isVideo).call(this) && this.options.defaultVideosToUTC;
205
223
  }, _ReadTask_tagName = function _ReadTask_tagName(k) {
206
224
  var _a;
207
225
  return this.degroup ? (_a = k.split(":")[1]) !== null && _a !== void 0 ? _a : k : k;
208
226
  }, _ReadTask_parseTags = function _ReadTask_parseTags() {
227
+ if (this.degroup) {
228
+ __classPrivateFieldSet(this, _ReadTask_rawDegrouped, {}, "f");
229
+ for (const [key, value] of Object.entries(__classPrivateFieldGet(this, _ReadTask_raw, "f"))) {
230
+ const k = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key);
231
+ __classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f")[k] = value;
232
+ }
233
+ }
234
+ else {
235
+ __classPrivateFieldSet(this, _ReadTask_rawDegrouped, __classPrivateFieldGet(this, _ReadTask_raw, "f"), "f");
236
+ }
209
237
  __classPrivateFieldGet(this, _ReadTask_extractLatLon, "f").call(this);
210
238
  __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_extractTzOffset).call(this);
211
- (0, Maybe_1.map)(this.tz, (ea) => (this.tags.tz = ea));
212
- (0, Maybe_1.map)(this.tzSource, (ea) => (this.tags.tzSource = ea));
213
- // avoid casting `this.tags as any` everywhere:
214
- const tags = this.tags;
215
- for (const [key, value] of Object.entries(this._raw)) {
239
+ (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_tz, "f"), (ea) => (__classPrivateFieldGet(this, _ReadTask_tags, "f").tz = ea));
240
+ (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_tzSource, "f"), (ea) => (__classPrivateFieldGet(this, _ReadTask_tags, "f").tzSource = ea));
241
+ // avoid casting `this.tags as any` for the rest of the function:
242
+ const tags = __classPrivateFieldGet(this, _ReadTask_tags, "f");
243
+ for (const [key, value] of Object.entries(__classPrivateFieldGet(this, _ReadTask_raw, "f"))) {
216
244
  const k = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_tagName).call(this, key);
217
245
  const v = __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, k, value);
218
246
  // Note that we set `key` (which may include a group prefix):
219
247
  tags[key] = v;
220
248
  }
221
- // we could `return {...tags, ...errorsAndWarnings(this, tags)}` but tags
222
- // is a chonky monster, and we don't want to double work for the poor
249
+ // we could `return {...tags, ...errorsAndWarnings(this, tags)}` but tags is
250
+ // a chonky monster, and we don't want to double the work for the poor
223
251
  // garbage collector.
224
252
  const { errors, warnings } = (0, ErrorsAndWarnings_1.errorsAndWarnings)(this, tags);
225
253
  tags.errors = errors;
226
254
  tags.warnings = warnings;
227
255
  return tags;
228
256
  }, _ReadTask_latlon = function _ReadTask_latlon({ tagName, positiveRef, negativeRef, maxValid, }) {
229
- const tagValue = this._rawDegrouped[tagName];
257
+ const tagValue = __classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f")[tagName];
230
258
  const refKey = tagName + "Ref";
231
- const ref = this._rawDegrouped[refKey];
259
+ const ref = __classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f")[refKey];
232
260
  const result = (0, Number_1.toFloat)(tagValue);
233
261
  if (result == null) {
234
262
  return;
235
263
  }
236
264
  else if (Math.abs(result) > maxValid) {
237
265
  this.warnings.push(`Invalid ${tagName}: ${JSON.stringify(tagValue)}`);
238
- this.invalidLatLon = true;
266
+ __classPrivateFieldSet(this, _ReadTask_invalidLatLon, true, "f");
239
267
  return;
240
268
  }
241
269
  else if ((0, String_1.blank)(ref)) {
@@ -256,29 +284,32 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
256
284
  return result;
257
285
  }
258
286
  }, _ReadTask_extractTzOffset = function _ReadTask_extractTzOffset() {
259
- (0, Maybe_1.map)((0, Maybe_1.firstDefinedThunk)([
260
- // If there is an explicit TimeZone tag (which is rare), defer to that
261
- // before defaulting to UTC for videos:
262
- () => (0, Timezones_1.extractTzOffsetFromTags)(this._rawDegrouped),
263
- () => (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this), (ea) => ({
264
- tz: ea.name,
265
- src: "GPSLatitude/GPSLongitude",
266
- })),
267
- () => (0, Timezones_1.extractTzOffsetFromDatestamps)(this._rawDegrouped, this.options),
268
- // See https://github.com/photostructure/exiftool-vendored.js/issues/113
269
- // and https://github.com/photostructure/exiftool-vendored.js/issues/156
270
- // Videos are frequently encoded in UTC, but don't include the
271
- // timezone offset in their datetime stamps.
272
- () => __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_defaultToUTC).call(this)
273
- ? {
274
- tz: "UTC",
275
- src: "defaultVideosToUTC",
276
- }
277
- : // not applicable:
278
- undefined,
279
- // This is a last-ditch estimation heuristic:
280
- () => (0, Timezones_1.extractTzOffsetFromUTCOffset)(this._rawDegrouped),
281
- ]), (ea) => ({ tz: this.tz, src: this.tzSource } = ea));
287
+ var _a, _b, _c, _d;
288
+ const result =
289
+ // If there is an explicit TimeZone tag (which is rare), or if defer to that
290
+ // before defaulting to UTC for videos:
291
+ (_d = (_c = (_b = (_a = (0, Timezones_1.extractTzOffsetFromTags)(__classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f"))) !== null && _a !== void 0 ? _a : (0, Maybe_1.map)(__classPrivateFieldGet(this, _ReadTask_geoTz, "f").call(this), (ea) => ({
292
+ tz: ea.name,
293
+ src: "GPSLatitude/GPSLongitude",
294
+ }))) !== null && _b !== void 0 ? _b : (0, Timezones_1.extractTzOffsetFromDatestamps)(__classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f"), this.options)) !== null && _c !== void 0 ? _c :
295
+ // See https://github.com/photostructure/exiftool-vendored.js/issues/113
296
+ // and https://github.com/photostructure/exiftool-vendored.js/issues/156
297
+ // Videos are frequently encoded in UTC, but don't include the
298
+ // timezone offset in their datetime stamps.
299
+ (__classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_defaultToUTC).call(this)
300
+ ? {
301
+ tz: "UTC",
302
+ src: "defaultVideosToUTC",
303
+ }
304
+ : // not applicable:
305
+ undefined)) !== null && _d !== void 0 ? _d :
306
+ // This is a last-ditch estimation heuristic:
307
+ (0, Timezones_1.extractTzOffsetFromUTCOffset)(__classPrivateFieldGet(this, _ReadTask_rawDegrouped, "f"));
308
+ if (result != null) {
309
+ __classPrivateFieldSet(this, _ReadTask_tz, result.tz, "f");
310
+ __classPrivateFieldSet(this, _ReadTask_tzSource, result.src, "f");
311
+ }
312
+ return result;
282
313
  }, _ReadTask_parseTag = function _ReadTask_parseTag(tagName, value) {
283
314
  var _a, _b, _c;
284
315
  if (nullish(value))
@@ -288,10 +319,10 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
288
319
  return value;
289
320
  }
290
321
  if (tagName === "GPSLatitude") {
291
- return this.lat;
322
+ return __classPrivateFieldGet(this, _ReadTask_lat, "f");
292
323
  }
293
324
  if (tagName === "GPSLongitude") {
294
- return this.lon;
325
+ return __classPrivateFieldGet(this, _ReadTask_lon, "f");
295
326
  }
296
327
  if (Array.isArray(value)) {
297
328
  return value.map((ea) => __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_parseTag).call(this, tagName, ea));
@@ -317,7 +348,7 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
317
348
  const tz = isUtcTagName(tagName) || __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_defaultToUTC).call(this)
318
349
  ? "UTC"
319
350
  : this.options.backfillTimezones
320
- ? this.tz
351
+ ? __classPrivateFieldGet(this, _ReadTask_tz, "f")
321
352
  : undefined;
322
353
  // Time-only tags have "time" but not "date" in their name:
323
354
  const keyIncludesTime = /subsec|time/i.test(tagName);
@@ -332,12 +363,12 @@ _ReadTask_extractLatLon = new WeakMap(), _ReadTask_geoTz = new WeakMap(), _ReadT
332
363
  : undefined)) !== null && _c !== void 0 ? _c : value;
333
364
  if (this.options.backfillTimezones &&
334
365
  result != null &&
335
- this.tz != null &&
366
+ __classPrivateFieldGet(this, _ReadTask_tz, "f") != null &&
336
367
  result instanceof ExifDateTime_1.ExifDateTime &&
337
368
  __classPrivateFieldGet(this, _ReadTask_instances, "m", _ReadTask_defaultToUTC).call(this) &&
338
369
  !isUtcTagName(tagName) &&
339
370
  true === result.inferredZone) {
340
- return result.setZone(this.tz);
371
+ return result.setZone(__classPrivateFieldGet(this, _ReadTask_tz, "f"));
341
372
  }
342
373
  return result;
343
374
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAsC;AACtC,iDAAkC;AAClC,mCAA6B;AAC7B,+CAA2C;AAC3C,qEAAiE;AACjE,2DAAuD;AACvD,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AACrC,uDAA2D;AAC3D,iDAA6C;AAC7C,+DAA+D;AAC/D,iCAA6B;AAC7B,mCAAgD;AAChD,qCAA4C;AAC5C,+CAA2C;AAC3C,iCAA6B;AAC7B,qCAA0C;AAE1C,2CAKoB;AAEpB;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,UAAU;IACV,mBAAmB;CACpB,CAAA;AAEY,QAAA,oBAAoB,GAAG;IAClC,mBAAmB;IACnB,oBAAoB;IACpB,OAAO;IACP,sBAAsB;IACtB,eAAe;IACf,qBAAqB;IACrB,6BAA6B;IAC7B,gCAAgC;IAChC,aAAa;IACb,QAAQ;CACA,CAAA;AAEV,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;AAEY,QAAA,sBAAsB,GAAG;IACpC,YAAY,EAAE,EAAc;IAC5B,GAAG,IAAA,WAAI,EAAC,+CAAsB,EAAE,GAAG,4BAAoB,CAAC;CAChD,CAAA;AAIV,MAAM,iBAAiB,GAAG,oCAAoC,CAAA;AAE9D,MAAa,QAAS,SAAQ,2BAAkB;IAW9C,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;QAZ3B,SAAI,GAAQ,EAAE,CAAA;QACd,kBAAa,GAAQ,EAAE,CAAA;QACd,SAAI,GAAS,EAAE,CAAA;QAGxB,kBAAa,GAAG,KAAK,CAAA;QA0H7B,kCAAiB,IAAA,WAAI,EAAC,GAAG,EAAE;;YACzB,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,EAAS;gBACxB,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,GAAG;gBAChB,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,EAAE;aACb,CAAC,EAAA;YACF,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,uBAAA,IAAI,6CAAQ,MAAZ,IAAI,EAAS;gBACxB,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,GAAG;gBAChB,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,GAAG;aACd,CAAC,EAAA;YACF,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAC3B,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,CAAA;YACjC,CAAC;QACH,CAAC,CAAC,EAAA;QA8CF,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,CAAC;gBACH,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;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,OAAM;YACR,CAAC;QACH,CAAC,CAAC,EAAA;QA3LA,gGAAgG;QAChG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvC,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,OAAiC;QAC5D,MAAM,IAAI,GAAoB,IAAA,yCAAuB,EAAC;YACpD,GAAG,8BAAsB;YACzB,GAAG,OAAO;SACX,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG;YACX,GAAG,6CAAuB;YAC1B,OAAO;YACP,SAAS,EAAE,sDAAsD;YACjE,GAAG,IAAA,WAAG,EAAC,IAAI,CAAC,YAAY,CAAC;SAC1B,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAC/D,yEAAyE;YACzE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,CAAC;QACD,uEAAuE;QACvE,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QAC1D,qEAAqE;QAErE,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE7B,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAEQ,QAAQ;QACf,OAAO,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC3C,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,IAAY,EAAE,GAAW;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,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;QACxB,CAAC;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,CAAC;YACnC,gFAAgF;YAChF,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,EAAE,CAC/F,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;YACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,GAAG,uBAAA,IAAI,8CAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAA;gBAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAA;QAChC,CAAC;QACD,OAAO,uBAAA,IAAI,gDAAW,MAAf,IAAI,CAAa,CAAA;IAC1B,CAAC;CAyOF;AAnUD,4BAmUC;;;IAtOG,OAAO,MAAM,CAAC,MAAA,IAAI,CAAC,aAAa,0CAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAClE,CAAC;IAGC,OAAO,uBAAA,IAAI,8CAAS,MAAb,IAAI,CAAW,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAA;AAC3D,CAAC,iDAEQ,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,+CAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAW,CAAA;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,uBAAA,IAAI,8CAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,CAAC,EAAE,KAAK,CAAC,CAAA;QAClC,6DAA6D;QAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACf,CAAC;IAED,yEAAyE;IACzE,qEAAqE;IACrE,qBAAqB;IACrB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,qCAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAExB,OAAO,IAAI,CAAA;AACb,CAAC,+CAuBO,EACN,OAAO,EACP,WAAW,EACX,WAAW,EACX,QAAQ,GAMT;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,QAAQ,CAAC,CAAA;IAChC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;SAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAM;IACR,CAAC;SAAM,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE,CAAC;QACtB,kHAAkH;QAClH,OAAO,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,gBAAgB,GACpB,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1E,MAAM,gBAAgB,GACpB,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;QACzE,IAAI,gBAAgB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,WAAW,OAAO,OAAO,MAAM,cAAc,GAAG,IAAI,OAAO,gBAAgB,MAAM,EAAE,CACpF,CAAA;QACH,CAAC;aAAM,IAAI,gBAAgB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,WAAW,OAAO,OAAO,MAAM,cAAc,GAAG,IAAI,OAAO,gBAAgB,MAAM,EAAE,CACpF,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;IAeC,IAAA,WAAG,EACD,IAAA,yBAAiB,EAAC;QAChB,sEAAsE;QACtE,uCAAuC;QACvC,GAAG,EAAE,CAAC,IAAA,mCAAuB,EAAC,IAAI,CAAC,aAAa,CAAC;QAEjD,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,GAAG,EAAE,CAAC,IAAA,yCAA6B,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC;QAErE,wEAAwE;QACxE,wEAAwE;QAExE,8DAA8D;QAC9D,4CAA4C;QAC5C,GAAG,EAAE,CACH,uBAAA,IAAI,mDAAc,MAAlB,IAAI,CAAgB;YAClB,CAAC,CAAC;gBACE,EAAE,EAAE,KAAK;gBACT,GAAG,EAAE,oBAAoB;aAC1B;YACH,CAAC,CAAC,kBAAkB;gBAClB,SAAS;QAEf,6CAA6C;QAC7C,GAAG,EAAE,CAAC,IAAA,wCAA4B,EAAC,IAAI,CAAC,aAAa,CAAC;KACvD,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,CAAC;QACH,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAA;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,GAAG,CAAA;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAQ,EAAE,CAAA;YACtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,uBAAA,IAAI,+CAAU,MAAd,IAAI,EAAW,OAAO,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,yBAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAA;YAEvB,IACE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC/B,6DAA6D;gBAC7D,qBAAqB;gBACrB,CAAC,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EACxB,CAAC;gBACD,0DAA0D;gBAC1D,oEAAoE;gBACpE,wDAAwD;gBACxD,MAAM,EAAE,GACN,YAAY,CAAC,OAAO,CAAC,IAAI,uBAAA,IAAI,mDAAc,MAAlB,IAAI,CAAgB;oBAC3C,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB;wBAC9B,CAAC,CAAC,IAAI,CAAC,EAAE;wBACT,CAAC,CAAC,SAAS,CAAA;gBAEjB,2DAA2D;gBAC3D,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpD,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,uBAAuB;gBACrE,MAAM,MAAM,GACV,MAAA,MAAA,MAAA,CAAC,eAAe,IAAI,eAAe,IAAI,eAAe;oBACpD,CAAC,CAAC,2BAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC9B,CAAC,CAAC,SAAS,CAAC,mCACd,CAAC,eAAe,IAAI,eAAe;oBACjC,CAAC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC9B,CAAC,CAAC,SAAS,CAAC,mCACd,CAAC,eAAe,IAAI,eAAe;oBACjC,CAAC,CAAC,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,SAAS,CAAC,mCACd,KAAK,CAAA;gBACP,IACE,IAAI,CAAC,OAAO,CAAC,iBAAiB;oBAC9B,MAAM,IAAI,IAAI;oBACd,IAAI,CAAC,EAAE,IAAI,IAAI;oBACf,MAAM,YAAY,2BAAY;oBAC9B,uBAAA,IAAI,mDAAc,MAAlB,IAAI,CAAgB;oBACpB,CAAC,YAAY,CAAC,OAAO,CAAC;oBACtB,IAAI,KAAK,MAAM,CAAC,YAAY,EAC5B,CAAC;oBACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,mBAAmB,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CACvE,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;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/String.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Maybe } from "./Maybe";
2
2
  export declare function isString(o: any): o is string;
3
3
  export declare function blank(s: Maybe<string>): s is undefined;
4
4
  export declare function notBlank(s: Maybe<string>): s is string;
5
+ export declare function toNotBlank(s: Maybe<string>): Maybe<string>;
5
6
  export declare function compactBlanks(arr: Maybe<string>[]): string[];
6
7
  export declare function toS(s: Maybe<any>): string;
7
8
  export declare function leftPad(i: Maybe<number | string>, minLen: number, padChar: "0" | " "): string;
package/dist/String.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitLines = exports.stripSuffix = exports.stripPrefix = exports.pad3 = exports.pad2 = exports.leftPad = exports.toS = exports.compactBlanks = exports.notBlank = exports.blank = exports.isString = void 0;
3
+ exports.splitLines = exports.stripSuffix = exports.stripPrefix = exports.pad3 = exports.pad2 = exports.leftPad = exports.toS = exports.compactBlanks = exports.toNotBlank = exports.notBlank = exports.blank = exports.isString = void 0;
4
4
  const Number_1 = require("./Number");
5
5
  const Times_1 = require("./Times");
6
6
  function isString(o) {
@@ -17,6 +17,13 @@ function notBlank(s) {
17
17
  return !blank(s);
18
18
  }
19
19
  exports.notBlank = notBlank;
20
+ function toNotBlank(s) {
21
+ if (s == null)
22
+ return;
23
+ s = String(s).trim();
24
+ return s.length === 0 ? undefined : s;
25
+ }
26
+ exports.toNotBlank = toNotBlank;
20
27
  function compactBlanks(arr) {
21
28
  return arr.filter(notBlank);
22
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","sourceRoot":"","sources":["../src/String.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"String.js","sourceRoot":"","sources":["../src/String.ts"],"names":[],"mappings":"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"}
package/dist/Tags.d.ts CHANGED
@@ -4,6 +4,7 @@ import { ErrorsAndWarnings } from "./ErrorsAndWarnings";
4
4
  import { ExifDate } from "./ExifDate";
5
5
  import { ExifDateTime } from "./ExifDateTime";
6
6
  import { ExifTime } from "./ExifTime";
7
+ import { GeolocationTags } from "./GeolocationTags";
7
8
  import { ICCProfileTags } from "./ICCProfileTags";
8
9
  import { ImageDataHashTag } from "./ImageDataHashTag";
9
10
  import { MWGCollectionsTags, MWGKeywordTags } from "./MWGTags";
@@ -13,7 +14,7 @@ import { Version } from "./Version";
13
14
  export interface ExifToolTags {
14
15
  /** ☆☆☆☆ ✔ Example: "File is empty" */
15
16
  Error?: string;
16
- /** ★★★★ ✔ Example: 12.76 */
17
+ /** ★★★★ ✔ Example: 12.8 */
17
18
  ExifToolVersion?: number;
18
19
  /** ☆☆☆☆ ✔ Example: "Unrecognized IPTC record 0 (ignored)" */
19
20
  Warning?: string;
@@ -33,9 +34,9 @@ export interface FileTags {
33
34
  EncodingProcess?: string;
34
35
  /** ★★★★ ✔ Example: "Little-endian (Intel, II)" */
35
36
  ExifByteOrder?: string;
36
- /** ★★★★ ✔ Example: "2024:02:09 22:00:17-08:00" */
37
+ /** ★★★★ ✔ Example: "2024:03:26 15:28:17-07:00" */
37
38
  FileAccessDate?: ExifDateTime | string;
38
- /** ★★★★ ✔ Example: "2024:02:09 17:23:54-08:00" */
39
+ /** ★★★★ ✔ Example: "2024:03:20 21:17:00-07:00" */
39
40
  FileInodeChangeDate?: ExifDateTime | string;
40
41
  /** ★★★★ ✔ Example: "2023:07:19 21:21:02-07:00" */
41
42
  FileModifyDate?: ExifDateTime | string;
@@ -121,7 +122,7 @@ export interface CompositeTags {
121
122
  OriginalDecisionData?: BinaryField | string;
122
123
  /** ☆☆☆☆ Example: "9.9 um" */
123
124
  PeakSpectralSensitivity?: string;
124
- /** ★★★☆ ✔ Example: "(Binary data 37244 bytes, use -b option to extract)" */
125
+ /** ★★★☆ ✔ Example: "(Binary data 315546 bytes, use -b option to extract)" */
125
126
  PreviewImage?: BinaryField;
126
127
  /** ☆☆☆☆ ✔ Example: "On" */
127
128
  RedEyeReduction?: string;
@@ -169,7 +170,7 @@ export interface APP1Tags {
169
170
  CreatorSoftware?: string;
170
171
  /** ☆☆☆☆ Example: "2013:03:12 16:31:26" */
171
172
  DateTimeGenerated?: ExifDateTime | string;
172
- /** ☆☆☆☆ Example: "(Binary data 1011393 bytes, use -b option to extract)" */
173
+ /** ☆☆☆☆ Example: "(Binary data 275008 bytes, use -b option to extract)" */
173
174
  EmbeddedImage?: BinaryField | string;
174
175
  /** ☆☆☆☆ Example: 960 */
175
176
  EmbeddedImageHeight?: number;
@@ -177,8 +178,6 @@ export interface APP1Tags {
177
178
  EmbeddedImageType?: string;
178
179
  /** ☆☆☆☆ Example: 640 */
179
180
  EmbeddedImageWidth?: number;
180
- /** ☆☆☆☆ Example: 1 */
181
- Emissivity?: number;
182
181
  /** ☆☆☆☆ Example: "46.1 deg" */
183
182
  FieldOfView?: string;
184
183
  /** ☆☆☆☆ Example: "NOF" */
@@ -241,7 +240,7 @@ export interface APP1Tags {
241
240
  PaletteStretch?: number;
242
241
  /** ☆☆☆☆ Example: ".basicImgData.objectParams.emissivity" */
243
242
  Param0?: string;
244
- /** ☆☆☆☆ Example: "(Binary data 614604 bytes, use -b option to extract)" */
243
+ /** ☆☆☆☆ Example: "(Binary data 153804 bytes, use -b option to extract)" */
245
244
  RawThermalImage?: BinaryField | string;
246
245
  /** ☆☆☆☆ Example: 90 */
247
246
  RawThermalImageHeight?: number;
@@ -261,8 +260,6 @@ export interface APP1Tags {
261
260
  Real2IR?: number;
262
261
  /** ☆☆☆☆ Example: "26.7 C" */
263
262
  ReflectedApparentTemperature?: string;
264
- /** ☆☆☆☆ Example: "80.0 %" */
265
- RelativeHumidity?: string;
266
263
  /** ☆☆☆☆ Example: "41 110 240" */
267
264
  UnderflowColor?: string;
268
265
  }
@@ -423,6 +420,10 @@ export interface APP14Tags {
423
420
  export interface APP4Tags {
424
421
  /** ☆☆☆☆ ✔ Example: "40 C" */
425
422
  AmbientTemperature?: string;
423
+ /** ☆☆☆☆ Example: 1 */
424
+ Emissivity?: number;
425
+ /** ☆☆☆☆ Example: "80.0 %" */
426
+ RelativeHumidity?: string;
426
427
  }
427
428
  export interface APP5Tags {
428
429
  /** ☆☆☆☆ Example: 45 */
@@ -635,7 +636,7 @@ export interface EXIFTags {
635
636
  InteropIndex?: string;
636
637
  /** ★★★★ ✔ Example: "undef undef undef" */
637
638
  InteropVersion?: string;
638
- /** ☆☆☆☆ ✔ Example: "(Binary data 453632 bytes, use -b option to extract)" */
639
+ /** ☆☆☆☆ ✔ Example: "(Binary data 772608 bytes, use -b option to extract)" */
639
640
  JpgFromRaw?: BinaryField;
640
641
  /** ☆☆☆☆ ✔ Example: 845574 */
641
642
  JpgFromRawLength?: number;
@@ -803,7 +804,7 @@ export interface EXIFTags {
803
804
  TileByteCounts?: BinaryField | string;
804
805
  /** ☆☆☆☆ ✔ Example: 512 */
805
806
  TileLength?: number;
806
- /** ☆☆☆☆ ✔ Example: "(Binary data 507 bytes, use -b option to extract)" */
807
+ /** ☆☆☆☆ ✔ Example: "(Binary data 508 bytes, use -b option to extract)" */
807
808
  TileOffsets?: BinaryField | string;
808
809
  /** ☆☆☆☆ ✔ Example: 512 */
809
810
  TileWidth?: number;
@@ -845,7 +846,7 @@ export interface EXIFTags {
845
846
  YResolution?: number;
846
847
  }
847
848
  export interface FlashPixTags {
848
- /** ☆☆☆☆ Example: "(Binary data 18 bytes, use -b option to extract)" */
849
+ /** ☆☆☆☆ Example: "(Binary data 20796 bytes, use -b option to extract)" */
849
850
  AudioStream?: BinaryField | string;
850
851
  /** ☆☆☆☆ ✔ Example: "Unicode UTF-16, little endian" */
851
852
  CodePage?: string;
@@ -863,7 +864,7 @@ export interface FlashPixTags {
863
864
  ExtensionName?: string;
864
865
  /** ☆☆☆☆ ✔ Example: "Invalidated By Modification" */
865
866
  ExtensionPersistence?: string;
866
- /** ☆☆☆☆ ✔ Example: "(Binary data 46285 bytes, use -b option to extract)" */
867
+ /** ☆☆☆☆ ✔ Example: "(Binary data 57881 bytes, use -b option to extract)" */
867
868
  ScreenNail?: BinaryField | string;
868
869
  /** ☆☆☆☆ ✔ Example: 1 */
869
870
  UsedExtensionNumbers?: number;
@@ -1037,7 +1038,7 @@ export interface PhotoshopTags {
1037
1038
  PhotoshopFormat?: string;
1038
1039
  /** ☆☆☆☆ ✔ Example: 9 */
1039
1040
  PhotoshopQuality?: number;
1040
- /** ☆☆☆☆ ✔ Example: "(Binary data 4291 bytes, use -b option to extract)" */
1041
+ /** ☆☆☆☆ ✔ Example: "(Binary data 5768 bytes, use -b option to extract)" */
1041
1042
  PhotoshopThumbnail?: BinaryField | string;
1042
1043
  /** ☆☆☆☆ ✔ Example: "0 0" */
1043
1044
  PrintPosition?: string;
@@ -2141,7 +2142,7 @@ export interface MakerNotesTags {
2141
2142
  DSPFirmwareVersion?: string;
2142
2143
  /** ☆☆☆☆ ✔ Example: "Yes" */
2143
2144
  DarkFocusEnvironment?: string;
2144
- /** ★★☆☆ ✔ Example: "(Binary data 280 bytes, use -b option to extract)" */
2145
+ /** ★★☆☆ ✔ Example: "(Binary data 114 bytes, use -b option to extract)" */
2145
2146
  DataDump?: BinaryField | string;
2146
2147
  /** ☆☆☆☆ ✔ Example: 8289 */
2147
2148
  DataScaling?: number;
@@ -3915,7 +3916,7 @@ export interface MakerNotesTags {
3915
3916
  SelfTimerShotInterval?: string;
3916
3917
  /** ☆☆☆☆ ✔ Example: "2 s" */
3917
3918
  SelfTimerTime?: string;
3918
- /** ☆☆☆☆ Example: {"_0":1,"_1":0,"_2":0,"_3":0} */
3919
+ /** ☆☆☆☆ Example: {"_0":1,"_1":0.5,"_2":0,"_3":2} */
3919
3920
  SemanticStyle?: Struct;
3920
3921
  /** ☆☆☆☆ Example: true */
3921
3922
  SemanticStylePreset?: boolean;
@@ -5034,10 +5035,10 @@ export interface XMPTags {
5034
5035
  * devices (like iPhones) An example value, JSON stringified, follows the
5035
5036
  * popularity ratings.
5036
5037
  *
5037
- * Autogenerated by "yarn mktags" by ExifTool 12.76 on Fri Feb 09 2024.
5038
+ * Autogenerated by "yarn mktags" by ExifTool 12.80 on Tue Mar 26 2024.
5038
5039
  * 2723 unique tags were found in 10096 photo and video files.
5039
5040
  */
5040
- export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ErrorsAndWarnings, ExifToolTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, ImageDataHashTag, JFIFTags, JSONTags, MPFTags, MWGCollectionsTags, MWGKeywordTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
5041
+ export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ErrorsAndWarnings, ExifToolTags, FileTags, FlashPixTags, GeolocationTags, ICCProfileTags, IPTCTags, ImageDataHashTag, JFIFTags, JSONTags, MPFTags, MWGCollectionsTags, MWGKeywordTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
5041
5042
  /** Full, resolved native path to this file */
5042
5043
  SourceFile?: string;
5043
5044
  /** Either an offset, like `UTC-7`, or an actual timezone, like `America/Los_Angeles` */
@@ -63,7 +63,7 @@ function parseDateTime(text, fmts) {
63
63
  exports.parseDateTime = parseDateTime;
64
64
  function setZone(args) {
65
65
  // This is a bit tricky... We want to keep the local time and just _say_ it
66
- // was in the zone of the image **if we don't already have a zone.**
66
+ // was in the zone of the image **but only if we don't already have a zone.**
67
67
  // If we _do_ have a zone, assume it was already converted by ExifTool into
68
68
  // (probably the system) timezone, which means _don't_ `keepLocalTime`.
69
69
  return args.src.setZone(args.zone, {
@@ -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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"}
package/dist/Timezones.js CHANGED
@@ -306,6 +306,7 @@ const TimezoneOffsetTagnames = [
306
306
  // hours, 2. If present, the time zone offset of ModifyDate (which we
307
307
  // ignore) @see https://www.exiftool.org/TagNames/EXIF.html
308
308
  "TimeZoneOffset", // number | number[] | string
309
+ "GeolocationTimeZone",
309
310
  ];
310
311
  function extractTzOffsetFromTags(t) {
311
312
  // We have to iterate twice: if it's from a timezone offset tag, we can