linwenling
2023-06-12 90fd5c29248f2f71c877b2f99fed2c375457e95b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import arrayFrom from './array-from';
 
const defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';
 
/**
 * @param {Element} svg
 * @param {string} [selector]
 * @return {Element}
 */
export default function (svg, selector = defaultSelector) {
  arrayFrom(svg.querySelectorAll('symbol')).forEach((symbol) => {
    arrayFrom(symbol.querySelectorAll(selector)).forEach((node) => {
      symbol.parentNode.insertBefore(node, symbol);
    });
  });
  return svg;
}