@digabi/exam-engine-rendering 23.3.0 → 23.4.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.
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"exifDataAndImageHandler.d.ts","sourceRoot":"","sources":["../../src/utils/exifDataAndImageHandler.ts"],"names":[],"mappings":"AAIA,wBAAsB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBrF"}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.createFileWithCleanExif = void 0;
|
30
|
+
const path_1 = __importDefault(require("path"));
|
31
|
+
const promises_1 = require("fs/promises");
|
32
|
+
const exif = __importStar(require("piexif-ts"));
|
33
|
+
async function createFileWithCleanExif(sourceFilePath) {
|
34
|
+
const imageData = async function (src) {
|
35
|
+
const data = await (0, promises_1.readFile)(src);
|
36
|
+
return data.toString('binary');
|
37
|
+
};
|
38
|
+
try {
|
39
|
+
if (path_1.default.extname(sourceFilePath) === '.jpg') {
|
40
|
+
const newFileSource = sourceFilePath;
|
41
|
+
const data = exif.load(await imageData(sourceFilePath));
|
42
|
+
const cleanExifData = createCleanExif(data);
|
43
|
+
const newImageBinary = exif.insert(exif.dump(cleanExifData), exif.remove(await imageData(sourceFilePath)));
|
44
|
+
await (0, promises_1.rm)(sourceFilePath, { force: true });
|
45
|
+
await (0, promises_1.writeFile)(newFileSource, newImageBinary, { encoding: 'binary' });
|
46
|
+
}
|
47
|
+
return sourceFilePath;
|
48
|
+
}
|
49
|
+
catch (error) {
|
50
|
+
console.log(`Warning: Unable to handle image EXIF metadata (file: ${path_1.default.basename(sourceFilePath)})`);
|
51
|
+
return sourceFilePath;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
exports.createFileWithCleanExif = createFileWithCleanExif;
|
55
|
+
function createCleanExif(exifSource) {
|
56
|
+
return {
|
57
|
+
...exifSource,
|
58
|
+
...((exifSource === null || exifSource === void 0 ? void 0 : exifSource['0th']) && { '0th': appendImageIFData(exifSource['0th']) }),
|
59
|
+
...((exifSource === null || exifSource === void 0 ? void 0 : exifSource.Exif) && { Exif: appendExifIFData(exifSource.Exif) }),
|
60
|
+
...((exifSource === null || exifSource === void 0 ? void 0 : exifSource.GPS) && { GPS: appendGPSIFData() })
|
61
|
+
};
|
62
|
+
}
|
63
|
+
function appendGPSIFData() {
|
64
|
+
return {};
|
65
|
+
}
|
66
|
+
function appendExifIFData(source) {
|
67
|
+
const exifIFD = exif.TagValues.ExifIFD;
|
68
|
+
return Object.assign(source, {
|
69
|
+
[exifIFD.MakerNote]: '',
|
70
|
+
[exifIFD.UserComment]: '',
|
71
|
+
[exifIFD.LensMake]: '',
|
72
|
+
[exifIFD.LensModel]: '',
|
73
|
+
[exifIFD.LensSerialNumber]: '',
|
74
|
+
[exifIFD.LensSpecification]: [[0]],
|
75
|
+
[exifIFD.CameraOwnerName]: '',
|
76
|
+
[exifIFD.BodySerialNumber]: '',
|
77
|
+
[exifIFD.DateTimeOriginal]: '',
|
78
|
+
[exifIFD.DateTimeDigitized]: ''
|
79
|
+
});
|
80
|
+
}
|
81
|
+
function appendImageIFData(source) {
|
82
|
+
const imageIFD = exif.TagValues.ImageIFD;
|
83
|
+
return Object.assign(source, {
|
84
|
+
[imageIFD.DocumentName]: '',
|
85
|
+
[imageIFD.ImageDescription]: '',
|
86
|
+
[imageIFD.Make]: '',
|
87
|
+
[imageIFD.Model]: '',
|
88
|
+
[imageIFD.Model]: '',
|
89
|
+
[imageIFD.Software]: '',
|
90
|
+
[imageIFD.DateTime]: '',
|
91
|
+
[imageIFD.Artist]: '',
|
92
|
+
[imageIFD.HostComputer]: '',
|
93
|
+
[imageIFD.Copyright]: '',
|
94
|
+
[imageIFD.ExposureTime]: [[0]],
|
95
|
+
[imageIFD.TimeZoneOffset]: [0],
|
96
|
+
[imageIFD.XPKeywords]: [0],
|
97
|
+
[imageIFD.XPTitle]: [0],
|
98
|
+
[imageIFD.XPComment]: [0],
|
99
|
+
[imageIFD.XPSubject]: [0],
|
100
|
+
[imageIFD.LocalizedCameraModel]: [0],
|
101
|
+
[imageIFD.CameraSerialNumber]: '',
|
102
|
+
[imageIFD.MakerNoteSafety]: [0],
|
103
|
+
[imageIFD.OriginalRawFileName]: [0],
|
104
|
+
[imageIFD.OriginalRawFileData]: ''
|
105
|
+
});
|
106
|
+
}
|
107
|
+
//# sourceMappingURL=exifDataAndImageHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"exifDataAndImageHandler.js","sourceRoot":"","sources":["../../src/utils/exifDataAndImageHandler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@digabi/exam-engine-rendering",
|
3
|
-
"version": "23.
|
3
|
+
"version": "23.4.0",
|
4
4
|
"main": "./dist/index.js",
|
5
5
|
"license": "EUPL-1.1",
|
6
6
|
"files": [
|
@@ -13,7 +13,7 @@
|
|
13
13
|
"@babel/polyfill": "^7.8.7",
|
14
14
|
"@babel/preset-env": "^7.8.7",
|
15
15
|
"@babel/runtime": "^7.8.7",
|
16
|
-
"@digabi/exam-engine-core": "23.
|
16
|
+
"@digabi/exam-engine-core": "23.4.0",
|
17
17
|
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
18
18
|
"babel-loader": "^9.1.2",
|
19
19
|
"child-process-promise": "^2.2.1",
|
@@ -42,5 +42,5 @@
|
|
42
42
|
"webpack-dev-server": "^5.0.0",
|
43
43
|
"webpack-merge": "^6.0.1"
|
44
44
|
},
|
45
|
-
"gitHead": "
|
45
|
+
"gitHead": "c515ebde95925f8e11533e81e03a5e75e31f5eca"
|
46
46
|
}
|