function CubicBezier(coordinates) {
        if (typeof coordinates === "string") {
            this.coordinates = coordinates.split(",");
        } else {
            this.coordinates = coordinates;
        }

        if (!this.coordinates) {
            throw "No offsets were defined";
        }

        this.coordinates = this.coordinates.map(function (n) { return +n; });

        var i;
        for (i = 3; i >= 0; i--) {
            var xy = this.coordinates[i];
            if (isNaN(xy) || (((i % 2) === 0) && (xy < 0 || xy > 1))) {
                throw "Wrong coordinate at " + i + "(" + xy + ")";
            }
        }
    }
function CubicBezier(coordinates) {
        if (typeof coordinates === "string") {
            this.coordinates = coordinates.split(",");
        } else {
            this.coordinates = coordinates;
        }

        if (!this.coordinates) {
            throw "No offsets were defined";
        }

        this.coordinates = this.coordinates.map(function (n) { return +n; });

        var i;
        for (i = 3; i >= 0; i--) {
            var xy = this.coordinates[i];
            if (isNaN(xy) || (((i % 2) === 0) && (xy < 0 || xy > 1))) {
                throw "Wrong coordinate at " + i + "(" + xy + ")";
            }
        }
    }
function CubicBezier ( coordinates ) { if ( typeof coordinates === "string" ) { this . coordinates = coordinates . split ( "," ) ; } else { this . coordinates = coordinates ; } if ( ! this . coordinates ) { throw "No offsets were defined" ; } this . coordinates = this . coordinates . map ( function ( n ) { return + n ; } ) ; var i ; for ( i = 3 ; i >= 0 ; i -- ) { var xy = this . coordinates [ i ] ; if ( isNaN ( xy ) || ( ( ( i % 2 ) === 0 ) && ( xy < 0 || xy > 1 ) ) ) { throw "Wrong coordinate at " + i + "(" + xy + ")" ; } } }
CubicBezier object constructor

@param {string|Array.number[4]} coordinates Four parameters passes to cubic-bezier()
either in string or array format.
CubicBezier object constructor
CubicBezier constructor.