8
0
Quellcode durchsuchen

Composition over inheritance.

Piotrek Koszuliński vor 9 Jahren
Ursprung
Commit
5f0183ddb4
1 geänderte Dateien mit 9 neuen und 4 gelöschten Zeilen
  1. 9 4
      packages/ckeditor5-markdown-gfm/src/gfmdataprocessor.js

+ 9 - 4
packages/ckeditor5-markdown-gfm/src/gfmdataprocessor.js

@@ -13,9 +13,14 @@ import converters from './lib/to-markdown/converters.js';
  * GFMDataProcessor class.
  * This data processor implementation uses GitHub flavored markdown as input/output data.
  *
- * @extends engine.dataProcessor.HtmlDataProcessor
+ * @memberOf markdown-gfm
+ * @implements engine.dataProcessor.DataProcessor
  */
-export default class GFMDataProcessor extends HtmlDataProcessor {
+export default class GFMDataProcessor {
+	constructor() {
+		this._htmlDP = new HtmlDataProcessor();
+	}
+
 	/**
 	 * Converts provided markdown string to view tree.
 	 *
@@ -31,7 +36,7 @@ export default class GFMDataProcessor extends HtmlDataProcessor {
 			renderer: new GFMRenderer()
 		} );
 
-		return super.toView( html );
+		return this._htmlDP.toView( html );
 	}
 
 	/**
@@ -41,7 +46,7 @@ export default class GFMDataProcessor extends HtmlDataProcessor {
 	 * @returns {String} Markdown string.
 	 */
 	toData( viewFragment ) {
-		const html = super.toData( viewFragment );
+		const html = this._htmlDP.toData( viewFragment );
 
 		return toMarkdown( html, { gfm: true, converters } );
 	}