constraint/abstractoperator.js

'use strict';

/**
 * @author schukai GmbH
 */

import {Monster, AbstractConstraint} from "./abstract.js";

/**
 *
 * @since 1.3.0
 * @copyright schukai GmbH
 * @memberOf Monster/Constraint
 */
class Operator extends AbstractConstraint {

    /**
     *
     * @param {AbstractConstraint} operantA
     * @param {AbstractConstraint} operantB
     * @throws {TypeError} "parameters must be from type AbstractConstraint"
     */
    constructor(operantA, operantB) {
        super();

        if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) {
            throw new TypeError("parameters must be from type AbstractConstraint")
        }

        this.operantA = operantA;
        this.operantB = operantB;

    }


}

Monster.assignToNamespace('Monster.Constraint', Operator);
export {Monster, Operator}