No! Primate Mutation!

    This package has been deprecated

    Author message:

    Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

    mobx-cookie
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.5 • Public • Published

    logo

    mobx-cookie

    Synchronises a cookie's value with a MobX observable, allowing observers to react to its changes.

    Install

    npm install mobx-cookie # npm v5+
    # or
    yarn add mobx-cookie

    Example

    import { action, computed, makeObservable, observable } from 'mobx'
    import Cookie from 'mobx-cookie'
    
    class Store {
      cookie = new Cookie('thing')
    
      constructor() {
        makeObservable(this, {
          cookie: observable,
          timestamp: computed,
          setTimestamp: action,
          unsetTimestamp: action,
        })
      }
    
      get thing() {
        return this.cookie.value
      }
    
      setThing = (value) => {
        this.cookie.set(value, { expires: 2 }) // 2 day expiry
      }
    
      unsetThing = () => {
        this.cookie.remove()
      }
    }
    
    const store = new Store()
    
    // console: undefined
    
    store.setThing('testing')
    
    // console: "testing"
    
    store.unsetThing()
    
    // console: undefined

    Usage

    Import package

    import Cookie from 'mobx-cookie'

    Instantiate Cookie class

    Initialise and set the key name of the cookie

    new Cookie(name)

    e.g.

    @observable cookie = new Cookie('name of cookie in browser')
    // or
    cookie = new Cookie('name of cookie in browser')
    // and decorate
    decorate(Store, {
      cookie: observable,
    })

    The observable now has the following methods:

    value

    Retrieve the value of the cookie stored in this observable

    this.cookie.value // when cookie is updated, this will update too.

    set(value[, options])

    Set the value assigned to the observed cookie

    this.cookie.set('value')

    mobx-cookie is essentially a wrapper around the js-cookie package. Any options set as the second argument (as an object) will be passed to js-cookie.

    e.g.

    this.cookie.set('value', { expires: 2 }) // sets cookie to expire in two days.

    remove()

    Removes the cookie from the browser and sets the observable to undefined

    this.cookie.remove()

    License

    MIT. See the LICENSE file for more information.

    Credits

    Thanks go to the creators of the dependency, js-cookie, and of course to Michel Weststrate for MobX.

    The logo is comprised of MobX's official logo's background by osenvosem and a cookie icon from icons8.

    Keywords

    none

    Install

    npm i mobx-cookie

    DownloadsWeekly Downloads

    768

    Version

    4.0.5

    License

    MIT

    Unpacked Size

    16.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • will-stone