Pranay Dutta
Pranay Dutta

Reputation: 2591

Class initialize using typescript decorators

I want to automatically initialize the class when a specific decorator is present above the class, for example:

@apiController
export class usersControllers extends lib.baseClasses.apiControllerBase().apiController {
    @lib.decorators.routesRegister().register({ "url": "/login","isLoginUrl":true})
    public postLoginUser($data) {
        let userDetails = {
            name: 'pranay dutta',
            userType: '1', // must
            age: '26',
            tokenExpiry:5000000 // must
        };

        setTimeout(() => {
            this.ok(userDetails);
        }, 100);

        return this.promise;
    }
}

In the above example when i use the @apiController decorator it should automatially initilziae the class for me, please help me with the issue

Upvotes: 0

Views: 1728

Answers (1)

Amid
Amid

Reputation: 22332

I would do something like

function apiController(target: any) 
{
    let obj = new target.constructor();
}

UPDATE. To force decorators to fire I use the following trick. Add dummy function in the same module like this:

export function Seed() { } 

and then just call it in the initialize routines or your system. That will force all decorators from that module to fire.

Upvotes: 1

Related Questions