UNPKG

file-box

Version:

Pack a File into Box for easy move/transfer between servers no matter of where it is.(local path, remote url, or cloud storage)

35 lines 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.qrValueToStream = exports.bufferToQrValue = void 0; const stream_1 = require("stream"); // The npm package of my best choice for QR code decoding on Angular SPA // https://dev.to/j_sakamoto/the-npm-package-of-my-best-choice-for-qr-code-decoding-on-angular-spa-4747?returning-user=true const jimp_1 = __importDefault(require("jimp")); const jsqr_1 = __importDefault(require("jsqr")); /** * https://www.npmjs.com/package/qrcode * Huan(202002): This module is encode only. */ const qrcode_1 = require("qrcode"); async function bufferToQrValue(buf) { const image = await jimp_1.default.read(buf); const qrCodeImageArray = new Uint8ClampedArray(image.bitmap.data.buffer); const qrCodeResult = (0, jsqr_1.default)(qrCodeImageArray, image.bitmap.width, image.bitmap.height); if (qrCodeResult) { return qrCodeResult.data; } else { throw new Error('bufferToQrcode(buf) fail!'); } } exports.bufferToQrValue = bufferToQrValue; async function qrValueToStream(value) { const stream = new stream_1.PassThrough(); await (0, qrcode_1.toFileStream)(stream, value); // only support .png for now return stream; } exports.qrValueToStream = qrValueToStream; //# sourceMappingURL=qrcode.js.map