this repo has no description
at main 17 lines 514 B view raw
1/** 2 * Determine if {@linkcode input} matches the `"object"` type 3 */ 4export function isObject(input: unknown): input is object { 5 return typeof input === 'object' && !!input; 6} 7 8type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }; 9 10/** 11 * Helper type for creating an exclusive union between two types 12 * 13 * @see {@link https://stackoverflow.com/a/53229567/2250435 | StackOverflow Post} 14 */ 15export type XOR<T, U> = T | U extends object 16 ? (Without<T, U> & U) | (Without<U, T> & T) 17 : T | U;