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

49 lines 2.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FmFilter = void 0; const exceptions_1 = __importDefault(require("../exceptions")); const literalDataTypes_1 = __importDefault(require("../models/literalDataTypes")); const nodes_1 = require("../models/nodes"); const validations_1 = __importDefault(require("../models/validations")); const exceptions_2 = require("../utils/exceptions"); const stringToData_1 = __importDefault(require("../utils/stringToData")); class FmFilter extends nodes_1.Filter { constructor(variables, word) { super(); this.supportedTypes = [literalDataTypes_1.default.STRING]; this.variables = variables; this.word = word; } validate(fdCon) { try { // eslint-disable-next-line no-restricted-syntax for (const v of this.variables) { const type = fdCon.getFieldDescription(v).dataType; if (!this.supportedTypes.includes(type)) { throw (0, exceptions_2.dataTypeNotSupportedException)(type); } fdCon.incOccurrence(v); } // FmFilter only works with STRING (0, stringToData_1.default)(literalDataTypes_1.default.STRING)(this.word); return new validations_1.default(true, undefined); } catch (err) { const exception = new exceptions_1.default(`FmFilter: ${err.message}`); return new validations_1.default(false, exception); } } // eslint-disable-next-line @typescript-eslint/no-unused-vars toMongoCriteria(_fdCon) { throw new Error('Method not implemented.'); } // eslint-disable-next-line @typescript-eslint/no-unused-vars toMySqlCriteria(_fdCon) { throw new Error('Method not implemented.'); } } exports.FmFilter = FmFilter; //# sourceMappingURL=specialFilters.js.map