site specific flags

This commit is contained in:
velzie 2024-10-13 14:43:51 -04:00
parent 0906dd78a9
commit 920bbd8d69
No known key found for this signature in database
GPG key ID: AA51AEFB0A1F3820
8 changed files with 34 additions and 11 deletions

View file

@ -1,4 +1,4 @@
import { ScramjetConfig } from "./types";
import { ScramjetConfig, ScramjetFlags } from "./types";
if (!("$scramjet" in self)) {
// @ts-expect-error ts stuff
@ -24,3 +24,15 @@ export function loadCodecs() {
$scramjet.config.codec.decode
) as any;
}
export function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean {
let value = $scramjet.config.defaultFlags[flag];
for (const regex in $scramjet.config.siteFlags) {
const partialflags = $scramjet.config.siteFlags[regex];
if (new RegExp(regex).test(url.href) && "flag" in partialflags) {
return partialflags[flag];
}
}
return value;
}