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

1.0.4 • Public • Published

Effector persist

Micro package for create persists effector store. Like redux-persist.

Example:

import { withPersist } from "effector-persist";
import { createStore, createEvent } from "effector";

const store = withPersist(createStore([], {name: 'shops'}));
const addStore = createEvent<{name: string}>();

store.on(addStore, (state, store) => [...state, store]);

Example with Ramda

import { withPersist } from "effector-persist";
import { createStore } from "effector";
import * as R from "ramda";

const createPersistedStore  = R.pipe(createStore, withPersist);
const store = createPersistedStore([], {name: 'shops'});

Example with expired

import { withPersist } from "effector-persist";
import { createStore, createEvent } from "effector";

const store = withPersist(createStore([], {name: 'shops'}), {expire: Date.now() + 2000});
const addStore = createEvent<{name: string}>();

store.on(addStore, (state, store) => [...state, store]);

How it works:

Every store update, withPersist cache result of update in LocalStorage with key persist:<store_name>.

When store is created withPersist restore previous state from snapshot in LocalStorage.

/effector-persist/

    Package Sidebar

    Install

    npm i effector-persist

    Weekly Downloads

    24

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    9.27 kB

    Total Files

    8

    Last publish

    Collaborators

    • mrfranke