Value mappings: add regex value mapping. (#38931)
This commit is contained in:
1 parent
15e278e9e1
commit
1aaa00a1e4
9 files changed
+174
-1
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import { MappingType, SpecialValueMatch, ThresholdsConfig, ValueMap, ValueMapping, ValueMappingResult } from '../types';
|
||||
import { getActiveThreshold } from '../field';
|
||||
import { stringToJsRegex } from '../text/string';
|
||||
|
||||
export function getValueMappingResult(valueMappings: ValueMapping[], value: any): ValueMappingResult | null {
|
||||
for (const vm of valueMappings) {
|
||||
@@ -38,6 +39,22 @@ export function getValueMappingResult(valueMappings: ValueMapping[], value: any)
|
||||
|
||||
return vm.options.result;
|
||||
|
||||
case MappingType.RegexToText:
|
||||
if (value == null) {
|
||||
console.log('null value');
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof value !== 'string') {
|
||||
console.log('non-string value', typeof value);
|
||||
continue;
|
||||
}
|
||||
|
||||
const regex = stringToJsRegex(vm.options.pattern);
|
||||
const thisResult = Object.create(vm.options.result);
|
||||
thisResult.text = value.replace(regex, vm.options.result.text || '');
|
||||
return thisResult;
|
||||
|
||||
case MappingType.SpecialValue:
|
||||
switch (vm.options.match) {
|
||||
case SpecialValueMatch.Null: {
|
||||
|
||||
Reference in new issue
Block a user