A mixin for extending ampersand-collection with lodash methods.

Downloads in past


314.0.07 years ago9 years agoMinified + gzip package size for ampersand-collection-lodash-mixin in KB


Lead Maintainer: Clemens Stolle
A mixin for extending ampersand-collection with a bunch of lodash methods.
If you're using an ampersand-rest-collection this is already mixed in for you.
Out of the box, ampersand-collections proxy the ES5 iteration methods already so you don't have to use this mixin, but if you want lodash methods, or better browser support, you can use this.
This mixin adds the following lodash methods:
countBy, difference, drop, each, every, filter, find, findWhere, first,
forEach, groupBy, includes, indexOf, initial, invoke, invokeMap, isEmpty, keyBy, last,
lastIndexOf, map, max, min, partition, pluck, reduce, reduceRight, reject,
sample, shuffle, size, some, sortBy, take, tail, where, without

It weighs in at about 7.5kb gzipped.


npm install ampersand-collection-lodash-mixin


var Collection = require('ampersand-collection');
var lodashMixin = require('ampersand-collection-lodash-mixin');

module.exports = Collection.extend(lodashMixin, {
    sampleMethod: function () {
        // now we've got lodash methods
        // we can call that are applied to models
        // in the collection.
        this.filter( ... );
        this.some( ... );
        this.each( ... )


All credit for underscore and this approach in backbone goes to Jeremy Ashkenas and the rest of the Backbone and Underscore authors. All credit for lodash goes to John-David Dalton.
Big thanks to @STRML who generously gave us this module name on npm. If you're interested in his version, it's still there public, you can just keep using version 1.0.2.
If you like this follow @HenrikJoreteg and/or @klaemo on twitter.