/**
 * Escape SQL LIKE/ILIKE metacharacters in user-supplied search strings.
 * PostgreSQL uses backslash as the default escape character.
 */
export function escapeLikePattern(input: string): string {
  return input.replace(/[%_\\]/g, '\\$&')
}

/** Substring ILIKE pattern with metacharacters escaped. */
export function ilikeSubstringPattern(input: string): string {
  return `%${escapeLikePattern(input)}%`
}
