# All files / domains/field index.ts

72.73% Statements 16/22
50% Branches 3/6
66.67% Functions 2/3
76.19% Lines 16/21

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
    25
    26
    27
    28
    29
    30
    31
    3220x

    20x
    20x
    20x
    20x
    20x
    20x
    20x
    20x
    20x
    20x
    20x

    105x
    105x
    105x

    20x

     import { fieldsRegistry, FieldInnerConfig } from './registry';

    export {
      FieldInnerConfig,
      fieldsRegistry,
      queryFieldsRegistry,
    } from './registry';
    export { compileAllFields, compileFieldConfig } from './compiler';
    export { FieldError } from './error';

    export interface FieldOptions {
      description?: string;
      type?: any;
      name?: string;
      isNullable?: boolean;
    }

    export function Field(options?: FieldOptions): PropertyDecorator {
      return (targetInstance: Object, fieldName: string) => {
        const finalConfig: FieldInnerConfig = {
          property: fieldName,
          name: fieldName,
          isNullable: true,
          ...options,
        };

        fieldsRegistry.set(targetInstance.constructor, fieldName, {
          ...finalConfig,
        });
      };
    }