All files / domains/inject index.ts

100% Statements 15/15
100% Branches 0/0
100% Functions 5/5
100% Lines 15/15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 219x 9x 9x 9x 9x 9x   33x 10x     9x 9x 2x   9x 1x   9x 1x  
import { InjectorResolver, injectorRegistry } from './registry';
export { injectorRegistry, InjectorsIndex, InjectorResolver } from './registry';
 
export function Inject(resolver: InjectorResolver): ParameterDecorator {
  return (target: Object, fieldName: string, argIndex: number) => {
    injectorRegistry.set(target.constructor, [fieldName, argIndex], resolver);
  };
}
 
export const Context = Inject((source, args, context, info) => {
  return context;
});
 
export const Info = Inject((source, args, context, info) => {
  return info;
});
 
export const Source = Inject((source, args, context, info) => {
  return source;
});