@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

Package Sidebar

Install

npm i @ice/stark-data

Weekly Downloads

41

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