Home

Awesome

pad-ratio

Pad or trim an array to sum up to a maximum value

NPM Version NPM Downloads

NPM

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

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>