Home Manual Reference Source Test Repository

src/api/Property.js

import Restrictions from "./Restrictions";

class PropertyRestriction {
    __key;
    constructor(key: string) {
        this.__key = key;
    }
    /**
     *
     * @param {string} op
     * @param {any} value
     * @returns {Function}
     */
    op(op: string, value: any): Function {
        return Restrictions.op(op, this.__key, value);
    }
    /**
     *
     * @param {any} value
     * @returns {Function}
     */
    gt(value: any): Function {
        return Restrictions.gt(this.__key, value);
    };

    /**
     * @param {any} value
     * @returns {Function}
     */
    lt(value: any): Function {
        return Restrictions.lt(this.__key, value);
    };

    /**
     * @param {any} value
     * @returns {Function}
     */
    like(value: any): Function {
        return Restrictions.like(this.__key, value);
    };

    /**
     * @param {Array<any>} values
     * @returns {Function}
     */
    in(values: Array<any>) : Function {
        return Restrictions.in(this.__key, values);
    }
    /**
     * @param {any} value
     * @returns {Function}
     */
    ilike(value: any): Function {
        return Restrictions.ilike(this.__key, value);
    };
    /**
     * @param {Array<any>} values
     * @returns {Function}
     */
    iin(values: Array<any>) : Function{
        return Restrictions.iin(this.__key, values);
    }
    /**
     * @param {any} startValue
     * @param {any} endValue
     * @returns {Function}
     */
    between(startValue: any, endValue: any): Function{
        return Restrictions.between(this.__key, startValue, endValue);
    }

    /**
     * @returns {Function}
     */
    isNull(): Function {
        return Restrictions.isNull(this.__key);
    }
    /**
     * @returns {Function}
     */
    isNotNull(): Function {
        return Restrictions.isNotNull(this.__key);
    }
    /**
     *
     * @param {string} key
     * @returns {Function}
     */
    isEmpty(): Function {
        return Restrictions.isEmpty(this.__key);
    }
    /**
     *
     * @param {string} key
     * @returns {Function}
     */
    isNotEmpty(): Function {
        return Restrictions.isNotEmpty(this.__key);
    }
}
class Property {
    forName(name: string): PropertyRestriction {
        return new PropertyRestriction(name);
    }
}

export default new Property();