Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
view-container / dist / utils / extractCompsFromCSS.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// @flow
const SC_COMPONENT_ID = /^[^\S\n]*?\/\* sc-component-id:\s*(\S+)\s+\*\//gm;
exports.default = (maybeCSS) => {
    const css = `${maybeCSS || ''}`; // Definitely a string, and a clone
    const existingComponents = [];
    css.replace(SC_COMPONENT_ID, (match, componentId, matchIndex) => {
        existingComponents.push({ componentId, matchIndex });
        return match;
    });
    return existingComponents.map(({ componentId, matchIndex }, i) => {
        const nextComp = existingComponents[i + 1];
        const cssFromDOM = nextComp
            ? css.slice(matchIndex, nextComp.matchIndex)
            : css.slice(matchIndex);
        return { componentId, cssFromDOM };
    });
};
//# sourceMappingURL=extractCompsFromCSS.js.map