2.1.4 • Published 1 year ago
super-sessionstorage v2.1.4
Super sessionStorage
Implementation of improved window.sessionStorage for server, Type-Safe, and TTL cache system.
it works without the need for a window. Furthermore, super sessionstorage maintains the original types, avoiding the need to make conversions. (type-safe storage).
Install
npm install super-sessionstorageMethods
setItem(key: string, value: T, customTTL?: number): voidgetItem(key: string): T | undefinedkey(index: number): string | undefinedhas(key: string): booleanincludes(value: T): booleanclear(): voidget length(): numberremoveItem(key: string): void
Options
stdTTLdefault is infinity (seconds)checkperioddefault is 60 (seconds)
Strict Type
const storage = new SuperSessionStorage<CustomItemType>({ /* options */ })Example
config.js:
import { SuperSessionStorage } from 'super-sessionstorage'
export const storage = new SuperSessionStorage({ stdTTL: 3600 })setItem:
import { storage } from './config.js'
const myObject = {
test1: 123,
test2: [1, 2, '123'],
}
storage.setItem('example', myObject)getItem:
import { storage } from './config.js'
const example = storage.getItem('example')
console.log(example)
console.log(typeof example)output:
{ test1: 123, test2: [1, 2, "123"] }
objectStrict Type:
import { SuperSessionStorage } from 'super-sessionstorage'
type Item = { id: number; productName: string }
const storage = new SuperSessionStorage<Item>()
storage.setItem('example1', { id: '100', productName: 'test' })
// Error: Id should be number