tprompter
Version:
```bash $ ask anything ```
67 lines (66 loc) • 2.8 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Service } from 'typedi';
import { parse } from 'parse5';
// @ts-expect-error
import { indentify } from 'cli-html/lib/utils.js';
// @ts-expect-error
import { getGlobalConfig } from 'cli-html/lib/utils/get-clobal-config.js';
// @ts-expect-error
import { renderTag } from 'cli-html/lib/utils/render-tag.js';
import markdownit from 'markdown-it';
// @ts-expect-error
import markdownItAbbr from 'markdown-it-abbr';
import markdownItContainer from 'markdown-it-container';
// @ts-expect-error
import markdownItDeflist from 'markdown-it-deflist';
import markdownItFootnote from 'markdown-it-footnote';
// @ts-expect-error
import markdownItIns from 'markdown-it-ins';
// @ts-expect-error
import markdownItMark from 'markdown-it-mark';
// @ts-expect-error
import markdownItSub from 'markdown-it-sub';
// @ts-expect-error
import markdownItSup from 'markdown-it-sup';
// @ts-expect-error
import markdownItTaskList from 'markdown-it-task-lists';
let MarkdownToTerminal = class MarkdownToTerminal {
constructor() {
this.md = markdownit({
html: true,
linkify: true,
langPrefix: 'language-',
})
.use(markdownItAbbr)
.use(markdownItContainer)
.use(markdownItDeflist)
.use(markdownItFootnote)
.use(markdownItIns)
.use(markdownItMark)
.use(markdownItSub)
.use(markdownItSup)
.use(markdownItTaskList);
}
convert(md, options) {
const rawHTML = this.md.render(md);
const document = parse(rawHTML);
const globalConfig = getGlobalConfig(document, {});
if (!(options === null || options === void 0 ? void 0 : options.codeNumbers)) {
globalConfig.theme.codeNumbers = () => '';
}
return `\n${indentify(' ', false)((renderTag(document, globalConfig) || { value: '' }).value)}\n\n`;
}
};
MarkdownToTerminal = __decorate([
Service(),
__metadata("design:paramtypes", [])
], MarkdownToTerminal);
export { MarkdownToTerminal };