Nylon Pendulum Movement

    @okiba/store

    0.0.5 • Public • Published

    Okiba / Store

    A store module to implement state management. It allows registering to prop updates, as well as any update trough the catch-all callback.

    __

    import Store from '@okiba/store'
    
    const store = new Store({ level: 1, lives: 3 })
    
    const onLevelChange = level => {
     console.log(level)
    }
    
    store.subscribe('*', state => console.log(`Store: ${state}`))
    store.subscribe('level', onLevelChange)
    
    store.set('level', 2)
    // Logs: 2
    // Logs: the whole state ({level: 1, lives: 3})

    Installation

    npm i --save @okiba/store

    Or import it directly in the browser

    <script type="module" src="https://unpkg.com/@okiba/store/index.js"></script>

    Usage

    import Store from '@okiba/store'

    Untranspiled code 🛑

    Okiba Core packages are not transpiled, so don't forget to transpile them with your favourite bundler. For example, using Babel with Webpack, you should prevent imports from okiba to be excluded from transpilation, like follows:

    {
      test: /\.js$/,
      exclude: /node_modules\/(?!(@okiba)\/).*/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }

    constructor(initialState)

    Arguments

    + initialState: Object

    The initial store's state

    set(key, value)

    Single state property setter

    Arguments

    + key: String

    The property key

    + value: any

    The property value

    get(key)

    Single state property getter

    Arguments

    + key: String

    The property key

    getState()

    State getter

    Returns

    Object The current state

    setState(state)

    State setter

    Arguments

    + state: Object

    The new state object

    reset()

    State resetter

    clear()

    Clears the current state, that is, the store is going to be empty. No callbacks are fired.

    subscribe(key, callback)

    State update subscription handler

    Arguments

    + key: String

    The property to be observed

    + callback: function

    The function to be called on property update

    unsubscribe(key, callback)

    State update unsubscription handler

    Arguments

    + key: String

    The property to be unobserved

    + callback: function

    The handler to be dismissed

    Keywords

    none

    Install

    npm i @okiba/store

    DownloadsWeekly Downloads

    1

    Version

    0.0.5

    License

    MIT

    Unpacked Size

    8.98 kB

    Total Files

    5

    Last publish

    Collaborators

    • fiad
    • ghzmdr
    • lavolpecheprogramma