UNPKG

tm-text

Version:

Trackmania and Maniaplanet text parser and formatter

22 lines (21 loc) 1.54 kB
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;