Updates
This commit is contained in:
parent
9402c859f7
commit
ea40a1a8c2
@ -6,6 +6,7 @@ type Params = {
|
|||||||
queryObj: ServerQueryObject<{
|
queryObj: ServerQueryObject<{
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
}, string>;
|
}, string>;
|
||||||
|
isValueFieldValue?: boolean;
|
||||||
};
|
};
|
||||||
type Return = {
|
type Return = {
|
||||||
str?: string;
|
str?: string;
|
||||||
@ -15,5 +16,5 @@ type Return = {
|
|||||||
* # SQL Gen Operator Gen
|
* # SQL Gen Operator Gen
|
||||||
* @description Generates an SQL operator for node module `mysql` or `serverless-mysql`
|
* @description Generates an SQL operator for node module `mysql` or `serverless-mysql`
|
||||||
*/
|
*/
|
||||||
export default function sqlGenOperatorGen({ fieldName, value, equality, queryObj, }: Params): Return;
|
export default function sqlGenOperatorGen({ fieldName, value, equality, queryObj, isValueFieldValue, }: Params): Return;
|
||||||
export {};
|
export {};
|
||||||
|
|||||||
@ -9,7 +9,7 @@ const sql_equality_parser_1 = __importDefault(require("../../../utils/sql-equali
|
|||||||
* # SQL Gen Operator Gen
|
* # SQL Gen Operator Gen
|
||||||
* @description Generates an SQL operator for node module `mysql` or `serverless-mysql`
|
* @description Generates an SQL operator for node module `mysql` or `serverless-mysql`
|
||||||
*/
|
*/
|
||||||
function sqlGenOperatorGen({ fieldName, value, equality, queryObj, }) {
|
function sqlGenOperatorGen({ fieldName, value, equality, queryObj, isValueFieldValue, }) {
|
||||||
if (queryObj.nullValue) {
|
if (queryObj.nullValue) {
|
||||||
return { str: `${fieldName} IS NULL` };
|
return { str: `${fieldName} IS NULL` };
|
||||||
}
|
}
|
||||||
@ -17,94 +17,96 @@ function sqlGenOperatorGen({ fieldName, value, equality, queryObj, }) {
|
|||||||
return { str: `${fieldName} IS NOT NULL` };
|
return { str: `${fieldName} IS NOT NULL` };
|
||||||
}
|
}
|
||||||
if (value) {
|
if (value) {
|
||||||
|
const finalValue = isValueFieldValue ? value : "?";
|
||||||
|
const finalParams = isValueFieldValue ? undefined : value;
|
||||||
if (equality == "MATCH") {
|
if (equality == "MATCH") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN NATURAL LANGUAGE MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN NATURAL LANGUAGE MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "MATCH_BOOLEAN") {
|
else if (equality == "MATCH_BOOLEAN") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN BOOLEAN MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "LIKE_LOWER") {
|
else if (equality == "LIKE_LOWER") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) LIKE LOWER(${finalValue})`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "LIKE_LOWER_RAW") {
|
else if (equality == "LIKE_LOWER_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) LIKE LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "LIKE") {
|
else if (equality == "LIKE") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} LIKE ?`,
|
str: `${fieldName} LIKE ${finalValue}`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "LIKE_RAW") {
|
else if (equality == "LIKE_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} LIKE ?`,
|
str: `${fieldName} LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "NOT_LIKE_LOWER") {
|
else if (equality == "NOT_LIKE_LOWER") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) NOT LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) NOT LIKE LOWER(${finalValue})`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "NOT_LIKE_LOWER_RAW") {
|
else if (equality == "NOT_LIKE_LOWER_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) NOT LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) NOT LIKE LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "NOT LIKE") {
|
else if (equality == "NOT LIKE") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} NOT LIKE ?`,
|
str: `${fieldName} NOT LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "NOT LIKE_RAW") {
|
else if (equality == "NOT LIKE_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} NOT LIKE ?`,
|
str: `${fieldName} NOT LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "REGEXP") {
|
else if (equality == "REGEXP") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) REGEXP LOWER(?)`,
|
str: `LOWER(${fieldName}) REGEXP LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "FULLTEXT") {
|
else if (equality == "FULLTEXT") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN BOOLEAN MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality == "NOT EQUAL") {
|
else if (equality == "NOT EQUAL") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} != ?`,
|
str: `${fieldName} != ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if (equality) {
|
else if (equality) {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} ${(0, sql_equality_parser_1.default)(equality)} ?`,
|
str: `${fieldName} ${(0, sql_equality_parser_1.default)(equality)} ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} = ?`,
|
str: `${fieldName} = ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,9 +30,7 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
|||||||
return field;
|
return field;
|
||||||
})();
|
})();
|
||||||
let str = `${finalFieldName}=?`;
|
let str = `${finalFieldName}=?`;
|
||||||
if (Array.isArray(queryObj.value)) {
|
function grabValue(val) {
|
||||||
const strArray = [];
|
|
||||||
queryObj.value.forEach((val) => {
|
|
||||||
var _a;
|
var _a;
|
||||||
const valueParsed = val;
|
const valueParsed = val;
|
||||||
if (!valueParsed)
|
if (!valueParsed)
|
||||||
@ -40,7 +38,9 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
|||||||
const valueString = typeof valueParsed == "string"
|
const valueString = typeof valueParsed == "string"
|
||||||
? valueParsed
|
? valueParsed
|
||||||
: valueParsed
|
: valueParsed
|
||||||
? (_a = valueParsed.value) === null || _a === void 0 ? void 0 : _a.toString()
|
? valueParsed.fieldName && valueParsed.tableName
|
||||||
|
? `${valueParsed.tableName}.${valueParsed.fieldName}`
|
||||||
|
: (_a = valueParsed.value) === null || _a === void 0 ? void 0 : _a.toString()
|
||||||
: undefined;
|
: undefined;
|
||||||
const valueEquality = typeof valueParsed == "object"
|
const valueEquality = typeof valueParsed == "object"
|
||||||
? valueParsed.equality || queryObj.equality
|
? valueParsed.equality || queryObj.equality
|
||||||
@ -50,7 +50,18 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
|||||||
equality: valueEquality,
|
equality: valueEquality,
|
||||||
fieldName: finalFieldName || "",
|
fieldName: finalFieldName || "",
|
||||||
value: (valueString === null || valueString === void 0 ? void 0 : valueString.toString()) || "",
|
value: (valueString === null || valueString === void 0 ? void 0 : valueString.toString()) || "",
|
||||||
|
isValueFieldValue: Boolean(typeof valueParsed == "object" &&
|
||||||
|
valueParsed.fieldName &&
|
||||||
|
valueParsed.tableName),
|
||||||
});
|
});
|
||||||
|
return operatorStrParam;
|
||||||
|
}
|
||||||
|
if (Array.isArray(queryObj.value)) {
|
||||||
|
const strArray = [];
|
||||||
|
queryObj.value.forEach((val) => {
|
||||||
|
const operatorStrParam = grabValue(val);
|
||||||
|
if (!operatorStrParam)
|
||||||
|
return;
|
||||||
if (operatorStrParam.str && operatorStrParam.param) {
|
if (operatorStrParam.str && operatorStrParam.param) {
|
||||||
strArray.push(operatorStrParam.str);
|
strArray.push(operatorStrParam.str);
|
||||||
sqlSearhValues.push(operatorStrParam.param);
|
sqlSearhValues.push(operatorStrParam.param);
|
||||||
@ -61,6 +72,15 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
|||||||
});
|
});
|
||||||
str = "(" + strArray.join(` ${queryObj.operator || "AND"} `) + ")";
|
str = "(" + strArray.join(` ${queryObj.operator || "AND"} `) + ")";
|
||||||
}
|
}
|
||||||
|
else if (typeof queryObj.value == "object") {
|
||||||
|
const operatorStrParam = grabValue(queryObj.value);
|
||||||
|
if (operatorStrParam === null || operatorStrParam === void 0 ? void 0 : operatorStrParam.str) {
|
||||||
|
str = operatorStrParam.str;
|
||||||
|
if (operatorStrParam.param) {
|
||||||
|
sqlSearhValues.push(operatorStrParam.param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
const valueParsed = queryObj.value
|
const valueParsed = queryObj.value
|
||||||
? String(queryObj.value)
|
? String(queryObj.value)
|
||||||
|
|||||||
5
dist/package-shared/types/index.d.ts
vendored
5
dist/package-shared/types/index.d.ts
vendored
@ -900,11 +900,14 @@ export type TableSelectFieldsObject<T extends {
|
|||||||
export type ServerQueryValuesObject = {
|
export type ServerQueryValuesObject = {
|
||||||
value?: string | number;
|
value?: string | number;
|
||||||
equality?: (typeof ServerQueryEqualities)[number];
|
equality?: (typeof ServerQueryEqualities)[number];
|
||||||
|
tableName?: string;
|
||||||
|
fieldName?: string;
|
||||||
};
|
};
|
||||||
|
export type ServerQueryObjectValue = string | (string | ServerQueryValuesObject | undefined | null) | (string | ServerQueryValuesObject | undefined | null)[];
|
||||||
export type ServerQueryObject<T extends object = {
|
export type ServerQueryObject<T extends object = {
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
}, K extends string = string> = {
|
}, K extends string = string> = {
|
||||||
value?: string | (string | ServerQueryValuesObject | undefined | null)[];
|
value?: ServerQueryObjectValue;
|
||||||
nullValue?: boolean;
|
nullValue?: boolean;
|
||||||
notNullValue?: boolean;
|
notNullValue?: boolean;
|
||||||
operator?: (typeof ServerQueryOperators)[number];
|
operator?: (typeof ServerQueryOperators)[number];
|
||||||
|
|||||||
@ -11,6 +11,7 @@ type Params = {
|
|||||||
},
|
},
|
||||||
string
|
string
|
||||||
>;
|
>;
|
||||||
|
isValueFieldValue?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
type Return = {
|
type Return = {
|
||||||
@ -27,6 +28,7 @@ export default function sqlGenOperatorGen({
|
|||||||
value,
|
value,
|
||||||
equality,
|
equality,
|
||||||
queryObj,
|
queryObj,
|
||||||
|
isValueFieldValue,
|
||||||
}: Params): Return {
|
}: Params): Return {
|
||||||
if (queryObj.nullValue) {
|
if (queryObj.nullValue) {
|
||||||
return { str: `${fieldName} IS NULL` };
|
return { str: `${fieldName} IS NULL` };
|
||||||
@ -37,80 +39,85 @@ export default function sqlGenOperatorGen({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
const finalValue = isValueFieldValue ? value : "?";
|
||||||
|
const finalParams = isValueFieldValue ? undefined : value;
|
||||||
|
|
||||||
if (equality == "MATCH") {
|
if (equality == "MATCH") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN NATURAL LANGUAGE MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN NATURAL LANGUAGE MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "MATCH_BOOLEAN") {
|
} else if (equality == "MATCH_BOOLEAN") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN BOOLEAN MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "LIKE_LOWER") {
|
} else if (equality == "LIKE_LOWER") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) LIKE LOWER(${finalValue})`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
} else if (equality == "LIKE_LOWER_RAW") {
|
} else if (equality == "LIKE_LOWER_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) LIKE LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "LIKE") {
|
} else if (equality == "LIKE") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} LIKE ?`,
|
str: `${fieldName} LIKE ${finalValue}`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
} else if (equality == "LIKE_RAW") {
|
} else if (equality == "LIKE_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} LIKE ?`,
|
str: `${fieldName} LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "NOT_LIKE_LOWER") {
|
} else if (equality == "NOT_LIKE_LOWER") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) NOT LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) NOT LIKE LOWER(${finalValue})`,
|
||||||
param: `%${value}%`,
|
param: `%${finalParams}%`,
|
||||||
};
|
};
|
||||||
} else if (equality == "NOT_LIKE_LOWER_RAW") {
|
} else if (equality == "NOT_LIKE_LOWER_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) NOT LIKE LOWER(?)`,
|
str: `LOWER(${fieldName}) NOT LIKE LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "NOT LIKE") {
|
} else if (equality == "NOT LIKE") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} NOT LIKE ?`,
|
str: `${fieldName} NOT LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "NOT LIKE_RAW") {
|
} else if (equality == "NOT LIKE_RAW") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} NOT LIKE ?`,
|
str: `${fieldName} NOT LIKE ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "REGEXP") {
|
} else if (equality == "REGEXP") {
|
||||||
return {
|
return {
|
||||||
str: `LOWER(${fieldName}) REGEXP LOWER(?)`,
|
str: `LOWER(${fieldName}) REGEXP LOWER(${finalValue})`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "FULLTEXT") {
|
} else if (equality == "FULLTEXT") {
|
||||||
return {
|
return {
|
||||||
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
|
str: `MATCH(${fieldName}) AGAINST(${finalValue} IN BOOLEAN MODE)`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality == "NOT EQUAL") {
|
} else if (equality == "NOT EQUAL") {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} != ?`,
|
str: `${fieldName} != ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else if (equality) {
|
} else if (equality) {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} ${sqlEqualityParser(equality)} ?`,
|
str: `${fieldName} ${sqlEqualityParser(
|
||||||
param: value,
|
equality
|
||||||
|
)} ${finalValue}`,
|
||||||
|
param: finalParams,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
return {
|
return {
|
||||||
str: `${fieldName} = ?`,
|
str: `${fieldName} = ${finalValue}`,
|
||||||
param: value,
|
param: finalParams,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import {
|
|||||||
ServerQueryParamsJoin,
|
ServerQueryParamsJoin,
|
||||||
ServerQueryParamsJoinMatchObject,
|
ServerQueryParamsJoinMatchObject,
|
||||||
ServerQueryQueryObject,
|
ServerQueryQueryObject,
|
||||||
|
ServerQueryValuesObject,
|
||||||
} from "../../../types";
|
} from "../../../types";
|
||||||
import sqlGenOperatorGen from "./sql-gen-operator-gen";
|
import sqlGenOperatorGen from "./sql-gen-operator-gen";
|
||||||
|
|
||||||
@ -59,9 +60,7 @@ export default function sqlGenerator<
|
|||||||
|
|
||||||
let str = `${finalFieldName}=?`;
|
let str = `${finalFieldName}=?`;
|
||||||
|
|
||||||
if (Array.isArray(queryObj.value)) {
|
function grabValue(val?: string | ServerQueryValuesObject | null) {
|
||||||
const strArray: string[] = [];
|
|
||||||
queryObj.value.forEach((val) => {
|
|
||||||
const valueParsed = val;
|
const valueParsed = val;
|
||||||
|
|
||||||
if (!valueParsed) return;
|
if (!valueParsed) return;
|
||||||
@ -70,7 +69,9 @@ export default function sqlGenerator<
|
|||||||
typeof valueParsed == "string"
|
typeof valueParsed == "string"
|
||||||
? valueParsed
|
? valueParsed
|
||||||
: valueParsed
|
: valueParsed
|
||||||
? valueParsed.value?.toString()
|
? valueParsed.fieldName && valueParsed.tableName
|
||||||
|
? `${valueParsed.tableName}.${valueParsed.fieldName}`
|
||||||
|
: valueParsed.value?.toString()
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
const valueEquality =
|
const valueEquality =
|
||||||
@ -83,8 +84,24 @@ export default function sqlGenerator<
|
|||||||
equality: valueEquality,
|
equality: valueEquality,
|
||||||
fieldName: finalFieldName || "",
|
fieldName: finalFieldName || "",
|
||||||
value: valueString?.toString() || "",
|
value: valueString?.toString() || "",
|
||||||
|
isValueFieldValue: Boolean(
|
||||||
|
typeof valueParsed == "object" &&
|
||||||
|
valueParsed.fieldName &&
|
||||||
|
valueParsed.tableName
|
||||||
|
),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return operatorStrParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Array.isArray(queryObj.value)) {
|
||||||
|
const strArray: string[] = [];
|
||||||
|
|
||||||
|
queryObj.value.forEach((val) => {
|
||||||
|
const operatorStrParam = grabValue(val);
|
||||||
|
|
||||||
|
if (!operatorStrParam) return;
|
||||||
|
|
||||||
if (operatorStrParam.str && operatorStrParam.param) {
|
if (operatorStrParam.str && operatorStrParam.param) {
|
||||||
strArray.push(operatorStrParam.str);
|
strArray.push(operatorStrParam.str);
|
||||||
sqlSearhValues.push(operatorStrParam.param);
|
sqlSearhValues.push(operatorStrParam.param);
|
||||||
@ -94,6 +111,14 @@ export default function sqlGenerator<
|
|||||||
});
|
});
|
||||||
|
|
||||||
str = "(" + strArray.join(` ${queryObj.operator || "AND"} `) + ")";
|
str = "(" + strArray.join(` ${queryObj.operator || "AND"} `) + ")";
|
||||||
|
} else if (typeof queryObj.value == "object") {
|
||||||
|
const operatorStrParam = grabValue(queryObj.value);
|
||||||
|
if (operatorStrParam?.str) {
|
||||||
|
str = operatorStrParam.str;
|
||||||
|
if (operatorStrParam.param) {
|
||||||
|
sqlSearhValues.push(operatorStrParam.param);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
const valueParsed = queryObj.value
|
const valueParsed = queryObj.value
|
||||||
? String(queryObj.value)
|
? String(queryObj.value)
|
||||||
|
|||||||
@ -1096,13 +1096,20 @@ export type TableSelectFieldsObject<
|
|||||||
export type ServerQueryValuesObject = {
|
export type ServerQueryValuesObject = {
|
||||||
value?: string | number;
|
value?: string | number;
|
||||||
equality?: (typeof ServerQueryEqualities)[number];
|
equality?: (typeof ServerQueryEqualities)[number];
|
||||||
|
tableName?: string;
|
||||||
|
fieldName?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type ServerQueryObjectValue =
|
||||||
|
| string
|
||||||
|
| (string | ServerQueryValuesObject | undefined | null)
|
||||||
|
| (string | ServerQueryValuesObject | undefined | null)[];
|
||||||
|
|
||||||
export type ServerQueryObject<
|
export type ServerQueryObject<
|
||||||
T extends object = { [key: string]: any },
|
T extends object = { [key: string]: any },
|
||||||
K extends string = string
|
K extends string = string
|
||||||
> = {
|
> = {
|
||||||
value?: string | (string | ServerQueryValuesObject | undefined | null)[];
|
value?: ServerQueryObjectValue;
|
||||||
nullValue?: boolean;
|
nullValue?: boolean;
|
||||||
notNullValue?: boolean;
|
notNullValue?: boolean;
|
||||||
operator?: (typeof ServerQueryOperators)[number];
|
operator?: (typeof ServerQueryOperators)[number];
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/datasquirel",
|
"name": "@moduletrace/datasquirel",
|
||||||
"version": "5.7.21",
|
"version": "5.7.22",
|
||||||
"description": "Cloud-based SQL data management tool",
|
"description": "Cloud-based SQL data management tool",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user