MCPcopy Index your code
hub / github.com/FirebaseExtended/reactfire / getSdkProvider

Function getSdkProvider

src/sdk.tsx:30–40  ·  view source on GitHub ↗
(SdkContext: React.Context<Sdk | undefined>)

Source from the content-addressed store, hash-verified

28type FirebaseSdks = Analytics | AppCheck | Auth | Database | Firestore | FirebasePerformance | FirebaseStorage | Functions | RemoteConfig;
29
30function getSdkProvider<Sdk extends FirebaseSdks>(SdkContext: React.Context<Sdk | undefined>) {
31 return function SdkProvider(props: React.PropsWithChildren<{ sdk: Sdk }>) {
32 if (!props.sdk) throw new Error('no sdk provided');
33
34 const contextualAppName = useFirebaseApp().name;
35 const sdkAppName = props?.sdk?.app?.name;
36 if (sdkAppName !== contextualAppName) throw new Error('sdk was initialized with a different firebase app');
37
38 return <SdkContext.Provider value={props.sdk} {...props} />;
39 };
40}
41
42function useSdk<Sdk extends FirebaseSdks>(SdkContext: React.Context<Sdk | undefined>): Sdk {
43 const sdk = React.useContext(SdkContext);

Callers 1

sdk.tsxFile · 0.85

Calls 1

useFirebaseAppFunction · 0.90

Tested by

no test coverage detected