31 lines
904 B
TypeScript
Raw Normal View History

import * as vscode from 'vscode';
import * as fs from 'fs';
import * as path from 'path';
2024-04-01 17:15:44 +08:00
import { DevChatConfig } from '../config';
const featureTogglesJson = `
{
"ask-code-summary": false,
"ask-code": true,
"ask-code-dfs": false
}`;
const featureToggles = JSON.parse(featureTogglesJson);
2023-11-30 13:25:18 +08:00
// eslint-disable-next-line @typescript-eslint/naming-convention
export function FT(feature: string): boolean {
2024-04-01 17:15:44 +08:00
const betaInvitationCode = new DevChatConfig().get('beta_invitation_code');
const expectedInvitationCode = 'WELCOMEADDTODEVCHAT';
return betaInvitationCode === expectedInvitationCode || featureToggles[feature] === true;
}
2023-11-30 13:25:18 +08:00
// eslint-disable-next-line @typescript-eslint/naming-convention
export function FTs(): any {
// visited features
let newFeatureToggles = {};
for (const feature in featureToggles) {
newFeatureToggles[feature] = FT(feature);
}
return newFeatureToggles;
}