UNPKG

tprompter

Version:
34 lines (33 loc) 1.02 kB
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(); } }