Skip to content

nikaspran/fluent.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • Branching functions
  • ???

Contributing

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

License

MIT

About

Tiny library for building fluent interfaces in JavaScript

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •