directus

Форк
0
28 строк · 799.0 Байт
1
import { ContainsNullValuesError } from '@directus/errors';
2
import type { OracleError } from './types.js';
3

4
enum OracleErrorCodes {
5
	'CONTAINS_NULL_VALUES' = 2296,
6
	// @TODO extend with other errors
7
}
8

9
export function extractError(error: OracleError): OracleError | Error {
10
	switch (error.errorNum) {
11
		case OracleErrorCodes.CONTAINS_NULL_VALUES:
12
			return containsNullValues(error);
13
		default:
14
			return error;
15
	}
16
}
17

18
function containsNullValues(error: OracleError): OracleError | InstanceType<typeof ContainsNullValuesError> {
19
	const betweenQuotes = /"([^"]+)"/g;
20
	const matches = error.message.match(betweenQuotes);
21

22
	if (!matches) return error;
23

24
	const collection = matches[0]!.slice(1, -1);
25
	const field = matches[1]!.slice(1, -1);
26

27
	return new ContainsNullValuesError({ collection, field });
28
}
29

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

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

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

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