mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 15:12:12 +00:00
42 lines
766 B
TypeScript
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;
|
|
}
|
|
}
|