fix: issue in safari 'Invalid regular expression'

This commit is contained in:
Caleb Flores 2021-08-27 20:36:07 -06:00
parent a24640b038
commit 5507d709c7
1 changed files with 6 additions and 3 deletions

View File

@ -21,15 +21,18 @@ export class ErrorHandler {
const missingAttribute = errorMessage.split('"')[1]; const missingAttribute = errorMessage.split('"')[1];
if (missingAttribute) return xml.replace(this._matchMissingValueForAttribute(missingAttribute), ''); if (missingAttribute) return xml.replace(this._matchMissingValueForAttribute(missingAttribute), '');
return xml.replace(this._mathGenericMissingValue(), ''); while (this._mathGenericMissingValue().exec(xml)) {
xml = xml.replace(this._mathGenericMissingValue(), '$1$3');
}
return xml;
} }
private _matchMissingValueForAttribute(attribute: string): RegExp { private _matchMissingValueForAttribute(attribute: string): RegExp {
return new RegExp(`(?<=\<.*)(${attribute}=(?!(\"|\')))|(${attribute}(?!(\"|\')))(?=.*\>)`, 'gm'); return new RegExp(`(${attribute}=(?!(\"|\')))|(${attribute}(?!(\"|\')))`, 'gm');
} }
private _mathGenericMissingValue(): RegExp { private _mathGenericMissingValue(): RegExp {
return /(?<=\<.*)(\w+=(?!(\"|\')))/gm; return /(\<.* )(\w+=(?!\"|\'))(.*\>)/gm;
} }
private _isMissingAttributeValueError(errorMessage: string): boolean { private _isMissingAttributeValueError(errorMessage: string): boolean {