All files / domains/union index.ts

62.5% Statements 10/16
50% Branches 3/6
75% Functions 3/4
66.67% Lines 10/15

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 2019x               19x 19x 19x 19x 19x   2x 2x 3x      
import { Thunk } from '~/services/types';
import { unionRegistry } from './registry';
export { unionRegistry } from './registry';

import { compileUnionType, UnionTypeResolver } from './compiler';
 
export interface UnionOptions {
  name?: string;
  resolveTypes?: UnionTypeResolver;
  types: Thunk<any[]>;
}
 
export function Union(config: UnionOptions): ClassDecorator {
  return target => {
    unionRegistry.set(target, () => {
      return compileUnionType(target, { name: target.name, ...config });
    });
  };
}