mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-02 10:52:27 +00:00
30 lines
702 B
JavaScript
30 lines
702 B
JavaScript
import nip07 from "./nip07.js";
|
|
|
|
const map = {
|
|
[(nip07 && typeof nip07.id === "string" && nip07.id.trim()) || "nip07"]: nip07,
|
|
};
|
|
|
|
if (!Object.prototype.hasOwnProperty.call(map, "nip07")) {
|
|
map.nip07 = nip07;
|
|
}
|
|
|
|
export const providers = Object.freeze({ ...map });
|
|
|
|
export function getProvider(providerId = "nip07") {
|
|
const id =
|
|
typeof providerId === "string" && providerId.trim()
|
|
? providerId.trim()
|
|
: "nip07";
|
|
|
|
const provider = providers[id];
|
|
if (!provider || typeof provider.login !== "function") {
|
|
const error = new Error(`Unknown auth provider: ${id}`);
|
|
error.code = "unknown-auth-provider";
|
|
throw error;
|
|
}
|
|
|
|
return provider;
|
|
}
|
|
|
|
export default getProvider;
|