UNPKG

@atlaskit/editor-wikimarkup-transformer

Version:

Wiki markup transformer for JIRA and Confluence

123 lines (122 loc) 6.36 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.TokenType = void 0; exports.parseToken = parseToken; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _media = require("./media"); var _blockquote = require("./blockquote"); var _citation = require("./citation"); var _deleted = require("./deleted"); var _doubleDashSymbol = require("./double-dash-symbol"); var _emoji = require("./emoji"); var _emphasis = require("./emphasis"); var _hardbreak = require("./hardbreak"); var _heading = require("./heading"); var _inserted = require("./inserted"); var _linkFormat = require("./links/link-format"); var _linkText = require("./link-text"); var _list = require("./list"); var _monospace = require("./monospace"); var _quadrupleDashSymbol = require("./quadruple-dash-symbol"); var _ruler = require("./ruler"); var _strong = require("./strong"); var _subscript = require("./subscript"); var _superscript = require("./superscript"); var _table = require("./table"); var _tripleDashSymbol = require("./triple-dash-symbol"); var _panelMacro = require("./panel-macro"); var _adfMacro = require("./adf-macro"); var _anchorMacro = require("./anchor-macro"); var _codeMacro = require("./code-macro"); var _quoteMacro = require("./quote-macro"); var _colorMacro = require("./color-macro"); var _noformatMacro = require("./noformat-macro"); var _forceLineBreak = require("./force-line-break"); var _issueKey = require("./issue-key"); var _tokenToTokenParserMa; var TokenType = exports.TokenType = /*#__PURE__*/function (TokenType) { TokenType["ADF_MACRO"] = "ADF_MACRO"; // {adf} TokenType["ANCHOR_MACRO"] = "ANCHOR_MACRO"; // {anchor} TokenType["CODE_MACRO"] = "CODE_MACRO"; // {code} TokenType["QUOTE_MACRO"] = "QUOTE_MACRO"; // {quote} TokenType["NOFORMAT_MACRO"] = "NOFORMAT_MACRO"; // {noformat} TokenType["PANEL_MACRO"] = "PANEL_MACRO"; // {panel} TokenType["COLOR_MACRO"] = "COLOR_MACRO"; // {color} TokenType["LOREM_MACRO"] = "LOREM_MACRO"; // {loremipsum} TokenType["QUOTE"] = "QUOTE"; TokenType["STRING"] = "STRING"; TokenType["ISSUE_KEY"] = "ISSUE_KEY"; TokenType["LINK_FORMAT"] = "LINK_FORMAT"; TokenType["LINK_TEXT"] = "LINK_TEXT"; TokenType["MEDIA"] = "MEDIA"; TokenType["HEADING"] = "HEADING"; TokenType["LIST"] = "LIST"; TokenType["TABLE"] = "TABLE"; TokenType["RULER"] = "RULER"; TokenType["HARD_BREAK"] = "HARD_BREAK"; // \\, \r, \n, \r\n TokenType["DOUBLE_DASH_SYMBOL"] = "DOUBLE_DASH_SYMBOL"; // -- TokenType["TRIPLE_DASH_SYMBOL"] = "TRIPLE_DASH_SYMBOL"; // --- TokenType["QUADRUPLE_DASH_SYMBOL"] = "QUADRUPLE_DASH_SYMBOL"; // ---- TokenType["STRONG"] = "STRONG"; // *strong* TokenType["MONOSPACE"] = "MONOSPACE"; // {{text}} TokenType["SUPERSCRIPT"] = "SUPERSCRIPT"; // ^superscript^ TokenType["SUBSCRIPT"] = "SUBSCRIPT"; // ^subscript^ TokenType["EMPHASIS"] = "EMPHASIS"; // _emphasis_ TokenType["CITATION"] = "CITATION"; // ??citation?? TokenType["DELETED"] = "DELETED"; // -deleted- TokenType["INSERTED"] = "INSERTED"; // +deleted+ TokenType["EMOJI"] = "EMOJI"; // :) TokenType["FORCE_LINE_BREAK"] = "FORCE_LINE_BREAK"; // \\ return TokenType; }({}); var tokenToTokenParserMapping = (_tokenToTokenParserMa = {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.DOUBLE_DASH_SYMBOL, _doubleDashSymbol.doubleDashSymbol), TokenType.TRIPLE_DASH_SYMBOL, _tripleDashSymbol.tripleDashSymbol), TokenType.QUADRUPLE_DASH_SYMBOL, _quadrupleDashSymbol.quadrupleDashSymbol), TokenType.RULER, _ruler.ruler), TokenType.STRONG, _strong.strong), TokenType.MONOSPACE, _monospace.monospace), TokenType.SUPERSCRIPT, _superscript.superscript), TokenType.SUBSCRIPT, _subscript.subscript), TokenType.EMPHASIS, _emphasis.emphasis), TokenType.CITATION, _citation.citation), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.DELETED, _deleted.deleted), TokenType.INSERTED, _inserted.inserted), TokenType.HARD_BREAK, _hardbreak.hardbreak), TokenType.LINK_FORMAT, _linkFormat.linkFormat), TokenType.LINK_TEXT, _linkText.linkText), TokenType.HEADING, _heading.heading), TokenType.MEDIA, _media.media), TokenType.LIST, _list.list), TokenType.QUOTE, _blockquote.blockquote), TokenType.TABLE, _table.table), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_tokenToTokenParserMa, TokenType.EMOJI, _emoji.emoji), TokenType.ADF_MACRO, _adfMacro.adfMacro), TokenType.ANCHOR_MACRO, _anchorMacro.anchorMacro), TokenType.CODE_MACRO, _codeMacro.codeMacro), TokenType.QUOTE_MACRO, _quoteMacro.quoteMacro), TokenType.NOFORMAT_MACRO, _noformatMacro.noformatMacro), TokenType.PANEL_MACRO, _panelMacro.panelMacro), TokenType.COLOR_MACRO, _colorMacro.colorMacro), TokenType.FORCE_LINE_BREAK, _forceLineBreak.forceLineBreak), TokenType.ISSUE_KEY, _issueKey.issueKey)); function parseToken(input, type, position, schema, context) { var tokenParser = tokenToTokenParserMapping[type]; if (tokenParser) { try { return tokenParser({ input: input, position: position, schema: schema, context: context }); } catch (err) { if (context.tokenErrCallback && err instanceof Error) { context.tokenErrCallback(err, type); } return fallback(input, position); } } return fallback(input, position); } function fallback(input, position) { return { type: 'text', text: input.substr(position, 1), length: 1 }; }