@mezzy/collections
Version:
A luxurious user experience framework, developed by your friends at Mezzanine.
42 lines (23 loc) • 730 B
text/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;
} // End interface
export default IList;