Posso obter metadados do tipo genérico em texto datilografado?
Eu tenho uma classe de modelo decorada:
@Api('payments/deposit')
export class DepositsModel {
public id: number;
public created_at: Date;
...
No construtor de componente angular, estou injetando serviço de dados apontando para usar minha classe de modelo:
...
public constructor(
private $api: GridApiService<DepositsModel>
...
) {
this.service = new GridService($api);
...
}
...
Então, meu componente legal tem um serviço legal, que sabe o tipo de dados com o qual trabalha ...
Deveria saber..
Mas como posso obter os metadados do meu modelo no meu GridApiService? Eu tentei:
@Injectable()
export class GridApiService<T>{
constructor(
$http: HttpClient,
) {
let api = Reflect.getMetadata('Api', T);
}
E pegouMensagem de erro: 'T' refere-se apenas a um tipo, mas está sendo usado como um valor aqui.
ATUALIZAR
Você pode me aconselhar outra maneira de passar dados de inicialização para o meu GridApiService, que deve ser injetado através do DI, não criado com a nova palavra-chave?