UNPKG

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