UNPKG

@atlaskit/editor-wikimarkup-transformer

Version:

Wiki markup transformer for JIRA and Confluence

53 lines (52 loc) 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.monospace = void 0; var _ = require("./"); var _text = require("../utils/text"); var _commonFormatter = require("./common-formatter"); var _text2 = require("../text"); var monospace = exports.monospace = function monospace(_ref) { var input = _ref.input, position = _ref.position, schema = _ref.schema, context = _ref.context; /** * The following token types will be ignored in parsing * the content */ var ignoreTokenTypes = [_.TokenType.ADF_MACRO, _.TokenType.ANCHOR_MACRO, _.TokenType.CODE_MACRO, _.TokenType.QUOTE_MACRO, _.TokenType.NOFORMAT_MACRO, _.TokenType.PANEL_MACRO, _.TokenType.COLOR_MACRO, _.TokenType.LOREM_MACRO, _.TokenType.QUOTE, _.TokenType.STRING, _.TokenType.ISSUE_KEY, _.TokenType.LINK_FORMAT, _.TokenType.LINK_TEXT, _.TokenType.MEDIA, _.TokenType.HEADING, _.TokenType.LIST, _.TokenType.TABLE, _.TokenType.RULER, _.TokenType.HARD_BREAK, _.TokenType.DOUBLE_DASH_SYMBOL, _.TokenType.TRIPLE_DASH_SYMBOL, _.TokenType.QUADRUPLE_DASH_SYMBOL, _.TokenType.STRONG, _.TokenType.MONOSPACE, _.TokenType.SUPERSCRIPT, _.TokenType.SUBSCRIPT, _.TokenType.EMPHASIS, _.TokenType.CITATION, _.TokenType.DELETED, _.TokenType.INSERTED, _.TokenType.EMOJI, _.TokenType.FORCE_LINE_BREAK]; // Add code mark to each text var contentDecorator = function contentDecorator(n) { var mark = schema.marks.code.create(); // We don't want to mix `code` mark with others if (n.type.name === 'text' && n.marks.length) { return n; } return n.mark([mark]); }; var rawContentProcessor = function rawContentProcessor(raw, length) { var content = (0, _text2.parseString)({ ignoreTokenTypes: ignoreTokenTypes, schema: schema, context: context, input: raw }); var decoratedContent = content.map(contentDecorator); return { type: 'pmnode', nodes: decoratedContent, length: length }; }; var _getSurroundingSymbol = (0, _text.getSurroundingSymbols)(input.substring(position), '{{', '}}'), openingSymbol = _getSurroundingSymbol.openingSymbol, closingSymbol = _getSurroundingSymbol.closingSymbol; return (0, _commonFormatter.commonFormatter)(input, position, schema, { opening: openingSymbol, closing: closingSymbol, context: context, rawContentProcessor: rawContentProcessor }); };