From fe1fa2e881357dd108f4251fdf4b273866327f34 Mon Sep 17 00:00:00 2001 From: bumi Date: Thu, 26 Apr 2018 14:51:18 +0200 Subject: [PATCH] Allow filter and find for contributors by account data --- lib/contracts/contributor.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/contracts/contributor.js b/lib/contracts/contributor.js index bf44de8..4845d31 100644 --- a/lib/contracts/contributor.js +++ b/lib/contracts/contributor.js @@ -35,10 +35,18 @@ class Contributor extends Base { } filterByAccount(search) { + return this._byAccount(search, 'filter'); + } + + findByAccount(search) { + return this._byAccount(search, 'find'); + } + + _byAccount(search, method = 'filter') { return this.all().then((contributors) => { const searchEntries = Object.entries(search); - return contributors.filter((contributor) => { + return contributors[method]((contributor) => { if (!contributor.accounts) { return false; } return contributor.accounts.find((account) => { return searchEntries.reduce((accumulator, searchValue) => {