CustomEventResolver
CustomEventResolver<
TKey,TMetadata,TCategory,TExclude> = (key) =>CustomEventConfig<TMetadata,TCategory,TExclude> |undefined
Resolver function that provides custom configuration for each event key. Returns partial event properties that will be merged with the generated event.
Type Parameters
Section titled “Type Parameters”TKey extends string
Event key type (e.g., MassKey, LunarKey)
TMetadata
Section titled “TMetadata”TMetadata extends Record<string, unknown> = Record<string, unknown>
Custom metadata type extending Record<string, unknown>
TCategory
Section titled “TCategory”TCategory extends string = string
TExclude
Section titled “TExclude”TExclude extends keyof BaseEventProperties = never
Fields to exclude from customization (default: never)
Parameters
Section titled “Parameters”TKey
Returns
Section titled “Returns”CustomEventConfig<TMetadata, TCategory, TExclude> | undefined
Example
Section titled “Example”// Liturgical events - allow all customizationconst resolver: CustomEventResolver<MassKey, LiturgicalMetadata> = (key) => ({ title: localTexts[key]?.title, metadata: { localName: localTexts[key]?.name },});
// Lunar events - restrict status and remindersconst resolver: CustomEventResolver<LunarKey, LunarMetadata, "status" | "reminders"> = (key) => ({ title: lunarTexts[key]?.title,});