UNPKG

arquero

Version:

Query processing and transformation of array-backed data tables.

88 lines (87 loc) 2.26 kB
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 {};