UNPKG

@skorpland/auth-js

Version:

Official client library for Powerbase Auth

50 lines (42 loc) 1.02 kB
import { supportsLocalStorage } from './helpers' import { SupportedStorage } from './types' /** * Provides safe access to the globalThis.localStorage property. */ export const localStorageAdapter: SupportedStorage = { getItem: (key) => { if (!supportsLocalStorage()) { return null } return globalThis.localStorage.getItem(key) }, setItem: (key, value) => { if (!supportsLocalStorage()) { return } globalThis.localStorage.setItem(key, value) }, removeItem: (key) => { if (!supportsLocalStorage()) { return } globalThis.localStorage.removeItem(key) }, } /** * Returns a localStorage-like object that stores the key-value pairs in * memory. */ export function memoryLocalStorageAdapter(store: { [key: string]: string } = {}): SupportedStorage { return { getItem: (key) => { return store[key] || null }, setItem: (key, value) => { store[key] = value }, removeItem: (key) => { delete store[key] }, } }