1 | ;
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const child_process_1 = __importDefault(require("child_process"));
|
7 | const graceful_fs_1 = __importDefault(require("graceful-fs"));
|
8 | const pngjs_1 = require("pngjs");
|
9 | const promisify_event_1 = __importDefault(require("promisify-event"));
|
10 | const util_1 = require("util");
|
11 | exports.readDir = util_1.promisify(graceful_fs_1.default.readdir);
|
12 | exports.stat = util_1.promisify(graceful_fs_1.default.stat);
|
13 | exports.writeFile = util_1.promisify(graceful_fs_1.default.writeFile);
|
14 | exports.readFile = util_1.promisify(graceful_fs_1.default.readFile);
|
15 | exports.deleteFile = util_1.promisify(graceful_fs_1.default.unlink);
|
16 | exports.exec = util_1.promisify(child_process_1.default.exec);
|
17 | exports.sendMessageToChildProcess = util_1.promisify((process, ...args) => process.send(...args));
|
18 | function readPng(buffer) {
|
19 | const png = new pngjs_1.PNG();
|
20 | const parsedPromise = Promise.race([
|
21 | promisify_event_1.default(png, 'parsed'),
|
22 | promisify_event_1.default(png, 'error')
|
23 | ]);
|
24 | png.parse(buffer);
|
25 | return parsedPromise
|
26 | .then(() => png);
|
27 | }
|
28 | exports.readPng = readPng;
|
29 | async function readPngFile(filePath) {
|
30 | const buffer = await exports.readFile(filePath);
|
31 | return await readPng(buffer);
|
32 | }
|
33 | exports.readPngFile = readPngFile;
|
34 | function writePng(filePath, png) {
|
35 | const outStream = graceful_fs_1.default.createWriteStream(filePath);
|
36 | const pngStream = png.pack();
|
37 | const finishPromise = Promise.race([
|
38 | promisify_event_1.default(outStream, 'finish'),
|
39 | promisify_event_1.default(outStream, 'error'),
|
40 | promisify_event_1.default(pngStream, 'error')
|
41 | ]);
|
42 | pngStream.pipe(outStream);
|
43 | return finishPromise;
|
44 | }
|
45 | exports.writePng = writePng;
|
46 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzaWZpZWQtZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Byb21pc2lmaWVkLWZ1bmN0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtFQUF5QztBQUN6Qyw4REFBNkI7QUFDN0IsaUNBQTRCO0FBQzVCLHNFQUE2QztBQUM3QywrQkFBaUM7QUFFcEIsUUFBQSxPQUFPLEdBQU0sZ0JBQVMsQ0FBQyxxQkFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLFFBQUEsSUFBSSxHQUFTLGdCQUFTLENBQUMscUJBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxRQUFBLFNBQVMsR0FBSSxnQkFBUyxDQUFDLHFCQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckMsUUFBQSxRQUFRLEdBQUssZ0JBQVMsQ0FBQyxxQkFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLFFBQUEsVUFBVSxHQUFHLGdCQUFTLENBQUMscUJBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVsQyxRQUFBLElBQUksR0FBRyxnQkFBUyxDQUFDLHVCQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFcEMsUUFBQSx5QkFBeUIsR0FBRyxnQkFBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUVoRyxTQUFnQixPQUFPLENBQUUsTUFBTTtJQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0lBRXRCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDL0IseUJBQWMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQzdCLHlCQUFjLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQztLQUMvQixDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWxCLE9BQU8sYUFBYTtTQUNmLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBWkQsMEJBWUM7QUFFTSxLQUFLLFVBQVUsV0FBVyxDQUFFLFFBQVE7SUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxnQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUpELGtDQUlDO0FBRUQsU0FBZ0IsUUFBUSxDQUFFLFFBQVEsRUFBRSxHQUFHO0lBQ25DLE1BQU0sU0FBUyxHQUFHLHFCQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTdCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDL0IseUJBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO1FBQ25DLHlCQUFjLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztRQUNsQyx5QkFBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7S0FDckMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUxQixPQUFPLGFBQWEsQ0FBQztBQUN6QixDQUFDO0FBYkQsNEJBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hpbGRQcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IGZzIGZyb20gJ2dyYWNlZnVsLWZzJztcbmltcG9ydCB7IFBORyB9IGZyb20gJ3BuZ2pzJztcbmltcG9ydCBwcm9taXNpZnlFdmVudCBmcm9tICdwcm9taXNpZnktZXZlbnQnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5cbmV4cG9ydCBjb25zdCByZWFkRGlyICAgID0gcHJvbWlzaWZ5KGZzLnJlYWRkaXIpO1xuZXhwb3J0IGNvbnN0IHN0YXQgICAgICAgPSBwcm9taXNpZnkoZnMuc3RhdCk7XG5leHBvcnQgY29uc3Qgd3JpdGVGaWxlICA9IHByb21pc2lmeShmcy53cml0ZUZpbGUpO1xuZXhwb3J0IGNvbnN0IHJlYWRGaWxlICAgPSBwcm9taXNpZnkoZnMucmVhZEZpbGUpO1xuZXhwb3J0IGNvbnN0IGRlbGV0ZUZpbGUgPSBwcm9taXNpZnkoZnMudW5saW5rKTtcblxuZXhwb3J0IGNvbnN0IGV4ZWMgPSBwcm9taXNpZnkoY2hpbGRQcm9jZXNzLmV4ZWMpO1xuXG5leHBvcnQgY29uc3Qgc2VuZE1lc3NhZ2VUb0NoaWxkUHJvY2VzcyA9IHByb21pc2lmeSgocHJvY2VzcywgLi4uYXJncykgPT4gcHJvY2Vzcy5zZW5kKC4uLmFyZ3MpKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQbmcgKGJ1ZmZlcikge1xuICAgIGNvbnN0IHBuZyA9IG5ldyBQTkcoKTtcblxuICAgIGNvbnN0IHBhcnNlZFByb21pc2UgPSBQcm9taXNlLnJhY2UoW1xuICAgICAgICBwcm9taXNpZnlFdmVudChwbmcsICdwYXJzZWQnKSxcbiAgICAgICAgcHJvbWlzaWZ5RXZlbnQocG5nLCAnZXJyb3InKVxuICAgIF0pO1xuXG4gICAgcG5nLnBhcnNlKGJ1ZmZlcik7XG5cbiAgICByZXR1cm4gcGFyc2VkUHJvbWlzZVxuICAgICAgICAudGhlbigoKSA9PiBwbmcpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFBuZ0ZpbGUgKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHJlYWRQbmcoYnVmZmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlUG5nIChmaWxlUGF0aCwgcG5nKSB7XG4gICAgY29uc3Qgb3V0U3RyZWFtID0gZnMuY3JlYXRlV3JpdGVTdHJlYW0oZmlsZVBhdGgpO1xuICAgIGNvbnN0IHBuZ1N0cmVhbSA9IHBuZy5wYWNrKCk7XG5cbiAgICBjb25zdCBmaW5pc2hQcm9taXNlID0gUHJvbWlzZS5yYWNlKFtcbiAgICAgICAgcHJvbWlzaWZ5RXZlbnQob3V0U3RyZWFtLCAnZmluaXNoJyksXG4gICAgICAgIHByb21pc2lmeUV2ZW50KG91dFN0cmVhbSwgJ2Vycm9yJyksXG4gICAgICAgIHByb21pc2lmeUV2ZW50KHBuZ1N0cmVhbSwgJ2Vycm9yJylcbiAgICBdKTtcblxuICAgIHBuZ1N0cmVhbS5waXBlKG91dFN0cmVhbSk7XG5cbiAgICByZXR1cm4gZmluaXNoUHJvbWlzZTtcbn1cbiJdfQ== |
\ | No newline at end of file |