export const is = { string: (value: unknown): value is string => typeof value === 'string', number: (value: unknown): value is number => typeof value === 'number', defined: (value: T | undefined): value is T => value !== undefined, object: (value: unknown): value is object => typeof value === 'object' && value !== null && !Array.isArray(value), objectWithKeys: (value: T, keys: K[]): value is T & Record => { return keys.every((key) => key in value); }, array: (value: unknown): value is unknown[] => Array.isArray(value), };