* Resolves generic metadatas based on provided generic arguments. * * @param {ReadonlyArray >} genericArguments Generic arguments. * * @returns {ReadonlyArray >} Resolved generic metadatas.
(genericArguments: ReadonlyArray<GenericArgument<any>>)
| 163 | * @returns {ReadonlyArray<GenericMetadata<any>>} Resolved generic metadatas. |
| 164 | */ |
| 165 | public resolveGenericMetadatas(genericArguments: ReadonlyArray<GenericArgument<any>>): ReadonlyArray<GenericMetadata<any>> |
| 166 | { |
| 167 | const genericMetadatas = new Array<GenericMetadata<any>>(genericArguments.length); |
| 168 | |
| 169 | for (let i = 0; i < genericArguments.length; i++) |
| 170 | { |
| 171 | const genericArgument = genericArguments[i]; |
| 172 | |
| 173 | if (Array.isArray(genericArgument)) |
| 174 | { |
| 175 | genericMetadatas[i] = [ |
| 176 | this.resolveTypeMetadata(genericArgument[0]), |
| 177 | this.resolveGenericMetadatas(genericArgument[1]) |
| 178 | ]; |
| 179 | |
| 180 | continue; |
| 181 | } |
| 182 | |
| 183 | genericMetadatas[i] = [ |
| 184 | this.resolveTypeMetadata(genericArgument), |
| 185 | EMPTY_ARRAY |
| 186 | ]; |
| 187 | } |
| 188 | |
| 189 | return genericMetadatas; |
| 190 | } |
| 191 | } |
no test coverage detected