@erikey/react 0.2.0 → 0.2.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.
- package/dist/index.d.mts +450 -613
- package/dist/index.d.ts +450 -613
- package/dist/index.js +88 -46
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +88 -46
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1613,6 +1613,9 @@ function createDashboardClient(config) {
|
|
|
1613
1613
|
});
|
|
1614
1614
|
}
|
|
1615
1615
|
|
|
1616
|
+
// src/auth-client.ts
|
|
1617
|
+
import { useState, useEffect, useCallback as useCallback2 } from "react";
|
|
1618
|
+
|
|
1616
1619
|
// src/lib/cross-origin-auth.ts
|
|
1617
1620
|
function shouldUseBearerAuth(authApiUrl) {
|
|
1618
1621
|
if (typeof window === "undefined") {
|
|
@@ -1683,53 +1686,92 @@ function createAuthClient2(config) {
|
|
|
1683
1686
|
if (!useBearerAuth) {
|
|
1684
1687
|
return client;
|
|
1685
1688
|
}
|
|
1686
|
-
return {
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
email: async (...args) => {
|
|
1691
|
-
const result = await client.signIn.email(...args);
|
|
1692
|
-
const token = result.data?.token;
|
|
1693
|
-
const sessionId = result.data?.session?.id || "session";
|
|
1694
|
-
if (token) {
|
|
1695
|
-
const session = {
|
|
1696
|
-
id: sessionId,
|
|
1697
|
-
token,
|
|
1698
|
-
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString()
|
|
1699
|
-
};
|
|
1700
|
-
storeToken(projectId, session);
|
|
1701
|
-
}
|
|
1702
|
-
return result;
|
|
1703
|
-
},
|
|
1704
|
-
// Social OAuth works as-is (redirect-based, no token in response)
|
|
1705
|
-
social: client.signIn.social
|
|
1706
|
-
},
|
|
1707
|
-
signUp: {
|
|
1708
|
-
...client.signUp,
|
|
1709
|
-
email: async (...args) => {
|
|
1710
|
-
const result = await client.signUp.email(...args);
|
|
1711
|
-
const token = result.data?.token;
|
|
1712
|
-
const sessionId = result.data?.session?.id || "session";
|
|
1713
|
-
if (token) {
|
|
1714
|
-
const session = {
|
|
1715
|
-
id: sessionId,
|
|
1716
|
-
token,
|
|
1717
|
-
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString()
|
|
1718
|
-
};
|
|
1719
|
-
storeToken(projectId, session);
|
|
1720
|
-
}
|
|
1721
|
-
return result;
|
|
1689
|
+
return new Proxy({}, {
|
|
1690
|
+
get(_target, prop) {
|
|
1691
|
+
if (typeof prop === "symbol") {
|
|
1692
|
+
return client[prop];
|
|
1722
1693
|
}
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1694
|
+
if (prop === "signIn") {
|
|
1695
|
+
return new Proxy(client.signIn, {
|
|
1696
|
+
get(_signInTarget, signInProp) {
|
|
1697
|
+
if (signInProp === "email") {
|
|
1698
|
+
return async (...args) => {
|
|
1699
|
+
const result = await client.signIn.email(...args);
|
|
1700
|
+
const token = result.data?.token;
|
|
1701
|
+
if (token) {
|
|
1702
|
+
const session = {
|
|
1703
|
+
id: result.data?.session?.id || "session",
|
|
1704
|
+
token,
|
|
1705
|
+
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString()
|
|
1706
|
+
};
|
|
1707
|
+
storeToken(projectId, session);
|
|
1708
|
+
}
|
|
1709
|
+
return result;
|
|
1710
|
+
};
|
|
1711
|
+
}
|
|
1712
|
+
return client.signIn[signInProp];
|
|
1713
|
+
}
|
|
1714
|
+
});
|
|
1715
|
+
}
|
|
1716
|
+
if (prop === "signUp") {
|
|
1717
|
+
return new Proxy(client.signUp, {
|
|
1718
|
+
get(_signUpTarget, signUpProp) {
|
|
1719
|
+
if (signUpProp === "email") {
|
|
1720
|
+
return async (...args) => {
|
|
1721
|
+
const result = await client.signUp.email(...args);
|
|
1722
|
+
const token = result.data?.token;
|
|
1723
|
+
if (token) {
|
|
1724
|
+
const session = {
|
|
1725
|
+
id: result.data?.session?.id || "session",
|
|
1726
|
+
token,
|
|
1727
|
+
expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString()
|
|
1728
|
+
};
|
|
1729
|
+
storeToken(projectId, session);
|
|
1730
|
+
}
|
|
1731
|
+
return result;
|
|
1732
|
+
};
|
|
1733
|
+
}
|
|
1734
|
+
return client.signUp[signUpProp];
|
|
1735
|
+
}
|
|
1736
|
+
});
|
|
1737
|
+
}
|
|
1738
|
+
if (prop === "signOut") {
|
|
1739
|
+
return async (...args) => {
|
|
1740
|
+
clearToken(projectId);
|
|
1741
|
+
return client.signOut(...args);
|
|
1742
|
+
};
|
|
1743
|
+
}
|
|
1744
|
+
if (prop === "useSession") {
|
|
1745
|
+
return function useSession() {
|
|
1746
|
+
const [data, setData] = useState(null);
|
|
1747
|
+
const [isPending, setIsPending] = useState(true);
|
|
1748
|
+
const [error, setError] = useState(null);
|
|
1749
|
+
const refetch = useCallback2(async () => {
|
|
1750
|
+
setIsPending(true);
|
|
1751
|
+
try {
|
|
1752
|
+
const result = await client.getSession();
|
|
1753
|
+
if (result.error) {
|
|
1754
|
+
setError(result.error);
|
|
1755
|
+
setData(null);
|
|
1756
|
+
} else {
|
|
1757
|
+
setData(result.data);
|
|
1758
|
+
setError(null);
|
|
1759
|
+
}
|
|
1760
|
+
} catch (e) {
|
|
1761
|
+
setError(e);
|
|
1762
|
+
setData(null);
|
|
1763
|
+
}
|
|
1764
|
+
setIsPending(false);
|
|
1765
|
+
}, []);
|
|
1766
|
+
useEffect(() => {
|
|
1767
|
+
refetch();
|
|
1768
|
+
}, [refetch]);
|
|
1769
|
+
return { data, isPending, error, refetch };
|
|
1770
|
+
};
|
|
1771
|
+
}
|
|
1772
|
+
return client[prop];
|
|
1773
|
+
}
|
|
1774
|
+
});
|
|
1733
1775
|
}
|
|
1734
1776
|
|
|
1735
1777
|
// ../../sandpack-auth/dist/client/index.js
|