0.1.3 • Published 9 years ago

fluent.js v0.1.3

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

fluent.js Build Status

A tiny library for building fluent interfaces in JavaScript

Installation

npm install fluent.js --save

Usage

Simple functions

var fluent = require('fluent.js');

var insert = fluent({
  insert: '*',
  into: '[]',
  after: '*'
}, function handler(value, array, otherValue) {
  array.splice(array.indexOf(otherValue) + 1, 0, value);
  return array;
});

console.log(insert(2).into([1, 3]).after(1)); //[1, 2, 3]

Extending objects (and prototypes)

var fluent = require('fluent.js');

fluent({
  with: '*',
  after: '*'
}, function handler(value, otherValue) {
  var copy = this.slice(0);		
  copy.splice(copy.indexOf(otherValue) + 1, 0, value);		
  return copy;
}, Array.prototype);

console.log(['this', 'awesome'].with('is').after('this')); //['this', 'is', 'awesome']

TODO

  • Argument validation
  • ES6 object destructuring
  • Simple build for browsers
  • Branching functions
  • ???

Contributing

Make sure gulp build passes, otherwise try to maintain similar code style.

License

MIT

0.1.3

9 years ago

0.1.2

9 years ago

0.1.0

9 years ago