@choojs/nanocache

    1.0.0 • Public • Published

    nanocache

    npm version build status downloads js-standard-style

    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

    See Also

    License

    Apache-2.0

    Install

    npm i @choojs/nanocache

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    Apache-2.0

    Last publish

    Collaborators

    • mafintosh
    • benlyn
    • s3ththompson
    • substack
    • yoshuawuyts
    • bret
    • lrlna
    • yerkopalma
    • juliangruber
    • timwis
    • ahdinosaur
    • toddself
    • sethvincent
    • maxogden
    • shama
    • freeman-lab
    • feross
    • emilbayes
    • colingourlay
    • jameskyburz
    • almost
    • slaskis
    • ungoldman
    • graforlock
    • tornqvist
    • amongiants
    • goto-bus-stop