UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 1.47 kB
{"version":3,"file":"getGradientDefs.min.mjs","names":[],"sources":["../../../src/parser/getGradientDefs.ts"],"sourcesContent":["import { getMultipleNodes } from './getMultipleNodes';\nimport { recursivelyParseGradientsXlink } from './recursivelyParseGradientsXlink';\n\nconst tagArray = [\n 'linearGradient',\n 'radialGradient',\n 'svg:linearGradient',\n 'svg:radialGradient',\n];\n\n/**\n * Parses an SVG document, returning all of the gradient declarations found in it\n * @param {SVGDocument} doc SVG document to parse\n * @return {Object} Gradient definitions; key corresponds to element id, value -- to gradient definition element\n */\nexport function getGradientDefs(\n doc: Document,\n): Record<string, SVGGradientElement> {\n const elList = getMultipleNodes(doc, tagArray);\n const gradientDefs: Record<string, SVGGradientElement> = {};\n let j = elList.length;\n while (j--) {\n const el = elList[j];\n if (el.getAttribute('xlink:href')) {\n recursivelyParseGradientsXlink(doc, el);\n }\n const id = el.getAttribute('id');\n if (id) {\n gradientDefs[id] = el as SVGGradientElement;\n }\n }\n return gradientDefs;\n}\n"],"mappings":"wJAGA,MAAM,EAAW,CACf,iBACA,iBACA,qBACA,qBAAA,CAQF,SAAgB,EACd,EAAA,CAEA,IAAM,EAAS,EAAiB,EAAK,EAAA,CAC/B,EAAmD,EAAA,CACrD,EAAI,EAAO,OACf,KAAO,KAAK,CACV,IAAM,EAAK,EAAO,GACd,EAAG,aAAa,aAAA,EAClB,EAA+B,EAAK,EAAA,CAEtC,IAAM,EAAK,EAAG,aAAa,KAAA,CACvB,IACF,EAAa,GAAM,GAGvB,OAAO,EAAA,OAAA,KAAA"}