1.0.0 • Published 11 months ago

rescale-cli v1.0.0

Weekly downloads
-
License
BSD-2-Clause
Repository
github
Last release
11 months ago

rescale-cli

Calculates proportional values based on input and a full value

npm Package Version Minified Package Size Minified and Gzipped Package Size

Features

  • lightweight cli tool (zero dependency)
  • multiple output mode (array, row, line)
  • custom full value (default 100)
  • round to integer
  • remind for remaining value or exceeding value

Installation (Optional)

npm install -g rescale-cli

If you don't want to install it globally, you can invoke it using npx, e.g. npx -y rescale-cli --help

You can also install rescale-cli with pnpm, yarn

Usage

rescale-cli [OPTIONS] VALUE1 VALUE2 ...

There is also an alias rescale, which works the same as rescale-cli

Description:

The script takes a series of numeric values and adjusts them proportionally to fit within a specified full value (default 100).

The result is output in the specified format (array, row, or line).

If the adjusted values don't exactly match the full value due to rounding, a warning message will be displayed showing the difference.

Note:

The full value must be a positive integer.

The options can be specified anywhere in the argument.

CLI Options

Short FlagLong FlagArgumentDescriptionDefault
-f--fullNUMBERSet the full value (a positive integer)100
-a--arrayOutput result as an array
-r--rowOutput result as space-separated values in a row
-l--lineOutput result with each value on a new line
-h--helpDisplay the help message
-v--versionDisplay version information

Usage Example

$ rescale 1 2 3
17 33 50

$ rescale-cli --array 1 2 3
[ 17, 33, 50 ]

$ npx --yes rescale-cli --full 10 1 2 3 --line
2
3
5

$ npx -y rescale-cli 1 3 1 4 --full 50 --array
Warning: exceeds 1
[ 6, 17, 6, 22 ]

$ npx rescale-cli 1 3 1 4 --full 49 --array
Warning: reminds 1
[ 5, 16, 5, 22 ]

License

This project is licensed with BSD-2-Clause

This is free, libre, and open-source software. It comes down to four essential freedoms [ref]:

  • The freedom to run the program as you wish, for any purpose
  • The freedom to study how the program works, and change it so it does your computing as you wish
  • The freedom to redistribute copies so you can help others
  • The freedom to distribute copies of your modified versions to others