* Resolves type metadata using alias. * * @param {TypeArgument } typeArgument Type argument. * * @returns {TypeMetadata } Type metadata resolved using alias.
(typeArgument: TypeArgument<any>)
| 128 | * @returns {TypeMetadata<any>} Type metadata resolved using alias. |
| 129 | */ |
| 130 | private resolveTypeMetadataUsingAlias(typeArgument: TypeArgument<any>): TypeMetadata<any> |
| 131 | { |
| 132 | const alias = typeArgument as Alias; |
| 133 | const typeFn = this.typeFnMap.get(alias); |
| 134 | |
| 135 | if (typeFn === undefined) |
| 136 | { |
| 137 | this.typeManager.logger.error('Metadata', 'Cannot resolve type metadata for provided type alias.', alias); |
| 138 | this.typeManager.logger.info('Metadata', 'Check if a type exists that defines such an alias. In the meantime, metadata for an unknown type will be used.'); |
| 139 | |
| 140 | return this.resolveTypeMetadataUsingUnknownTypeFn(); |
| 141 | } |
| 142 | |
| 143 | return this.typeManager.extractTypeMetadata(typeFn); |
| 144 | } |
| 145 | |
| 146 | /** |
| 147 | * Resolves type metadata using unknown type function. |
no test coverage detected