https://github.com/Gozala/reducers
Raw File
Tip revision: b2e5e36a57c3d7e3043afe4ace945bbd936d0db1 authored by Irakli Gozalishvili on 02 November 2012, 23:49:32 UTC
Merge pull request #21 from Gozala/experiment/future
Tip revision: b2e5e36
cache.js
"use strict";

var buffer = require("./buffer")
var reducible = require("./reducible")
var accumulate = require("./accumulate")

function cache(input) {
  var result
  return reducible(function(next, initial) {
    return result ? accumulate(result, next, initial) :
                    accumulate(result = buffer(input), next, initial)
  })
}

module.exports = cache
back to top