🚀 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.1

5

CHANGELOG.md

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

# 2.0.1 - 2017-05-08
- Fixed: Support for nested calc e.g. `calc(100% - calc(50px - 25px))`.
- Fixed: Support for CSS variables e.g. `calc(var(--mouseX) * 1px)`.
# 2.0.0 - 2017-05-08

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

2

dist/lib/stringifier.js

@@ -53,2 +53,4 @@ "use strict";

return round(node.value, prec);
case 'CssVariable':
return node.value;
default:

@@ -55,0 +57,0 @@ return round(node.value, prec) + node.unit;

123

dist/parser.js

@@ -75,8 +75,8 @@ /* parser generated by jison 0.4.17 */

var parser = (function(){
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,20],$V1=[1,3],$V2=[1,21],$V3=[1,6],$V4=[1,7],$V5=[1,8],$V6=[1,9],$V7=[1,10],$V8=[1,11],$V9=[1,12],$Va=[1,13],$Vb=[1,14],$Vc=[1,15],$Vd=[1,16],$Ve=[1,17],$Vf=[1,18],$Vg=[1,19],$Vh=[1,23],$Vi=[1,24],$Vj=[1,25],$Vk=[1,26],$Vl=[5,6,7,8,9,11],$Vm=[1,30],$Vn=[5,6,7,11];
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,5],$V1=[1,3],$V2=[1,4],$V3=[1,24],$V4=[1,9],$V5=[1,10],$V6=[1,11],$V7=[1,12],$V8=[1,13],$V9=[1,14],$Va=[1,15],$Vb=[1,16],$Vc=[1,17],$Vd=[1,18],$Ve=[1,19],$Vf=[1,20],$Vg=[1,21],$Vh=[1,22],$Vi=[1,23],$Vj=[1,26],$Vk=[1,27],$Vl=[1,28],$Vm=[1,29],$Vn=[1,35],$Vo=[5,6,7,8,9,11],$Vp=[5,6,7,11];
var parser = {trace: function trace() { },
yy: {},
symbols_: {"error":2,"expression":3,"math_expression":4,"EOF":5,"ADD":6,"SUB":7,"MUL":8,"DIV":9,"LPAREN":10,"RPAREN":11,"css_value":12,"value":13,"NUMBER":14,"LENGTH":15,"ANGLE":16,"TIME":17,"FREQ":18,"RES":19,"EMS":20,"EXS":21,"CHS":22,"REMS":23,"VHS":24,"VWS":25,"VMINS":26,"VMAXS":27,"PERCENTAGE":28,"$accept":0,"$end":1},
terminals_: {2:"error",5:"EOF",6:"ADD",7:"SUB",8:"MUL",9:"DIV",10:"LPAREN",11:"RPAREN",14:"NUMBER",15:"LENGTH",16:"ANGLE",17:"TIME",18:"FREQ",19:"RES",20:"EMS",21:"EXS",22:"CHS",23:"REMS",24:"VHS",25:"VWS",26:"VMINS",27:"VMAXS",28:"PERCENTAGE"},
productions_: [0,[3,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1],[13,1],[13,2],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,1],[12,2]],
symbols_: {"error":2,"expression":3,"math_expression":4,"EOF":5,"ADD":6,"SUB":7,"MUL":8,"DIV":9,"LPAREN":10,"RPAREN":11,"NESTED_CALC":12,"PREFIX":13,"css_variable":14,"css_value":15,"value":16,"NUMBER":17,"CSS_VAR":18,"LENGTH":19,"ANGLE":20,"TIME":21,"FREQ":22,"RES":23,"EMS":24,"EXS":25,"CHS":26,"REMS":27,"VHS":28,"VWS":29,"VMINS":30,"VMAXS":31,"PERCENTAGE":32,"$accept":0,"$end":1},
terminals_: {2:"error",5:"EOF",6:"ADD",7:"SUB",8:"MUL",9:"DIV",10:"LPAREN",11:"RPAREN",12:"NESTED_CALC",13:"PREFIX",17:"NUMBER",18:"CSS_VAR",19:"LENGTH",20:"ANGLE",21:"TIME",22:"FREQ",23:"RES",24:"EMS",25:"EXS",26:"CHS",27:"REMS",28:"VHS",29:"VWS",30:"VMINS",31:"VMAXS",32:"PERCENTAGE"},
productions_: [0,[3,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,4],[4,7],[4,1],[4,1],[4,1],[16,1],[16,2],[14,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,2]],
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {

@@ -93,57 +93,60 @@ /* this == yyval */

break;
case 6:
case 6: case 7: case 8:
this.$ = $$[$0-1];
break;
case 7: case 8:
case 9: case 10: case 11:
this.$ = $$[$0];
break;
case 9:
case 12:
this.$ = { type: 'Value', value: parseFloat($$[$0]) };
break;
case 10:
case 13:
this.$ = { type: 'Value', value: parseFloat($$[$0]) * -1 };
break;
case 11:
case 14:
this.$ = { type: 'CssVariable', value: $$[$0] };
break;
case 15:
this.$ = { type: 'LengthValue', value: parseFloat($$[$0]), unit: /[a-z]+/.exec($$[$0])[0] };
break;
case 12:
case 16:
this.$ = { type: 'AngleValue', value: parseFloat($$[$0]), unit: /[a-z]+/.exec($$[$0])[0] };
break;
case 13:
case 17:
this.$ = { type: 'TimeValue', value: parseFloat($$[$0]), unit: /[a-z]+/.exec($$[$0])[0] };
break;
case 14:
case 18:
this.$ = { type: 'FrequencyValue', value: parseFloat($$[$0]), unit: /[a-z]+/.exec($$[$0])[0] };
break;
case 15:
case 19:
this.$ = { type: 'ResolutionValue', value: parseFloat($$[$0]), unit: /[a-z]+/.exec($$[$0])[0] };
break;
case 16:
case 20:
this.$ = { type: 'EmValue', value: parseFloat($$[$0]), unit: 'em' };
break;
case 17:
case 21:
this.$ = { type: 'ExValue', value: parseFloat($$[$0]), unit: 'ex' };
break;
case 18:
case 22:
this.$ = { type: 'ChValue', value: parseFloat($$[$0]), unit: 'ch' };
break;
case 19:
case 23:
this.$ = { type: 'RemValue', value: parseFloat($$[$0]), unit: 'rem' };
break;
case 20:
case 24:
this.$ = { type: 'VhValue', value: parseFloat($$[$0]), unit: 'vh' };
break;
case 21:
case 25:
this.$ = { type: 'VwValue', value: parseFloat($$[$0]), unit: 'vw' };
break;
case 22:
case 26:
this.$ = { type: 'VminValue', value: parseFloat($$[$0]), unit: 'vmin' };
break;
case 23:
case 27:
this.$ = { type: 'VmaxValue', value: parseFloat($$[$0]), unit: 'vmax' };
break;
case 24:
case 28:
this.$ = { type: 'PercentageValue', value: parseFloat($$[$0]), unit: '%' };
break;
case 25:
case 29:
var prev = $$[$0]; prev.value *= -1; this.$ = prev;

@@ -153,4 +156,4 @@ break;

},
table: [{3:1,4:2,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},{1:[3]},{5:[1,22],6:$Vh,7:$Vi,8:$Vj,9:$Vk},{4:27,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},o($Vl,[2,7]),o($Vl,[2,8]),o($Vl,[2,11]),o($Vl,[2,12]),o($Vl,[2,13]),o($Vl,[2,14]),o($Vl,[2,15]),o($Vl,[2,16]),o($Vl,[2,17]),o($Vl,[2,18]),o($Vl,[2,19]),o($Vl,[2,20]),o($Vl,[2,21]),o($Vl,[2,22]),o($Vl,[2,23]),o($Vl,[2,24]),{7:$Vm,12:28,14:[1,29],15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},o($Vl,[2,9]),{1:[2,1]},{4:31,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},{4:32,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},{4:33,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},{4:34,7:$V0,10:$V1,12:4,13:5,14:$V2,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},{6:$Vh,7:$Vi,8:$Vj,9:$Vk,11:[1,35]},o($Vl,[2,25]),o($Vl,[2,10]),{7:$Vm,12:28,15:$V3,16:$V4,17:$V5,18:$V6,19:$V7,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg},o($Vn,[2,2],{8:$Vj,9:$Vk}),o($Vn,[2,3],{8:$Vj,9:$Vk}),o($Vl,[2,4]),o($Vl,[2,5]),o($Vl,[2,6])],
defaultActions: {22:[2,1]},
table: [{3:1,4:2,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{1:[3]},{5:[1,25],6:$Vj,7:$Vk,8:$Vl,9:$Vm},{4:30,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{10:[1,31]},{7:$Vn,13:[1,32],15:33,17:[1,34],19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},o($Vo,[2,9]),o($Vo,[2,10]),o($Vo,[2,11]),o($Vo,[2,14]),o($Vo,[2,15]),o($Vo,[2,16]),o($Vo,[2,17]),o($Vo,[2,18]),o($Vo,[2,19]),o($Vo,[2,20]),o($Vo,[2,21]),o($Vo,[2,22]),o($Vo,[2,23]),o($Vo,[2,24]),o($Vo,[2,25]),o($Vo,[2,26]),o($Vo,[2,27]),o($Vo,[2,28]),o($Vo,[2,12]),{1:[2,1]},{4:36,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{4:37,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{4:38,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{4:39,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{6:$Vj,7:$Vk,8:$Vl,9:$Vm,11:[1,40]},{4:41,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{7:[1,42]},o($Vo,[2,29]),o($Vo,[2,13]),{7:$Vn,15:33,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},o($Vp,[2,2],{8:$Vl,9:$Vm}),o($Vp,[2,3],{8:$Vl,9:$Vm}),o($Vo,[2,4]),o($Vo,[2,5]),o($Vo,[2,6]),{6:$Vj,7:$Vk,8:$Vl,9:$Vm,11:[1,43]},{12:[1,44]},o($Vo,[2,7]),{10:[1,45]},{4:46,7:$V0,10:$V1,12:$V2,14:6,15:7,16:8,17:$V3,18:$V4,19:$V5,20:$V6,21:$V7,22:$V8,23:$V9,24:$Va,25:$Vb,26:$Vc,27:$Vd,28:$Ve,29:$Vf,30:$Vg,31:$Vh,32:$Vi},{6:$Vj,7:$Vk,8:$Vl,9:$Vm,11:[1,47]},o($Vo,[2,8])],
defaultActions: {25:[2,1]},
parseError: function parseError(str, hash) {

@@ -644,66 +647,72 @@ if (hash.recoverable) {

break;
case 5:return 15;
case 5:return 19;
break;
case 6:return 15;
case 6:return 19;
break;
case 7:return 15;
case 7:return 19;
break;
case 8:return 15;
case 8:return 19;
break;
case 9:return 15;
case 9:return 19;
break;
case 10:return 15;
case 10:return 19;
break;
case 11:return 16;
case 11:return 20;
break;
case 12:return 16;
case 12:return 20;
break;
case 13:return 16;
case 13:return 20;
break;
case 14:return 16;
case 14:return 20;
break;
case 15:return 17;
case 15:return 21;
break;
case 16:return 17;
case 16:return 21;
break;
case 17:return 18;
case 17:return 22;
break;
case 18:return 18;
case 18:return 22;
break;
case 19:return 19;
case 19:return 23;
break;
case 20:return 19;
case 20:return 23;
break;
case 21:return 19;
case 21:return 23;
break;
case 22:return 20;
case 22:return 24;
break;
case 23:return 21;
case 23:return 25;
break;
case 24:return 22;
case 24:return 26;
break;
case 25:return 23;
case 25:return 27;
break;
case 26:return 25;
case 26:return 29;
break;
case 27:return 24;
case 27:return 28;
break;
case 28:return 26;
case 28:return 30;
break;
case 29:return 27;
case 29:return 31;
break;
case 30:return 28;
case 30:return 32;
break;
case 31:return 14;
case 31:return 17;
break;
case 32:return 10;
case 32:return 12;
break;
case 33:return 11;
case 33:return 18;
break;
case 34:return 5;
case 34:return 13;
break;
case 35:return 10;
break;
case 36:return 11;
break;
case 37:return 5;
break;
}
},
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)/,/^(?:\()/,/^(?:\))/,/^(?:$)/],
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],"inclusive":true}}
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}}
});

@@ -710,0 +719,0 @@ return lexer;

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

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