hookstate-persist
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Hookstate Persist

Simple and configurable peristence plugin for Hookstate state management.

Works on React Native and Web.

Installation

To install, run:

yarn add hookstate-persist
npm install hookstate-persist

Usage

// React Native
import {createState} from '@hookstate/core';
import CreatePersistor, {PersistorWrapper} from 'hookstate-persist';
import AsyncStorage from '@react-native-async-storage/async-storage';
import {Product} from '../utils/types';

// for tree object state, wrap root state with Persist wrapper
// this gives you the benefit of validating the hydrateTime value is not null
const wrapped = PersistorWrapper({
  cart: [] as Array<Product>,
  user: {} as User,
  location: '',
});
const store = createState(wrapped);

// create the peristor pluging
const persistor = CreatePersistor({
	key: '@myStore', // store name
	engine: AsyncStorage, // storage engine which implements getItem & setItem
});

// attach plugin and you're done
store.attach(persistor);

Peristor options

CreatePersistor {
  key: string, // key in storage
  engine: StoreEngine, // engine; any type of storage that implements "getItem" and "setItem" eg AsyncStorage or localStorage
  whitelist?: Array<string>, // property names of items in state you want to persist (optional)
  blacklist?: Array<string>, // property names of items in state you want excluded from storage(optional)
}

API

  CreatePersistor(config: ICreatePersistor) // creates the peristence plugin
  PersistorWrapper(state: State<S>) // Wrapps the root state. Do not use if root state is not map/tree like

Contiributions

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Dependencies (1)

Dev Dependencies (7)

Package Sidebar

Install

npm i hookstate-persist

Weekly Downloads

4

Version

1.0.2

License

MIT

Unpacked Size

26 kB

Total Files

16

Last publish

Collaborators

  • devrue