{"version":3,"file":"static/npm.mdast-util-gfm-autolink-literal.244c40e6.js","mappings":"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","sources":["../node_modules/mdast-util-gfm-autolink-literal/from-markdown.js","../node_modules/mdast-util-gfm-autolink-literal/to-markdown.js"],"sourcesContent":["var ccount = require('ccount')\nvar findAndReplace = require('mdast-util-find-and-replace')\nvar unicodePunctuation = require('micromark/dist/character/unicode-punctuation')\nvar unicodeWhitespace = require('micromark/dist/character/unicode-whitespace')\n\nexports.transforms = [transformGfmAutolinkLiterals]\nexports.enter = {\n  literalAutolink: enterLiteralAutolink,\n  literalAutolinkEmail: enterLiteralAutolinkValue,\n  literalAutolinkHttp: enterLiteralAutolinkValue,\n  literalAutolinkWww: enterLiteralAutolinkValue\n}\nexports.exit = {\n  literalAutolink: exitLiteralAutolink,\n  literalAutolinkEmail: exitLiteralAutolinkEmail,\n  literalAutolinkHttp: exitLiteralAutolinkHttp,\n  literalAutolinkWww: exitLiteralAutolinkWww\n}\n\nfunction enterLiteralAutolink(token) {\n  this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\nfunction enterLiteralAutolinkValue(token) {\n  this.config.enter.autolinkProtocol.call(this, token)\n}\n\nfunction exitLiteralAutolinkHttp(token) {\n  this.config.exit.autolinkProtocol.call(this, token)\n}\n\nfunction exitLiteralAutolinkWww(token) {\n  this.config.exit.data.call(this, token)\n  this.stack[this.stack.length - 1].url = 'http://' + this.sliceSerialize(token)\n}\n\nfunction exitLiteralAutolinkEmail(token) {\n  this.config.exit.autolinkEmail.call(this, token)\n}\n\nfunction exitLiteralAutolink(token) {\n  this.exit(token)\n}\n\nfunction transformGfmAutolinkLiterals(tree) {\n  findAndReplace(\n    tree,\n    [\n      [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/i, findUrl],\n      [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/, findEmail]\n    ],\n    {ignore: ['link', 'linkReference']}\n  )\n}\n\nfunction findUrl($0, protocol, domain, path, match) {\n  var prefix = ''\n  var parts\n  var result\n\n  // Not an expected previous character.\n  if (!previous(match)) {\n    return false\n  }\n\n  // Treat `www` as part of the domain.\n  if (/^w/i.test(protocol)) {\n    domain = protocol + domain\n    protocol = ''\n    prefix = 'http://'\n  }\n\n  if (!isCorrectDomain(domain)) {\n    return false\n  }\n\n  parts = splitUrl(domain + path)\n\n  if (!parts[0]) return false\n\n  result = {\n    type: 'link',\n    title: null,\n    url: prefix + protocol + parts[0],\n    children: [{type: 'text', value: protocol + parts[0]}]\n  }\n\n  if (parts[1]) {\n    result = [result, {type: 'text', value: parts[1]}]\n  }\n\n  return result\n}\n\nfunction findEmail($0, atext, label, match) {\n  // Not an expected previous character.\n  if (!previous(match, true) || /[_-]$/.test(label)) {\n    return false\n  }\n\n  return {\n    type: 'link',\n    title: null,\n    url: 'mailto:' + atext + '@' + label,\n    children: [{type: 'text', value: atext + '@' + label}]\n  }\n}\n\nfunction isCorrectDomain(domain) {\n  var parts = domain.split('.')\n\n  if (\n    parts.length < 2 ||\n    (parts[parts.length - 1] &&\n      (/_/.test(parts[parts.length - 1]) ||\n        !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n    (parts[parts.length - 2] &&\n      (/_/.test(parts[parts.length - 2]) ||\n        !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n  ) {\n    return false\n  }\n\n  return true\n}\n\nfunction splitUrl(url) {\n  var trail = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n  var closingParenIndex\n  var openingParens\n  var closingParens\n\n  if (trail) {\n    url = url.slice(0, trail.index)\n    trail = trail[0]\n    closingParenIndex = trail.indexOf(')')\n    openingParens = ccount(url, '(')\n    closingParens = ccount(url, ')')\n\n    while (closingParenIndex !== -1 && openingParens > closingParens) {\n      url += trail.slice(0, closingParenIndex + 1)\n      trail = trail.slice(closingParenIndex + 1)\n      closingParenIndex = trail.indexOf(')')\n      closingParens++\n    }\n  }\n\n  return [url, trail]\n}\n\nfunction previous(match, email) {\n  var code = match.input.charCodeAt(match.index - 1)\n  return (\n    (code !== code || unicodeWhitespace(code) || unicodePunctuation(code)) &&\n    (!email || code !== 47)\n  )\n}\n","var inConstruct = 'phrasing'\nvar notInConstruct = ['autolink', 'link', 'image', 'label']\n\nexports.unsafe = [\n  {\n    character: '@',\n    before: '[+\\\\-.\\\\w]',\n    after: '[\\\\-.\\\\w]',\n    inConstruct: inConstruct,\n    notInConstruct: notInConstruct\n  },\n  {\n    character: '.',\n    before: '[Ww]',\n    after: '[\\\\-.\\\\w]',\n    inConstruct: inConstruct,\n    notInConstruct: notInConstruct\n  },\n  {\n    character: ':',\n    before: '[ps]',\n    after: '\\\\/',\n    inConstruct: inConstruct,\n    notInConstruct: notInConstruct\n  }\n]\n"],"names":["ccount","require","findAndReplace","unicodePunctuation","unicodeWhitespace","enterLiteralAutolinkValue","token","this","config","enter","autolinkProtocol","call","findUrl","$0","protocol","domain","path","match","parts","result","prefix","previous","test","split","length","isCorrectDomain","url","closingParenIndex","openingParens","closingParens","trail","exec","slice","index","indexOf","splitUrl","type","title","children","value","findEmail","atext","label","email","code","input","charCodeAt","exports","transforms","tree","ignore","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","exit","autolinkEmail","data","stack","sliceSerialize","inConstruct","notInConstruct","unsafe","character","before","after"],"sourceRoot":""}