유사한 로직의 메서드를 만들어야할 때 사용할 수 있는 방법
// 단일 항목 처리
async createOne(data: Data): Promise<Log> {
return (await this.createMany([data]))[0];
}
// 다중 항목 처리
async createMany(datas: Data[]): Promise<Log[]> {
// 구현 로직
}
// 오버로드 시그니처
async create(data: Data): Promise<Log>;
async create(data: Data[]): Promise<Log[]>;
// 실제 구현체
async create(data: Data | Data[]): Promise<Log | Log[]> {
const dataArray = Array.isArray(data) ? data : [data];
// 구현 로직...
return Array.isArray(data) ? Log : Logs[0];
}
async create<T>(data: T): Promise<T> {
}