File
thirdLayerPropertyA
|
Type
|
number
|
thirdLayerPropertyB
|
Type
|
literal type
|
thirdLayerPropertyC
|
Type
|
number
|
import { FormGroupTyped } from '@allianz/taly-common';
import { AbstractBuildingBlock } from '@allianz/taly-core';
interface FormType {
firstLayerPropertyA: string;
firstLayerPropertyB: {
firstLayerSuBPropertyA: {
firstLayerSubSubPropertyA: SecondLayerType;
};
};
firstLayerPropertyC: string;
}
type SecondLayerType = {
secondLayerPropertyA: boolean;
secondLayerPropertyB: {
secondLayerSubPropertyA: ThirdLayerInterface;
};
secondLayerPropertyC: boolean;
};
interface ThirdLayerInterface {
thirdLayerPropertyA: number;
thirdLayerPropertyB: {
thirdLayerSubPropertyA: FourthLayerWithRecursionType;
};
thirdLayerPropertyC: number;
}
type FourthLayerWithRecursionType = {
fourthLayerPropertyA: string;
fourthLayerPropertyB: {
fourthLayerSubPropertyWithRecursion: SecondLayerType;
};
fourthLayerPropertyC: string;
};
export class GetFormRecursiveReturnTypeAndInterface extends AbstractBuildingBlock {
form: FormGroupTyped<FormType>;
getForm() {
return this.form;
}
}