UNPKG

datum-focus

Version:

Data shape, model, metadata, JSON, JSON Schema, GraphQL, MongoDB query and aggregations, iterator generators

16 lines (11 loc) 491 B
export const FUNCTION = "function"; export const isFunction = (val: unknown): val is Function => typeof val === FUNCTION; export type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; export type FunctionProperties<T> = Pick<T, FunctionPropertyNames<T>>; export type NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]; export type NonFunctionProperties<T> = Pick<T, NonFunctionPropertyNames<T>>;