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
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCoordinates = parseCoordinates;
4
+ exports.parseDecimalCoordinate = parseDecimalCoordinate;
5
+ exports.parseCoordinate = parseCoordinate;
6
+ exports.roundGpsDecimal = roundGpsDecimal;
7
+ exports.parsePosition = parsePosition;
8
+ exports.processCoordinate = processCoordinate;
9
+ const Number_1 = require("./Number");
10
+ const String_1 = require("./String");
11
+ // Constants
12
+ const MAX_LATITUDE_DEGREES = 90;
13
+ const MAX_LONGITUDE_DEGREES = 180;
14
+ class CoordinateParseError extends Error {
15
+ constructor(message) {
16
+ super(message);
17
+ this.name = "CoordinateParseError";
18
+ }
19
+ }
20
+ // Regex to match simple decimal coordinates, like "37.5, -122.5"
21
+ const DecimalCoordsRE = /^(-?\d+(?:\.\d+)?)[,\s]+(-?\d+(?:\.\d+)?)$/;
22
+ /**
23
+ * Parses a string containing both latitude and longitude coordinates.
24
+ * @param input - String containing both coordinates
25
+ * @returns Object containing latitude and longitude in decimal degrees, or undefined if parsing fails
26
+ * @throws CoordinateParseError if the input format is invalid
27
+ */
28
+ function parseCoordinates(input) {
29
+ input = (0, String_1.toS)(input).trim();
30
+ if (input.length === 0) {
31
+ throw new CoordinateParseError("Input string cannot be empty");
32
+ }
33
+ if (DecimalCoordsRE.test(input)) {
34
+ const split = input.split(/[\s,]+/);
35
+ const [latitude, longitude] = split
36
+ .map(Number_1.toFloat)
37
+ .map((ea) => (ea == null ? null : roundGpsDecimal(ea)));
38
+ if (latitude == null || longitude == null) {
39
+ throw new CoordinateParseError("Failed to parse decimal coordinates");
40
+ }
41
+ return { latitude, longitude };
42
+ }
43
+ let latitude;
44
+ let longitude;
45
+ for (const coord of parseStringCoordinates(input)) {
46
+ if (!coord.direction) {
47
+ throw new CoordinateParseError("Direction is required for position parsing");
48
+ }
49
+ if (coord.direction === "S" || coord.direction === "N") {
50
+ if (latitude !== undefined) {
51
+ throw new CoordinateParseError("Multiple latitude values found");
52
+ }
53
+ latitude = toDecimalDegrees(coord);
54
+ }
55
+ else {
56
+ if (longitude != null) {
57
+ throw new CoordinateParseError("Multiple longitude values found");
58
+ }
59
+ longitude = toDecimalDegrees(coord);
60
+ }
61
+ }
62
+ const missing = [];
63
+ if (latitude == null)
64
+ missing.push("latitude");
65
+ if (longitude == null)
66
+ missing.push("longitude");
67
+ if (latitude == null || longitude == null) {
68
+ throw new CoordinateParseError(`Missing ${missing.join(" and ")}`);
69
+ }
70
+ else {
71
+ return { latitude, longitude };
72
+ }
73
+ }
74
+ /**
75
+ * Parses a string containing one or more coordinates.
76
+ * @param input - String containing coordinates
77
+ * @returns Array of parsed coordinates
78
+ */
79
+ function parseStringCoordinates(input) {
80
+ if (!input?.trim()) {
81
+ throw new CoordinateParseError("Input string cannot be empty");
82
+ }
83
+ const lat = parseCoordinate(input, true);
84
+ const remainders = lat.remainder;
85
+ if ((0, String_1.blank)(remainders)) {
86
+ throw new CoordinateParseError("Expected multiple coordinates");
87
+ }
88
+ return [lat, parseCoordinate(remainders)];
89
+ }
90
+ /**
91
+ * Parses a coordinate string in decimal degrees format.
92
+ * @param input - String containing a single coordinate
93
+ * @returns Object containing degrees and direction, or undefined if parsing fails
94
+ * @throws CoordinateParseError if the format is not decimal degrees or direction is missing
95
+ */
96
+ function parseDecimalCoordinate(input) {
97
+ if (!input?.trim()) {
98
+ throw new CoordinateParseError("Input string cannot be empty");
99
+ }
100
+ const coord = parseCoordinate(input);
101
+ if (coord.format !== "D") {
102
+ throw new CoordinateParseError("Expected decimal degrees format");
103
+ }
104
+ if (!coord.direction) {
105
+ throw new CoordinateParseError("Missing direction");
106
+ }
107
+ return { decimal: toDecimalDegrees(coord), direction: coord.direction };
108
+ }
109
+ const DecimalCoordRE = /^(-?\d+(?:\.\d+)?)$/;
110
+ /**
111
+ * Parses a single coordinate string into its components.
112
+ * @param input - String containing a single coordinate
113
+ * @param expectRemainders - If true, allow additional text after the coordinate
114
+ * @returns Parsed coordinate object
115
+ * @throws CoordinateParseError if the format is invalid
116
+ */
117
+ function parseCoordinate(input, expectRemainders = false) {
118
+ input = (0, String_1.toS)(input).trim();
119
+ if (input.length === 0) {
120
+ throw new CoordinateParseError("Input string cannot be empty");
121
+ }
122
+ if (DecimalCoordRE.test(input)) {
123
+ const f = (0, Number_1.toFloat)(input);
124
+ if (f == null) {
125
+ throw new CoordinateParseError("Failed to parse decimal coordinate");
126
+ }
127
+ const r = roundGpsDecimal(f);
128
+ return {
129
+ degrees: r,
130
+ decimal: r,
131
+ format: "D",
132
+ direction: undefined,
133
+ minutes: undefined,
134
+ seconds: undefined,
135
+ remainder: "",
136
+ };
137
+ }
138
+ const dmsPattern = /^(?<degrees>-?\d+)\s*(?:°|DEG)\s*(?<minutes>\d+)\s*['′]\s*(?<seconds>\d+(?:\.\d+)?)\s*["″]\s?(?<direction>[NSEW])?[\s,]{0,3}(?<remainder>.*)$/i;
139
+ const dmPattern = /^(?<degrees>-?\d+)\s*(?:°|DEG)\s*(?<minutes>\d+(?:\.\d+)?)\s?['′]\s?(?<direction>[NSEW])?(?<remainder>.*)$/i;
140
+ const dPattern = /^(?<degrees>-?\d+(?:\.\d+)?)\s*(?:°|DEG)\s?(?<direction>[NSEW])?(?<remainder>.*)$/i;
141
+ const trimmedInput = input.trimStart();
142
+ let match;
143
+ let format = null;
144
+ if ((match = trimmedInput.match(dmsPattern))) {
145
+ format = "DMS";
146
+ }
147
+ else if ((match = trimmedInput.match(dmPattern))) {
148
+ format = "DM";
149
+ }
150
+ else if ((match = trimmedInput.match(dPattern))) {
151
+ format = "D";
152
+ }
153
+ if (match == null ||
154
+ format == null ||
155
+ (!expectRemainders && !(0, String_1.blank)(match?.groups?.remainder))) {
156
+ throw new CoordinateParseError("Invalid coordinate format. Expected one of:\n" +
157
+ " DDD° MM' SS.S\" k (deg/min/sec)\n" +
158
+ " DDD° MM.MMM' k (deg/decimal minutes)\n" +
159
+ " DDD.DDDDD° (decimal degrees)\n" +
160
+ " (where k indicates direction: N, S, E, or W)");
161
+ }
162
+ if (!match.groups) {
163
+ throw new CoordinateParseError("Failed to parse coordinate components");
164
+ }
165
+ const { degrees: degreesStr, minutes: minutesStr, seconds: secondsStr, direction: directionStr, remainder, } = match.groups;
166
+ const direction = directionStr?.toUpperCase();
167
+ const degrees = parseFloat(degreesStr);
168
+ let minutes;
169
+ let seconds;
170
+ if (format === "DMS") {
171
+ minutes = parseInt(minutesStr, 10);
172
+ seconds = parseFloat(secondsStr);
173
+ if (minutes >= 60) {
174
+ throw new CoordinateParseError("Minutes must be between 0 and 59");
175
+ }
176
+ if (seconds >= 60) {
177
+ throw new CoordinateParseError("Seconds must be between 0 and 59.999...");
178
+ }
179
+ }
180
+ else if (format === "DM") {
181
+ minutes = parseFloat(minutesStr);
182
+ if (minutes >= 60) {
183
+ throw new CoordinateParseError("Minutes must be between 0 and 59.999...");
184
+ }
185
+ }
186
+ const maxDegrees = direction === "N" || direction === "S"
187
+ ? MAX_LATITUDE_DEGREES
188
+ : MAX_LONGITUDE_DEGREES;
189
+ if (Math.abs(degrees) > maxDegrees) {
190
+ throw new CoordinateParseError(`Degrees must be between -${maxDegrees} and ${maxDegrees} for ${direction} direction`);
191
+ }
192
+ const coords = {
193
+ degrees,
194
+ minutes,
195
+ seconds,
196
+ direction,
197
+ format,
198
+ remainder: remainder?.trim(),
199
+ };
200
+ const decimal = toDecimalDegrees(coords);
201
+ return {
202
+ ...coords,
203
+ decimal,
204
+ };
205
+ }
206
+ function toDecimalDegrees(coord) {
207
+ const degrees = (0, Number_1.toFloat)(coord.degrees) ?? 0;
208
+ const sign = Math.sign(degrees);
209
+ let decimal = Math.abs(degrees);
210
+ decimal += Math.abs((0, Number_1.toFloat)(coord.minutes) ?? 0) / 60.0;
211
+ decimal += Math.abs((0, Number_1.toFloat)(coord.seconds) ?? 0) / 3600.0;
212
+ if (coord.direction === "S" || coord.direction === "W" || sign < 0) {
213
+ decimal = -decimal;
214
+ }
215
+ const maxDegrees = coord.direction === "N" || coord.direction === "S"
216
+ ? MAX_LATITUDE_DEGREES
217
+ : MAX_LONGITUDE_DEGREES;
218
+ const axis = coord.direction === "N" || coord.direction === "S"
219
+ ? "latitude"
220
+ : "longitude";
221
+ if (Math.abs(decimal) > maxDegrees) {
222
+ throw new CoordinateParseError(`Degrees must be between -${maxDegrees} and ${maxDegrees} for ${axis}`);
223
+ }
224
+ // Round to 6 decimal places
225
+ // Most consumer devices can only resolve 4-5 decimal places (1m resolution)
226
+ return roundGpsDecimal(decimal);
227
+ }
228
+ const MAX_LAT_LON_DIFF = 1;
229
+ function roundGpsDecimal(decimal) {
230
+ return (0, Number_1.roundToDecimalPlaces)(decimal, 6);
231
+ }
232
+ function parsePosition(position) {
233
+ if ((0, String_1.blank)(position))
234
+ return;
235
+ const [lat, lon] = (0, String_1.toS)(position).split(/[, ]+/).map(Number_1.toFloat);
236
+ return lat != null && lon != null ? [lat, lon] : undefined;
237
+ }
238
+ function processCoordinate(config, warnings) {
239
+ let { value, ref } = config;
240
+ const { geoValue, coordinateType } = config;
241
+ const { expectedRefPositive, expectedRefNegative, max } = config;
242
+ let isInvalid = false;
243
+ // Validate ref is reasonable -- it should either start with
244
+ // expectedRefPositive or expectedRefNegative:
245
+ ref = (0, String_1.toS)(ref).trim().toUpperCase().slice(0, 1);
246
+ if (!(0, String_1.blank)(config.ref) &&
247
+ ref !== expectedRefPositive &&
248
+ ref !== expectedRefNegative) {
249
+ warnings.push(`Invalid GPS${coordinateType}Ref: ${JSON.stringify(config.ref)}.`);
250
+ ref = value < 0 ? expectedRefNegative : expectedRefPositive;
251
+ }
252
+ // Check range
253
+ if (Math.abs(value) > max) {
254
+ isInvalid = true;
255
+ warnings.push(`Invalid GPS${coordinateType}: ${value} is out of range`);
256
+ return { value, ref, isInvalid };
257
+ }
258
+ // Apply hemisphere reference
259
+ if (ref === expectedRefNegative) {
260
+ value = -Math.abs(value);
261
+ }
262
+ // Check for mismatched signs with GeolocationPosition
263
+ if (geoValue != null &&
264
+ Math.abs(Math.abs(geoValue) - Math.abs(value)) < MAX_LAT_LON_DIFF) {
265
+ if (Math.sign(geoValue) !== Math.sign(value)) {
266
+ value = -value;
267
+ warnings.push(`Corrected GPS${coordinateType} sign based on GeolocationPosition`);
268
+ }
269
+ // Force ref to correct value
270
+ const expectedRef = geoValue < 0 ? expectedRefNegative : expectedRefPositive;
271
+ if (ref !== expectedRef) {
272
+ ref = expectedRef;
273
+ if (!(0, String_1.blank)(config.ref)) {
274
+ warnings.push(`Corrected GPS${coordinateType}Ref to ${expectedRef} based on GeolocationPosition`);
275
+ }
276
+ }
277
+ }
278
+ // Ensure ref matches coordinate sign
279
+ const expectedRef = value < 0 ? expectedRefNegative : expectedRefPositive;
280
+ if (ref != null && ref !== expectedRef && !(0, String_1.blank)(config.ref)) {
281
+ warnings.push(`Corrected GPS${coordinateType}Ref to ${ref} to match coordinate sign`);
282
+ }
283
+ ref = expectedRef;
284
+ return { value: roundGpsDecimal(value), ref, isInvalid };
285
+ }
286
+ //# sourceMappingURL=CoordinateParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoordinateParser.js","sourceRoot":"","sources":["../src/CoordinateParser.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const MinuteMs: number;
9
9
  export declare const HourMs: number;
10
10
  export declare const DayMs: number;
11
11
  export type DateOrTime = ExifDateTime | ExifDate | ExifTime | DateTime;
12
- export declare function isDateOrTime(o: any): o is DateOrTime;
12
+ export declare function isDateOrTime(o: unknown): o is DateOrTime;
13
13
  export declare function dateTimeToExif(d: DateTime, opts?: {
14
14
  includeOffset?: boolean;
15
15
  includeMilliseconds?: boolean;
package/dist/DateTime.js CHANGED
@@ -25,19 +25,18 @@ function isDateOrTime(o) {
25
25
  }
26
26
  function dateTimeToExif(d, opts) {
27
27
  return d.toFormat("y:MM:dd HH:mm:ss" +
28
- ((opts === null || opts === void 0 ? void 0 : opts.includeMilliseconds) === true ? ".u" : "") +
29
- ((opts === null || opts === void 0 ? void 0 : opts.includeOffset) === false ? "" : "ZZ"));
28
+ (opts?.includeMilliseconds === true ? ".u" : "") +
29
+ (opts?.includeOffset === false ? "" : "ZZ"));
30
30
  }
31
31
  function toExifString(d) {
32
- var _a;
33
32
  if (luxon_1.DateTime.isDateTime(d)) {
34
33
  return dateTimeToExif(d);
35
34
  }
36
35
  else {
37
- return (_a = d === null || d === void 0 ? void 0 : d.toExifString) === null || _a === void 0 ? void 0 : _a.call(d);
36
+ return d?.toExifString?.();
38
37
  }
39
38
  }
40
39
  function hms(d, opts) {
41
- return d.toFormat("HH:mm:ss" + ((opts === null || opts === void 0 ? void 0 : opts.includeMilliseconds) === true ? ".SSS" : ""));
40
+ return d.toFormat("HH:mm:ss" + (opts?.includeMilliseconds === true ? ".SSS" : ""));
42
41
  }
43
42
  //# sourceMappingURL=DateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":";;;AAMA,sCAEC;AASD,oCAOC;AAED,wCASC;AAED,oCAMC;AAED,kBAOC;AApDD,iCAAgC;AAChC,yCAAqC;AACrC,iDAA6C;AAC7C,yCAAqC;AAGrC,SAAgB,aAAa,CAAC,EAAmB;IAC/C,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,CAAA;AACjC,CAAC;AAEY,QAAA,QAAQ,GAAG,IAAI,CAAA;AACf,QAAA,QAAQ,GAAG,EAAE,GAAG,gBAAQ,CAAA;AACxB,QAAA,MAAM,GAAG,EAAE,GAAG,gBAAQ,CAAA;AACtB,QAAA,KAAK,GAAG,EAAE,GAAG,cAAM,CAAA;AAIhC,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,CACL,CAAC,YAAY,2BAAY;QACzB,CAAC,YAAY,mBAAQ;QACrB,CAAC,YAAY,mBAAQ;QACrB,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,CAAW,EACX,IAAiE;IAEjE,OAAO,CAAC,CAAC,QAAQ,CACf,kBAAkB;QAChB,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,MAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9C,CAAA;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,CAAa;;IACxC,IAAI,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,iDAAI,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,SAAgB,GAAG,CACjB,CAAW,EACX,IAAwC;IAExC,OAAO,CAAC,CAAC,QAAQ,CACf,UAAU,GAAG,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,MAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":";;;AAMA,sCAEC;AASD,oCAOC;AAED,wCASC;AAED,oCAMC;AAED,kBAOC;AApDD,iCAAiC;AACjC,yCAAsC;AACtC,iDAA8C;AAC9C,yCAAsC;AAGtC,SAAgB,aAAa,CAAC,EAAmB;IAC/C,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC;AAClC,CAAC;AAEY,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,QAAQ,GAAG,EAAE,GAAG,gBAAQ,CAAC;AACzB,QAAA,MAAM,GAAG,EAAE,GAAG,gBAAQ,CAAC;AACvB,QAAA,KAAK,GAAG,EAAE,GAAG,cAAM,CAAC;AAIjC,SAAgB,YAAY,CAAC,CAAU;IACrC,OAAO,CACL,CAAC,YAAY,2BAAY;QACzB,CAAC,YAAY,mBAAQ;QACrB,CAAC,YAAY,mBAAQ;QACrB,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,CAAW,EACX,IAAiE;IAEjE,OAAO,CAAC,CAAC,QAAQ,CACf,kBAAkB;QAChB,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,IAAI,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,CAAa;IACxC,IAAI,gBAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAgB,GAAG,CACjB,CAAW,EACX,IAAwC;IAExC,OAAO,CAAC,CAAC,QAAQ,CACf,UAAU,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCreateDateTagNames.js","sourceRoot":"","sources":["../src/DefaultCreateDateTagNames.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAEzD;;GAEG;AACU,QAAA,yBAAyB,GAAG,uCAAkB,CAAA"}
1
+ {"version":3,"file":"DefaultCreateDateTagNames.js","sourceRoot":"","sources":["../src/DefaultCreateDateTagNames.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAE1D;;GAEG;AACU,QAAA,yBAAyB,GAAG,uCAAkB,CAAC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.DefaultExifToolOptions = exports.ConsoleLogger = void 0;
27
37
  exports.defaultAdjustTimeZoneIfDaylightSavings = defaultAdjustTimeZoneIfDaylightSavings;
@@ -56,6 +66,7 @@ exports.DefaultExifToolOptions = Object.freeze({
56
66
  maxProcs: DefaultMaxProcs_1.DefaultMaxProcs,
57
67
  maxTasksPerProcess: 500,
58
68
  spawnTimeoutMillis: 30000,
69
+ streamFlushMillis: 10,
59
70
  // see https://github.com/photostructure/exiftool-vendored.js/issues/34 :
60
71
  taskTimeoutMillis: 20000,
61
72
  onIdleIntervalMillis: 2000,
@@ -76,6 +87,7 @@ exports.DefaultExifToolOptions = Object.freeze({
76
87
  geolocation: false,
77
88
  ignoreZeroZeroLatLon: true,
78
89
  ignoreMinorErrors: true,
90
+ forceWrite: false,
79
91
  imageHashType: false,
80
92
  includeImageDataMD5: undefined,
81
93
  inferTimezoneFromDatestamps: false, // to retain prior behavior
@@ -88,6 +100,7 @@ exports.DefaultExifToolOptions = Object.freeze({
88
100
  "GPSLatitude",
89
101
  "GPSLongitude",
90
102
  "GPSPosition",
103
+ "GeolocationPosition",
91
104
  "Orientation",
92
105
  // NOT Rotation! Rotation can be encoded as degrees rotated clockwise, or a
93
106
  // EXIF-Orientation string (!!). If we ask ExifTool for numeric rotations of HEICs,
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwGA,wFASC;AAjHD,kDAAmC;AACnC,yCAAoC;AACpC,uCAAqC;AACrC,6DAAyD;AACzD,+DAA2D;AAC3D,uDAAmD;AAEnD,iDAA6C;AAC7C,mCAA+B;AAC/B,uCAAmC;AAGnC,+CAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAA;AAC/C,SAAS,IAAI,KAAI,CAAC;AAEL,QAAA,aAAa,GAAc;IACtC,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;CACrB,CAAA;AAED,SAAS,MAAM;IACb,OAAO,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAa,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAA;AAC5E,CAAC;AAED;;;GAGG;AACU,QAAA,sBAAsB,GAG/B,MAAM,CAAC,MAAM,CAAC;IAChB,GAAG,IAAI,EAAE,CAAC,mBAAmB,EAAE;IAC/B,QAAQ,EAAE,iCAAe;IACzB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,KAAK;IACzB,yEAAyE;IACzE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,CAAC;IACd,YAAY,EAAZ,2BAAY;IACZ,YAAY,EAAE,yCAAmB;IACjC,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,CAAC,IAAA,iBAAO,GAAE;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,IAAI,yBAAW,EAAE,CAAC,OAAO;IACzC,yBAAyB,EAAE,KAAK;IAChC,kBAAkB,EAAE,kBAAkB;IAEtC,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE,aAAK;IACZ,WAAW,EAAE,KAAK;IAClB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,SAAS;IAC9B,2BAA2B,EAAE,KAAK,EAAE,2BAA2B;IAC/D,8BAA8B,EAAE,CAAC,GAAG,uCAAkB,CAAC;IACvD,0BAA0B,EAAE,KAAK,EAAE,2BAA2B;IAC9D,MAAM;IACN,WAAW,EAAE;QACX,YAAY;QACZ,aAAa;QACb,aAAa;QACb,cAAc;QACd,aAAa;QACb,aAAa;QACb,2EAA2E;QAC3E,mFAAmF;QACnF,6CAA6C;QAE7C,qDAAqD;QACrD,KAAK;QACL,gCAAgC;QAChC,kCAAkC;QAClC,KAAK;QAEL,uDAAuD;QACvD,KAAK;QACL,yDAAyD;QACzD,mCAAmC;QACnC,KAAK;KACN;IACD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,SAAS,EAAE,EAAE;IAEb,+BAA+B,EAAE,sCAAsC;IAEvE,8BAA8B,EAAE,KAAK,EAAE,2BAA2B;CACnE,CAAC,CAAA;AAEF;;GAEG;AACH,SAAgB,sCAAsC,CACpD,CAAO;IAEP,4CAA4C;IAC5C,OAAO,IAAI,KAAK,IAAA,mBAAS,EAAC,CAAC,CAAC,eAAe,CAAC;QAC1C,2EAA2E;QAC3E,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"DefaultExifToolOptions.js","sourceRoot":"","sources":["../src/DefaultExifToolOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4GA,wFASC;AArHD,kDAAoC;AACpC,yCAAqC;AACrC,uCAAsC;AACtC,6DAA0D;AAC1D,+DAA4D;AAC5D,uDAAoD;AAEpD,iDAA8C;AAC9C,mCAAgC;AAChC,uCAAoC;AAGpC,+CAA4C;AAE5C,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAC;AAChD,SAAS,IAAI,KAAI,CAAC;AAEL,QAAA,aAAa,GAAc;IACtC,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;CACrB,CAAC;AAEF,SAAS,MAAM;IACb,OAAO,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAa,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACU,QAAA,sBAAsB,GAG/B,MAAM,CAAC,MAAM,CAAC;IAChB,GAAG,IAAI,EAAE,CAAC,mBAAmB,EAAE;IAC/B,QAAQ,EAAE,iCAAe;IACzB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,EAAE;IACrB,yEAAyE;IACzE,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,CAAC;IACd,YAAY,EAAZ,2BAAY;IACZ,YAAY,EAAE,yCAAmB;IACjC,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,CAAC,IAAA,iBAAO,GAAE;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,IAAI,yBAAW,EAAE,CAAC,OAAO;IACzC,yBAAyB,EAAE,KAAK;IAChC,kBAAkB,EAAE,kBAAkB;IAEtC,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE,aAAK;IACZ,WAAW,EAAE,KAAK;IAClB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,SAAS;IAC9B,2BAA2B,EAAE,KAAK,EAAE,2BAA2B;IAC/D,8BAA8B,EAAE,CAAC,GAAG,uCAAkB,CAAC;IACvD,0BAA0B,EAAE,KAAK,EAAE,2BAA2B;IAC9D,MAAM;IACN,WAAW,EAAE;QACX,YAAY;QACZ,aAAa;QACb,aAAa;QACb,cAAc;QACd,aAAa;QACb,qBAAqB;QAErB,aAAa;QACb,2EAA2E;QAC3E,mFAAmF;QACnF,6CAA6C;QAE7C,qDAAqD;QACrD,KAAK;QACL,gCAAgC;QAChC,kCAAkC;QAClC,KAAK;QAEL,uDAAuD;QACvD,KAAK;QACL,yDAAyD;QACzD,mCAAmC;QACnC,KAAK;KACN;IACD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,SAAS,EAAE,EAAE;IAEb,+BAA+B,EAAE,sCAAsC;IAEvE,8BAA8B,EAAE,KAAK,EAAE,2BAA2B;CACnE,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,sCAAsC,CACpD,CAAO;IAEP,4CAA4C;IAC5C,OAAO,IAAI,KAAK,IAAA,mBAAS,EAAC,CAAC,CAAC,eAAe,CAAC;QAC1C,2EAA2E;QAC3E,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultExiftoolArgs.js","sourceRoot":"","sources":["../src/DefaultExiftoolArgs.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACV,QAAA,mBAAmB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"DefaultExiftoolArgs.js","sourceRoot":"","sources":["../src/DefaultExiftoolArgs.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACV,QAAA,mBAAmB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.DefaultMaxProcs = void 0;
27
37
  const _os = __importStar(require("node:os"));
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultMaxProcs.js","sourceRoot":"","sources":["../src/DefaultMaxProcs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAEjB,QAAA,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"DefaultMaxProcs.js","sourceRoot":"","sources":["../src/DefaultMaxProcs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAElB,QAAA,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAllTagsArgs.js","sourceRoot":"","sources":["../src/DeleteAllTagsArgs.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"DeleteAllTagsArgs.js","sourceRoot":"","sources":["../src/DeleteAllTagsArgs.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAC"}
@@ -13,7 +13,11 @@ export interface ErrorsAndWarnings {
13
13
  */
14
14
  warnings?: string[];
15
15
  }
16
- export declare function errorsAndWarnings(task: ExifToolTask<any>, t?: {
16
+ export declare function errorsAndWarnings(task: ExifToolTask<unknown>, t?: {
17
17
  Error?: string;
18
18
  Warning?: string;
19
19
  }): Required<ErrorsAndWarnings>;
20
+ /**
21
+ * Convert an unknown value to an Error.
22
+ */
23
+ export declare function toError(e: unknown, messageIfBlank?: string): Error;
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.errorsAndWarnings = errorsAndWarnings;
4
+ exports.toError = toError;
4
5
  const Array_1 = require("./Array");
5
6
  const String_1 = require("./String");
6
7
  function errorsAndWarnings(task, t) {
7
8
  return {
8
- errors: (0, Array_1.uniq)((0, String_1.compactBlanks)([t === null || t === void 0 ? void 0 : t.Error, ...task.errors])),
9
- warnings: (0, Array_1.uniq)((0, String_1.compactBlanks)([t === null || t === void 0 ? void 0 : t.Warning, ...task.warnings])),
9
+ errors: (0, Array_1.uniq)((0, String_1.compactBlanks)([t?.Error, ...task.errors])),
10
+ warnings: (0, Array_1.uniq)((0, String_1.compactBlanks)([t?.Warning, ...task.warnings])),
10
11
  };
11
12
  }
13
+ /**
14
+ * Convert an unknown value to an Error.
15
+ */
16
+ function toError(e, messageIfBlank = "Unknown error") {
17
+ return e instanceof Error
18
+ ? e
19
+ : new Error((0, String_1.toNotBlank)((0, String_1.toS)(e)) ?? messageIfBlank);
20
+ }
12
21
  //# sourceMappingURL=ErrorsAndWarnings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorsAndWarnings.js","sourceRoot":"","sources":["../src/ErrorsAndWarnings.ts"],"names":[],"mappings":";;AAoBA,8CAQC;AA5BD,mCAA8B;AAE9B,qCAAwC;AAkBxC,SAAgB,iBAAiB,CAC/B,IAAuB,EACvB,CAAwC;IAExC,OAAO;QACL,MAAM,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,QAAQ,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC9D,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ErrorsAndWarnings.js","sourceRoot":"","sources":["../src/ErrorsAndWarnings.ts"],"names":[],"mappings":";;AAoBA,8CAQC;AAKD,0BAIC;AArCD,mCAA+B;AAE/B,qCAA0D;AAkB1D,SAAgB,iBAAiB,CAC/B,IAA2B,EAC3B,CAAwC;IAExC,OAAO;QACL,MAAM,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,QAAQ,EAAE,IAAA,YAAI,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,CAAU,EAAE,cAAc,GAAG,eAAe;IAClE,OAAO,CAAC,YAAY,KAAK;QACvB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,KAAK,CAAC,IAAA,mBAAU,EAAC,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;AACtD,CAAC"}
package/dist/ExifDate.js CHANGED
@@ -11,11 +11,16 @@ const LooseExifRE = /^\S+\s+\S+\s+\S+$/;
11
11
  * Encodes an ExifDate
12
12
  */
13
13
  class ExifDate {
14
+ year;
15
+ month;
16
+ day;
17
+ rawValue;
14
18
  static from(exifOrIso) {
15
- var _a, _b;
16
19
  return (
17
20
  // in order of strictness:
18
- (_b = (_a = this.fromExifStrict(exifOrIso)) !== null && _a !== void 0 ? _a : this.fromISO(exifOrIso)) !== null && _b !== void 0 ? _b : this.fromExifLoose(exifOrIso));
21
+ this.fromExifStrict(exifOrIso) ??
22
+ this.fromISO(exifOrIso) ??
23
+ this.fromExifLoose(exifOrIso));
19
24
  }
20
25
  static fromISO(text) {
21
26
  return StrictExifRE.test((0, String_1.toS)(text).trim())
@@ -1 +1 @@
1
- {"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ export declare class ExifDateTime {
40
40
  * "America/Los_Angeles", or an offset, like "UTC-3". See
41
41
  * `offsetMinutesToZoneName`.
42
42
  */
43
- static fromExifStrict(text: Maybe<string>, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
44
- static fromExifLoose(text: Maybe<string>, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
43
+ static fromExifStrict(text: unknown, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
44
+ static fromExifLoose(text: unknown, defaultZone?: Maybe<string>): Maybe<ExifDateTime>;
45
45
  static fromDateTime(dt: Maybe<DateTime>, opts?: {
46
46
  rawValue?: Maybe<string>;
47
47
  unsetMilliseconds?: boolean;