UNPKG

@cisstech/nge

Version:

NG Essentials is a collection of libraries for Angular developers.

91 lines (90 loc) 3.61 kB
import type { Renderer, Tokenizer, TokensList } from 'marked'; import { NgeMarkdownConfig } from './nge-markdown-config'; declare type AstTransformer = (tokens: TokensList) => TokensList; declare type HtmlTransformer = (element: HTMLElement) => void; declare type MarkdownTransformer = (markdown: string) => string; declare type RendererTransformer = (renderer: Renderer) => Renderer; declare type TokenizerTransformer = (tokenizer: Tokenizer) => Tokenizer; /** * Nge markdown transformer used by the contributions. */ export declare class NgeMarkdownTransformer { /** Configuration option */ readonly config: NgeMarkdownConfig; private readonly astTransformers; private readonly htmlTransformers; private readonly markdownTransformers; private readonly rendererTransformers; private readonly tokenizerTransformers; constructor( /** Configuration option */ config: NgeMarkdownConfig); /** * Registers a function to call to update the ast generated by the markdown compiler. * @param transform the function to call. */ addAstTransformer(transform: AstTransformer): void; /** * Registers a function to call to transform the html generated by the markdown compiler. * @param transformer the function to call. */ addHtmlTransformer(transformer: HtmlTransformer): void; /** * Registers a function to call to transform the markdown before it's parsed by the markdown compiler. * @param transform the function to call. */ addMarkdownTransformer(transform: MarkdownTransformer): void; /** * Registers a function to call to update marked library renderer. * @param transform the function to call. */ addRendererTransformer(transform: RendererTransformer): void; /** * Registers a function to call to update marked library tokenizer. * @param transform the function to call. */ addTokenizerTransformer(transform: TokenizerTransformer): void; /** * Apply the registered ast transformer functions to the given ast. * @param ast the ast to transform. * @returns the transformed ast. */ transformAst(ast: TokensList): TokensList; /** * Apply the registered html transformer functions to the given html. * @param element the html element to transform. * @returns the transformed html. */ transformHTML(element: HTMLElement): HTMLElement; /** * Apply the registered markdown transformer functions to the given markdown. * @param markdown the markdown to transform. * @returns the transformed markdown. */ transformMarkdown(markdown: string): string; /** * Apply the registered renderer transformer functions to the given renderer. * @param renderer the renderer to transform. * @returns the transformed renderer. */ transformRenderer(renderer: Renderer): Renderer; /** * Apply the registered tokenizer transformer functions to the given tokenizer. * @param tokenizer the tokenizer to transform. * @returns the transformed tokenizer. */ transformTokenizer(tokenizer: Tokenizer): Tokenizer; /** * Add new stylesheet element to the document. * @param url url to the stylesheet. * @returns A promise that resolves once the element is loaded. */ addStyle(url: string): Promise<any>; /** * Add new script element to the document. * @param url url to the script. * @returns A promise that resolves once the element is loaded. */ addScript(url: string): Promise<any>; } export {};