This commit is contained in:
Benjamin Toby
2025-09-03 13:38:54 +01:00
parent c34d256891
commit 5c3324105e
6 changed files with 56 additions and 4 deletions
@@ -30,7 +30,19 @@ function sqlGenOperatorGen({ fieldName, value, equality, }) {
}
else if (equality == "LIKE_RAW") {
return {
str: `LOWER(${fieldName}) LIKE LOWER(?)`,
str: `LOWER(${fieldName}) LIKE LOWER('${value}')`,
param: value,
};
}
else if (equality == "LIKE_NOCASE") {
return {
str: `${fieldName} LIKE '%${value}%'`,
param: value,
};
}
else if (equality == "LIKE_NOCASE_RAW") {
return {
str: `${fieldName} LIKE '${value}'`,
param: value,
};
}
@@ -45,6 +57,18 @@ function sqlGenOperatorGen({ fieldName, value, equality, }) {
param: value,
};
}
else if (equality == "NOT_LIKE_NOCASE") {
return {
str: `${fieldName} NOT LIKE '%${value}%'`,
param: value,
};
}
else if (equality == "NOT_LIKE_NOCASE_RAW") {
return {
str: `${fieldName} NOT LIKE '${value}'`,
param: value,
};
}
else if (equality == "REGEXP") {
return {
str: `LOWER(${fieldName}) REGEXP LOWER(?)`,
+1 -1
View File
@@ -804,7 +804,7 @@ export type FetchApiReturn = {
[key: string]: any;
};
export declare const ServerQueryOperators: readonly ["AND", "OR"];
export declare const ServerQueryEqualities: readonly ["EQUAL", "LIKE", "LIKE_RAW", "NOT LIKE", "NOT LIKE_RAW", "NOT EQUAL", "REGEXP", "FULLTEXT", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "IS NULL", "IS NOT NULL", "EXISTS", "NOT EXISTS", "GREATER THAN", "GREATER THAN OR EQUAL", "LESS THAN", "LESS THAN OR EQUAL", "MATCH", "MATCH_BOOLEAN"];
export declare const ServerQueryEqualities: readonly ["EQUAL", "LIKE", "LIKE_RAW", "LIKE_NOCASE", "LIKE_NOCASE_RAW", "NOT LIKE", "NOT LIKE_RAW", "NOT_LIKE_NOCASE", "NOT_LIKE_NOCASE_RAW", "NOT EQUAL", "REGEXP", "FULLTEXT", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "IS NULL", "IS NOT NULL", "EXISTS", "NOT EXISTS", "GREATER THAN", "GREATER THAN OR EQUAL", "LESS THAN", "LESS THAN OR EQUAL", "MATCH", "MATCH_BOOLEAN"];
export type ServerQueryParam<T extends {
[k: string]: any;
} = {
+4
View File
@@ -29,8 +29,12 @@ exports.ServerQueryEqualities = [
"EQUAL",
"LIKE",
"LIKE_RAW",
"LIKE_NOCASE",
"LIKE_NOCASE_RAW",
"NOT LIKE",
"NOT LIKE_RAW",
"NOT_LIKE_NOCASE",
"NOT_LIKE_NOCASE_RAW",
"NOT EQUAL",
"REGEXP",
"FULLTEXT",