UNPKG

@cull/pore

Version:

An email data analysis library.

44 lines (43 loc) 1.11 kB
import Datum from './datum'; /** * Filter to be applied to a `Datum` collection (e.g. `Data`) via `Array.filter`. * * @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter */ export declare type Filter = (d: Datum) => boolean; /** * Filterable `Datum` collection */ export default class Data { /** * complete dataset */ protected _data: Datum[]; /** * subset of data filtered */ protected _filtered: Datum[]; /** * A `Filter` collection to be applied to data. */ filters: Filter[]; constructor(data?: Datum[]); /** * Set full data collection; reset filtration. */ set data(data: Datum[]); /** * Get data post-filtration. */ get data(): Datum[]; /** * Filter full dataset and recompute dependent properties. * * @param filters zero or more Filters to apply to each Datum in the full dataset */ filter(filters?: Filter[]): Datum[]; /** * Compute properties dependent on filtered data. */ protected compute(): void; }