Bugfix: handling of Sieve GrammarQuotedString

This commit is contained in:
the-djmaze 2024-09-23 12:50:29 +02:00
parent 64ae3a281f
commit 37938d82b8
2 changed files with 7 additions and 2 deletions

View file

@ -271,10 +271,14 @@ GrammarStringList.fromString = list => {
export class GrammarQuotedString extends GrammarString
{
constructor(value = '')
{
super(value instanceof GrammarQuotedString ? value.value : value);
}
toString()
{
return '"' + this._value.replace(/[\\"]/g, '\\$&') + '"';
// return '"' + super.toString().replace(/[\\"]/g, '\\$&') + '"';
}
}

View file

@ -228,7 +228,8 @@ export const parseScript = (script, name = 'script.sieve') => {
pushArg(GrammarMultiLine.fromString(value));
break;
case T_QUOTED_STRING:
pushArg(new GrammarQuotedString(value.slice(1,-1)));
try { value = JSON.parse(value); } catch(e) { console.error(e, value); }
pushArg(new GrammarQuotedString(value));
break;
case T_NUMBER:
pushArg(new GrammarNumber(value));