Make bintrees TS 2.4 compliant

This commit is contained in:
Cayle Sharrock
2017-07-19 09:48:11 +02:00
parent d2bf223394
commit c1a7c7335a
2 changed files with 9 additions and 7 deletions

View File

@@ -4,7 +4,6 @@ let treeA = new RBTree((a:number, b:number) => a - b);
treeA.insert(5);
treeA.insert(3);
treeA.remove(3);
let treeB = new BinTree((a:string, b:string) => a.length - b.length);
@@ -12,3 +11,6 @@ treeB.insert('hi');
treeB.insert('there');
treeB.insert('how');
treeB.insert('are');
treeB.remove('how');

View File

@@ -5,8 +5,8 @@
declare module 'bintrees' {
type Callback = <T>(item: T) => void;
type Comparator = <T>(a: T, b: T) => number;
type Callback<T> = (item: T) => void;
type Comparator<T> = (a: T, b: T) => number;
class Iterator<T> {
constructor(tree: TreeBase<T>);
@@ -37,14 +37,14 @@ declare module 'bintrees' {
iterator(): Iterator<T>;
each(cb: Callback): void;
each(cb: Callback<T>): void;
reach(cb: Callback): void;
reach(cb: Callback<T>): void;
}
export class RBTree<T> extends TreeBase<T> {
constructor(comparator: Comparator);
constructor(comparator: Comparator<T>);
insert(item: T): boolean;
@@ -52,7 +52,7 @@ declare module 'bintrees' {
}
export class BinTree<T> extends TreeBase<T> {
constructor(comparator: Comparator);
constructor(comparator: Comparator<T>);
insert(item: T): boolean;