UNPKG

@diplodoc/transform

Version:

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

39 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.append = exports.generateID = exports.сarriage = exports.nestedCloseTokenIdxFactory = void 0; const chalk_1 = require("chalk"); const process_1 = require("process"); const nestedCloseTokenIdxFactory = (tokenName, matchOpenToken, matchCloseToken) => (tokens, idx, path, log) => { let level = 0; let i = idx; while (i < tokens.length) { if (matchOpenToken(tokens, i)) { level++; } else if (matchCloseToken(tokens, i)) { if (level === 0) { return i; } level--; } i++; } log.error(`${tokenName} must be closed${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`); return null; }; exports.nestedCloseTokenIdxFactory = nestedCloseTokenIdxFactory; exports.сarriage = process_1.platform === 'win32' ? '\r\n' : '\n'; function generateID() { return Math.random().toString(36).substr(2, 8); } exports.generateID = generateID; function append(target, key, ...values) { if (!target[key]) { target[key] = values; return; } values.forEach((value) => target[key].push(value)); return target; } exports.append = append; //# sourceMappingURL=utils.js.map