mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-12 04:50:18 +00:00
Merge pull request #8273 from drarmstr/crossfilter-groupAll
Crossfilter group all
This commit is contained in:
@@ -24,6 +24,11 @@ var payments = crossfilter<Payment>([
|
||||
{date: "2011-11-14T17:29:52Z", quantity: 1, total: 200, tip: 100, type: "visa"}
|
||||
]);
|
||||
|
||||
var total_payments : number = payments.groupAll<number>().reduce(
|
||||
function(p,v) { return p+=v.total; },
|
||||
function(p,v) { return p-=v.total; },
|
||||
function() { return 0; } ).value();
|
||||
|
||||
var paymentsByTotal = payments.dimension((d) => d.total);
|
||||
|
||||
// Filters
|
||||
|
||||
Vendored
+11
-9
@@ -58,12 +58,12 @@ declare module CrossFilter {
|
||||
(array: T[], lo: number, hi: number): T[];
|
||||
}
|
||||
|
||||
export interface GroupAll<T> {
|
||||
reduce<TValue>(add: (p: TValue, v: T) => TValue, remove: (p: TValue, v: T) => TValue, initial: () => TValue): GroupAll<T>;
|
||||
reduceCount(): GroupAll<T>;
|
||||
reduceSum(value: Selector<T>): GroupAll<T>;
|
||||
dispose(): GroupAll<T>;
|
||||
value(): T;
|
||||
export interface GroupAll<T, TValue> {
|
||||
reduce<TValue>(add: (p: TValue, v: T) => TValue, remove: (p: TValue, v: T) => TValue, initial: () => TValue): GroupAll<T, TValue>;
|
||||
reduceCount(): GroupAll<T, TValue>;
|
||||
reduceSum(value: Selector<T>): GroupAll<T, TValue>;
|
||||
dispose(): GroupAll<T, TValue>;
|
||||
value(): TValue;
|
||||
}
|
||||
|
||||
export interface Grouping<TKey, TValue> {
|
||||
@@ -87,7 +87,8 @@ declare module CrossFilter {
|
||||
add(records: T[]): CrossFilter<T>;
|
||||
remove(): CrossFilter<T>;
|
||||
size(): number;
|
||||
groupAll(): GroupAll<T>;
|
||||
GroupAll(): GroupAll<T, T>;
|
||||
groupAll<TValue>(): GroupAll<T, TValue>;
|
||||
dimension<TDimension>(value: (data: T) => TDimension): Dimension<T, TDimension>;
|
||||
}
|
||||
|
||||
@@ -103,8 +104,9 @@ declare module CrossFilter {
|
||||
bottom(k: number): T[];
|
||||
dispose(): void;
|
||||
group(): Group<T, TDimension, TDimension>;
|
||||
group<TGroup>(groupValue: (data: TDimension) => TGroup): Group<T, TDimension, TGroup>;
|
||||
groupAll(): GroupAll<T>;
|
||||
group<TGroup>(groupValue: (data: TDimension) => TGroup): Group<T, TDimension, TGroup>;
|
||||
groupAll(): GroupAll<T, T>;
|
||||
groupAll<TValue>(): GroupAll<T, TValue>;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user