import type { APIUser } from 'discord-api-types/v10'; import type { ReturnCache } from '../..'; import { fakePromise } from '../../common'; import { BaseResource } from './default/base'; import { Transformers, type UserStructure } from '../../client/transformers'; export class Users extends BaseResource { namespace = 'user'; //@ts-expect-error filter(data: APIUser, id: string) { return true; } override get(id: string): ReturnCache { return fakePromise(super.get(id)).then(rawUser => (rawUser ? Transformers.User(this.client, rawUser) : undefined)); } raw(id: string): ReturnCache { return super.get(id); } override bulk(ids: string[]): ReturnCache { return fakePromise(super.bulk(ids) as APIUser[]).then(users => users.map(rawUser => Transformers.User(this.client, rawUser)), ); } bulkRaw(ids: string[]): ReturnCache { return super.bulk(ids); } override values(): ReturnCache { return fakePromise(super.values() as APIUser[]).then(users => users.map(rawUser => Transformers.User(this.client, rawUser)), ); } valuesRaw(): ReturnCache { return super.values(); } }