shackles
A minimal chaining library with tapping and logging
Install
$ npm install --save shackles
Basic Usage
Add chaining to a library:
var stringlib = { return chr + str } { return str + chr } var chain = var result = value // (Hello!)
If underscore didn't have chaining, we could easily add it:
var chain = var result = value // [4,9]
Scalar properties become chainable methods that override the underlying value:
var chain = var result = value // 4.141592654
Tapping
You can transform the value at any point in the chain:
var chain = var result = value // 20
Logging
You can log the value at any point in the chain:
The default logger method is console
:
var chain = var result = // 1 // 2 value // 4
You can override the default logger:
var doubled = null var chain = var result = value // 10 console // 20
You can enable/disable logging for longer sections of the chain:
var history = var stringlib = { return chr + str } { return str + chr } var chain = var result = value // (Hello!)??? console /* [ 'Hello', '(Hello', '(Hello!', '(Hello!)']) */
License
ISC © Raine Lourie