Class: StringTransformer
String transformer transforms a string based on the given parameters.
If no parameters are given, the string will be returned as is. If an integer parameter is given, the string will be splitted into an array of strings using payload or space as a separator. And will return the element at the given index (integer parameter).
Use a +
before the index to reference every element up to and including the index value.
Use a +
after the index to reference the index value and every element after it.
Remarks
You need to use StrictVarsParser
parser to use this transformer.
Example
import { Interpreter, StringTransformer, StrictVarsParser } from 'tagscript';
const ts = new Interpreter(new StrictVarsParser());
await ts.run('{args}', { args: new StringTransformer('Hi, How are you?') });
// Hi, How are you?
await ts.run('{args(0)}', { args: new StringTransformer('Hi, How are you?') });
// Hi,
await ts.run('{args(1)}', { args: new StringTransformer('Hi, How are you?') });
// How
await ts.run('{args(2+)}', { args: new StringTransformer('Hi, How are you?') });
// How are you?
await ts.run('{args(+2)}', { args: new StringTransformer('Hi Vox, How are you?') });
// Hi Vox,
Implements
Constructors
new StringTransformer()
new StringTransformer(
str
,escape
):StringTransformer
Parameters
• str: string
The string to transform.
• escape: boolean
= false
If true, the string will be escaped.
Returns
Source
lib/Transformer/String.ts:51
Properties
escape
private
readonly
escape:boolean
Source
lib/Transformer/String.ts:44
str
private
readonly
str:string
Source
lib/Transformer/String.ts:42
Methods
handleContext()
private
handleContext(tag
):string
Parameters
• tag: Lexer
Returns
string
Source
lib/Transformer/String.ts:60
returnValue()
private
returnValue(str
):string
Parameters
• str: string
Returns
string
Source
lib/Transformer/String.ts:85
transform()
transform(
tag
):string
Parameters
• tag: Lexer
Returns
string
Implementation of
Source
lib/Transformer/String.ts:56