diff options
Diffstat (limited to 'node_modules/icss-utils/lib')
-rw-r--r-- | node_modules/icss-utils/lib/createICSSRules.js | 54 | ||||
-rw-r--r-- | node_modules/icss-utils/lib/extractICSS.js | 45 | ||||
-rw-r--r-- | node_modules/icss-utils/lib/index.js | 43 | ||||
-rw-r--r-- | node_modules/icss-utils/lib/replaceSymbols.js | 22 | ||||
-rw-r--r-- | node_modules/icss-utils/lib/replaceValueSymbols.js | 20 |
5 files changed, 184 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 diff --git a/node_modules/icss-utils/lib/extractICSS.js b/node_modules/icss-utils/lib/extractICSS.js new file mode 100644 index 0000000..3b2f863 --- /dev/null +++ b/node_modules/icss-utils/lib/extractICSS.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var importPattern = /^:import\(("[^"]*"|'[^']*'|[\w-\.]+)\)$/; + +var getDeclsObject = function getDeclsObject(rule) { + var object = {}; + rule.walkDecls(function (decl) { + object[decl.raws.before.trim() + decl.prop] = decl.value; + }); + return object; +}; + +var extractICSS = function extractICSS(css) { + var removeRules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var icssImports = {}; + var icssExports = {}; + css.each(function (node) { + if (node.type === "rule") { + if (node.selector.slice(0, 7) === ":import") { + var matches = importPattern.exec(node.selector); + if (matches) { + var path = matches[1]; + var aliases = Object.assign(icssImports[path] || {}, getDeclsObject(node)); + icssImports[path] = aliases; + if (removeRules) { + node.remove(); + } + } + } + if (node.selector === ":export") { + Object.assign(icssExports, getDeclsObject(node)); + if (removeRules) { + node.remove(); + } + } + } + }); + return { icssImports, icssExports }; +}; + +exports.default = extractICSS;
\ No newline at end of file diff --git a/node_modules/icss-utils/lib/index.js b/node_modules/icss-utils/lib/index.js new file mode 100644 index 0000000..d9559c1 --- /dev/null +++ b/node_modules/icss-utils/lib/index.js @@ -0,0 +1,43 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _replaceValueSymbols = require('./replaceValueSymbols.js'); + +Object.defineProperty(exports, 'replaceValueSymbols', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_replaceValueSymbols).default; + } +}); + +var _replaceSymbols = require('./replaceSymbols.js'); + +Object.defineProperty(exports, 'replaceSymbols', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_replaceSymbols).default; + } +}); + +var _extractICSS = require('./extractICSS.js'); + +Object.defineProperty(exports, 'extractICSS', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_extractICSS).default; + } +}); + +var _createICSSRules = require('./createICSSRules.js'); + +Object.defineProperty(exports, 'createICSSRules', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_createICSSRules).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
\ No newline at end of file diff --git a/node_modules/icss-utils/lib/replaceSymbols.js b/node_modules/icss-utils/lib/replaceSymbols.js new file mode 100644 index 0000000..4bf349d --- /dev/null +++ b/node_modules/icss-utils/lib/replaceSymbols.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _replaceValueSymbols = require('./replaceValueSymbols.js'); + +var _replaceValueSymbols2 = _interopRequireDefault(_replaceValueSymbols); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var replaceSymbols = function replaceSymbols(css, replacements) { + css.walkDecls(function (decl) { + return decl.value = (0, _replaceValueSymbols2.default)(decl.value, replacements); + }); + css.walkAtRules('media', function (atRule) { + return atRule.params = (0, _replaceValueSymbols2.default)(atRule.params, replacements); + }); +}; + +exports.default = replaceSymbols;
\ No newline at end of file diff --git a/node_modules/icss-utils/lib/replaceValueSymbols.js b/node_modules/icss-utils/lib/replaceValueSymbols.js new file mode 100644 index 0000000..ae6e553 --- /dev/null +++ b/node_modules/icss-utils/lib/replaceValueSymbols.js @@ -0,0 +1,20 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var matchValueName = /[$#]?[\w-\.]+/g; + +var replaceValueSymbols = function replaceValueSymbols(value, replacements) { + var matches = void 0; + while (matches = matchValueName.exec(value)) { + var replacement = replacements[matches[0]]; + if (replacement) { + value = value.slice(0, matches.index) + replacement + value.slice(matchValueName.lastIndex); + matchValueName.lastIndex -= matches[0].length - replacement.length; + } + } + return value; +}; + +exports.default = replaceValueSymbols;
\ No newline at end of file |