StorageManager
A little way to control Cookies, LocalStorage and SessionStorage without tears
Install
npm install storage-manager-js
# or
yarn add storage-manager-js
# or
pnpm add storage-manager-js
Using
Cookie, LocalStorage and SessionStorage has the same API, both implement TypeStorage
Using with cookies/document.cookie
import { Cookie } from "storage-manager-js"
// get object or string from cookies
const token = Cookie.get("token") // at this moment, is undefined
// Learn more about cookies here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
// and here for useSecure/sameSite: https://www.chromestatus.com/feature/5088147346030592
// and here too https://www.chromium.org/updates/same-site
Cookie.set("token", token, { useSecure: false })
// get all cookies as object
Cookie.json()
// check if key exist in cookies
Cookie.has("token")
// delete one cookie by key
Cookie.delete("token")
// delete all cookies
Cookie.deleteAll()
import { LocalStorage } from "storage-manager-js"
// get object or string from localStorage
const token = LocalStorage.get("token") // at this moment, is undefined
LocalStorage.set("token", token, { useSecure: false })
// get all storage
LocalStorage.json()
// check if key exist in storage
LocalStorage.has("token")
// delete one item by key
LocalStorage.delete("token")
// delete all items
LocalStorage.deleteAll()
API Reference
-
delete(key: string): void
: Deletekey
from your current storage -
deleteAll(): void
: Delete all keys from your current storage -
get<T extends any>(key: string): T | string | undefined
: get the value ofkey
from your current storage -
has(key: string): boolean
: check ifkey
exist in your current storage -
json<T>(parse: boolean = false): T
: get all storage as object. You can pass a boolean to parse or not your content usingJSON.parse
on your storage. Cookie manager always parse your content. -
set(key: string, object: any, parameters?: CookieSettings): void
: savekey
withvalue
in your current storage. Note for Cookie:
// Cookie.set has this optional arguments
{
expires: number | string // when your cookie expires
path: string // the path to save your cookie
sameSite: "lax" | "strict" | "" // read more in https://www.chromestatus.com/feature/5088147346030592
useSecure: boolean // read more in https://www.chromestatus.com/feature/5088147346030592
}
References
- Inspired on my experience on using js-cookie/js-cookie
- RFC 6265