All files / decorators/gapi-of-type gapi-of-type.decorator.ts

36.36% Statements 4/11
100% Branches 0/0
0% Functions 0/4
36.36% Lines 4/11

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 187x 7x 7x   7x                          
import { Container } from '../../utils/container/index';
import { CacheService } from '../../utils/services/events/ngx-events-layer.service';
import { effectHooks } from '../../utils/services/effect-hook/effect-hooks';
 
export function OfType<T>(type: T) {
  return (target, propertyKey, descriptor) => {
    const t = target;
    Container.get(CacheService)
      .getLayer<Array<any>>(<any>type)
      .getItemObservable(<any>type)
      .subscribe(async item => {
        const c = effectHooks.getHook(t.constructor.name);
        const originalDesc = descriptor.value.bind(c);
        await originalDesc(...item.data);
      });
  };
}