-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathindex.d.ts
126 lines (120 loc) · 3.13 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import type {Point, Position} from 'unist'
// To do: next major: remove `void` from allowed return types.
/**
* @typeParam Context
* Value used as `this`.
* @this
* The `warningContext` given to `parseEntities`
* @param reason
* Human readable reason for emitting a parse error.
* @param point
* Place where the error occurred.
* @param code
* Machine readable code the error.
*/
export type WarningHandler<Context = undefined> = (
this: Context,
reason: string,
point: Point,
code: number
) => undefined | void
/**
* @typeParam Context
* Value used as `this`.
* @this
* The `referenceContext` given to `parseEntities`
* @param value
* Decoded character reference.
* @param position
* Place where `value` starts and ends.
* @param source
* Raw source of character reference.
*/
export type ReferenceHandler<Context = undefined> = (
this: Context,
value: string,
position: Position,
source: string
) => undefined | void
/**
* @typeParam Context
* Value used as `this`.
* @this
* The `textContext` given to `parseEntities`.
* @param value
* String of content.
* @param position
* Place where `value` starts and ends.
*/
export type TextHandler<Context = undefined> = (
this: Context,
value: string,
position: Position
) => undefined | void
/**
* Configuration.
*
* @typeParam WarningContext
* Value used as `this` in the `warning` handler.
* @typeParam ReferenceContext
* Value used as `this` in the `reference` handler.
* @typeParam TextContext
* Value used as `this` in the `text` handler.
*/
export interface Options<
WarningContext = undefined,
ReferenceContext = undefined,
TextContext = undefined
> {
/**
* Additional character to accept.
* This allows other characters, without error, when following an ampersand.
*
* @default ''
*/
additional?: string | null | undefined
/**
* Whether to parse `value` as an attribute value.
* This results in slightly different behavior.
*
* @default false
*/
attribute?: boolean | null | undefined
/**
* Whether to allow nonterminated character references.
* For example, `©cat` for `©cat`.
* This behavior is compliant to the spec but can lead to unexpected results.
*
* @default true
*/
nonTerminated?: boolean | null | undefined
/**
* Starting `position` of `value` (`Point` or `Position`). Useful when dealing with values nested in some sort of syntax tree.
*/
position?: Readonly<Position> | Readonly<Point> | null | undefined
/**
* Context used when calling `warning`.
*/
warningContext?: WarningContext | null | undefined
/**
* Context used when calling `reference`.
*/
referenceContext?: ReferenceContext | null | undefined
/**
* Context used when calling `text`.
*/
textContext?: TextContext | null | undefined
/**
* Warning handler.
*/
warning?: WarningHandler<WarningContext> | null | undefined
/**
* Reference handler.
*/
reference?: ReferenceHandler<ReferenceContext> | null | undefined
/**
* Text handler.
*/
text?: TextHandler<TextContext> | null | undefined
}
export {parseEntities} from './lib/index.js'