2023-07-29 08:31:34 +02:00
|
|
|
import { _defaults } from './defaults.ts';
|
|
|
|
import type { MarkedOptions } from './MarkedOptions.ts';
|
2023-12-11 23:02:22 -07:00
|
|
|
import type { Token, TokensList } from './Tokens.ts';
|
2023-07-29 08:31:34 +02:00
|
|
|
|
|
|
|
export class _Hooks {
|
|
|
|
options: MarkedOptions;
|
|
|
|
|
|
|
|
constructor(options?: MarkedOptions) {
|
|
|
|
this.options = options || _defaults;
|
|
|
|
}
|
|
|
|
|
|
|
|
static passThroughHooks = new Set([
|
|
|
|
'preprocess',
|
2023-12-11 23:02:22 -07:00
|
|
|
'postprocess',
|
|
|
|
'processAllTokens'
|
2023-07-29 08:31:34 +02:00
|
|
|
]);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Process markdown before marked
|
|
|
|
*/
|
|
|
|
preprocess(markdown: string) {
|
|
|
|
return markdown;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Process HTML after marked is finished
|
|
|
|
*/
|
2023-08-09 23:33:46 -06:00
|
|
|
postprocess(html: string) {
|
2023-07-29 08:31:34 +02:00
|
|
|
return html;
|
|
|
|
}
|
2023-12-11 23:02:22 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Process all tokens before walk tokens
|
|
|
|
*/
|
|
|
|
processAllTokens(tokens: Token[] | TokensList) {
|
|
|
|
return tokens;
|
|
|
|
}
|
2023-07-29 08:31:34 +02:00
|
|
|
}
|