All files / src/sass insertStyle.ts

7.14% Statements 1/14
0% Branches 0/9
0% Functions 0/1
7.69% Lines 1/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                  1x                                            
/**
 * Create a style tag and append to head tag
 *
 * @warning This function is injected inside rollup. According to this be sure
 *          - to not include any side-effect
 *          - do not import any library / other files content
 *
 * @return css style
 */
export default function insertStyle(
  css: string | undefined,
  tagName: string = "style",
): string | undefined {
  if (!css || typeof window === "undefined") return;
 
  if (tagName === "style") {
    const style = document.createElement("style");
    style.setAttribute("type", "text/css");
    style.innerHTML = css;
 
    document.head.appendChild(style);
  } else if (tagName === "link") {
    const link = document.createElement("link");
    link.setAttribute("rel", "stylesheet");
    link.setAttribute("href", css);
 
    document.head.appendChild(link);
  }
 
  return css;
}