summaryrefslogtreecommitdiff
path: root/node_modules/reduce-css-calc/dist/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/reduce-css-calc/dist/lib')
-rw-r--r--node_modules/reduce-css-calc/dist/lib/convert.js38
-rw-r--r--node_modules/reduce-css-calc/dist/lib/reducer.js258
-rw-r--r--node_modules/reduce-css-calc/dist/lib/stringifier.js78
3 files changed, 0 insertions, 374 deletions
diff --git a/node_modules/reduce-css-calc/dist/lib/convert.js b/node_modules/reduce-css-calc/dist/lib/convert.js
deleted file mode 100644
index 3e5815ff..00000000
--- a/node_modules/reduce-css-calc/dist/lib/convert.js
+++ /dev/null
@@ -1,38 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _cssUnitConverter = require('css-unit-converter');
-
-var _cssUnitConverter2 = _interopRequireDefault(_cssUnitConverter);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function convertNodes(left, right, precision) {
- switch (left.type) {
- case 'LengthValue':
- case 'AngleValue':
- case 'TimeValue':
- case 'FrequencyValue':
- case 'ResolutionValue':
- return convertAbsoluteLength(left, right, precision);
- default:
- return { left: left, right: right };
- }
-}
-
-function convertAbsoluteLength(left, right, precision) {
- if (right.type === left.type) {
- right = {
- type: left.type,
- value: (0, _cssUnitConverter2.default)(right.value, right.unit, left.unit, precision),
- unit: left.unit
- };
- }
- return { left: left, right: right };
-}
-
-exports.default = convertNodes;
-module.exports = exports['default']; \ No newline at end of file
diff --git a/node_modules/reduce-css-calc/dist/lib/reducer.js b/node_modules/reduce-css-calc/dist/lib/reducer.js
deleted file mode 100644
index a3d6cce9..00000000
--- a/node_modules/reduce-css-calc/dist/lib/reducer.js
+++ /dev/null
@@ -1,258 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.flip = flip;
-
-var _convert = require("./convert");
-
-var _convert2 = _interopRequireDefault(_convert);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function reduce(node, precision) {
- if (node.type === "MathExpression") return reduceMathExpression(node, precision);
- if (node.type === "Calc") return reduce(node.value, precision);
-
- return node;
-}
-
-function isEqual(left, right) {
- return left.type === right.type && left.value === right.value;
-}
-
-function isValueType(type) {
- switch (type) {
- case 'LengthValue':
- case 'AngleValue':
- case 'TimeValue':
- case 'FrequencyValue':
- case 'ResolutionValue':
- case 'EmValue':
- case 'ExValue':
- case 'ChValue':
- case 'RemValue':
- case 'VhValue':
- case 'VwValue':
- case 'VminValue':
- case 'VmaxValue':
- case 'PercentageValue':
- case 'Value':
- return true;
- }
- return false;
-}
-
-function convertMathExpression(node, precision) {
- var nodes = (0, _convert2.default)(node.left, node.right, precision);
- var left = reduce(nodes.left, precision);
- var right = reduce(nodes.right, precision);
-
- if (left.type === "MathExpression" && right.type === "MathExpression") {
-
- if (left.operator === '/' && right.operator === '*' || left.operator === '-' && right.operator === '+' || left.operator === '*' && right.operator === '/' || left.operator === '+' && right.operator === '-') {
-
- if (isEqual(left.right, right.right)) nodes = (0, _convert2.default)(left.left, right.left, precision);else if (isEqual(left.right, right.left)) nodes = (0, _convert2.default)(left.left, right.right, precision);
-
- left = reduce(nodes.left, precision);
- right = reduce(nodes.right, precision);
- }
- }
-
- node.left = left;
- node.right = right;
- return node;
-}
-
-function flip(operator) {
- return operator === '+' ? '-' : '+';
-}
-
-function flipValue(node) {
- if (isValueType(node.type)) node.value = -node.value;else if (node.type == 'MathExpression') {
- node.left = flipValue(node.left);
- node.right = flipValue(node.right);
- }
- return node;
-}
-
-function reduceAddSubExpression(node, precision) {
- var _node = node,
- left = _node.left,
- right = _node.right,
- op = _node.operator;
-
-
- if (left.type === 'CssVariable' || right.type === 'CssVariable') return node;
-
- // something + 0 => something
- // something - 0 => something
- if (right.value === 0) return left;
-
- // 0 + something => something
- if (left.value === 0 && op === "+") return right;
-
- // 0 - something => -something
- if (left.value === 0 && op === "-") return flipValue(right);
-
- // value + value
- // value - value
- if (left.type === right.type && isValueType(left.type)) {
- node = Object.assign({}, left);
- if (op === "+") node.value = left.value + right.value;else node.value = left.value - right.value;
- }
-
- // value <op> (expr)
- if (isValueType(left.type) && (right.operator === '+' || right.operator === '-') && right.type === 'MathExpression') {
- // value + (value + something) => (value + value) + something
- // value + (value - something) => (value + value) - something
- // value - (value + something) => (value - value) - something
- // value - (value - something) => (value - value) + something
- if (left.type === right.left.type) {
- node = Object.assign({}, node);
- node.left = reduce({
- type: 'MathExpression',
- operator: op,
- left: left,
- right: right.left
- }, precision);
- node.right = right.right;
- node.operator = op === '-' ? flip(right.operator) : right.operator;
- return reduce(node, precision);
- }
- // value + (something + value) => (value + value) + something
- // value + (something - value) => (value - value) + something
- // value - (something + value) => (value - value) - something
- // value - (something - value) => (value + value) - something
- else if (left.type === right.right.type) {
- node = Object.assign({}, node);
- node.left = reduce({
- type: 'MathExpression',
- operator: op === '-' ? flip(right.operator) : right.operator,
- left: left,
- right: right.right
- }, precision);
- node.right = right.left;
- return reduce(node, precision);
- }
- }
-
- // (expr) <op> value
- if (left.type === 'MathExpression' && (left.operator === '+' || left.operator === '-') && isValueType(right.type)) {
- // (value + something) + value => (value + value) + something
- // (value - something) + value => (value + value) - something
- // (value + something) - value => (value - value) + something
- // (value - something) - value => (value - value) - something
- if (right.type === left.left.type) {
- node = Object.assign({}, left);
- node.left = reduce({
- type: 'MathExpression',
- operator: op,
- left: left.left,
- right: right
- }, precision);
- return reduce(node, precision);
- }
- // (something + value) + value => something + (value + value)
- // (something - value1) + value2 => something - (value2 - value1)
- // (something + value) - value => something + (value - value)
- // (something - value) - value => something - (value + value)
- else if (right.type === left.right.type) {
- node = Object.assign({}, left);
- if (left.operator === '-') {
- node.right = reduce({
- type: 'MathExpression',
- operator: op === '-' ? '+' : '-',
- left: right,
- right: left.right
- }, precision);
- node.operator = op === '-' ? '-' : '+';
- } else {
- node.right = reduce({
- type: 'MathExpression',
- operator: op,
- left: left.right,
- right: right
- }, precision);
- }
- if (node.right.value < 0) {
- node.right.value *= -1;
- node.operator = node.operator === '-' ? '+' : '-';
- }
- return reduce(node, precision);
- }
- }
- return node;
-}
-
-function reduceDivisionExpression(node, precision) {
- if (!isValueType(node.right.type)) return node;
-
- if (node.right.type !== 'Value') throw new Error("Cannot divide by \"" + node.right.unit + "\", number expected");
-
- if (node.right.value === 0) throw new Error('Cannot divide by zero');
-
- // (expr) / value
- if (node.left.type === 'MathExpression') {
- if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {
- node.left.left.value /= node.right.value;
- node.left.right.value /= node.right.value;
- return reduce(node.left, precision);
- }
- return node;
- }
- // something / value
- else if (isValueType(node.left.type)) {
- node.left.value /= node.right.value;
- return node.left;
- }
- return node;
-}
-
-function reduceMultiplicationExpression(node) {
- // (expr) * value
- if (node.left.type === 'MathExpression' && node.right.type === 'Value') {
- if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {
- node.left.left.value *= node.right.value;
- node.left.right.value *= node.right.value;
- return node.left;
- }
- }
- // something * value
- else if (isValueType(node.left.type) && node.right.type === 'Value') {
- node.left.value *= node.right.value;
- return node.left;
- }
- // value * (expr)
- else if (node.left.type === 'Value' && node.right.type === 'MathExpression') {
- if (isValueType(node.right.left.type) && isValueType(node.right.right.type)) {
- node.right.left.value *= node.left.value;
- node.right.right.value *= node.left.value;
- return node.right;
- }
- }
- // value * something
- else if (node.left.type === 'Value' && isValueType(node.right.type)) {
- node.right.value *= node.left.value;
- return node.right;
- }
- return node;
-}
-
-function reduceMathExpression(node, precision) {
- node = convertMathExpression(node, precision);
-
- switch (node.operator) {
- case "+":
- case "-":
- return reduceAddSubExpression(node, precision);
- case "/":
- return reduceDivisionExpression(node, precision);
- case "*":
- return reduceMultiplicationExpression(node);
- }
- return node;
-}
-
-exports.default = reduce; \ No newline at end of file
diff --git a/node_modules/reduce-css-calc/dist/lib/stringifier.js b/node_modules/reduce-css-calc/dist/lib/stringifier.js
deleted file mode 100644
index 92e76326..00000000
--- a/node_modules/reduce-css-calc/dist/lib/stringifier.js
+++ /dev/null
@@ -1,78 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-exports.default = function (calc, node, precision) {
- var str = stringify(node, precision);
-
- if (node.type === "MathExpression") {
- // if calc expression couldn't be resolved to a single value, re-wrap it as
- // a calc()
- str = calc + "(" + str + ")";
- }
- return str;
-};
-
-var _reducer = require("./reducer");
-
-var order = {
- "*": 0,
- "/": 0,
- "+": 1,
- "-": 1
-};
-
-function round(value, prec) {
- if (prec !== false) {
- var precision = Math.pow(10, prec);
- return Math.round(value * precision) / precision;
- }
- return value;
-}
-
-function stringify(node, prec) {
- switch (node.type) {
- case "MathExpression":
- {
- var left = node.left,
- right = node.right,
- op = node.operator;
-
- var str = "";
-
- if (left.type === 'MathExpression' && order[op] < order[left.operator]) str += "(" + stringify(left, prec) + ")";else str += stringify(left, prec);
-
- str += " " + node.operator + " ";
-
- if (right.type === 'MathExpression' && order[op] < order[right.operator]) {
- str += "(" + stringify(right, prec) + ")";
- } else if (right.type === 'MathExpression' && op === "-" && ["+", "-"].includes(right.operator)) {
- // fix #52 : a-(b+c) = a-b-c
- right.operator = (0, _reducer.flip)(right.operator);
- str += stringify(right, prec);
- } else {
- str += stringify(right, prec);
- }
-
- return str;
- }
- case "Value":
- return round(node.value, prec);
- case 'CssVariable':
- if (node.fallback) {
- return "var(" + node.value + ", " + stringify(node.fallback, prec, true) + ")";
- }
- return "var(" + node.value + ")";
- case 'Calc':
- if (node.prefix) {
- return "-" + node.prefix + "-calc(" + stringify(node.value, prec) + ")";
- }
- return "calc(" + stringify(node.value, prec) + ")";
- default:
- return round(node.value, prec) + node.unit;
- }
-}
-
-module.exports = exports["default"]; \ No newline at end of file