UNPKG

@kermank/slots

Version:

A TypeScript library for handling time slots, scheduling, and timezone operations

34 lines (33 loc) 853 B
/** * Function type for custom metadata merging */ export type MetadataMerger = (a: any, b: any) => any; /** * Default metadata merge behavior - keep last values */ export declare const defaultMetadataMerger: MetadataMerger; /** * Base metadata type */ export type Metadata = Record<string, any>; /** * Available metadata merge strategies */ export type MetadataStrategy = 'keep_first' | 'keep_last' | 'combine' | 'error' | 'custom'; /** * Configuration for a specific metadata key */ export interface MetadataKeyConfig { strategy: MetadataStrategy; merge?: (v1: any, v2: any) => any; } /** * Configuration for metadata merging */ export interface MetadataMergeConfig { defaultStrategy: MetadataStrategy; customMerge?: (meta1: any, meta2: any) => any; keyStrategies?: { [key: string]: MetadataKeyConfig; }; }