Skip to content
This repository

The brass buckles on Underscore's utility belt

branch: master
Octocat-spinner-32 dist Latest version without dev deps February 13, 2014
Octocat-spinner-32 docs Added minimum required Underscore version to docs. Fixes #143. April 12, 2014
Octocat-spinner-32 examples Complete the parse tree example. October 13, 2013
Octocat-spinner-32 test Support _.flip as a method combinator. April 12, 2014
Octocat-spinner-32 .gitignore Add Grunt tasks for generating HTML documentation. October 15, 2013
Octocat-spinner-32 CONTRIBUTING.md Update grunt testing commands. October 15, 2013
Octocat-spinner-32 Gruntfile.js Added remaining markdown files to tocdoc. November 19, 2013
Octocat-spinner-32 LICENSE Updating license files. April 29, 2013
Octocat-spinner-32 README.md Update README.md with info on purpose and use. August 29, 2013
Octocat-spinner-32 bower.json Targeting Underscore 1.6.0 April 12, 2014
Octocat-spinner-32 index.html Added minimum required Underscore version to docs. Fixes #143. April 12, 2014
Octocat-spinner-32 index.js _.attempt(object, 'method', [*arguments]) August 02, 2013
Octocat-spinner-32 package.json Update Underscore dependency to 1.6.0. April 10, 2014
Octocat-spinner-32 tocdoc.css Added tocdoc and improved documentation intro. November 16, 2013
Octocat-spinner-32 underscore.array.builders.js Rename partition and partitionAll to chunk and chunkAll. Fixes #115. February 22, 2014
Octocat-spinner-32 underscore.array.selectors.js Solve a bug in `splitWith` September 12, 2013
Octocat-spinner-32 underscore.collections.walk.js Uncomment tests for custom walkers, and fix the failures. October 23, 2013
Octocat-spinner-32 underscore.function.arity.js Fixed infinite loop in _.fix when extra parameters are supplied January 06, 2014
Octocat-spinner-32 underscore.function.combinators.js Support _.flip as a method combinator. April 12, 2014
Octocat-spinner-32 underscore.function.dispatch.js Corrected indentation to two spaces. October 14, 2013
Octocat-spinner-32 underscore.function.iterators.js Corrected indentation to two spaces. October 14, 2013
Octocat-spinner-32 underscore.function.predicates.js Change isPlainObject to check for instances of Object. November 26, 2013
Octocat-spinner-32 underscore.object.builders.js Require for in to filter with hasOwnProperty. October 31, 2013
Octocat-spinner-32 underscore.object.selectors.js Added missing semicolons flagged by JSHint. September 28, 2013
Octocat-spinner-32 underscore.util.existential.js Corrected indentation to two spaces. October 14, 2013
Octocat-spinner-32 underscore.util.operators.js Reorganize util.operators for consistency. November 22, 2013
Octocat-spinner-32 underscore.util.strings.js Changed behavior of toQuery() to use + instead of %20 March 20, 2014
Octocat-spinner-32 underscore.util.trampolines.js Updating license files. April 29, 2013
README.md

underscore-contrib

The brass buckles on Underscore's utility belt -- a contributors' library for Underscore.

Links

Why underscore-contrib?

While Underscore provides a bevy of useful tools to support functional programming in JavaScript, it can't (and shouldn't) be everything to everyone. Underscore-contrib is intended as a home for functions that, for various reasons, don't belong in Underscore proper. In particular, it aims to be:

  • a home for functions that are limited in scope, but solve certain point problems, and
  • a proving ground for features that belong in Underscore proper, but need some advocacy and/or evolution (or devolution) to get them there.

Use

First, you’ll need Underscore. Then you can grab the relevant underscore-contrib libraries and simply add something like the following to your pages:

<script type="text/javascript" src="underscore.js"></script>
<script type="text/javascript" src="underscore.object.builders.js"></script>

At the moment there are no cross-contrib dependencies (i.e. each library can stand by itself), but that may change in the future.

Contributing

There is still a lot of work to do around perf, documentation, examples, testing and distribution so any help in those areas is welcomed. Pull requests are accepted, but please search the issues before proposing a new sub-contrib or addition. Additionally, all patches and proposals should have strong documentation, motivating cases and tests. It would be nice if we could not only provide useful tools built on Underscore, but also provide an educational experience for why and how one might use them.

Other (potentially) useful sub-contribs include the following:

  • String utilities
  • Date/time utilities
  • Validators
  • Iterators
  • Generators
  • Promises
  • Monads
  • Currying
  • Laziness
  • Multimethods

What do these mean? Well, that’s up for discussion. :-)

Something went wrong with that request. Please try again.