Skip to content

Instantly share code, notes, and snippets.

@dogeared
Last active December 10, 2015 23:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogeared/4510935 to your computer and use it in GitHub Desktop.
Save dogeared/4510935 to your computer and use it in GitHub Desktop.
module.exports = function(data) {
var _data = data
var filter = {
byType: function(query) {
// alter _data
return this
},
byName: function(query) {
// alter _data
return this
},
byAttributes: function(query) {
// alter _data
return this
},
byDistricts: function(query) {
// alter _data
return this
},
byLanguages: function(query) {
// alter _data
return this
},
byDayOfWeek: function(query) {
// alter _data
return this
},
byTime: function(query) {
// alter _data
return this
},
byDuration: function(query) {
// alter _data
return this
},
byAddress: function(query) {
// alter _data
return this
},
byDistance: function(query) {
// alter _data
return this
},
finish: function() {
return _data
}
}
return filter
}
var Filter = require('filter')
var data = [
{ name: 'Number one', attributes: [ 'open' ] },
{ name: 'Number two', attributes: [ 'closed' ] },
{ name: 'Number three', attributes: [ 'open' ] },
{ name: 'Different', attributes: ['open'] }
]
var query = { name: 'Number', attributes: [ 'open' ] }
var result = Filter(data).byName(query).byAttributes(query).finish()
// result would be:
//
// [
// { name: 'Number one', attributes: [ 'open' ] },
// { name: 'Number three', attributes: [ 'open' ] }
// ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment