@sqb/builder
Version:
Extensible multi-dialect SQL query builder written with TypeScript
65 lines (64 loc) • 2.51 kB
JavaScript
import { SerializationType } from './enums.js';
import { Query } from './query/query.js';
import { Serializable } from './serializable.js';
export function isSerializable(value) {
return value instanceof Serializable;
}
export function isQuery(value) {
return value instanceof Query;
}
export function isRawStatement(value) {
return isSerializable(value) && value._type === SerializationType.RAW;
}
export function isSelectQuery(value) {
return (isSerializable(value) && value._type === SerializationType.SELECT_QUERY);
}
export function isInsertQuery(value) {
return (isSerializable(value) && value._type === SerializationType.INSERT_QUERY);
}
export function isIUpdateQuery(value) {
return (isSerializable(value) && value._type === SerializationType.UPDATE_QUERY);
}
export function isDeleteQuery(value) {
return (isSerializable(value) && value._type === SerializationType.DELETE_QUERY);
}
export function isJoinStatement(value) {
return isSerializable(value) && value._type === SerializationType.JOIN;
}
export function isCaseStatement(value) {
return (isSerializable(value) && value._type === SerializationType.CASE_STATEMENT);
}
export function isCountStatement(value) {
return (isSerializable(value) && value._type === SerializationType.COUNT_STATEMENT);
}
export function isParamExpression(value) {
return (isSerializable(value) &&
value._type === SerializationType.EXTERNAL_PARAMETER);
}
export function isLogicalOperator(value) {
return (isSerializable(value) &&
value._type === SerializationType.LOGICAL_EXPRESSION);
}
export function isCompOperator(value) {
return (isSerializable(value) &&
value._type === SerializationType.COMPARISON_EXPRESSION);
}
export function isNotOperator(value) {
return (isSerializable(value) &&
value._type === SerializationType.NEGATIVE_EXPRESSION);
}
export function isSelectColumn(value) {
return isSerializable(value) && value._type === SerializationType.FIELD_NAME;
}
export function isOrderColumn(value) {
return (isSerializable(value) && value._type === SerializationType.ORDER_COLUMN);
}
export function isGroupColumn(value) {
return (isSerializable(value) && value._type === SerializationType.GROUP_COLUMN);
}
export function isReturningColumn(value) {
return (isSerializable(value) && value._type === SerializationType.RETURNING_COLUMN);
}
export function isTableName(value) {
return isSerializable(value) && value._type === SerializationType.TABLE_NAME;
}