npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

scale-helper-functions

v3.0.0

Published

Helper to create scales

Downloads

1,121

Readme

scale-helper-functions

Compendium of helpers to create scales

Installation

Using npm, npm i scale-helper-functions.

Using yarn, yarn add scale-helper-functions.

Usage

Using import

import {createLinearScale} from 'scale-helper-functions';

const domain = [0, 10];
const range = [0, 100];

const scale = createLinearScale(domain, range);

const transformed = scale(5); // transformed is 50

In a CommonJS environment

const {createOrdinalScale} = require('scale-helper-functions');

const animals = ['cat', 'dog'];
const range = ['white', 'brown'];

const scale = createOrdinalScale(animals, range);
const color = scale('dog'); // color is brown

Table of contents

Type aliases

Functions

Type aliases

OrdinalScaleFunction

Ƭ OrdinalScaleFunction: (s: string) => string

Type declaration:

▸ (s: string): string

Parameters:

| Name | Type | | :--- | :------- | | s | string |

Returns: string

Defined in: modules/types.ts:3


ScaleFunction

Ƭ ScaleFunction: (n: number) => number | string

Type declaration:

▸ (n: number): number | string

Parameters:

| Name | Type | | :--- | :------- | | n | number |

Returns: number | string

Defined in: modules/types.ts:1

Functions

createLinearInterpolator

createLinearInterpolator(domain: number[]): ScaleFunction

Function that given a domain, returns a scale that will trasform a number to a value between 0 and 1

Parameters:

| Name | Type | | :------- | :--------- | | domain | number[] |

Returns: ScaleFunction

Defined in: modules/interpolation.ts:9


createLinearScale

createLinearScale(domain: number[], range: Range): ScaleFunction

Creates a linear scale

Parameters:

| Name | Type | Description | | :------- | :--------- | :---------------------------------- | | domain | number[] | | | range | Range | Desired resulting values of scaling |

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:13


createLogScale

createLogScale(domain: number[], range: Range, base?: number): ScaleFunction

Creates a log scale

Parameters:

| Name | Type | Description | | :------- | :--------- | :---------------------------------- | | domain | number[] | | | range | Range | Desired resulting values of scaling | | base? | number | - |

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:25


createOpacityScale

createOpacityScale(domain: number[]): ScaleFunction

Returns, given a domain, a function that will convert a number to another one between 0 and 255 Useful for calculating opacity values for RGBA strings

export

Parameters:

| Name | Type | | :------- | :--------- | | domain | number[] |

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:77


createOrdinalScale

createOrdinalScale(domain: string[], range: string[]): OrdinalScaleFunction

Returns an ordinal scale Discrete input and discrete output

Parameters:

| Name | Type | Description | | :------- | :--------- | :-------------------------------------- | | domain | string[] | Discrete list of values ['A', 'B', 'C'] | | range | string[] | Desired resulting values of scaling |

Returns: OrdinalScaleFunction

The scale function

Defined in: modules/scales.ts:65


createQuantileScale

createQuantileScale(dataset: number[], range: Range): ScaleFunction

Returns a quantile scale based on dataset Maps continuous numeric input to discrete values. The domain is defined by an array of numbers:

Parameters:

| Name | Type | Description | | :-------- | :--------- | :---------------------------------- | | dataset | number[] | Full dataset to take into account | | range | Range | Desired resulting values of scaling |

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:41


createQuantizeScale

createQuantizeScale(domain: number[], range: Range): ScaleFunction

Returns a quantized scale based on dataset extent Accepts continuous input and outputs a number of discrete quantities defined by the range.

Parameters:

| Name | Type | Description | | :------- | :--------- | :---------------------------------- | | domain | number[] | | | range | Range | Desired resulting values of scaling |

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:53


getLinearDomainRange

getLinearDomainRange(domain: number[], segmentsAmount: number): number[]

Gets a domain of N elements from a domain with less length

export

Parameters:

| Name | Type | Description | | :--------------- | :--------- | :--------------------------------------- | | domain | number[] | The existing domain | | segmentsAmount | number | The desired length for the linear domain |

Returns: number[]

The resulting domain

Defined in: modules/helpers.ts:9