UNPKG

@warlock.js/cascade

Version:

ORM for managing databases

100 lines (99 loc) 3.41 kB
import {createColumnsObject,returnAsArray}from'./utils.js';const numericFilters = { number: ({ column, columns, value, query }) => { const numValue = Number(value); if (column) { query.where(column, numValue); } else if (columns) { query.orWhere(createColumnsObject(columns, numValue)); } }, inNumber: ({ column, columns, value, query }) => { const values = returnAsArray(value).map(v => Number(v)); if (column) { query.whereIn(column, values); } else if (columns) { query.orWhere(createColumnsObject(columns, { $in: values })); } }, int: ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, intValue)); } }, integer: ({ column, columns, value, query }) => { numericFilters.int({ column, columns, value, query }); }, "!int": ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, "!=", intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, { $ne: intValue })); } }, "int>": ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, ">", intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, { $gt: intValue })); } }, "int>=": ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, ">=", intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, { $gte: intValue })); } }, "int<": ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, "<", intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, { $lt: intValue })); } }, "int<=": ({ column, columns, value, query }) => { const intValue = parseInt(value); if (column) { query.where(column, "<=", intValue); } else if (columns) { query.orWhere(createColumnsObject(columns, { $lte: intValue })); } }, inInt: ({ column, columns, value, query }) => { const values = returnAsArray(value).map(v => parseInt(v)); if (column) { query.whereIn(column, values); query.whereIn(column, values); } else if (columns) { query.orWhere(createColumnsObject(columns, { $in: values })); } }, float: ({ column, columns, value, query }) => { const floatValue = parseFloat(value); if (column) { query.where(column, floatValue); } else if (columns) { query.orWhere(createColumnsObject(columns, floatValue)); } }, double: ({ column, columns, value, query }) => { numericFilters.float({ column, columns, value, query }); }, };export{numericFilters};//# sourceMappingURL=numeric-filters.js.map