@flourish/store

    1.0.1 • Public • Published

    Flourish store

    Flourish module for storing and updating values and querying when they've changed.

    Install

    To install the module, type:

    npm install @flourish/store

    Usage

    The module exports a single (default) function that can be used to create a store function by calling it with an array that specifies the names to assign to properties stored in the state.

    import createStore from "@flourish/store";
    var store = createStore(["state", "a", "b"]);

    Call the store function to check whether anything has changed (true) with the new (set of) value(s). You can pass in...

    1) A name and value pair

    var result = store("a" 7);

    In the above case result will be true unless the property a was already set to 7.

    2) An array

    var result = store([state, a, my_var]);

    In the above case result will be true unless state matches (see below) the saved value of property state in the store, a matches the saved value of a in the store and my_var matches the saved value of b (following the order defined in the initialisation step).

    3) An object

    var result = store({ state: state, a: a, b: 62 });

    In the above case result will be true unless state matches the saved value of property state in the store, a matches the saved value of a in the store and the saved value of b is 62. Extraneous properties are ignored.

    Matching modes

    By default, comparison is done using the triple equals (===) operator. This can be changed for each property by using mode method on the store function:

    .mode(property, "strict_equality")

    The default === comparison.

    .mode(property, "equality")

    Like "strict_equality" but using == instead of ===.

    .mode(property, "array_contents")

    For comparing the contents of two arrays by their elements (using ===) rather than checking whether the arrays themseleves are the same.

    .mode(property, some_array)

    For comparing a subset of properties of an object. As an example:

    var store = createStore(["state", "data", "xScale"])
        .mode("state", ["bin_count", "mode"]);

    When store is called, only the bin_count and mode properties of the state object will be compared (using ===).

    Retrieving (a copy of) the contents of store

    This can be done with the .stored method:

    .stored(key)

    This returns the value of the stored property key.

    .stored()

    This returns a clone of the entire stored object.

    Keywords

    none

    Install

    npm i @flourish/store

    DownloadsWeekly Downloads

    3

    Version

    1.0.1

    License

    UNLICENSED

    Unpacked Size

    9.24 kB

    Total Files

    9

    Last publish

    Collaborators

    • axwalker
    • shar.k
    • flourish-canva
    • declanvong
    • pinkopunko
    • vee_canva
    • florin.oprina
    • robinhouston
    • duncanclark
    • daanlouter
    • timbrock
    • hughsk
    • mark-kiln
    • animateddata
    • larsvers
    • luptilu
    • bobbysebolao
    • liakouras
    • oliviajanelawlor
    • hrobertson
    • eademoon
    • qubyte
    • chrisnewell
    • oampo
    • sebr
    • alextreppass
    • wearymonkey
    • mattcarter-canva
    • marcfallows
    • mafecafe
    • connormj
    • simonaats