2018-02-25 23:21:32 +01:00

42 lines
766 B
TypeScript

export class Map<K,V> {
private __keys: K[] = [];
private __values: V[] = [];
// FIXME: not a proper map implementation, just a filler
get size(): i32 {
return this.__keys.length;
}
get(key: K): V | null {
var keys = this.__keys;
for (var i = 0, k = keys.length; i < k; ++i) {
if (keys[i] == key) {
return this.__values[i];
}
}
return null;
}
has(key: K): bool {
var keys = this.__keys;
for (var i = 0, k = keys.length; i < k; ++i) {
if (keys[i] == key) {
return true;
}
}
return false;
}
set(key: K, value: V): void {
this.__keys.push(key);
this.__values.push(value);
}
clear(): void {
this.__keys.length = 0;
this.__values.length = 0;
}
}