Skip to content

CallbackArgs<EventMap, EventName>

Resolves callback argument types for an event.

  • When EventMap has an index signature (untyped default): returns unknown[], allowing Args to be inferred freely from the callback. - When EventMap has explicit keys only (typed map): returns EventMap[EventName], enforcing the declared argument types and enabling autocomplete.

Import:

import type { CallbackArgs } from 'obsidian-dev-utils/async-events';

Signature:

export type CallbackArgs<EventMap, EventName extends string>

Signature:

type CallbackArgs<EventMap, EventName> = string extends keyof EventMap ? unknown[]
: (EventName extends keyof EventMap ? EventMap[EventName] : unknown[])

Type: string extends keyof EventMap ? unknown[] : (EventName extends keyof EventMap ? EventMap[EventName] : unknown[])