@types/d3-array
Advanced tools
Comparing version 1.2.2 to 1.2.3
// Type definitions for D3JS d3-array module 1.2 | ||
// Project: https://github.com/d3/d3-array | ||
// Definitions by: Alex Ford <https://github.com/gustavderdrache>, Boris Yankov <https://github.com/borisyankov>, Tom Wanzek <https://github.com/tomwanzek> | ||
// Definitions by: Alex Ford <https://github.com/gustavderdrache> | ||
// Boris Yankov <https://github.com/borisyankov> | ||
// Tom Wanzek <https://github.com/tomwanzek> | ||
// denisname <https://github.com/denisname> | ||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | ||
// TypeScript Version: 2.3 | ||
// Last module patch version validated against: 1.2.0 | ||
// Last module patch version validated against: 1.2.1 | ||
@@ -93,2 +96,6 @@ // -------------------------------------------------------------------------- | ||
export function mean<T extends Numeric>(array: ArrayLike<T | undefined | null>): number | undefined; | ||
/** | ||
* Return the mean of an array of numbers | ||
*/ | ||
export function mean<T>(array: ArrayLike<T>, accessor: (datum: T, index: number, array: ArrayLike<T>) => number | undefined | null): number | undefined; | ||
@@ -100,2 +107,6 @@ | ||
export function median<T extends Numeric>(array: ArrayLike<T | undefined | null>): number | undefined; | ||
/** | ||
* Return the median of an array of numbers | ||
*/ | ||
export function median<T>(array: ArrayLike<T>, accessor: (element: T, i: number, array: ArrayLike<T>) => number | undefined | null): number | undefined; | ||
@@ -107,2 +118,3 @@ | ||
export function quantile<T extends Numeric>(array: ArrayLike<T | undefined | null>, p: number): number | undefined; | ||
export function quantile<T>(array: ArrayLike<T>, p: number, accessor: (element: T, i: number, array: ArrayLike<T>) => number | undefined | null): number | undefined; | ||
@@ -318,5 +330,5 @@ | ||
export interface Bin<Datum, Value extends number | Date> extends Array<Datum> { | ||
x0: Value; | ||
x1: Value; | ||
export interface Bin<Datum, Value extends number | Date | undefined> extends Array<Datum> { | ||
x0: Value | undefined; | ||
x1: Value | undefined; | ||
} | ||
@@ -327,18 +339,86 @@ | ||
*/ | ||
export type ThresholdCountGenerator = (values: ArrayLike<number>, min?: number, max?: number) => number; | ||
export type ThresholdCountGenerator<Value extends number | undefined = number | undefined> = | ||
(values: ArrayLike<Value>, min: number, max: number) => number; | ||
/** | ||
* Type definition for threshold generator which returns an array of recommended thresholds | ||
* Type definition for threshold generator which returns an array of recommended numbers thresholds | ||
*/ | ||
export type ThresholdArrayGenerator<Value extends number | Date> = (values: ArrayLike<Value>, min?: Value, max?: Value) => Value[]; | ||
export type ThresholdNumberArrayGenerator<Value extends number | undefined> = | ||
(values: ArrayLike<Value>, min: number, max: number) => Value[]; | ||
export interface HistogramGenerator<Datum, Value extends number | Date> { | ||
/** | ||
* Type definition for threshold generator which returns an array of recommended dates thresholds | ||
*/ | ||
export type ThresholdDateArrayGenerator<Value extends Date | undefined> = | ||
(values: ArrayLike<Value>, min: Date, max: Date) => Value[]; | ||
/** | ||
* @deprecated Use `HistogramGeneratorNumber<Datum, Value>` for `number` values and `HistogramGeneratorDate<Datum, Value> for `Date` values. | ||
*/ | ||
export interface HistogramGenerator<Datum, Value extends number | Date | undefined> { | ||
(data: ArrayLike<Datum>): Array<Bin<Datum, Value>>; | ||
value(): (d: Datum, i: number, data: ArrayLike<Datum>) => Value; | ||
value(valueAccessor: (d: Datum, i: number, data: ArrayLike<Datum>) => Value): this; | ||
domain(): (values: ArrayLike<Value>) => [Value, Value]; | ||
domain(): (values: ArrayLike<Value>) => [Value, Value] | [undefined, undefined]; | ||
domain(domain: [Value, Value]): this; | ||
domain(domainAccessor: (values: ArrayLike<Value>) => [Value, Value]): this; | ||
thresholds(): ThresholdCountGenerator | ThresholdArrayGenerator<Value>; | ||
domain(domainAccessor: (values: ArrayLike<Value>) => [Value, Value] | [undefined, undefined]): this; | ||
/** | ||
* Set the array of values to be used as thresholds in determining the bins. | ||
* | ||
* Any threshold values outside the domain are ignored. The first bin.x0 is always equal to the minimum domain value, | ||
* and the last bin.x1 is always equal to the maximum domain value. | ||
* | ||
* @param thresholds Array of threshold values used for binning. The elements must | ||
* be of the same type as the materialized values of the histogram. | ||
*/ | ||
thresholds(thresholds: ArrayLike<Value>): this; | ||
} | ||
export interface HistogramCommon<Datum, Value extends number | Date | undefined> { | ||
(data: ArrayLike<Datum>): Array<Bin<Datum, Value>>; | ||
value(): (d: Datum, i: number, data: ArrayLike<Datum>) => Value; | ||
value(valueAccessor: (d: Datum, i: number, data: ArrayLike<Datum>) => Value): this; | ||
} | ||
export interface HistogramGeneratorDate<Datum, Value extends Date | undefined> extends HistogramCommon<Datum, Date> { | ||
domain(): (values: ArrayLike<Value>) => [Date, Date]; | ||
domain(domain: [Date, Date]): this; | ||
domain(domainAccessor: (values: ArrayLike<Value>) => [Date, Date]): this; | ||
thresholds(): ThresholdDateArrayGenerator<Value>; | ||
/** | ||
* Set the array of values to be used as thresholds in determining the bins. | ||
* | ||
* Any threshold values outside the domain are ignored. The first bin.x0 is always equal to the minimum domain value, | ||
* and the last bin.x1 is always equal to the maximum domain value. | ||
* | ||
* @param thresholds Array of threshold values used for binning. The elements must | ||
* be of the same type as the materialized values of the histogram. | ||
*/ | ||
thresholds(thresholds: ArrayLike<Value>): this; | ||
/** | ||
* Set a threshold accessor function, which returns the array of values to be used as | ||
* thresholds in determining the bins. | ||
* | ||
* Any threshold values outside the domain are ignored. The first bin.x0 is always equal to the minimum domain value, | ||
* and the last bin.x1 is always equal to the maximum domain value. | ||
* | ||
* @param thresholds A function which accepts as arguments the array of materialized values, and | ||
* optionally the domain minimum and maximum. The function calcutates and returns the array of values to be used as | ||
* thresholds in determining the bins. | ||
*/ | ||
thresholds(thresholds: ThresholdDateArrayGenerator<Value>): this; | ||
} | ||
export interface HistogramGeneratorNumber<Datum, Value extends number | undefined> extends HistogramCommon<Datum, Value> { | ||
domain(): (values: ArrayLike<Value>) => [number, number] | [undefined, undefined]; | ||
domain(domain: [number, number]): this; | ||
domain(domainAccessor: (values: ArrayLike<Value>) => [number, number] | [undefined, undefined]): this; | ||
thresholds(): ThresholdCountGenerator<Value> | ThresholdNumberArrayGenerator<Value>; | ||
/** | ||
* Divide the domain uniformly into approximately count bins. IMPORTANT: This threshold | ||
@@ -365,3 +445,3 @@ * setting approach only works, when the materialized values are numbers! | ||
*/ | ||
thresholds(count: ThresholdCountGenerator): this; | ||
thresholds(count: ThresholdCountGenerator<Value>): this; | ||
/** | ||
@@ -388,8 +468,15 @@ * Set the array of values to be used as thresholds in determining the bins. | ||
*/ | ||
thresholds(thresholds: ThresholdArrayGenerator<Value>): this; | ||
thresholds(thresholds: ThresholdNumberArrayGenerator<Value>): this; | ||
} | ||
export function histogram(): HistogramGenerator<number, number>; | ||
export function histogram<Datum, Value extends number | Date>(): HistogramGenerator<Datum, Value>; | ||
export function histogram(): HistogramGeneratorNumber<number, number>; | ||
export function histogram<Datum, Value extends number | undefined>(): HistogramGeneratorNumber<Datum, Value>; | ||
export function histogram<Datum, Value extends Date | undefined>(): HistogramGeneratorDate<Datum, Value>; | ||
/** | ||
* @deprecated Do not use Value generic which mixes number and Date types. Use either number or Date | ||
* (in combination with undefined, as applicable) to obtain a type-specific histogram generator. | ||
*/ | ||
export function histogram<Datum, Value extends number | Date | undefined>(): HistogramGenerator<Datum, Value>; | ||
// -------------------------------------------------------------------------------------- | ||
@@ -399,6 +486,6 @@ // Histogram Thresholds | ||
export function thresholdFreedmanDiaconis(values: ArrayLike<number>, min: number, max: number): number; // of type ThresholdCountGenerator | ||
export function thresholdFreedmanDiaconis(values: ArrayLike<number | undefined>, min: number, max: number): number; // of type ThresholdCountGenerator | ||
export function thresholdScott(values: ArrayLike<number>, min: number, max: number): number; // of type ThresholdCountGenerator | ||
export function thresholdScott(values: ArrayLike<number | undefined>, min: number, max: number): number; // of type ThresholdCountGenerator | ||
export function thresholdSturges(values: ArrayLike<number>): number; // of type ThresholdCountGenerator | ||
export function thresholdSturges(values: ArrayLike<number | undefined>): number; // of type ThresholdCountGenerator |
{ | ||
"name": "@types/d3-array", | ||
"version": "1.2.2", | ||
"version": "1.2.3", | ||
"description": "TypeScript definitions for D3JS d3-array module", | ||
@@ -21,2 +21,7 @@ "license": "MIT", | ||
"githubUsername": "tomwanzek" | ||
}, | ||
{ | ||
"name": "denisname", | ||
"url": "https://github.com/denisname", | ||
"githubUsername": "denisname" | ||
} | ||
@@ -31,4 +36,4 @@ ], | ||
"dependencies": {}, | ||
"typesPublisherContentHash": "3940b29cf2318578365d54435a06a402af92d2f696d540ffec7e757f4c3ea62a", | ||
"typesPublisherContentHash": "e45e908a3dae0d07d704946fb66eca5c91a77a665ca6b6470dd7f2d850e39370", | ||
"typeScriptVersion": "2.3" | ||
} |
@@ -11,3 +11,3 @@ # Installation | ||
Additional Details | ||
* Last updated: Thu, 27 Sep 2018 12:34:12 GMT | ||
* Last updated: Mon, 08 Oct 2018 15:39:54 GMT | ||
* Dependencies: none | ||
@@ -17,2 +17,2 @@ * Global values: none | ||
# Credits | ||
These definitions were written by Alex Ford <https://github.com/gustavderdrache>, Boris Yankov <https://github.com/borisyankov>, Tom Wanzek <https://github.com/tomwanzek>. | ||
These definitions were written by Alex Ford <https://github.com/gustavderdrache>, Boris Yankov <https://github.com/borisyankov>, Tom Wanzek <https://github.com/tomwanzek>, denisname <https://github.com/denisname>. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25771
409