{"version":3,"file":null,"sources":["../node_modules/locate-character/dist/locate-character.es.js","../src/index.js"],"sourcesContent":["function getLocator(source, options) {\n if (options === void 0) { options = {}; }\n var offsetLine = options.offsetLine || 0;\n var offsetColumn = options.offsetColumn || 0;\n var originalLines = source.split('\\n');\n var start = 0;\n var lineRanges = originalLines.map(function (line, i) {\n var end = start + line.length + 1;\n var range = { start: start, end: end, line: i };\n start = end;\n return range;\n });\n var i = 0;\n function rangeContains(range, index) {\n return range.start <= index && index < range.end;\n }\n function getLocation(range, index) {\n return { line: offsetLine + range.line, column: offsetColumn + index - range.start, character: index };\n }\n function locate(search, startIndex) {\n if (typeof search === 'string') {\n search = source.indexOf(search, startIndex || 0);\n }\n var range = lineRanges[i];\n var d = search >= range.end ? 1 : -1;\n while (range) {\n if (rangeContains(range, search))\n return getLocation(range, search);\n i += d;\n range = lineRanges[i];\n }\n }\n ;\n return locate;\n}\nfunction locate(source, search, options) {\n if (typeof options === 'number') {\n throw new Error('locate takes a { startIndex, offsetLine, offsetColumn } object as the third argument');\n }\n return getLocator(source, options)(search, options && options.startIndex);\n}\n\nexport { getLocator, locate };","import { locate } from 'locate-character';\n\nconst validNameCharacters = /[a-zA-Z0-9:_-]/;\nconst whitespace = /[\\s\\t\\r\\n]/;\nconst quotemark = /['\"]/;\n\nfunction repeat(str, i) {\n\tlet result = '';\n\twhile (i--) result += str;\n\treturn result;\n}\n\nexport function parse(source) {\n\tlet header = '';\n\tlet stack = [];\n\n\tlet state = metadata;\n\tlet currentElement = null;\n\tlet root = null;\n\n\tfunction error(message) {\n\t\tconst { line, column } = locate(source, i);\n\t\tconst before = source.slice(0, i).replace(/^\\t+/, match => repeat(' ', match.length));\n\t\tconst beforeLine = /(^|\\n).*$/.exec(before)[0];\n\t\tconst after = source.slice(i);\n\t\tconst afterLine = /.*(\\n|$)/.exec(after)[0];\n\n\t\tconst snippet = `${beforeLine}${afterLine}\\n${repeat(' ', beforeLine.length)}^`;\n\n\t\tthrow new Error(\n\t\t\t`${message} (${line}:${column}). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\\n\\n${snippet}`\n\t\t);\n\t}\n\n\tfunction metadata() {\n\t\twhile ((i < source.length && source[i] !== '<') || !validNameCharacters.test(source[i + 1])) {\n\t\t\theader += source[i++];\n\t\t}\n\n\t\treturn neutral();\n\t}\n\n\tfunction neutral() {\n\t\tlet text = '';\n\t\twhile (i < source.length && source[i] !== '<') text += source[i++];\n\n\t\tif (/\\S/.test(text)) {\n\t\t\tcurrentElement.children.push({ type: 'text', value: text });\n\t\t}\n\n\t\tif (source[i] === '<') {\n\t\t\treturn tag;\n\t\t}\n\n\t\treturn neutral;\n\t}\n\n\tfunction tag() {\n\t\tconst char = source[i];\n\n\t\tif (char === '?') return neutral; // ') {\n\t\t\terror('Expected >');\n\t\t}\n\n\t\tif (!selfClosing) {\n\t\t\tcurrentElement = element;\n\t\t\tstack.push(element);\n\t\t}\n\n\t\treturn neutral;\n\t}\n\n\tfunction comment() {\n\t\tconst index = source.indexOf('-->', i);\n\t\tif (!~index) error('expected -->');\n\n\t\ti = index + 2;\n\t\treturn neutral;\n\t}\n\n\tfunction cdata() {\n\t\tconst index = source.indexOf(']]>', i);\n\t\tif (!~index) error('expected ]]>');\n\n\t\tcurrentElement.children.push(source.slice(i + 7, index));\n\n\t\ti = index + 2;\n\t\treturn neutral;\n\t}\n\n\tfunction closingTag() {\n\t\tconst tagName = getName();\n\n\t\tif (!tagName) error('Expected tag name');\n\n\t\tif (tagName !== currentElement.tagName) {\n\t\t\terror(`Expected closing tag to match opening tag <${currentElement.tagName}>`);\n\t\t}\n\n\t\tif (source[i] !== '>') {\n\t\t\terror('Expected >');\n\t\t}\n\n\t\tstack.pop();\n\t\tcurrentElement = stack[stack.length - 1];\n\n\t\treturn neutral;\n\t}\n\n\tfunction getName() {\n\t\tlet name = '';\n\t\twhile (i < source.length && validNameCharacters.test(source[i])) name += source[i++];\n\n\t\treturn name;\n\t}\n\n\tfunction getAttribute() {\n\t\tif (!whitespace.test(source[i])) return null;\n\t\tallowSpaces();\n\n\t\tconst name = getName();\n\t\tif (!name) return null;\n\n\t\tlet value = true;\n\n\t\tallowSpaces();\n\t\tif (source[i] === '=') {\n\t\t\ti += 1;\n\t\t\tallowSpaces();\n\n\t\t\tvalue = getAttributeValue();\n\t\t\tif (!isNaN(value) && value.trim() !== '') value = +value; // TODO whitelist numeric attributes?\n\t\t}\n\n\t\treturn { name, value };\n\t}\n\n\tfunction getAttributeValue() {\n\t\treturn quotemark.test(source[i]) ? getQuotedAttributeValue() : getUnquotedAttributeValue();\n\t}\n\n\tfunction getUnquotedAttributeValue() {\n\t\tlet value = '';\n\t\tdo {\n\t\t\tconst char = source[i];\n\t\t\tif (char === ' ' || char === '>' || char === '/') {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tvalue += char;\n\t\t\ti += 1;\n\t\t} while (i < source.length);\n\n\t\treturn value;\n\t}\n\n\tfunction getQuotedAttributeValue() {\n\t\tconst quotemark = source[i++];\n\n\t\tlet value = '';\n\t\tlet escaped = false;\n\n\t\twhile (i < source.length) {\n\t\t\tconst char = source[i++];\n\t\t\tif (char === quotemark && !escaped) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif (char === '\\\\' && !escaped) {\n\t\t\t\tescaped = true;\n\t\t\t}\n\n\t\t\tvalue += escaped ? `\\\\${char}` : char;\n\t\t\tescaped = false;\n\t\t}\n\t}\n\n\tfunction allowSpaces() {\n\t\twhile (i < source.length && whitespace.test(source[i])) i += 1;\n\t}\n\n\tlet i = metadata.length;\n\twhile (i < source.length) {\n\t\tif (!state) error('Unexpected character');\n\t\tstate = state();\n\t\ti += 1;\n\t}\n\n\tif (state !== neutral) {\n\t\terror('Unexpected end of input');\n\t}\n\n\tif (root.tagName === 'svg') root.metadata = header;\n\treturn {\n\t\ttype: 'root',\n\t\tchildren: [root]\n\t};\n}\n"],"names":["const","let"],"mappings":"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"}