-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.d.ts
76 lines (37 loc) · 1.1 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
Types are taken from: @types/twemoji-parser
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/twemoji-parser
*/
/**
* A simple library for identifying emoji entities within a string in order to render them as Twemoji.
* For example, this parser is used within the rendering flow for Tweets and other text on mobile.twitter.com
*/
export const TypeName = "emoji";
export interface EmojiEntity {
/**
* @default 'emoji'
*/
type: typeof TypeName;
text: string;
/**
* @default ''
*/
url: string;
/**
* [startIndex: number, lastIndex: number]
*/
indices: [number, number];
}
export interface ParsingOptions {
buildUrl?: ((codepoints: string, assetType: AssetType) => string) | undefined;
/**
* @default 'svg'
*/
assetType?: AssetType | undefined;
}
export type AssetType = "png" | "svg";
/**
* Parser takes a string and returns an array of the emoji entities it finds.
*/
export function parse(text: string, options?: ParsingOptions): EmojiEntity[];
export function toCodePoints(unicodeSurrogates: string): string[];