strg.ts
v1.1.0
Published
A unified module to work with localStorage, sessionStorage and cookie with the same API
Readme
strg.ts
Simple localStorage, sssionStorage and cookie operating library with the single API. It fully supports regular js.
Actually, it is a modern and well-typed version of strg.js
Getting started
with yarn:
yarn add strg.tsor with npm:
npm i strg.tsAPI
So, the strg.ts contains three objects with single API:
localstore - localStorage wrapper
sessionstore - sessionStorage wrapper
cookiestore - cookie wrapper
and the fourth object storage, that is localstore if localStorage is supported or cookiestore otherwise.
bonus: fifth object available with flags of available APIs:
interface Available {
local: boolean,
session: boolean,
cookie: boolean
}Each of APIs has 5 functions:
set(key, value): sets key-value pair. JSON is supported in values
get(key): returns just value for the key. returns undefined if no value found
getAll(): returns object with all key-value pairs. JSON is parsed. returns {} on empty store
remove(key): removes key. returns undefined
removeAll(): remove all key-value pairs, returns undefined
In case of cookiestore, function set takes five params: key, value, expires, path, secure
expires: Date, number or string, that can be used in Date constructor
path: string, path for cookie
secure: bool, secure flag for cookie
Also, all objects contain two additional fields:
s: Storage object or document.cookie, for example: window.localStorage
type: string, storage type, for example 'localStorage'
Examples
storage.set('a', 1); // 1
storage.set('b', {c: [1, '2', {d: 3}]})); // {"c":[1,"2",{"d":3}]}
storage.getAll(); // {"a":1,"b":{"c":[1,"2",{"d":3}]}}
storage.set('c', 'some string'); // "some string"
storage.remove('b'); // undefined
storage.getAll(); // {"a":1,"c":"some string"}
storage.removeAll(); // undefined
storage.getAll(); // {}Tests
yarn test
# serve test And then just open test/test.html with browser (with serve it will be http://localhost:5000/test)
License
MIT
