29 lines
618 B
TypeScript
29 lines
618 B
TypeScript
const isValidHttpUrl = (value: string): boolean => {
|
|
try {
|
|
const parsed = new URL(value);
|
|
return parsed.protocol === "http:" || parsed.protocol === "https:";
|
|
} catch {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
export type SupabasePublicConfig = {
|
|
url: string;
|
|
anonKey: string;
|
|
};
|
|
|
|
export const readSupabasePublicConfig = (): SupabasePublicConfig | null => {
|
|
const url = process.env.NEXT_PUBLIC_SUPABASE_URL?.trim();
|
|
const anonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY?.trim();
|
|
|
|
if (!url || !anonKey) {
|
|
return null;
|
|
}
|
|
|
|
if (!isValidHttpUrl(url)) {
|
|
return null;
|
|
}
|
|
|
|
return { url, anonKey };
|
|
};
|