UNPKG

ngx-showdown-angular-latest

Version:
64 lines 5.67 kB
import { Injectable, Optional } from '@angular/core'; import * as Showdown from 'showdown'; import * as i0 from "@angular/core"; import * as i1 from "./showdown-config.provider"; /** * @internal */ let { hasOwnProperty } = {}; /** * ### Example * * Setup as standalone * ```typescript * import { NgModule } from '@angular/core'; * import { ShowdownConverter } from 'ngx-showdown'; * * @NgModule({ * providers: [ ShowdownConverter ]; * }) * export class AppModule {} * ``` * * Use the converter instance. * ```typescript * import { Injectable } from '@angular/core'; * import { ShowdownConverter } from 'ngx-showdown'; * * @Injectable() * export class SomeService { * constructor(showdownConverter: ShowdownConverter) { * let markdown: string = "**Some**"; * let html: string = showdownConverter.makeHtml(markdown); * console.log(`some:\nmarkdown: ${markdown)\nhtml: ${html}\n`); * } * } * ``` */ export class ShowdownConverter extends Showdown.Converter { constructor(config) { super(config && { extensions: config.extensions }); this.setFlavor((config && config.flavor) || 'vanilla'); this.setOptions(config); } /** * Set options to the converter. * * @param options - A options object to set. */ setOptions(options) { for (let key in options) { if (hasOwnProperty.call(options, key)) { this.setOption(key, options[key]); } } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShowdownConverter, deps: [{ token: i1.ShowdownConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShowdownConverter }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ShowdownConverter, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ShowdownConfig, decorators: [{ type: Optional }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvd2Rvd24tY29udmVydGVyLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nob3dkb3duLWNvbnZlcnRlci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEtBQUssUUFBUSxNQUFNLFVBQVUsQ0FBQzs7O0FBR3JDOztHQUVHO0FBQ0gsSUFBSSxFQUFDLGNBQWMsRUFBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRLENBQUMsU0FBUztJQUV2RCxZQUF3QixNQUF1QjtRQUM3QyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsT0FBaUM7UUFDakQsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN4QixJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt1R0FuQlUsaUJBQWlCOzJHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQUdJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBTaG93ZG93biBmcm9tICdzaG93ZG93bic7XHJcbmltcG9ydCB7IFNob3dkb3duQ29uZmlnIH0gZnJvbSAnLi9zaG93ZG93bi1jb25maWcucHJvdmlkZXInO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxubGV0IHtoYXNPd25Qcm9wZXJ0eX0gPSB7fTtcclxuXHJcbi8qKlxyXG4gKiAjIyMgRXhhbXBsZVxyXG4gKlxyXG4gKiBTZXR1cCBhcyBzdGFuZGFsb25lXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICogaW1wb3J0IHsgU2hvd2Rvd25Db252ZXJ0ZXIgfSBmcm9tICduZ3gtc2hvd2Rvd24nO1xyXG4gKlxyXG4gKiBATmdNb2R1bGUoe1xyXG4gKiAgIHByb3ZpZGVyczogWyBTaG93ZG93bkNvbnZlcnRlciBdO1xyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBVc2UgdGhlIGNvbnZlcnRlciBpbnN0YW5jZS5cclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbiAqIGltcG9ydCB7IFNob3dkb3duQ29udmVydGVyIH0gZnJvbSAnbmd4LXNob3dkb3duJztcclxuICpcclxuICogQEluamVjdGFibGUoKVxyXG4gKiBleHBvcnQgY2xhc3MgU29tZVNlcnZpY2Uge1xyXG4gKiAgIGNvbnN0cnVjdG9yKHNob3dkb3duQ29udmVydGVyOiBTaG93ZG93bkNvbnZlcnRlcikge1xyXG4gKiAgICAgbGV0IG1hcmtkb3duOiBzdHJpbmcgPSBcIioqU29tZSoqXCI7XHJcbiAqICAgICBsZXQgaHRtbDogc3RyaW5nID0gc2hvd2Rvd25Db252ZXJ0ZXIubWFrZUh0bWwobWFya2Rvd24pO1xyXG4gKiAgICAgY29uc29sZS5sb2coYHNvbWU6XFxubWFya2Rvd246ICR7bWFya2Rvd24pXFxuaHRtbDogJHtodG1sfVxcbmApO1xyXG4gKiAgIH1cclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNob3dkb3duQ29udmVydGVyIGV4dGVuZHMgU2hvd2Rvd24uQ29udmVydGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogU2hvd2Rvd25Db25maWcpIHtcclxuICAgIHN1cGVyKGNvbmZpZyAmJiB7ZXh0ZW5zaW9uczogY29uZmlnLmV4dGVuc2lvbnN9KTtcclxuICAgIHRoaXMuc2V0Rmxhdm9yKChjb25maWcgJiYgY29uZmlnLmZsYXZvcikgfHwgJ3ZhbmlsbGEnKTtcclxuICAgIHRoaXMuc2V0T3B0aW9ucyhjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IG9wdGlvbnMgdG8gdGhlIGNvbnZlcnRlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQSBvcHRpb25zIG9iamVjdCB0byBzZXQuXHJcbiAgICovXHJcbiAgcHVibGljIHNldE9wdGlvbnMob3B0aW9uczogU2hvd2Rvd24uU2hvd2Rvd25PcHRpb25zKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gb3B0aW9ucykge1xyXG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCBrZXkpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oa2V5LCBvcHRpb25zW2tleV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=