Awesome
pad-ratio
Pad or trim an array to sum up to a maximum value
Installing
Via NPM:
npm install pad-ratio
Usage
// Node CommonJS
const padRatio = require('pad-ratio');
// Or Node ES6
import padRatio from 'pad-ratio';
<!-- Or in the Browser -->
<script src="pad-ratio/dist/index.js"></script>
Examples
padRatio([20, 30]); // [ 20, 30, 50 ]
padRatio([20, 30], 100); // [ 20, 30, 50 ]
padRatio([45.642, 15.027], 120); // [ 45.642, 15.027, 59.330999999999996 ]
padRatio([45.642, 15.027], 120, false); // [ 45.642, 74.35799999999999 ]
padRatio('5:2:8', 20); // [ 5, 2, 8, 5 ]
padRatio('5:2:8', 20, false); // [ 5, 2, 13 ]
API
padRatio(array[, maximum[, append])
array
: <HybridInput>maximum
: <number> Default:100
append
: <boolean> Default:true
Parse and pad array
appending or trimming it till it's contents sum up to maximum
.
The append
argument determined whether to push the remnant to the array or to increment the final value with it.
<a id='hybridinput'></a> HybridInput: string|number|number[]
If HybridInput
is a string, the value separators can be any of ,
, :
, ;
, |
.
padRatio([20, 30, 40], 100)
// [ 20, 30, 40, 10 ]
padRatio([20, 30, 40], 100, false)
// [ 20, 30, 50 ]
Development
Building
Feel free to clone, use in adherance to the license and perhaps send pull requests
git clone https://github.com/miraclx/pad-ratio.git
cd pad-ratio
npm install
# hack on code
npm test
npm run build
Testing
Tests are executed with Jest. To use it, simple run npm install
, it will install
Jest and its dependencies in your project's node_modules
directory followed by npm run build
and finally npm test
.
To run the tests:
npm install
npm run build
npm test
License
Apache 2.0 © Miraculous Owonubi (@miraclx) <omiraculous@gmail.com>