Adis Sun
Adis Sun

Reputation: 1

[typescript]I don't know how to inject genericity

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

Answers (1)

Kamil Myśliwiec
Kamil Myśliwiec

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

Related Questions