ngx-showdown
Version:
A Angular (>=2) integration for Showdown
45 lines • 3.45 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 {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvd2Rvd24tY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nob3dkb3duLWNvbmZpZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILElBQUksRUFBQyxjQUFjLEVBQUMsR0FBRyxFQUFFLENBQUM7QUFLMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFZLE9BQW9EO1FBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUUsT0FBbUQ7UUFDL0QsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2hvd2Rvd24gZnJvbSAnc2hvd2Rvd24nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5sZXQge2hhc093blByb3BlcnR5fSA9IHt9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dkb3duQ29uZmlnIGV4dGVuZHMgU2hvd2Rvd24uQ29udmVydGVyT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQSBjb25maWcgcHJvdmlkZXJcbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIFNldCBjdXN0b20gY29uZmlnIHByb3ZpZGVyLlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgU2hvd2Rvd25Nb2R1bGUsIFNob3dkb3duQ29uZmlnIH0gZnJvbSAnbmd4LXNob3dkb3duJztcbiAqXG4gKiBleHBvcnQgY2xhc3MgTXlTaG93ZG93bkNvbmZpZyBleHRlbmRzIFNob3dkb3duQ29uZmlnIHtcbiAqICAgZW1vamkgPSB0cnVlO1xuICogICB1bmRlcnNjb3JlID0gZmFsc2U7XG4gKiAgIGZsYXZvciA9ICdnaXRodWInO1xuICogfVxuICpcbiAqIEBOZ01vZGVsKHtcbiAqICAgaW1wb3J0czogWyBTaG93ZG93bk1vZHVsZSBdLFxuICogICBwcm92aWRlcnM6IFsge3Byb3ZpZGU6IFNob3dkb3duQ29uZmlnLCB1c2VDbGFzczogTXlDb252ZXJ0ZXJPcHRpb25zfSBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7fVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaG93ZG93bkNvbmZpZyBpbXBsZW1lbnRzIFNob3dkb3duLkNvbnZlcnRlck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zaG93ZG93bmpzL3Nob3dkb3duL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNmbGF2b3JzXG4gICAqL1xuICBmbGF2b3I/OiBTaG93ZG93bi5GbGF2b3I7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IFNob3dkb3duQ29uZmlnIHwgU2hvd2Rvd24uQ29udmVydGVyT3B0aW9ucykge1xuICAgIHRoaXMubWVyZ2Uob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2Ugb3B0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEEgb3B0aW9ucyBvYmplY3QgdG8gbWVyZ2UuXG4gICAqL1xuICBwdWJsaWMgbWVyZ2U/KG9wdGlvbnM6IFNob3dkb3duQ29uZmlnIHwgU2hvd2Rvd24uQ29udmVydGVyT3B0aW9ucykge1xuICAgIGZvciAobGV0IGtleSBpbiBvcHRpb25zKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCBrZXkpKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IG9wdGlvbnNba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19