@knownasrazi/clamp
v1.0.0
Published
Numeric helpers: clamp, deadzone, map-to-range, lerp, wrap and smoothstep.
Maintainers
Readme
clamp
Numeric helpers: clamp, lerp, wrap, smoothstep.
Zero dependencies - ~2 KB gzipped - TypeScript - Node + Bun + browser
Install
bun add @knownasrazi/clamp
npm install @knownasrazi/clampUsage
import { clamp, deadzone, lerp, mapToRange, wrap, smoothstep } from "@knownasrazi/clamp";
clamp(10, 0, 5); // 5
deadzone(0.1, 0.5); // 0
lerp(0, 10, 0.5); // 5
mapToRange(5, 0, 10, 0, 100); // 50
wrap(7, 0, 5); // 2
smoothstep(0, 1, 0.5); // ~0.5API
| Export | Signature |
| --- | --- |
| clamp(v, min, max) | clamp to bounds |
| deadzone(v, t) | 0 inside threshold |
| lerp(a, b, t) | linear interpolate |
| mapToRange(v, inMin, inMax, outMin, outMax) | proportional remap |
| wrap(v, min, max) | cyclic wrap |
| smoothstep(e0, e1, x) | smooth interpolation |
Development
git clone https://github.com/knownasrazi/clamp.git
cd clamp
bun install
bun test
bun run build
bun run lintLicense
clamp - numbers that behave.
