strg.ts
v1.1.0
Published
A unified module to work with localStorage, sessionStorage and cookie with the same API
Downloads
4
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.ts
or with npm:
npm i strg.ts
API
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