diff --git a/packages/@react-facet/shared-facet/src/context.ts b/packages/@react-facet/shared-facet/src/context.ts index 0c3cb092..7d26155c 100644 --- a/packages/@react-facet/shared-facet/src/context.ts +++ b/packages/@react-facet/shared-facet/src/context.ts @@ -8,6 +8,9 @@ export const sharedFacetDriverContext = createContext(dummyCo export const SharedFacetDriverProvider = sharedFacetDriverContext.Provider -export const useSharedFacet = (sharedFacet: SharedFacet): Facet => { - return sharedFacet(useContext(sharedFacetDriverContext)) +type InferFacet = T extends SharedFacet ? Facet : never + +export const useSharedFacet = >(sharedFacet: T): InferFacet => { + const driver = useContext(sharedFacetDriverContext) + return sharedFacet(driver) as InferFacet }