Fix lint in search.ts

pull/962/head
Konstantin Ullrich 5 years ago
parent f770d4ed44
commit 3eca4025e7

@ -1,7 +1,7 @@
import { omit, reject } from 'lodash'; import { omit, reject } from 'lodash';
import { normalize } from '../../types/PhoneNumber'; import { normalize } from '../../types/PhoneNumber';
import { SearchOptions, AdvancedSearchOptions } from '../../types/Search'; import { AdvancedSearchOptions, SearchOptions } from '../../types/Search';
import { trigger } from '../../shims/events'; import { trigger } from '../../shims/events';
import { getMessageModel } from '../../shims/Whisper'; import { getMessageModel } from '../../shims/Whisper';
import { cleanSearchTerm } from '../../util/cleanSearchTerm'; import { cleanSearchTerm } from '../../util/cleanSearchTerm';
@ -99,7 +99,7 @@ async function doSearch(
const { regionCode } = options; const { regionCode } = options;
const advancedSearchOptions = getAdvancedSearchOptionsFromQuery(query); const advancedSearchOptions = getAdvancedSearchOptionsFromQuery(query);
const processedQuery = advancedSearchOptions['query']; const processedQuery = advancedSearchOptions.query;
const isAdvancedQuery = query !== processedQuery; const isAdvancedQuery = query !== processedQuery;
const [discussions, messages] = await Promise.all([ const [discussions, messages] = await Promise.all([
@ -110,13 +110,13 @@ async function doSearch(
let filteredMessages = messages.filter(message => message !== undefined); let filteredMessages = messages.filter(message => message !== undefined);
if (isAdvancedQuery) { if (isAdvancedQuery) {
let senderFilter: string[] = []; let senderFilter: Array<string> = [];
if ( if (
advancedSearchOptions['from'] !== null && advancedSearchOptions.from !== null &&
advancedSearchOptions['from'].length > 0 advancedSearchOptions.from.length > 0
) { ) {
const senderFilterQuery = await queryConversationsAndContacts( const senderFilterQuery = await queryConversationsAndContacts(
advancedSearchOptions['from'], advancedSearchOptions.from,
options options
); );
senderFilter = senderFilterQuery.contacts; senderFilter = senderFilterQuery.contacts;
@ -170,17 +170,17 @@ function startNewConversation(
// Helper functions for search // Helper functions for search
function filterMessages( function filterMessages(
messages: any[], messages: Array<any>,
filters: AdvancedSearchOptions, filters: AdvancedSearchOptions,
contacts: string[] contacts: Array<string>
) { ) {
let filteredMessages = messages; let filteredMessages = messages;
if (filters['from'] !== null && filters['from'].length > 0) { if (filters.from !== null && filters.from.length > 0) {
if (filters['from'] === '@me') { if (filters.from=== '@me') {
filteredMessages = filteredMessages.filter(message => message.sent); filteredMessages = filteredMessages.filter(message => message.sent);
} else { } else {
filteredMessages = []; filteredMessages = [];
for (let contact of contacts) { for (const contact of contacts) {
for (const message of messages) { for (const message of messages) {
if (message.source === contact) { if (message.source === contact) {
filteredMessages.push(message); filteredMessages.push(message);
@ -189,14 +189,14 @@ function filterMessages(
} }
} }
} }
if (filters['before'] > 0) { if (filters.before > 0) {
filteredMessages = filteredMessages.filter( filteredMessages = filteredMessages.filter(
message => message.received_at < filters['before'] message => message.received_at < filters.before
); );
} }
if (filters['after'] > 0) { if (filters.after > 0) {
filteredMessages = filteredMessages.filter( filteredMessages = filteredMessages.filter(
message => message.received_at > filters['after'] message => message.received_at > filters.after
); );
} }
@ -204,18 +204,21 @@ function filterMessages(
} }
function getUnixMillisecondsTimestamp(timestamp: string): number { function getUnixMillisecondsTimestamp(timestamp: string): number {
if (!isNaN(parseInt(timestamp))) { const timestampInt = parseInt(timestamp, 10);
const timestampInt = parseInt(timestamp); if (!isNaN(timestampInt)) {
try { try {
if (timestampInt > 10000) { if (timestampInt > 10000) {
return new Date(timestampInt).getTime(); return new Date(timestampInt).getTime();
} }
return new Date(timestamp).getTime(); return new Date(timestamp).getTime();
} catch (error) { } catch (error) {
console.warn('Advanced Search: ' + error); console.warn('Advanced Search: ', error);
return 0; return 0;
} }
} }
return 0; return 0;
} }
@ -233,8 +236,8 @@ function getAdvancedSearchOptionsFromQuery(
let newQuery = query; let newQuery = query;
const splitQuery = query.toLowerCase().split(' '); const splitQuery = query.toLowerCase().split(' ');
const filtersList = Object.keys(filters); const filtersList = Object.keys(filters);
for (let queryPart of splitQuery) { for (const queryPart of splitQuery) {
for (let filter of filtersList) { for (const filter of filtersList) {
const filterMatcher = filter + filterSeperator; const filterMatcher = filter + filterSeperator;
if (queryPart.startsWith(filterMatcher)) { if (queryPart.startsWith(filterMatcher)) {
filters[filter] = queryPart.replace(filterMatcher, ''); filters[filter] = queryPart.replace(filterMatcher, '');
@ -243,9 +246,10 @@ function getAdvancedSearchOptionsFromQuery(
} }
} }
filters['before'] = getUnixMillisecondsTimestamp(filters['before']); filters.before = getUnixMillisecondsTimestamp(filters.before);
filters['after'] = getUnixMillisecondsTimestamp(filters['after']); filters.after = getUnixMillisecondsTimestamp(filters.after);
filters['query'] = newQuery; filters.query = newQuery;
return filters; return filters;
} }

Loading…
Cancel
Save