-
Notifications
You must be signed in to change notification settings - Fork 8
Home
James edited this page May 28, 2017
·
12 revisions
interfaces that describe their intentions
class Traditional {
build(index, name, object) {
this.index = index
this.name = name
this.object = object
}
}
const classico = new Traditional()
classico.build(1, 'string', {object: true})
class Chain extends Chainable {
constructor(parent) {
super(parent)
this.extend(['index', 'name', 'object'])
}
}
const chain = new Chainable()
.index(1)
.name('string')
.object(true)
writing an api using chain-able means writing a single fluent api, but getting 3 apis as a result!
- 🍉 persistable, rehydratable, & transferrable configurations
- ⛓ fluent/chainable api
- 🍦 vanilla object syntax
▶️ ◀️ easy deep merging- 👂 observable
- 🏗 customizable
- 🔌 extendable
- 🎼 composable
- 🍚 mixins
- ⚙ configurable
- 🌐 api
- 💆 seamless native integration
- 🍭 iteratable
- ☮️ compatible
- 🗣 expressive
- 🕵 debuggable
- 🤖 transformable
- traversable
- remappable
- 🛂 validation
- 🙌 agnostic
- ⚡ performant & tiny (15kb gzip)
- 💪 powerful
- 👾 simplifications of the complex
- dot-prop
- nestable factories
- tap
- alias