@mezzy/collections
Version:
A luxurious user experience framework, developed by your friends at Mezzanine.
20 lines (19 loc) • 712 B
TypeScript
import { ICompareFunction, IEqualsFunction, ILoopFunction } from '@mezzy/function-types';
export interface IList<T> {
readonly isEmpty: boolean;
readonly size: number;
readonly first: T;
readonly last: T;
readonly array: Array<T>;
item(index: number): T;
has(item: T, equalsFunction?: IEqualsFunction<T>): boolean;
indexOf(item: T, fromIndex?: number): number;
add(item: T, index?: number): void;
append(list: IList<T>): void;
delete(item: T, equalsFunction?: IEqualsFunction<T>): void;
deleteAtIndex(index: number): T;
clear(): void;
sort(compareFunction: ICompareFunction<T>): void;
forEach(callback: ILoopFunction<T>): void;
}
export default IList;