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
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
vue-web-storage

Vue.js plugin for localStorage and sessionStorage

74,878 83
next-vue-storage-watcher

localStorage and sessionStorage management tool for vue 3

1,468 5
vm-storage

A vue plugin for operate localStorage and sessionStorage.

874 2

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