Custom field interface. Defines a definition for a custom field. Custom fields are used to extend the data model of a resource, and will automatically be validated against the schema.

interface CustomField {
    dependentChildKey?: string;
    dependentParentKey?: string;
    dependentValues?: Record<string, string[]>;
    expander?: Expander;
    name: string;
    type: "string" | "number" | "boolean" | "object" | "array" | "enum" | "date" | "date-time" | "multi-enum" | "dependent-enum";
    validationOptions?: {
        exclusiveMaximum?: number;
        exclusiveMinimum?: number;
        maxItems?: number;
        maxLength?: number;
        maximum?: number;
        minItems?: number;
        minLength?: number;
        minimum?: number;
        pattern?: string;
        uniqueItems?: boolean;
    };
    values?: string[];
}

Properties

dependentChildKey?: string

For dependent-enum type only, this configures the key of the child value

dependentParentKey?: string

For dependent-enum type only, this configures the key of the parent value

dependentValues?: Record<string, string[]>

For dependent-enum type only, this configures the mapping of allowed parent values to child values

expander?: Expander

A function to expand the custom field, for services that support this feature.

Deprecated

This logic will be removed in a future release. Please use a custom handler instead.

name: string

The internal name of the custom field

type: "string" | "number" | "boolean" | "object" | "array" | "enum" | "date" | "date-time" | "multi-enum" | "dependent-enum"

The type of the custom field. Determines validation and data structure. Supported types are:

  • boolean
  • array (of any type)
  • number
  • string
  • date-time (ISO 8601 date-time string)
  • date (ISO 8601 date string)
  • object (of any type)
  • enum (a single string from a list of values)
  • multi-enum (an array of strings from a list of values)
  • dependent-enum

Dependent enums are used when the value of one field determines the possible values of another field. The value of a dependent-enum field looks like this: { [dependentParentKey]: 'value1', [dependentChildKey]: 'value2', }

validationOptions?: {
    exclusiveMaximum?: number;
    exclusiveMinimum?: number;
    maxItems?: number;
    maxLength?: number;
    maximum?: number;
    minItems?: number;
    minLength?: number;
    minimum?: number;
    pattern?: string;
    uniqueItems?: boolean;
}

Validation configuration options to pass through to AJV

Type declaration

  • Optional exclusiveMaximum?: number

    Exclusive maximum value of number

  • Optional exclusiveMinimum?: number

    Exclusive minimum value of number

  • Optional maxItems?: number

    Maximum count of items for array

  • Optional maxLength?: number

    Max character length of string

  • Optional maximum?: number

    Inclusive maximum value of number

  • Optional minItems?: number

    Minimum count of items for array

  • Optional minLength?: number

    Minimum character length of string

  • Optional minimum?: number

    Inclusive minimum value of number

  • Optional pattern?: string

    Regex pattern for string values

  • Optional uniqueItems?: boolean

    Enforces items in array are unique

values?: string[]

For enum and multi-enum only, this determines the list of allowed values

Generated using TypeDoc