/* eslint-disable @typescript-eslint/ban-types */ export type SplitTypes = U extends T ? U : Exclude; export type SplitUndefined = SplitTypes; export type ContextOf = ContextType extends undefined ? {} : { /** * Custom user-defined data, read/writable */ context: ContextType; };