UNPKG

simplesvg

Version:

A very simple svg wrapper, inspired by original vivagraph

27 lines (22 loc) 684 B
var parser = require('./domParser.js'); var svg = require('../'); module.exports = compile; function compile(svgText) { try { svgText = addNamespaces(svgText); return svg(parser.parseFromString(svgText, "text/xml").documentElement); } catch (e) { throw e; } } function addNamespaces(text) { if (!text) return; var namespaces = 'xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"'; var match = text.match(/^<\w+/); if (match) { var tagLength = match[0].length; return text.substr(0, tagLength) + ' ' + namespaces + ' ' + text.substr(tagLength); } else { throw new Error('Cannot parse input text: invalid xml?'); } }