UNPKG

keyvenant

Version:

Keyvenant is a JavaScript tool to generate and export CovenantSQL keys to facilitate key management locally and in web extensions.

57 lines 4.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); exports.isBrowser = typeof process === 'undefined' || !process.nextTick; function isHex(str) { return str.length % 2 === 0 && str.match(/^[0-9a-f]+$/i) ? true : false; } function isBase64(str) { if (str.length % 4 > 0 || str.match(/[^0-9a-z+\/=]/i)) { return false; } const index = str.indexOf('='); return (index === -1 || str.slice(index).match(/={1,2}/)) ? true : false; } function string2Buffer(str, enc) { if (!enc && isHex(str)) { enc = 'hex'; } if (!enc && isBase64(str)) { enc = 'base64'; } return Buffer.from(str, enc); } exports.string2Buffer = string2Buffer; function generateKeystoreFilename(address) { let date = new Date().toISOString(); // Windows does not support letter ':' in filename let filename = 'UTC--' + date.replace(/\:/g, '-') + '--' + address; return filename; } function exportToFile(keystore) { // if in browser return keystore object as stringify JSON if (exports.isBrowser) { return JSON.stringify(keystore); } let filename = generateKeystoreFilename(keystore.address); // default path is keystore folder let outpath = path_1.default.join(filename); fs_1.default.writeFileSync(outpath, JSON.stringify(keystore, null, 2)); return outpath; } exports.exportToFile = exportToFile; function importFromFile(filepath) { let file = fs_1.default.readFileSync(filepath, 'utf8'); let keystore = JSON.parse(file); return keystore; } exports.importFromFile = importFromFile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW1CO0FBQ25CLGdEQUF1QjtBQUVWLFFBQUEsU0FBUyxHQUFHLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7QUFFNUUsU0FBUyxLQUFLLENBQUMsR0FBVztJQUN4QixPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUN0RCxDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDWCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsR0FBVztJQUMzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDckQsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDOUIsT0FBTyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDWCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLEdBQVcsRUFBRSxHQUFZO0lBQ25ELElBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLEdBQUcsR0FBRyxLQUFLLENBQUE7S0FDWjtJQUNELElBQUksQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLEdBQUcsR0FBRyxRQUFRLENBQUE7S0FDZjtJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDaEMsQ0FBQztBQVRELHNDQVNDO0FBRUQsU0FBUyx3QkFBd0IsQ0FDL0IsT0FBZTtJQUVmLElBQUksSUFBSSxHQUFXLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0Msa0RBQWtEO0lBQ2xELElBQUksUUFBUSxHQUFXLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFBO0lBRTFFLE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQzFCLFFBQWE7SUFFYix5REFBeUQ7SUFDekQsSUFBSSxpQkFBUyxFQUFFO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQ2hDO0lBRUQsSUFBSSxRQUFRLEdBQVcsd0JBQXdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pFLGtDQUFrQztJQUNsQyxJQUFJLE9BQU8sR0FBVyxjQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXpDLFlBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFkRCxvQ0FjQztBQUVELFNBQWdCLGNBQWMsQ0FDNUIsUUFBZ0I7SUFFaEIsSUFBSSxJQUFJLEdBQUcsWUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDNUMsSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV2QyxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBUEQsd0NBT0MifQ==