12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- const importPattern = /^:import\(("[^"]*"|'[^']*'|[^"']+)\)$/;
- const getDeclsObject = rule => {
- const object = {};
- rule.walkDecls(decl => {
- const before = decl.raws.before ? decl.raws.before.trim() : "";
- object[before + decl.prop] = decl.value;
- });
- return object;
- };
- const extractICSS = (css, removeRules = true) => {
- const icssImports = {};
- const icssExports = {};
- css.each(node => {
- if (node.type === "rule") {
- if (node.selector.slice(0, 7) === ":import") {
- const matches = importPattern.exec(node.selector);
- if (matches) {
- const path = matches[1].replace(/'|"/g, "");
- icssImports[path] = Object.assign(icssImports[path] || {}, getDeclsObject(node));
- if (removeRules) {
- node.remove();
- }
- }
- }
- if (node.selector === ":export") {
- Object.assign(icssExports, getDeclsObject(node));
- if (removeRules) {
- node.remove();
- }
- }
- }
- });
- return {
- icssImports,
- icssExports
- };
- };
- var _default = extractICSS;
- exports.default = _default;
|