summaryrefslogtreecommitdiffstats
path: root/node_modules/icss-utils/lib/createICSSRules.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/icss-utils/lib/createICSSRules.js')
-rw-r--r--node_modules/icss-utils/lib/createICSSRules.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/icss-utils/lib/createICSSRules.js b/node_modules/icss-utils/lib/createICSSRules.js
new file mode 100644
index 0000000..585a984
--- /dev/null
+++ b/node_modules/icss-utils/lib/createICSSRules.js
@@ -0,0 +1,54 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _postcss = require('postcss');
+
+var _postcss2 = _interopRequireDefault(_postcss);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
+
+var createImports = function createImports(imports) {
+ return Object.keys(imports).map(function (path) {
+ var aliases = imports[path];
+ var declarations = Object.keys(aliases).map(function (key) {
+ return _postcss2.default.decl({
+ prop: key,
+ value: aliases[key],
+ raws: { before: '\n ' }
+ });
+ });
+ return _postcss2.default.rule({
+ selector: `:import(${path})`,
+ raws: { after: '\n' }
+ }).append(declarations);
+ });
+};
+
+var createExports = function createExports(exports) {
+ var declarations = Object.keys(exports).map(function (key) {
+ return _postcss2.default.decl({
+ prop: key,
+ value: exports[key],
+ raws: { before: '\n ' }
+ });
+ });
+ if (declarations.length === 0) {
+ return [];
+ }
+ var rule = _postcss2.default.rule({
+ selector: `:export`,
+ raws: { after: '\n' }
+ }).append(declarations);
+ return [rule];
+};
+
+var createICSSRules = function createICSSRules(imports, exports) {
+ return [].concat(_toConsumableArray(createImports(imports)), _toConsumableArray(createExports(exports)));
+};
+
+exports.default = createICSSRules; \ No newline at end of file