UNPKG

5.38 kBTypeScriptView Raw
1import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
2import { ITranslator } from '@jupyterlab/translation';
3import { ReadonlyPartialJSONObject, Token } from '@lumino/coreutils';
4import { MimeModel } from './mimemodel';
5/**
6 * The rendermime token.
7 */
8export declare const IRenderMimeRegistry: Token<IRenderMimeRegistry>;
9export interface IRenderMimeRegistry {
10 /**
11 * The sanitizer used by the rendermime instance.
12 */
13 readonly sanitizer: IRenderMime.ISanitizer;
14 /**
15 * The object used to resolve relative urls for the rendermime instance.
16 */
17 readonly resolver: IRenderMime.IResolver | null;
18 /**
19 * The object used to handle path opening links.
20 */
21 readonly linkHandler: IRenderMime.ILinkHandler | null;
22 /**
23 * The LaTeX typesetter for the rendermime.
24 */
25 readonly latexTypesetter: IRenderMime.ILatexTypesetter | null;
26 /**
27 * The Markdown parser for the rendermime.
28 */
29 readonly markdownParser: IRenderMime.IMarkdownParser | null;
30 /**
31 * The ordered list of mimeTypes.
32 */
33 readonly mimeTypes: ReadonlyArray<string>;
34 /**
35 * Find the preferred mime type for a mime bundle.
36 *
37 * @param bundle - The bundle of mime data.
38 *
39 * @param safe - How to consider safe/unsafe factories. If 'ensure',
40 * it will only consider safe factories. If 'any', any factory will be
41 * considered. If 'prefer', unsafe factories will be considered, but
42 * only after the safe options have been exhausted.
43 *
44 * @returns The preferred mime type from the available factories,
45 * or `undefined` if the mime type cannot be rendered.
46 */
47 preferredMimeType(bundle: ReadonlyPartialJSONObject, safe?: 'ensure' | 'prefer' | 'any'): string | undefined;
48 /**
49 * Create a renderer for a mime type.
50 *
51 * @param mimeType - The mime type of interest.
52 *
53 * @returns A new renderer for the given mime type.
54 *
55 * @throws An error if no factory exists for the mime type.
56 */
57 createRenderer(mimeType: string): IRenderMime.IRenderer;
58 /**
59 * Create a new mime model. This is a convenience method.
60 *
61 * @options - The options used to create the model.
62 *
63 * @returns A new mime model.
64 */
65 createModel(options?: MimeModel.IOptions): MimeModel;
66 /**
67 * Create a clone of this rendermime instance.
68 *
69 * @param options - The options for configuring the clone.
70 *
71 * @returns A new independent clone of the rendermime.
72 */
73 clone(options?: IRenderMimeRegistry.ICloneOptions): IRenderMimeRegistry;
74 /**
75 * Get the renderer factory registered for a mime type.
76 *
77 * @param mimeType - The mime type of interest.
78 *
79 * @returns The factory for the mime type, or `undefined`.
80 */
81 getFactory(mimeType: string): IRenderMime.IRendererFactory | undefined;
82 /**
83 * Add a renderer factory to the rendermime.
84 *
85 * @param factory - The renderer factory of interest.
86 *
87 * @param rank - The rank of the renderer. A lower rank indicates
88 * a higher priority for rendering. If not given, the rank will
89 * defer to the `defaultRank` of the factory. If no `defaultRank`
90 * is given, it will default to 100.
91 *
92 * #### Notes
93 * The renderer will replace an existing renderer for the given
94 * mimeType.
95 */
96 addFactory(factory: IRenderMime.IRendererFactory, rank?: number): void;
97 /**
98 * Remove a mime type.
99 *
100 * @param mimeType - The mime type of interest.
101 */
102 removeMimeType(mimeType: string): void;
103 /**
104 * Get the rank for a given mime type.
105 *
106 * @param mimeType - The mime type of interest.
107 *
108 * @returns The rank of the mime type or undefined.
109 */
110 getRank(mimeType: string): number | undefined;
111 /**
112 * Set the rank of a given mime type.
113 *
114 * @param mimeType - The mime type of interest.
115 *
116 * @param rank - The new rank to assign.
117 *
118 * #### Notes
119 * This is a no-op if the mime type is not registered.
120 */
121 setRank(mimeType: string, rank: number): void;
122}
123export declare namespace IRenderMimeRegistry {
124 /**
125 * The options used to clone a rendermime instance.
126 */
127 interface ICloneOptions {
128 /**
129 * The new sanitizer used to sanitize untrusted html inputs.
130 */
131 sanitizer?: IRenderMime.ISanitizer;
132 /**
133 * The new resolver object.
134 */
135 resolver?: IRenderMime.IResolver;
136 /**
137 * The new path handler.
138 */
139 linkHandler?: IRenderMime.ILinkHandler;
140 /**
141 * The new LaTeX typesetter.
142 */
143 latexTypesetter?: IRenderMime.ILatexTypesetter;
144 /**
145 * The new Markdown parser.
146 */
147 markdownParser?: IRenderMime.IMarkdownParser;
148 /**
149 * The application language translator.
150 */
151 translator?: ITranslator;
152 }
153}
154/**
155 * The latex typesetter token.
156 */
157export declare const ILatexTypesetter: Token<IRenderMime.ILatexTypesetter>;
158export interface ILatexTypesetter extends IRenderMime.ILatexTypesetter {
159}
160/**
161 * The markdown parser token.
162 */
163export declare const IMarkdownParser: Token<IRenderMime.IMarkdownParser>;
164export interface IMarkdownParser extends IRenderMime.IMarkdownParser {
165}