You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.4 KiB
59 lines
1.4 KiB
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[];
|
|
|