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.
- package/CHANGELOG.md +40 -4
- package/README.md +22 -22
- package/SECURITY.md +1 -2
- package/dist/Array.d.ts +4 -4
- package/dist/Array.js +8 -10
- package/dist/Array.js.map +1 -1
- package/dist/AsyncRetry.js.map +1 -1
- package/dist/BinaryExtractionTask.d.ts +4 -2
- package/dist/BinaryExtractionTask.js +8 -5
- package/dist/BinaryExtractionTask.js.map +1 -1
- package/dist/BinaryField.js +2 -0
- package/dist/BinaryField.js.map +1 -1
- package/dist/BinaryToBufferTask.js +5 -5
- package/dist/BinaryToBufferTask.js.map +1 -1
- package/dist/Boolean.d.ts +1 -1
- package/dist/Boolean.js.map +1 -1
- package/dist/CapturedAtTagNames.js.map +1 -1
- package/dist/CoordinateParser.d.ts +59 -0
- package/dist/CoordinateParser.js +286 -0
- package/dist/CoordinateParser.js.map +1 -0
- package/dist/DateTime.d.ts +1 -1
- package/dist/DateTime.js +4 -5
- package/dist/DateTime.js.map +1 -1
- package/dist/DefaultCreateDateTagNames.js.map +1 -1
- package/dist/DefaultExifToolOptions.js +20 -7
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/DefaultExiftoolArgs.js.map +1 -1
- package/dist/DefaultMaxProcs.js +17 -7
- package/dist/DefaultMaxProcs.js.map +1 -1
- package/dist/DeleteAllTagsArgs.js.map +1 -1
- package/dist/ErrorsAndWarnings.d.ts +5 -1
- package/dist/ErrorsAndWarnings.js +11 -2
- package/dist/ErrorsAndWarnings.js.map +1 -1
- package/dist/ExifDate.js +7 -2
- package/dist/ExifDate.js.map +1 -1
- package/dist/ExifDateTime.d.ts +2 -2
- package/dist/ExifDateTime.js +63 -67
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTime.js +19 -26
- package/dist/ExifTime.js.map +1 -1
- package/dist/ExifTool.d.ts +28 -24
- package/dist/ExifTool.js +97 -81
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +8 -0
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/ExifToolTags.js +0 -1
- package/dist/ExifToolTags.js.map +1 -1
- package/dist/ExifToolTask.js +38 -33
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/ExifToolVendoredTags.js.map +1 -1
- package/dist/ExiftoolPath.js +27 -12
- package/dist/ExiftoolPath.js.map +1 -1
- package/dist/File.d.ts +2 -0
- package/dist/File.js +16 -1
- package/dist/File.js.map +1 -1
- package/dist/FileTags.d.ts +3 -2
- package/dist/FileTags.js +3 -2
- package/dist/FileTags.js.map +1 -1
- package/dist/FilenameCharsetArgs.js.map +1 -1
- package/dist/FirstDateTime.js +1 -1
- package/dist/FirstDateTime.js.map +1 -1
- package/dist/GPS.d.ts +18 -0
- package/dist/GPS.js +116 -0
- package/dist/GPS.js.map +1 -0
- package/dist/GeoTz.js.map +1 -1
- package/dist/GeolocationTags.d.ts +1 -1
- package/dist/GeolocationTags.js +16 -14
- package/dist/GeolocationTags.js.map +1 -1
- package/dist/IsWarning.js.map +1 -1
- package/dist/IsWin32.js +17 -7
- package/dist/IsWin32.js.map +1 -1
- package/dist/JSON.js +4 -1
- package/dist/JSON.js.map +1 -1
- package/dist/Lazy.js +2 -1
- package/dist/Lazy.js.map +1 -1
- package/dist/Maybe.js.map +1 -1
- package/dist/Number.d.ts +18 -3
- package/dist/Number.js +36 -1
- package/dist/Number.js.map +1 -1
- package/dist/Object.d.ts +4 -4
- package/dist/Object.js +8 -8
- package/dist/Object.js.map +1 -1
- package/dist/OnlyZerosRE.js.map +1 -1
- package/dist/Pick.js.map +1 -1
- package/dist/ReadRawTask.js +20 -8
- package/dist/ReadRawTask.js.map +1 -1
- package/dist/ReadTask.d.ts +1 -1
- package/dist/ReadTask.js +233 -264
- package/dist/ReadTask.js.map +1 -1
- package/dist/ResourceEvent.d.ts +1 -1
- package/dist/ResourceEvent.js +1 -1
- package/dist/ResourceEvent.js.map +1 -1
- package/dist/RewriteAllTagsTask.js +19 -9
- package/dist/RewriteAllTagsTask.js.map +1 -1
- package/dist/Sidecars.js.map +1 -1
- package/dist/String.d.ts +8 -4
- package/dist/String.js +7 -3
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +1 -1
- package/dist/Struct.js +1 -2
- package/dist/Struct.js.map +1 -1
- package/dist/Tags.d.ts +154 -152
- package/dist/TimeParsing.js +6 -8
- package/dist/TimeParsing.js.map +1 -1
- package/dist/Times.d.ts +6 -0
- package/dist/Times.js +7 -3
- package/dist/Times.js.map +1 -1
- package/dist/Timezones.d.ts +5 -4
- package/dist/Timezones.js +71 -41
- package/dist/Timezones.js.map +1 -1
- package/dist/Version.d.ts +1 -1
- package/dist/Version.js +1 -1
- package/dist/Version.js.map +1 -1
- package/dist/VersionTask.js +1 -1
- package/dist/VersionTask.js.map +1 -1
- package/dist/Which.js.map +1 -1
- package/dist/WriteTags.d.ts +6 -1
- package/dist/WriteTask.js +71 -25
- package/dist/WriteTask.js.map +1 -1
- package/eslint.config.mjs +34 -0
- 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":";;AA0CA,4CAgDC;AA0BD,wDAeC;AAWD,0CAwHC;AA+CD,0CAEC;AAED,sCAMC;AACD,8CAuEC;AAtYD,qCAAyD;AACzD,qCAAsC;AAEtC,YAAY;AACZ,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAelC,MAAM,oBAAqB,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAOD,iEAAiE;AACjE,MAAM,eAAe,GAAG,4CAA4C,CAAC;AAErE;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,KAAK,GAAG,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK;aAChC,GAAG,CAAC,gBAAO,CAAC;aACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,QAA4B,CAAC;IACjC,IAAI,SAA6B,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,oBAAoB,CAC5B,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;YACnE,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;YACpE,CAAC;YACD,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,oBAAoB,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,KAAa;IAEb,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,KAAa,EACb,gBAAgB,GAAG,KAAK;IAExB,KAAK,GAAG,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GACd,gJAAgJ,CAAC;IACnJ,MAAM,SAAS,GACb,6GAA6G,CAAC;IAChH,MAAM,QAAQ,GACZ,oFAAoF,CAAC;IAEvF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAEvC,IAAI,KAA8B,CAAC;IACnC,IAAI,MAAM,GAA4B,IAAI,CAAC;IAE3C,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;SAAM,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IAED,IACE,KAAK,IAAI,IAAI;QACb,MAAM,IAAI,IAAI;QACd,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAA,cAAK,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACvD,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,+CAA+C;YAC7C,qCAAqC;YACrC,0CAA0C;YAC1C,kCAAkC;YAClC,gDAAgD,CACnD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EACJ,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,YAAY,EACvB,SAAS,GACV,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjB,MAAM,SAAS,GAAG,YAAY,EAAE,WAAW,EAA2B,CAAC;IAEvE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAW,CAAC,CAAC;IACxC,IAAI,OAA2B,CAAC;IAChC,IAAI,OAA2B,CAAC;IAEhC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,GAAG,QAAQ,CAAC,UAAW,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,UAAU,CAAC,UAAW,CAAC,CAAC;QAElC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,GAAG,UAAU,CAAC,UAAW,CAAC,CAAC;QAElC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GACd,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG;QACpC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,qBAAqB,CAAC;IAE5B,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,oBAAoB,CAC5B,4BAA4B,UAAU,QAAQ,UAAU,QAAQ,SAAS,YAAY,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb,OAAO;QACP,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM;QACN,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7B,CAAC;IACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO;QACL,GAAG,MAAM;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkC;IAC1D,MAAM,OAAO,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAE1D,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GACd,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG;QAChD,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,qBAAqB,CAAC;IAC5B,MAAM,IAAI,GACR,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG;QAChD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,WAAW,CAAC;IAElB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,oBAAoB,CAC5B,4BAA4B,UAAU,QAAQ,UAAU,QAAQ,IAAI,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,4EAA4E;IAC5E,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAaD,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,SAAgB,eAAe,CAAC,OAAe;IAC7C,OAAO,IAAA,6BAAoB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,aAAa,CAC3B,QAAuB;IAEvB,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC;QAAE,OAAO;IAC5B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAA,YAAG,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAO,CAAC,CAAC;IAC7D,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AACD,SAAgB,iBAAiB,CAC/B,MAAwB,EACxB,QAAkB;IAElB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACjE,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,4DAA4D;IAC5D,8CAA8C;IAE9C,GAAG,GAAG,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IACE,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,GAAG,CAAC;QAClB,GAAG,KAAK,mBAAmB;QAC3B,GAAG,KAAK,mBAAmB,EAC3B,CAAC;QACD,QAAQ,CAAC,IAAI,CACX,cAAc,cAAc,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAClE,CAAC;QACF,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC9D,CAAC;IAED,cAAc;IACd,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QAC1B,SAAS,GAAG,IAAI,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,cAAc,cAAc,KAAK,KAAK,kBAAkB,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,6BAA6B;IAC7B,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;QAChC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,sDAAsD;IACtD,IACE,QAAQ,IAAI,IAAI;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,gBAAgB,EACjE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,KAAK,GAAG,CAAC,KAAK,CAAC;YACf,QAAQ,CAAC,IAAI,CACX,gBAAgB,cAAc,oCAAoC,CACnE,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,WAAW,GACf,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC3D,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,GAAG,GAAG,WAAW,CAAC;YAClB,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CACX,gBAAgB,cAAc,UAAU,WAAW,+BAA+B,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC1E,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CACX,gBAAgB,cAAc,UAAU,GAAG,2BAA2B,CACvE,CAAC;IACJ,CAAC;IACD,GAAG,GAAG,WAAW,CAAC;IAElB,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC3D,CAAC"}
|
package/dist/DateTime.d.ts
CHANGED
|
@@ -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:
|
|
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
|
-
(
|
|
29
|
-
(
|
|
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
|
|
36
|
+
return d?.toExifString?.();
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
function hms(d, opts) {
|
|
41
|
-
return d.toFormat("HH:mm:ss" + (
|
|
40
|
+
return d.toFormat("HH:mm:ss" + (opts?.includeMilliseconds === true ? ".SSS" : ""));
|
|
42
41
|
}
|
|
43
42
|
//# sourceMappingURL=DateTime.js.map
|
package/dist/DateTime.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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 (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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":"
|
|
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,
|
|
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"}
|
package/dist/DefaultMaxProcs.js
CHANGED
|
@@ -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 (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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":"
|
|
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,
|
|
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<
|
|
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
|
|
9
|
-
warnings: (0, Array_1.uniq)((0, String_1.compactBlanks)([t
|
|
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;
|
|
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
|
-
|
|
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())
|
package/dist/ExifDate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ExifDate.js","sourceRoot":"","sources":["../src/ExifDate.ts"],"names":[],"mappings":"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"}
|
package/dist/ExifDateTime.d.ts
CHANGED
|
@@ -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:
|
|
44
|
-
static fromExifLoose(text:
|
|
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;
|