Socket
Socket
Sign inDemoInstall

memoize-promise-js

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    memoize-promise-js

Memoize is a simple library that remembers the function execution results and can respond immediately.


Version published
Maintainers
1
Install size
12.7 kB
Created

Readme

Source

Memoize

NPM version GitHub issues Travis

Memoize is a simple cache library that remembers the function execution results and can respond immediately.

Installation

The easiest way to install memoize is with npm.

npm i memoize-promise-js

Alternately, download the source.

git clone https://github.com/stegano/memoize.git

Examples

var Memoize = require("memoize");
var chace = new Memoize({
    // Global settings.
    expiredTime: 3000,
    graceful: false
});

var testFunction = () => {
    /** Return type is must be `Promise` */
    return new Promise(resolve => {
        setTimeout(() => {
            resolve("Proecced data.");
        }, 10);
    });
};

// Run the function on the first run and cache the results in internal storage.
cache
    .execute("identity", testFunction)
    .then((data) => {
        console.log(data);
    });

// The second execution is immediately available as cached data by the first execution.
cache
    .execute("identity", testFunction)
    .then((data) => {
        console.log(data);
    });

// The third execution expires the data cached by `expiredTime` and processes it again by executing the function again.
setTimeout(() => {
    cache
        .execute("identity", testFunction)
        .then((data) => {
            console.log(data);
        });
}, 3500);

API

Memoize.execute(key, yourFunction[, expiredTime][, graceful]) : Promise

  • key: Key to distinguish between tasks. Returns the cached data if the key values are equal and within the validity range.
  • yourFunction: The function to execute. The return value must always be of type Promise.
  • expiredTime: Time to cache data. Cached data is valid for the expiredTime time and the unit of value is ms.
  • graceful: If you use the graceful option, will use the cached data until new data has been processed even if the data has expired.

Docs

Create an API document using JSDoc.

npm install
npm run doc

Tests

To run the test suite, first install the dependencies, then run npm test

npm ininstall
npm test

Keywords

FAQs

Last updated on 01 Oct 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc