parseForeignCalls(Defined in: src/parsing/parsing-utilities.ts:230 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,trackerNameToID,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 | NameToID[] | An array mapping foreign call names to their corresponding IDs. |
trackerNameToID | NameToID[] | An array mapping tracker names to their corresponding IDs. |
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
namesarray, its existing placeholder is reused. - Each new FC expression is assigned a unique placeholder in the format
FC:<getRandom()>.