mem-decorator
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

mem-decorator Build Status

Decorator to memoize a class method.

Mem is used as caching library. When using with Typescript, don't forget to enable the flag "experimentalDecorators": true in tsconfig.json.

Requirements

  • Node >= 8

Install

$ npm install mem-decorator --save

Usage

const memoize = require('mem-decorator');
 
class Fibonacci {
    @memoize()
    calculateSequence(sequence) {
        // Fibonacci algorithm
    }
}
 
const fib = new Fibonacci()
 
console.log(fib.calculateSequence(1)) // Calculation executed (1)
console.log(fib.calculateSequence(2)) // Calculation executed (2)
console.log(fib.calculateSequence(1)) // Cache hit, returning previous calculation (1)

API

@memoize([configuration])

Annotation to memoize a class method. Works for getters as well.

configuration

Required: false Type: object

Uses the same configuration as mem

License

MIT © Simon Jang

/mem-decorator/

    Package Sidebar

    Install

    npm i mem-decorator

    Weekly Downloads

    4

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    4.71 kB

    Total Files

    5

    Last publish

    Collaborators

    • simonja