Reduce CSS calc() function at the maximum
JavaScript Yacc
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src fix #42 Nov 27, 2017
.babelrc #33 Add support for working in browsers Oct 10, 2017
.editorconfig Initial commit based on rework-calc v1.1.0 Aug 4, 2014
.gitignore Update .gitignore Mar 1, 2017
.travis.yml 1.2.3 Apr 28, 2016
CHANGELOG.md 2.1.4 Jan 22, 2018
LICENSE Update author Nov 12, 2014
README.md Fix `unit tests` link Oct 11, 2017
package.json 2.1.4 Jan 22, 2018
parser.jison Fix css variable handling May 9, 2017
yarn.lock 2.1.4 Jan 22, 2018

README.md

reduce-css-calc Build Status

Reduce CSS calc() function to the maximum.

Particularly useful for packages like rework-calc or postcss-calc.

Installation

$ npm install reduce-css-calc

Usage

var reducedString = reduceCSSCalc(string, precision)

var reduceCSSCalc = require('reduce-css-calc')

reduceCSSCalc("calc(1 + 1)")
// 2

reduceCSSCalc("calc((6 / 2) - (4 * 2) + 1)")
// -4

reduceCSSCalc("calc(1/3)")
// 0.33333

reduceCSSCalc("calc(1/3)", 10)
// 0.3333333333

reduceCSSCalc("calc(3rem * 2 - 1rem)")
// 5rem

reduceCSSCalc("calc(2 * 50%)")
// 100%

reduceCSSCalc("calc(120% * 50%)")
// 60%

reduceCSSCalc("a calc(1 + 1) b calc(1 - 1) c")
// a 2 b 0 c

reduceCSSCalc("calc(calc(calc(1rem * 0.75) * 1.5) - 1rem)")
// 0.125rem

reduceCSSCalc("calc(calc(calc(1rem * 0.75) * 1.5) - 1px)")
// calc(1.125rem - 1px)

reduceCSSCalc("-moz-calc(100px / 2)")
// 50px

reduceCSSCalc("-moz-calc(50% - 2em)")
// -moz-calc(50% - 2em)

See unit tests for others examples.

Contributing

Work on a branch, install dev-dependencies, respect coding style & run tests before submitting a bug fix or a feature.

$ git clone https://github.com/MoOx/reduce-css-calc.git
$ git checkout -b patch-1
$ npm install
$ npm test

Changelog

License