exiftool-vendored 30.2.0 → 30.3.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 +24 -7
- package/CLAUDE.md +2 -1
- package/README.md +160 -453
- package/RELEASE.md +1 -2
- package/dist/DefaultExifToolOptions.js +2 -0
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/ExifTool.d.ts +71 -28
- package/dist/ExifTool.js +109 -11
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +14 -0
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/StrEnum.d.ts +1 -1
- package/dist/StrEnum.js +2 -4
- package/dist/StrEnum.js.map +1 -1
- package/dist/Tags.d.ts +12512 -2512
- package/dist/Tags.js +3 -3
- package/dist/Tags.js.map +1 -1
- package/dist/WriteTags.d.ts +3 -4
- package/package.json +25 -18
package/RELEASE.md
CHANGED
|
@@ -20,9 +20,8 @@ A GitHub Actions workflow automatically checks for dependency updates (including
|
|
|
20
20
|
|
|
21
21
|
1. `git clone` this repo,
|
|
22
22
|
1. `npm install`
|
|
23
|
-
1. `npm run u` # should be a no-op if automated updates are working
|
|
24
23
|
1. `npm run mktags ../test-images` # < assumes `../test-images` has the full ExifTool sample image suite
|
|
25
|
-
1. `npm run
|
|
24
|
+
1. `npm run precommit` (look for lint or documentation generation issues)
|
|
26
25
|
1. `npm run test`
|
|
27
26
|
1. Verify diffs are reasonable, `git commit` and `git push`
|
|
28
27
|
1. Verify [](https://github.com/photostructure/exiftool-vendored.js/actions/workflows/node.js.yml)
|
|
@@ -123,6 +123,8 @@ exports.DefaultExifToolOptions = Object.freeze({
|
|
|
123
123
|
adjustTimeZoneIfDaylightSavings: defaultAdjustTimeZoneIfDaylightSavings,
|
|
124
124
|
preferTimezoneInferenceFromGps: false, // to retain prior behavior
|
|
125
125
|
keepUTCTime: true,
|
|
126
|
+
disposalTimeoutMs: 1000,
|
|
127
|
+
asyncDisposalTimeoutMs: 5000,
|
|
126
128
|
});
|
|
127
129
|
/**
|
|
128
130
|
* @see https://github.com/photostructure/exiftool-vendored.js/issues/215
|
|
@@ -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":"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"}
|
package/dist/ExifTool.d.ts
CHANGED
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
import * as bc from "batch-cluster";
|
|
2
2
|
import { BinaryExtractionTaskOptions } from "./BinaryExtractionTask";
|
|
3
|
-
import { ContainerDirectoryItem } from "./ContainerDirectoryItem";
|
|
4
|
-
import { Defined, DefinedOrNullValued } from "./Defined";
|
|
5
|
-
import { ErrorsAndWarnings } from "./ErrorsAndWarnings";
|
|
6
3
|
import { ExifToolOptions } from "./ExifToolOptions";
|
|
7
4
|
import { ExifToolTask, ExifToolTaskOptions } from "./ExifToolTask";
|
|
8
|
-
import { ExifToolVendoredTags } from "./ExifToolVendoredTags";
|
|
9
|
-
import { GeolocationTags } from "./GeolocationTags";
|
|
10
|
-
import { ICCProfileTags } from "./ICCProfileTags";
|
|
11
|
-
import { IPTCApplicationRecordTags } from "./IPTCApplicationRecordTags";
|
|
12
|
-
import { ImageDataHashTag } from "./ImageDataHashTag";
|
|
13
|
-
import { Json, Literal } from "./JSON";
|
|
14
|
-
import { CollectionInfo, KeywordInfoStruct, KeywordStruct, MWGCollectionsTags, MWGKeywordTags } from "./MWGTags";
|
|
15
|
-
import { Maybe } from "./Maybe";
|
|
16
|
-
import { Omit } from "./Omit";
|
|
17
5
|
import { PreviewTag } from "./PreviewTag";
|
|
18
6
|
import { RawTags } from "./RawTags";
|
|
19
7
|
import { ReadTaskOptions } from "./ReadTask";
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { Struct } from "./Struct";
|
|
23
|
-
import { APPTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, Tags, XMPTags } from "./Tags";
|
|
24
|
-
import { Version } from "./Version";
|
|
25
|
-
import { AdditionalWriteTags, ExpandedDateTags, MutableTags, StructAppendTags, WritableGPSRefs, WriteTags } from "./WriteTags";
|
|
8
|
+
import { Tags } from "./Tags";
|
|
9
|
+
import { WriteTags } from "./WriteTags";
|
|
26
10
|
import { WriteTaskOptions, WriteTaskResult } from "./WriteTask";
|
|
11
|
+
export { retryOnReject } from "./AsyncRetry";
|
|
27
12
|
export { BinaryField } from "./BinaryField";
|
|
28
13
|
export { CapturedAtTagNames } from "./CapturedAtTagNames";
|
|
29
14
|
export { DefaultExifToolOptions } from "./DefaultExifToolOptions";
|
|
@@ -38,9 +23,34 @@ export { exiftoolPath } from "./ExiftoolPath";
|
|
|
38
23
|
export { GeolocationTagNames, isGeolocationTag } from "./GeolocationTags";
|
|
39
24
|
export { parseJSON } from "./JSON";
|
|
40
25
|
export { DefaultReadTaskOptions } from "./ReadTask";
|
|
41
|
-
export {
|
|
26
|
+
export { strEnum } from "./StrEnum";
|
|
27
|
+
export type { StrEnum, StrEnumHelpers, StrEnumKeys, StrEnumType, } from "./StrEnum";
|
|
28
|
+
export { defaultVideosToUTC, offsetMinutesToZoneName, TimezoneOffsetTagnames, UnsetZone, UnsetZoneName, UnsetZoneOffsetMinutes, } from "./Timezones";
|
|
42
29
|
export { DefaultWriteTaskOptions, WriteTaskOptionFields } from "./WriteTask";
|
|
43
|
-
export type {
|
|
30
|
+
export type { BinaryExtractionTaskOptions } from "./BinaryExtractionTask";
|
|
31
|
+
export type { ContainerDirectoryItem } from "./ContainerDirectoryItem";
|
|
32
|
+
export type { Defined, DefinedOrNullValued } from "./Defined";
|
|
33
|
+
export type { ErrorsAndWarnings } from "./ErrorsAndWarnings";
|
|
34
|
+
export type { ExifToolOptions } from "./ExifToolOptions";
|
|
35
|
+
export type { ExifToolTaskOptions } from "./ExifToolTask";
|
|
36
|
+
export type { ExifToolVendoredTags } from "./ExifToolVendoredTags";
|
|
37
|
+
export type { GeolocationTags } from "./GeolocationTags";
|
|
38
|
+
export type { ICCProfileTags } from "./ICCProfileTags";
|
|
39
|
+
export type { IPTCApplicationRecordTags as ApplicationRecordTags, IPTCApplicationRecordTags, } from "./IPTCApplicationRecordTags";
|
|
40
|
+
export type { ImageDataHashTag } from "./ImageDataHashTag";
|
|
41
|
+
export type { Json, Literal } from "./JSON";
|
|
42
|
+
export type { CollectionInfo, KeywordInfoStruct, KeywordStruct, MWGCollectionsTags, MWGKeywordTags, } from "./MWGTags";
|
|
43
|
+
export type { Maybe, Nullable } from "./Maybe";
|
|
44
|
+
export type { Omit } from "./Omit";
|
|
45
|
+
export type { RawTags } from "./RawTags";
|
|
46
|
+
export type { ReadTaskOptions } from "./ReadTask";
|
|
47
|
+
export type { ResourceEvent } from "./ResourceEvent";
|
|
48
|
+
export type { ShortcutTags } from "./ShortcutTags";
|
|
49
|
+
export type { Struct } from "./Struct";
|
|
50
|
+
export type { APPTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, IPTCTags, JFIFTags, MakerNotesTags, MetaTags, MPFTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, Tags, XMPTags, } from "./Tags";
|
|
51
|
+
export type { Version } from "./Version";
|
|
52
|
+
export type { AdditionalWriteTags, EXIFStrictDateTags, ExpandedDateTags, GroupPrefixedTags, MutableTags, StructAppendTags, WritableGPSRefs, WriteTags, XMPPartialDateTags, } from "./WriteTags";
|
|
53
|
+
export type { WriteTaskOptions, WriteTaskResult } from "./WriteTask";
|
|
44
54
|
/**
|
|
45
55
|
* Manages delegating calls to a cluster of ExifTool child processes.
|
|
46
56
|
*
|
|
@@ -321,20 +331,53 @@ export declare class ExifTool {
|
|
|
321
331
|
* be started automatically to handle new tasks.
|
|
322
332
|
*/
|
|
323
333
|
closeChildProcesses(gracefully?: boolean): Promise<void>;
|
|
334
|
+
/**
|
|
335
|
+
* Implements the Disposable interface for automatic cleanup with the `using` keyword.
|
|
336
|
+
* This allows ExifTool instances to be automatically cleaned up when they go out of scope.
|
|
337
|
+
*
|
|
338
|
+
* Note: This is a synchronous disposal method that initiates graceful cleanup but doesn't
|
|
339
|
+
* wait for completion. If graceful cleanup times out, forceful cleanup is attempted.
|
|
340
|
+
* For guaranteed cleanup completion, use `await using` with the async disposal method instead.
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```typescript
|
|
344
|
+
* {
|
|
345
|
+
* using et = new ExifTool();
|
|
346
|
+
* const tags = await et.read("photo.jpg");
|
|
347
|
+
* // ExifTool cleanup will be initiated when this block exits
|
|
348
|
+
* }
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
351
|
+
[Symbol.dispose](): void;
|
|
352
|
+
/**
|
|
353
|
+
* Implements the AsyncDisposable interface for automatic async cleanup with the `await using` keyword.
|
|
354
|
+
* This allows ExifTool instances to be automatically cleaned up when they go out of scope.
|
|
355
|
+
*
|
|
356
|
+
* This method provides robust cleanup with timeout protection to prevent hanging.
|
|
357
|
+
* If graceful cleanup times out, forceful cleanup is attempted automatically.
|
|
358
|
+
*
|
|
359
|
+
* @example
|
|
360
|
+
* ```typescript
|
|
361
|
+
* {
|
|
362
|
+
* await using et = new ExifTool();
|
|
363
|
+
* const tags = await et.read("photo.jpg");
|
|
364
|
+
* // ExifTool will be automatically ended when this block exits
|
|
365
|
+
* }
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
324
369
|
}
|
|
325
370
|
/**
|
|
326
|
-
*
|
|
327
|
-
* in order to leverage a single running ExifTool process.
|
|
371
|
+
* This is a convenience singleton.
|
|
328
372
|
*
|
|
329
|
-
* As of v3.0, its {@link ExifToolOptions.maxProcs} is set to the number of
|
|
373
|
+
* As of v3.0, its {@link ExifToolOptions.maxProcs} is set to 1/4 the number of
|
|
330
374
|
* CPUs on the current system; no more than `maxProcs` instances of `exiftool`
|
|
331
|
-
* will be spawned. You may want to experiment with smaller or larger values
|
|
332
|
-
*
|
|
333
|
-
*
|
|
375
|
+
* will be spawned. You may want to experiment with smaller or larger values for
|
|
376
|
+
* `maxProcs`, depending on CPU and disk speed of your system and performance
|
|
377
|
+
* tradeoffs.
|
|
334
378
|
*
|
|
335
379
|
* Note that each child process consumes between 10 and 50 MB of RAM. If you
|
|
336
|
-
* have limited system resources you may want to use a smaller `maxProcs`
|
|
337
|
-
* value.
|
|
380
|
+
* have limited system resources you may want to use a smaller `maxProcs` value.
|
|
338
381
|
*
|
|
339
382
|
* See the source of {@link DefaultExifToolOptions} for more details about how
|
|
340
383
|
* this instance is configured.
|
package/dist/ExifTool.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.exiftool = exports.ExifTool = exports.WriteTaskOptionFields = exports.DefaultWriteTaskOptions = exports.
|
|
39
|
+
exports.exiftool = exports.ExifTool = exports.WriteTaskOptionFields = exports.DefaultWriteTaskOptions = exports.UnsetZoneOffsetMinutes = exports.UnsetZoneName = exports.UnsetZone = exports.TimezoneOffsetTagnames = exports.offsetMinutesToZoneName = exports.defaultVideosToUTC = exports.strEnum = exports.DefaultReadTaskOptions = exports.parseJSON = exports.isGeolocationTag = exports.GeolocationTagNames = exports.exiftoolPath = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolOptions = exports.CapturedAtTagNames = exports.BinaryField = exports.retryOnReject = void 0;
|
|
40
40
|
const bc = __importStar(require("batch-cluster"));
|
|
41
41
|
const _cp = __importStar(require("node:child_process"));
|
|
42
42
|
const _fs = __importStar(require("node:fs"));
|
|
@@ -60,6 +60,8 @@ const String_1 = require("./String");
|
|
|
60
60
|
const VersionTask_1 = require("./VersionTask");
|
|
61
61
|
const Which_1 = require("./Which");
|
|
62
62
|
const WriteTask_1 = require("./WriteTask");
|
|
63
|
+
var AsyncRetry_2 = require("./AsyncRetry");
|
|
64
|
+
Object.defineProperty(exports, "retryOnReject", { enumerable: true, get: function () { return AsyncRetry_2.retryOnReject; } });
|
|
63
65
|
var BinaryField_1 = require("./BinaryField");
|
|
64
66
|
Object.defineProperty(exports, "BinaryField", { enumerable: true, get: function () { return BinaryField_1.BinaryField; } });
|
|
65
67
|
var CapturedAtTagNames_1 = require("./CapturedAtTagNames");
|
|
@@ -87,13 +89,15 @@ var JSON_1 = require("./JSON");
|
|
|
87
89
|
Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } });
|
|
88
90
|
var ReadTask_2 = require("./ReadTask");
|
|
89
91
|
Object.defineProperty(exports, "DefaultReadTaskOptions", { enumerable: true, get: function () { return ReadTask_2.DefaultReadTaskOptions; } });
|
|
92
|
+
var StrEnum_1 = require("./StrEnum");
|
|
93
|
+
Object.defineProperty(exports, "strEnum", { enumerable: true, get: function () { return StrEnum_1.strEnum; } });
|
|
90
94
|
var Timezones_1 = require("./Timezones");
|
|
95
|
+
Object.defineProperty(exports, "defaultVideosToUTC", { enumerable: true, get: function () { return Timezones_1.defaultVideosToUTC; } });
|
|
96
|
+
Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } });
|
|
91
97
|
Object.defineProperty(exports, "TimezoneOffsetTagnames", { enumerable: true, get: function () { return Timezones_1.TimezoneOffsetTagnames; } });
|
|
92
98
|
Object.defineProperty(exports, "UnsetZone", { enumerable: true, get: function () { return Timezones_1.UnsetZone; } });
|
|
93
99
|
Object.defineProperty(exports, "UnsetZoneName", { enumerable: true, get: function () { return Timezones_1.UnsetZoneName; } });
|
|
94
100
|
Object.defineProperty(exports, "UnsetZoneOffsetMinutes", { enumerable: true, get: function () { return Timezones_1.UnsetZoneOffsetMinutes; } });
|
|
95
|
-
Object.defineProperty(exports, "defaultVideosToUTC", { enumerable: true, get: function () { return Timezones_1.defaultVideosToUTC; } });
|
|
96
|
-
Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } });
|
|
97
101
|
var WriteTask_2 = require("./WriteTask");
|
|
98
102
|
Object.defineProperty(exports, "DefaultWriteTaskOptions", { enumerable: true, get: function () { return WriteTask_2.DefaultWriteTaskOptions; } });
|
|
99
103
|
Object.defineProperty(exports, "WriteTaskOptionFields", { enumerable: true, get: function () { return WriteTask_2.WriteTaskOptionFields; } });
|
|
@@ -477,21 +481,115 @@ class ExifTool {
|
|
|
477
481
|
closeChildProcesses(gracefully = true) {
|
|
478
482
|
return this.batchCluster.closeChildProcesses(gracefully);
|
|
479
483
|
}
|
|
484
|
+
/**
|
|
485
|
+
* Implements the Disposable interface for automatic cleanup with the `using` keyword.
|
|
486
|
+
* This allows ExifTool instances to be automatically cleaned up when they go out of scope.
|
|
487
|
+
*
|
|
488
|
+
* Note: This is a synchronous disposal method that initiates graceful cleanup but doesn't
|
|
489
|
+
* wait for completion. If graceful cleanup times out, forceful cleanup is attempted.
|
|
490
|
+
* For guaranteed cleanup completion, use `await using` with the async disposal method instead.
|
|
491
|
+
*
|
|
492
|
+
* @example
|
|
493
|
+
* ```typescript
|
|
494
|
+
* {
|
|
495
|
+
* using et = new ExifTool();
|
|
496
|
+
* const tags = await et.read("photo.jpg");
|
|
497
|
+
* // ExifTool cleanup will be initiated when this block exits
|
|
498
|
+
* }
|
|
499
|
+
* ```
|
|
500
|
+
*/
|
|
501
|
+
[Symbol.dispose]() {
|
|
502
|
+
if (!this.ended) {
|
|
503
|
+
// Start with graceful cleanup, but use timeout for safety since this is sync disposal
|
|
504
|
+
const cleanup = this.end(true);
|
|
505
|
+
// Set up a timeout to force process exit if graceful cleanup hangs
|
|
506
|
+
// This is necessary because synchronous disposal can't wait for async operations
|
|
507
|
+
const timeoutMs = this.options.disposalTimeoutMs ?? 1000;
|
|
508
|
+
const timeoutHandle = setTimeout(() => {
|
|
509
|
+
const logger = this.options.logger();
|
|
510
|
+
logger.error(`ExifTool synchronous disposal timeout after ${timeoutMs}ms, forcing cleanup`);
|
|
511
|
+
// Force immediate termination of child processes if they exist
|
|
512
|
+
try {
|
|
513
|
+
this.batchCluster.closeChildProcesses(false);
|
|
514
|
+
}
|
|
515
|
+
catch (err) {
|
|
516
|
+
logger.error("Error during forced child process cleanup during sync disposal:", err);
|
|
517
|
+
}
|
|
518
|
+
}, timeoutMs);
|
|
519
|
+
cleanup
|
|
520
|
+
.then(() => {
|
|
521
|
+
clearTimeout(timeoutHandle);
|
|
522
|
+
})
|
|
523
|
+
.catch((err) => {
|
|
524
|
+
clearTimeout(timeoutHandle);
|
|
525
|
+
// Log error but don't throw, as disposal should not fail
|
|
526
|
+
const logger = this.options.logger();
|
|
527
|
+
logger.error("ExifTool synchronous disposal error:", err);
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Implements the AsyncDisposable interface for automatic async cleanup with the `await using` keyword.
|
|
533
|
+
* This allows ExifTool instances to be automatically cleaned up when they go out of scope.
|
|
534
|
+
*
|
|
535
|
+
* This method provides robust cleanup with timeout protection to prevent hanging.
|
|
536
|
+
* If graceful cleanup times out, forceful cleanup is attempted automatically.
|
|
537
|
+
*
|
|
538
|
+
* @example
|
|
539
|
+
* ```typescript
|
|
540
|
+
* {
|
|
541
|
+
* await using et = new ExifTool();
|
|
542
|
+
* const tags = await et.read("photo.jpg");
|
|
543
|
+
* // ExifTool will be automatically ended when this block exits
|
|
544
|
+
* }
|
|
545
|
+
* ```
|
|
546
|
+
*/
|
|
547
|
+
async [Symbol.asyncDispose]() {
|
|
548
|
+
if (!this.ended) {
|
|
549
|
+
// Set up a timeout to prevent hanging indefinitely during async disposal
|
|
550
|
+
const timeoutMs = this.options.asyncDisposalTimeoutMs ?? 5000;
|
|
551
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
552
|
+
setTimeout(() => {
|
|
553
|
+
reject(new Error(`ExifTool async disposal timeout after ${timeoutMs}ms`));
|
|
554
|
+
}, timeoutMs);
|
|
555
|
+
});
|
|
556
|
+
try {
|
|
557
|
+
// Race between graceful cleanup and timeout
|
|
558
|
+
await Promise.race([this.end(true), timeoutPromise]);
|
|
559
|
+
}
|
|
560
|
+
catch (err) {
|
|
561
|
+
const logger = this.options.logger();
|
|
562
|
+
if (err instanceof Error && err.message.includes("timeout")) {
|
|
563
|
+
logger.error(`ExifTool async disposal timed out after ${timeoutMs}ms, attempting forceful cleanup`);
|
|
564
|
+
// Attempt forceful cleanup on timeout
|
|
565
|
+
try {
|
|
566
|
+
await this.end(false);
|
|
567
|
+
}
|
|
568
|
+
catch (forcefulErr) {
|
|
569
|
+
logger.error("ExifTool forceful cleanup during async disposal also failed:", forcefulErr);
|
|
570
|
+
throw err; // Re-throw the original timeout error
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
logger.error("ExifTool async disposal error:", err);
|
|
575
|
+
throw err;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
480
580
|
}
|
|
481
581
|
exports.ExifTool = ExifTool;
|
|
482
582
|
/**
|
|
483
|
-
*
|
|
484
|
-
* in order to leverage a single running ExifTool process.
|
|
583
|
+
* This is a convenience singleton.
|
|
485
584
|
*
|
|
486
|
-
* As of v3.0, its {@link ExifToolOptions.maxProcs} is set to the number of
|
|
585
|
+
* As of v3.0, its {@link ExifToolOptions.maxProcs} is set to 1/4 the number of
|
|
487
586
|
* CPUs on the current system; no more than `maxProcs` instances of `exiftool`
|
|
488
|
-
* will be spawned. You may want to experiment with smaller or larger values
|
|
489
|
-
*
|
|
490
|
-
*
|
|
587
|
+
* will be spawned. You may want to experiment with smaller or larger values for
|
|
588
|
+
* `maxProcs`, depending on CPU and disk speed of your system and performance
|
|
589
|
+
* tradeoffs.
|
|
491
590
|
*
|
|
492
591
|
* Note that each child process consumes between 10 and 50 MB of RAM. If you
|
|
493
|
-
* have limited system resources you may want to use a smaller `maxProcs`
|
|
494
|
-
* value.
|
|
592
|
+
* have limited system resources you may want to use a smaller `maxProcs` value.
|
|
495
593
|
*
|
|
496
594
|
* See the source of {@link DefaultExifToolOptions} for more details about how
|
|
497
595
|
* this instance is configured.
|
package/dist/ExifTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExifTool.js","sourceRoot":"","sources":["../src/ExifTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -312,5 +312,19 @@ export interface ExifToolOptions extends bc.BatchClusterOptions, bc.BatchProcess
|
|
|
312
312
|
* @see https://exiftool.org/ExifTool.html#KeepUTCTime
|
|
313
313
|
*/
|
|
314
314
|
keepUTCTime: boolean;
|
|
315
|
+
/**
|
|
316
|
+
* Timeout in milliseconds for synchronous disposal (using Symbol.dispose).
|
|
317
|
+
* If graceful cleanup takes longer than this, forceful cleanup is attempted.
|
|
318
|
+
*
|
|
319
|
+
* Defaults to 1000ms (1 second).
|
|
320
|
+
*/
|
|
321
|
+
disposalTimeoutMs?: number;
|
|
322
|
+
/**
|
|
323
|
+
* Timeout in milliseconds for asynchronous disposal (using Symbol.asyncDispose).
|
|
324
|
+
* If graceful cleanup takes longer than this, forceful cleanup is attempted.
|
|
325
|
+
*
|
|
326
|
+
* Defaults to 5000ms (5 seconds).
|
|
327
|
+
*/
|
|
328
|
+
asyncDisposalTimeoutMs?: number;
|
|
315
329
|
}
|
|
316
330
|
export declare function handleDeprecatedOptions<T extends Partial<Pick<ExifToolOptions, "includeImageDataMD5" | "imageHashType">>>(options: T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExifToolOptions.js","sourceRoot":"","sources":["../src/ExifToolOptions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ExifToolOptions.js","sourceRoot":"","sources":["../src/ExifToolOptions.ts"],"names":[],"mappings":";;AAiXA,0DASC;AATD,SAAgB,uBAAuB,CAIrC,OAAU;IACV,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;QACzE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/StrEnum.d.ts
CHANGED
package/dist/StrEnum.js
CHANGED
|
@@ -2,16 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Directions = void 0;
|
|
4
4
|
exports.strEnum = strEnum;
|
|
5
|
-
const Array_1 = require("./Array");
|
|
6
|
-
const Object_1 = require("./Object");
|
|
7
5
|
function lessThan(a, b) {
|
|
8
6
|
return a == null || b == null ? false : a < b;
|
|
9
7
|
}
|
|
10
8
|
function strEnum(...o) {
|
|
11
|
-
const values = Object.freeze(
|
|
9
|
+
const values = Object.freeze([...new Set(o)]);
|
|
12
10
|
// toLowerCase() is safe because we know all strEnum values are latin ASCII:
|
|
13
11
|
const lcToValue = new Map(values.map((ea) => [ea.toLowerCase(), ea]));
|
|
14
|
-
const valueToIndex =
|
|
12
|
+
const valueToIndex = Object.fromEntries(values.map((ea, idx) => [ea, idx]));
|
|
15
13
|
const dict = {};
|
|
16
14
|
for (const ea of values) {
|
|
17
15
|
dict[ea] = ea;
|
package/dist/StrEnum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StrEnum.js","sourceRoot":"","sources":["../src/StrEnum.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"StrEnum.js","sourceRoot":"","sources":["../src/StrEnum.ts"],"names":[],"mappings":"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"}
|