exiftool-vendored 15.12.1 → 16.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.
@@ -31,12 +31,13 @@ export declare function extractTzOffsetFromTags(t: {
31
31
  */
32
32
  TimeZoneOffset?: number | number[] | string;
33
33
  }): Maybe<TzSrc>;
34
- export declare function inferLikelyOffsetMinutes(deltaMs: number): number;
34
+ export declare function inferLikelyOffsetMinutes(deltaMinutes: number): number;
35
35
  export declare function extractTzOffsetFromUTCOffset(t: {
36
36
  DateTimeUTC?: string;
37
37
  GPSDateTime?: string;
38
38
  GPSDateStamp?: string;
39
39
  GPSTimeStamp?: string;
40
+ GPSDateTimeStamp?: string;
40
41
  SubSecDateTimeOriginal?: string;
41
42
  DateTimeOriginal?: string;
42
43
  SubSecCreateDate?: string;
package/dist/Timezones.js CHANGED
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.extractOffset = exports.offsetMinutesToZoneName = exports.reasonableTzOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.UnsetZoneOffsetMinutes = exports.MaxTzOffsetHours = void 0;
4
4
  const luxon_1 = require("luxon");
5
5
  const Array_1 = require("./Array");
6
- const DateTime_1 = require("./DateTime");
7
6
  const ExifDateTime_1 = require("./ExifDateTime");
8
7
  const Maybe_1 = require("./Maybe");
9
8
  const Number_1 = require("./Number");
@@ -36,16 +35,10 @@ function offsetMinutesToZoneName(offsetMinutes) {
36
35
  return undefined;
37
36
  const hours = Math.floor(absMinutes / 60);
38
37
  const minutes = Math.abs(absMinutes % 60);
39
- return (`UTC${sign}` +
40
- (minutes === 0 ? `${(0, String_1.pad2)(hours)}` : `${(0, String_1.pad2)(hours)}:${(0, String_1.pad2)(minutes)}`));
38
+ // luxon now renders simple hour offsets without padding:
39
+ return `UTC${sign}` + hours + (minutes === 0 ? "" : `:${(0, String_1.pad2)(minutes)}`);
41
40
  }
42
41
  exports.offsetMinutesToZoneName = offsetMinutesToZoneName;
43
- function dtToMs(s, defaultZone) {
44
- return (0, Maybe_1.map)(ExifDateTime_1.ExifDateTime.fromExifStrict(s, defaultZone), (dt) => dt.toDate().getTime());
45
- }
46
- function utcToMs(s) {
47
- return dtToMs(s, "UTC");
48
- }
49
42
  function tzHourToOffset(n) {
50
43
  return (0, Number_1.isNumber)(n) && reasonableTzOffsetMinutes(n * 60)
51
44
  ? offsetMinutesToZoneName(n * 60)
@@ -89,27 +82,36 @@ function extractTzOffsetFromTags(t) {
89
82
  ]);
90
83
  }
91
84
  exports.extractTzOffsetFromTags = extractTzOffsetFromTags;
92
- function firstUtcMs(tags, tagNames) {
93
- return (0, Maybe_1.first)(tagNames, (tagName) => (0, Maybe_1.map)(utcToMs(tags[tagName]), (utcMs) => ({ tagName, utcMs })));
94
- }
95
85
  // timezone offsets may be on a 15 minute boundary, but if GPS acquisition is
96
86
  // old, this can be spurious. We get less mistakes with a larger multiple, so
97
87
  // we're using 30 minutes instead of 15. See
98
88
  // https://www.timeanddate.com/time/time-zones-interesting.html
99
89
  const TzBoundaryMinutes = 30;
100
- function inferLikelyOffsetMinutes(deltaMs) {
101
- return TzBoundaryMinutes * Math.floor(deltaMs / DateTime_1.MinuteMs / TzBoundaryMinutes);
90
+ function inferLikelyOffsetMinutes(deltaMinutes) {
91
+ return TzBoundaryMinutes * Math.floor(deltaMinutes / TzBoundaryMinutes);
102
92
  }
103
93
  exports.inferLikelyOffsetMinutes = inferLikelyOffsetMinutes;
104
94
  function extractTzOffsetFromUTCOffset(t) {
95
+ var _a;
105
96
  const gpsStamps = (0, Array_1.compact)([t.GPSDateStamp, t.GPSTimeStamp]);
106
- const GPSDateTimeStamp = gpsStamps.length === 2 ? gpsStamps.join(" ") : undefined;
107
- const utc = firstUtcMs({ ...t, GPSDateTimeStamp }, [
108
- "GPSDateTime",
109
- "DateTimeUTC",
110
- "GPSDateTimeStamp",
111
- ]);
112
- const dt = firstUtcMs(t, [
97
+ if (gpsStamps.length === 2) {
98
+ (_a = t.GPSDateTimeStamp) !== null && _a !== void 0 ? _a : (t.GPSDateTimeStamp = gpsStamps.join(" "));
99
+ }
100
+ // We can always assume these are in UTC:
101
+ const utc = (0, Maybe_1.first)(["GPSDateTime", "DateTimeUTC", "GPSDateTimeStamp"], (tagName) => {
102
+ const edt = ExifDateTime_1.ExifDateTime.fromExifStrict(t[tagName]);
103
+ return edt != null && (edt.zone == null || edt.zone === "UTC")
104
+ ? {
105
+ tagName,
106
+ s: edt.setZone("UTC", { keepLocalTime: true }).toEpochSeconds(),
107
+ }
108
+ : undefined;
109
+ });
110
+ if (utc == null)
111
+ return;
112
+ // If we can find any of these without a zone, the timezone should be the
113
+ // offset between this time and the GPS time.
114
+ const dt = (0, Maybe_1.first)([
113
115
  "SubSecDateTimeOriginal",
114
116
  "DateTimeOriginal",
115
117
  "SubSecCreateDate",
@@ -117,11 +119,20 @@ function extractTzOffsetFromUTCOffset(t) {
117
119
  "SubSecMediaCreateDate",
118
120
  "MediaCreateDate",
119
121
  "DateTimeCreated",
120
- ]);
121
- if (utc == null || dt == null)
122
+ ], (tagName) => {
123
+ const edt = ExifDateTime_1.ExifDateTime.fromExifStrict(t[tagName]);
124
+ return edt != null && edt.zone == null
125
+ ? {
126
+ tagName,
127
+ s: edt.setZone("UTC", { keepLocalTime: true }).toEpochSeconds(),
128
+ }
129
+ : undefined;
130
+ });
131
+ if (dt == null)
122
132
  return;
123
133
  // By flooring
124
- const offsetMinutes = inferLikelyOffsetMinutes(dt.utcMs - utc.utcMs);
134
+ const diffSeconds = dt.s - utc.s;
135
+ const offsetMinutes = inferLikelyOffsetMinutes(diffSeconds / 60);
125
136
  return (0, Maybe_1.map)(offsetMinutesToZoneName(offsetMinutes), (tz) => ({
126
137
  tz,
127
138
  src: `offset between ${dt.tagName} and ${utc.tagName}`,
@@ -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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"}
@@ -0,0 +1,13 @@
1
+ import { ExifDate } from "./ExifDate";
2
+ import { ExifDateTime } from "./ExifDateTime";
3
+ import { ResourceEvent } from "./ResourceEvent";
4
+ /**
5
+ * @see https://exiftool.org/TagNames/XMP.html#Version
6
+ */
7
+ export interface Version {
8
+ Comments?: string;
9
+ Event?: ResourceEvent;
10
+ Modifier?: string;
11
+ ModifyDate?: ExifDateTime | ExifDate | string;
12
+ Version?: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Version.js","sourceRoot":"","sources":["../src/Version.ts"],"names":[],"mappings":""}
package/dist/WriteTask.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -63,6 +67,7 @@ function enc(o) {
63
67
  : `[${o.map(enc).join(",")}]`;
64
68
  }
65
69
  else if ((0, Struct_1.isStruct)(o)) {
70
+ // See https://exiftool.org/struct.html#Serialize
66
71
  return `{${(0, Object_1.keys)(o)
67
72
  .map((k) => enc(k) + " = " + enc(o[k]))
68
73
  .join(",")}}`;
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,mCAAyC;AACzC,yCAAuD;AACvD,2DAAuD;AAEvD,iDAA6C;AAC7C,iCAAoC;AAEpC,qCAAmC;AACnC,qCAA+B;AAC/B,qCAA+C;AAC/C,qCAAmC;AACnC,+CAA2C;AAE3C,MAAM,SAAS,GAAG,oCAAoC,CAAA;AACtD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA,CAAC,iBAAiB;AAErD,wCAAwC;AACxC,sCAAsC;AACtC,MAAM,cAAc,GAAG;IACrB,UAAU;IACV,eAAe;IACf,yBAAyB;IACzB,MAAM;IACN,GAAG,GAAG,EAAE;IACR,IAAI,EAAE,oDAAoD;CAC3D,CAAA;AAED,SAAS,GAAG,CAAC,CAAM;IACjB,IAAI,CAAC,IAAI,IAAI,EAAE;QACb,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;KACjB;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,OAAO,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;KAC7B;SAAM,IAAI,IAAA,uBAAY,EAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,IAAA,uBAAY,EAAC,CAAC,CAAC,CAAA;KACvB;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,EAAE,CAAC,IAAI,IAAA,iBAAQ,EAAC,EAAE,CAAC,CAAC,CAAA;QACpE,OAAO,cAAc;YACnB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;KAChC;SAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,iDAAiD;QACjD,OAAO,IAAI,IAAA,aAAI,EAAC,CAAC,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;KAChB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;KACtD;AACH,CAAC;AAED,MAAa,SAAU,SAAQ,2BAAkB;IAC/C,YACW,UAAkB,EACT,IAAc;QAEhC,KAAK,CAAC,IAAI,CAAC,CAAA;QAHF,eAAU,GAAV,UAAU,CAAQ;QACT,SAAI,GAAJ,IAAI,CAAU;IAGlC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,QAAgB,EAChB,IAAe,EACf,eAAyB,EAAE;QAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAa,CAAC,GAAG,cAAc,CAAC,CAAA;QAE1C,4EAA4E;QAC5E,2BAA2B;QAE3B,IACE,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YACxB,IAAA,uBAAe,EAAC,YAAY,EAAE,qCAAiB,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC;YAC7C,CAAC,MAAM,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC,EAC7B;YACA,SAAS;YACT,OAAO,IAAI,yBAAW,EAAS,CAAA;SAChC;QAED,KAAK,MAAM,GAAG,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACjC;QAED,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrB,2EAA2E;QAC3E,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAEQ,QAAQ;QACf,OAAO,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;IAC7C,CAAC;IAES,KAAK,CAAC,IAAY,EAAE,KAAY;QACxC,6DAA6D;QAC7D,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,KAAK,CAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAClE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAChC,OAAM;SACP;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAA;SAC/C;IACH,CAAC;CACF;AAxDD,8BAwDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exiftool-vendored",
3
- "version": "15.12.1",
3
+ "version": "16.2.0",
4
4
  "description": "Efficient, cross-platform access to ExifTool",
5
5
  "main": "./dist/ExifTool.js",
6
6
  "types": "./dist/ExifTool.d.ts",
@@ -86,46 +86,46 @@
86
86
  "@types/globule": "^1.1.4",
87
87
  "@types/he": "^1.1.2",
88
88
  "@types/mocha": "^9.1.0",
89
- "@types/node": "^17.0.21",
89
+ "@types/node": "^17.0.23",
90
90
  "@types/progress": "^2.0.5",
91
91
  "@types/rimraf": "^3.0.2",
92
92
  "@types/tar-fs": "^2.0.1",
93
93
  "@types/tmp": "^0.2.3",
94
94
  "@types/xmldom": "^0.1.31",
95
- "@typescript-eslint/eslint-plugin": "^5.12.1",
96
- "@typescript-eslint/parser": "^5.12.1",
95
+ "@typescript-eslint/eslint-plugin": "^5.19.0",
96
+ "@typescript-eslint/parser": "^5.19.0",
97
97
  "chai": "^4.3.6",
98
98
  "chai-as-promised": "^7.1.1",
99
99
  "chai-subset": "^1.6.0",
100
- "eslint": "^8.9.0",
101
- "eslint-plugin-import": "^2.25.4",
100
+ "eslint": "^8.13.0",
101
+ "eslint-plugin-import": "^2.26.0",
102
102
  "eslint-plugin-node": "^11.1.0",
103
103
  "extract-zip": "^2.0.1",
104
104
  "fs-extra": "^10.0.1",
105
105
  "globule": "^1.3.3",
106
- "mocha": "^9.2.1",
106
+ "mocha": "^9.2.2",
107
107
  "npm-run-all": "^4.1.5",
108
- "prettier": "^2.5.1",
108
+ "prettier": "^2.6.2",
109
109
  "progress": "^2.0.3",
110
110
  "rimraf": "^3.0.2",
111
111
  "serve": "^13.0.2",
112
112
  "source-map-support": "^0.5.21",
113
113
  "tar-fs": "^2.1.1",
114
114
  "tmp": "^0.2.1",
115
- "typedoc": "^0.22.12",
116
- "typescript": "^4.5.5",
117
- "@xmldom/xmldom": "^0.8.1",
115
+ "typedoc": "^0.22.15",
116
+ "typescript": "~4.6.3",
117
+ "@xmldom/xmldom": "^0.8.2",
118
118
  "xpath": "^0.0.32"
119
119
  },
120
120
  "dependencies": {
121
- "@types/luxon": "^2.0.9",
122
- "batch-cluster": "^10.3.0",
121
+ "@types/luxon": "^2.3.1",
122
+ "batch-cluster": "^10.4.1",
123
123
  "he": "^1.2.0",
124
124
  "luxon": "^2.3.1",
125
125
  "tz-lookup": "^6.1.25"
126
126
  },
127
127
  "optionalDependencies": {
128
- "exiftool-vendored.exe": "12.40.0",
129
- "exiftool-vendored.pl": "12.40.0"
128
+ "exiftool-vendored.exe": "12.41.0",
129
+ "exiftool-vendored.pl": "12.41.0"
130
130
  }
131
131
  }