# 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
    256x
    6x

    6x

     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;
        };
    }