directus

Форк
0
/
parse-filter-key.ts 
27 строк · 724.0 Байт
1
/**
2
 * Result for keys with a function (e.g. `year(date_created)`):
3
 * - Group 1: Function (`year`)
4
 * - Group 3: Field (`date_created`)
5
 *
6
 * If group 3 is undefined, it is a key without a function.
7
 */
8
const FILTER_KEY_REGEX = /^([^()]+)(\(([^)]+)\))?/;
9

10
/**
11
 * Parses a filter key, returning its field name and function name (if defined) separately.
12
 */
13
export function parseFilterKey(key: string) {
14
	const match = key.match(FILTER_KEY_REGEX);
15

16
	const fieldNameWithFunction = match?.[3]?.trim();
17
	const fieldName = fieldNameWithFunction || key.trim();
18
	let functionName;
19

20
	if (fieldNameWithFunction) {
21
		functionName = match?.[1]?.trim();
22

23
		return { fieldName, functionName };
24
	}
25

26
	return { fieldName, functionName };
27
}
28

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.