UNPKG

tinify-client

Version:

A CLI to compress your images not only intelligently but also to the EXTREME!

36 lines (35 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveExtFromRemote = exports.isRemoteFile = exports.getImageSize = exports.imageToBase64 = void 0; var image_to_base64_1 = require("@legend80s/image-to-base64"); Object.defineProperty(exports, "imageToBase64", { enumerable: true, get: function () { return image_to_base64_1.imageToBase64; } }); Object.defineProperty(exports, "getImageSize", { enumerable: true, get: function () { return image_to_base64_1.getFileSize; } }); const request_1 = require("./request"); exports.isRemoteFile = (path) => /^https?:\/\//.test(path); exports.resolveExtFromRemote = (url) => { return new Promise(resolve => { const req = request_1.getRequest(url) .get(url, (resp) => { resp.on('readable', () => { var _a; const { headers } = resp; // console.log('resp.headers:', resp.headers['content-type']); let ext = ''; if (headers['content-type']) { ext = ((_a = headers['content-type'].split('/')) === null || _a === void 0 ? void 0 : _a.pop()) || 'png'; } resolve(ext); req.abort(); }); }) .on('error', (error) => { console.error('HEAD', url, 'failed', error); resolve(''); }) .on('timeout', (error) => { console.error('HEAD', url, 'timeout:', error); resolve(''); req.abort(); }); }); };