@ice/stark-data
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

icestark-data

icestark sommunication solution. icestark docs.

NPM version Package Quality build status Test coverage NPM downloads David deps

Installation

npm install @ice/stark-data --save

API

Store

Global Store, unified management of all variables

  • get(key)
  • set(key, value)
  • on(key, callback, force), when force is true, callback will be called immediately when initializing
  • off(key, callback)

example

// Framework
import { store } from '@ice/stark-data';

const userInfo = { name: 'Tom', age: 18 };
store.set('user', userInfo); // set UserInfo
store.set('language', 'CH');

// Sub-application A
import { store } from '@ice/stark-data';

const userInfo = store.get('user'); // get UserInfo

function showLang(lang) {
  console.log(`current language is ${lang}`);
}

store.on('language', showLang, true); // add callback for 'language', callback will be called whenever 'language' is changed

store.off('language', showLang); // remove callback for 'language'

Event

Global Event, unified management of all events

  • on(key, callback) callback will be called with (...rest)
  • off(key, callback)
  • emit(key, ...rest)

example

// Framework
import { event } from '@ice/stark-data';

function fresh(needFresh) {
  if (!needFresh) return;

  fetch('/api/fresh/message').then(res => {
    // ...
  });
}

event.on('freshMessage', fresh);

// Sub-application A
import { event } from '@ice/stark-data';

event.emit('freshMessage', false);
// ...
event.emit('freshMessage', true);

Contributors

Feel free to report any questions as an issue, we'd love to have your helping hand on icestark.

If you're interested in icestark, see CONTRIBUTING.md for more information to learn how to get started.

License

MIT

Dependencies (0)

    Dev Dependencies (13)

    Package Sidebar

    Install

    npm i @ice/stark-data

    Weekly Downloads

    28

    Version

    0.1.3

    License

    MIT

    Unpacked Size

    11.8 kB

    Total Files

    13

    Last publish

    Collaborators

    • linbudu
    • answershuto
    • chenjun1011
    • luhengchang228
    • sobear
    • clarkxia
    • rax-publisher