UNPKG

mylingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

20 lines (18 loc) 709 B
type NotArray = object & { length?: never } export type ExtractProps<Type> = { [Property in keyof Type]: NonNullable<Type[Property]> extends string ? StringConstructor : NonNullable<Type[Property]> extends number ? NumberConstructor : NonNullable<Type[Property]> extends boolean ? BooleanConstructor : NonNullable<Type[Property]> extends Function ? FunctionConstructor : NonNullable<Type[Property]> extends Array<any> ? ArrayConstructor : NonNullable<Type[Property]> extends Object ? NonNullable<Type[Property]> extends NotArray ? ObjectConstructor : Array<any> : NumberConstructor }