UNPKG

plywood

Version:
55 lines (54 loc) 2.36 kB
import { __extends } from "tslib"; import { generalArraysEqual } from 'immutable-class'; import { handleNullCheckIfNeeded } from '../helper'; import { ChainableExpression, Expression } from './baseExpression'; var MvContainsExpression = (function (_super) { __extends(MvContainsExpression, _super); function MvContainsExpression(parameters) { var _this = _super.call(this, parameters, dummyObject) || this; _this._ensureOp('mvContains'); _this._checkOperandTypes('STRING'); _this.mvArray = parameters.mvArray; _this.type = 'BOOLEAN'; return _this; } MvContainsExpression.fromJS = function (parameters) { var value = ChainableExpression.jsToValue(parameters); value.mvArray = parameters.mvArray; return new MvContainsExpression(value); }; MvContainsExpression.prototype.valueOf = function () { var value = _super.prototype.valueOf.call(this); value.mvArray = this.mvArray; return value; }; MvContainsExpression.prototype.toJS = function () { var js = _super.prototype.toJS.call(this); js.mvArray = this.mvArray; return js; }; MvContainsExpression.prototype.equals = function (other) { return _super.prototype.equals.call(this, other) && generalArraysEqual(this.mvArray, other.mvArray); }; MvContainsExpression.prototype._toStringParameters = function (_indent) { return this.mvArray; }; MvContainsExpression.prototype._calcChainableHelper = function (operandValue) { var _this = this; var operandArray = typeof operandValue === 'string' ? [operandValue] : Array.isArray(operandValue) ? operandValue : []; return operandArray.every(function (element) { return _this.mvArray.includes(element); }); }; MvContainsExpression.prototype._getSQLChainableHelper = function (dialect, operandSQL) { return handleNullCheckIfNeeded(this.mvArray, "".concat(operandSQL, " IS NULL"), 'AND', function (withoutNull) { return dialect.mvContainsExpression(operandSQL, withoutNull); }); }; MvContainsExpression.op = 'MvContains'; return MvContainsExpression; }(ChainableExpression)); export { MvContainsExpression }; Expression.register(MvContainsExpression);