File

libs/core/schemas/src/file-schemas/introspection-file.schema.ts

Index

Properties

Properties

formContract (Optional)
Type FormContract[]
Description

Form properties which can be used for validation configuration

resourceContract (Optional)
Type IntrospectionContractType[]
Description

Describes the given resoruce interface

stateContract (Optional)
Type IntrospectionContractType[]
Description

Describes the given state interface

export type IntrospectionFileSchema = IntrospectionFileSchemaObject[];

export interface IntrospectionFileSchemaObject {
  /**
   * Building Block ID
   */
  id?: string;
  introspection?: Introspection;
  /**
   * Additional Information describing the source file
   */
  meta?: Meta;
}

export interface Introspection {
  /**
   * Form properties which can be used for validation configuration
   */
  formContract?: FormContract[];
  /**
   * Describes the given resoruce interface
   */
  resourceContract?: IntrospectionContractType[];
  /**
   * Describes the given state interface
   */
  stateContract?: IntrospectionContractType[];
}

export interface FormContract {
  /**
   * Form control path
   */
  name?: string;
  /**
   * Type of the form control
   */
  type?: string;
}

/**
 * Describe the configuration of your Building Block. This is required for generation and
 * runtime.
 * @additionalProperties false
 * @default {}
 */
export interface IntrospectionContractType {
  /**
   * @default {}
   */
  items?: { [key: string]: unknown };
  name: string;
  /**
   * @default []
   */
  properties?: IntrospectionContractType[];
  type: string;
}

/**
 * Additional Information describing the source file
 */
export interface Meta {
  /**
   * Name of the dervived base class. Must be AbstractBuildingBlock.
   */
  baseClass?: string;
  /**
   * Actual class name inside the processed file
   */
  className?: string;
  /**
   * Path to the processed file name relative to the library root
   */
  file?: string;
}

results matching ""

    No results matching ""