@equinor/videx-wellog
Version:
Visualisation components for wellbore log data
36 lines (35 loc) • 1.44 kB
TypeScript
/** Generic array of two values [T, T] */
export declare type Tuplet<T> = [T, T];
/** Generic array of three values [T, T, T] */
export declare type Triplet<T> = [T, T, T];
/** Domain of a scale. Represented as a number array on the form [from, to] */
export declare type Domain = Tuplet<number> | number[];
/** Range to scale a domain value to. Represented as a number array on the form [from, to] */
export declare type Range = Tuplet<number> | number[];
/** Interface to abstract d3 selection */
export declare type D3Selection = any;
/**
* The scale interface supports a subset of the scale in d3js.
* It is defined to support using scaling functions that interpolates or
* otherwise changes the input values (decorator pattern).
*/
export interface Scale {
/** scale value from domain to range */
(v: number): number;
/** get scale's current domain */
domain(): Domain;
/** set scale's current domain */
domain(newDomain?: Domain): Scale;
/** get scale's current range */
range(): Range;
/** set scale's current range */
range(newRange?: Range): Scale;
/** inverse scale range value to domain value */
invert(v: number): number;
/** get a list of ticks based on scale domain and range, and optionally desired number of ticks */
ticks(nTicks?: number): number[];
/** clone scale */
copy(): Scale;
/** Allow any other properties */
[propName: string]: any;
}