diff --git a/bin/find.js b/bin/find.js index 9547df2..a7e5194 100755 --- a/bin/find.js +++ b/bin/find.js @@ -2,7 +2,7 @@ 'use strict'; -var _ = require('lodash'); +var findItem = require('../lib/util').findItem; var getContents = require('../lib/fileio').getContents; var convert = require('../lib/fileio').convert; var narrowDown = require('../lib/find').narrowDown; @@ -68,7 +68,7 @@ if (yargs.listLanguages) { } try { - articles = _.find(db, { lang: lang }).articles; + articles = findItem(db, 'lang', lang).articles; } catch (e) { if (e instanceof TypeError) { console.log('Sorry, ' + chalk.yellow(lang) + ' is ' + chalk.bold('not') + ' a supported language.\n`awman --list-languages` to get a list of available languages'); @@ -77,7 +77,7 @@ try { } if (lang !== 'english') { - englishArticles = _.find(db, { lang: 'english' }).articles; + englishArticles = findItem(db, 'lang', 'english').articles; } Promise.resolve(narrowDown(articles, searchTerms, isDeep, isApro, doFallback, englishArticles)).then(function select(filteredArticles) { diff --git a/lib/util.js b/lib/util.js index 43fb09a..63cfb33 100644 --- a/lib/util.js +++ b/lib/util.js @@ -4,8 +4,26 @@ var path = require('path'); var archWiki = require.resolve('arch-wiki-md-repo'); exports.getArticlePath = getArticlePath; +exports.findItem = findItem; +/** + * Turn relative path from the database into an absolute path + **/ function getArticlePath(relativeArticlePath) { var absoluteArticlePath = path.resolve(archWiki, '..', 'wiki', relativeArticlePath); return absoluteArticlePath; } + +/** + * Replacement for _.find + **/ +function findItem(array, prop, match) { + var i = 0; + var len = array.length; + + for (; i < len; i++) { + if (array[i][prop] === match) { + return array[i]; + } + } +}