@maddsua/es-state
TypeScript icon, indicating that this package has built-in type declarations

1.4.2 • Public • Published

es-state

Vue-like ref() but not bound to any specific framework. Persistent in local/session storage or cookie

Usage example

//  shared_module.js
import { PersistentStateRef } from '@maddsua/es-state';
export const editorSession = new PersistentStateRef(null, 'editor_session_data');
//  module_A.js
import { editorSession } from './shared_module.js';
editorSession.watch((value) => console.log('Session data was updated:', value));
//  module_B.js
import { editorSession } from './shared_module.js';
//  pretend that it's fetching some data
setTimeout(() => {
  editorSession.value = {
    username: 'name',
    rights: 'all',
    rizz: 'none'
  };
}, 1000);

Note: if you're using PersistentStateRef in a framework that utilizes island architecture or some other form of delayed hydration, you need to call hydrate() method after you are sure that client is ready to provide access to storage or cookies. Otherwise, the state will fall back to it's default value

Readme

Keywords

none

Package Sidebar

Install

npm i @maddsua/es-state

Weekly Downloads

68

Version

1.4.2

License

MIT

Unpacked Size

9.1 kB

Total Files

8

Last publish

Collaborators

  • maddsua