UNPKG

ns2-front-module-common

Version:
137 lines 6.54 kB
import { Injectable } from "@angular/core"; import { RealtyFilterOperation } from "../models/realty-filter-operation.model"; import { RealtyFilterLogicalOperation } from "../models/realty-filter-logical-operation.model"; /** * Класс для построения объектов фильтрации объявлений */ var RealtyFiltersBuilder = (function () { function RealtyFiltersBuilder() { } /** * Формирование части запроса ИЛИ. * Параметры метода будут использованы в запросе через оператор ИЛИ. * @param filter Компоненты фильтра * @returns {RealtyFilterLogicalOperation} */ RealtyFiltersBuilder.prototype.or = function (filter) { return new RealtyFilterLogicalOperation('or', filter); }; /** * Формирование части запроса И. * Параметры метода будут использованы в запросе через оператор И. * @param filter Компоненты фильтра * @returns {RealtyFilterLogicalOperation} */ RealtyFiltersBuilder.prototype.and = function (filter) { return new RealtyFilterLogicalOperation('and', filter); }; /** * Проверка на равенство указанного поля с переданным значением * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.eq = function (field, value) { return new RealtyFilterOperation('eq', field, value); }; /** * Проверка на неравенство указанного поля с переданным значением * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.ne = function (field, value) { return new RealtyFilterOperation('ne', field, value); }; /** * Проверка что значение указанного поля больше переданного значения * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.gt = function (field, value) { return new RealtyFilterOperation('gt', field, value); }; /** * Проверка что значение указанного поля больше или равно переданному значению * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.gte = function (field, value) { return new RealtyFilterOperation('gte', field, value); }; /** * Проверка что значение указанного поля меньше переданного значения * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.lt = function (field, value) { return new RealtyFilterOperation('lt', field, value); }; /** * Проверка что значение указанного поля меньше или равно переданному значению * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.lte = function (field, value) { return new RealtyFilterOperation('lte', field, value); }; /** * Проверка что значение указанного поля входит в массив переданных значений * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.in = function (field, value) { return new RealtyFilterOperation('in', field, value); }; /** * Проверка что значение указанного поля не входит в массив переданных значений * @param field Имя поля * @param value Значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.nin = function (field, value) { return new RealtyFilterOperation('nin', field, value); }; /** * Проверка что значение указанного поля(точки на карте) входит в прямоугольную область описываемую параметрами leftBottomPoint и rightTopPoint * @param field Имя поля * @param leftBottomPoint Координаты левой-нижней точки прямоугольника * @param rightTopPoint Координаты правой-верхней точки прямоугольника * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.geoIn = function (field, leftBottomPoint, rightTopPoint) { return new RealtyFilterOperation('geoin', field, [[leftBottomPoint[0], leftBottomPoint[1]], [rightTopPoint[0], rightTopPoint[1]]]); }; /** * Проверка что значение поля входит в диапазон между minValue и maxValue (включая крайние точки) * @param field Имя поля * @param minValue Минимальное значение * @param maxValue Максимальное значение * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.between = function (field, minValue, maxValue) { return new RealtyFilterOperation('between', field, [minValue, maxValue]); }; /** * Проверка существования поля * @param field Имя поля * @param value Должно поле существовать или нет * @returns {RealtyFilterOperation} */ RealtyFiltersBuilder.prototype.exists = function (field, value) { return new RealtyFilterOperation('exists', field, value); }; return RealtyFiltersBuilder; }()); export { RealtyFiltersBuilder }; RealtyFiltersBuilder.decorators = [ { type: Injectable }, ]; /** @nocollapse */ RealtyFiltersBuilder.ctorParameters = function () { return []; }; //# sourceMappingURL=realty-filters-builder.service.js.map