mirror of
https://gitlab.silvrtree.co.uk/martind2000/aodb.git
synced 2025-02-04 13:50:14 +00:00
89 lines
1.7 KiB
TypeScript
89 lines
1.7 KiB
TypeScript
function log(text: string) {
|
|
let w: any = <any> window;
|
|
if (w.debuging) {
|
|
console.log(text);
|
|
}
|
|
}
|
|
|
|
export function inject(deps: Array<string>) {
|
|
return (obj: any) => {
|
|
obj.$inject = deps;
|
|
};
|
|
}
|
|
|
|
export function module(name: string, dep: Array<string> = []) {
|
|
return (obj: any) => {
|
|
|
|
let modName = 'chroma.' + name;
|
|
|
|
obj.$componentName = modName;
|
|
|
|
log(`${modName} registered`);
|
|
};
|
|
}
|
|
|
|
export function service(mod: any, name: string, dep: Array<string> = []) {
|
|
return (obj: any) => {
|
|
obj.$inject = dep;
|
|
|
|
obj.$componentName = name;
|
|
|
|
log(`Service/Provider ${name} registered.`);
|
|
};
|
|
}
|
|
|
|
export function controller(mod: any, name: string, dep: Array<string> = []) {
|
|
|
|
return (obj: any) => {
|
|
|
|
obj.$inject = dep;
|
|
|
|
obj.$componentName = name;
|
|
|
|
log(`Controller ${name} registered.`);
|
|
};
|
|
}
|
|
|
|
export function factory(mod: any, name: string, dep: Array<string> = []) {
|
|
|
|
return (obj: any) => {
|
|
|
|
obj.$componentName = name;
|
|
|
|
obj.$inject = dep;
|
|
|
|
const factory: Function = function(...args: any[]) {
|
|
var instance = Object.create(obj.prototype);
|
|
instance.constructor.apply(instance, arguments);
|
|
return instance;
|
|
};
|
|
|
|
factory.$inject = dep;
|
|
|
|
obj.$factory = factory;
|
|
|
|
log(`Component ${name} registered.`);
|
|
};
|
|
}
|
|
|
|
export function directive(mod: any, name: string, dep: Array<string> = []) {
|
|
return (obj: any) => {
|
|
|
|
obj.$componentName = name;
|
|
|
|
obj.$inject = dep;
|
|
|
|
const factory: Function = function(...args: any[]) {
|
|
var instance = Object.create(obj.prototype);
|
|
instance.constructor.apply(instance, arguments);
|
|
return instance;
|
|
};
|
|
|
|
factory.$inject = dep;
|
|
|
|
obj.$factory = factory;
|
|
|
|
log(`Component ${name} registered.`);
|
|
};
|
|
}
|