exiftool-vendored
Advanced tools
Comparing version 15.5.0 to 15.6.0
@@ -28,2 +28,8 @@ # Changelog/Versioning | ||
### v15.6.0 | ||
- ✨ Added [serialization support](https://github.com/photostructure/exiftool-vendored.js/issues/102) | ||
- 🌱 ExifTool upgraded to [v12.34](https://exiftool.org/history.html#v12.34). | ||
### v15.5.0 | ||
@@ -30,0 +36,0 @@ |
@@ -25,2 +25,10 @@ import { DateTime } from "luxon"; | ||
toString(sep?: string): string; | ||
toJSON(): { | ||
_ctor: string; | ||
year: number; | ||
month: number; | ||
day: number; | ||
rawValue: string | undefined; | ||
}; | ||
static fromJSON(json: ReturnType<ExifDate["toJSON"]>): ExifDate; | ||
} |
@@ -63,4 +63,16 @@ "use strict"; | ||
} | ||
toJSON() { | ||
return { | ||
_ctor: "ExifDate", | ||
year: this.year, | ||
month: this.month, | ||
day: this.day, | ||
rawValue: this.rawValue, | ||
}; | ||
} | ||
static fromJSON(json) { | ||
return new ExifDate(json.year, json.month, json.day, json.rawValue); | ||
} | ||
} | ||
exports.ExifDate = ExifDate; | ||
//# sourceMappingURL=ExifDate.js.map |
@@ -42,2 +42,16 @@ import { DateTime, ToISOTimeOptions } from "luxon"; | ||
get isValid(): boolean; | ||
toJSON(): { | ||
_ctor: string; | ||
year: number; | ||
month: number; | ||
day: number; | ||
hour: number; | ||
minute: number; | ||
second: number; | ||
millisecond: number | undefined; | ||
tzoffsetMinutes: number | undefined; | ||
rawValue: string | undefined; | ||
zoneName: string | undefined; | ||
}; | ||
static fromJSON(json: ReturnType<ExifDateTime["toJSON"]>): ExifDateTime; | ||
} |
@@ -160,4 +160,22 @@ "use strict"; | ||
} | ||
toJSON() { | ||
return { | ||
_ctor: "ExifDateTime", | ||
year: this.year, | ||
month: this.month, | ||
day: this.day, | ||
hour: this.hour, | ||
minute: this.minute, | ||
second: this.second, | ||
millisecond: this.millisecond, | ||
tzoffsetMinutes: this.tzoffsetMinutes, | ||
rawValue: this.rawValue, | ||
zoneName: this.zoneName, | ||
}; | ||
} | ||
static fromJSON(json) { | ||
return new ExifDateTime(json.year, json.month, json.day, json.hour, json.minute, json.second, json.millisecond, json.tzoffsetMinutes, json.rawValue, json.zoneName); | ||
} | ||
} | ||
exports.ExifDateTime = ExifDateTime; | ||
//# sourceMappingURL=ExifDateTime.js.map |
@@ -19,2 +19,10 @@ import { DateTime } from "luxon"; | ||
toExifString(): string; | ||
toJSON(): { | ||
_ctor: string; | ||
hour: number; | ||
minute: number; | ||
second: number; | ||
millisecond: number | undefined; | ||
}; | ||
static fromJSON(json: ReturnType<ExifTime["toJSON"]>): ExifTime; | ||
} |
@@ -45,4 +45,16 @@ "use strict"; | ||
} | ||
toJSON() { | ||
return { | ||
_ctor: "ExifTime", | ||
hour: this.hour, | ||
minute: this.minute, | ||
second: this.second, | ||
millisecond: this.millisecond, | ||
}; | ||
} | ||
static fromJSON(json) { | ||
return new ExifTime(json.hour, json.minute, json.second, json.millisecond); | ||
} | ||
} | ||
exports.ExifTime = ExifTime; | ||
//# sourceMappingURL=ExifTime.js.map |
@@ -12,2 +12,3 @@ /// <reference types="node" /> | ||
export { ExifToolTask } from "./ExifToolTask"; | ||
export { parseJSON } from "./JSON"; | ||
export { offsetMinutesToZoneName } from "./Timezones"; | ||
@@ -14,0 +15,0 @@ export type { Tags }; |
@@ -22,3 +22,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.offsetMinutesToZoneName = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = void 0; | ||
exports.exiftool = exports.ExifTool = exports.DefaultExifToolOptions = exports.DefaultMaxProcs = exports.DefaultExiftoolArgs = exports.DefaultExifToolPath = exports.offsetMinutesToZoneName = exports.parseJSON = exports.ExifToolTask = exports.ExifTime = exports.ExifDateTime = exports.ExifDate = void 0; | ||
const bc = __importStar(require("batch-cluster")); | ||
@@ -49,2 +49,4 @@ const _cp = __importStar(require("child_process")); | ||
Object.defineProperty(exports, "ExifToolTask", { enumerable: true, get: function () { return ExifToolTask_1.ExifToolTask; } }); | ||
var JSON_1 = require("./JSON"); | ||
Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return JSON_1.parseJSON; } }); | ||
var Timezones_1 = require("./Timezones"); | ||
@@ -51,0 +53,0 @@ Object.defineProperty(exports, "offsetMinutesToZoneName", { enumerable: true, get: function () { return Timezones_1.offsetMinutesToZoneName; } }); |
{ | ||
"name": "exiftool-vendored", | ||
"version": "15.5.0", | ||
"version": "15.6.0", | ||
"description": "Efficient, cross-platform access to ExifTool", | ||
@@ -79,3 +79,3 @@ "main": "./dist/ExifTool.js", | ||
"@types/mocha": "^9.0.0", | ||
"@types/node": "^16.11.4", | ||
"@types/node": "^16.11.6", | ||
"@types/progress": "^2.0.5", | ||
@@ -86,4 +86,4 @@ "@types/rimraf": "^3.0.2", | ||
"@types/xmldom": "^0.1.31", | ||
"@typescript-eslint/eslint-plugin": "^5.1.0", | ||
"@typescript-eslint/parser": "^5.1.0", | ||
"@typescript-eslint/eslint-plugin": "^5.2.0", | ||
"@typescript-eslint/parser": "^5.2.0", | ||
"chai": "^4.3.4", | ||
@@ -107,3 +107,3 @@ "chai-as-promised": "^7.1.1", | ||
"tmp": "^0.2.1", | ||
"typedoc": "^0.22.6", | ||
"typedoc": "^0.22.7", | ||
"typescript": "^4.4.4", | ||
@@ -120,5 +120,5 @@ "@xmldom/xmldom": "^0.7.5", | ||
"optionalDependencies": { | ||
"exiftool-vendored.exe": "12.33.0", | ||
"exiftool-vendored.pl": "12.33.0" | ||
"exiftool-vendored.exe": "12.34.0", | ||
"exiftool-vendored.pl": "12.34.0" | ||
} | ||
} |
@@ -401,2 +401,21 @@ # exiftool-vendored | ||
## Serialization | ||
The `Tags` object returned by `.readTags()` can be serialized to JSON with `JSON.stringify`. | ||
To reconstitute, use the `parseJSON()` method. | ||
```ts | ||
import { exiftool, parseJSON } from "exiftool-vendored" | ||
const tags: Tags = await exiftool.readTags("/path/to/file.jpg") | ||
const str: string = JSON.stringify(tags) | ||
// parseJSON doesn't validate the input, so we don't assert that it's a Tags | ||
// instance, but you can cast it (unsafely...) | ||
const tags2: Tags = parseJSON(str) as Tags | ||
``` | ||
## Performance | ||
@@ -403,0 +422,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
404537
86
7583
476