index.d.ts•1.47 kB
interface DisallowedToken {
type: 'disallowed';
cp: number;
}
interface IgnoredToken {
type: 'ignored';
cp: number;
}
interface ValidToken {
type: 'valid';
cps: number[];
}
interface MappedToken {
type: 'mapped';
cp: number;
cps: number[];
}
type TextToken = DisallowedToken | IgnoredToken | ValidToken | MappedToken;
interface EmojiToken {
type: 'emoji';
input: number[];
emoji: number[];
cps: number[];
}
interface NFCToken {
type: 'nfc';
input: number[];
cps: number[];
tokens: TextToken[];
}
interface StopToken {
type: 'stop';
}
type Token = TextToken | EmojiToken | NFCToken | StopToken;
interface Label {
input: number[];
offset: number;
error?: Error;
tokens?: number[][];
output?: number[];
emoji?: boolean;
type?: string;
}
export function ens_normalize(name: string): string;
export function ens_normalize_fragment(frag: string, decompose?: boolean): string;
export function ens_beautify(name: string): string;
export function ens_tokenize(name: string, options?: {nf?: boolean}): Token[];
export function ens_split(name: string, preserve_emoji?: boolean): Label[];
export function ens_emoji(): number[][];
export function should_escape(cp: number): boolean;
export function is_combining_mark(cp: number): boolean;
export function safe_str_from_cps(cps: number[]): string;
export function nfd(cps: number[]): number[];
export function nfc(cps: number[]): number[];