12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- export function zwitch<
- Invalid extends InvalidHandler = InvalidHandler,
- Unknown extends UnknownHandler = UnknownHandler,
- Handlers extends Record<string, Handler> = Record<string, Handler>
- >(
- key: string,
- options?: Options<Invalid, Unknown, Handlers> | undefined
- ): {
- (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<
- Handlers[keyof Handlers]
- >
- (...parameters: Parameters<Unknown>): ReturnType<Unknown>
- unknown: Unknown
- invalid: Invalid
- handlers: Handlers
- }
- export type Handler = (...parameters: any[]) => any
- export type UnknownHandler = (value: unknown, ...rest: any[]) => any
- export type InvalidHandler = (
- value: unknown,
- ...rest: any[]
- ) => void | null | undefined | never
- export type Options<
- Invalid extends InvalidHandler = InvalidHandler,
- Unknown extends UnknownHandler = UnknownHandler,
- Handlers extends Record<string, Handler> = Record<string, Handler>
- > = {
-
- invalid?: Invalid | undefined
-
- unknown?: Unknown | undefined
-
- handlers?: Handlers | undefined
- }
|