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