Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

ScaleSequentialBase

Sequential scales are similar to continuous scales in that they map a continuous, numeric input domain to a continuous output range. However, unlike continuous scales, the input domain and output range of a sequential scale always has exactly two elements, and the output range is typically specified as an interpolator rather than an array of values. These scales do not expose invert and interpolate methods.

The first generic corresponds to the data type of the output of the interpolator underlying the scale.

The second generic corresponds to the data type of the unknown value.

interface ScaleSequentialBase <Output, Unknown = never> {
(value: NumberValue): Output | Unknown;
clamp(): boolean;
clamp(clamp: boolean): this;
copy(): this;
domain(): [number, number];
domain(domain: Iterable<NumberValue>): this;
range(): () => [Output, Output];
range(range: Iterable<Output>): this;
rangeRound(range: Iterable<NumberValue>): this;
}

§Type Parameters

§
Output
[src]
§
Unknown = never
[src]

§Call Signatures

§
(value: NumberValue): Output | Unknown
[src]

Given a value from the domain, returns the corresponding value from the output range, subject to interpolation.

If the given value is outside the domain, and clamping is not enabled, the mapping may be extrapolated such that the returned value is outside the range.

§Methods

§
clamp(): boolean
[src]

Returns whether or not the scale currently clamps values to within the range.

§
clamp(clamp: boolean): this
[src]

Enables or disables clamping, respectively. If clamping is disabled and the scale is passed a value outside the domain, the scale may return a value outside the range through extrapolation.

If clamping is enabled, the return value of the scale is always within the scale’s range. Clamping similarly applies to the "invert" method.

@param clamp

A flag to enable (true) or disable (false) clamping.

§
copy(): this
[src]

Returns an exact copy of this scale. Changes to this scale will not affect the returned scale, and vice versa.

§
domain(): [number, number]
[src]

Returns a copy of the scale’s current domain.

§
domain(domain: Iterable<NumberValue>): this
[src]

Sets the scale’s domain to the specified array of numbers. The array must contain exactly two elements. If the elements in the given array are not numbers, they will be coerced to numbers

@param domain

A two-element array of numeric domain values.

§
range(): () => [Output, Output]
[src]

See continuous.range.

§
range(range: Iterable<Output>): this
[src]

See continuous.range. The given two-element array is converted to an interpolator function using d3.interpolate.

@param range

Range values.

§
rangeRound(range: Iterable<NumberValue>): this
[src]

See continuous.rangeRound. If range is specified, implicitly uses d3.interpolateRound as the interpolator.

@param range

Range values.