-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.d.ts
87 lines (83 loc) · 1.38 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
76
77
78
79
80
81
82
83
84
85
86
87
declare const parse: (input: string) => Node[]
export default parse
export type Node =
| Bold
| Border
| Break
| CodeBlock
| CodeSpan
| Image
| Italic
| Link
| LinkDefinition
| List
| Quote
| Strike
| Text
| Title
export type NodeTypes = { [P in Node['type']]: Extract<Node, { type: P }> }
export interface Block {
block: Node[]
}
export interface Bold extends Block {
type: 'bold'
style: '**' | '__'
}
export interface Border {
type: 'border'
text: string
}
export interface Break {
type: 'break'
text: string
}
export interface CodeBlock {
type: 'codeBlock'
code: string
syntax: string
indent: string
}
export interface CodeSpan {
type: 'codeSpan'
code: string
}
export interface Image {
type: 'image'
alt: string
url: string
ref: string
}
export interface Italic extends Block {
type: 'italic'
style: '*' | '_'
}
export interface Link extends Block {
type: 'link'
url: string
ref: string
}
export interface LinkDefinition {
type: 'linkDef'
key: string
url: string
}
export interface List extends Block {
type: 'list'
indent: string
bullet: string
}
export interface Quote extends Block {
type: 'quote'
}
export interface Strike extends Block {
type: 'strike'
style: '~~'
}
export interface Text {
type: 'text'
text: string
}
export interface Title extends Block {
type: 'title'
rank: 1 | 2 | 3 | 4 | 5 | 6
}