@data-provider/memory

    4.0.0 • Public • Published

    Data Provider logo

    Build Status Coverage Quality Gate Downloads Renovate License


    Memory origin addon for Data Provider

    It provides CRUD methods for objects stored in memory.

    Usage

    Read the Data Provider docs to learn how to use addons.

    Queries

    When querying providers created with this addon, the query object can have one of the next properties:

    • prop (String): Specific property of the object to be accessed.

    Example

    import { Memory } from "@data-provider/memory";
    
    const sessionStatus = new Memory({
      id: "session-status",
      initialState: {
        data: {
          loggedIn: false
        }
      }
    });
    
    sessionStatus.query({ prop: "loggedIn" }).update(true);
    sessionStatus.query({ prop: "loggedIn" }).read().then(result => {
      console.log("Is logged in", result);
      // true
    });

    Custom methods

    Apart of the common Data Provider methods, next ones are available:

    update(data)

    Updates an specific property of the stored object when the provider is queried, or the full object when not. When the object is modified, it will automatically cleans the cache of the provider and also the cache of the parent provider when it is queried (as modifying a property also modifies the full object).

    Arguments

    • data (Any): New data to be set.

    Examples

    // modifies an specific property
    sessionStatus.query({ prop: "loggedIn" }).update(true);
    // Overwrites full object
    sessionStatus.update({
      loggedIn: true
    });

    delete()

    Removes an specific property of the stored object when the provider is queried, or sets the full object as empty when not. When the object is modified, it will automatically cleans the cache of the provider and also the cache of the parent provider when it is queried (as deleting a property also modifies the full object).

    Examples

    // removes an specific property
    sessionStatus.query({ prop: "loggedIn" }).delete();
    // Sets the full object as {}
    sessionStatus.delete();

    Tags

    Providers created with this addon will have automatically the memory tag, so you can select all of them together using the providers methods as in:

    import { providers } from "@data-provider/core";
    
    providers.getByTag("memory").cleanCache();

    Contributing

    Contributors are welcome. Please read the contributing guidelines and code of conduct.

    Install

    npm i @data-provider/memory

    DownloadsWeekly Downloads

    84

    Version

    4.0.0

    License

    Apache-2.0

    Unpacked Size

    33.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • javierbrea