Skip to content

Functional Memoize is a repository to implement an approach of a generic memoization of functions from a functional programming point of view.

License

Notifications You must be signed in to change notification settings

sebmaldo/functional-memoize

Repository files navigation

functional-memoize

Functional Memoize is a package to implement an approach of a generic memoization of functions from a functional programming point of view.

functional-memoize.cacheWrapper(findInCache, saveInCache, memoizeConfigOptions, functionToMemoize) ⇒ function

Curriable function to wrapp the function to be memoized with a provided cache strategy.

Kind: static method of functional-memoize
Returns: function - - Function that wrapp the functionToMemoize with the strategy of cache. This function is always async, return a Promise. The returned function has an atribute force, this force atribute is a function that force the use of the functionToMemoize and saveit in the cache.

Param Type Description
findInCache function Function to find in the cache implemented.
saveInCache function Function to save in the cache implemented.
memoizeConfigOptions object Object to configure the cahe options.
memoizeConfigOptions.ttl number Time to live for the memoization by default is 1.
memoizeConfigOptions.ttlMeasure string Measure of the time to live, ir use the same as moment (miliseconds, seconds, minutes, hours, days ...) by default is days.
memoizeConfigOptions.functionName string The Implementation consider a unique cached.
functionToMemoize function Function to be memoized by the cache wrapper.

functional-memoize.inMemoryCacheWrapper(memoizeConfigOptions, functionToMemoize) ⇒ function

Curriable function to wrapp the function to be memoized with a in Memory cache strategy.

Kind: static method of functional-memoize
Returns: function - - Function that wrapp the functionToMemoize with the strategy of cache. This function is always async, return a Promise. The returned function has an atribute force, this force atribute is a function that force the use of the functionToMemoize and saveit in the cache.

Param Type Description
memoizeConfigOptions object Object to configure the cahe options.
memoizeConfigOptions.ttl number Time to live for the memoization by default is 1.
memoizeConfigOptions.ttlMeasure string Measure of the time to live, ir use the same as moment (miliseconds, seconds, minutes, hours, days ...) by default is days.
memoizeConfigOptions.functionName string The Implementation consider a unique cached.
functionToMemoize function Function to be memoized by the cache wrapper.

functional-memoize.inMongoCacheWrapper(mongoDBConfig, memoizeConfigOptions, functionToMemoize) ⇒ function

Curriable function to wrapp the function to be memoized with a mongodb cache strategy.

Kind: static method of functional-memoize
Returns: function - - Function that wrapp the functionToMemoize with the strategy of cache. This function is always async, return a Promise. The returned function has an atribute force, this force atribute is a function that force the use of the functionToMemoize and saveit in the cache.

Param Type Description
mongoDBConfig Object MongoDB configuration options.
mongoDBConfig.mongodbUri String mongoDB connection string.
mongoDBConfig.mongodbCacheCollection String Name of the mongoDB collection.
memoizeConfigOptions Object Object to configure the cahe options.
memoizeConfigOptions.ttl Number Time to live for the memoization by default is 1.
memoizeConfigOptions.ttlMeasure String Measure of the time to live, ir use the same as moment (miliseconds, seconds, minutes, hours, days ...) by default is days.
memoizeConfigOptions.functionName String The Implementation consider a unique cached.
functionToMemoize function Function to be memoized by the cache wrapper.

About

Functional Memoize is a repository to implement an approach of a generic memoization of functions from a functional programming point of view.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published