native-base
Version:
Essential cross-platform UI components for React Native
12 lines (10 loc) • 309 B
text/typescript
/* eslint no-use-before-define: 0 */ // --> OFF
// @ts-ignore
type Join<K, P> = K extends string | number
? P extends string | number
? `${K}${'' extends P ? '' : '.'}${P}`
: never
: never;
export type Leaves<T> = T extends object
? { [K in keyof T]-?: Join<K, Leaves<T[K]>> }[keyof T]
: '';