type-collector
type-collector is a fast, simple (and rich), zero-configuration node package that manage effective browser application storage for Typescript. Web Storage can only store strings. This factory module let you handle Object, Array and other types to be store
932
| Install | |
|---|---|
npm install type-collector |
|
| Latest Version: | 1.1.12 |
| License: | MIT |
| Last Updated: | Jun 12, 2019 |
| Links: | GitHub · npm |
Maintainer: shai_ben_shimol
type-collector
type-collector is a typescript package that management LocalStorage, Session Storage and Cookies for Typescript, Objects, Array and Primitives types.
using npm
npm i type-collector --save
using yarn
yarn add type-collector
Usage
import {TypeCollector} from 'type-collector';
Local Storage
let storage = TypeCollector.Factory.Storage;
Add Primitive Types
storage.add("token","ooo.ooo.ooo")
.add("IDE",12)
.add("is-auth",true);
Add Object / Array Type
interface User{
id: string,
name: string;
age: number;
isActive: boolean;
}
let users: Array<User> = new Array<User>();
users.push(
{
id: TypeCollector.uuid(),
name: "Michael M. Delagarza",
age: 34,
isActive: true
},
{
id: TypeCollector.uuid(),
name: "Anita Alvarenga",
age: 23,
isActive: false
});
storage.add("users",users);
Get Primitives Values
storage.get("token").then(res => {
console.log(res) //ooo.ooo.ooo
})
storage.get("is-auth").then(res => {
console.log(res) //true
})
Get Objescts Values
storage.get<Array<User>>("users").then(users => {
users.forEach(user => {
console.log(user)
})
});
/*
{id: "2795f29d-c3b6-404e-baba-6e5a50fab87f", name: "Michael M. Delagarza", age: 34, isActive: true}
{id: "559d98de-a217-4125-9659-09851c419e53", name: "Anita Alvarenga", age: 23, isActive: false}
*/
Remove Values from Storage
storage.remove("token")
.remove("users")
Remove All Values from Storage
storage.removeAll();
Session Storage
Session Storage similar to Local Storage but expires when the browser closed
let session = TypeCollector.Factory.Session;
Add Sessions
session.add("id", TypeCollector.uuid())
.add("secure", false)
.add("post",{
message: "some post goes here",
date: new Date()
})
Get Session
session.get<Object>("post").then(post => {
console.log(post)
//{message: "some post goes here", date: "2019-06-11T13:28:11.892Z"}
}).catch(error => {
console.log(error)
})
Remove Sessions
session.remove("id")
.remove("posts")
Remove All Sessions
session.removeAll();
Cookies
Cookies similar to Local Storage besides expiration date parameter
let cookie = TypeCollector.Factory.Cookie;
Add Cookies
//add expired date
let expired = new Date("2020-01-01")
cookie.add("uuid",TypeCollector.uuid(), expired)
.add("users",users) //users array
Get Cookies
cookie.get("uuid").then(uuid => console.log(uuid))
//cb3b619e-0d13-4d5c-a77a-5e5104a0cbc7
cookie.get<Array<User>>("users").then(users => {
users.forEach(user => {
console.log("id",user.id)
})
});
//b4a1d009-d86d-447e-976d-e2727ade9c9f
//b4a1d009-d86d-447e-976d-e2727ade9c9f
Remove Cookie
session.remove("uuid")
.remove("users")
Remove All Cookies
session.removeAll();
Related Packages
@abarchibody/storage
Storage is plugin that help to store data in the local storage, or retrieve data
935
@tomassjosten/local-storage-cache
Leverage local storage to improve perfomance by caching data and expire cache
166
1
Version History
| Version | Released | License |
|---|---|---|
| 1.1.12 | MIT | |
| 1.1.11 | MIT | |
| 1.1.0 | MIT | |
| 1.0.99 | MIT | |
| 1.0.98 | MIT | |
| 1.0.97 | MIT | |
| 1.0.96 | MIT | |
| 1.0.95 | MIT | |
| 1.0.94 | MIT | |
| 1.0.93 | MIT | |
| 1.0.92 | MIT | |
| 1.0.91 | MIT | |
| 1.0.89 | MIT | |
| 1.0.88 | MIT | |
| 1.0.87 | MIT | |
| 1.0.86 | MIT | |
| 1.0.85 | MIT | |
| 1.0.84 | MIT | |
| 1.0.83 | MIT | |
| 1.0.82 | MIT | |
| 1.0.81 | MIT | |
| 1.0.79 | MIT | |
| 1.0.78 | MIT | |
| 1.0.77 | MIT | |
| 1.0.76 | MIT | |
| 1.0.75 | MIT | |
| 1.0.74 | MIT | |
| 1.0.73 | MIT | |
| 1.0.72 | MIT | |
| 1.0.71 | MIT |
Showing the latest 30 of 40. See every release on npm