123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- 'use strict';
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var parser = _interopDefault(require('postcss-values-parser'));
- var fs = _interopDefault(require('fs'));
- var path = _interopDefault(require('path'));
- var postcss = _interopDefault(require('postcss'));
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
- if (info.done) {
- resolve(value);
- } else {
- Promise.resolve(value).then(_next, _throw);
- }
- }
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments;
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args);
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
- }
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
- }
- _next(undefined);
- });
- };
- }
- const dashedMatch = /^--/;
- var getFnValue = (node => {
- const value = String(node.nodes.slice(1, -1));
- return dashedMatch.test(value) ? value : undefined;
- });
- var updateEnvValue = ((node, variables) => {
-
- const value = getFnValue(node);
- if (typeof value === 'string' && value in variables) {
- node.replaceWith(...asClonedArrayWithBeforeSpacing(variables[value], node.raws.before));
- }
- });
- const asClonedArrayWithBeforeSpacing = (array, beforeSpacing) => {
- const clonedArray = asClonedArray(array, null);
- if (clonedArray[0]) {
- clonedArray[0].raws.before = beforeSpacing;
- }
- return clonedArray;
- };
- const asClonedArray = (array, parent) => array.map(node => asClonedNode(node, parent));
- const asClonedNode = (node, parent) => {
- const cloneNode = new node.constructor(node);
- for (const key in node) {
- if (key === 'parent') {
- cloneNode.parent = parent;
- } else if (Object(node[key]).constructor === Array) {
- cloneNode[key] = asClonedArray(node.nodes, cloneNode);
- } else if (Object(node[key]).constructor === Object) {
- cloneNode[key] = Object.assign({}, node[key]);
- }
- }
- return cloneNode;
- };
- var isEnvFunc = (node => node && node.type === 'func' && node.value === 'env');
- function walk(node, fn) {
- node.nodes.slice(0).forEach(childNode => {
- if (childNode.nodes) {
- walk(childNode, fn);
- }
- if (isEnvFunc(childNode)) {
- fn(childNode);
- }
- });
- }
- var getReplacedValue = ((originalValue, variables) => {
-
- const ast = parser(originalValue).parse();
- walk(ast, node => {
-
- updateEnvValue(node, variables);
- });
- return String(ast);
- });
- var isAtrule = (node => node && node.type === 'atrule');
- var isDecl = (node => node && node.type === 'decl');
- var getSupportedValue = (node => isAtrule(node) && node.params || isDecl(node) && node.value);
- function setSupportedValue (node, value) {
- if (isAtrule(node)) {
- node.params = value;
- }
- if (isDecl(node)) {
- node.value = value;
- }
- }
|