react-firebase-ql 3.0.0 → 4.0.0
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/client/providers/AuthProvider.provider.d.ts +12 -0
- package/dist/client/providers/AuthProvider.provider.js +45 -0
- package/dist/client/providers/AuthProvider.provider.js.map +1 -0
- package/esm/client/providers/AuthProvider.provider.js +41 -0
- package/esm/client/providers/AuthProvider.provider.js.map +1 -0
- package/package.json +1 -1
- package/src/client/providers/AuthProvider.provider.tsx +94 -0
|
@@ -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/providers/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/providers/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
|
@@ -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
|
+
};
|