2016-07-30 22:54:46 +00:00
|
|
|
"use strict";
|
|
|
|
/**
|
|
|
|
* allows keeping track of objects
|
|
|
|
*/
|
|
|
|
class Objectmap {
|
2016-08-07 16:08:52 +00:00
|
|
|
/**
|
|
|
|
* returns a new instance
|
|
|
|
*/
|
2016-07-30 22:54:46 +00:00
|
|
|
constructor() {
|
|
|
|
this.objectArray = [];
|
|
|
|
}
|
2016-07-31 12:36:28 +00:00
|
|
|
/**
|
|
|
|
* add object to Objectmap
|
|
|
|
*/
|
2016-07-30 22:54:46 +00:00
|
|
|
add(objectArg) {
|
|
|
|
this.objectArray.push(objectArg);
|
|
|
|
}
|
2016-07-31 12:36:28 +00:00
|
|
|
/**
|
|
|
|
* remove object from Objectmap
|
|
|
|
*/
|
2016-07-30 22:54:46 +00:00
|
|
|
remove(objectArg) {
|
|
|
|
let replacmentArray = [];
|
|
|
|
for (let item of this.objectArray) {
|
|
|
|
if (item !== objectArg) {
|
|
|
|
replacmentArray.push(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.objectArray = replacmentArray;
|
|
|
|
}
|
2016-07-31 12:36:28 +00:00
|
|
|
/**
|
|
|
|
* check if object is in Objectmap
|
|
|
|
*/
|
2016-07-30 22:54:46 +00:00
|
|
|
checkForObject(objectArg) {
|
2016-08-08 15:29:44 +00:00
|
|
|
return this.objectArray.indexOf(objectArg) !== -1;
|
2016-07-30 22:54:46 +00:00
|
|
|
}
|
2016-08-08 14:00:14 +00:00
|
|
|
/**
|
|
|
|
* find object
|
|
|
|
*/
|
|
|
|
find(findFunction) {
|
|
|
|
let resultArray = this.objectArray.filter(findFunction);
|
|
|
|
if (resultArray.length > 0) {
|
|
|
|
return resultArray[0];
|
|
|
|
}
|
2016-08-08 14:03:58 +00:00
|
|
|
else {
|
|
|
|
return undefined;
|
|
|
|
}
|
2016-08-08 14:00:14 +00:00
|
|
|
}
|
2016-07-31 12:36:28 +00:00
|
|
|
/**
|
|
|
|
* run function for each item in Objectmap
|
|
|
|
*/
|
|
|
|
forEach(functionArg) {
|
2016-07-31 13:01:24 +00:00
|
|
|
return this.objectArray.forEach(functionArg);
|
2016-07-31 12:36:28 +00:00
|
|
|
}
|
|
|
|
/**
|
|
|
|
* wipe Objectmap
|
|
|
|
*/
|
2016-07-30 22:54:46 +00:00
|
|
|
wipe() {
|
|
|
|
this.objectArray = [];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
exports.Objectmap = Objectmap;
|
2016-09-21 11:44:11 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLm9iamVjdG1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2xpay5vYmplY3RtYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVBOztHQUVHO0FBQ0g7SUFHSTs7T0FFRztJQUNIO1FBTFEsZ0JBQVcsR0FBUSxFQUFFLENBQUE7SUFPN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLFNBQVk7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBWTtRQUNmLElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQTtRQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDckIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM5QixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxTQUFZO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsWUFBdUM7UUFDeEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDdkQsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekIsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osTUFBTSxDQUFDLFNBQVMsQ0FBQTtRQUNwQixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLFdBQXlDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFDekIsQ0FBQztDQUNKO0FBOURELDhCQThEQyJ9
|