mysql-all-in-one
Version:
A package that allows you to have a complete interaction with a MYSQL database, allowing to connect to the database, retrieve data and create queries.
50 lines (49 loc) • 1.86 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isSqlExpressionPreparedStatement = exports.SqlExp = exports.SqlColumn = exports.isPreparedStatement = exports.emptyPrepStatement = exports.isArrayOfStrings = exports.isSqlValues = void 0;
const isSqlValues = (val) => val === null ||
val === undefined ||
(["string", "boolean", "number", "object"].includes(typeof val) &&
!Array.isArray(val) &&
(typeof val !== "object" || val instanceof Date));
exports.isSqlValues = isSqlValues;
const isArrayOfStrings = (val) => val !== undefined &&
val !== null &&
Array.isArray(val) &&
val.every((v) => typeof v === "string");
exports.isArrayOfStrings = isArrayOfStrings;
exports.emptyPrepStatement = {
statement: "",
values: [],
__is_prep_statement: true,
};
const isPreparedStatement = (val) => val !== undefined &&
val !== null &&
!Array.isArray(val) &&
typeof val === "object" &&
Object.keys(val).length === 3 &&
typeof val.statement === "string" &&
val.statement !== "" &&
val.__is_prep_statement === true &&
Array.isArray(val.values) &&
(val.values.length === 0 || val.values.every((v) => (0, exports.isSqlValues)(v)));
exports.isPreparedStatement = isPreparedStatement;
class SqlColumn {
constructor(column) {
this.column = column;
}
}
exports.SqlColumn = SqlColumn;
class SqlExp {
constructor(expression) {
this.expression = expression;
}
}
exports.SqlExp = SqlExp;
const isSqlExpressionPreparedStatement = (val) => val !== null &&
typeof val === 'object' &&
typeof val.statement === 'string' &&
Array.isArray(val.values) &&
val.values.every((v) => (0, exports.isSqlValues)(v)) &&
val.__is_prep_statement === true;
exports.isSqlExpressionPreparedStatement = isSqlExpressionPreparedStatement;
;