UNPKG

@sqb/builder

Version:

Extensible multi-dialect SQL query builder written with TypeScript

65 lines (64 loc) 2.51 kB
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; }