libs/core/schemas/src/file-schemas/introspection-file.schema.ts
Properties |
|
id (Optional) | |
Type |
string
|
Description
|
Building Block ID |
introspection (Optional) | |
Type |
Introspection
|
meta (Optional) | |
Type |
Meta
|
Description
|
Additional Information describing the source file |
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;
}