exiftool-vendored 18.4.2 → 18.5.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 +9 -0
- package/dist/AsyncRetry.js +1 -0
- package/dist/AsyncRetry.js.map +1 -1
- package/dist/ExifTool.d.ts +14 -2
- package/dist/ExifTool.js +15 -4
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolTask.d.ts +2 -0
- package/dist/ExifToolTask.js +9 -4
- package/dist/ExifToolTask.js.map +1 -1
- package/dist/IgnorableError.d.ts +10 -0
- package/dist/IgnorableError.js +18 -0
- package/dist/IgnorableError.js.map +1 -0
- package/dist/WriteTask.js +1 -1
- package/dist/WriteTask.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -25,6 +25,15 @@ vendored versions of ExifTool match the version that they vendor.
|
|
|
25
25
|
|
|
26
26
|
## Version history
|
|
27
27
|
|
|
28
|
+
### v18.5.0
|
|
29
|
+
|
|
30
|
+
- ✨ `ExifToolOptions` now supports an `ignorableError` predicate, used for characterizing errors as "ignorable". Defaults to ignoring the following styles of warnings:
|
|
31
|
+
|
|
32
|
+
- `Warning: Duplicate MakerNoteUnknown tag in ExifIFD`
|
|
33
|
+
- `Warning: ICC_Profile deleted. Image colors may be affected`
|
|
34
|
+
|
|
35
|
+
- 🐞 Only read operations are now retried. See [#119](https://github.com/photostructure/exiftool-vendored.js/issues/119#issuecomment-1299423164)
|
|
36
|
+
|
|
28
37
|
### v18.4.2
|
|
29
38
|
|
|
30
39
|
- 🐞 Date-time tags with exactly Common Epoch (`1970-01-01T00:00:00Z`) are no longer filtered as invalid. See [#118](https://github.com/photostructure/exiftool-vendored.js/issues/118) for details.
|
package/dist/AsyncRetry.js
CHANGED
package/dist/AsyncRetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncRetry.js","sourceRoot":"","sources":["../src/AsyncRetry.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAC3B,CAAuB,EACvB,UAAkB;IAElB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,CAAC,GAAqB,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,OAAO,MAAM,CAAC,EAAE,CAAA;SACjB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,OAAO,GAAG,UAAU,EAAE;gBACxB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,EAAE,CAAA;aACX;iBAAM;gBACL,MAAM,GAAG,CAAA;aACV;SACF;IACH,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAA;AACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"AsyncRetry.js","sourceRoot":"","sources":["../src/AsyncRetry.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAC3B,CAAuB,EACvB,UAAkB;IAElB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,CAAC,GAAqB,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,OAAO,MAAM,CAAC,EAAE,CAAA;SACjB;QAAC,OAAO,GAAG,EAAE;YACZ,0EAA0E;YAC1E,IAAI,OAAO,GAAG,UAAU,EAAE;gBACxB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,EAAE,CAAA;aACX;iBAAM;gBACL,MAAM,GAAG,CAAA;aACV;SACF;IACH,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAA;AACZ,CAAC;AAnBD,sCAmBC"}
|
package/dist/ExifTool.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { ExifDateTime } from "./ExifDateTime";
|
|
|
7
7
|
import { ExifToolTask } from "./ExifToolTask";
|
|
8
8
|
import { geoTz } from "./GeoTz";
|
|
9
9
|
import { ICCProfileTags } from "./ICCProfileTags";
|
|
10
|
+
import { IgnorableError } from "./IgnorableError";
|
|
10
11
|
import { Maybe } from "./Maybe";
|
|
11
12
|
import { PreviewTag } from "./PreviewTag";
|
|
12
13
|
import { ResourceEvent } from "./ResourceEvent";
|
|
@@ -18,9 +19,10 @@ export { ExifDate } from "./ExifDate";
|
|
|
18
19
|
export { ExifDateTime } from "./ExifDateTime";
|
|
19
20
|
export { ExifTime } from "./ExifTime";
|
|
20
21
|
export { ExifToolTask } from "./ExifToolTask";
|
|
22
|
+
export { isIgnorableWarning } from "./IgnorableError";
|
|
21
23
|
export { parseJSON } from "./JSON";
|
|
22
24
|
export { defaultVideosToUTC, offsetMinutesToZoneName, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, } from "./Timezones";
|
|
23
|
-
export type { AdditionalWriteTags, APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, JFIFTags, MakerNotesTags, Maybe, MetaTags, MPFTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, ResourceEvent, RIFFTags, Struct, Tags, Version, XMPTags, };
|
|
25
|
+
export type { AdditionalWriteTags, APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, ExpandedDateTags, FileTags, FlashPixTags, ICCProfileTags, IgnorableError, IPTCTags, JFIFTags, MakerNotesTags, Maybe, MetaTags, MPFTags, Omit, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, ResourceEvent, RIFFTags, Struct, Tags, Version, XMPTags, };
|
|
24
26
|
export declare const DefaultExifToolPath: string;
|
|
25
27
|
export declare const DefaultExiftoolArgs: string[];
|
|
26
28
|
/**
|
|
@@ -161,6 +163,16 @@ export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcess
|
|
|
161
163
|
* @see https://github.com/evansiroky/node-geo-tz/
|
|
162
164
|
*/
|
|
163
165
|
geoTz: typeof geoTz;
|
|
166
|
+
/**
|
|
167
|
+
* Predicate for error handling.
|
|
168
|
+
*
|
|
169
|
+
* ExifTool will emit error and warning messages for a variety of reasons.
|
|
170
|
+
*
|
|
171
|
+
* The default implementation ignores all errors that begin with "Warning:"
|
|
172
|
+
*
|
|
173
|
+
* @return true if the error should be ignored
|
|
174
|
+
*/
|
|
175
|
+
isIgnorableError: IgnorableError;
|
|
164
176
|
}
|
|
165
177
|
declare type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
166
178
|
/**
|
|
@@ -336,7 +348,7 @@ export declare class ExifTool {
|
|
|
336
348
|
*
|
|
337
349
|
* @see BinaryExtractionTask for an example task implementation
|
|
338
350
|
*/
|
|
339
|
-
enqueueTask<T>(task: () => ExifToolTask<T> | Promise<ExifToolTask<T
|
|
351
|
+
enqueueTask<T>(task: () => ExifToolTask<T> | Promise<ExifToolTask<T>>, retriable?: boolean): Promise<T>;
|
|
340
352
|
/**
|
|
341
353
|
* @return the currently running ExifTool processes. Note that on Windows,
|
|
342
354
|
* these are only the process IDs of the directly-spawned ExifTool wrapper,
|
package/dist/ExifTool.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.parseJSON = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.BinaryField = void 0;
|
|
29
|
+
exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.parseJSON = exports.isIgnorableWarning = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.BinaryField = void 0;
|
|
30
30
|
const bc = __importStar(require("batch-cluster"));
|
|
31
31
|
const _cp = __importStar(require("child_process"));
|
|
32
32
|
const _fs = __importStar(require("fs"));
|
|
@@ -38,6 +38,7 @@ const BinaryExtractionTask_1 = require("./BinaryExtractionTask");
|
|
|
38
38
|
const BinaryToBufferTask_1 = require("./BinaryToBufferTask");
|
|
39
39
|
const DeleteAllTagsArgs_1 = require("./DeleteAllTagsArgs");
|
|
40
40
|
const GeoTz_1 = require("./GeoTz");
|
|
41
|
+
const IgnorableError_1 = require("./IgnorableError");
|
|
41
42
|
const Lazy_1 = require("./Lazy");
|
|
42
43
|
const ReadRawTask_1 = require("./ReadRawTask");
|
|
43
44
|
const ReadTask_1 = require("./ReadTask");
|
|
@@ -55,6 +56,8 @@ var ExifTime_1 = require("./ExifTime");
|
|
|
55
56
|
Object.defineProperty(exports, "ExifTime", { enumerable: true, get: function () { return ExifTime_1.ExifTime; } });
|
|
56
57
|
var ExifToolTask_1 = require("./ExifToolTask");
|
|
57
58
|
Object.defineProperty(exports, "ExifToolTask", { enumerable: true, get: function () { return ExifToolTask_1.ExifToolTask; } });
|
|
59
|
+
var IgnorableError_2 = require("./IgnorableError");
|
|
60
|
+
Object.defineProperty(exports, "isIgnorableWarning", { enumerable: true, get: function () { return IgnorableError_2.isIgnorableWarning; } });
|
|
58
61
|
var JSON_1 = require("./JSON");
|
|
59
62
|
Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } });
|
|
60
63
|
var Timezones_1 = require("./Timezones");
|
|
@@ -123,6 +126,7 @@ exports.DefaultExifToolOptions = Object.freeze({
|
|
|
123
126
|
],
|
|
124
127
|
defaultVideosToUTC: true,
|
|
125
128
|
geoTz: GeoTz_1.geoTz,
|
|
129
|
+
isIgnorableError: IgnorableError_1.isIgnorableWarning,
|
|
126
130
|
});
|
|
127
131
|
/**
|
|
128
132
|
* Manages delegating calls to a vendored running instance of ExifTool.
|
|
@@ -240,7 +244,8 @@ class ExifTool {
|
|
|
240
244
|
* @memberof ExifTool
|
|
241
245
|
*/
|
|
242
246
|
write(file, tags, args) {
|
|
243
|
-
|
|
247
|
+
const retriable = false;
|
|
248
|
+
return this.enqueueTask(() => WriteTask_1.WriteTask.for(file, tags, args), retriable);
|
|
244
249
|
}
|
|
245
250
|
/**
|
|
246
251
|
* This will strip `file` of all metadata tags. The original file (with the
|
|
@@ -369,8 +374,14 @@ class ExifTool {
|
|
|
369
374
|
*
|
|
370
375
|
* @see BinaryExtractionTask for an example task implementation
|
|
371
376
|
*/
|
|
372
|
-
enqueueTask(task) {
|
|
373
|
-
|
|
377
|
+
enqueueTask(task, retriable = true) {
|
|
378
|
+
const f = async () => {
|
|
379
|
+
const t = await task();
|
|
380
|
+
// if we have to add more options for every task, rethink this approach:
|
|
381
|
+
t.isIgnorableError = this.options.isIgnorableError;
|
|
382
|
+
return this.batchCluster.enqueueTask(t);
|
|
383
|
+
};
|
|
384
|
+
return retriable ? (0, AsyncRetry_1.retryOnReject)(f, this.options.taskRetries) : f();
|
|
374
385
|
}
|
|
375
386
|
/**
|
|
376
387
|
* @return the currently running ExifTool processes. Note that on Windows,
|
package/dist/ExifTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,mDAAoC;AACpC,wCAAyB;AACzB,wCAAyB;AACzB,4CAA6B;AAC7B,sDAA6B;AAE7B,6CAA4C;AAC5C,iEAA6D;AAC7D,6DAAyD;AACzD,2DAAuD;AAIvD,mCAA+B;AAE/B,iCAA6B;AAG7B,+CAA2C;AAC3C,yCAAqC;AAErC,6DAAyD;AACzD,qCAA0C;AA6B1C,+CAA2C;AAC3C,2CAAuC;AAEvC,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,+BAAkC;AAAzB,iGAAA,SAAS,OAAA;AAClB,yCAMoB;AALlB,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,sGAAA,SAAS,OAAA;AACT,0GAAA,aAAa,OAAA;AACb,mHAAA,sBAAsB,OAAA;
|
|
1
|
+
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
package/dist/ExifToolTask.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as bc from "batch-cluster";
|
|
2
|
+
import { isIgnorableWarning } from "./IgnorableError";
|
|
2
3
|
export declare abstract class ExifToolTask<T> extends bc.Task<T> {
|
|
3
4
|
readonly args: string[];
|
|
5
|
+
isIgnorableError: typeof isIgnorableWarning;
|
|
4
6
|
static renderCommand(args: string[]): string;
|
|
5
7
|
readonly errors: string[];
|
|
6
8
|
constructor(args: string[]);
|
package/dist/ExifToolTask.js
CHANGED
|
@@ -25,18 +25,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.ExifToolTask = void 0;
|
|
27
27
|
const bc = __importStar(require("batch-cluster"));
|
|
28
|
+
const IgnorableError_1 = require("./IgnorableError");
|
|
28
29
|
const String_1 = require("./String");
|
|
29
30
|
class ExifToolTask extends bc.Task {
|
|
30
31
|
constructor(args) {
|
|
31
32
|
super(ExifToolTask.renderCommand(args), (stdout, stderr, passed) => {
|
|
32
|
-
let
|
|
33
|
+
let error;
|
|
33
34
|
if ((0, String_1.notBlank)(stderr) || !passed) {
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
const errMsg = (stderr !== null && stderr !== void 0 ? stderr : stdout).trim().replace(/error(:\s*|\b)/i, "");
|
|
36
|
+
if (!this.isIgnorableError(errMsg)) {
|
|
37
|
+
this.errors.push(errMsg);
|
|
38
|
+
error = new Error(errMsg);
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
|
-
return this.parse(stdout,
|
|
41
|
+
return this.parse(stdout, error);
|
|
38
42
|
});
|
|
39
43
|
this.args = args;
|
|
44
|
+
this.isIgnorableError = IgnorableError_1.isIgnorableWarning;
|
|
40
45
|
this.errors = [];
|
|
41
46
|
}
|
|
42
47
|
static renderCommand(args) {
|
package/dist/ExifToolTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"ExifToolTask.js","sourceRoot":"","sources":["../src/ExifToolTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AACnC,qDAAqD;AAErD,qCAAmC;AAEnC,MAAsB,YAAgB,SAAQ,EAAE,CAAC,IAAO;IAStD,YAAqB,IAAc;QACjC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACjE,IAAI,KAAmB,CAAA;YACvB,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;gBACvE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACxB,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;iBAC1B;aACF;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAXiB,SAAI,GAAJ,IAAI,CAAU;QARnC,qBAAgB,GAAG,mCAAkB,CAAA;QAM5B,WAAM,GAAa,EAAE,CAAA;IAc9B,CAAC;IAlBD,MAAM,CAAC,aAAa,CAAC,IAAc;QACjC,OAAO,CAAC,GAAG,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;IAoBD,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;CACF;AA5BD,oCA4BC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Maybe } from "./Maybe";
|
|
2
|
+
export interface IgnorableError {
|
|
3
|
+
(err: Maybe<Error | string>): boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* This is the default implementation of IgnorableError, and ignores null,
|
|
7
|
+
* undefined, errors without a message, warnings about duplicate tags, and
|
|
8
|
+
* ICC_Profile deletions.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isIgnorableWarning(err: Maybe<Error | string>): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isIgnorableWarning = void 0;
|
|
4
|
+
const String_1 = require("./String");
|
|
5
|
+
// Warning: Duplicate MakerNoteUnknown tag in ExifIFD
|
|
6
|
+
// Warning: ICC_Profile deleted. Image colors may be affected
|
|
7
|
+
const WarningRE = /^Warning: (?:Duplicate|ICC_Profile deleted)/i;
|
|
8
|
+
/**
|
|
9
|
+
* This is the default implementation of IgnorableError, and ignores null,
|
|
10
|
+
* undefined, errors without a message, warnings about duplicate tags, and
|
|
11
|
+
* ICC_Profile deletions.
|
|
12
|
+
*/
|
|
13
|
+
function isIgnorableWarning(err) {
|
|
14
|
+
const msg = (err instanceof Error ? err.message : (0, String_1.toS)(err)).trim();
|
|
15
|
+
return (0, String_1.blank)(msg) || null != WarningRE.exec(msg);
|
|
16
|
+
}
|
|
17
|
+
exports.isIgnorableWarning = isIgnorableWarning;
|
|
18
|
+
//# sourceMappingURL=IgnorableError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IgnorableError.js","sourceRoot":"","sources":["../src/IgnorableError.ts"],"names":[],"mappings":";;;AACA,qCAAqC;AAMrC,qDAAqD;AACrD,6DAA6D;AAE7D,MAAM,SAAS,GAAG,8CAA8C,CAAA;AAChE;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,GAA0B;IAC3D,MAAM,GAAG,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAClE,OAAO,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAHD,gDAGC"}
|
package/dist/WriteTask.js
CHANGED
|
@@ -36,7 +36,7 @@ const Object_1 = require("./Object");
|
|
|
36
36
|
const String_1 = require("./String");
|
|
37
37
|
const Struct_1 = require("./Struct");
|
|
38
38
|
const VersionTask_1 = require("./VersionTask");
|
|
39
|
-
const successRE = /1 image files? (?:created|updated)
|
|
39
|
+
const successRE = /1 image files? (?:created|updated)/i;
|
|
40
40
|
const sep = String.fromCharCode(31); // unit separator
|
|
41
41
|
// See https://exiftool.org/faq.html#Q10
|
|
42
42
|
// (`-charset utf8` is set by default)
|
package/dist/WriteTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,4CAA6B;AAC7B,mCAAyC;AACzC,yCAAuD;AACvD,2DAAuD;AAEvD,iDAA6C;AAC7C,iCAAoC;AAEpC,qCAAmC;AACnC,qCAA+B;AAC/B,qCAAmC;AACnC,qCAAmC;AACnC,+CAA2C;AAE3C,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"WriteTask.js","sourceRoot":"","sources":["../src/WriteTask.ts"],"names":[],"mappings":"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"}
|