phaser3-rex-plugins
Version:
125 lines (111 loc) • 2.91 kB
TypeScript
import EventEmitter from '../../../utils/eventemitter/EventEmitter';
export default BracketParser;
declare namespace BracketParser {
/**
* Convert a string value.
*/
type ValueConvertCallback = (s: string) => any;
/**
* Translate tag name.
*/
type TranslateTagNameCallbackType = (s: string) => string;
interface IConfig {
/**
* True to allow tags across multiple lines.
*/
multipleLinesTag?: boolean,
/**
* Tag delimiters.
*/
delimiters?: string | [string, string],
/**
* Value conversion setting.
*/
valueConvert?: boolean | ValueConvertCallback,
/**
* Translate tag name callback.
*/
translateTagNameCallback?: TranslateTagNameCallbackType,
/**
* Event emitter or false to disable.
*/
eventEmitter?: EventEmitter | false,
/**
* True to loop parsing.
*/
loop?: boolean
}
}
/**
* Base bracket parser with start/pause control.
*/
declare class BracketParser extends EventEmitter {
/**
* Create a bracket parser.
* @param config - Parser configuration.
*/
constructor(
config?: BracketParser.IConfig
);
/**
* Start parsing text.
* @param text - Text to parse.
* @returns This instance.
*/
start(text: string): this;
/**
* Pause parsing.
* @returns This instance.
*/
pause(): this;
/**
* Pause until an event is emitted.
* @param eventEmitter - Event emitter.
* @param eventName - Event name.
* @returns This instance.
*/
pauseUntilEvent(
eventEmitter: EventEmitter,
eventName: string
): this;
/**
* Parse the next token.
* @returns This instance.
*/
next(): this;
/**
* Restart parsing.
* @returns This instance.
*/
restart(): this;
/**
* Skip current event.
* @returns This instance.
*/
skipEvent(): this;
/**
* True if parser is running.
*/
readonly isRunning: boolean;
/**
* True if parser is paused.
*/
readonly isPaused: boolean;
/**
* Set delimiters.
* @param delimiterLeft - Left delimiter.
* @param delimiterRight - Right delimiter.
* @returns This instance.
*/
setDelimiters(delimiterLeft: string, delimiterRight?: string): this;
/**
* Set translate tag name callback.
* @param callback - Callback function.
* @returns This instance.
*/
setTranslateTagNameCallback(callback?: BracketParser.TranslateTagNameCallbackType): this;
/**
* Last parsed tag source.
*/
readonly lastTagSource: string;
}