ngx-showdown-angular-latest
Version:
An Angular 17 integration for Showdown
49 lines • 3.78 kB
JavaScript
/**
* @internal
*/
let { hasOwnProperty } = {};
/**
* A config provider
*
* ### Example
*
* Set custom config provider.
* ```typescript
* import { NgModel } from '@angular/core';
* import { ShowdownModule, ShowdownConfig } from 'ngx-showdown';
*
* export class MyShowdownConfig extends ShowdownConfig {
* emoji = true;
* underscore = false;
* flavor = 'github';
* }
*
* @NgModel({
* imports: [ ShowdownModule ],
* providers: [ {provide: ShowdownConfig, useClass: MyConverterOptions} ]
* })
* export class AppModule {}
* ```
*/
export class ShowdownConfig {
/**
* @see https://github.com/showdownjs/showdown/blob/master/README.md#flavors
*/
flavor;
constructor(options) {
this.merge(options);
}
/**
* Merge options
*
* @param options - A options object to merge.
*/
merge(options) {
for (let key in options) {
if (hasOwnProperty.call(options, key)) {
this[key] = options[key];
}
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvd2Rvd24tY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nob3dkb3duLWNvbmZpZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILElBQUksRUFBQyxjQUFjLEVBQUMsR0FBRyxFQUFFLENBQUM7QUFLMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUV6Qjs7T0FFRztJQUNILE1BQU0sQ0FBbUI7SUFFekIsWUFBWSxPQUFvRDtRQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFFLE9BQW1EO1FBQy9ELEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2hvd2Rvd24gZnJvbSAnc2hvd2Rvd24nO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxubGV0IHtoYXNPd25Qcm9wZXJ0eX0gPSB7fTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hvd2Rvd25Db25maWcgZXh0ZW5kcyBTaG93ZG93bi5Db252ZXJ0ZXJPcHRpb25zIHtcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgY29uZmlnIHByb3ZpZGVyXHJcbiAqXHJcbiAqICMjIyBFeGFtcGxlXHJcbiAqXHJcbiAqIFNldCBjdXN0b20gY29uZmlnIHByb3ZpZGVyLlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICogaW1wb3J0IHsgU2hvd2Rvd25Nb2R1bGUsIFNob3dkb3duQ29uZmlnIH0gZnJvbSAnbmd4LXNob3dkb3duJztcclxuICpcclxuICogZXhwb3J0IGNsYXNzIE15U2hvd2Rvd25Db25maWcgZXh0ZW5kcyBTaG93ZG93bkNvbmZpZyB7XHJcbiAqICAgZW1vamkgPSB0cnVlO1xyXG4gKiAgIHVuZGVyc2NvcmUgPSBmYWxzZTtcclxuICogICBmbGF2b3IgPSAnZ2l0aHViJztcclxuICogfVxyXG4gKlxyXG4gKiBATmdNb2RlbCh7XHJcbiAqICAgaW1wb3J0czogWyBTaG93ZG93bk1vZHVsZSBdLFxyXG4gKiAgIHByb3ZpZGVyczogWyB7cHJvdmlkZTogU2hvd2Rvd25Db25maWcsIHVzZUNsYXNzOiBNeUNvbnZlcnRlck9wdGlvbnN9IF1cclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7fVxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBjbGFzcyBTaG93ZG93bkNvbmZpZyBpbXBsZW1lbnRzIFNob3dkb3duLkNvbnZlcnRlck9wdGlvbnMge1xyXG5cclxuICAvKipcclxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zaG93ZG93bmpzL3Nob3dkb3duL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNmbGF2b3JzXHJcbiAgICovXHJcbiAgZmxhdm9yPzogU2hvd2Rvd24uRmxhdm9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogU2hvd2Rvd25Db25maWcgfCBTaG93ZG93bi5Db252ZXJ0ZXJPcHRpb25zKSB7XHJcbiAgICB0aGlzLm1lcmdlKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWVyZ2Ugb3B0aW9uc1xyXG4gICAqXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBBIG9wdGlvbnMgb2JqZWN0IHRvIG1lcmdlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBtZXJnZT8ob3B0aW9uczogU2hvd2Rvd25Db25maWcgfCBTaG93ZG93bi5Db252ZXJ0ZXJPcHRpb25zKSB7XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gb3B0aW9ucykge1xyXG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCBrZXkpKSB7XHJcbiAgICAgICAgdGhpc1trZXldID0gb3B0aW9uc1trZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=