function getCssRules()

in src/utils/dom-to-image.js [423:452]


    function getCssRules(styleSheets) {
      const cssRules = [];
      styleSheets.forEach(sheet => {
        // try...catch because browser may not able to enumerate rules for cross-domain sheets
        if (!sheet) {
          return;
        }
        let rules;
        try {
          rules = sheet.rules || sheet.cssRules;
        } catch (e) {
          console.log(`'Can't read the css rules of: ${sheet.href}`, e);
          return;
        }

        if (rules && typeof rules === 'object') {
          try {
            asArray(rules || []).forEach(cssRules.push.bind(cssRules));
          } catch (e) {
            console.log(`Error while reading CSS rules from ${sheet.href}`, e);
            return;
          }
        } else {
          console.log('getCssRules can not find cssRules');
          return;
        }
      });

      return cssRules;
    }