traxxx-web/utils/escape-manticore.js

14 lines
425 B
JavaScript

// https://manual.manticoresearch.com/Searching/Full_text_matching/Escaping#Escaping-characters-in-query-string
export default function escape(string) {
if (!string) {
return null;
}
const replaced = string
.replace(/\\/g, String.raw`\\\\`) // using String.raw so we don't have to double up JS and SQL escaping
.replace(/'/g, String.raw`\'`)
.replace(/(["?!$()/<@^|~-])/g, String.raw`\\$1`);
return replaced;
}