tm-text
Version:
Trackmania and Maniaplanet text parser and formatter
22 lines (21 loc) • 1.54 kB
TypeScript
import type { TokenizeOptions } from '../utils/options';
import type { CssTokenKind, HrefTokenKind, LinkTokenKind, PrefixedTokenKind, SingleCharTokenKind, Token, TokenKind, WidthTokenKind } from '../utils/syntax';
export declare const isWidthKind: (kind: TokenKind | undefined) => kind is WidthTokenKind;
export declare const isCssKind: (kind: TokenKind | undefined) => kind is CssTokenKind;
export declare const isHrefKind: (kind: TokenKind | undefined) => kind is HrefTokenKind;
export declare const isLinkKind: (kind: TokenKind | undefined) => kind is LinkTokenKind;
export declare const isKindWithPrefix: (kind: TokenKind) => kind is PrefixedTokenKind;
export declare const getKindByChar: (char: string) => SingleCharTokenKind | undefined;
export declare const getColor: (input: string, firstCharIndex: number) => string;
export declare const isColor: (input: string, firstCharIndex: number) => boolean;
export declare const extractWords: (tokens: Token[]) => Token[];
export declare const stringifyTokens: (tokens: Token[]) => string;
export declare const initTokens: (input: string, options: TokenizeOptions) => {
add: (kind: TokenKind, content: string, charIndex: number) => void;
addColor: (firstCharIndex: number) => void;
addWord: (content: string, charIndex: number) => void;
get: () => Token[];
};
export declare const findNextHrefEndIndex: (input: string, startIndex: number) => number | null;
export declare const tokenize: (input: string, options?: Partial<TokenizeOptions>) => Token[];
export default tokenize;