UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

40 lines 1.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const chalk_1 = require("chalk"); const log_1 = require("./log"); const liquid_1 = __importDefault(require("./liquid")); const md_1 = __importDefault(require("./md")); function applyLiquid(input, options) { const { vars = {}, path, conditionsInCode = false, disableLiquid = false, isLiquided = false, } = options; return disableLiquid || isLiquided ? input : (0, liquid_1.default)(input, vars, path, { conditionsInCode }); } function handleError(error, path) { log_1.log.error(`Error occurred${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`); throw error; } function emitResult(html, env) { return { result: Object.assign(Object.assign({}, env), { html }), logs: log_1.log.get(), }; } function transform(originInput, options = {}) { const input = applyLiquid(originInput, options); const { parse, compile, env } = (0, md_1.default)(options); try { const tokens = parse(input); if (options.tokens === true) { return tokens; } return emitResult(compile(tokens), env); } catch (error) { handleError(error, options.path); } } module.exports = transform; //# sourceMappingURL=index.js.map