Skip to content
James edited this page May 29, 2017 · 12 revisions

⛓ chain-able

NPM version MIT License fliphub flipfam

interfaces that describe their intentions

🗣 expressive

traditional

class Traditional {
  constructor() {
    this.data = {}
  }
  build(index, name, object) {
    this.data.index = index
    this.data.name = name
    this.data.object = object
  }
}
const classico = new Traditional()
classico.build(1, 'string', {object: true})

fluent

class Chain extends Chainable {
  constructor(parent) {
    super(parent)
    this.extend(['index', 'name', 'object'])
  }
}
const chain = new Chainable()
  .index(1)
  .name('string')
  .object(true)

🏰 benefits

writing an api using chain-able means writing 1 fluent api, but getting 3 apis as a result!

  • 🍉 persistable, rehydratable, & transferrable configurations
  • ⛓ fluent/chainable api
  • 🍦 vanilla object syntax

🎁 features

🔗 links & more

Clone this wiki locally