'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var escapeHtml = require('../utils/escape-html.js');

/**
 * 解析行内代码格式：`code`
 */
function parseInlineCode(inlineCode) {
  const match = inlineCode.match(/^`([^`]+)`$/);
  if (!match) {
    return {
      code: inlineCode,
      isValid: false
    };
  }
  return {
    code: match[1] || '',
    isValid: true
  };
}

/**
 * 渲染行内代码为HTML
 */
function renderCodeInlineToHtml(inlineCode) {
  const {
    code,
    isValid
  } = parseInlineCode(inlineCode);
  if (!isValid) {
    // 如果不匹配标准格式，返回转义后的原始文本
    return escapeHtml.escapeHtml(inlineCode);
  }
  const escapedCode = escapeHtml.escapeHtml(code);
  return `<code class="inline-code">${escapedCode}</code>`;
}

exports.renderCodeInlineToHtml = renderCodeInlineToHtml;
