🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

reduce-css-calc

Package Overview
Dependencies
Maintainers
2
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reduce-css-calc - npm Package Compare versions

Comparing version

to
2.0.4

5

CHANGELOG.md

@@ -0,1 +1,6 @@

# 2.0.4 - 2017-05-09
- Fixed: CSS variable regex was overly greedy and caused a crash in some
cases. ([#27](https://github.com/MoOx/reduce-css-calc/pull/27) - @andyjansson)
# 2.0.3 - 2017-05-09

@@ -2,0 +7,0 @@

44

dist/lib/reducer.js

@@ -1,2 +0,2 @@

"use strict";
'use strict';

@@ -7,3 +7,3 @@ Object.defineProperty(exports, "__esModule", {

var _convert = require("./convert");
var _convert = require('./convert');

@@ -24,2 +24,24 @@ var _convert2 = _interopRequireDefault(_convert);

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) {

@@ -62,3 +84,3 @@ var nodes = (0, _convert2.default)(node.left, node.right, precision);

// value - value
if (left.type === right.type && left.type !== 'MathExpression') {
if (left.type === right.type && isValueType(left.type)) {
node = Object.assign({}, left);

@@ -69,3 +91,3 @@ if (op === "+") node.value = left.value + right.value;else node.value = left.value - right.value;

// value <op> (expr)
if (left.type !== 'MathExpression' && right.type === 'MathExpression') {
if (isValueType(left.type) && (right.operator === '+' || right.operator === '-') && right.type === 'MathExpression') {
// value + (value + something) => (value + value) + something

@@ -104,3 +126,3 @@ // value + (value - something) => (value + value) - something

// (expr) <op> value
if (left.type === 'MathExpression' && right.type !== 'MathExpression') {
if (left.type === 'MathExpression' && (left.operator === '+' || left.operator === '-') && isValueType(right.type)) {
// (value + something) + value => (value + value) + something

@@ -161,3 +183,3 @@ // (value - something) + value => (value + value) - something

if (node.left.type === 'MathExpression') {
if (node.left.left.type !== 'MathExpression' && node.left.right.type !== 'MathExpression') {
if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {
node.left.left.value /= node.right.value;

@@ -178,3 +200,3 @@ node.left.right.value /= node.right.value;

if (node.left.type === 'MathExpression' && node.right.type === 'Value') {
if (node.left.left.type !== 'MathExpression' && node.left.right.type !== 'MathExpression') {
if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {
node.left.left.value *= node.right.value;

@@ -186,3 +208,3 @@ node.left.right.value *= node.right.value;

// something * value
else if (node.left.type !== 'MathExpression' && node.right.type === 'Value') {
else if (isValueType(node.left.type) && node.right.type === 'Value') {
node.left.value *= node.right.value;

@@ -193,3 +215,3 @@ return node.left;

else if (node.left.type === 'Value' && node.right.type === 'MathExpression') {
if (node.right.left.type !== 'MathExpression' && node.right.right.type !== 'MathExpression') {
if (isValueType(node.right.left.type) && isValueType(node.right.right.type)) {
node.right.left.value *= node.left.value;

@@ -201,3 +223,3 @@ node.right.right.value *= node.left.value;

// value * something
else if (node.left.type === 'Value' && node.right.type !== 'MathExpression') {
else if (node.left.type === 'Value' && isValueType(node.right.type)) {
node.right.value *= node.left.value;

@@ -225,2 +247,2 @@ return node.right;

exports.default = reduce;
module.exports = exports["default"];
module.exports = exports['default'];

@@ -712,3 +712,3 @@ /* parser generated by jison 0.4.17 */

},
rules: [/^(?:\s+)/,/^(?:\*)/,/^(?:\/)/,/^(?:\+)/,/^(?:-)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)px\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)cm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)mm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)in\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)pt\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)pc\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)deg\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)grad\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)rad\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)turn\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)s\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ms\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)Hz\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)kHz\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dpi\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dpcm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dppx\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)em\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ex\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ch\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)rem\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vw\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vh\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vmin\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vmax\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)%)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)\b)/,/^(?:(calc))/,/^(?:(var\(.*\)))/,/^(?:([a-z]+))/,/^(?:\()/,/^(?:\))/,/^(?:$)/],
rules: [/^(?:\s+)/,/^(?:\*)/,/^(?:\/)/,/^(?:\+)/,/^(?:-)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)px\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)cm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)mm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)in\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)pt\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)pc\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)deg\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)grad\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)rad\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)turn\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)s\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ms\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)Hz\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)kHz\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dpi\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dpcm\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)dppx\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)em\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ex\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)ch\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)rem\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vw\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vh\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vmin\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)vmax\b)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)%)/,/^(?:([0-9]+(\.[0-9]*)?|\.[0-9]+)\b)/,/^(?:(calc))/,/^(?:(var\([^\)]*\)))/,/^(?:([a-z]+))/,/^(?:\()/,/^(?:\))/,/^(?:$)/],
conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"inclusive":true}}

@@ -715,0 +715,0 @@ });

{
"name": "reduce-css-calc",
"version": "2.0.3",
"version": "2.0.4",
"description": "Reduce CSS calc() function to the maximum",

@@ -5,0 +5,0 @@ "keywords": [