pullstate
Version:
Simple state stores using immer and React hooks
4 lines (3 loc) • 451 B
TypeScript
type ExtractObj<S extends object, K> = K extends keyof S ? S[K] : never;
export type ObjectPath<S extends object, T extends readonly unknown[]> = T extends readonly [infer T0, ...infer TR] ? TR extends [] ? ExtractObj<S, T0> extends never ? readonly [] : readonly [T0] : ExtractObj<S, T0> extends object ? readonly [T0, ...ObjectPath<ExtractObj<S, T0>, TR>] : ExtractObj<S, T0> extends never ? readonly [] : readonly [T0] : readonly [];
export {};