puzzlescript
Version:
Play PuzzleScript games in your terminal!
47 lines (46 loc) • 1.41 kB
TypeScript
import { Optional } from './util';
export declare type Comparator<T> = (a: T, b: T) => number;
export declare class SortedArray<T> implements Iterable<T> {
private readonly comparator;
private ary;
constructor(comparator: Comparator<T>);
[Symbol.iterator](): IterableIterator<T>;
add(item: T): void;
delete(theItem: T): void;
size(): number;
private indexOf;
}
declare class ListItem<T> {
item: T;
previous: Optional<ListItem<T>>;
next: Optional<ListItem<T>>;
constructor(item: T, previous: Optional<ListItem<T>>, next: Optional<ListItem<T>>);
}
declare class IteratorResultDone<T> implements IteratorReturnResult<T> {
done: true;
value: T;
constructor();
}
declare class ListIteratorResult<T> implements IteratorYieldResult<T> {
value: T;
done: false;
constructor(value: T);
}
declare class ListIterator<T> implements Iterator<T> {
private listHead;
private current;
constructor(listHead: Optional<ListItem<T>>);
next(value?: any): ListIteratorResult<T> | IteratorResultDone<T>;
}
export declare class SortedList<T> implements Iterable<T> {
private readonly comparator;
private head;
constructor(comparator: Comparator<T>);
[Symbol.iterator](): ListIterator<T>;
add(newItem: T): boolean;
delete(item: T): boolean;
isEmpty(): boolean;
size(): number;
private findNode;
}
export {};