10
10
// Sarun Intaralawan <https://github.com/sarunint>
11
11
// Tony Brix <https://github.com/UziTech>
12
12
// Anatolii Titov <https://github.com/Toliak>
13
+ // Jean-Francois Cere <https://github.com/jfcere>
14
+ // Mykhaylo Stolyarchuk <https://github.com/MykSto>
13
15
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
14
16
15
17
/**
@@ -75,11 +77,7 @@ export namespace marked {
75
77
* @param callback Function called when the markdownString has been fully parsed when using async highlighting
76
78
* @return String of compiled HTML
77
79
*/
78
- function parse (
79
- src : string ,
80
- options ?: MarkedOptions ,
81
- callback ?: ( error : any , parseResult : string ) => void ,
82
- ) : string ;
80
+ function parse ( src : string , options ?: MarkedOptions , callback ?: ( error : any , parseResult : string ) => void ) : string ;
83
81
84
82
/**
85
83
* @param src Tokenized source as array of tokens
@@ -126,74 +124,79 @@ export namespace marked {
126
124
class Tokenizer < T = never > {
127
125
constructor ( options ?: MarkedOptions ) ;
128
126
options : MarkedOptions ;
129
- space ( this : TokenizerThis , src : string ) : Tokens . Space | T ;
130
- code ( this : TokenizerThis , src : string ) : Tokens . Code | T ;
131
- fences ( this : TokenizerThis , src : string ) : Tokens . Code | T ;
132
- heading ( this : TokenizerThis , src : string ) : Tokens . Heading | T ;
133
- hr ( this : TokenizerThis , src : string ) : Tokens . Hr | T ;
134
- blockquote ( this : TokenizerThis , src : string ) : Tokens . Blockquote | T ;
135
- list ( this : TokenizerThis , src : string ) : Tokens . List | T ;
136
- html ( this : TokenizerThis , src : string ) : Tokens . HTML | T ;
137
- def ( this : TokenizerThis , src : string ) : Tokens . Def | T ;
138
- table ( this : TokenizerThis , src : string ) : Tokens . Table | T ;
139
- lheading ( this : TokenizerThis , src : string ) : Tokens . Heading | T ;
140
- paragraph ( this : TokenizerThis , src : string ) : Tokens . Paragraph | T ;
141
- text ( this : TokenizerThis , src : string ) : Tokens . Text | T ;
142
- escape ( this : TokenizerThis , src : string ) : Tokens . Escape | T ;
143
- tag ( this : TokenizerThis , src : string ) : Tokens . Tag | T ;
144
- link ( this : TokenizerThis , src : string ) : Tokens . Image | Tokens . Link | T ;
127
+ space ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Space | T ;
128
+ code ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Code | T ;
129
+ fences ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Code | T ;
130
+ heading ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Heading | T ;
131
+ hr ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Hr | T ;
132
+ blockquote ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Blockquote | T ;
133
+ list ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . List | T ;
134
+ html ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . HTML | T ;
135
+ def ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Def | T ;
136
+ table ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Table | T ;
137
+ lheading ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Heading | T ;
138
+ paragraph ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Paragraph | T ;
139
+ text ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Text | T ;
140
+ escape ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Escape | T ;
141
+ tag ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Tag | T ;
142
+ link ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Image | Tokens . Link | T ;
145
143
reflink (
146
- this : TokenizerThis ,
144
+ this : Tokenizer & TokenizerThis ,
147
145
src : string ,
148
146
links : Tokens . Link [ ] | Tokens . Image [ ] ,
149
147
) : Tokens . Link | Tokens . Image | Tokens . Text | T ;
150
- emStrong ( this : TokenizerThis , src : string , maskedSrc : string , prevChar : string ) : Tokens . Em | Tokens . Strong | T ;
151
- codespan ( this : TokenizerThis , src : string ) : Tokens . Codespan | T ;
152
- br ( this : TokenizerThis , src : string ) : Tokens . Br | T ;
153
- del ( this : TokenizerThis , src : string ) : Tokens . Del | T ;
154
- autolink ( this : TokenizerThis , src : string , mangle : ( cap : string ) => string ) : Tokens . Link | T ;
155
- url ( this : TokenizerThis , src : string , mangle : ( cap : string ) => string ) : Tokens . Link | T ;
156
- inlineText ( this : TokenizerThis , src : string , smartypants : ( cap : string ) => string ) : Tokens . Text | T ;
148
+ emStrong (
149
+ this : Tokenizer & TokenizerThis ,
150
+ src : string ,
151
+ maskedSrc : string ,
152
+ prevChar : string ,
153
+ ) : Tokens . Em | Tokens . Strong | T ;
154
+ codespan ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Codespan | T ;
155
+ br ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Br | T ;
156
+ del ( this : Tokenizer & TokenizerThis , src : string ) : Tokens . Del | T ;
157
+ autolink ( this : Tokenizer & TokenizerThis , src : string , mangle : ( cap : string ) => string ) : Tokens . Link | T ;
158
+ url ( this : Tokenizer & TokenizerThis , src : string , mangle : ( cap : string ) => string ) : Tokens . Link | T ;
159
+ inlineText ( this : Tokenizer & TokenizerThis , src : string , smartypants : ( cap : string ) => string ) : Tokens . Text | T ;
157
160
}
158
161
159
162
type TokenizerObject = Partial < Omit < Tokenizer < false > , 'constructor' | 'options' > > ;
160
163
161
164
class Renderer < T = never > {
162
165
constructor ( options ?: MarkedOptions ) ;
163
166
options : MarkedOptions ;
164
- code ( this : RendererThis , code : string , language : string | undefined , isEscaped : boolean ) : string | T ;
165
- blockquote ( this : RendererThis , quote : string ) : string | T ;
166
- html ( this : RendererThis , html : string ) : string | T ;
167
+ code ( this : Renderer | RendererThis , code : string , language : string | undefined , isEscaped : boolean ) : string | T ;
168
+ blockquote ( this : Renderer | RendererThis , quote : string ) : string | T ;
169
+ html ( this : Renderer | RendererThis , html : string ) : string | T ;
167
170
heading (
168
- this : RendererThis ,
171
+ this : Renderer | RendererThis ,
169
172
text : string ,
170
173
level : 1 | 2 | 3 | 4 | 5 | 6 ,
171
174
raw : string ,
172
175
slugger : Slugger ,
173
176
) : string | T ;
174
- hr ( this : RendererThis ) : string | T ;
175
- list ( this : RendererThis , body : string , ordered : boolean , start : number ) : string | T ;
176
- listitem ( this : RendererThis , text : string , task : boolean , checked : boolean ) : string | T ;
177
- checkbox ( this : RendererThis , checked : boolean ) : string | T ;
178
- paragraph ( this : RendererThis , text : string ) : string | T ;
179
- table ( this : RendererThis , header : string , body : string ) : string | T ;
180
- tablerow ( this : RendererThis , content : string ) : string | T ;
177
+ hr ( this : Renderer | RendererThis ) : string | T ;
178
+ list ( this : Renderer | RendererThis , body : string , ordered : boolean , start : number ) : string | T ;
179
+ listitem ( this : Renderer | RendererThis , text : string , task : boolean , checked : boolean ) : string | T ;
180
+ checkbox ( this : Renderer | RendererThis , checked : boolean ) : string | T ;
181
+ paragraph ( this : Renderer | RendererThis , text : string ) : string | T ;
182
+ table ( this : Renderer | RendererThis , header : string , body : string ) : string | T ;
183
+ tablerow ( this : Renderer | RendererThis , content : string ) : string | T ;
181
184
tablecell (
182
- this : RendererThis ,
185
+ this : Renderer | RendererThis ,
183
186
content : string ,
184
187
flags : {
185
188
header : boolean ;
186
189
align : 'center' | 'left' | 'right' | null ;
187
190
} ,
188
191
) : string | T ;
189
- strong ( this : RendererThis , text : string ) : string | T ;
190
- em ( this : RendererThis , text : string ) : string | T ;
191
- codespan ( this : RendererThis , code : string ) : string | T ;
192
- br ( this : RendererThis ) : string | T ;
193
- del ( this : RendererThis , text : string ) : string | T ;
194
- link ( this : RendererThis , href : string | null , title : string | null , text : string ) : string | T ;
195
- image ( this : RendererThis , href : string | null , title : string | null , text : string ) : string | T ;
196
- text ( this : RendererThis , text : string ) : string | T ;
192
+ strong ( this : Renderer | RendererThis , text : string ) : string | T ;
193
+ em ( this : Renderer | RendererThis , text : string ) : string | T ;
194
+ codespan ( this : Renderer | RendererThis , code : string ) : string | T ;
195
+ br ( this : Renderer | RendererThis ) : string | T ;
196
+ del ( this : Renderer | RendererThis , text : string ) : string | T ;
197
+ link ( this : Renderer | RendererThis , href : string | null , title : string | null , text : string ) : string | T ;
198
+ image ( this : Renderer | RendererThis , href : string | null , title : string | null , text : string ) : string | T ;
199
+ text ( this : Renderer | RendererThis , text : string ) : string | T ;
197
200
}
198
201
199
202
type RendererObject = Partial < Omit < Renderer < false > , 'constructor' | 'options' > > ;
@@ -221,7 +224,7 @@ export namespace marked {
221
224
static parse ( src : Token [ ] | TokensList , options ?: MarkedOptions ) : string ;
222
225
static parseInline ( src : Token [ ] , options ?: MarkedOptions ) : string ;
223
226
parse ( src : Token [ ] | TokensList ) : string ;
224
- parseInline ( src : Token [ ] , renderer : Renderer ) : string ;
227
+ parseInline ( src : Token [ ] , renderer ? : Renderer ) : string ;
225
228
next ( ) : Token ;
226
229
}
227
230
@@ -236,8 +239,8 @@ export namespace marked {
236
239
lex ( src : string ) : TokensList ;
237
240
blockTokens ( src : string , tokens : Token [ ] ) : Token [ ] ;
238
241
blockTokens ( src : string , tokens : TokensList ) : TokensList ;
239
- inline ( src : string , tokens : Token [ ] ) : void ;
240
- inlineTokens ( src : string , tokens : Token [ ] ) : Token [ ] ;
242
+ inline ( src : string , tokens ? : Token [ ] ) : Token [ ] ;
243
+ inlineTokens ( src : string , tokens ? : Token [ ] ) : Token [ ] ;
241
244
state : {
242
245
inLink : boolean ;
243
246
inRawBlock : boolean ;
@@ -461,7 +464,7 @@ export namespace marked {
461
464
interface TokenizerExtension {
462
465
name : string ;
463
466
level : 'block' | 'inline' ;
464
- start ?: ( ( this : TokenizerThis , src : string ) => number ) | undefined ;
467
+ start ?: ( ( this : TokenizerThis , src : string ) => number | void ) | undefined ;
465
468
tokenizer : ( this : TokenizerThis , src : string , tokens : Token [ ] | TokensList ) => Tokens . Generic | void ;
466
469
childTokens ?: string [ ] | undefined ;
467
470
}
@@ -514,11 +517,7 @@ export namespace marked {
514
517
* with an error if any occurred during highlighting and a string
515
518
* if highlighting was successful)
516
519
*/
517
- highlight ?(
518
- code : string ,
519
- lang : string ,
520
- callback ?: ( error : any , code ?: string ) => void ,
521
- ) : string | void ;
520
+ highlight ?( code : string , lang : string , callback ?: ( error : any , code ?: string ) => void ) : string | void ;
522
521
523
522
/**
524
523
* Set the prefix for code block classes.
0 commit comments