String Property Condition
A string property condition is meant to evaluate a Property of type string – so a single string value.
Schema
json
{
"propertyId": "8765asd4as",
// Type specific attributes
"type": "string",
"operator": "endsWith",
"operandsQuantifier": "some",
"operands": ["@acme.com", "@internal.acme.com"]
}Attributes
type
- Type:
"string" - Required
Denotes the condition object as a string property condition.
operator
- Type:
StringConditionOperators - Required
The operator to use when comparing an operand of the operands array against the property value.
operandsQuantifier
- Type:
Quantifier - Required
Tells the system how many operands of the operands array the property value has to match against.
operands
- Type:
string[] - Required
The operands/values to compare the property value against based on the operator and operandsQuantifier.
Utility Types
StringConditionOperator
Type: "equals" | "doesNotEqual" | "startsWith" | "doesNotStartWith" | "endsWith" | "doesNotEndWith" | "isBlank" | "isNotBlank" | "matchesRegex" | "doesNotMatchRegex"
Operators and what they do:
"equals": Checks if property value equals an operand based on strict equality (JS===)."doesNotEqual": Negation of"equals"."startsWith": Checks if the property value starts with an operand (JSvalue.startsWith(operand))."doesNotStartWith": Negation of"startsWith"."endsWith": Checks if the property value ends with an operand (JSvalue.endsWith(operand))."doesNotEndWith": Negation of"endsWith"."isBlank": Checks if the trimmed property value has a length of 0 (JSvalue.trim().length === 0)."isNotBlank": Negation of"isBlank"."matchesRegex": Checks if the property value matches a regex denoted by an operand (JSnew RegExp (operand).test(value))."doesNotMatchRegex": Negation of"matchesRegex".
Quantifier
Type: "some" | "every" | "notAny" | "notEvery"
Quantifiers and what they do:
"some": Applies JS arraysomelogic to property array values or operands array values. Example:operands.some(operand => /* ... */)"every": Applies JS arrayeverylogic to property array values or operands array values. Example:operands.every(operand => /* ... */)"notAny": Applies negation to JS arraysomelogic to property array values or operands array values. Example:!operands.some(operand => /* ... */)"notEvery": Applies negation to JS arrayeverylogic to property array values or operands array values. Example:!operands.every(operand => /* ... */)

