strg.ts
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i strg.ts

Weekly Downloads

2

Version

1.1.0

License

MIT

Unpacked Size

17 kB

Total Files

5

Last publish

Collaborators

  • fend25