Reputation: 1
I want inject a genericity in my service, but I don't know how to do it, please help me, thinks.
import { Component } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { FindManyOptions, Repository } from "typeorm";
@Component()
export class BaseService<Model> {
constructor(
@InjectRepository(Model)
private readonly modelRepository: Repository<Model>,
) { }
public async find(options?: FindManyOptions<Model>): Promise<Model[]> {
const result = await this.modelRepository.find(options);
return result;
}
}
Upvotes: 0
Views: 561
Reputation: 9178
Unfortunately, it is impossible due to TypeScript nature. Generic types are unavailable in JavaScript language, meaning, they are sorted out during transpilation. You cannot use them as a values/tokens.
Upvotes: 1