exiftool-vendored 22.0.0 → 22.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +17 -3
  2. package/README.md +0 -9
  3. package/dist/Array.d.ts +13 -2
  4. package/dist/Array.js +58 -7
  5. package/dist/Array.js.map +1 -1
  6. package/dist/BinaryField.js.map +1 -1
  7. package/dist/BinaryToBufferTask.js.map +1 -1
  8. package/dist/DateTime.d.ts +3 -0
  9. package/dist/DateTime.js +5 -1
  10. package/dist/DateTime.js.map +1 -1
  11. package/dist/DefaultExifToolOptions.js +6 -1
  12. package/dist/DefaultExifToolOptions.js.map +1 -1
  13. package/dist/DefaultExiftoolArgs.js +1 -0
  14. package/dist/DefaultExiftoolArgs.js.map +1 -1
  15. package/dist/ExifDate.d.ts +1 -0
  16. package/dist/ExifDate.js +6 -0
  17. package/dist/ExifDate.js.map +1 -1
  18. package/dist/ExifDateTime.d.ts +3 -0
  19. package/dist/ExifDateTime.js +17 -0
  20. package/dist/ExifDateTime.js.map +1 -1
  21. package/dist/ExifTool.d.ts +12 -10
  22. package/dist/ExifTool.js +39 -13
  23. package/dist/ExifTool.js.map +1 -1
  24. package/dist/ExifToolOptions.d.ts +38 -8
  25. package/dist/ExifToolOptions.js +8 -0
  26. package/dist/ExifToolOptions.js.map +1 -1
  27. package/dist/ImageDataHashTag.d.ts +11 -0
  28. package/dist/ImageDataHashTag.js +3 -0
  29. package/dist/ImageDataHashTag.js.map +1 -0
  30. package/dist/Lazy.js +6 -2
  31. package/dist/Lazy.js.map +1 -1
  32. package/dist/Object.js +1 -1
  33. package/dist/Object.js.map +1 -1
  34. package/dist/ReadTask.d.ts +6 -5
  35. package/dist/ReadTask.js +90 -64
  36. package/dist/ReadTask.js.map +1 -1
  37. package/dist/String.js +3 -3
  38. package/dist/String.js.map +1 -1
  39. package/dist/Tags.d.ts +55 -54
  40. package/dist/Times.d.ts +1 -0
  41. package/dist/Times.js +10 -0
  42. package/dist/Times.js.map +1 -0
  43. package/dist/Timezones.d.ts +10 -15
  44. package/dist/Timezones.js +93 -30
  45. package/dist/Timezones.js.map +1 -1
  46. package/dist/VersionTask.js +1 -1
  47. package/dist/VersionTask.js.map +1 -1
  48. package/dist/Which.d.ts +2 -0
  49. package/dist/Which.js +23 -0
  50. package/dist/Which.js.map +1 -0
  51. package/package.json +24 -28
package/dist/Tags.d.ts CHANGED
@@ -4,13 +4,14 @@ import { ExifDate } from "./ExifDate";
4
4
  import { ExifDateTime } from "./ExifDateTime";
5
5
  import { ExifTime } from "./ExifTime";
6
6
  import { ICCProfileTags } from "./ICCProfileTags";
7
+ import { ImageDataHashTag } from "./ImageDataHashTag";
7
8
  import { ResourceEvent } from "./ResourceEvent";
8
9
  import { Struct } from "./Struct";
9
10
  import { Version } from "./Version";
10
11
  export interface ExifToolTags {
11
12
  /** ☆☆☆☆ ✔ Example: "File is empty" */
12
13
  Error?: string;
13
- /** ★★★★ ✔ Example: 12.62 */
14
+ /** ★★★★ ✔ Example: 12.65 */
14
15
  ExifToolVersion?: number;
15
16
  /** ☆☆☆☆ ✔ Example: "Unrecognized IPTC record 0 (ignored)" */
16
17
  Warning?: string;
@@ -20,6 +21,10 @@ export interface FileTags {
20
21
  BMPVersion?: string;
21
22
  /** ☆☆☆☆ ✔ Example: 24 */
22
23
  BitDepth?: number;
24
+ /** ★★★★ ✔ Example: 8 */
25
+ BitsPerSample?: number;
26
+ /** ★★★★ ✔ Example: 3 */
27
+ ColorComponents?: number;
23
28
  /** ☆☆☆☆ ✔ Example: "This is a comment." */
24
29
  Comment?: string;
25
30
  /** ☆☆☆☆ ✔ Example: "MJPG" */
@@ -28,11 +33,13 @@ export interface FileTags {
28
33
  CurrentIPTCDigest?: string;
29
34
  /** ★★★★ ✔ Example: "/home/username/pictures" */
30
35
  Directory?: string;
31
- /** ★★★★ ✔ Example: "2023:05:10 10:11:03-07:00" */
36
+ /** ★★★★ ✔ Example: "Progressive DCT, Huffman coding" */
37
+ EncodingProcess?: string;
38
+ /** ★★★★ ✔ Example: "2023:09:03 21:51:50-07:00" */
32
39
  FileAccessDate?: ExifDateTime | string;
33
- /** ★★★★ ✔ Example: "2023:04:13 09:42:48-07:00" */
40
+ /** ★★★★ ✔ Example: "2023:07:19 21:21:02-07:00" */
34
41
  FileInodeChangeDate?: ExifDateTime | string;
35
- /** ★★★★ ✔ Example: "2023:03:31 04:43:29-07:00" */
42
+ /** ★★★★ ✔ Example: "2023:07:19 21:21:02-07:00" */
36
43
  FileModifyDate?: ExifDateTime | string;
37
44
  /** ★★★★ ✔ Example: "utc+8_oly.jpg" */
38
45
  FileName?: string;
@@ -66,6 +73,8 @@ export interface FileTags {
66
73
  Planes?: number;
67
74
  /** ☆☆☆☆ ✔ Example: "(Binary data 315546 bytes, use -b option to extract)" */
68
75
  PreviewImage?: BinaryField;
76
+ /** ★★★★ ✔ Example: "YCbCr4:4:4 (1 1)" */
77
+ YCbCrSubSampling?: string;
69
78
  }
70
79
  export interface CompositeTags {
71
80
  /** ☆☆☆☆ ✔ Example: "Unknown (49 5)" */
@@ -520,8 +529,6 @@ export interface EXIFTags {
520
529
  BaselineExposure?: number;
521
530
  /** ☆☆☆☆ ✔ Example: 1.5 */
522
531
  BaselineSharpness?: number;
523
- /** ☆☆☆☆ ✔ Example: "8 8 8" */
524
- BitsPerSample?: string;
525
532
  /** ☆☆☆☆ ✔ Example: 528 */
526
533
  BlackLevel?: number;
527
534
  /** ☆☆☆☆ ✔ Example: 130 */
@@ -552,8 +559,6 @@ export interface EXIFTags {
552
559
  Copyright?: string;
553
560
  /** ★★★★ ✔ Example: "2218:09:22 02:32:14" */
554
561
  CreateDate?: ExifDateTime | string;
555
- /** ★★★★ ✔ Example: "Unknown (5840)" */
556
- CustomRendered?: string;
557
562
  /** ☆☆☆☆ ✔ Example: "1.3.0.0" */
558
563
  DNGBackwardVersion?: string;
559
564
  /** ☆☆☆☆ ✔ Example: "1.6.0.0" */
@@ -578,10 +583,6 @@ export interface EXIFTags {
578
583
  ExifImageHeight?: number;
579
584
  /** ★★★★ ✔ Example: 999 */
580
585
  ExifImageWidth?: number;
581
- /** ★☆☆☆ ✔ Example: 83 */
582
- ExposureIndex?: number;
583
- /** ★★★★ ✔ Example: "Unknown (DSC)" */
584
- FileSource?: string;
585
586
  /** ☆☆☆☆ ✔ Example: 54 */
586
587
  FlashEnergy?: number;
587
588
  /** ★★★★ ✔ Example: "99.7 mm" */
@@ -638,7 +639,7 @@ export interface EXIFTags {
638
639
  ImageNumber?: number;
639
640
  /** ☆☆☆☆ ✔ Example: "fa5fdfee65f3a6e05fe7d4692b9112a7" */
640
641
  ImageUniqueID?: string;
641
- /** ☆☆☆☆ ✔ Example: "(Binary data 571392 bytes, use -b option to extract)" */
642
+ /** ☆☆☆☆ ✔ Example: "(Binary data 453632 bytes, use -b option to extract)" */
642
643
  JpgFromRaw?: BinaryField;
643
644
  /** ☆☆☆☆ ✔ Example: 845574 */
644
645
  JpgFromRawLength?: number;
@@ -704,6 +705,8 @@ export interface EXIFTags {
704
705
  PageName?: string;
705
706
  /** ☆☆☆☆ ✔ Example: "0350" */
706
707
  PanasonicRawVersion?: string;
708
+ /** ☆☆☆☆ Example: 0 */
709
+ Photographer?: number;
707
710
  /** ☆☆☆☆ ✔ Example: "YCbCr" */
708
711
  PhotometricInterpretation?: string;
709
712
  /** ☆☆☆☆ ✔ Example: "Chunky" */
@@ -812,12 +815,14 @@ export interface EXIFTags {
812
815
  TileByteCounts?: BinaryField | string;
813
816
  /** ☆☆☆☆ ✔ Example: 512 */
814
817
  TileLength?: number;
815
- /** ☆☆☆☆ ✔ Example: "(Binary data 507 bytes, use -b option to extract)" */
818
+ /** ☆☆☆☆ ✔ Example: "(Binary data 508 bytes, use -b option to extract)" */
816
819
  TileOffsets?: BinaryField | string;
817
820
  /** ☆☆☆☆ ✔ Example: 512 */
818
821
  TileWidth?: number;
819
822
  /** ☆☆☆☆ ✔ Example: 1 */
820
823
  TimeZoneOffset?: number | string;
824
+ /** ☆☆☆☆ Example: 0 */
825
+ Title?: string;
821
826
  /** ☆☆☆☆ ✔ Example: "(Binary data 3636 bytes, use -b option to extract)" */
822
827
  TransferFunction?: BinaryField | string;
823
828
  /** ☆☆☆☆ ✔ Example: "motorola XT1254" */
@@ -850,8 +855,6 @@ export interface EXIFTags {
850
855
  XPTitle?: string;
851
856
  /** ☆☆☆☆ ✔ Example: "0.299 0.587 0.114" */
852
857
  YCbCrCoefficients?: string;
853
- /** ☆☆☆☆ ✔ Example: "YCbCr4:2:2 (2 1)" */
854
- YCbCrSubSampling?: string;
855
858
  }
856
859
  export interface APP6Tags {
857
860
  /** ☆☆☆☆ ✔ Example: 800 */
@@ -898,7 +901,7 @@ export interface FlashPixTags {
898
901
  ExtensionName?: string;
899
902
  /** ☆☆☆☆ ✔ Example: "Invalidated By Modification" */
900
903
  ExtensionPersistence?: string;
901
- /** ☆☆☆☆ ✔ Example: "(Binary data 46285 bytes, use -b option to extract)" */
904
+ /** ☆☆☆☆ ✔ Example: "(Binary data 57881 bytes, use -b option to extract)" */
902
905
  ScreenNail?: BinaryField | string;
903
906
  /** ☆☆☆☆ ✔ Example: 1 */
904
907
  UsedExtensionNumbers?: number;
@@ -1066,7 +1069,7 @@ export interface QuickTimeTags {
1066
1069
  AndroidVideoTemporalLayersCount?: BinaryField | string;
1067
1070
  /** ☆☆☆☆ ✔ Example: 8 */
1068
1071
  AudioBitsPerSample?: number;
1069
- /** ☆☆☆☆ ✔ Example: 2 */
1072
+ /** ☆☆☆☆ ✔ Example: 3 */
1070
1073
  AudioChannels?: number;
1071
1074
  /** ☆☆☆☆ ✔ Example: "sowt" */
1072
1075
  AudioFormat?: string;
@@ -1090,9 +1093,11 @@ export interface QuickTimeTags {
1090
1093
  CompatibleBrands?: string[];
1091
1094
  /** ☆☆☆☆ ✔ Example: "jpeg" */
1092
1095
  CompressorID?: string;
1096
+ /** ☆☆☆☆ ✔ Example: "Photo - JPEG" */
1097
+ CompressorName?: string;
1093
1098
  /** ☆☆☆☆ ✔ Example: "Track 1" */
1094
1099
  ContentDescribes?: string;
1095
- /** ☆☆☆☆ ✔ Example: "2022:02:12 14:31:16-08:00" */
1100
+ /** ☆☆☆☆ ✔ Example: "2023:06:11 14:30:35+01:00" */
1096
1101
  CreationDate?: ExifDateTime | string;
1097
1102
  /** ☆☆☆☆ ✔ Example: "0 s" */
1098
1103
  CurrentTime?: string;
@@ -1100,6 +1105,8 @@ export interface QuickTimeTags {
1100
1105
  EncodedPixelsDimensions?: string;
1101
1106
  /** ☆☆☆☆ ✔ Example: "Helvetica" */
1102
1107
  FontName?: string;
1108
+ /** ☆☆☆☆ ✔ Example: "51 deg 6' 13.32" N, 0 deg 52' 23.52" W, 99.22 m Above Sea Level" */
1109
+ GPSCoordinates?: string;
1103
1110
  /** ☆☆☆☆ ✔ Example: "srcCopy" */
1104
1111
  GraphicsMode?: string;
1105
1112
  /** ☆☆☆☆ ✔ Example: "Data Handler" */
@@ -1108,8 +1115,6 @@ export interface QuickTimeTags {
1108
1115
  HandlerDescription?: string;
1109
1116
  /** ☆☆☆☆ ✔ Example: "Metadata Tags" */
1110
1117
  HandlerType?: string;
1111
- /** ☆☆☆☆ ✔ Example: "Panasonic" */
1112
- HandlerVendorID?: string;
1113
1118
  /** ☆☆☆☆ ✔ Example: 4.798027 */
1114
1119
  LocationAccuracyHorizontal?: number;
1115
1120
  /** ☆☆☆☆ ✔ Example: "MP4 v2 [ISO 14496-14]" */
@@ -1118,7 +1123,7 @@ export interface QuickTimeTags {
1118
1123
  MatrixCoefficients?: string;
1119
1124
  /** ☆☆☆☆ ✔ Example: "1 0 0 0 1 0 0 0 1" */
1120
1125
  MatrixStructure?: string;
1121
- /** ☆☆☆☆ ✔ Example: "2022:02:12 22:31:16" */
1126
+ /** ☆☆☆☆ ✔ Example: "2023:06:11 13:30:35" */
1122
1127
  MediaCreateDate?: ExifDateTime | string;
1123
1128
  /** ☆☆☆☆ ✔ Example: 98304 */
1124
1129
  MediaDataOffset?: number;
@@ -1128,7 +1133,7 @@ export interface QuickTimeTags {
1128
1133
  MediaDuration?: number;
1129
1134
  /** ☆☆☆☆ ✔ Example: 0 */
1130
1135
  MediaHeaderVersion?: number;
1131
- /** ☆☆☆☆ ✔ Example: "2022:02:12 22:31:25" */
1136
+ /** ☆☆☆☆ ✔ Example: "2023:06:11 13:30:46" */
1132
1137
  MediaModifyDate?: ExifDateTime | string;
1133
1138
  /** ☆☆☆☆ ✔ Example: 8000 */
1134
1139
  MediaTimeScale?: number;
@@ -1184,7 +1189,7 @@ export interface QuickTimeTags {
1184
1189
  TimeCode?: number;
1185
1190
  /** ☆☆☆☆ ✔ Example: 90000 */
1186
1191
  TimeScale?: number;
1187
- /** ☆☆☆☆ ✔ Example: "2022:02:12 22:31:16" */
1192
+ /** ☆☆☆☆ ✔ Example: "2023:06:11 13:30:35" */
1188
1193
  TrackCreateDate?: ExifDateTime | string;
1189
1194
  /** ☆☆☆☆ ✔ Example: 9.5095 */
1190
1195
  TrackDuration?: number;
@@ -1194,7 +1199,7 @@ export interface QuickTimeTags {
1194
1199
  TrackID?: number;
1195
1200
  /** ☆☆☆☆ ✔ Example: 0 */
1196
1201
  TrackLayer?: number;
1197
- /** ☆☆☆☆ ✔ Example: "2022:02:12 22:31:25" */
1202
+ /** ☆☆☆☆ ✔ Example: "2023:06:11 13:30:46" */
1198
1203
  TrackModifyDate?: ExifDateTime | string;
1199
1204
  /** ☆☆☆☆ ✔ Example: "0.00%" */
1200
1205
  TrackVolume?: string;
@@ -1330,6 +1335,8 @@ export interface MakerNotesTags {
1330
1335
  AFAreaIllumination?: string;
1331
1336
  /** ★★★☆ ✔ Example: "Zone AF" */
1332
1337
  AFAreaMode?: string;
1338
+ /** ☆☆☆☆ ✔ Example: "Wide" */
1339
+ AFAreaModeSetting?: string;
1333
1340
  /** ☆☆☆☆ ✔ Example: "n/a" */
1334
1341
  AFAreaPointSize?: string;
1335
1342
  /** ☆☆☆☆ ✔ Example: "AF area selection button" */
@@ -1482,8 +1489,6 @@ export interface MakerNotesTags {
1482
1489
  AddAspectRatioInfo?: string;
1483
1490
  /** ☆☆☆☆ ✔ Example: "Disable" */
1484
1491
  AddIPTCInformation?: string;
1485
- /** ☆☆☆☆ ✔ Example: "On" */
1486
- AddOriginalDecisionData?: string;
1487
1492
  /** ☆☆☆☆ Example: "X3F Setting Mode" */
1488
1493
  AdjustmentMode?: string;
1489
1494
  /** ☆☆☆☆ ✔ Example: 9 */
@@ -1880,6 +1885,8 @@ export interface MakerNotesTags {
1880
1885
  CompressionFactor?: number;
1881
1886
  /** ☆☆☆☆ ✔ Example: 8 */
1882
1887
  CompressionRatio?: number;
1888
+ /** ☆☆☆☆ ✔ Example: "FFCBAC24-E547-4BBC-AF47-38B1A3D845E3" */
1889
+ ContentIdentifier?: string;
1883
1890
  /** ☆☆☆☆ ✔ Example: "Low" */
1884
1891
  ContinuousBracketing?: string;
1885
1892
  /** ★★☆☆ ✔ Example: "Unknown (11)" */
@@ -1964,6 +1971,8 @@ export interface MakerNotesTags {
1964
1971
  CrossProcess?: string;
1965
1972
  /** ☆☆☆☆ ✔ Example: "P-STUDIO" */
1966
1973
  CustomPictureStyleFileName?: string;
1974
+ /** ☆☆☆☆ Example: "Scene: NORMAL" */
1975
+ CustomRendered?: string;
1967
1976
  /** ☆☆☆☆ ✔ Example: "CS3 (min CS0, max CS4)" */
1968
1977
  CustomSaturation?: string;
1969
1978
  /** ☆☆☆☆ ✔ Example: "No" */
@@ -2058,8 +2067,6 @@ export interface MakerNotesTags {
2058
2067
  DynamicRange?: string;
2059
2068
  /** ☆☆☆☆ ✔ Example: "Off" */
2060
2069
  DynamicRangeBoost?: string;
2061
- /** ☆☆☆☆ ✔ Example: "On; Enabled; 0; 0" */
2062
- DynamicRangeExpansion?: string;
2063
2070
  /** ☆☆☆☆ ✔ Example: "Standard" */
2064
2071
  DynamicRangeOptimizer?: string;
2065
2072
  /** ☆☆☆☆ ✔ Example: "Off" */
@@ -2190,8 +2197,6 @@ export interface MakerNotesTags {
2190
2197
  FaceDetectArea?: BinaryField | string;
2191
2198
  /** ☆☆☆☆ ✔ Example: "0 26 640 428 0 26 640 428 0 0 0 0" */
2192
2199
  FaceDetectFrameCrop?: string;
2193
- /** ★☆☆☆ ✔ Example: "720 480" */
2194
- FaceDetectFrameSize?: string;
2195
2200
  /** ☆☆☆☆ ✔ Example: "On" */
2196
2201
  FaceDetection?: string;
2197
2202
  /** ☆☆☆☆ ✔ Example: "918 1058 1959 2101" */
@@ -2224,6 +2229,8 @@ export interface MakerNotesTags {
2224
2229
  FileNumberMemory?: string;
2225
2230
  /** ☆☆☆☆ ✔ Example: "On" */
2226
2231
  FileNumberSequence?: string;
2232
+ /** ☆☆☆☆ ✔ Example: "APS_H" */
2233
+ FileSource?: string;
2227
2234
  /** ☆☆☆☆ ✔ Example: "Enable" */
2228
2235
  FillFlashAutoReduction?: string;
2229
2236
  /** ☆☆☆☆ ✔ Example: "Off" */
@@ -2630,7 +2637,7 @@ export interface MakerNotesTags {
2630
2637
  ImageGeneration?: string;
2631
2638
  /** ☆☆☆☆ Example: 912 */
2632
2639
  ImageIDNumber?: number;
2633
- /** ☆☆☆☆ ✔ Example: "Vivid" */
2640
+ /** ☆☆☆☆ ✔ Example: "Normal" */
2634
2641
  ImageOptimization?: string;
2635
2642
  /** ☆☆☆☆ ✔ Example: "Red Eye Ruduction ;" */
2636
2643
  ImageProcessing?: string;
@@ -2714,6 +2721,10 @@ export interface MakerNotesTags {
2714
2721
  JpgRecordedPixels?: string;
2715
2722
  /** ☆☆☆☆ ✔ Example: "Off" */
2716
2723
  KeystoneCompensation?: string;
2724
+ /** ☆☆☆☆ ✔ Example: "Vertical" */
2725
+ KeystoneDirection?: string;
2726
+ /** ☆☆☆☆ ✔ Example: "0 0 0" */
2727
+ KeystoneValue?: string;
2717
2728
  /** ☆☆☆☆ Example: "SKodakCommonInfo Jaguar7" */
2718
2729
  KodakInfoType?: string;
2719
2730
  /** ☆☆☆☆ Example: "Kodak " */
@@ -2852,8 +2863,6 @@ export interface MakerNotesTags {
2852
2863
  LockMicrophoneButton?: string;
2853
2864
  /** ☆☆☆☆ ✔ Example: "Yes" */
2854
2865
  LongExposureNRUsed?: string;
2855
- /** ★☆☆☆ ✔ Example: "n/a" */
2856
- LongExposureNoiseReduction?: string;
2857
2866
  /** ☆☆☆☆ ✔ Example: "On" */
2858
2867
  LowLightAF?: string;
2859
2868
  /** ☆☆☆☆ ✔ Example: 0.010031249 */
@@ -2862,6 +2871,8 @@ export interface MakerNotesTags {
2862
2871
  LuminanceNoiseReduction?: string;
2863
2872
  /** ☆☆☆☆ Example: 0 */
2864
2873
  M16CVersion?: number;
2874
+ /** ☆☆☆☆ ✔ Example: "Bulgaria (284)" */
2875
+ MCCData?: string;
2865
2876
  /** ☆☆☆☆ ✔ Example: 99 */
2866
2877
  MCUVersion?: number;
2867
2878
  /** ☆☆☆☆ ✔ Example: "Off" */
@@ -2926,8 +2937,6 @@ export interface MakerNotesTags {
2926
2937
  MeasuredRGGBData?: string;
2927
2938
  /** ☆☆☆☆ ✔ Example: 7 */
2928
2939
  MechanicalShutterCount?: number;
2929
- /** ☆☆☆☆ ✔ Example: "FFCBAC24-E547-4BBC-AF47-38B1A3D845E3" */
2930
- MediaGroupUUID?: string;
2931
2940
  /** ☆☆☆☆ ✔ Example: "SD card in use, MemoryStick slot empty" */
2932
2941
  MemoryCardConfiguration?: string;
2933
2942
  /** ☆☆☆☆ ✔ Example: 1 */
@@ -3028,8 +3037,8 @@ export interface MakerNotesTags {
3028
3037
  MonochromeToning?: string;
3029
3038
  /** ☆☆☆☆ ✔ Example: 0 */
3030
3039
  MonochromeVignetting?: number;
3031
- /** ☆☆☆☆ Example: "12:19" */
3032
- MonthDayCreated?: string;
3040
+ /** ☆☆☆☆ Example: "03:15" */
3041
+ MonthDayCreated?: ExifDate | string;
3033
3042
  /** ☆☆☆☆ Example: "Old Crescent" */
3034
3043
  MoonPhase?: string;
3035
3044
  /** ☆☆☆☆ Example: 100 */
@@ -3108,7 +3117,7 @@ export interface MakerNotesTags {
3108
3117
  NDFilter?: string;
3109
3118
  /** ☆☆☆☆ ✔ Example: "Uncompressed (reduced to 12 bit)" */
3110
3119
  NEFCompression?: string;
3111
- /** ☆☆☆☆ ✔ Example: "(Binary data 624 bytes, use -b option to extract)" */
3120
+ /** ☆☆☆☆ ✔ Example: "(Binary data 46 bytes, use -b option to extract)" */
3112
3121
  NEFLinearizationTable?: BinaryField | string;
3113
3122
  /** ☆☆☆☆ Example: "Off (0 2)" */
3114
3123
  NeutralDensityFilter?: string;
@@ -3228,6 +3237,8 @@ export interface MakerNotesTags {
3228
3237
  PhaseDetectAF?: string;
3229
3238
  /** ☆☆☆☆ ✔ Example: "Vivid" */
3230
3239
  PhotoEffect?: string;
3240
+ /** ☆☆☆☆ ✔ Example: "F7248739-9D7D-45ED-8B0C-63530491EEA8" */
3241
+ PhotoIdentifier?: string;
3231
3242
  /** ☆☆☆☆ ✔ Example: "Info Up-down, Playback Left-right" */
3232
3243
  PhotoInfoPlayback?: string;
3233
3244
  /** ☆☆☆☆ ✔ Example: "A" */
@@ -3295,7 +3306,7 @@ export interface MakerNotesTags {
3295
3306
  /** ☆☆☆☆ ✔ Example: "External Power Supply" */
3296
3307
  PowerSource?: string;
3297
3308
  /** ☆☆☆☆ ✔ Example: "2021:11:29 16:08:27" */
3298
- PowerUpTime?: string;
3309
+ PowerUpTime?: ExifDateTime | string;
3299
3310
  /** ☆☆☆☆ ✔ Example: "On" */
3300
3311
  PreAF?: string;
3301
3312
  /** ☆☆☆☆ ✔ Example: 3.2996109 */
@@ -3464,12 +3475,6 @@ export interface MakerNotesTags {
3464
3475
  Roll?: number;
3465
3476
  /** ☆☆☆☆ ✔ Example: 90 */
3466
3477
  RollAngle?: number;
3467
- /** ☆☆☆☆ ✔ Example: 0 */
3468
- RunTimeEpoch?: number;
3469
- /** ☆☆☆☆ ✔ Example: "Valid" */
3470
- RunTimeFlags?: string;
3471
- /** ☆☆☆☆ ✔ Example: 1000000000 */
3472
- RunTimeScale?: number;
3473
3478
  /** ☆☆☆☆ ✔ Example: 987823130000000 */
3474
3479
  RunTimeValue?: number;
3475
3480
  /** ☆☆☆☆ ✔ Example: "sRAW2 (sRAW)" */
@@ -3512,8 +3517,6 @@ export interface MakerNotesTags {
3512
3517
  SceneMode?: string;
3513
3518
  /** ☆☆☆☆ Example: "Unknown (9)" */
3514
3519
  SceneModeUsed?: string;
3515
- /** ☆☆☆☆ ✔ Example: "Unrecognized" */
3516
- SceneRecognition?: string;
3517
3520
  /** ☆☆☆☆ Example: "User 1" */
3518
3521
  SceneSelect?: string;
3519
3522
  /** ☆☆☆☆ ✔ Example: "On" */
@@ -3534,7 +3537,7 @@ export interface MakerNotesTags {
3534
3537
  SelfTimerShotCount?: number;
3535
3538
  /** ☆☆☆☆ ✔ Example: "1 s" */
3536
3539
  SelfTimerShotInterval?: string;
3537
- /** ☆☆☆☆ ✔ Example: {"0":1,"1":0,"2":0,"3":0} */
3540
+ /** ☆☆☆☆ ✔ Example: {"_0":1,"_1":0,"_2":0,"_3":0} */
3538
3541
  SemanticStyle?: Struct;
3539
3542
  /** ☆☆☆☆ ✔ Example: true */
3540
3543
  SemanticStylePreset?: boolean;
@@ -3812,8 +3815,6 @@ export interface MakerNotesTags {
3812
3815
  TimeZoneInfo?: number;
3813
3816
  /** ☆☆☆☆ ✔ Example: "Disable; 6 s: 6; 16 s: 16; After release: 2" */
3814
3817
  TimerLength?: string;
3815
- /** ☆☆☆☆ ✔ Example: "" */
3816
- Title?: string;
3817
3818
  /** ☆☆☆☆ ✔ Example: "Standard" */
3818
3819
  ToneCurve?: string;
3819
3820
  /** ☆☆☆☆ ✔ Example: "(Binary data 95 bytes, use -b option to extract)" */
@@ -4505,10 +4506,10 @@ export interface XMPTags {
4505
4506
  * devices (like iPhones) An example value, JSON stringified, follows the
4506
4507
  * popularity ratings.
4507
4508
  *
4508
- * Autogenerated by "yarn mktags" by ExifTool 12.62 on Wed May 10 2023.
4509
- * 3076 unique tags were found in 10085 photo and video files.
4509
+ * Autogenerated by "yarn mktags" by ExifTool 12.65 on Sun Sep 03 2023.
4510
+ * 3079 unique tags were found in 10090 photo and video files.
4510
4511
  */
4511
- export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
4512
+ export interface Tags extends APP12Tags, APP14Tags, APP1Tags, APP4Tags, APP5Tags, APP6Tags, ApplicationRecordTags, CompositeTags, EXIFTags, ExifToolTags, FileTags, FlashPixTags, ICCProfileTags, IPTCTags, ImageDataHashTag, JFIFTags, MPFTags, MakerNotesTags, MetaTags, PanasonicRawTags, PhotoshopTags, PrintIMTags, QuickTimeTags, RAFTags, RIFFTags, XMPTags {
4512
4513
  errors?: string[];
4513
4514
  /** ☆☆☆☆ ✔ Example: "File is empty" */
4514
4515
  Error?: string;
@@ -0,0 +1 @@
1
+ export declare function times<T>(n: number, f: (idx: number) => T): T[];
package/dist/Times.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.times = void 0;
4
+ function times(n, f) {
5
+ return Array(n)
6
+ .fill(undefined)
7
+ .map((_, i) => f(i));
8
+ }
9
+ exports.times = times;
10
+ //# sourceMappingURL=Times.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Times.js","sourceRoot":"","sources":["../src/Times.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAI,CAAS,EAAE,CAAqB;IACvD,OAAO,KAAK,CAAC,CAAC,CAAC;SACZ,IAAI,CAAC,SAAS,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC;AAJD,sBAIC"}
@@ -1,5 +1,9 @@
1
1
  import { Zone } from "luxon";
2
+ import { ExifDateTime } from "./ExifDateTime";
3
+ import { ExifTime } from "./ExifTime";
4
+ import { ExifToolOptions } from "./ExifToolOptions";
2
5
  import { Maybe } from "./Maybe";
6
+ import { Tags } from "./Tags";
3
7
  export declare const MaxTzOffsetHours = 14;
4
8
  /**
5
9
  * Zone instances with this offset are a placeholder for being "unset".
@@ -33,21 +37,10 @@ export interface TzSrc {
33
37
  /**
34
38
  * Parse a timezone offset and return the offset minutes
35
39
  */
36
- export declare function extractOffset(tz: Maybe<string>): Maybe<TzSrc>;
37
- export declare function extractTzOffsetFromTags(t: {
38
- TimeZone?: string;
39
- OffsetTime?: string;
40
- /** time zone for DateTimeOriginal, "-08:00" */
41
- OffsetTimeOriginal?: string;
42
- /** time zone for CreateDate, "-08:00" */
43
- OffsetTimeDigitized?: string;
44
- /**
45
- * 1 or 2 values: 1. The time zone offset of DateTimeOriginal from GMT in
46
- * hours, 2. If present, the time zone offset of ModifyDate (which we ignore)
47
- * @see https://www.exiftool.org/TagNames/EXIF.html
48
- */
49
- TimeZoneOffset?: number | number[] | string;
50
- }): Maybe<TzSrc>;
40
+ export declare function extractOffset(value: Maybe<string | number | number[] | ExifDateTime | ExifTime>): Maybe<TzSrc>;
41
+ declare const TimezoneOffsetTagnames: readonly ["TimeZone", "OffsetTime", "OffsetTimeOriginal", "OffsetTimeDigitized", "TimeZoneOffset"];
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>;
51
44
  export declare function inferLikelyOffsetMinutes(deltaMinutes: number): number;
52
45
  export declare function extractTzOffsetFromUTCOffset(t: {
53
46
  DateTimeUTC?: string;
@@ -63,3 +56,5 @@ export declare function extractTzOffsetFromUTCOffset(t: {
63
56
  MediaCreateDate?: string;
64
57
  DateTimeCreated?: string;
65
58
  }): Maybe<TzSrc>;
59
+ export declare function equivalentZones(a: Maybe<string | number | Zone>, b: Maybe<string | number | Zone>): boolean;
60
+ export {};
package/dist/Timezones.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.extractOffset = exports.offsetMinutesToZoneName = exports.reasonableTzOffsetMinutes = exports.normalizeZone = exports.defaultVideosToUTC = exports.UnsetZoneName = exports.UnsetZone = exports.UnsetZoneOffsetMinutes = exports.MaxTzOffsetHours = void 0;
3
+ exports.equivalentZones = exports.extractTzOffsetFromUTCOffset = exports.inferLikelyOffsetMinutes = exports.extractTzOffsetFromTags = exports.extractOffset = exports.offsetMinutesToZoneName = exports.reasonableTzOffsetMinutes = exports.normalizeZone = exports.defaultVideosToUTC = 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
6
  const CapturedAtTagNames_1 = require("./CapturedAtTagNames");
@@ -74,42 +74,97 @@ function tzHourToOffset(n) {
74
74
  ? offsetMinutesToZoneName(n * 60)
75
75
  : undefined;
76
76
  }
77
- const tzRe = /(?:UTC)?([+-]?)(\d\d?)(?::(\d\d))?/;
77
+ const utcTzRe = /(?:UTC)?(?<sign>[+-]?)(?<hours>\d\d?)(?::(?<minutes>\d\d))?/;
78
+ const timestampTzRe = /(?<sign>[+-])(?<hours>\d\d?):(?<minutes>\d\d)$/;
79
+ function extractOffsetFromHours(hourOffset) {
80
+ return (0, Number_1.isNumber)(hourOffset)
81
+ ? (0, Maybe_1.map)(tzHourToOffset(hourOffset), (tz) => ({
82
+ tz,
83
+ src: "hourOffset",
84
+ }))
85
+ : Array.isArray(hourOffset)
86
+ ? extractOffsetFromHours(hourOffset[0])
87
+ : undefined;
88
+ }
78
89
  /**
79
90
  * Parse a timezone offset and return the offset minutes
80
91
  */
81
- function extractOffset(tz) {
82
- if (tz == null || (0, String_1.blank)(tz)) {
83
- return undefined;
92
+ function extractOffset(value) {
93
+ var _a, _b, _c, _d, _e;
94
+ if (value instanceof ExifDateTime_1.ExifDateTime) {
95
+ return (0, Maybe_1.map)(value.zone, (tz) => ({ tz, src: "ExifDateTime" }));
84
96
  }
85
- if ((0, String_1.isString)(tz) && luxon_1.Info.isValidIANAZone(tz)) {
86
- return { tz, src: "validIANAZone" };
97
+ if ((0, Number_1.isNumber)(value) || Array.isArray(value)) {
98
+ return extractOffsetFromHours(value);
87
99
  }
88
- return (0, Maybe_1.map)(tzRe.exec(tz), (m) => {
89
- var _a;
90
- return (0, Maybe_1.map)(offsetMinutesToZoneName((m[1] === "-" ? -1 : 1) *
91
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
92
- (parseInt(m[2]) * 60 + parseInt((_a = m[3]) !== null && _a !== void 0 ? _a : "0"))), (ea) => ({ tz: ea, src: "offsetMinutesToZoneName" }));
93
- });
100
+ if ((0, String_1.isString)(value) && luxon_1.Info.isValidIANAZone(value)) {
101
+ return { tz: value, src: "validIANAZone" };
102
+ }
103
+ // ExifTime will have a rawValue, but doesn't support zone extraction:
104
+ const str = (_a = value.rawValue) !== null && _a !== void 0 ? _a : (0, String_1.toS)(value);
105
+ if ((0, String_1.blank)(str))
106
+ return;
107
+ for (const g of (0, Array_1.compact)([
108
+ (_b = utcTzRe.exec(str)) === null || _b === void 0 ? void 0 : _b.groups,
109
+ (_c = timestampTzRe.exec(str)) === null || _c === void 0 ? void 0 : _c.groups,
110
+ ])) {
111
+ const tz = offsetMinutesToZoneName((g.sign === "-" ? -1 : 1) *
112
+ (parseInt((_d = g.hours) !== null && _d !== void 0 ? _d : "0") * 60 + parseInt((_e = g.minutes) !== null && _e !== void 0 ? _e : "0")));
113
+ if (tz != null)
114
+ return { tz, src: "offsetMinutesToZoneName" };
115
+ }
116
+ return;
94
117
  }
95
118
  exports.extractOffset = extractOffset;
96
- function extractTzOffsetFromTags(t) {
97
- return (0, Maybe_1.firstDefinedThunk)([
98
- () => (0, Maybe_1.first)([
99
- "TimeZone",
100
- "OffsetTime",
101
- "OffsetTimeOriginal",
102
- "OffsetTimeDigitized",
103
- "TimeZoneOffset",
104
- ], (tagName) => (0, Maybe_1.map)(extractOffset(t[tagName]), (ea) => ({
105
- tz: ea.tz,
106
- src: ea.src + " from " + tagName,
107
- }))),
108
- () => (0, Maybe_1.map)(t.TimeZoneOffset, (value) => (0, Maybe_1.map)(tzHourToOffset(Array.isArray(value) ? value[0] : value), (tz) => ({
109
- tz,
110
- src: "TimeZoneOffset",
111
- }))),
112
- ]);
119
+ const TimezoneOffsetTagnames = [
120
+ "TimeZone",
121
+ "OffsetTime",
122
+ /** time zone for DateTimeOriginal, "-08:00" */
123
+ "OffsetTimeOriginal",
124
+ /** time zone for CreateDate, "-08:00" */
125
+ "OffsetTimeDigitized",
126
+ /**
127
+ * 1 or 2 values: 1. The time zone offset of DateTimeOriginal from GMT in
128
+ * hours, 2. If present, the time zone offset of ModifyDate (which we ignore)
129
+ * @see https://www.exiftool.org/TagNames/EXIF.html
130
+ */
131
+ "TimeZoneOffset", // number | number[] | string
132
+ ];
133
+ // The following are a hail-mary to try to get the offset from a
134
+ // created-at tag, and only examined if `inferTimezoneFromDatestamps` is
135
+ // true.
136
+ const CreateDateTagnames = [
137
+ "SubSecCreateDate",
138
+ "CreateDate",
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
+ if (t[tagName] != null) {
153
+ const offset = extractOffset(t[tagName]);
154
+ if (offset != null) {
155
+ return { tz: offset.tz, src: tagName };
156
+ }
157
+ }
158
+ }
159
+ if (t.TimeZoneOffset != null) {
160
+ const tz = tzHourToOffset(Array.isArray(t.TimeZoneOffset) ? t.TimeZoneOffset[0] : t.TimeZoneOffset);
161
+ if (tz != null)
162
+ return {
163
+ tz,
164
+ src: "TimeZoneOffset",
165
+ };
166
+ }
167
+ return;
113
168
  }
114
169
  exports.extractTzOffsetFromTags = extractTzOffsetFromTags;
115
170
  // timezone offsets may be on a 15 minute boundary, but if GPS acquisition is
@@ -168,4 +223,12 @@ function extractTzOffsetFromUTCOffset(t) {
168
223
  }));
169
224
  }
170
225
  exports.extractTzOffsetFromUTCOffset = extractTzOffsetFromUTCOffset;
226
+ function equivalentZones(a, b) {
227
+ const az = normalizeZone(a);
228
+ const bz = normalizeZone(b);
229
+ return (az != null &&
230
+ bz != null &&
231
+ (az.equals(bz) || az.offset(Date.now()) === bz.offset(Date.now())));
232
+ }
233
+ exports.equivalentZones = equivalentZones;
171
234
  //# sourceMappingURL=Timezones.js.map
@@ -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":";;;AAAA,iCAAkC;AAClC,mCAAiC;AACjC,6DAAyD;AACzD,iDAA6C;AAG7C,mCAA2C;AAC3C,qCAAmC;AACnC,qCAAqD;AAGrD,mCAAmC;AACnC,+DAA+D;AAClD,QAAA,gBAAgB,GAAG,EAAE,CAAA;AAElC;;GAEG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC,CAAA;AAExC;;;GAGG;AACU,QAAA,SAAS,GAAG,YAAI,CAAC,aAAa,CAAC,8BAAsB,CAAC,CAAA;AAEnE;;GAEG;AACU,QAAA,aAAa,GAAG,iBAAS,CAAC,IAAI,CAAA;AAE3C;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,oBAAoB,CAAA;AAEtD,SAAgB,aAAa,CAAC,CAAgC;IAC5D,IAAI;QACF,IAAI,CAAC,IAAI,IAAI,IAAI,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAAE,OAAM;QACzC,MAAM,IAAI,GAAG,YAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAClC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;KACjD;IAAC,MAAM;QACN,OAAM;KACP;AACH,CAAC;AARD,sCAQC;AAED,SAAgB,yBAAyB,CACvC,eAA8B;IAE9B,OAAO,CACL,IAAA,iBAAQ,EAAC,eAAe,CAAC;QACzB,eAAe,KAAK,8BAAsB;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,wBAAgB,GAAG,EAAE,CAClD,CAAA;AACH,CAAC;AARD,8DAQC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,aAA4B;IAE5B,IACE,aAAa,IAAI,IAAI;QACrB,CAAC,IAAA,iBAAQ,EAAC,aAAa,CAAC;QACxB,aAAa,KAAK,8BAAsB,EACxC;QACA,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,IAAI,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1C,IAAI,UAAU,GAAG,wBAAgB,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;IACzC,yDAAyD;IACzD,OAAO,MAAM,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAA,aAAI,EAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC1E,CAAC;AAlBD,0DAkBC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,IAAA,iBAAQ,EAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,GAAG,EAAE,CAAC;QACrD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,OAAO,GAAG,6DAA6D,CAAA;AAC7E,MAAM,aAAa,GAAG,gDAAgD,CAAA;AAOtE,SAAS,sBAAsB,CAC7B,UAAoC;IAEpC,OAAO,IAAA,iBAAQ,EAAC,UAAU,CAAC;QACzB,CAAC,CAAC,IAAA,WAAG,EAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE;YACF,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,KAAkE;;IAElE,IAAI,KAAK,YAAY,2BAAY,EAAE;QACjC,OAAO,IAAA,WAAG,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;KAC9D;IACD,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAA;KACrC;IACD,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,YAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,CAAA;KAC3C;IACD,sEAAsE;IACtE,MAAM,GAAG,GAAG,MAAC,KAAa,CAAC,QAAQ,mCAAI,IAAA,YAAG,EAAC,KAAK,CAAC,CAAA;IACjD,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC;QAAE,OAAM;IAEtB,KAAK,MAAM,CAAC,IAAI,IAAA,eAAO,EAAC;QACtB,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,MAAM;QACzB,MAAA,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,MAAM;KAChC,CAAC,EAAE;QACF,MAAM,EAAE,GAAG,uBAAuB,CAChC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,QAAQ,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAA,CAAC,CAAC,OAAO,mCAAI,GAAG,CAAC,CAAC,CAC/D,CAAA;QACD,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAA;KAC9D;IACD,OAAM;AACR,CAAC;AA3BD,sCA2BC;AAED,MAAM,sBAAsB,GAAG;IAC7B,UAAU;IACV,YAAY;IACZ,+CAA+C;IAC/C,oBAAoB;IACpB,yCAAyC;IACzC,qBAAqB;IACrB;;;;OAIG;IAEH,gBAAgB,EAAE,6BAA6B;CACL,CAAA;AAE5C,gEAAgE;AAChE,wEAAwE;AACxE,QAAQ;AACR,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,YAAY;IACZ,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,cAAc;IACd,aAAa,EAAE,aAAa;CACc,CAAA;AAE5C,SAAgB,uBAAuB,CACrC,CAIC,EACD,IAAoE;;IAEpE,KAAK,MAAM,OAAO,IAAI;QACpB,GAAG,sBAAsB;QACzB,GAAG,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,2BAA2B,mCAAI,KAAK,EAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,EAAE;QACV,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;YACtB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YACxC,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;aACvC;SACF;KACF;IAED,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE;QAC5B,MAAM,EAAE,GAAG,cAAc,CACvB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CACzE,CAAA;QACD,IAAI,EAAE,IAAI,IAAI;YACZ,OAAO;gBACL,EAAE;gBACF,GAAG,EAAE,gBAAgB;aACtB,CAAA;KACJ;IACD,OAAM;AACR,CAAC;AA/BD,0DA+BC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,4CAA4C;AAC5C,+DAA+D;AAE/D,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,SAAgB,wBAAwB,CAAC,YAAoB;IAC3D,OAAO,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAA;AACzE,CAAC;AAFD,4DAEC;AAED,SAAgB,4BAA4B,CAAC,CAa5C;;IACC,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAA,CAAC,CAAC,gBAAgB,oCAAlB,CAAC,CAAC,gBAAgB,GAAK,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;KAC3C;IAED,yCAAyC;IACzC,MAAM,GAAG,GAAG,IAAA,aAAK,EACf,CAAC,aAAa,EAAE,aAAa,EAAE,kBAAkB,CAAC,EAClD,CAAC,OAAO,EAAE,EAAE;;QACV,MAAM,GAAG,GAAG,2BAAY,CAAC,cAAc,CAAE,CAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,GACL,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;YACrD,CAAC,CAAC,MAAA,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,0CAAE,cAAc,EAAE;YAC/D,CAAC,CAAC,SAAS,CAAA;QACf,OAAO,CAAC,IAAI,IAAI;YACd,CAAC,CAAC;gBACE,OAAO;gBACP,CAAC;aACF;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC,CACF,CAAA;IACD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAM;IAEvB,yEAAyE;IACzE,6CAA6C;IAC7C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,uCAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;;QAC/C,MAAM,GAAG,GAAG,2BAAY,CAAC,cAAc,CAAE,CAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,GACL,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI;YAC7B,CAAC,CAAC,MAAA,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,0CAAE,cAAc,EAAE;YAC/D,CAAC,CAAC,SAAS,CAAA;QACf,OAAO,CAAC,IAAI,IAAI;YACd,CAAC,CAAC;gBACE,OAAO;gBACP,CAAC;aACF;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,IAAI,EAAE,IAAI,IAAI;QAAE,OAAM;IACtB,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAChC,MAAM,aAAa,GAAG,wBAAwB,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;IAChE,OAAO,IAAA,WAAG,EAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,EAAE;QACF,GAAG,EAAE,kBAAkB,EAAE,CAAC,OAAO,QAAQ,GAAG,CAAC,OAAO,EAAE;KACvD,CAAC,CAAC,CAAA;AACL,CAAC;AA7DD,oEA6DC;AAED,SAAgB,eAAe,CAC7B,CAAgC,EAChC,CAAgC;IAEhC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC3B,OAAO,CACL,EAAE,IAAI,IAAI;QACV,EAAE,IAAI,IAAI;QACV,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CACnE,CAAA;AACH,CAAC;AAXD,0CAWC"}
@@ -16,6 +16,6 @@ class VersionTask extends ExifToolTask_1.ExifToolTask {
16
16
  }
17
17
  }
18
18
  }
19
- VersionTask.versionRegex = /^\d{1,3}\.\d{1,3}(\.\d{1,3}})?$/;
20
19
  exports.VersionTask = VersionTask;
20
+ VersionTask.versionRegex = /^\d{1,3}\.\d{1,3}(\.\d{1,3}})?$/;
21
21
  //# sourceMappingURL=VersionTask.js.map