1.1.0 • Published 5 years ago

strg.ts v1.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

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