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

    Install

    npm i hookstate-persist

    DownloadsWeekly Downloads

    294

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    26 kB

    Total Files

    16

    Last publish

    Collaborators

    • devrue