{"version":3,"file":"static/npm.micromark-extension-gfm-table.da34ae22.js","mappings":"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","sources":["../node_modules/micromark-extension-gfm-table/index.js","../node_modules/micromark-extension-gfm-table/syntax.js"],"sourcesContent":["module.exports = require('./syntax')\n","exports.flow = {\n  null: {tokenize: tokenizeTable, resolve: resolveTable, interruptible: true}\n}\n\nvar createSpace = require('micromark/dist/tokenize/factory-space')\n\nvar setextUnderlineMini = {tokenize: tokenizeSetextUnderlineMini, partial: true}\nvar nextPrefixedOrBlank = {tokenize: tokenizeNextPrefixedOrBlank, partial: true}\n\nfunction resolveTable(events, context) {\n  var length = events.length\n  var index = -1\n  var token\n  var inHead\n  var inDelimiterRow\n  var inRow\n  var cell\n  var content\n  var text\n  var contentStart\n  var contentEnd\n  var cellStart\n\n  while (++index < length) {\n    token = events[index][1]\n\n    if (inRow) {\n      if (token.type === 'temporaryTableCellContent') {\n        contentStart = contentStart || index\n        contentEnd = index\n      }\n\n      if (\n        // Combine separate content parts into one.\n        (token.type === 'tableCellDivider' || token.type === 'tableRow') &&\n        contentEnd\n      ) {\n        content = {\n          type: 'tableContent',\n          start: events[contentStart][1].start,\n          end: events[contentEnd][1].end\n        }\n        text = {\n          type: 'chunkText',\n          start: content.start,\n          end: content.end,\n          contentType: 'text'\n        }\n\n        events.splice(\n          contentStart,\n          contentEnd - contentStart + 1,\n          ['enter', content, context],\n          ['enter', text, context],\n          ['exit', text, context],\n          ['exit', content, context]\n        )\n        index -= contentEnd - contentStart - 3\n        length = events.length\n        contentStart = undefined\n        contentEnd = undefined\n      }\n    }\n\n    if (\n      events[index][0] === 'exit' &&\n      cellStart &&\n      cellStart + 1 < index &&\n      (token.type === 'tableCellDivider' ||\n        (token.type === 'tableRow' &&\n          (cellStart + 3 < index ||\n            events[cellStart][1].type !== 'whitespace')))\n    ) {\n      cell = {\n        type: inDelimiterRow\n          ? 'tableDelimiter'\n          : inHead\n          ? 'tableHeader'\n          : 'tableData',\n        start: events[cellStart][1].start,\n        end: events[index][1].end\n      }\n      events.splice(index + (token.type === 'tableCellDivider' ? 1 : 0), 0, [\n        'exit',\n        cell,\n        context\n      ])\n      events.splice(cellStart, 0, ['enter', cell, context])\n      index += 2\n      length = events.length\n      cellStart = index + 1\n    }\n\n    if (token.type === 'tableRow') {\n      inRow = events[index][0] === 'enter'\n\n      if (inRow) {\n        cellStart = index + 1\n      }\n    }\n\n    if (token.type === 'tableDelimiterRow') {\n      inDelimiterRow = events[index][0] === 'enter'\n\n      if (inDelimiterRow) {\n        cellStart = index + 1\n      }\n    }\n\n    if (token.type === 'tableHead') {\n      inHead = events[index][0] === 'enter'\n    }\n  }\n\n  return events\n}\n\nfunction tokenizeTable(effects, ok, nok) {\n  var align = []\n  var tableHeaderCount = 0\n  var seenDelimiter\n  var hasDash\n\n  return start\n\n  function start(code) {\n    /* istanbul ignore if - used to be passed in beta micromark versions. */\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return nok(code)\n    }\n\n    effects.enter('table')._align = align\n    effects.enter('tableHead')\n    effects.enter('tableRow')\n\n    // If we start with a pipe, we open a cell marker.\n    if (code === 124) {\n      return cellDividerHead(code)\n    }\n\n    tableHeaderCount++\n    effects.enter('temporaryTableCellContent')\n    // Can’t be space or eols at the start of a construct, so we’re in a cell.\n    return inCellContentHead(code)\n  }\n\n  function cellDividerHead(code) {\n    // Always a pipe.\n    effects.enter('tableCellDivider')\n    effects.consume(code)\n    effects.exit('tableCellDivider')\n    seenDelimiter = true\n    return cellBreakHead\n  }\n\n  function cellBreakHead(code) {\n    // EOF, CR, LF, CRLF.\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return atRowEndHead(code)\n    }\n\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.enter('whitespace')\n      effects.consume(code)\n      return inWhitespaceHead\n    }\n\n    if (seenDelimiter) {\n      seenDelimiter = undefined\n      tableHeaderCount++\n    }\n\n    // `|`\n    if (code === 124) {\n      return cellDividerHead(code)\n    }\n\n    // Anything else is cell content.\n    effects.enter('temporaryTableCellContent')\n    return inCellContentHead(code)\n  }\n\n  function inWhitespaceHead(code) {\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.consume(code)\n      return inWhitespaceHead\n    }\n\n    effects.exit('whitespace')\n    return cellBreakHead(code)\n  }\n\n  function inCellContentHead(code) {\n    // EOF, whitespace, pipe\n    if (code === null || code < 0 || code === 32 || code === 124) {\n      effects.exit('temporaryTableCellContent')\n      return cellBreakHead(code)\n    }\n\n    effects.consume(code)\n    // `\\`\n    return code === 92 ? inCellContentEscapeHead : inCellContentHead\n  }\n\n  function inCellContentEscapeHead(code) {\n    // `\\` or `|`\n    if (code === 92 || code === 124) {\n      effects.consume(code)\n      return inCellContentHead\n    }\n\n    // Anything else.\n    return inCellContentHead(code)\n  }\n\n  function atRowEndHead(code) {\n    if (code === null) {\n      return nok(code)\n    }\n\n    effects.exit('tableRow')\n    effects.exit('tableHead')\n\n    // Always a line ending.\n    effects.enter('lineEnding')\n    effects.consume(code)\n    effects.exit('lineEnding')\n\n    // If a setext heading, exit.\n    return effects.check(\n      setextUnderlineMini,\n      nok,\n      // Support an indent before the delimiter row.\n      createSpace(effects, rowStartDelimiter, 'linePrefix', 4)\n    )\n  }\n\n  function rowStartDelimiter(code) {\n    // If there’s another space, or we’re at the EOL/EOF, exit.\n    if (code === null || code < 0 || code === 32) {\n      return nok(code)\n    }\n\n    effects.enter('tableDelimiterRow')\n    return atDelimiterRowBreak(code)\n  }\n\n  function atDelimiterRowBreak(code) {\n    // EOF, CR, LF, CRLF.\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return rowEndDelimiter(code)\n    }\n\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.enter('whitespace')\n      effects.consume(code)\n      return inWhitespaceDelimiter\n    }\n\n    // `-`\n    if (code === 45) {\n      effects.enter('tableDelimiterFiller')\n      effects.consume(code)\n      hasDash = true\n      align.push(null)\n      return inFillerDelimiter\n    }\n\n    // `:`\n    if (code === 58) {\n      effects.enter('tableDelimiterAlignment')\n      effects.consume(code)\n      effects.exit('tableDelimiterAlignment')\n      align.push('left')\n      return afterLeftAlignment\n    }\n\n    // If we start with a pipe, we open a cell marker.\n    if (code === 124) {\n      effects.enter('tableCellDivider')\n      effects.consume(code)\n      effects.exit('tableCellDivider')\n      return atDelimiterRowBreak\n    }\n\n    return nok(code)\n  }\n\n  function inWhitespaceDelimiter(code) {\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.consume(code)\n      return inWhitespaceDelimiter\n    }\n\n    effects.exit('whitespace')\n    return atDelimiterRowBreak(code)\n  }\n\n  function inFillerDelimiter(code) {\n    // `-`\n    if (code === 45) {\n      effects.consume(code)\n      return inFillerDelimiter\n    }\n\n    effects.exit('tableDelimiterFiller')\n\n    // `:`\n    if (code === 58) {\n      effects.enter('tableDelimiterAlignment')\n      effects.consume(code)\n      effects.exit('tableDelimiterAlignment')\n\n      align[align.length - 1] =\n        align[align.length - 1] === 'left' ? 'center' : 'right'\n\n      return afterRightAlignment\n    }\n\n    return atDelimiterRowBreak(code)\n  }\n\n  function afterLeftAlignment(code) {\n    // `-`\n    if (code === 45) {\n      effects.enter('tableDelimiterFiller')\n      effects.consume(code)\n      hasDash = true\n      return inFillerDelimiter\n    }\n\n    // Anything else is not ok.\n    return nok(code)\n  }\n\n  function afterRightAlignment(code) {\n    // EOF, CR, LF, CRLF.\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return rowEndDelimiter(code)\n    }\n\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.enter('whitespace')\n      effects.consume(code)\n      return inWhitespaceDelimiter\n    }\n\n    // `|`\n    if (code === 124) {\n      effects.enter('tableCellDivider')\n      effects.consume(code)\n      effects.exit('tableCellDivider')\n      return atDelimiterRowBreak\n    }\n\n    return nok(code)\n  }\n\n  function rowEndDelimiter(code) {\n    effects.exit('tableDelimiterRow')\n\n    // Exit if there was no dash at all, or if the header cell count is not the\n    // delimiter cell count.\n    if (!hasDash || tableHeaderCount !== align.length) {\n      return nok(code)\n    }\n\n    if (code === null) {\n      return tableClose(code)\n    }\n\n    return effects.check(nextPrefixedOrBlank, tableClose, tableContinue)(code)\n  }\n\n  function tableClose(code) {\n    effects.exit('table')\n    return ok(code)\n  }\n\n  function tableContinue(code) {\n    // Always a line ending.\n    effects.enter('lineEnding')\n    effects.consume(code)\n    effects.exit('lineEnding')\n    // We checked that it’s not a prefixed or blank line, so we’re certain a\n    // body is coming, though it may be indented.\n    return createSpace(effects, bodyStart, 'linePrefix', 4)\n  }\n\n  function bodyStart(code) {\n    effects.enter('tableBody')\n    return rowStartBody(code)\n  }\n\n  function rowStartBody(code) {\n    effects.enter('tableRow')\n\n    // If we start with a pipe, we open a cell marker.\n    if (code === 124) {\n      return cellDividerBody(code)\n    }\n\n    effects.enter('temporaryTableCellContent')\n    // Can’t be space or eols at the start of a construct, so we’re in a cell.\n    return inCellContentBody(code)\n  }\n\n  function cellDividerBody(code) {\n    // Always a pipe.\n    effects.enter('tableCellDivider')\n    effects.consume(code)\n    effects.exit('tableCellDivider')\n    return cellBreakBody\n  }\n\n  function cellBreakBody(code) {\n    // EOF, CR, LF, CRLF.\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return atRowEndBody(code)\n    }\n\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.enter('whitespace')\n      effects.consume(code)\n      return inWhitespaceBody\n    }\n\n    // `|`\n    if (code === 124) {\n      return cellDividerBody(code)\n    }\n\n    // Anything else is cell content.\n    effects.enter('temporaryTableCellContent')\n    return inCellContentBody(code)\n  }\n\n  function inWhitespaceBody(code) {\n    // HT, VS, SP.\n    if (code === -2 || code === -1 || code === 32) {\n      effects.consume(code)\n      return inWhitespaceBody\n    }\n\n    effects.exit('whitespace')\n    return cellBreakBody(code)\n  }\n\n  function inCellContentBody(code) {\n    // EOF, whitespace, pipe\n    if (code === null || code < 0 || code === 32 || code === 124) {\n      effects.exit('temporaryTableCellContent')\n      return cellBreakBody(code)\n    }\n\n    effects.consume(code)\n    // `\\`\n    return code === 92 ? inCellContentEscapeBody : inCellContentBody\n  }\n\n  function inCellContentEscapeBody(code) {\n    // `\\` or `|`\n    if (code === 92 || code === 124) {\n      effects.consume(code)\n      return inCellContentBody\n    }\n\n    // Anything else.\n    return inCellContentBody(code)\n  }\n\n  function atRowEndBody(code) {\n    effects.exit('tableRow')\n\n    if (code === null) {\n      return tableBodyClose(code)\n    }\n\n    return effects.check(\n      nextPrefixedOrBlank,\n      tableBodyClose,\n      tableBodyContinue\n    )(code)\n  }\n\n  function tableBodyClose(code) {\n    effects.exit('tableBody')\n    return tableClose(code)\n  }\n\n  function tableBodyContinue(code) {\n    // Always a line ending.\n    effects.enter('lineEnding')\n    effects.consume(code)\n    effects.exit('lineEnding')\n    // Support an optional prefix, then start a body row.\n    return createSpace(effects, rowStartBody, 'linePrefix', 4)\n  }\n}\n\n// Based on micromark, but that won’t work as we’re in a table, and that expects\n// content.\n// <https://github.com/micromark/micromark/blob/main/lib/tokenize/setext-underline.js>\nfunction tokenizeSetextUnderlineMini(effects, ok, nok) {\n  return start\n\n  function start(code) {\n    // `-`\n    if (code !== 45) {\n      return nok(code)\n    }\n\n    effects.enter('setextUnderline')\n    return sequence(code)\n  }\n\n  function sequence(code) {\n    if (code === 45) {\n      effects.consume(code)\n      return sequence\n    }\n\n    return whitespace(code)\n  }\n\n  function whitespace(code) {\n    if (code === -2 || code === -1 || code === 32) {\n      effects.consume(code)\n      return whitespace\n    }\n\n    if (code === null || code === -5 || code === -4 || code === -3) {\n      return ok(code)\n    }\n\n    return nok(code)\n  }\n}\n\nfunction tokenizeNextPrefixedOrBlank(effects, ok, nok) {\n  var size = 0\n\n  return start\n\n  function start(code) {\n    // This is a check, so we don’t care about tokens, but we open a bogus one\n    // so we’re valid.\n    effects.enter('check')\n    // EOL.\n    effects.consume(code)\n    return whitespace\n  }\n\n  function whitespace(code) {\n    // VS or SP.\n    if (code === -1 || code === 32) {\n      effects.consume(code)\n      size++\n      return size === 4 ? ok : whitespace\n    }\n\n    // EOF or whitespace\n    if (code === null || code < 0) {\n      return ok(code)\n    }\n\n    // Anything else.\n    return nok(code)\n  }\n}\n"],"names":["module","exports","flow","null","tokenize","effects","ok","nok","seenDelimiter","hasDash","align","tableHeaderCount","code","enter","_align","cellDividerHead","inCellContentHead","consume","exit","cellBreakHead","check","setextUnderlineMini","createSpace","rowStartDelimiter","atRowEndHead","inWhitespaceHead","undefined","inCellContentEscapeHead","atDelimiterRowBreak","rowEndDelimiter","inWhitespaceDelimiter","push","inFillerDelimiter","afterLeftAlignment","length","afterRightAlignment","tableClose","nextPrefixedOrBlank","tableContinue","bodyStart","rowStartBody","cellDividerBody","inCellContentBody","cellBreakBody","tableBodyClose","tableBodyContinue","atRowEndBody","inWhitespaceBody","inCellContentEscapeBody","resolve","events","context","token","inHead","inDelimiterRow","inRow","cell","content","text","contentStart","contentEnd","cellStart","index","type","start","end","contentType","splice","interruptible","require","sequence","whitespace","partial","size"],"sourceRoot":""}