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
JavaScript
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
;