All files / domains/inputField index.ts

71.43% Statements 15/21
50% Branches 3/6
66.67% Functions 2/3
75% Lines 15/20

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 2617x               17x 17x 17x 17x 17x 17x 17x 17x 17x 17x   8x 8x 8x     17x  
import { inputFieldsRegistry, FieldInputInnerConfig } from './registry';

export { FieldInputInnerConfig, inputFieldsRegistry } from './registry';
export { compileAllInputFields, compileInputFieldConfig } from './compiler';
export { InputFieldError } from './error';
 
export interface InputFieldOptions {
  description?: string;
  defaultValue?: any;
  type?: any;
  name?: string;
  isNullable?: boolean;
}
 
export function InputField(options?: InputFieldOptions): PropertyDecorator {
  return (targetInstance: Object, fieldName: string) => {
    const finalConfig: FieldInputInnerConfig = {
      property: fieldName,
      name: fieldName,
      ...options,
    };
 
    inputFieldsRegistry.set(targetInstance.constructor, fieldName, finalConfig);
  };
}