@nardole/firebase-react 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +69 -101
- package/package.json +3 -3
package/dist/main.js
CHANGED
|
@@ -1,119 +1,87 @@
|
|
|
1
|
-
import React, { useContext,
|
|
1
|
+
import React, { useContext, useMemo, useRef } from "react";
|
|
2
2
|
import { firebaseService } from "@nardole/firebase-core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
remoteConfig: enableRemoteConfig ? firebaseService.remoteConfig : void 0,
|
|
30
|
-
storage: enableStorage ? firebaseService.storage : void 0,
|
|
31
|
-
auth: enableAuth ? firebaseService.auth : void 0,
|
|
32
|
-
database: enableDatabase ? firebaseService.database : void 0,
|
|
33
|
-
firestore: enableFirestore ? firebaseService.firestore : void 0
|
|
34
|
-
};
|
|
35
|
-
}, [options, name]);
|
|
36
|
-
return /* @__PURE__ */ React.createElement(FirebaseAppContext.Provider, { value }, children);
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/providers/FirebaseAppProvider.tsx
|
|
5
|
+
var FirebaseAppContext = React.createContext(void 0);
|
|
6
|
+
function FirebaseAppProvider({ options, name, enableAnalytics, enablePerformance, enableRemoteConfig, enableStorage, enableAuth, enableDatabase, enableFirestore, children }) {
|
|
7
|
+
const firebase = useContext(FirebaseAppContext);
|
|
8
|
+
const optionsRef = useRef(void 0);
|
|
9
|
+
const nameRef = useRef(void 0);
|
|
10
|
+
const value = useMemo(() => {
|
|
11
|
+
if (!firebase && (optionsRef.current !== options || nameRef.current !== name)) firebaseService.init(options, name, true);
|
|
12
|
+
optionsRef.current = options;
|
|
13
|
+
nameRef.current = name;
|
|
14
|
+
return {
|
|
15
|
+
app: firebaseService.app,
|
|
16
|
+
analytics: enableAnalytics ? firebaseService.analytics : void 0,
|
|
17
|
+
performance: enablePerformance ? firebaseService.performance : void 0,
|
|
18
|
+
remoteConfig: enableRemoteConfig ? firebaseService.remoteConfig : void 0,
|
|
19
|
+
storage: enableStorage ? firebaseService.storage : void 0,
|
|
20
|
+
auth: enableAuth ? firebaseService.auth : void 0,
|
|
21
|
+
database: enableDatabase ? firebaseService.database : void 0,
|
|
22
|
+
firestore: enableFirestore ? firebaseService.firestore : void 0
|
|
23
|
+
};
|
|
24
|
+
}, [options, name]);
|
|
25
|
+
return /* @__PURE__ */ jsx(FirebaseAppContext.Provider, {
|
|
26
|
+
value,
|
|
27
|
+
children
|
|
28
|
+
});
|
|
37
29
|
}
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/hooks/useAnalytics.ts
|
|
38
32
|
function useAnalytics() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
return app.analytics;
|
|
33
|
+
const app = useContext(FirebaseAppContext);
|
|
34
|
+
if (!app || !app.analytics) throw new Error("Analytics is not enabled for this Firebase app");
|
|
35
|
+
return app.analytics;
|
|
44
36
|
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/hooks/useAuth.ts
|
|
45
39
|
function useAuth() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"Firebase auth isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
return value.auth;
|
|
40
|
+
const value = useContext(FirebaseAppContext);
|
|
41
|
+
if (!value || value.auth === void 0) throw new Error("Firebase auth isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
42
|
+
return value.auth;
|
|
53
43
|
}
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/hooks/useDatabase.ts
|
|
54
46
|
function useDatabase() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"Firebase database isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
return value.database;
|
|
47
|
+
const value = useContext(FirebaseAppContext);
|
|
48
|
+
if (!value || value.database === void 0) throw new Error("Firebase database isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
49
|
+
return value.database;
|
|
62
50
|
}
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/hooks/useFirebaseApp.ts
|
|
63
53
|
function useFirebaseApp() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"Firebase app isn't found, did you forget to wrap your app in <FirebaseAppProvider>"
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
return value.app;
|
|
54
|
+
const value = useContext(FirebaseAppContext);
|
|
55
|
+
if (!value || value.app === void 0) throw new Error("Firebase app isn't found, did you forget to wrap your app in <FirebaseAppProvider>");
|
|
56
|
+
return value.app;
|
|
71
57
|
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/hooks/useFirestore.ts
|
|
72
60
|
function useFirestore() {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"Firebase firestore isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
return value.firestore;
|
|
61
|
+
const value = useContext(FirebaseAppContext);
|
|
62
|
+
if (!value || value.firestore === void 0) throw new Error("Firebase firestore isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
63
|
+
return value.firestore;
|
|
80
64
|
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/hooks/usePerformance.ts
|
|
81
67
|
function usePerformance() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"Firebase performance isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
return value.performance;
|
|
68
|
+
const value = useContext(FirebaseAppContext);
|
|
69
|
+
if (!value || value.performance === void 0) throw new Error("Firebase performance isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
70
|
+
return value.performance;
|
|
89
71
|
}
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/hooks/useRemoteConfig.ts
|
|
90
74
|
function useRemoteConfig() {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"Firebase remote config isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
return value.remoteConfig;
|
|
75
|
+
const value = useContext(FirebaseAppContext);
|
|
76
|
+
if (!value || value.remoteConfig === void 0) throw new Error("Firebase remote config isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
77
|
+
return value.remoteConfig;
|
|
98
78
|
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/hooks/useStorage.ts
|
|
99
81
|
function useStorage() {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"Firebase storage isn't found, did you forget to enable it in <FirebaseAppProvider>"
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
return value.storage;
|
|
82
|
+
const value = useContext(FirebaseAppContext);
|
|
83
|
+
if (!value || value.storage === void 0) throw new Error("Firebase storage isn't found, did you forget to enable it in <FirebaseAppProvider>");
|
|
84
|
+
return value.storage;
|
|
107
85
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
FirebaseAppProvider,
|
|
111
|
-
useAnalytics,
|
|
112
|
-
useAuth,
|
|
113
|
-
useDatabase,
|
|
114
|
-
useFirebaseApp,
|
|
115
|
-
useFirestore,
|
|
116
|
-
usePerformance,
|
|
117
|
-
useRemoteConfig,
|
|
118
|
-
useStorage
|
|
119
|
-
};
|
|
86
|
+
//#endregion
|
|
87
|
+
export { FirebaseAppContext, FirebaseAppProvider, useAnalytics, useAuth, useDatabase, useFirebaseApp, useFirestore, usePerformance, useRemoteConfig, useStorage };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nardole/firebase-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"firebase",
|
|
6
6
|
"react",
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
"react-dom": "*"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@nardole/firebase-core": "^0.0.
|
|
64
|
+
"@nardole/firebase-core": "^0.0.15",
|
|
65
65
|
"@types/react": "^19.2.14",
|
|
66
66
|
"@types/react-dom": "^19.2.3",
|
|
67
67
|
"@vitejs/plugin-react": "^5.1.4",
|
|
68
68
|
"firebase": "^12.9.0",
|
|
69
69
|
"typescript": "^5.9.3",
|
|
70
|
-
"vite": "^
|
|
70
|
+
"vite": "^8.0.0",
|
|
71
71
|
"vite-plugin-dts": "^4.5.4"
|
|
72
72
|
},
|
|
73
73
|
"packageManager": "yarn@4.10.3"
|