From d2df04550a74ba340953f5a937682d42754a1c4f Mon Sep 17 00:00:00 2001 From: qvink Date: Sun, 23 Feb 2025 22:11:33 -0700 Subject: [PATCH] Adding function to get preset values by name --- public/scripts/preset-manager.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/public/scripts/preset-manager.js b/public/scripts/preset-manager.js index 633b720bb..08305a28d 100644 --- a/public/scripts/preset-manager.js +++ b/public/scripts/preset-manager.js @@ -615,6 +615,34 @@ class PresetManager { return settings; } + getCompletionPresetByName(name) { + // Retrieve a completion preset by name + let { presets, preset_names } = this.getPresetList(); + let preset; + + // Some APIs use an array of names, others use an object of {name: index} + if (Array.isArray(preset_names)) { // array of names + if (!preset_names.includes(name)) { + preset = undefined; + } else { + preset = presets[preset_names.indexOf(name)]; + } + } else { // object of {names: index} + if (preset_names[name] === undefined) { + preset = undefined; + } else { + preset = presets[preset_names[name]]; + } + } + + // if the preset isn't found, return null + if (preset === undefined) { + console.error(`Preset ${name} not found`); + return; + } + return preset; + } + // pass no arguments to delete current preset async deletePreset(name) { const { preset_names, presets } = this.getPresetList();