#52836 broke fragmented-store on Definitely Typed. Here's a repro that doesn't depend on React:
type StateHook<S> = () => [S, unknown];
type StoreUtils<Store extends { [K: string]: any }> = Omit<{
[K in keyof Store as `use${Capitalize<string & K>}`]: StateHook<Store[K]>
}, 'useStore'> & {
Provider: unknown,
useStore: StateHook<Store>
};
declare function createStore<Store extends { [K: string]: any }>(store: Store): StoreUtils<Store>;
const { Provider, useUsername, useAge, useStore } = createStore({
username: "Aral",
age: 31
});
#52836 broke fragmented-store on Definitely Typed. Here's a repro that doesn't depend on React: