import { Serie as SerieSingle, SerieResume } from '../../../meta/definitions/api' import { Languages, Serie } from '../../../interfaces' import { Endpoint } from '../compilerInterfaces' import { getSeries, serieToSerieSimple, serieToSerieSingle } from '../utils/serieUtil' type SerieList = Array export default class implements Endpoint, Array> { public constructor( private lang: keyof Languages ) {} public async index(common: Array): Promise> { return Promise.all(common.map((s) => serieToSerieSimple(s, this.lang))) } public async item(common: Array): Promise> { const items: Record = {} for await (const val of common) { const gen = await serieToSerieSingle(val, this.lang) const name = val.name[this.lang] as string items[val.id] = gen } return items } public async common(): Promise> { return getSeries(this.lang) } }