You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
3.4 KiB
151 lines
3.4 KiB
|
|
'use strict';
|
|
/**
|
|
* Operator symbols to be used when querying data
|
|
*
|
|
* @see {@link Model#where}
|
|
*
|
|
* @property eq
|
|
* @property ne
|
|
* @property gte
|
|
* @property gt
|
|
* @property lte
|
|
* @property lt
|
|
* @property not
|
|
* @property is
|
|
* @property in
|
|
* @property notIn
|
|
* @property like
|
|
* @property notLike
|
|
* @property iLike
|
|
* @property notILike
|
|
* @property regexp
|
|
* @property notRegexp
|
|
* @property iRegexp
|
|
* @property notIRegexp
|
|
* @property between
|
|
* @property notBetween
|
|
* @property overlap
|
|
* @property contains
|
|
* @property contained
|
|
* @property adjacent
|
|
* @property strictLeft
|
|
* @property strictRight
|
|
* @property noExtendRight
|
|
* @property noExtendLeft
|
|
* @property and
|
|
* @property or
|
|
* @property any
|
|
* @property all
|
|
* @property values
|
|
* @property col
|
|
* @property placeholder
|
|
* @property join
|
|
*/
|
|
const Op = {
|
|
eq: Symbol.for('eq'),
|
|
ne: Symbol.for('ne'),
|
|
gte: Symbol.for('gte'),
|
|
gt: Symbol.for('gt'),
|
|
lte: Symbol.for('lte'),
|
|
lt: Symbol.for('lt'),
|
|
not: Symbol.for('not'),
|
|
is: Symbol.for('is'),
|
|
in: Symbol.for('in'),
|
|
notIn: Symbol.for('notIn'),
|
|
like: Symbol.for('like'),
|
|
notLike: Symbol.for('notLike'),
|
|
iLike: Symbol.for('iLike'),
|
|
notILike: Symbol.for('notILike'),
|
|
regexp: Symbol.for('regexp'),
|
|
notRegexp: Symbol.for('notRegexp'),
|
|
iRegexp: Symbol.for('iRegexp'),
|
|
notIRegexp: Symbol.for('notIRegexp'),
|
|
between: Symbol.for('between'),
|
|
notBetween: Symbol.for('notBetween'),
|
|
overlap: Symbol.for('overlap'),
|
|
contains: Symbol.for('contains'),
|
|
contained: Symbol.for('contained'),
|
|
adjacent: Symbol.for('adjacent'),
|
|
strictLeft: Symbol.for('strictLeft'),
|
|
strictRight: Symbol.for('strictRight'),
|
|
noExtendRight: Symbol.for('noExtendRight'),
|
|
noExtendLeft: Symbol.for('noExtendLeft'),
|
|
and: Symbol.for('and'),
|
|
or: Symbol.for('or'),
|
|
any: Symbol.for('any'),
|
|
all: Symbol.for('all'),
|
|
values: Symbol.for('values'),
|
|
col: Symbol.for('col'),
|
|
placeholder: Symbol.for('placeholder'),
|
|
join: Symbol.for('join'),
|
|
raw: Symbol.for('raw') //deprecated remove by v5.0
|
|
};
|
|
|
|
const Aliases = {
|
|
$eq: Op.eq,
|
|
$ne: Op.ne,
|
|
$gte: Op.gte,
|
|
$gt: Op.gt,
|
|
$lte: Op.lte,
|
|
$lt: Op.lt,
|
|
$not: Op.not,
|
|
$in: Op.in,
|
|
$notIn: Op.notIn,
|
|
$is: Op.is,
|
|
$like: Op.like,
|
|
$notLike: Op.notLike,
|
|
$iLike: Op.iLike,
|
|
$notILike: Op.notILike,
|
|
$regexp: Op.regexp,
|
|
$notRegexp: Op.notRegexp,
|
|
$iRegexp: Op.iRegexp,
|
|
$notIRegexp: Op.notIRegexp,
|
|
$between: Op.between,
|
|
$notBetween: Op.notBetween,
|
|
$overlap: Op.overlap,
|
|
$contains: Op.contains,
|
|
$contained: Op.contained,
|
|
$adjacent: Op.adjacent,
|
|
$strictLeft: Op.strictLeft,
|
|
$strictRight: Op.strictRight,
|
|
$noExtendRight: Op.noExtendRight,
|
|
$noExtendLeft: Op.noExtendLeft,
|
|
$and: Op.and,
|
|
$or: Op.or,
|
|
$any: Op.any,
|
|
$all: Op.all,
|
|
$values: Op.values,
|
|
$col: Op.col,
|
|
$raw: Op.raw //deprecated remove by v5.0
|
|
};
|
|
|
|
const LegacyAliases = { //deprecated remove by v5.0
|
|
'ne': Op.ne,
|
|
'not': Op.not,
|
|
'in': Op.in,
|
|
'notIn': Op.notIn,
|
|
'gte': Op.gte,
|
|
'gt': Op.gt,
|
|
'lte': Op.lte,
|
|
'lt': Op.lt,
|
|
'like': Op.like,
|
|
'ilike': Op.iLike,
|
|
'$ilike': Op.iLike,
|
|
'nlike': Op.notLike,
|
|
'$notlike': Op.notLike,
|
|
'notilike': Op.notILike,
|
|
'..': Op.between,
|
|
'between': Op.between,
|
|
'!..': Op.notBetween,
|
|
'notbetween': Op.notBetween,
|
|
'nbetween': Op.notBetween,
|
|
'overlap': Op.overlap,
|
|
'&&': Op.overlap,
|
|
'@>': Op.contains,
|
|
'<@': Op.contained
|
|
};
|
|
|
|
Op.Aliases = Aliases;
|
|
Op.LegacyAliases = Object.assign({}, LegacyAliases, Aliases);
|
|
module.exports = Op;
|