@told.club/sdk-rn
Version:
Told React Native SDK
41 lines (38 loc) • 1.13 kB
text/typescript
import type {
SurveyTriggerCustomEventCondition,
SurveyTriggerUrlCondition,
} from '../__generated__/graphql';
export function isScreenTriggerConditionTrue(
condition: SurveyTriggerUrlCondition,
arg: String
) {
switch (condition.operator) {
case 'isEqualTo':
return arg === condition.value;
case 'contain':
return arg.toLowerCase().includes(condition.value.toLowerCase());
case 'isNotEqualTo':
return arg !== condition.value;
case 'doesNotContain':
return !arg.toLowerCase().includes(condition.value.toLowerCase());
default:
return false;
}
}
export function isCustomEventTriggerConditionTrue(
condition: SurveyTriggerCustomEventCondition,
arg: String
) {
switch (condition.operator) {
case 'isEqualTo':
return arg === condition.value;
case 'isNotEqualTo':
return arg !== condition.value;
case 'contain':
return arg.toLowerCase().includes(condition?.value?.toLowerCase() ?? '');
case 'doesNotContain':
return !arg.toLowerCase().includes(condition?.value?.toLowerCase() ?? '');
default:
return false;
}
}