UNPKG

@iconify/utils

Version:

Common functions for working with Iconify icon sets used by various packages.

35 lines (32 loc) 949 B
'use strict'; function splitSVGDefs(content, tag = "defs") { let defs = ""; const index = content.indexOf("<" + tag); while (index >= 0) { const start = content.indexOf(">", index); const end = content.indexOf("</" + tag); if (start === -1 || end === -1) { break; } const endEnd = content.indexOf(">", end); if (endEnd === -1) { break; } defs += content.slice(start + 1, end).trim(); content = content.slice(0, index).trim() + content.slice(endEnd + 1); } return { defs, content }; } function mergeDefsAndContent(defs, content) { return defs ? "<defs>" + defs + "</defs>" + content : content; } function wrapSVGContent(body, start, end) { const split = splitSVGDefs(body); return mergeDefsAndContent(split.defs, start + split.content + end); } exports.mergeDefsAndContent = mergeDefsAndContent; exports.splitSVGDefs = splitSVGDefs; exports.wrapSVGContent = wrapSVGContent;