@launchmenu/core
Version:
An environment for visual keyboard controlled applets
48 lines • 3 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.SettingsContext = void 0;
const extractSettings_1 = require("./utils/extractSettings");
/**
* A context to store the setting values for given configs in
*/
class SettingsContext {
/**
* Creates a new empty settings context
* @param settings The settings to begin with, mapped under their config ids
*/
constructor(settings) {
this.settings = {};
this.settings = settings !== null && settings !== void 0 ? settings : {};
}
/**
* Augments the current context with the given settings, resulting in a new context
* @param config The config for the settings to augment
* @param values The values to store for this config
* @returns The newly created context
*/
augment(config, values) {
return new SettingsContext({ ...this.settings, [config.ID]: values });
}
/**
* Retrieves a selection of settings from its config
* @param config The settings group to retrieve
* @returns The values for these settings within this context
*/
get(config) {
if (!config)
throw Error("No config was provided");
return extractSettings_1.extractSettings(this.getUI(config));
}
getUI(config) {
if (config) {
if (!this.settings[config.ID])
this.settings[config.ID] = config.settings();
return this.settings[config.ID];
}
else {
return Object.values(this.settings);
}
}
}
exports.SettingsContext = SettingsContext;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2V0dGluZ3NDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NldHRpbmdzL1NldHRpbmdzQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBd0Q7QUFLeEQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFHeEI7OztPQUdHO0lBQ0gsWUFBbUIsUUFBa0Q7UUFOM0QsYUFBUSxHQUFHLEVBQTZDLENBQUM7UUFPL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTyxDQUNWLE1BQXlDLEVBQ3pDLE1BQVM7UUFFVCxPQUFPLElBQUksZUFBZSxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxHQUFHLENBQ04sTUFBeUM7UUFFekMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ25ELE9BQU8saUNBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQWdCTSxLQUFLLENBQ1IsTUFBMEM7UUFFMUMsSUFBSSxNQUFNLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBUSxDQUFDO1NBQzFDO2FBQU07WUFDSCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztDQUNKO0FBNURELDBDQTREQyJ9
;