UNPKG

@git-temporal/git-temporal-react

Version:

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

50 lines (49 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hasSearch = searchText => { return searchText && searchText.toString().trim() !== ''; }; exports.matchesSearch = (testText, searchText) => { if (!exports.hasSearch(searchText)) { return true; } if (!testText) { return false; } const realSearchText = searchText.toString().toLowerCase(); return testText.toLowerCase().includes(realSearchText); }; exports.matchesAuthorSearch = (testText, searchText) => { return exports.matchesSearch(testText, searchText.replace(/authors?\s*[\:\=]\s*/, '')); }; exports.matchesCommitSearch = (testText, searchText) => { return exports.matchesSearch(testText, searchText.replace(/commits?\s*[\:\=]\s*/, '')); }; exports.fileSearchRegex = /files?\s*[\:\=]\s*/; exports.matchesFileSearch = (testText, searchText) => { return exports.matchesSearch(testText, searchText.replace(exports.fileSearchRegex, '')); }; exports.commitsMatchSearch = (commit, searchText) => { if (!exports.hasSearch(searchText)) { return true; } const commits = !Array.isArray(commit) ? [commit] : commit; for (const commit of commits) { let matchesFileName = false; for (const file of commit.files) { matchesFileName = exports.matchesFileSearch(file.name, searchText); if (matchesFileName) { break; } } if (matchesFileName || exports.matchesCommitSearch(commit.message, searchText) || exports.matchesCommitSearch(commit.id, searchText) || exports.matchesCommitSearch(commit.body, searchText) || exports.matchesAuthorSearch(commit.authorName, searchText) || exports.matchesAuthorSearch(commit.authorEmail, searchText)) { return true; } } return false; };