#What assertion type to use?

11 messages · Page 1 of 1 (latest)

dark helmBOT
#
Daniell#4062

Preview:```ts
import {
Awaitable,
ClientEvents,
Events,
Client,
} from "discord.js"

export const createEvent = <
T extends keyof ClientEvents

(event: {
event: T
callback: (
...args: [...ClientEvents[T], string]
) => Awaitable<void>
}) => event

const events = {
readyEvent: createEvent({
event: Events.ClientReady,
callback: () => {},
}),
interac
...```

plush sphinx
#

I'm trying to figure what assertion type to use here because I keep getting an error for the second parameter whatever I try

dark helmBOT
#
n_n#2622

Preview:```ts
...
Object.values(events).forEach((<
E extends keyof ClientEvents

({
event,
callback,
}: {
event: E
callback: (
...args: [...ClientEvents[E], string]
) => Awaitable<void>
}) => {
client[event === Events.ClientReady ? "once" : "on"](
event,
(...args) => callback(...args, "")
)
}) as any)
...```

vital valve
#

here's how i'd do it

#

yucky as any

#

but it's only in one place so not too bad

plush sphinx
#

Oh no what is this 😢

#

I think I would rather ts-ignore it honestly

vital valve
#

heh

#

yeah maybe that's a good idea too

plush sphinx
#

Thanks for checking anyway