UNPKG

nextpay-querystring

Version:

Thư viện QueryString của NextPay - Chuyển đổi QueryString thành điều kiện select cho MongoDB và MySQL với kiểm soát bảo mật

48 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.arrayFilterFactory = exports.compareFilterFactory = exports.FmFilter = void 0; const specialFilters_1 = require("./specialFilters"); Object.defineProperty(exports, "FmFilter", { enumerable: true, get: function () { return specialFilters_1.FmFilter; } }); const compareFilters_1 = require("./compareFilters"); const arrayFilters_1 = require("./arrayFilters"); const tokens_1 = require("../models/tokens"); const exceptions_1 = require("../utils/exceptions"); const compareFilterFactory = (op) => (variable, value) => { switch (op.type) { case tokens_1.TokenType.DOUBLE_EQUALS: return new compareFilters_1.EqFilter(variable, value); case tokens_1.TokenType.BANG_EQUAL: return new compareFilters_1.NeFilter(variable, value); case tokens_1.TokenType.LESS: return new compareFilters_1.LtFilter(variable, value); case tokens_1.TokenType.LESS_EQUAL: return new compareFilters_1.LteFilter(variable, value); case tokens_1.TokenType.GREATER: return new compareFilters_1.GtFilter(variable, value); case tokens_1.TokenType.GREATER_EQUAL: return new compareFilters_1.GteFilter(variable, value); case tokens_1.TokenType.PREFIX_LIKE: return new compareFilters_1.PrefixLikeFilter(variable, value); case tokens_1.TokenType.MIDDLE_LIKE: return new compareFilters_1.MiddleLikeFilter(variable, value); case tokens_1.TokenType.SUFFIX_LIKE: return new compareFilters_1.SuffixLikeFilter(variable, value); default: throw (0, exceptions_1.invalidCompareFilterException)(op); } }; exports.compareFilterFactory = compareFilterFactory; const arrayFilterFactory = (op) => (variable, values) => { switch (op.type) { case tokens_1.TokenType.IN: return new arrayFilters_1.InFilter(variable, values); case tokens_1.TokenType.NIN: return new arrayFilters_1.NinFilter(variable, values); case tokens_1.TokenType.RANGE: return new arrayFilters_1.RangeFilter(variable, values); default: throw (0, exceptions_1.invalidArrayFilterException)(op); } }; exports.arrayFilterFactory = arrayFilterFactory; //# sourceMappingURL=filters.js.map