UNPKG

npdynamodb

Version:

A Node.js Simple Query Builder and ORM for AWS DynamoDB.

68 lines (58 loc) 1.19 kB
'use strict'; var _ = require('lodash'); module.exports = Collection; function Collection(items){ this._items = items; } Collection.prototype.toArray = function(){ return this._items.map(function(item){ return item.attributes(); }); }; Collection.prototype.toJSON = function(){ return JSON.stringify(this.toArray()); }; Collection.prototype.indexAt = function(index){ return this._items[index]; }; Collection.prototype.at = function(index){ return this.indexAt(index); }; _.each([ 'pluck' ], function(name){ Collection.prototype[name] = function(){ var args = [this.toArray()].concat(_.map(arguments, function(arg){ return arg; })); return _[name].apply(_, args); }; }); _.each([ 'each', 'map', 'reduce', 'reduceRight', 'find', 'filter', 'where', 'findWhere', 'reject', 'every', 'some', 'invoke', 'sortBy', 'groupBy', 'indexBy', 'countBy', 'shuffle', 'sample', 'size', 'partition', 'first', 'last', 'isEmpty' ], function(name){ Collection.prototype[name] = function(){ var args = [this._items].concat(_.map(arguments, function(arg){ return arg; })); return _[name].apply(_, args); }; });