1
0
Fork 0
freesewing/lib/hooks.ts

25 lines
486 B
TypeScript
Raw Normal View History

2018-07-17 14:16:17 +00:00
export class Hooks {
hooks: object;
all: string[];
2018-07-17 14:16:17 +00:00
constructor(app) {
this._hooks = {};
this.all = ['preRenderSvg', 'postRenderSvg'];
2018-07-17 14:16:17 +00:00
}
list(hook): function[] {
if(typeof this._hooks[hook] === 'undefined') {
return false;
}
return this._hooks[hook];
}
attach (hook: string, obj: object): void {
if(typeof this._hooks[hook] === 'undefined') return;
for(let func of this._hooks[hook]) {
obj.pre(hook, func);
}
}
}