All files / decorators/gapi-subscription gapi-subscription.ts

17.65% Statements 3/17
0% Branches 0/2
0% Functions 0/3
17.65% Lines 3/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 257x 7x       7x                                      
import { ControllerContainerService } from '../../utils/services/controller-service/controller.service';
import Container from '../../utils/container/index';
import { GenericGapiResolversType } from '../../utils/services/controller-service/controller.service';
import { GapiPubSubService } from '../../utils/services/pub-sub/pub-sub.service';
 
export function Subscription(options?: any) {
    return (t: any, propKey: string, descriptor: TypedPropertyDescriptor<any>) => {
        const originalMethod = descriptor.value;
        const target = t;
        const propertyKey = propKey;
        descriptor.value = function (...args: any[]) {
            const returnValue = Object.create({});
            returnValue.resolve = originalMethod;
            returnValue.args = options ? options : null;
            returnValue.method_type = 'subscription';
            returnValue.method_name = propertyKey;
            returnValue.target = target;
            return returnValue;
        };
        Container.get(ControllerContainerService)
            .createController(target.constructor.name)
            .setDescriptor(propertyKey, descriptor);
        return descriptor;
    };
}