Openstatus
www.openstatus.dev
1export const getSubdomain = (name: string, apexName: string) => {
2 if (name === apexName) return null;
3 return name.slice(0, name.length - apexName.length - 1);
4};
5
6export const getApexDomain = (url: string) => {
7 let domain: string;
8 try {
9 domain = new URL(url).hostname;
10 } catch (_e) {
11 return "";
12 }
13 const parts = domain.split(".");
14 if (parts.length > 2) {
15 // if it's a subdomain (e.g. dub.vercel.app), return the last 2 parts
16 return parts.slice(-2).join(".");
17 }
18 // if it's a normal domain (e.g. dub.sh), we return the domain
19 return domain;
20};