From b85e79b07d92fd863ca8a261815878cf0f389e31 Mon Sep 17 00:00:00 2001 From: PhilKunz Date: Mon, 8 Aug 2016 17:29:44 +0200 Subject: [PATCH] now works with TypeScript Generic Types to track type usage of Objectmap --- dist/lik.objectmap.d.ts | 20 ++++++++++---------- dist/lik.objectmap.js | 5 +++-- ts/lik.objectmap.ts | 36 ++++++++++++++++++------------------ 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/dist/lik.objectmap.d.ts b/dist/lik.objectmap.d.ts index 6b8234b..6a3ef71 100644 --- a/dist/lik.objectmap.d.ts +++ b/dist/lik.objectmap.d.ts @@ -1,13 +1,13 @@ -export interface IObjectmapForEachFunction { - (itemArg: any): void; +export interface IObjectmapForEachFunction { + (itemArg: T): void; } -export interface IObjectmapFindFunction { - (itemArg: any): boolean; +export interface IObjectmapFindFunction { + (itemArg: T): boolean; } /** * allows keeping track of objects */ -export declare class Objectmap { +export declare class Objectmap { private objectArray; /** * returns a new instance @@ -16,23 +16,23 @@ export declare class Objectmap { /** * add object to Objectmap */ - add(objectArg: any): void; + add(objectArg: T): void; /** * remove object from Objectmap */ - remove(objectArg: any): void; + remove(objectArg: T): void; /** * check if object is in Objectmap */ - checkForObject(objectArg: any): number; + checkForObject(objectArg: T): boolean; /** * find object */ - find(findFunction: IObjectmapFindFunction): any; + find(findFunction: IObjectmapFindFunction): T; /** * run function for each item in Objectmap */ - forEach(functionArg: IObjectmapForEachFunction): void; + forEach(functionArg: IObjectmapForEachFunction): void; /** * wipe Objectmap */ diff --git a/dist/lik.objectmap.js b/dist/lik.objectmap.js index 22c4740..2fc6c06 100644 --- a/dist/lik.objectmap.js +++ b/dist/lik.objectmap.js @@ -37,7 +37,7 @@ class Objectmap { * check if object is in Objectmap */ checkForObject(objectArg) { - return this.objectArray.indexOf(objectArg !== -1); + return this.objectArray.indexOf(objectArg) !== -1; } ; /** @@ -59,6 +59,7 @@ class Objectmap { forEach(functionArg) { return this.objectArray.forEach(functionArg); } + ; /** * wipe Objectmap */ @@ -67,4 +68,4 @@ class Objectmap { } } exports.Objectmap = Objectmap; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLm9iamVjdG1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2xpay5vYmplY3RtYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtDLENBQUM7QUFJRCxDQUFDO0FBR0Y7O0dBRUc7QUFDSDtJQUdJOztPQUVHO0lBQ0g7UUFMUSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQU96QixDQUFDOztJQUdEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLFNBQVM7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDOztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVM7UUFDWixJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFBLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDOUIsRUFBRSxDQUFBLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFBLENBQUM7Z0JBQ25CLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUM7UUFBQSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7SUFDdkMsQ0FBQzs7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxTQUFTO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDOztJQUdEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLFlBQW1DO1FBQ3BDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUFBLENBQUM7SUFDTixDQUFDO0lBR0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsV0FBcUM7UUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDQSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0FBQ0wsQ0FBQztBQWpFWSxpQkFBUyxZQWlFckIsQ0FBQSJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLm9iamVjdG1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2xpay5vYmplY3RtYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtDLENBQUM7QUFJRCxDQUFDO0FBR0Y7O0dBRUc7QUFDSDtJQUdJOztPQUVHO0lBQ0g7UUFMUSxnQkFBVyxHQUFPLEVBQUUsQ0FBQztJQU83QixDQUFDOztJQUdEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLFNBQVc7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDOztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVc7UUFDZCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUM7UUFBQSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7SUFDdkMsQ0FBQzs7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxTQUFXO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDOztJQUdEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLFlBQXVDO1FBQ3hDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUFBLENBQUM7SUFDTixDQUFDO0lBR0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsV0FBeUM7UUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztBQUNMLENBQUM7QUFqRVksaUJBQVMsWUFpRXJCLENBQUEifQ== \ No newline at end of file diff --git a/ts/lik.objectmap.ts b/ts/lik.objectmap.ts index 070859c..b308c4d 100644 --- a/ts/lik.objectmap.ts +++ b/ts/lik.objectmap.ts @@ -1,25 +1,25 @@ import * as plugins from "./lik.plugins"; -export interface IObjectmapForEachFunction { - (itemArg:any):void +export interface IObjectmapForEachFunction { + (itemArg: T): void }; -export interface IObjectmapFindFunction { - (itemArg:any):boolean +export interface IObjectmapFindFunction { + (itemArg: T): boolean }; /** * allows keeping track of objects */ -export class Objectmap { - private objectArray = []; +export class Objectmap { + private objectArray:T[] = []; /** * returns a new instance */ - constructor(){ + constructor() { }; @@ -27,17 +27,17 @@ export class Objectmap { /** * add object to Objectmap */ - add(objectArg){ + add(objectArg:T) { this.objectArray.push(objectArg); }; /** * remove object from Objectmap */ - remove(objectArg){ + remove(objectArg:T) { let replacmentArray = []; - for(let item of this.objectArray){ - if(item !== objectArg){ + for (let item of this.objectArray) { + if (item !== objectArg) { replacmentArray.push(item); } }; @@ -47,17 +47,17 @@ export class Objectmap { /** * check if object is in Objectmap */ - checkForObject(objectArg){ - return this.objectArray.indexOf(objectArg !== -1) + checkForObject(objectArg:T) { + return this.objectArray.indexOf(objectArg) !== -1 }; /** * find object */ - find(findFunction:IObjectmapFindFunction){ + find(findFunction: IObjectmapFindFunction) { let resultArray = this.objectArray.filter(findFunction); - if (resultArray.length > 0){ + if (resultArray.length > 0) { return resultArray[0]; } else { return undefined; @@ -68,14 +68,14 @@ export class Objectmap { /** * run function for each item in Objectmap */ - forEach(functionArg:IObjectmapForEachFunction){ + forEach(functionArg: IObjectmapForEachFunction) { return this.objectArray.forEach(functionArg); - } + }; /** * wipe Objectmap */ - wipe(){ + wipe() { this.objectArray = []; } } \ No newline at end of file