NiceAdmin2/NiceAdmin/assets/vendor/chart.js/helpers/helpers.collection.d.ts

69 lines
2.3 KiB
TypeScript

/**
* Binary search
* @param table - the table search. must be sorted!
* @param value - value to find
* @param cmp
* @private
*/
export declare function _lookup(table: number[], value: number, cmp?: (value: number) => boolean): {
lo: number;
hi: number;
};
export declare function _lookup<T>(table: T[], value: number, cmp: (value: number) => boolean): {
lo: number;
hi: number;
};
/**
* Binary search
* @param table - the table search. must be sorted!
* @param key - property name for the value in each entry
* @param value - value to find
* @param last - lookup last index
* @private
*/
export declare const _lookupByKey: (table: Record<string, number>[], key: string, value: number, last?: boolean) => {
lo: number;
hi: number;
};
/**
* Reverse binary search
* @param table - the table search. must be sorted!
* @param key - property name for the value in each entry
* @param value - value to find
* @private
*/
export declare const _rlookupByKey: (table: Record<string, number>[], key: string, value: number) => {
lo: number;
hi: number;
};
/**
* Return subset of `values` between `min` and `max` inclusive.
* Values are assumed to be in sorted order.
* @param values - sorted array of values
* @param min - min value
* @param max - max value
*/
export declare function _filterBetween(values: number[], min: number, max: number): number[];
export interface ArrayListener<T> {
_onDataPush?(...item: T[]): void;
_onDataPop?(): void;
_onDataShift?(): void;
_onDataSplice?(index: number, deleteCount: number, ...items: T[]): void;
_onDataUnshift?(...item: T[]): void;
}
/**
* Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',
* 'unshift') and notify the listener AFTER the array has been altered. Listeners are
* called on the '_onData*' callbacks (e.g. _onDataPush, etc.) with same arguments.
*/
export declare function listenArrayEvents<T>(array: T[], listener: ArrayListener<T>): void;
/**
* Removes the given array event listener and cleanup extra attached properties (such as
* the _chartjs stub and overridden methods) if array doesn't have any more listeners.
*/
export declare function unlistenArrayEvents<T>(array: T[], listener: ArrayListener<T>): void;
/**
* @param items
*/
export declare function _arrayUnique<T>(items: T[]): T[];