Skip to content

Commit

Permalink
Add try/catch and default selectors to user agent
Browse files Browse the repository at this point in the history
  • Loading branch information
xbtmatt committed Nov 30, 2024
1 parent 4d30b4a commit 5a14ade
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions src/typescript/frontend/src/lib/utils/user-agent-selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,19 @@ type Selectors = { [K in Keys]?: boolean };

const booleanSelectors = new Set(Object.keys(booleanUserAgentSelectors) as Keys[]);

export const getBooleanUserAgentSelectors = (userAgent: string) => {
const selectors = getSelectorsByUserAgent(userAgent);
const res: Selectors = {};
Object.keys(selectors)
.map((k) =>
selectors[k] === true && booleanSelectors.has(k as Keys) ? (k as Keys) : undefined
)
.filter((v) => typeof v !== "undefined")
.forEach((k) => (res[k] = true));
return res;
export const getBooleanUserAgentSelectors = (userAgent: string): Selectors => {
try {
const selectors = getSelectorsByUserAgent(userAgent) ?? {};
const res: Selectors = {};
Object.keys(selectors)
.map((k) =>
selectors[k] === true && booleanSelectors.has(k as Keys) ? (k as Keys) : undefined
)
.filter((v) => typeof v !== "undefined")
.forEach((k) => (res[k] = true));
return res;
} catch (e) {
console.error(e);
return {};
}
};

0 comments on commit 5a14ade

Please sign in to comment.