range-interpolator

Interpolate a value from one range to another

Usage no npm install needed!

<script type="module">
  import rangeInterpolator from 'https://cdn.skypack.dev/range-interpolator';
</script>

README

Build Status NPM Version Dependencies Dev Dependencies

Range Interpolator

A simple range interpolator module, derived from react-native source code, that construct a given value from input range to output range, with support for easing and extrapolation.

Installation

You can install this package using NPM:

npm i range-interpolator --save

or

yarn add range-interpolator

How use

Simple example JavaScript / TypeScript:

import { createInterpolator } from "range-interpolator";

const interpolator = createInterpolator({
    inputRange: [0, 1],
    outputRange: [100, 200],
});

interpolator(0) // -> 100
interpolator(0.5) // -> 150
interpolator(0.8) // -> 180
interpolator(1) // -> 200
import { createInterpolator } from "range-interpolator";

const interpolator = createInterpolator({
    inputRange: [0, 10, 10],
    outputRange: [1, 2, 3],
    extrapolate: 'extend',
});

interpolator(0) // -> 1
interpolator(5) // -> 1.5
interpolator(10) // -> 2
interpolator(10.1) // -> 3
interpolator(15) // -> 3

Checkout more use cases

Unit testing

For run unit tests, use:

yarn test

All unit test report you can find at report/ folder.

For run test at watch mode, use:

yarn test:dev

Linting

For check eslint rules, use:

yarn lint

For auto fix all eslint bugs, use:

yarn lint:fix

License

Except where noted otherwise, files are licensed under the ISC License.