HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/icss-utils/lib/createICSSRules.js
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _postcss = _interopRequireDefault(require("postcss"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const createImports = imports => {
  return Object.keys(imports).map(path => {
    const aliases = imports[path];
    const declarations = Object.keys(aliases).map(key => _postcss.default.decl({
      prop: key,
      value: aliases[key],
      raws: {
        before: "\n  "
      }
    }));
    const hasDeclarations = declarations.length > 0;

    const rule = _postcss.default.rule({
      selector: `:import('${path}')`,
      raws: {
        after: hasDeclarations ? "\n" : ""
      }
    });

    if (hasDeclarations) {
      rule.append(declarations);
    }

    return rule;
  });
};

const createExports = exports => {
  const declarations = Object.keys(exports).map(key => _postcss.default.decl({
    prop: key,
    value: exports[key],
    raws: {
      before: "\n  "
    }
  }));

  if (declarations.length === 0) {
    return [];
  }

  const rule = _postcss.default.rule({
    selector: `:export`,
    raws: {
      after: "\n"
    }
  }).append(declarations);

  return [rule];
};

const createICSSRules = (imports, exports) => [...createImports(imports), ...createExports(exports)];

var _default = createICSSRules;
exports.default = _default;