Take a string representing an SVG document or fragment, turn it into HAST JavaScript object.
npm install svg-parser
, or grab it from npmcdn.com/svg-parser.
import { parse } from 'svg-parser';
const parsed = parse( `
<svg viewBox='0 0 100 100'>
<!-- stuff goes here... -->
</svg>
` );
/*
{
type: 'root',
children: [
{
type: 'element',
tagName: 'svg',
properties: {
viewBox: '0 0 100 100'
},
children: [...]
}
]
}
*/
{
disableConversionToNumber: boolean (false)
}
disableConversionToNumber (false) - don't try convert value of property to number
let svg = `<svg zeroEnd='72.120' big='1234.12345678912345' foo='bar'> </svg>`
const opt = { disableConversionToNumber:true };
const parsedWithOption = parse(svg, opt);
console.log(parsedWithOption.children[0].properties)
// { zeroEnd: '72.120', big: '1234.12345678912345', foo: 'bar' }
const parsed = parse(svg);
console.log(parsed.children[0].properties)
//{ zeroEnd: 72.12, big: 1234.1234567891233, foo: 'bar' }
MIT