UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

48 lines 3 kB
"use strict"; 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