From cca4e5d65d5a07a8957ea7fa10c15afd494b4e2b Mon Sep 17 00:00:00 2001 From: Helma van der Linden Date: Sat, 6 Apr 2024 16:09:46 +0200 Subject: [PATCH] Fix: #72 #81 make sure the alphabet is max 20 characters long --- src/lib/presets.mjs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/presets.mjs b/src/lib/presets.mjs index 5a1752a..846be4b 100644 --- a/src/lib/presets.mjs +++ b/src/lib/presets.mjs @@ -398,6 +398,7 @@ class Presets { #current; #presetName; #presets = Object.keys(thePresets); + #max_alphabet = 20; /** * Constructor: set either the default preset @@ -576,7 +577,11 @@ class Presets { alphabet = ((is.undefined(alphabet) || (alphabet.length === 0)) ? thePresets.DEFAULT.config.symbol_alphabet : alphabet); - return is.array(alphabet) ? alphabet.join('') : alphabet; + + // make sure the alphabet is not longer than the max length + return is.array(alphabet) ? + alphabet.join('').substring(0, this.#max_alphabet) : + alphabet.substring(0, this.#max_alphabet); } /** @@ -599,7 +604,12 @@ class Presets { tmpConfig.symbol_alphabet); alphabet = ((is.undefined(alphabet) || (alphabet.length === 0)) ? thePresets.DEFAULT.config.symbol_alphabet : alphabet); - return is.array(alphabet) ? alphabet.join('') : alphabet; + + // make sure the alphabet is not longer than the max length + return is.array(alphabet) ? + alphabet.join('').substring(0, this.#max_alphabet) : + alphabet.substring(0, this.#max_alphabet); + } /**