tprompter
Version:
```bash $ ask anything ```
34 lines (33 loc) • 1.02 kB
JavaScript
import { StringParsers } from '../utils/Parsers.js';
export const AppConfigDataValuesTransformers = {
openAIApiKey: StringParsers.stringParser,
quiet: StringParsers.booleanParser,
verbose: StringParsers.booleanParser,
agentMaxTokens: StringParsers.numberParser,
agentDefaultModel: StringParsers.stringParser,
appName: StringParsers.stringParser,
};
export const AppConfigDataKeys = Object.keys(AppConfigDataValuesTransformers);
export class AppConfigData {
static getAvailableKeys() {
return AppConfigDataKeys;
}
constructor(data = {}) {
Object.assign(this, data);
}
merge(data) {
return new AppConfigData(Object.assign(Object.assign({}, this), data));
}
clone() {
return new AppConfigData(this);
}
serialize() {
return JSON.stringify(this, undefined, 2);
}
static deserialize(data) {
return new AppConfigData(JSON.parse(data));
}
static empty() {
return new AppConfigData();
}
}