feature-flag-core
Version:
🏁 Turn features on and off like a pro – no magic spells required.🎩✨
31 lines (30 loc) • 966 B
JavaScript
// import fs from "fs/promises";
import { promises as fs } from "fs";
import path from "path";
import { fileURLToPath } from "url";
// ES module path fix
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const FLAGS_PATH = path.resolve(__dirname, "../flags.json");
console.log('the flagsgetflags path is', FLAGS_PATH);
export async function readFlags() {
const data = await fs.readFile(FLAGS_PATH, "utf-8");
return JSON.parse(data);
}
export async function writeFlags(flags) {
await fs.writeFile(FLAGS_PATH, JSON.stringify(flags, null, 2));
}
export async function setFlag(key, value) {
const flags = await readFlags();
flags[key] = value;
await writeFlags(flags);
}
export async function removeFlag(key) {
const flags = await readFlags();
delete flags[key];
await writeFlags(flags);
}
export async function getFlag(key) {
const flags = await readFlags();
return flags[key];
}