@choojs/nanocache
v1.0.0
Published
Cache Nanocomponents.
Downloads
11
Readme
nanocache
Cache Nanocomponents.
Usage
my-component.js
var Component = require('choo/component')
var html = require('choo/html')
module.exports = class Article extends Component {
static id (article) {
return `article-${article.id}`
}
createElement (article) {
return html`
<article>
<h2>${article.title}</h2>
<p>${article.body}</p>
</article>
`
}
update () {
return false
}
}
example.js
var myComponent = require('./my-component')
var Nanocache = require('nanocache')
var cache = new Nanocache()
cache(myComponent)
// => create a new instance of myComponent
cache(myComponent)
// => return cached instance of myComponent
API
cache = Nanocache()
Create a new Nanocache instance.
cache.render(Nanocomponent)
Render a Nanocomponent instance. It checks a static id
method that
returns an id. If the id is not registered in the cache, it creates a new
instance and caches it. If the id already exists, it returns the cached
instance.
cache.prune()
Remove all components from the cache that don't currently have a DOM node attached.
Installation
$ npm install @choojs/nanocache