import {Injectable} from '@angular/core';
import {Layout} from '../layout/cory-layout';
const Worker = require(`../../worker/markdown.worker.js`);
const worker = new Worker();
@Injectable()
export class MarkdownService {
public context: any;
layout: Layout;
constructor() {
}
public render(md: string, layout: Layout) {
this.layout = layout;
return new Promise((resolve, reject) => {
const message = (event: any) => {
resolve(event.data)
worker.removeEventListener('message', message)
}
worker.addEventListener('message', message)
worker.postMessage({
md: md,
settings: this.context.settings.data,
currentRepo: this.layout.currentRepo,
});
})
}
}