An open API service indexing awesome lists of open source software.

https://github.com/compactjs/cap

Caps a value when out of a defined range
https://github.com/compactjs/cap

cap range values

Last synced: about 2 months ago
JSON representation

Caps a value when out of a defined range

Awesome Lists containing this project

README

          

🧢 @compactjs/cap


Caps a value when out of a defined range




Version


License: MIT



·
Homepage
·
Report Bug / Request Feature
·

## Table of Contents

- [About](#What-it-does)
- [Installation](#Install)
- [Usage](#usage)
- [Test](#run-tests)
- [Contact](#contact)
- [Contributing](#Contributing)
- [License](#license)

## What it does

@compactjs/cap limits any number to a given range.
Similar to [@compactjs/limit](https://github.com/CompactJS/limit) but caps it when out of range.

## Install

### NPM:

```sh
npm install @compactjs/cap
```

Or download manually:

## Usage

### As module:

```javascript
import { cap } from '@compactjs/cap';
```

Else:

```javascript
const { cap } = cap;
```

### Example:

```javascript
const min = 1;
const max = 5;
cap(7, min, max); // returns: 5

cap(3, 0, 6); // returns: 3
cap(-5, 1, -4); // returns: -4
```

### Function declaration

```ts
/**
* Limits value to range from min to max.
* If max is omitted min will be used as max, without a min range limit.
* @value value to limit
* @min minimum value
* @max maximum value (optional)
*/
function cap(value: number, min: number, max?: number): number;
```

## Run tests

```sh
npm run test
```

## Contact

👤 **Timo Bechtel**

- Website: https://timobechtel.com
- Twitter: [@TimoBechtel](https://twitter.com/TimoBechtel)
- GitHub: [@TimoBechtel](https://github.com/TimoBechtel)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!

1. Check [issues](https://github.com/CompactJS/cap/issues)
1. Fork the Project
1. Create your Feature Branch (`git checkout -b feat/AmazingFeature`)
1. Test your changes `npm run test`
1. Commit your Changes (`git commit -m 'feat: add amazingFeature'`)
1. Push to the Branch (`git push origin feat/AmazingFeature`)
1. Open a Pull Request

### Commit messages

This project uses semantic-release for automated release versions. So commits in this project follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0-beta.2/) guidelines. I recommend using [commitizen](https://github.com/commitizen/cz-cli) for automated commit messages.

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

Distributed under the [MIT](https://github.com/CompactJS/cap/blob/main/LICENSE) License.

---

_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_