@atzentis/auth-react 0.0.2
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/index.d.ts +28 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/package.json +41 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as _atzentis_auth_sdk from '@atzentis/auth-sdk';
|
|
3
|
+
import { LoginParams, RegisterParams } from '@atzentis/auth-sdk';
|
|
4
|
+
|
|
5
|
+
interface AuthProviderProps {
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
declare function AuthProvider({ baseUrl, children }: AuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
declare function useAuth(): {
|
|
12
|
+
user: _atzentis_auth_sdk.User | null;
|
|
13
|
+
session: _atzentis_auth_sdk.Session | null;
|
|
14
|
+
isAuthenticated: boolean;
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
login: (params: LoginParams) => Promise<_atzentis_auth_sdk.Session>;
|
|
17
|
+
register: (params: RegisterParams) => Promise<_atzentis_auth_sdk.Session>;
|
|
18
|
+
logout: () => Promise<void>;
|
|
19
|
+
refreshSession: () => Promise<_atzentis_auth_sdk.Session>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
declare function useSession(): {
|
|
23
|
+
session: _atzentis_auth_sdk.Session | null;
|
|
24
|
+
isAuthenticated: boolean;
|
|
25
|
+
isLoading: boolean;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { AuthProvider, useAuth, useSession };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AuthClient } from '@atzentis/auth-sdk';
|
|
2
|
+
import { createContext, useState, useEffect, useContext } from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var AuthContext = createContext(null);
|
|
6
|
+
function AuthProvider({ baseUrl, children }) {
|
|
7
|
+
const [client] = useState(() => new AuthClient({ baseUrl }));
|
|
8
|
+
const [session, setSession] = useState(null);
|
|
9
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
client.getSession().then((session2) => {
|
|
12
|
+
setSession(session2);
|
|
13
|
+
setIsLoading(false);
|
|
14
|
+
});
|
|
15
|
+
}, [client]);
|
|
16
|
+
const value = {
|
|
17
|
+
client,
|
|
18
|
+
session,
|
|
19
|
+
isAuthenticated: session !== null,
|
|
20
|
+
isLoading
|
|
21
|
+
};
|
|
22
|
+
return /* @__PURE__ */ jsx(AuthContext.Provider, { value, children });
|
|
23
|
+
}
|
|
24
|
+
function useAuth() {
|
|
25
|
+
const context = useContext(AuthContext);
|
|
26
|
+
if (!context) {
|
|
27
|
+
throw new Error("useAuth must be used within AuthProvider");
|
|
28
|
+
}
|
|
29
|
+
const { client, session, isAuthenticated, isLoading } = context;
|
|
30
|
+
return {
|
|
31
|
+
user: session?.user ?? null,
|
|
32
|
+
session,
|
|
33
|
+
isAuthenticated,
|
|
34
|
+
isLoading,
|
|
35
|
+
login: (params) => client.login(params),
|
|
36
|
+
register: (params) => client.register(params),
|
|
37
|
+
logout: () => client.logout(),
|
|
38
|
+
refreshSession: () => client.refreshSession()
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function useSession() {
|
|
42
|
+
const context = useContext(AuthContext);
|
|
43
|
+
if (!context) {
|
|
44
|
+
throw new Error("useSession must be used within AuthProvider");
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
session: context.session,
|
|
48
|
+
isAuthenticated: context.isAuthenticated,
|
|
49
|
+
isLoading: context.isLoading
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { AuthProvider, useAuth, useSession };
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider.tsx","../src/use-auth.ts","../src/use-session.ts"],"names":["session","useContext"],"mappings":";;;;AAWO,IAAM,WAAA,GAAc,cAAuC,IAAI,CAAA;AAO/D,SAAS,YAAA,CAAa,EAAE,OAAA,EAAS,QAAA,EAAS,EAAsB;AACrE,EAAA,MAAM,CAAC,MAAM,CAAA,GAAI,QAAA,CAAS,MAAM,IAAI,UAAA,CAAW,EAAE,OAAA,EAAS,CAAC,CAAA;AAC3D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAyB,IAAI,CAAA;AAC3D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,IAAI,CAAA;AAE/C,EAAA,SAAA,CAAU,MAAM;AAEd,IAAA,MAAA,CAAO,UAAA,EAAW,CAAE,IAAA,CAAK,CAACA,QAAAA,KAAY;AACpC,MAAA,UAAA,CAAWA,QAAO,CAAA;AAClB,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,IACpB,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,MAAM,KAAA,GAA0B;AAAA,IAC9B,MAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAiB,OAAA,KAAY,IAAA;AAAA,IAC7B;AAAA,GACF;AAEA,EAAA,uBAAO,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,OAAe,QAAA,EAAS,CAAA;AACvD;ACnCO,SAAS,OAAA,GAAU;AACxB,EAAA,MAAM,OAAA,GAAU,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,EAC5D;AAEA,EAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,eAAA,EAAiB,WAAU,GAAI,OAAA;AAExD,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,SAAS,IAAA,IAAQ,IAAA;AAAA,IACvB,OAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA,EAAO,CAAC,MAAA,KAAwB,MAAA,CAAO,MAAM,MAAM,CAAA;AAAA,IACnD,QAAA,EAAU,CAAC,MAAA,KAA2B,MAAA,CAAO,SAAS,MAAM,CAAA;AAAA,IAC5D,MAAA,EAAQ,MAAM,MAAA,CAAO,MAAA,EAAO;AAAA,IAC5B,cAAA,EAAgB,MAAM,MAAA,CAAO,cAAA;AAAe,GAC9C;AACF;ACpBO,SAAS,UAAA,GAAa;AAC3B,EAAA,MAAM,OAAA,GAAUC,WAAW,WAAW,CAAA;AAEtC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,EAC/D;AAEA,EAAA,OAAO;AAAA,IACL,SAAS,OAAA,CAAQ,OAAA;AAAA,IACjB,iBAAiB,OAAA,CAAQ,eAAA;AAAA,IACzB,WAAW,OAAA,CAAQ;AAAA,GACrB;AACF","file":"index.js","sourcesContent":["import { AuthClient } from \"@atzentis/auth-sdk\";\nimport type { Session } from \"@atzentis/auth-sdk\";\nimport { createContext, useEffect, useState } from \"react\";\n\ninterface AuthContextValue {\n client: AuthClient;\n session: Session | null;\n isAuthenticated: boolean;\n isLoading: boolean;\n}\n\nexport const AuthContext = createContext<AuthContextValue | null>(null);\n\ninterface AuthProviderProps {\n baseUrl: string;\n children: React.ReactNode;\n}\n\nexport function AuthProvider({ baseUrl, children }: AuthProviderProps) {\n const [client] = useState(() => new AuthClient({ baseUrl }));\n const [session, setSession] = useState<Session | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n // Load session on mount\n client.getSession().then((session) => {\n setSession(session);\n setIsLoading(false);\n });\n }, [client]);\n\n const value: AuthContextValue = {\n client,\n session,\n isAuthenticated: session !== null,\n isLoading,\n };\n\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\n}\n","import type { LoginParams, RegisterParams } from \"@atzentis/auth-sdk\";\nimport { useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within AuthProvider\");\n }\n\n const { client, session, isAuthenticated, isLoading } = context;\n\n return {\n user: session?.user ?? null,\n session,\n isAuthenticated,\n isLoading,\n login: (params: LoginParams) => client.login(params),\n register: (params: RegisterParams) => client.register(params),\n logout: () => client.logout(),\n refreshSession: () => client.refreshSession(),\n };\n}\n","import { useContext } from \"react\";\nimport { AuthContext } from \"./provider\";\n\nexport function useSession() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useSession must be used within AuthProvider\");\n }\n\n return {\n session: context.session,\n isAuthenticated: context.isAuthenticated,\n isLoading: context.isLoading,\n };\n}\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atzentis/auth-react",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@atzentis/auth-sdk": "0.0.2"
|
|
21
|
+
},
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"react": ">=18.0.0",
|
|
24
|
+
"react-dom": ">=18.0.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/react": "^19.0.0",
|
|
28
|
+
"jsdom": "^28.0.0",
|
|
29
|
+
"react": "^19.0.0",
|
|
30
|
+
"tsup": "^8.3.0",
|
|
31
|
+
"typescript": "^5.7.0",
|
|
32
|
+
"vitest": "^2.1.0"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsup",
|
|
36
|
+
"dev": "tsup --watch",
|
|
37
|
+
"test": "vitest run",
|
|
38
|
+
"test:watch": "vitest",
|
|
39
|
+
"type-check": "tsc --noEmit"
|
|
40
|
+
}
|
|
41
|
+
}
|