exiftool-vendored 23.0.0 → 23.2.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 +31 -2
- package/dist/AsyncRetry.js +0 -1
- package/dist/AsyncRetry.js.map +1 -1
- package/dist/CapturedAtTagNames.d.ts +1 -1
- package/dist/CapturedAtTagNames.js +4 -2
- package/dist/CapturedAtTagNames.js.map +1 -1
- package/dist/DateTime.d.ts +2 -1
- package/dist/DateTime.js +3 -2
- package/dist/DateTime.js.map +1 -1
- package/dist/DefaultCreateDateTagNames.d.ts +4 -0
- package/dist/DefaultCreateDateTagNames.js +9 -0
- package/dist/DefaultCreateDateTagNames.js.map +1 -0
- package/dist/DefaultExifToolOptions.js +2 -0
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/ExifDateTime.d.ts +6 -4
- package/dist/ExifDateTime.js +63 -130
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTime.d.ts +15 -5
- package/dist/ExifTime.js +67 -23
- package/dist/ExifTime.js.map +1 -1
- package/dist/ExifTool.d.ts +17 -10
- package/dist/ExifTool.js +19 -11
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +49 -26
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/Maybe.d.ts +1 -0
- package/dist/Maybe.js +5 -1
- package/dist/Maybe.js.map +1 -1
- package/dist/ReadTask.d.ts +1 -0
- package/dist/ReadTask.js +28 -74
- package/dist/ReadTask.js.map +1 -1
- package/dist/ResourceEvent.d.ts +1 -0
- package/dist/ResourceEvent.js +13 -0
- package/dist/ResourceEvent.js.map +1 -1
- package/dist/String.d.ts +1 -1
- package/dist/String.js +6 -4
- package/dist/String.js.map +1 -1
- package/dist/Struct.js +2 -1
- package/dist/Struct.js.map +1 -1
- package/dist/Tags.d.ts +19 -19
- package/dist/TimeParsing.d.ts +29 -0
- package/dist/TimeParsing.js +75 -0
- package/dist/TimeParsing.js.map +1 -0
- package/dist/Timezones.d.ts +33 -23
- package/dist/Timezones.js +271 -86
- package/dist/Timezones.js.map +1 -1
- package/dist/Version.d.ts +1 -0
- package/dist/Version.js +6 -0
- package/dist/Version.js.map +1 -1
- package/dist/WriteTask.js +0 -2
- package/dist/WriteTask.js.map +1 -1
- package/package.json +14 -12
package/dist/Timezones.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Zone } from "luxon";
|
|
2
|
-
import {
|
|
3
|
-
import { ExifTime } from "./ExifTime";
|
|
2
|
+
import { CapturedAtTagNames } from "./CapturedAtTagNames";
|
|
4
3
|
import { ExifToolOptions } from "./ExifToolOptions";
|
|
5
4
|
import { Maybe } from "./Maybe";
|
|
6
5
|
import { Tags } from "./Tags";
|
|
7
|
-
|
|
6
|
+
declare const ValidTimezoneOffsets: readonly ["-12:00", "-11:00", "-10:30", "-10:00", "-09:30", "-09:00", "-08:30", "-08:00", "-07:30", "-07:00", "-06:00", "-05:00", "-04:30", "-04:00", "-03:30", "-03:00", "-02:30", "-02:00", "-01:00", "-00:44", "-00:25:21", "+00:00", "+00:20", "+00:30", "+01:00", "+01:24", "+01:30", "+02:00", "+02:30", "+03:00", "+03:30", "+04:00", "+04:30", "+04:51", "+05:00", "+05:30", "+05:40", "+05:45", "+06:00", "+06:30", "+07:00", "+07:20", "+07:30", "+08:00", "+08:30", "+08:45", "+09:00", "+09:30", "+09:45", "+10:00", "+10:30", "+11:00", "+11:30", "+12:00", "+12:45", "+13:00", "+13:45", "+14:00"];
|
|
7
|
+
export type TimezoneOffset = (typeof ValidTimezoneOffsets)[number];
|
|
8
8
|
/**
|
|
9
9
|
* Zone instances with this offset are a placeholder for being "unset".
|
|
10
10
|
*/
|
|
@@ -18,43 +18,53 @@ export declare const UnsetZone: Zone;
|
|
|
18
18
|
* Zone instances with this name are a placeholder for being "unset".
|
|
19
19
|
*/
|
|
20
20
|
export declare const UnsetZoneName: string;
|
|
21
|
+
export declare function isUTC(zone: Maybe<Zone | string | number>): boolean;
|
|
22
|
+
export declare function isZoneValid(zone: Maybe<Zone>): zone is Zone;
|
|
21
23
|
/**
|
|
22
24
|
* If `tzSource` matches this value, the tags are from a video, and we had to
|
|
23
25
|
* resort to assuming time fields are in UTC.
|
|
24
26
|
* @see https://github.com/photostructure/exiftool-vendored.js/issues/113
|
|
25
27
|
*/
|
|
26
28
|
export declare const defaultVideosToUTC = "defaultVideosToUTC";
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @param input must be either a number, which is the offset in minutes, or a
|
|
31
|
+
* string in the format "UTC+H" or "UTC+HH:mm"
|
|
32
|
+
*/
|
|
33
|
+
export declare function normalizeZone(input: Maybe<string | number | Zone>): Maybe<Zone>;
|
|
34
|
+
/**
|
|
35
|
+
* @param ts must be provided if the zone is not a fixed offset
|
|
36
|
+
* @return the zone offset (in "±HH:MM" format) for the given zone, or "" if
|
|
37
|
+
* the zone is invalid
|
|
38
|
+
*/
|
|
39
|
+
export declare function zoneToShortOffset(zone: Maybe<string | number | Zone>, ts?: number): string;
|
|
40
|
+
export declare function validTzOffsetMinutes(tzOffsetMinutes: Maybe<number>): tzOffsetMinutes is number;
|
|
29
41
|
/**
|
|
30
42
|
* Returns a "zone name" (used by `luxon`) that encodes the given offset.
|
|
31
43
|
*/
|
|
32
44
|
export declare function offsetMinutesToZoneName(offsetMinutes: Maybe<number>): Maybe<string>;
|
|
33
45
|
export interface TzSrc {
|
|
34
46
|
tz: string;
|
|
47
|
+
/**
|
|
48
|
+
* If given a string, this is the remaining string left after extracting the
|
|
49
|
+
* timezone
|
|
50
|
+
*/
|
|
51
|
+
leftovers?: string;
|
|
35
52
|
src: string;
|
|
36
53
|
}
|
|
37
54
|
/**
|
|
38
55
|
* Parse a timezone offset and return the offset minutes
|
|
39
56
|
*/
|
|
40
|
-
export declare function
|
|
41
|
-
|
|
42
|
-
declare const CreateDateTagnames: readonly ["SubSecCreateDate", "CreateDate", "SubSecDateTimeOriginal", "DateTimeOriginal", "SubSecMediaCreateDate", "MediaCreateDate", "CreationDate", "TimeCreated"];
|
|
43
|
-
export declare function extractTzOffsetFromTags(t: Pick<Tags, (typeof TimezoneOffsetTagnames)[number] | (typeof CreateDateTagnames)[number]>, opts?: Partial<Pick<ExifToolOptions, "inferTimezoneFromDatestamps">>): Maybe<TzSrc>;
|
|
44
|
-
export declare function inferLikelyOffsetMinutes(deltaMinutes: number): number;
|
|
45
|
-
export declare function extractTzOffsetFromUTCOffset(t: {
|
|
46
|
-
DateTimeUTC?: string;
|
|
47
|
-
GPSDateTime?: string;
|
|
48
|
-
GPSDateStamp?: string;
|
|
49
|
-
GPSTimeStamp?: string;
|
|
50
|
-
GPSDateTimeStamp?: string;
|
|
51
|
-
SubSecDateTimeOriginal?: string;
|
|
52
|
-
DateTimeOriginal?: string;
|
|
53
|
-
SubSecCreateDate?: string;
|
|
54
|
-
CreateDate?: string;
|
|
55
|
-
SubSecMediaCreateDate?: string;
|
|
56
|
-
MediaCreateDate?: string;
|
|
57
|
-
DateTimeCreated?: string;
|
|
57
|
+
export declare function extractZone(value: Tags[keyof Tags], opts?: {
|
|
58
|
+
stripTZA?: boolean;
|
|
58
59
|
}): Maybe<TzSrc>;
|
|
60
|
+
export declare function extractTzOffsetFromTags(t: Tags): Maybe<TzSrc>;
|
|
61
|
+
export declare function extractTzOffsetFromDatestamps(t: Tags, opts: Partial<Pick<ExifToolOptions, "inferTimezoneFromDatestamps" | "inferTimezoneFromDatestampTags">>): Maybe<TzSrc>;
|
|
62
|
+
export declare function inferLikelyOffsetMinutes(deltaMinutes: number): number;
|
|
63
|
+
export declare function extractTzOffsetFromUTCOffset(t: Pick<Tags, (typeof CapturedAtTagNames)[number] | "GPSDateTime" | "DateTimeUTC" | "GPSDateStamp" | "GPSTimeStamp">): Maybe<TzSrc>;
|
|
59
64
|
export declare function equivalentZones(a: Maybe<string | number | Zone>, b: Maybe<string | number | Zone>): boolean;
|
|
65
|
+
export declare function getZoneName(args?: {
|
|
66
|
+
zone?: Zone;
|
|
67
|
+
zoneName?: Maybe<string>;
|
|
68
|
+
tzoffsetMinutes?: Maybe<number>;
|
|
69
|
+
}): Maybe<string>;
|
|
60
70
|
export {};
|
package/dist/Timezones.js
CHANGED
|
@@ -1,16 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.equivalentZones = exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.
|
|
3
|
+
exports.getZoneName = exports.equivalentZones = exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromDatestamps = exports.extractTzOffsetFromTags = exports.extractZone = exports.offsetMinutesToZoneName = exports.validTzOffsetMinutes = exports.zoneToShortOffset = exports.normalizeZone = exports.defaultVideosToUTC = exports.isZoneValid = exports.isUTC = exports.UnsetZoneName = exports.UnsetZone = exports.UnsetZoneOffsetMinutes = void 0;
|
|
4
4
|
const luxon_1 = require("luxon");
|
|
5
|
-
const
|
|
5
|
+
const BinaryField_1 = require("./BinaryField");
|
|
6
6
|
const CapturedAtTagNames_1 = require("./CapturedAtTagNames");
|
|
7
|
+
const ExifDate_1 = require("./ExifDate");
|
|
7
8
|
const ExifDateTime_1 = require("./ExifDateTime");
|
|
9
|
+
const ExifTime_1 = require("./ExifTime");
|
|
10
|
+
const Lazy_1 = require("./Lazy");
|
|
8
11
|
const Maybe_1 = require("./Maybe");
|
|
9
12
|
const Number_1 = require("./Number");
|
|
13
|
+
const Pick_1 = require("./Pick");
|
|
10
14
|
const String_1 = require("./String");
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
// Unique values from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
16
|
+
const ValidTimezoneOffsets = [
|
|
17
|
+
"-12:00",
|
|
18
|
+
"-11:00",
|
|
19
|
+
"-10:30",
|
|
20
|
+
"-10:00",
|
|
21
|
+
"-09:30",
|
|
22
|
+
"-09:00",
|
|
23
|
+
"-08:30",
|
|
24
|
+
"-08:00",
|
|
25
|
+
"-07:30",
|
|
26
|
+
"-07:00",
|
|
27
|
+
"-06:00",
|
|
28
|
+
"-05:00",
|
|
29
|
+
"-04:30",
|
|
30
|
+
"-04:00",
|
|
31
|
+
"-03:30",
|
|
32
|
+
"-03:00",
|
|
33
|
+
"-02:30",
|
|
34
|
+
"-02:00",
|
|
35
|
+
"-01:00",
|
|
36
|
+
"-00:44",
|
|
37
|
+
"-00:25:21",
|
|
38
|
+
"+00:00",
|
|
39
|
+
"+00:20",
|
|
40
|
+
"+00:30",
|
|
41
|
+
"+01:00",
|
|
42
|
+
"+01:24",
|
|
43
|
+
"+01:30",
|
|
44
|
+
"+02:00",
|
|
45
|
+
"+02:30",
|
|
46
|
+
"+03:00",
|
|
47
|
+
"+03:30",
|
|
48
|
+
"+04:00",
|
|
49
|
+
"+04:30",
|
|
50
|
+
"+04:51",
|
|
51
|
+
"+05:00",
|
|
52
|
+
"+05:30",
|
|
53
|
+
"+05:40",
|
|
54
|
+
"+05:45",
|
|
55
|
+
"+06:00",
|
|
56
|
+
"+06:30",
|
|
57
|
+
"+07:00",
|
|
58
|
+
"+07:20",
|
|
59
|
+
"+07:30",
|
|
60
|
+
"+08:00",
|
|
61
|
+
"+08:30",
|
|
62
|
+
"+08:45",
|
|
63
|
+
"+09:00",
|
|
64
|
+
"+09:30",
|
|
65
|
+
"+09:45",
|
|
66
|
+
"+10:00",
|
|
67
|
+
"+10:30",
|
|
68
|
+
"+11:00",
|
|
69
|
+
"+11:30",
|
|
70
|
+
"+12:00",
|
|
71
|
+
"+12:45",
|
|
72
|
+
"+13:00",
|
|
73
|
+
"+13:45",
|
|
74
|
+
"+14:00",
|
|
75
|
+
];
|
|
76
|
+
function offsetToMinutes(offset) {
|
|
77
|
+
const [h, m] = offset.split(":").map(Number);
|
|
78
|
+
// we can't just return `h * 60 + m`: that doesn't work with negative
|
|
79
|
+
// offsets (minutes will be positive but hours will be negative)
|
|
80
|
+
const sign = h < 0 ? -1 : 1;
|
|
81
|
+
return h * 60 + sign * m;
|
|
82
|
+
}
|
|
83
|
+
// export const localTzOffsetMinutes = lazy(() => DateTime.local().offset, hourMs)
|
|
84
|
+
const ValidOffsetMinutes = (0, Lazy_1.lazy)(() => new Set(ValidTimezoneOffsets.map(offsetToMinutes)));
|
|
14
85
|
/**
|
|
15
86
|
* Zone instances with this offset are a placeholder for being "unset".
|
|
16
87
|
*/
|
|
@@ -24,45 +95,106 @@ exports.UnsetZone = luxon_1.Info.normalizeZone(exports.UnsetZoneOffsetMinutes);
|
|
|
24
95
|
* Zone instances with this name are a placeholder for being "unset".
|
|
25
96
|
*/
|
|
26
97
|
exports.UnsetZoneName = exports.UnsetZone.name;
|
|
98
|
+
const Zulus = [
|
|
99
|
+
luxon_1.FixedOffsetZone.utcInstance,
|
|
100
|
+
0,
|
|
101
|
+
-0,
|
|
102
|
+
"UTC",
|
|
103
|
+
"GMT",
|
|
104
|
+
"Z",
|
|
105
|
+
"+0",
|
|
106
|
+
"+00:00",
|
|
107
|
+
"UTC+0",
|
|
108
|
+
"GMT+0",
|
|
109
|
+
"UTC+00:00",
|
|
110
|
+
// ...sigh, so much for "normalizeZone"...
|
|
111
|
+
];
|
|
112
|
+
function isUTC(zone) {
|
|
113
|
+
var _a;
|
|
114
|
+
const z = zone;
|
|
115
|
+
return (zone != null && (Zulus.includes(z) || Zulus.includes((_a = z.zoneName) !== null && _a !== void 0 ? _a : z.fixed)));
|
|
116
|
+
}
|
|
117
|
+
exports.isUTC = isUTC;
|
|
118
|
+
function isZoneValid(zone) {
|
|
119
|
+
return (zone != null && zone.isValid && Math.abs(zone.offset(Date.now())) < 14 * 60);
|
|
120
|
+
}
|
|
121
|
+
exports.isZoneValid = isZoneValid;
|
|
27
122
|
/**
|
|
28
123
|
* If `tzSource` matches this value, the tags are from a video, and we had to
|
|
29
124
|
* resort to assuming time fields are in UTC.
|
|
30
125
|
* @see https://github.com/photostructure/exiftool-vendored.js/issues/113
|
|
31
126
|
*/
|
|
32
127
|
exports.defaultVideosToUTC = "defaultVideosToUTC";
|
|
33
|
-
|
|
128
|
+
// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones -- not that
|
|
129
|
+
// "WET" and "W-SU" are full TZs
|
|
130
|
+
const IanaFormatRE = /^\w{2,15}(?:\/\w{3,15})?$/;
|
|
131
|
+
// Luxon requires fixed-offset zones to look like "UTC+H", "UTC-H",
|
|
132
|
+
// "UTC+H:mm", "UTC-H:mm":
|
|
133
|
+
const FixedFormatRE = /^UTC[+-]\d{1,2}(?::\d\d)?$/;
|
|
134
|
+
/**
|
|
135
|
+
* @param input must be either a number, which is the offset in minutes, or a
|
|
136
|
+
* string in the format "UTC+H" or "UTC+HH:mm"
|
|
137
|
+
*/
|
|
138
|
+
function normalizeZone(input) {
|
|
139
|
+
// wrapped in a try/catch as Luxon.settings.throwOnInvalid may be true:
|
|
34
140
|
try {
|
|
35
|
-
if
|
|
141
|
+
// Info.normalizeZone returns the system zone if the input is null or
|
|
142
|
+
// blank (!!!), but we want to return undefined instead:
|
|
143
|
+
// Info.normalizeZone(null) returns the system zone, which isn't what we
|
|
144
|
+
// (ever!) want.
|
|
145
|
+
if (input == null)
|
|
36
146
|
return;
|
|
37
|
-
|
|
38
|
-
|
|
147
|
+
if (input instanceof luxon_1.Zone) {
|
|
148
|
+
return isZoneValid(input) ? input : undefined;
|
|
149
|
+
}
|
|
150
|
+
let z = input;
|
|
151
|
+
if (typeof z === "string") {
|
|
152
|
+
z = z.replace(/^(Zulu|Z|GMT)(\b|$)/, "UTC");
|
|
153
|
+
// Info.normalizeZone("") returns the system zone, which we never want.
|
|
154
|
+
// We also don't need to tease Info.normalizeZone with obviously
|
|
155
|
+
// non-offset inputs:
|
|
156
|
+
if ((0, String_1.blank)(z) || (!IanaFormatRE.test(z) && !FixedFormatRE.test(z))) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const result = luxon_1.Info.normalizeZone(z);
|
|
161
|
+
return isZoneValid(result) && result.name !== exports.UnsetZoneName
|
|
162
|
+
? result
|
|
163
|
+
: undefined;
|
|
39
164
|
}
|
|
40
165
|
catch {
|
|
41
166
|
return;
|
|
42
167
|
}
|
|
43
168
|
}
|
|
44
169
|
exports.normalizeZone = normalizeZone;
|
|
45
|
-
|
|
46
|
-
|
|
170
|
+
/**
|
|
171
|
+
* @param ts must be provided if the zone is not a fixed offset
|
|
172
|
+
* @return the zone offset (in "±HH:MM" format) for the given zone, or "" if
|
|
173
|
+
* the zone is invalid
|
|
174
|
+
*/
|
|
175
|
+
function zoneToShortOffset(zone, ts) {
|
|
176
|
+
var _a, _b;
|
|
177
|
+
return (_b = (_a = normalizeZone(zone)) === null || _a === void 0 ? void 0 : _a.formatOffset(ts !== null && ts !== void 0 ? ts : Date.now(), "short")) !== null && _b !== void 0 ? _b : "";
|
|
178
|
+
}
|
|
179
|
+
exports.zoneToShortOffset = zoneToShortOffset;
|
|
180
|
+
function validTzOffsetMinutes(tzOffsetMinutes) {
|
|
181
|
+
return (tzOffsetMinutes != null &&
|
|
182
|
+
(0, Number_1.isNumber)(tzOffsetMinutes) &&
|
|
47
183
|
tzOffsetMinutes !== exports.UnsetZoneOffsetMinutes &&
|
|
48
|
-
|
|
184
|
+
ValidOffsetMinutes().has(tzOffsetMinutes));
|
|
49
185
|
}
|
|
50
|
-
exports.
|
|
186
|
+
exports.validTzOffsetMinutes = validTzOffsetMinutes;
|
|
51
187
|
/**
|
|
52
188
|
* Returns a "zone name" (used by `luxon`) that encodes the given offset.
|
|
53
189
|
*/
|
|
54
190
|
function offsetMinutesToZoneName(offsetMinutes) {
|
|
55
|
-
if (offsetMinutes
|
|
56
|
-
!(0, Number_1.isNumber)(offsetMinutes) ||
|
|
57
|
-
offsetMinutes === exports.UnsetZoneOffsetMinutes) {
|
|
191
|
+
if (!validTzOffsetMinutes(offsetMinutes)) {
|
|
58
192
|
return undefined;
|
|
59
193
|
}
|
|
60
194
|
if (offsetMinutes === 0)
|
|
61
195
|
return "UTC";
|
|
62
196
|
const sign = offsetMinutes < 0 ? "-" : "+";
|
|
63
197
|
const absMinutes = Math.abs(offsetMinutes);
|
|
64
|
-
if (absMinutes > exports.MaxTzOffsetHours * 60)
|
|
65
|
-
return undefined;
|
|
66
198
|
const hours = Math.floor(absMinutes / 60);
|
|
67
199
|
const minutes = Math.abs(absMinutes % 60);
|
|
68
200
|
// luxon now renders simple hour offsets without padding:
|
|
@@ -70,12 +202,14 @@ function offsetMinutesToZoneName(offsetMinutes) {
|
|
|
70
202
|
}
|
|
71
203
|
exports.offsetMinutesToZoneName = offsetMinutesToZoneName;
|
|
72
204
|
function tzHourToOffset(n) {
|
|
73
|
-
return (0, Number_1.isNumber)(n) &&
|
|
205
|
+
return (0, Number_1.isNumber)(n) && validTzOffsetMinutes(n * 60)
|
|
74
206
|
? offsetMinutesToZoneName(n * 60)
|
|
75
207
|
: undefined;
|
|
76
208
|
}
|
|
77
|
-
|
|
78
|
-
|
|
209
|
+
// Accept "Z", "UTC+2", "UTC+02", "UTC+2:00", "UTC+02:00", "+2", "+02", and
|
|
210
|
+
// "+02:00". Require the sign (+ or -) and a ":" separator if there are
|
|
211
|
+
// minutes.
|
|
212
|
+
const tzRe = /(?<Z>Z)|((UTC)?(?<sign>[+-])(?<hours>\d\d?)(?::(?<minutes>\d\d))?)$/;
|
|
79
213
|
function extractOffsetFromHours(hourOffset) {
|
|
80
214
|
return (0, Number_1.isNumber)(hourOffset)
|
|
81
215
|
? (0, Maybe_1.map)(tzHourToOffset(hourOffset), (tz) => ({
|
|
@@ -89,86 +223,123 @@ function extractOffsetFromHours(hourOffset) {
|
|
|
89
223
|
/**
|
|
90
224
|
* Parse a timezone offset and return the offset minutes
|
|
91
225
|
*/
|
|
92
|
-
function
|
|
93
|
-
var _a, _b
|
|
94
|
-
if (value
|
|
95
|
-
|
|
226
|
+
function extractZone(value, opts) {
|
|
227
|
+
var _a, _b;
|
|
228
|
+
if (value == null ||
|
|
229
|
+
typeof value === "boolean" ||
|
|
230
|
+
value instanceof BinaryField_1.BinaryField ||
|
|
231
|
+
value instanceof ExifDate_1.ExifDate) {
|
|
232
|
+
return;
|
|
96
233
|
}
|
|
97
|
-
if (
|
|
98
|
-
|
|
234
|
+
if (Array.isArray(value)) {
|
|
235
|
+
// we only ever care about the first non-null value
|
|
236
|
+
return extractZone(value.find((ea) => ea != null));
|
|
99
237
|
}
|
|
100
|
-
if (
|
|
101
|
-
return
|
|
238
|
+
if (value instanceof ExifDateTime_1.ExifDateTime || value instanceof ExifTime_1.ExifTime) {
|
|
239
|
+
return value.zone == null
|
|
240
|
+
? undefined
|
|
241
|
+
: { tz: value.zone, src: value.constructor.name + ".zone" };
|
|
102
242
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
243
|
+
if ((0, Number_1.isNumber)(value)) {
|
|
244
|
+
return extractOffsetFromHours(value);
|
|
245
|
+
}
|
|
246
|
+
if (typeof value !== "string" || (0, String_1.blank)(value)) {
|
|
247
|
+
// don't accept ExifDate, boolean, BinaryField, ResourceEvent, Struct, or
|
|
248
|
+
// Version instances:
|
|
106
249
|
return;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
250
|
+
}
|
|
251
|
+
{
|
|
252
|
+
// If value is a proper timezone name, this may be easy!
|
|
253
|
+
const z = normalizeZone(value);
|
|
254
|
+
if (z != null) {
|
|
255
|
+
return { tz: z.name, src: "normalizeZone" };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
let str = value.trim();
|
|
259
|
+
// Some EXIF datetime will "over-specify" and include both the utc offset
|
|
260
|
+
// *and* the "time zone abbreviation"/TZA, like "PST" or "PDT". TZAs are
|
|
261
|
+
// between 2 (AT) and 5 (WEST) characters.
|
|
262
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.stripTZA) !== false &&
|
|
263
|
+
// We only want to strip off the TZA if the input _doesn't_ end with "UTC"
|
|
264
|
+
// or "Z"
|
|
265
|
+
!/[.\d\s](UTC|Z)$/.test(str)) {
|
|
266
|
+
str = str.replace(/\s[a-z]{2,5}$/i, "");
|
|
267
|
+
}
|
|
268
|
+
{
|
|
269
|
+
if ((0, String_1.blank)(str))
|
|
270
|
+
return;
|
|
271
|
+
const z = normalizeZone(str);
|
|
272
|
+
if (z != null) {
|
|
273
|
+
return { tz: z.name, src: "normalizeZone" };
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const match = tzRe.exec(str);
|
|
277
|
+
const capturedGroups = match === null || match === void 0 ? void 0 : match.groups;
|
|
278
|
+
if (match != null && capturedGroups != null) {
|
|
279
|
+
const leftovers = str.slice(0, match.index);
|
|
280
|
+
if (capturedGroups.Z === "Z")
|
|
281
|
+
return {
|
|
282
|
+
tz: "UTC",
|
|
283
|
+
src: "Z",
|
|
284
|
+
leftovers,
|
|
285
|
+
};
|
|
286
|
+
const offsetMinutes = (capturedGroups.sign === "-" ? -1 : 1) *
|
|
287
|
+
(parseInt((_a = capturedGroups.hours) !== null && _a !== void 0 ? _a : "0") * 60 +
|
|
288
|
+
parseInt((_b = capturedGroups.minutes) !== null && _b !== void 0 ? _b : "0"));
|
|
289
|
+
const tz = offsetMinutesToZoneName(offsetMinutes);
|
|
290
|
+
if (tz != null) {
|
|
291
|
+
return { tz, src: "offsetMinutesToZoneName", leftovers };
|
|
292
|
+
}
|
|
115
293
|
}
|
|
116
294
|
return;
|
|
117
295
|
}
|
|
118
|
-
exports.
|
|
296
|
+
exports.extractZone = extractZone;
|
|
119
297
|
const TimezoneOffsetTagnames = [
|
|
120
298
|
"TimeZone",
|
|
121
299
|
"OffsetTime",
|
|
122
|
-
|
|
300
|
+
// time zone for DateTimeOriginal, "-08:00"
|
|
123
301
|
"OffsetTimeOriginal",
|
|
124
|
-
|
|
302
|
+
// time zone for CreateDate, "-08:00"
|
|
125
303
|
"OffsetTimeDigitized",
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
304
|
+
// srsly who came up with these wholly inconsistent tag names? _why not just
|
|
305
|
+
// prefix tag names with "Offset"?!11_ SADNESS AND WOE
|
|
306
|
+
// 1 or 2 values: 1. The time zone offset of DateTimeOriginal from GMT in
|
|
307
|
+
// hours, 2. If present, the time zone offset of ModifyDate (which we
|
|
308
|
+
// ignore) @see https://www.exiftool.org/TagNames/EXIF.html
|
|
131
309
|
"TimeZoneOffset", // number | number[] | string
|
|
132
310
|
];
|
|
133
|
-
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
"SubSecDateTimeOriginal",
|
|
140
|
-
"DateTimeOriginal",
|
|
141
|
-
"SubSecMediaCreateDate",
|
|
142
|
-
"MediaCreateDate",
|
|
143
|
-
"CreationDate",
|
|
144
|
-
"TimeCreated", // < IPTC tag
|
|
145
|
-
];
|
|
146
|
-
function extractTzOffsetFromTags(t, opts) {
|
|
147
|
-
var _a;
|
|
148
|
-
for (const tagName of [
|
|
149
|
-
...TimezoneOffsetTagnames,
|
|
150
|
-
...(((_a = opts === null || opts === void 0 ? void 0 : opts.inferTimezoneFromDatestamps) !== null && _a !== void 0 ? _a : false) ? CreateDateTagnames : []),
|
|
151
|
-
]) {
|
|
152
|
-
// don't adopt FileCreateDate or FileModifyDate offsets--those are just
|
|
153
|
-
// the system timezone:
|
|
154
|
-
if (t[tagName] != null && !tagName.startsWith("File")) {
|
|
155
|
-
const offset = extractOffset(t[tagName]);
|
|
311
|
+
function extractTzOffsetFromTags(t) {
|
|
312
|
+
// We have to iterate twice: if it's from a timezone offset tag, we can
|
|
313
|
+
// trust it, even if it's UTC.
|
|
314
|
+
for (const tagName of TimezoneOffsetTagnames) {
|
|
315
|
+
if (t[tagName] != null) {
|
|
316
|
+
const offset = extractZone(t[tagName]);
|
|
156
317
|
if (offset != null) {
|
|
157
318
|
return { tz: offset.tz, src: tagName };
|
|
158
319
|
}
|
|
159
320
|
}
|
|
160
321
|
}
|
|
161
|
-
if (t.TimeZoneOffset != null) {
|
|
162
|
-
const tz = tzHourToOffset(Array.isArray(t.TimeZoneOffset) ? t.TimeZoneOffset[0] : t.TimeZoneOffset);
|
|
163
|
-
if (tz != null)
|
|
164
|
-
return {
|
|
165
|
-
tz,
|
|
166
|
-
src: "TimeZoneOffset",
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
322
|
return;
|
|
170
323
|
}
|
|
171
324
|
exports.extractTzOffsetFromTags = extractTzOffsetFromTags;
|
|
325
|
+
function extractTzOffsetFromDatestamps(t, opts) {
|
|
326
|
+
var _a;
|
|
327
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.inferTimezoneFromDatestamps) === true) {
|
|
328
|
+
for (const tagName of (_a = opts.inferTimezoneFromDatestampTags) !== null && _a !== void 0 ? _a : []) {
|
|
329
|
+
if (t[tagName] != null) {
|
|
330
|
+
const offset = extractZone(t[tagName]);
|
|
331
|
+
// Some applications (looking at you, Google Takeout) will add a
|
|
332
|
+
// spurious "+00:00" timezone offset to random datestamp tags, so
|
|
333
|
+
// ignore UTC offsets here.
|
|
334
|
+
if (offset != null && !isUTC(offset.tz)) {
|
|
335
|
+
return { tz: offset.tz, src: tagName };
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
exports.extractTzOffsetFromDatestamps = extractTzOffsetFromDatestamps;
|
|
172
343
|
// timezone offsets may be on a 15 minute boundary, but if GPS acquisition is
|
|
173
344
|
// old, this can be spurious. We get less mistakes with a larger multiple, so
|
|
174
345
|
// we're using 30 minutes instead of 15. See
|
|
@@ -178,17 +349,25 @@ function inferLikelyOffsetMinutes(deltaMinutes) {
|
|
|
178
349
|
return TzBoundaryMinutes * Math.floor(deltaMinutes / TzBoundaryMinutes);
|
|
179
350
|
}
|
|
180
351
|
exports.inferLikelyOffsetMinutes = inferLikelyOffsetMinutes;
|
|
352
|
+
/**
|
|
353
|
+
* Convert blank strings to undefined.
|
|
354
|
+
*/
|
|
355
|
+
function blankToNull(x) {
|
|
356
|
+
return x == null || (typeof x === "string" && (0, String_1.blank)(x)) ? undefined : x;
|
|
357
|
+
}
|
|
181
358
|
function extractTzOffsetFromUTCOffset(t) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
(
|
|
186
|
-
|
|
359
|
+
const utcSources = {
|
|
360
|
+
...(0, Pick_1.pick)(t, "GPSDateTime", "DateTimeUTC"),
|
|
361
|
+
GPSDateTimeStamp: (0, Maybe_1.map2)(blankToNull(t.GPSDateStamp), // Example: "2022:04:13"
|
|
362
|
+
blankToNull(t.GPSTimeStamp), // Example: "23:59:41.001"
|
|
363
|
+
(a, b) => a + " " + b),
|
|
364
|
+
};
|
|
187
365
|
// We can always assume these are in UTC:
|
|
188
366
|
const utc = (0, Maybe_1.first)(["GPSDateTime", "DateTimeUTC", "GPSDateTimeStamp"], (tagName) => {
|
|
189
367
|
var _a;
|
|
190
|
-
const
|
|
191
|
-
const
|
|
368
|
+
const v = utcSources[tagName];
|
|
369
|
+
const edt = v instanceof ExifDateTime_1.ExifDateTime ? v : ExifDateTime_1.ExifDateTime.fromExifStrict(v);
|
|
370
|
+
const s = edt != null && (edt.zone == null || isUTC(edt.zone))
|
|
192
371
|
? (_a = edt.setZone("UTC", { keepLocalTime: true })) === null || _a === void 0 ? void 0 : _a.toEpochSeconds()
|
|
193
372
|
: undefined;
|
|
194
373
|
return s != null
|
|
@@ -233,4 +412,10 @@ function equivalentZones(a, b) {
|
|
|
233
412
|
(az.equals(bz) || az.offset(Date.now()) === bz.offset(Date.now())));
|
|
234
413
|
}
|
|
235
414
|
exports.equivalentZones = equivalentZones;
|
|
415
|
+
function getZoneName(args = {}) {
|
|
416
|
+
var _a, _b, _c, _d;
|
|
417
|
+
const result = (_d = (_b = (_a = normalizeZone(args.zone)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = normalizeZone(args.zoneName)) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : offsetMinutesToZoneName(args.tzoffsetMinutes);
|
|
418
|
+
return (0, String_1.blank)(result) || result === exports.UnsetZoneName ? undefined : result;
|
|
419
|
+
}
|
|
420
|
+
exports.getZoneName = getZoneName;
|
|
236
421
|
//# sourceMappingURL=Timezones.js.map
|
package/dist/Timezones.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timezones.js","sourceRoot":"","sources":["../src/Timezones.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Timezones.js","sourceRoot":"","sources":["../src/Timezones.ts"],"names":[],"mappings":"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"}
|
package/dist/Version.d.ts
CHANGED
package/dist/Version.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isVersion = void 0;
|
|
4
|
+
const fields = ["Comments", "Event", "Modifier", "ModifyDate", "Version"];
|
|
5
|
+
function isVersion(obj) {
|
|
6
|
+
return obj != null && typeof obj === "object" && fields.every((f) => f in obj);
|
|
7
|
+
}
|
|
8
|
+
exports.isVersion = isVersion;
|
|
3
9
|
//# sourceMappingURL=Version.js.map
|
package/dist/Version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","sourceRoot":"","sources":["../src/Version.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Version.js","sourceRoot":"","sources":["../src/Version.ts"],"names":[],"mappings":";;;AAeA,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;AAEzE,SAAgB,SAAS,CAAC,GAAQ;IAChC,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;AAChF,CAAC;AAFD,8BAEC"}
|
package/dist/WriteTask.js
CHANGED
|
@@ -129,14 +129,12 @@ class WriteTask extends ExifToolTask_1.ExifToolTask {
|
|
|
129
129
|
}
|
|
130
130
|
args.push(...extraArgs);
|
|
131
131
|
args.push(sourceFile);
|
|
132
|
-
// console.log("new WriteTask()", { sourceFile, args, tags })
|
|
133
132
|
return new WriteTask(sourceFile, args);
|
|
134
133
|
}
|
|
135
134
|
toString() {
|
|
136
135
|
return "WriteTask(" + this.sourceFile + ")";
|
|
137
136
|
}
|
|
138
137
|
parse(data, error) {
|
|
139
|
-
// console.log(this.toString() + ".parse()", { data, error })
|
|
140
138
|
if (error != null)
|
|
141
139
|
throw error;
|
|
142
140
|
if (this.errors.length > 0)
|
package/dist/WriteTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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"}
|