taxman

0.1.1 • Public • Published

node-taxman

Taxman caches values for you.

Introduction

This module was inspired by the need for an easy way to asynchronously compute a value once, but use it in multiple places.

Examples

var taxman = require('taxman')

// Create a taxman to compute the value
var computation = taxman(function(callback) {
    console.log("Doing lots of hard work...")
    var x = 3 * 5
    callback(null, x)
})

// Get the computation value (this first call will start the computation, synchronously, in this case)
computation(function(error, value) {
    if (error) {
        console.error("1a: computation failed")
    } else {
        console.log("1a: success! result = ", value)
    }
})

// Get the computation value again (retrieves cached value)
computation(function(error, value) {
    if (error) {
        console.error("1b: computation failed")
    } else {
        console.log("1b: success! result = ", value)
    }
})

// Reset the cache
computation.reset()

// Get the computation value (this will re-compute the value)
computation(function(error, value) {
    if (error) {
        console.error("1c: computation failed")
    } else {
        console.log("1c: success! result = ", value)
    }
})

Outputs:

Doing lots of hard work...
1a: success! result =  15
1b: success! result =  15
Doing lots of hard work...
1c: success! result =  15

See test.js for more examples.

License

Taxman is open source software under the zlib license.

Dependents (1)

Package Sidebar

Install

npm i taxman

Weekly Downloads

9

Version

0.1.1

License

none

Last publish

Collaborators

  • marcello