Class: Interpreter
The TagScript interpreter.
Constructors
constructor
• new Interpreter(...parsers)
Parameters
| Name | Type |
|---|---|
...parsers | IParser[] |
Properties
parsers
• Protected parsers: IParser[]
Methods
addParsers
▸ addParsers(...parsers): void
Add more parsers
Parameters
| Name | Type | Description |
|---|---|---|
...parsers | IParser[] | The parsers to add. |
Returns
void
checkWorkload
▸ Private checkWorkload(charLimit, totalWork, output): undefined | number
Parameters
| Name | Type |
|---|---|
charLimit | null | number |
totalWork | number |
output | string |
Returns
undefined | number
getAcceptors
▸ Protected getAcceptors(ctx): Promise (opens in a new tab)<IParser[]>
Parameters
| Name | Type |
|---|---|
ctx | Context |
Returns
Promise (opens in a new tab)<IParser[]>
getContext
▸ Private getContext(node, final, response, originalMessage, tagLimit, parenType?): Context
Parameters
| Name | Type | Default value |
|---|---|---|
node | Node | undefined |
final | string | undefined |
response | Response | undefined |
originalMessage | string | undefined |
tagLimit | number | undefined |
parenType | ParenType | ParenType.Both |
Returns
processTags
▸ Private processTags(ctx, node): Promise (opens in a new tab)<null | string>
Parameters
| Name | Type |
|---|---|
ctx | Context |
node | Node |
Returns
Promise (opens in a new tab)<null | string>
run
▸ run(message, seedVariables?, charLimit?, tagLimit?, parenType?, keyValues?): Promise (opens in a new tab)<Response>
Processes a given TagScript string.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
message | string | undefined | The TagScript string that to be processed. |
seedVariables | Object | {} | A object containing strings to transformer to provide context variables for processing. |
charLimit | null | number | null | The maximum characters to process. |
tagLimit | number | 2_000 | The maximum tags to process. |
parenType | ParenType | ParenType.Both | Whether the parameter should be followed after a "." or use parenthesis or both. |
keyValues | IKeyValues | {} | Additional key value pairs that may be used by parsers during parsing. |
Returns
Promise (opens in a new tab)<Response>
- Response class containing the raw string, processed body, actions and variables.
setParsers
▸ setParsers(...parsers): void
Set new parsers
Parameters
| Name | Type | Description |
|---|---|---|
...parsers | IParser[] | The parsers to set. |
Returns
void
solve
▸ Private solve(message, nodeOrderedList, response, charLimit, tagLimit?, parenType?): Promise (opens in a new tab)<string>
Parameters
| Name | Type | Default value |
|---|---|---|
message | string | undefined |
nodeOrderedList | Node[] | undefined |
response | Response | undefined |
charLimit | null | number | undefined |
tagLimit | number | 2_000 |
parenType | ParenType | ParenType.Both |
Returns
Promise (opens in a new tab)<string>
textDeform
▸ Private textDeform(start, end, final, output): [string, number]
Parameters
| Name | Type |
|---|---|
start | number |
end | number |
final | string |
output | string |
Returns
[string, number]
translateNodes
▸ Private translateNodes(nodeOrderedList, index, start, differential): void
Parameters
| Name | Type |
|---|---|
nodeOrderedList | Node[] |
index | number |
start | number |
differential | number |
Returns
void