UNPKG

local-credential-storage

Version:

A light wrapper around LocalStorage, for storing credentials

46 lines (40 loc) 1.08 kB
'use strict' // A light wrapper around LocalStorage, for storing credentials. // // namespace: A dotted namespace to use within local storage. // e.g. com.mycompany.myapp, com.mycompany.myapp.staging // module.exports = class LocalCredentialStorage { constructor(namespace = 'credentials') { this.usernameKey = `${namespace}:username` this.passwordKey = `${namespace}:password` } get isSet() { return ( Boolean(localStorage.getItem(this.usernameKey)) && Boolean(localStorage.getItem(this.passwordKey)) ) } // Return an object: // // credentials // |- username // |- password // // Return null for values which are not set. // get() { return { username: localStorage.getItem(this.usernameKey), password: localStorage.getItem(this.passwordKey), } } set(username, password) { localStorage.setItem(this.usernameKey, username) localStorage.setItem(this.passwordKey, password) } clear() { localStorage.removeItem(this.usernameKey) localStorage.removeItem(this.passwordKey) } }