sequelize-querystring-converter
Version:
Enable filter, sort, paginate and search on your dataset by simply adding some query parameters on your API.
203 lines (201 loc) • 4.96 kB
JavaScript
const operators = {
eq: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('eq') : '$eq',
value
}
},
ne: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('ne') : '$ne',
value
}
},
gte: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('gte') : '$gte',
value
}
},
gt: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('gt') : '$gt',
value
}
},
lte: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('lte') : '$lte',
value
}
},
lt: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('lt') : '$lt',
value
}
},
not: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('not') : '$not',
value
}
},
is: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('is') : '$is',
value
}
},
in: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('in') : '$in',
value: value.split(',')
}
},
notIn: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notIn') : '$notIn',
value: value.split(',')
}
},
like: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('like') : '$like',
value
}
},
notLike: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notLike') : '$notLike',
value
}
},
iLike: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('iLike') : '$iLike',
value
}
},
notILike: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notILike') : '$notILike',
value
}
},
startsWith: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('startsWith') : '$startsWith',
value
}
},
endsWith: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('endsWith') : '$endsWith',
value
}
},
substring: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('substring') : '$substring',
value
}
},
regexp: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('regexp') : '$regexp',
value
}
},
notRegexp: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notRegexp') : '$notRegexp',
value
}
},
iRegexp: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('iRegexp') : '$iRegexp',
value
}
},
notIRegexp: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notIRegexp') : '$notIRegexp',
value
}
},
between: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('between') : '$between',
value: value.split(',')
}
},
notBetween: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('notBetween') : '$notBetween',
value: value.split(',')
}
},
overlap: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('overlap') : '$overlap',
value: value.split(',')
}
},
contains: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('contains') : '$contains',
value: value.split(',')
}
},
contained: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('contained') : '$contained',
value: value.split(',')
}
},
adjacent: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('adjacent') : '$adjacent',
value: value.split(',')
}
},
strictLeft: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('strictLeft') : '$strictLeft',
value: value.split(',')
}
},
strictRight: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('strictRight') : '$strictRight',
value: value.split(',')
}
},
noExtendRight: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('noExtendRight') : '$noExtendRight',
value: value.split(',')
}
},
noExtendLeft: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('noExtendLeft') : '$noExtendLeft',
value: value.split(',')
}
},
and: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('and') : '$and',
value: value.split(',')
}
},
or: (symbolic, value) => {
return {
comparisonOp: symbolic ? Symbol.for('or') : '$or',
value: value.split(',')
}
},
};
module.exports = operators;