react-firebase-ql 3.0.0 → 4.0.1

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.
@@ -0,0 +1,12 @@
1
+ import { ReactNode, Context } from 'react';
2
+ import { Auth, User } from 'firebase/auth';
3
+ interface AUTHSTATE {
4
+ FBUser?: User;
5
+ }
6
+ export declare const AUTHContext: Context<AUTHSTATE>;
7
+ type AUTHProviderProps = {
8
+ children: ReactNode;
9
+ auth: Auth;
10
+ };
11
+ export declare const AUTHProvider: ({ children, auth }: AUTHProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AUTHProvider = exports.AUTHContext = void 0;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const auth_1 = require("firebase/auth");
8
+ const firebase_client_ql_1 = require("firebase-client-ql");
9
+ var AUTHACTIONTYPE;
10
+ (function (AUTHACTIONTYPE) {
11
+ AUTHACTIONTYPE["SETFBUSER"] = "SETFBUSER";
12
+ })(AUTHACTIONTYPE || (AUTHACTIONTYPE = {}));
13
+ const initialAUTHState = {};
14
+ const AUTHReducer = (state, action) => {
15
+ const { type, payload } = action;
16
+ switch (type) {
17
+ case 'SETFBUSER':
18
+ return { ...state, FBUser: payload };
19
+ default:
20
+ return state;
21
+ }
22
+ };
23
+ const initialDispatch = () => { };
24
+ exports.AUTHContext = (0, react_1.createContext)(initialAUTHState);
25
+ const AUTHDispatch = (0, react_1.createContext)(initialDispatch);
26
+ const AUTHProvider = ({ children, auth }) => {
27
+ const [AUTHState, dispatch] = (0, react_1.useReducer)(AUTHReducer, initialAUTHState);
28
+ (0, react_1.useEffect)(() => {
29
+ const unsubscribe = (0, auth_1.onAuthStateChanged)(auth, (authUser) => {
30
+ try {
31
+ dispatch({
32
+ type: AUTHACTIONTYPE.SETFBUSER,
33
+ payload: authUser !== null && authUser !== void 0 ? authUser : undefined,
34
+ });
35
+ }
36
+ catch (error) {
37
+ (0, firebase_client_ql_1.errorLogger)('User Authentication error:', error);
38
+ }
39
+ });
40
+ return unsubscribe;
41
+ }, [auth]);
42
+ return ((0, jsx_runtime_1.jsx)(exports.AUTHContext.Provider, { value: AUTHState, children: (0, jsx_runtime_1.jsx)(AUTHDispatch.Provider, { value: dispatch, children: children }) }));
43
+ };
44
+ exports.AUTHProvider = AUTHProvider;
45
+ //# sourceMappingURL=AuthProvider.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthProvider.provider.js","sourceRoot":"","sources":["../../src/client/AuthProvider.provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCAOe;AAEf,wCAA+D;AAC/D,2DAAiD;AAEjD,IAAK,cAEJ;AAFD,WAAK,cAAc;IACf,yCAAuB,CAAA;AAC3B,CAAC,EAFI,cAAc,KAAd,cAAc,QAElB;AAgBD,MAAM,gBAAgB,GAAc,EAAE,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAE,MAAkB,EAAa,EAAE;IAEpE,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,MAAM,CAAA;IAE9B,QAAQ,IAAI,EAAE,CAAC;QAEX,KAAK,WAAW;YACZ,OAAO,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAe,EAAE,CAAA;QAE/C;YACI,OAAO,KAAK,CAAA;IACpB,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,eAAe,GAAyB,GAAG,EAAE,GAAE,CAAC,CAAC;AAE1C,QAAA,WAAW,GACtB,IAAA,qBAAa,EAAC,gBAAgB,CAAC,CAAC;AAElC,MAAM,YAAY,GAChB,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAC;AAO1B,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAqB,EAAE,EAAE;IACpE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EACtC,WAAW,EACX,gBAAgB,CACjB,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,IAAA,yBAAkB,EACpC,IAAI,EACJ,CAAC,QAAqB,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,QAAQ,CAAC;oBACP,IAAI,EAAE,cAAc,CAAC,SAAS;oBAC9B,OAAO,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,gCAAW,EAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,uBAAC,mBAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YACpC,uBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACnC,QAAQ,GACa,GACH,CACxB,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,YAAY,gBA+BvB"}
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useReducer, createContext, useEffect, } from 'react';
4
+ import { onAuthStateChanged } from 'firebase/auth';
5
+ import { errorLogger } from 'firebase-client-ql';
6
+ var AUTHACTIONTYPE;
7
+ (function (AUTHACTIONTYPE) {
8
+ AUTHACTIONTYPE["SETFBUSER"] = "SETFBUSER";
9
+ })(AUTHACTIONTYPE || (AUTHACTIONTYPE = {}));
10
+ const initialAUTHState = {};
11
+ const AUTHReducer = (state, action) => {
12
+ const { type, payload } = action;
13
+ switch (type) {
14
+ case 'SETFBUSER':
15
+ return { ...state, FBUser: payload };
16
+ default:
17
+ return state;
18
+ }
19
+ };
20
+ const initialDispatch = () => { };
21
+ export const AUTHContext = createContext(initialAUTHState);
22
+ const AUTHDispatch = createContext(initialDispatch);
23
+ export const AUTHProvider = ({ children, auth }) => {
24
+ const [AUTHState, dispatch] = useReducer(AUTHReducer, initialAUTHState);
25
+ useEffect(() => {
26
+ const unsubscribe = onAuthStateChanged(auth, (authUser) => {
27
+ try {
28
+ dispatch({
29
+ type: AUTHACTIONTYPE.SETFBUSER,
30
+ payload: authUser !== null && authUser !== void 0 ? authUser : undefined,
31
+ });
32
+ }
33
+ catch (error) {
34
+ errorLogger('User Authentication error:', error);
35
+ }
36
+ });
37
+ return unsubscribe;
38
+ }, [auth]);
39
+ return (_jsx(AUTHContext.Provider, { value: AUTHState, children: _jsx(AUTHDispatch.Provider, { value: dispatch, children: children }) }));
40
+ };
41
+ //# sourceMappingURL=AuthProvider.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthProvider.provider.js","sourceRoot":"","sources":["../../src/client/AuthProvider.provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAGL,UAAU,EAEV,aAAa,EACb,SAAS,GACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAc,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,IAAK,cAEJ;AAFD,WAAK,cAAc;IACf,yCAAuB,CAAA;AAC3B,CAAC,EAFI,cAAc,KAAd,cAAc,QAElB;AAgBD,MAAM,gBAAgB,GAAc,EAAE,CAAA;AAEtC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAE,MAAkB,EAAa,EAAE;IAEpE,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,MAAM,CAAA;IAE9B,QAAQ,IAAI,EAAE,CAAC;QAEX,KAAK,WAAW;YACZ,OAAO,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,OAAe,EAAE,CAAA;QAE/C;YACI,OAAO,KAAK,CAAA;IACpB,CAAC;AACL,CAAC,CAAA;AAGD,MAAM,eAAe,GAAyB,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GACtB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAElC,MAAM,YAAY,GAChB,aAAa,CAAC,eAAe,CAAC,CAAC;AAOjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAqB,EAAE,EAAE;IACpE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,UAAU,CACtC,WAAW,EACX,gBAAgB,CACjB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,kBAAkB,CACpC,IAAI,EACJ,CAAC,QAAqB,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,QAAQ,CAAC;oBACP,IAAI,EAAE,cAAc,CAAC,SAAS;oBAC9B,OAAO,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YACpC,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACnC,QAAQ,GACa,GACH,CACxB,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-firebase-ql",
3
- "version": "3.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "A React helper library that simplifies using Firebase with side effects and live queries.",
5
5
  "main": "dist/index.js",
6
6
  "module": "esm/index.js",
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+
3
+ import {
4
+ Dispatch,
5
+ ReactNode,
6
+ useReducer,
7
+ Context,
8
+ createContext,
9
+ useEffect,
10
+ } from 'react';
11
+
12
+ import { Auth, User, onAuthStateChanged } from 'firebase/auth';
13
+ import { errorLogger } from 'firebase-client-ql';
14
+
15
+ enum AUTHACTIONTYPE {
16
+ SETFBUSER = "SETFBUSER",
17
+ }
18
+
19
+ /**
20
+ * AUTH state maintained accross
21
+ * all components
22
+ */
23
+ interface AUTHSTATE {
24
+ FBUser?: User
25
+ }
26
+
27
+ interface AUTHACTION {
28
+ type: AUTHACTIONTYPE,
29
+ payload: User | undefined
30
+ }
31
+
32
+
33
+ const initialAUTHState: AUTHSTATE = {}
34
+
35
+ const AUTHReducer = (state: AUTHSTATE, action: AUTHACTION): AUTHSTATE => {
36
+
37
+ const {type, payload} = action
38
+
39
+ switch (type) {
40
+
41
+ case 'SETFBUSER':
42
+ return {...state, FBUser: payload as User }
43
+
44
+ default:
45
+ return state
46
+ }
47
+ }
48
+
49
+
50
+ const initialDispatch: Dispatch<AUTHACTION> = () => {};
51
+
52
+ export const AUTHContext: Context<AUTHSTATE> =
53
+ createContext(initialAUTHState);
54
+
55
+ const AUTHDispatch: Context<Dispatch<AUTHACTION>> =
56
+ createContext(initialDispatch);
57
+
58
+ type AUTHProviderProps = {
59
+ children: ReactNode;
60
+ auth: Auth;
61
+ };
62
+
63
+ export const AUTHProvider = ({ children, auth }: AUTHProviderProps) => {
64
+ const [AUTHState, dispatch] = useReducer(
65
+ AUTHReducer,
66
+ initialAUTHState
67
+ );
68
+
69
+ useEffect(() => {
70
+ const unsubscribe = onAuthStateChanged(
71
+ auth,
72
+ (authUser: User | null) => {
73
+ try {
74
+ dispatch({
75
+ type: AUTHACTIONTYPE.SETFBUSER,
76
+ payload: authUser ?? undefined,
77
+ });
78
+ } catch (error) {
79
+ errorLogger('User Authentication error:', error);
80
+ }
81
+ }
82
+ );
83
+
84
+ return unsubscribe;
85
+ }, [auth]);
86
+
87
+ return (
88
+ <AUTHContext.Provider value={AUTHState}>
89
+ <AUTHDispatch.Provider value={dispatch}>
90
+ {children}
91
+ </AUTHDispatch.Provider>
92
+ </AUTHContext.Provider>
93
+ );
94
+ };