Jelajahi Sumber

More rendermime cleanup

Steven Silvester 7 tahun lalu
induk
melakukan
3777651910
1 mengubah file dengan 11 tambahan dan 12 penghapusan
  1. 11 12
      packages/rendermime/src/rendermime.ts

+ 11 - 12
packages/rendermime/src/rendermime.ts

@@ -42,8 +42,8 @@ class RenderMime {
    */
   constructor(options: RenderMime.IOptions = {}) {
     this.sanitizer = options.sanitizer || defaultSanitizer;
-    this._resolver = options.resolver || null;
-    this._handler = options.linkHandler || null;
+    this.resolver = options.resolver || null;
+    this.linkHandler = options.linkHandler || null;
     let factories = options.initialFactories || [];
     for (let factory of factories) {
       for (let mime of factory.mimeTypes) {
@@ -79,23 +79,24 @@ class RenderMime {
    *
    * @param model - the mime model.
    *
+   * @param mimeType - the optional explicit mimeType to use.
+   *
    * #### Notes
-   * Creates a renderer widget using the preferred mime type.  See
-   * [[preferredMimeType]].
+   * If no mimeType is given, the [preferredMimeType] is used.
    */
-  createRenderer(model: IRenderMime.IMimeModel): IRenderMime.IRendererWidget {
-    let mimeType = this.preferredMimeType(model);
-    if (!mimeType) {
+  createRenderer(model: IRenderMime.IMimeModel, mimeType?: string): IRenderMime.IRendererWidget {
+    mimeType = mimeType || this.preferredMimeType(model);
+    let factory = this._factories[mimeType];
+    if (!factory) {
       throw new Error('Cannot render model');
     }
     let options = {
       mimeType,
       trusted: model.trusted,
-      resolver: this._resolver,
+      resolver: this.resolver,
       sanitizer: this.sanitizer,
-      linkHandler: this._handler
+      linkHandler: this.linkHandler
     };
-    let factory = this._factories[mimeType];
     if (!factory.canCreateRenderer(options)) {
       throw new Error('Cannot create renderer');
     }
@@ -216,8 +217,6 @@ class RenderMime {
   private _factories: { [key: string]: IRenderMime.IRendererFactory } = Object.create(null);
   private _mimeTypes: string[] = [];
   private _ranks: { [key: string]: number } = Object.create(null);
-  private _resolver: IRenderMime.IResolver | null;
-  private _handler: IRenderMime.ILinkHandler | null;
 }