This package has been deprecated

Author message:

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

@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.

Package Sidebar

Install

npm i @data-provider/memory

Weekly Downloads

2

Version

4.0.0

License

Apache-2.0

Unpacked Size

33.2 kB

Total Files

6

Last publish

Collaborators

  • javierbrea