A little way to control Cookies, LocalStorage and SessionStorage without tears
npm install storage-manager-js
* StorageManager
* Install
* Using
* Example using LocalStorage. The same can be done using SessionStorage
* API Reference
* References
A little way to control Cookies, LocalStorage and SessionStorage without tears
``bash`
npm install storage-manager-jsor
yarn add storage-manager-jsor
pnpm add storage-manager-js
Cookie, LocalStorage and SessionStorage has the same API, both implement TypeStorage
Using with cookies/document.cookie
`typescript
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 })
type MyCookieStorage = {}
// 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()
`
. The same can be done using SessionStorage`typescript
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()
`
- delete(key: string): void: Delete key from your current storagedeleteAll(): void
- : Delete all keys from your current storageget
- : get the value of key from your current storagehas(key: string): boolean
- : check if key exist in your current storagejson
- : get all storage as object. You can pass a boolean to parse or not your content using JSON.parse on your storage. Cookie manager always parse your content.set(key: string, object: any, parameters?: CookieSettings): void
- : save key with value in your current storage. Note for Cookie:listener(listener: (storage: any) => void): void
- : A function that takes the entire storage as parameters and will be called after each change in your storageclearListener(): void
- : clear all listeners at your storage
`typescript``
// Cookie.set has this optional arguments
export type SetCookies = Partial<{
domain: string; // the domain of cookies
expires: CookieAge; // expires in
maxAge: CookieAge; // maxAge of cookie
multiDomain?: boolean; // apply multi domain logic
partitioned: boolean; //
path: string; // the path that cookie will be used
sameSite: "strict" | "lax" | "none" | ""; // same site rules
useSecure: boolean; // http or https accepted
}>;
* Inspired on my experience on using js-cookie/js-cookie
* RFC 6265