* Constructor. * * @param {TypeManager} typeManager Type manager. * @param {Map >} typeFnMap Type function map for types with aliases. * @param {ReadonlySet >} typeMetadataSet Type metadata set. * @param {TypeFn } typeFn Type function.
(
typeManager: TypeManager,
typeFnMap: Map<Alias, TypeFn<any>>,
typeMetadataSet: ReadonlySet<TypeMetadata<any>>,
typeFn: TypeFn<TObject>,
typeOptions: TypeOptions<TObject>,
parentTypeMetadata: Optional<TypeMetadata<any>>
)
| 140 | * @param {Optional<TypeMetadata<any>>} parentTypeMetadata Parent type metadata. |
| 141 | */ |
| 142 | public constructor( |
| 143 | typeManager: TypeManager, |
| 144 | typeFnMap: Map<Alias, TypeFn<any>>, |
| 145 | typeMetadataSet: ReadonlySet<TypeMetadata<any>>, |
| 146 | typeFn: TypeFn<TObject>, |
| 147 | typeOptions: TypeOptions<TObject>, |
| 148 | parentTypeMetadata: Optional<TypeMetadata<any>> |
| 149 | ) |
| 150 | { |
| 151 | super(typeManager, typeFnMap); |
| 152 | |
| 153 | this.typeName = nameOf(typeFn); |
| 154 | this.typeFn = typeFn; |
| 155 | this.parentTypeMetadata = parentTypeMetadata; |
| 156 | this.typeOptionsBase = typeManager.typeOptionsBase; |
| 157 | this.typeOptions = this.constructTypeOptions(typeOptions); |
| 158 | this.typeMetadataSet = typeMetadataSet; |
| 159 | this.currentTypeFnMap = typeFnMap; |
| 160 | this.currentChildTypeMetadataMap = new Map<TypeFn<any>, TypeMetadata<any>>(); |
| 161 | this.currentPropertyMetadataMap = new Map<PropertyName, PropertyMetadata<TObject, any>>(); |
| 162 | this.currentInjectMetadataMap = new Map<InjectIndex, InjectMetadata<TObject, any>>(); |
| 163 | this.currentTypeState = new UnresolvedTypeState<TObject>(this); |
| 164 | |
| 165 | this.extendParentTypeMetadata(); |
| 166 | this.configure(typeOptions); |
| 167 | |
| 168 | return; |
| 169 | } |
| 170 | |
| 171 | /** |
| 172 | * Gets type state. |
nothing calls this directly
no test coverage detected