UNPKG

auth-vir

Version:

Auth made easy and secure via JWT cookies, CSRF tokens, and password hashing helpers.

57 lines (56 loc) 1.44 kB
/** * Create an empty `accessRecord` object, this is to be used in conjunction with * {@link createMockLocalStorage}. * * @category Mock */ export function createEmptyMockLocalStorageAccessRecord() { return { getItem: [], removeItem: [], setItem: [], key: [], }; } /** * Create a LocalStorage mock. * * @category Mock */ export function createMockLocalStorage( /** Set values in here to initialize the mocked localStorage data store contents. */ init = {}) { const store = init; const accessRecord = createEmptyMockLocalStorageAccessRecord(); const mockLocalStorage = { clear() { Object.keys(store).forEach((key) => { delete store[key]; }); }, getItem(key) { accessRecord.getItem.push(key); return store[key] ?? null; }, get length() { return Object.keys(store).length; }, key(index) { accessRecord.key.push(index); return Object.keys(store)[index] ?? null; }, removeItem(key) { accessRecord.removeItem.push(key); delete store[key]; }, setItem(key, value) { accessRecord.setItem.push({ key, value }); store[key] = value; }, }; return { localStorage: mockLocalStorage, store, accessRecord, }; }