arquero
Version:
Query processing and transformation of array-backed data tables.
88 lines (87 loc) • 2.26 kB
TypeScript
export namespace windowFunctions {
export let row_number: WindowDef;
export { rank };
export let avg_rank: WindowDef;
export let dense_rank: WindowDef;
export let percent_rank: WindowDef;
export { cume_dist };
export let ntile: WindowDef;
export let lag: WindowDef;
export let lead: WindowDef;
export let first_value: WindowDef;
export let last_value: WindowDef;
export let nth_value: WindowDef;
export let fill_down: WindowDef;
export let fill_up: WindowDef;
}
/**
* Initialize a window operator.
*/
export type WindowInit = () => void;
/**
* A storage object for the state of the window.
*/
export type WindowState = typeof import("../verbs/window/window-state.js").windowState;
/**
* Retrieve an output value from a window operator.
*/
export type WindowValue = (state: WindowState) => any;
/**
* Initialize an aggregate operator.
*/
export type AggregateInit = import("./aggregate-functions.js").AggregateInit;
/**
* Retrive an output value from an aggregate operator.
*/
export type AggregateValue = import("./aggregate-functions.js").AggregateValue;
/**
* An operator instance for a window function.
*/
export type WindowOperator = {
/**
* Initialize the operator.
*/
init: AggregateInit;
/**
* Retrieve an output value.
*/
value: AggregateValue;
};
/**
* Create a new window operator instance.
*/
export type WindowCreate = (...params: any[]) => WindowOperator;
/**
* Create a new aggregate operator instance.
*/
export type AggregateCreate = import("./aggregate-functions.js").AggregateCreate;
/**
* An operator definition for a window function.
*/
export type WindowDef = {
/**
* Create a new operator instance.
*/
create: AggregateCreate;
/**
* Two-element array containing the
* counts of input fields and additional parameters.
*/
param: number[];
};
declare namespace rank {
function create(): {
init: () => number;
value: (w: any) => any;
};
let param: any[];
}
declare namespace cume_dist {
export function create(): {
init: () => number;
value: (w: any) => number;
};
let param_1: any[];
export { param_1 as param };
}
export {};