UNPKG

@minespider/core-bundles

Version:

A high-level SDK for Minespider Core. It abstract the low-level features from the core SDK for a more high-level usage such as DAPPs. Some of the features are 1:1 with the SDK some others abstract some low-level interactions or multiple actions

68 lines 2.76 kB
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; define(["require", "exports", "webcrypto"], function (require, exports, webcrypto) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageFacade = void 0; webcrypto = __importStar(webcrypto); const crypto = webcrypto; const algorithm = "aes-256-ctr"; const sessionStorage = window.sessionStorage; class StorageFacade { async set(key, value, options) { if (options && options.password) { let encryptedValue = this.encryptWithPassword(value, options.password); sessionStorage.setItem(key, encryptedValue); } else { sessionStorage.setItem(key, value); } } async get(key, options) { if (options && options.password) { let encryptedValue = await sessionStorage.getItem(key); return this.decryptWithPassword(encryptedValue, options.password); } else { return await sessionStorage.getItem(key); } } async exists(key) { return (await sessionStorage.getItem(key)) ? true : false; } async delete(key) { sessionStorage.removeItem(key); } encryptWithPassword(text, password) { var cipher = crypto.createCipher(algorithm, password); var encrypted = cipher.update(text, "utf8", "hex"); encrypted += cipher.final("hex"); return encrypted; } decryptWithPassword(text, password) { var decipher = crypto.createDecipher(algorithm, password); var decrypted = decipher.update(text, "hex", "utf8"); decrypted += decipher.final("utf8"); return decrypted; } } exports.StorageFacade = StorageFacade; }); //# sourceMappingURL=StorageFacade.js.map