Skip to content

Commit 48a3263

Browse files
committed
fix circular dependency
1 parent fb9cb72 commit 48a3263

2 files changed

Lines changed: 12 additions & 13 deletions

File tree

lib/prepare-search-filter.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
'use strict';
22

33
const ObjectId = require('mongodb').ObjectId;
4-
const { toMongoAndTextSearch } = require('./search-query');
54
const { escapeRegexStr } = require('./tools');
65

6+
const toMongoAndTextSearch = value =>
7+
(value || '')
8+
.toString()
9+
.trim()
10+
.split(/\s+/)
11+
.filter(term => term)
12+
.map(term => `"${term.replace(/(["\\])/g, '\\$1')}"`)
13+
.join(' ');
14+
715
const uidRangeStringToQuery = uidRange => {
816
if (!uidRange) {
917
return;
@@ -358,4 +366,4 @@ const prepareSearchFilter = async (db, user, payload) => {
358366
return { filter, query };
359367
};
360368

361-
module.exports = { uidRangeStringToQuery, prepareSearchFilter };
369+
module.exports = { uidRangeStringToQuery, prepareSearchFilter, toMongoAndTextSearch };

lib/search-query.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const SearchString = require('search-string').default;
44
const parser = require('logic-query-parser');
55
const { escapeRegexStr } = require('./tools');
6-
const { uidRangeStringToQuery } = require('./prepare-search-filter');
6+
const { uidRangeStringToQuery, toMongoAndTextSearch } = require('./prepare-search-filter');
77
const { ObjectId } = require('mongodb');
88

99
const getBooleanValue = value => {
@@ -43,15 +43,6 @@ const getDateValue = value => {
4343
return isNaN(date.getTime()) ? false : date;
4444
};
4545

46-
const toMongoAndTextSearch = value =>
47-
(value || '')
48-
.toString()
49-
.trim()
50-
.split(/\s+/)
51-
.filter(term => term)
52-
.map(term => `"${term.replace(/(["\\])/g, '\\$1')}"`)
53-
.join(' ');
54-
5546
const createMongoTextQuery = (value, opts = {}) => ({
5647
$text: {
5748
$search: opts.useAndSearch === false || opts.mode === 'or' ? value : toMongoAndTextSearch(value)
@@ -800,7 +791,7 @@ const getElasticSearchQuery = async (db, user, queryStr) => {
800791
return searchQuery;
801792
};
802793

803-
module.exports = { parseSearchQuery, getMongoDBQuery, getElasticSearchQuery, toMongoAndTextSearch };
794+
module.exports = { parseSearchQuery, getMongoDBQuery, getElasticSearchQuery };
804795
/*
805796
if (process.env.DEBUG_TEST_QUERY && process.env.NODE_ENV !== 'production') {
806797
const util = require('util'); // eslint-disable-line

0 commit comments

Comments
 (0)