parseForeignCalls(Defined in: src/parsing/parsing-utilities.ts:186 Parses a condition string to identify and process foreign call (FC) expressions. Replaces each FC expression with a unique placeholder and updates thecondition
,names
,foreignCallNameToID
,indexMap
,additionalForeignCalls
): [string
,RuleComponent
[]]
names
array
with metadata about the processed expressions.
Parameters
Parameter | Type | Description |
---|---|---|
condition | string | The input condition string containing potential FC expressions. |
names | any [] | An array to store metadata about the processed FC expressions, including their placeholders, indices, and types. |
foreignCallNameToID | FCNameToID [] | An array mapping foreign call names to their corresponding IDs. |
indexMap | FCNameToID [] | - |
additionalForeignCalls | string [] | - |
Returns
[string
, RuleComponent
[]]
The updated condition string with FC expressions replaced by placeholders
and an array of created ForeignCall
Remarks
- FC expressions are identified using the regular expression
/FC:[a-zA-Z]+[^\s]+/g
. - If an FC expression is already present in the
names
array, its existing placeholder is reused. - Each new FC expression is assigned a unique placeholder in the format
FC:<getRandom()>
.