exiftool-vendored 29.2.0 → 30.0.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 +18 -0
- package/CLAUDE.md +131 -0
- package/LICENSE +1 -1
- package/RELEASE.md +4 -4
- package/dist/Array.d.ts +2 -2
- package/dist/Array.js.map +1 -1
- package/dist/BinaryField.d.ts +7 -0
- package/dist/BinaryField.js +7 -0
- package/dist/BinaryField.js.map +1 -1
- package/dist/DefaultExifToolOptions.js +1 -0
- package/dist/DefaultExifToolOptions.js.map +1 -1
- package/dist/ExifDateTime.d.ts +16 -1
- package/dist/ExifDateTime.js +17 -2
- package/dist/ExifDateTime.js.map +1 -1
- package/dist/ExifTool.d.ts +4 -4
- package/dist/ExifTool.js +4 -2
- package/dist/ExifTool.js.map +1 -1
- package/dist/ExifToolOptions.d.ts +17 -2
- package/dist/ExifToolOptions.js.map +1 -1
- package/dist/ExifToolVendoredTags.d.ts +15 -5
- package/dist/ExifToolVendoredTags.js +2 -11
- package/dist/ExifToolVendoredTags.js.map +1 -1
- package/dist/GeolocationTags.d.ts +4 -6
- package/dist/GeolocationTags.js +2 -20
- package/dist/GeolocationTags.js.map +1 -1
- package/dist/ICCProfileTags.d.ts +4 -0
- package/dist/ICCProfileTags.js +7 -0
- package/dist/ICCProfileTags.js.map +1 -1
- package/dist/IPTCApplicationRecordTags.d.ts +7 -0
- package/dist/IPTCApplicationRecordTags.js +10 -0
- package/dist/IPTCApplicationRecordTags.js.map +1 -1
- package/dist/ImageDataHashTag.d.ts +4 -0
- package/dist/ImageDataHashTag.js +7 -0
- package/dist/ImageDataHashTag.js.map +1 -1
- package/dist/JSON.d.ts +8 -0
- package/dist/JSON.js +8 -0
- package/dist/JSON.js.map +1 -1
- package/dist/MWGTags.d.ts +13 -0
- package/dist/MWGTags.js +18 -0
- package/dist/MWGTags.js.map +1 -1
- package/dist/Maybe.d.ts +4 -3
- package/dist/Maybe.js.map +1 -1
- package/dist/Object.d.ts +8 -2
- package/dist/Object.js +13 -13
- package/dist/Object.js.map +1 -1
- package/dist/ReadTask.d.ts +2 -1
- package/dist/ReadTask.js +15 -7
- package/dist/ReadTask.js.map +1 -1
- package/dist/StrEnum.d.ts +35 -0
- package/dist/StrEnum.js +75 -0
- package/dist/StrEnum.js.map +1 -0
- package/dist/Tags.d.ts +91 -45
- package/dist/Tags.js +32 -0
- package/dist/Tags.js.map +1 -1
- package/dist/Timezones.d.ts +11 -0
- package/dist/Timezones.js +51 -22
- package/dist/Timezones.js.map +1 -1
- package/dist/WriteTask.d.ts +10 -1
- package/dist/WriteTask.js.map +1 -1
- package/package.json +30 -17
package/dist/GeolocationTags.js
CHANGED
|
@@ -2,26 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GeolocationTagNames = void 0;
|
|
4
4
|
exports.isGeolocationTag = isGeolocationTag;
|
|
5
|
-
const
|
|
6
|
-
exports.GeolocationTagNames = (0,
|
|
7
|
-
GeolocationBearing: true,
|
|
8
|
-
GeolocationCity: true,
|
|
9
|
-
GeolocationCountry: true,
|
|
10
|
-
GeolocationCountryCode: true,
|
|
11
|
-
GeolocationDistance: true,
|
|
12
|
-
GeolocationFeatureCode: true,
|
|
13
|
-
GeolocationFeatureType: true,
|
|
14
|
-
GeolocationPopulation: true,
|
|
15
|
-
GeolocationPosition: true,
|
|
16
|
-
GeolocationRegion: true,
|
|
17
|
-
GeolocationSubregion: true,
|
|
18
|
-
GeolocationTimeZone: true,
|
|
19
|
-
GeolocationWarning: true,
|
|
20
|
-
});
|
|
21
|
-
/**
|
|
22
|
-
* Is the given tag name intrinsic to the content of a given file? In other
|
|
23
|
-
* words, is it not an artifact of a metadata field?
|
|
24
|
-
*/
|
|
5
|
+
const StrEnum_1 = require("./StrEnum");
|
|
6
|
+
exports.GeolocationTagNames = (0, StrEnum_1.strEnum)("GeolocationBearing", "GeolocationCity", "GeolocationCountry", "GeolocationCountryCode", "GeolocationDistance", "GeolocationFeatureCode", "GeolocationFeatureType", "GeolocationPopulation", "GeolocationPosition", "GeolocationRegion", "GeolocationSubregion", "GeolocationTimeZone", "GeolocationWarning");
|
|
25
7
|
function isGeolocationTag(name) {
|
|
26
8
|
return exports.GeolocationTagNames.includes(name);
|
|
27
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeolocationTags.js","sourceRoot":"","sources":["../src/GeolocationTags.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GeolocationTags.js","sourceRoot":"","sources":["../src/GeolocationTags.ts"],"names":[],"mappings":";;;AA8DA,4CAEC;AAhED,uCAA0D;AA4C7C,QAAA,mBAAmB,GAAG,IAAA,iBAAO,EACxC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,CACoB,CAAC;AAI3C,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/ICCProfileTags.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StrEnum, StrEnumKeys } from "./StrEnum";
|
|
1
2
|
/**
|
|
2
3
|
* Subset of <https://exiftool.org/TagNames/ICC_Profile.html>.
|
|
3
4
|
*
|
|
@@ -23,3 +24,6 @@ export interface ICCProfileTags {
|
|
|
23
24
|
/** ☆☆☆☆ ✔ Example: "sRGB v1.31 (Canon)" */
|
|
24
25
|
ProfileDescription?: string;
|
|
25
26
|
}
|
|
27
|
+
export declare const ICCProfileTagNames: StrEnum<"ColorSpaceData" | "ConnectionSpaceIlluminant" | "DeviceAttributes" | "DeviceManufacturer" | "DeviceMfgDesc" | "DeviceModel" | "DeviceModelDesc" | "Luminance" | "ProfileDescription">;
|
|
28
|
+
export type ICCProfileTagName = StrEnumKeys<typeof ICCProfileTagNames>;
|
|
29
|
+
export declare function isICCProfileTag(name: string): name is keyof ICCProfileTags;
|
package/dist/ICCProfileTags.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ICCProfileTagNames = void 0;
|
|
4
|
+
exports.isICCProfileTag = isICCProfileTag;
|
|
5
|
+
const StrEnum_1 = require("./StrEnum");
|
|
6
|
+
exports.ICCProfileTagNames = (0, StrEnum_1.strEnum)("ColorSpaceData", "ConnectionSpaceIlluminant", "DeviceAttributes", "DeviceManufacturer", "DeviceMfgDesc", "DeviceModel", "DeviceModelDesc", "Luminance", "ProfileDescription");
|
|
7
|
+
function isICCProfileTag(name) {
|
|
8
|
+
return exports.ICCProfileTagNames.includes(name);
|
|
9
|
+
}
|
|
3
10
|
//# sourceMappingURL=ICCProfileTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICCProfileTags.js","sourceRoot":"","sources":["../src/ICCProfileTags.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ICCProfileTags.js","sourceRoot":"","sources":["../src/ICCProfileTags.ts"],"names":[],"mappings":";;;AA0CA,0CAEC;AA5CD,uCAA0D;AA4B7C,QAAA,kBAAkB,GAAG,IAAA,iBAAO,EACvC,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,oBAAoB,CACmB,CAAC;AAI1C,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,0BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ExifDate } from "./ExifDate";
|
|
2
2
|
import { ExifDateTime } from "./ExifDateTime";
|
|
3
3
|
import { ExifTime } from "./ExifTime";
|
|
4
|
+
import { StrEnum, StrEnumKeys } from "./StrEnum";
|
|
4
5
|
/**
|
|
5
6
|
* IPTC (International Press Telecommunications Council) defines a set of
|
|
6
7
|
* metadata tags that can be embedded into image files, but _they came up with
|
|
@@ -79,3 +80,9 @@ export interface IPTCApplicationRecordTags {
|
|
|
79
80
|
DocumentHistory?: string;
|
|
80
81
|
ExifCameraInfo?: string;
|
|
81
82
|
}
|
|
83
|
+
export declare const IPTCApplicationRecordTagNames: StrEnum<"ApplicationRecordVersion" | "ObjectTypeReference" | "ObjectAttributeReference" | "ObjectName" | "EditStatus" | "EditorialUpDate" | "Urgency" | "SubjectReference" | "Category" | "SupplementalCategories" | "FixtureIdentifier" | "ContentLocationCode" | "ContentLocationName" | "ReleaseDate" | "ReleaseTime" | "ExpirationDate" | "ExpirationTime" | "SpecialInstructions" | "ActionAdvised" | "ReferenceService" | "ReferenceDate" | "ReferenceNumber" | "OriginatingProgram" | "ProgramVersion" | "ObjectCycle" | "By-line" | "By-lineTitle" | "City" | "Sub-location" | "Province-State" | "Country-PrimaryLocationCode" | "Country-PrimaryLocationName" | "OriginalTransmissionReference" | "Headline" | "Credit" | "Source" | "CopyrightNotice" | "Contact" | "Caption-Abstract" | "LocalCaption" | "Writer-Editor" | "ImageType" | "ImageOrientation" | "LanguageIdentifier" | "AudioType" | "AudioSamplingRate" | "AudioSamplingResolution" | "AudioDuration" | "AudioOutcue" | "JobID" | "MasterDocumentID" | "ShortDocumentID" | "UniqueDocumentID" | "OwnerID" | "ObjectPreviewFileFormat" | "ObjectPreviewFileVersion" | "Prefs" | "ClassifyState" | "SimilarityIndex" | "DocumentNotes" | "DocumentHistory" | "ExifCameraInfo">;
|
|
84
|
+
export type IPTCApplicationRecordTagName = StrEnumKeys<typeof IPTCApplicationRecordTagNames>;
|
|
85
|
+
/**
|
|
86
|
+
* Is the given tag name an IPTC application record tag?
|
|
87
|
+
*/
|
|
88
|
+
export declare function isIPTCApplicationRecordTag(name: string): name is keyof IPTCApplicationRecordTags;
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IPTCApplicationRecordTagNames = void 0;
|
|
4
|
+
exports.isIPTCApplicationRecordTag = isIPTCApplicationRecordTag;
|
|
5
|
+
const StrEnum_1 = require("./StrEnum");
|
|
6
|
+
exports.IPTCApplicationRecordTagNames = (0, StrEnum_1.strEnum)("ApplicationRecordVersion", "ObjectTypeReference", "ObjectAttributeReference", "ObjectName", "EditStatus", "EditorialUpDate", "Urgency", "SubjectReference", "Category", "SupplementalCategories", "FixtureIdentifier", "ContentLocationCode", "ContentLocationName", "ReleaseDate", "ReleaseTime", "ExpirationDate", "ExpirationTime", "SpecialInstructions", "ActionAdvised", "ReferenceService", "ReferenceDate", "ReferenceNumber", "OriginatingProgram", "ProgramVersion", "ObjectCycle", "By-line", "By-lineTitle", "City", "Sub-location", "Province-State", "Country-PrimaryLocationCode", "Country-PrimaryLocationName", "OriginalTransmissionReference", "Headline", "Credit", "Source", "CopyrightNotice", "Contact", "Caption-Abstract", "LocalCaption", "Writer-Editor", "ImageType", "ImageOrientation", "LanguageIdentifier", "AudioType", "AudioSamplingRate", "AudioSamplingResolution", "AudioDuration", "AudioOutcue", "JobID", "MasterDocumentID", "ShortDocumentID", "UniqueDocumentID", "OwnerID", "ObjectPreviewFileFormat", "ObjectPreviewFileVersion", "Prefs", "ClassifyState", "SimilarityIndex", "DocumentNotes", "DocumentHistory", "ExifCameraInfo");
|
|
7
|
+
/**
|
|
8
|
+
* Is the given tag name an IPTC application record tag?
|
|
9
|
+
*/
|
|
10
|
+
function isIPTCApplicationRecordTag(name) {
|
|
11
|
+
return exports.IPTCApplicationRecordTagNames.includes(name);
|
|
12
|
+
}
|
|
3
13
|
//# sourceMappingURL=IPTCApplicationRecordTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPTCApplicationRecordTags.js","sourceRoot":"","sources":["../src/IPTCApplicationRecordTags.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"IPTCApplicationRecordTags.js","sourceRoot":"","sources":["../src/IPTCApplicationRecordTags.ts"],"names":[],"mappings":";;;AA4JA,gEAIC;AA7JD,uCAA0D;AAiF7C,QAAA,6BAA6B,GAAG,IAAA,iBAAO,EAClD,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,cAAc,EACd,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,yBAAyB,EACzB,0BAA0B,EAC1B,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,CACkC,CAAC;AAMrD;;GAEG;AACH,SAAgB,0BAA0B,CACxC,IAAY;IAEZ,OAAO,qCAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StrEnum, StrEnumKeys } from "./StrEnum";
|
|
1
2
|
export interface ImageDataHashTag {
|
|
2
3
|
/**
|
|
3
4
|
* This is calculated by ExifTool to be the MD5, SHA256, or SHA512 hash of
|
|
@@ -11,3 +12,6 @@ export interface ImageDataHashTag {
|
|
|
11
12
|
*/
|
|
12
13
|
ImageDataHash?: string;
|
|
13
14
|
}
|
|
15
|
+
export declare const ImageDataHashTagNames: StrEnum<"ImageDataHash">;
|
|
16
|
+
export type ImageDataHashTagName = StrEnumKeys<typeof ImageDataHashTagNames>;
|
|
17
|
+
export declare function isImageDataHashTag(name: string): name is keyof ImageDataHashTag;
|
package/dist/ImageDataHashTag.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageDataHashTagNames = void 0;
|
|
4
|
+
exports.isImageDataHashTag = isImageDataHashTag;
|
|
5
|
+
const StrEnum_1 = require("./StrEnum");
|
|
6
|
+
exports.ImageDataHashTagNames = (0, StrEnum_1.strEnum)("ImageDataHash");
|
|
7
|
+
function isImageDataHashTag(name) {
|
|
8
|
+
return exports.ImageDataHashTagNames.includes(name);
|
|
9
|
+
}
|
|
3
10
|
//# sourceMappingURL=ImageDataHashTag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageDataHashTag.js","sourceRoot":"","sources":["../src/ImageDataHashTag.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ImageDataHashTag.js","sourceRoot":"","sources":["../src/ImageDataHashTag.ts"],"names":[],"mappings":";;;AAsBA,gDAIC;AA1BD,uCAA0D;AAgB7C,QAAA,qBAAqB,GAAG,IAAA,iBAAO,EAAC,eAAe,CAE3D,CAAC;AAIF,SAAgB,kBAAkB,CAChC,IAAY;IAEZ,OAAO,6BAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/JSON.d.ts
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses a JSON string into an object, reviving the custom types defined in the Revivers map.
|
|
3
|
+
*
|
|
4
|
+
* - {@link BinaryField} is revived using {@link BinaryField.fromJSON}
|
|
5
|
+
* - {@link ExifDateTime} is revived using {@link ExifDateTime.fromJSON}
|
|
6
|
+
* - {@link ExifDate} is revived using {@link ExifDate.fromJSON}
|
|
7
|
+
* - {@link ExifTime} is revived using {@link ExifTime.fromJSON}
|
|
8
|
+
*/
|
|
1
9
|
export declare function parseJSON(s: string): any;
|
package/dist/JSON.js
CHANGED
|
@@ -12,6 +12,14 @@ const Revivers = {
|
|
|
12
12
|
ExifDate: (ea) => ExifDate_1.ExifDate.fromJSON(ea),
|
|
13
13
|
ExifTime: (ea) => ExifTime_1.ExifTime.fromJSON(ea),
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Parses a JSON string into an object, reviving the custom types defined in the Revivers map.
|
|
17
|
+
*
|
|
18
|
+
* - {@link BinaryField} is revived using {@link BinaryField.fromJSON}
|
|
19
|
+
* - {@link ExifDateTime} is revived using {@link ExifDateTime.fromJSON}
|
|
20
|
+
* - {@link ExifDate} is revived using {@link ExifDate.fromJSON}
|
|
21
|
+
* - {@link ExifTime} is revived using {@link ExifTime.fromJSON}
|
|
22
|
+
*/
|
|
15
23
|
function parseJSON(s) {
|
|
16
24
|
return JSON.parse(s, (_key, value) => {
|
|
17
25
|
return Revivers[value?._ctor]?.(value) ?? value;
|
package/dist/JSON.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSON.js","sourceRoot":"","sources":["../src/JSON.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"JSON.js","sourceRoot":"","sources":["../src/JSON.ts"],"names":[],"mappings":";;AAoBA,8BAIC;AAxBD,uDAAuD;AACvD,+CAA4C;AAC5C,yCAAsC;AACtC,iDAA8C;AAC9C,yCAAsC;AAEtC,MAAM,QAAQ,GAAG;IACf,WAAW,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,yBAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,2BAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CACE,CAAC;AACjD;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAU,EAAE,EAAE;QACxC,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/MWGTags.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StrEnum, StrEnumKeys } from "./StrEnum";
|
|
1
2
|
export interface KeywordInfoStruct {
|
|
2
3
|
Hierarchy?: KeywordStruct[];
|
|
3
4
|
}
|
|
@@ -25,3 +26,15 @@ export interface CollectionInfo {
|
|
|
25
26
|
export interface MWGCollectionsTags {
|
|
26
27
|
Collections?: CollectionInfo[];
|
|
27
28
|
}
|
|
29
|
+
export declare const MWGKeywordTagNames: StrEnum<"KeywordInfo" | "HierarchicalKeywords">;
|
|
30
|
+
export type MWGKeywordTagName = StrEnumKeys<typeof MWGKeywordTagNames>;
|
|
31
|
+
/**
|
|
32
|
+
* Is the given tag name an MWG keyword tag?
|
|
33
|
+
*/
|
|
34
|
+
export declare function isMWGKeywordTag(name: string): name is keyof MWGKeywordTags;
|
|
35
|
+
export declare const MWGCollectionsTagNames: StrEnum<"Collections">;
|
|
36
|
+
export type MWGCollectionsTagName = StrEnumKeys<typeof MWGCollectionsTagNames>;
|
|
37
|
+
/**
|
|
38
|
+
* Is the given tag name an MWG collections tag?
|
|
39
|
+
*/
|
|
40
|
+
export declare function isMWGCollectionsTag(name: string): name is keyof MWGCollectionsTags;
|
package/dist/MWGTags.js
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MWGCollectionsTagNames = exports.MWGKeywordTagNames = void 0;
|
|
4
|
+
exports.isMWGKeywordTag = isMWGKeywordTag;
|
|
5
|
+
exports.isMWGCollectionsTag = isMWGCollectionsTag;
|
|
6
|
+
const StrEnum_1 = require("./StrEnum");
|
|
7
|
+
exports.MWGKeywordTagNames = (0, StrEnum_1.strEnum)("KeywordInfo", "HierarchicalKeywords");
|
|
8
|
+
/**
|
|
9
|
+
* Is the given tag name an MWG keyword tag?
|
|
10
|
+
*/
|
|
11
|
+
function isMWGKeywordTag(name) {
|
|
12
|
+
return exports.MWGKeywordTagNames.includes(name);
|
|
13
|
+
}
|
|
14
|
+
exports.MWGCollectionsTagNames = (0, StrEnum_1.strEnum)("Collections");
|
|
15
|
+
/**
|
|
16
|
+
* Is the given tag name an MWG collections tag?
|
|
17
|
+
*/
|
|
18
|
+
function isMWGCollectionsTag(name) {
|
|
19
|
+
return exports.MWGCollectionsTagNames.includes(name);
|
|
20
|
+
}
|
|
3
21
|
//# sourceMappingURL=MWGTags.js.map
|
package/dist/MWGTags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MWGTags.js","sourceRoot":"","sources":["../src/MWGTags.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"MWGTags.js","sourceRoot":"","sources":["../src/MWGTags.ts"],"names":[],"mappings":";;;AA4CA,0CAEC;AAWD,kDAIC;AA7DD,uCAA0D;AAkC7C,QAAA,kBAAkB,GAAG,IAAA,iBAAO,EACvC,aAAa,EACb,sBAAsB,CACiB,CAAC;AAI1C;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,0BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAEY,QAAA,sBAAsB,GAAG,IAAA,iBAAO,EAAC,aAAa,CAE1D,CAAC;AAIF;;GAEG;AACH,SAAgB,mBAAmB,CACjC,IAAY;IAEZ,OAAO,8BAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|
package/dist/Maybe.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type Maybe<T> = T | undefined;
|
|
2
|
-
export type
|
|
3
|
-
export
|
|
4
|
-
export declare function
|
|
2
|
+
export type Nullable<T> = T | undefined | null;
|
|
3
|
+
export type MaybeNull<T> = Nullable<T>;
|
|
4
|
+
export declare function map<T, U>(maybeT: Nullable<T>, f: (t: T) => U): Maybe<U>;
|
|
5
|
+
export declare function map2<A, B, U>(a: Nullable<A>, b: Nullable<B>, f: (a: A, b: B) => U): Maybe<U>;
|
|
5
6
|
export declare function first<T, U>(iter: Iterable<Maybe<T>>, f: (t: T) => Maybe<U>): Maybe<U>;
|
|
6
7
|
export declare function firstDefinedThunk<T>(iter: Iterable<() => Maybe<T>>): Maybe<T>;
|
|
7
8
|
/**
|
package/dist/Maybe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Maybe.js","sourceRoot":"","sources":["../src/Maybe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Maybe.js","sourceRoot":"","sources":["../src/Maybe.ts"],"names":[],"mappings":";;AAIA,kBAEC;AAED,oBAMC;AAED,sBAWC;AAED,8CAMC;AAKD,wBAEC;AAtCD,SAAgB,GAAG,CAAO,MAAmB,EAAE,CAAc;IAC3D,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,IAAI,CAClB,CAAc,EACd,CAAc,EACd,CAAoB;IAEpB,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,KAAK,CACnB,IAAwB,EACxB,CAAqB;IAErB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO;AACT,CAAC;AAED,SAAgB,iBAAiB,CAAI,IAA8B;IACjE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;IACpC,CAAC;IACD,OAAO;AACT,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAI,CAAW;IACnC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/Object.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Nullable } from "./Maybe";
|
|
2
2
|
export declare function isObject(obj: unknown): obj is object;
|
|
3
3
|
export declare function keys<T extends object, K extends string & keyof T>(o: T): K[];
|
|
4
4
|
export declare function isFunction(obj: unknown): obj is (...args: unknown[]) => unknown;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Turns an array of `[key, value]` pairs into an object.
|
|
7
|
+
*
|
|
8
|
+
* • Pairs whose key is `null | undefined` **or** value is `undefined` are skipped.
|
|
9
|
+
* • If `base` is provided it is mutated and returned (handy for “extend” use‑cases).
|
|
10
|
+
*/
|
|
11
|
+
export declare function fromEntries<K extends PropertyKey, V = unknown>(pairs: Nullable<Nullable<[Nullable<K>, V]>[]>, base?: Record<K, V>): Record<K, V>;
|
|
6
12
|
export type Unpick<T, U> = {
|
|
7
13
|
[P in keyof T]: P extends U ? never : T[P];
|
|
8
14
|
};
|
package/dist/Object.js
CHANGED
|
@@ -17,22 +17,22 @@ function keys(o) {
|
|
|
17
17
|
function isFunction(obj) {
|
|
18
18
|
return typeof obj === "function";
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Turns an array of `[key, value]` pairs into an object.
|
|
22
|
+
*
|
|
23
|
+
* • Pairs whose key is `null | undefined` **or** value is `undefined` are skipped.
|
|
24
|
+
* • If `base` is provided it is mutated and returned (handy for “extend” use‑cases).
|
|
25
|
+
*/
|
|
26
|
+
function fromEntries(pairs, base = {}) {
|
|
23
27
|
// don't use Object.create(null), json stringify will break!
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!isObject(obj))
|
|
30
|
-
obj = {};
|
|
31
|
-
obj[k] = v;
|
|
32
|
-
}
|
|
28
|
+
if (pairs == null || pairs.length === 0)
|
|
29
|
+
return base ?? {};
|
|
30
|
+
for (const pair of pairs) {
|
|
31
|
+
if (pair != null && pair[0] != null && pair[1] !== undefined) {
|
|
32
|
+
base[pair[0]] = pair[1];
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
return
|
|
35
|
+
return base;
|
|
36
36
|
}
|
|
37
37
|
function omit(t, ...keysToOmit) {
|
|
38
38
|
const result = {};
|
package/dist/Object.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Object.js","sourceRoot":"","sources":["../src/Object.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,oBAMC;AAED,gCAIC;
|
|
1
|
+
{"version":3,"file":"Object.js","sourceRoot":"","sources":["../src/Object.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,oBAMC;AAED,gCAIC;AAQD,kCAaC;AAID,oBAWC;AAWD,wBAEC;AAjED,SAAgB,QAAQ,CAAC,GAAY;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;AACjD,CAAC;AAED,SAAgB,IAAI,CAA+C,CAAI;IACrE,OAAO,CAAC,IAAI,IAAI;QACd,CAAC,CAAC,EAAE;QACJ,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5B,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CACxB,GAAY;IAEZ,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,KAA6C,EAC7C,OAAqB,EAAkB;IAEvC,4DAA4D;IAC5D,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,IAAI,EAAE,CAAC;IAE3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAM,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,SAAgB,IAAI,CAClB,CAAI,EACJ,GAAG,UAAe;IAElB,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAC5B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAE,UAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAChC,EAAE,CAAC;QACjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAsB,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,MAAM,CAAI,CAAkC;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAgB,CAAC;AACvC,CAAC;AAED,uDAAuD;AAEvD,yGAAyG"}
|
package/dist/ReadTask.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ExifToolTask } from "./ExifToolTask";
|
|
2
2
|
import { Maybe } from "./Maybe";
|
|
3
3
|
import { Tags } from "./Tags";
|
|
4
|
-
export declare const ReadTaskOptionFields: ["backfillTimezones", "defaultVideosToUTC", "geolocation", "geoTz", "ignoreMinorErrors", "ignoreZeroZeroLatLon", "imageHashType", "includeImageDataMD5", "inferTimezoneFromDatestamps", "inferTimezoneFromDatestampTags", "inferTimezoneFromTimeStamp", "
|
|
4
|
+
export declare const ReadTaskOptionFields: ["adjustTimeZoneIfDaylightSavings", "backfillTimezones", "defaultVideosToUTC", "geolocation", "geoTz", "ignoreMinorErrors", "ignoreZeroZeroLatLon", "imageHashType", "includeImageDataMD5", "inferTimezoneFromDatestamps", "inferTimezoneFromDatestampTags", "inferTimezoneFromTimeStamp", "keepUTCTime", "numericTags", "preferTimezoneInferenceFromGps", "readArgs", "struct", "useMWG"];
|
|
5
5
|
export declare function nullish(s: unknown): s is undefined;
|
|
6
6
|
export declare const DefaultReadTaskOptions: {
|
|
7
7
|
readonly includeImageDataMD5: boolean | undefined;
|
|
@@ -21,6 +21,7 @@ export declare const DefaultReadTaskOptions: {
|
|
|
21
21
|
readonly readArgs: string[];
|
|
22
22
|
readonly adjustTimeZoneIfDaylightSavings: (tags: Tags, tz: string) => Maybe<number>;
|
|
23
23
|
readonly preferTimezoneInferenceFromGps: boolean;
|
|
24
|
+
readonly keepUTCTime: boolean;
|
|
24
25
|
};
|
|
25
26
|
export type ReadTaskOptions = Partial<typeof DefaultReadTaskOptions>;
|
|
26
27
|
export declare class ReadTask extends ExifToolTask<Tags> {
|
package/dist/ReadTask.js
CHANGED
|
@@ -69,6 +69,7 @@ const PassthroughTags = [
|
|
|
69
69
|
"DateDisplayFormat",
|
|
70
70
|
];
|
|
71
71
|
exports.ReadTaskOptionFields = [
|
|
72
|
+
"adjustTimeZoneIfDaylightSavings",
|
|
72
73
|
"backfillTimezones",
|
|
73
74
|
"defaultVideosToUTC",
|
|
74
75
|
"geolocation",
|
|
@@ -80,12 +81,12 @@ exports.ReadTaskOptionFields = [
|
|
|
80
81
|
"inferTimezoneFromDatestamps",
|
|
81
82
|
"inferTimezoneFromDatestampTags",
|
|
82
83
|
"inferTimezoneFromTimeStamp",
|
|
84
|
+
"keepUTCTime",
|
|
83
85
|
"numericTags",
|
|
84
|
-
"useMWG",
|
|
85
|
-
"struct",
|
|
86
|
-
"readArgs",
|
|
87
|
-
"adjustTimeZoneIfDaylightSavings",
|
|
88
86
|
"preferTimezoneInferenceFromGps",
|
|
87
|
+
"readArgs",
|
|
88
|
+
"struct",
|
|
89
|
+
"useMWG",
|
|
89
90
|
];
|
|
90
91
|
const NullIsh = ["undef", "null", "undefined"];
|
|
91
92
|
function nullish(s) {
|
|
@@ -142,6 +143,9 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
142
143
|
if (true === opts.geolocation) {
|
|
143
144
|
args.push("-api", "geolocation");
|
|
144
145
|
}
|
|
146
|
+
if (true === opts.keepUTCTime) {
|
|
147
|
+
args.push("-api", "keepUTCTime");
|
|
148
|
+
}
|
|
145
149
|
// IMPORTANT: "-all" must be after numeric tag references, as the first
|
|
146
150
|
// reference in wins
|
|
147
151
|
args.push(...opts.numericTags.map((ea) => "-" + ea + "#"));
|
|
@@ -203,6 +207,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
203
207
|
this.#extractGpsMetadata();
|
|
204
208
|
const tzSrc = this.#extractTzOffset();
|
|
205
209
|
if (tzSrc) {
|
|
210
|
+
tags.zone = tzSrc.zone;
|
|
206
211
|
tags.tz = tzSrc.tz;
|
|
207
212
|
tags.tzSource = tzSrc.src;
|
|
208
213
|
}
|
|
@@ -249,10 +254,11 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
249
254
|
if (gps == null || gps.invalid === true || lat == null || lon == null)
|
|
250
255
|
return;
|
|
251
256
|
// First try GeolocationTimeZone:
|
|
252
|
-
const
|
|
253
|
-
if (
|
|
257
|
+
const geolocZone = (0, Timezones_1.normalizeZone)(this.#rawDegrouped.GeolocationTimeZone);
|
|
258
|
+
if (geolocZone != null) {
|
|
254
259
|
return {
|
|
255
|
-
|
|
260
|
+
zone: geolocZone.name,
|
|
261
|
+
tz: geolocZone.name,
|
|
256
262
|
src: "GeolocationTimeZone",
|
|
257
263
|
};
|
|
258
264
|
}
|
|
@@ -261,6 +267,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
261
267
|
const zone = (0, Timezones_1.normalizeZone)(geoTz);
|
|
262
268
|
if (zone != null) {
|
|
263
269
|
return {
|
|
270
|
+
zone: zone.name,
|
|
264
271
|
tz: zone.name,
|
|
265
272
|
src: "GPSLatitude/GPSLongitude",
|
|
266
273
|
};
|
|
@@ -288,6 +295,7 @@ class ReadTask extends ExifToolTask_1.ExifToolTask {
|
|
|
288
295
|
// timezone offset in their datetime stamps.
|
|
289
296
|
(this.#defaultToUTC()
|
|
290
297
|
? {
|
|
298
|
+
zone: "UTC",
|
|
291
299
|
tz: "UTC",
|
|
292
300
|
src: "defaultVideosToUTC",
|
|
293
301
|
}
|
package/dist/ReadTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadTask.js","sourceRoot":"","sources":["../src/ReadTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Maybe, Nullable } from "./Maybe";
|
|
2
|
+
export type StrEnumType<T extends string> = {
|
|
3
|
+
[K in T]: K;
|
|
4
|
+
};
|
|
5
|
+
export type StrEnumHelpers<T extends string> = {
|
|
6
|
+
values: T[];
|
|
7
|
+
length: number;
|
|
8
|
+
/** synonym for includes */
|
|
9
|
+
has(s: Nullable<string>): s is T;
|
|
10
|
+
includes(s: Nullable<string>): s is T;
|
|
11
|
+
getCI(s: Nullable<string>): Maybe<T>;
|
|
12
|
+
pick<O extends T>(...t: O[]): Extract<T, O>[];
|
|
13
|
+
omit<O extends T>(...t: O[]): Exclude<T, O>[];
|
|
14
|
+
indexOf(s: Nullable<string>): Maybe<number>;
|
|
15
|
+
ordinal(s: Nullable<string>): number;
|
|
16
|
+
/** synonym for getCI */
|
|
17
|
+
toValid(s: Nullable<string>): Maybe<T>;
|
|
18
|
+
/** @return the first value in arr that getCI returns a non-null value for */
|
|
19
|
+
firstValid(...arr: Nullable<string>[]): Maybe<T>;
|
|
20
|
+
mapValid<R>(s: Nullable<string>, f: (t: T) => R): Maybe<R>;
|
|
21
|
+
cmp(a: Nullable<string>, b: Nullable<string>): Maybe<number>;
|
|
22
|
+
lt(a: T, b: T): boolean;
|
|
23
|
+
next(s: Nullable<string>): Maybe<T>;
|
|
24
|
+
/**
|
|
25
|
+
* @return a new StrEnum with the values in reverse order.
|
|
26
|
+
*
|
|
27
|
+
* (This follows the new "toReversed" ES2023 naming convention for methods that return a new object)
|
|
28
|
+
*/
|
|
29
|
+
toReversed(): StrEnum<T>;
|
|
30
|
+
};
|
|
31
|
+
export type StrEnum<T extends string> = StrEnumType<T> & StrEnumHelpers<T>;
|
|
32
|
+
export type StrEnumKeys<Type> = Type extends StrEnum<infer X> ? X : never;
|
|
33
|
+
export declare function strEnum<T extends string>(...o: T[]): StrEnum<T>;
|
|
34
|
+
export declare const Directions: StrEnum<"North" | "South" | "East" | "West">;
|
|
35
|
+
export type Direction = StrEnumKeys<typeof Directions>;
|
package/dist/StrEnum.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Directions = void 0;
|
|
4
|
+
exports.strEnum = strEnum;
|
|
5
|
+
const Array_1 = require("./Array");
|
|
6
|
+
const Object_1 = require("./Object");
|
|
7
|
+
function lessThan(a, b) {
|
|
8
|
+
return a == null || b == null ? false : a < b;
|
|
9
|
+
}
|
|
10
|
+
function strEnum(...o) {
|
|
11
|
+
const values = Object.freeze((0, Array_1.uniq)(o));
|
|
12
|
+
// toLowerCase() is safe because we know all strEnum values are latin ASCII:
|
|
13
|
+
const lcToValue = new Map(values.map((ea) => [ea.toLowerCase(), ea]));
|
|
14
|
+
const valueToIndex = (0, Object_1.fromEntries)(values.map((ea, idx) => [ea, idx]));
|
|
15
|
+
const dict = {};
|
|
16
|
+
for (const ea of values) {
|
|
17
|
+
dict[ea] = ea;
|
|
18
|
+
}
|
|
19
|
+
// toLowerCase() is safe because we know all strEnum values are latin ASCII:
|
|
20
|
+
const getCI = (s) => s == null ? undefined : lcToValue.get(s?.toLowerCase());
|
|
21
|
+
const indexOf = (s) => s != null ? valueToIndex[s] : undefined;
|
|
22
|
+
const ordinal = (s) => indexOf(s) ?? values.length;
|
|
23
|
+
const includes = (s) => indexOf(s) != null;
|
|
24
|
+
const pick = (...t) => values.filter((ea) => t.includes(ea));
|
|
25
|
+
const omit = (...t) => values.filter((ea) => !t.includes(ea));
|
|
26
|
+
const toValid = (s) => s == null ? undefined : includes(s) ? s : getCI(s);
|
|
27
|
+
const firstValid = (...s) => {
|
|
28
|
+
for (const ea of s) {
|
|
29
|
+
const v = toValid(ea);
|
|
30
|
+
if (v != null)
|
|
31
|
+
return v;
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
};
|
|
35
|
+
const mapValid = (s, f) => includes(s) ? f(s) : undefined;
|
|
36
|
+
const cmp = (a, b) => {
|
|
37
|
+
const a_ = indexOf(a);
|
|
38
|
+
const b_ = indexOf(b);
|
|
39
|
+
return a_ == null || b_ == null
|
|
40
|
+
? undefined
|
|
41
|
+
: a_ > b_
|
|
42
|
+
? 1
|
|
43
|
+
: a_ < b_
|
|
44
|
+
? -1
|
|
45
|
+
: 0;
|
|
46
|
+
};
|
|
47
|
+
const lt = (a, b) => lessThan(indexOf(a), indexOf(b));
|
|
48
|
+
const next = (s) => {
|
|
49
|
+
const i = indexOf(s);
|
|
50
|
+
return i == null ? undefined : values[i];
|
|
51
|
+
};
|
|
52
|
+
const toReversed = () => strEnum(...[...values].reverse());
|
|
53
|
+
return {
|
|
54
|
+
...dict,
|
|
55
|
+
values,
|
|
56
|
+
length: values.length,
|
|
57
|
+
has: includes, // alias for includes
|
|
58
|
+
includes,
|
|
59
|
+
getCI,
|
|
60
|
+
pick,
|
|
61
|
+
omit,
|
|
62
|
+
indexOf,
|
|
63
|
+
ordinal,
|
|
64
|
+
toValid,
|
|
65
|
+
firstValid,
|
|
66
|
+
mapValid,
|
|
67
|
+
cmp,
|
|
68
|
+
lt,
|
|
69
|
+
next,
|
|
70
|
+
toReversed,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// Example usage:
|
|
74
|
+
exports.Directions = strEnum("North", "South", "East", "West");
|
|
75
|
+
//# sourceMappingURL=StrEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrEnum.js","sourceRoot":"","sources":["../src/StrEnum.ts"],"names":[],"mappings":"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"}
|