https://github.com/jonathanong/memorizer
memoize a getter of an object
https://github.com/jonathanong/memorizer
Last synced: 9 months ago
JSON representation
memoize a getter of an object
- Host: GitHub
- URL: https://github.com/jonathanong/memorizer
- Owner: jonathanong
- License: mit
- Created: 2014-08-04T07:41:09.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-05-24T16:21:03.000Z (about 9 years ago)
- Last Synced: 2025-10-19T11:20:51.488Z (9 months ago)
- Language: JavaScript
- Size: 3.91 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# memorizer
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
Memoize a property with a lazy callback.
Great for creating internal promises or computationally expensive rproperties.
```js
const memoize = require('memorizer')
function Constructor () {
this.promise.then(val => {
// val === true
})
}
memoize(Constructor.prototype, 'promise', function () {
return new Promise(true)
})
```
## API
### memoize(object: Object, property: String, getter: Function)
The `getter`'s return value will be memoized.
[npm-image]: https://img.shields.io/npm/v/memorizer.svg?style=flat
[npm-url]: https://npmjs.org/package/memorizer
[travis-image]: https://img.shields.io/travis/jonathanong/memorizer.svg?style=flat
[travis-url]: https://travis-ci.org/jonathanong/memorizer
[coveralls-image]: https://img.shields.io/coveralls/jonathanong/memorizer.svg?style=flat
[coveralls-url]: https://coveralls.io/r/jonathanong/memorizer?branch=master