# 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
    2020x

    20x
    20x
    20x
    20x
    20x

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