import { cubicAt, cubicRootAt } from '../core/curve.js'; 
 | 
import { trim } from '../core/util.js'; 
 | 
var regexp = /cubic-bezier\(([0-9,\.e ]+)\)/; 
 | 
export function createCubicEasingFunc(cubicEasingStr) { 
 | 
    var cubic = cubicEasingStr && regexp.exec(cubicEasingStr); 
 | 
    if (cubic) { 
 | 
        var points = cubic[1].split(','); 
 | 
        var a_1 = +trim(points[0]); 
 | 
        var b_1 = +trim(points[1]); 
 | 
        var c_1 = +trim(points[2]); 
 | 
        var d_1 = +trim(points[3]); 
 | 
        if (isNaN(a_1 + b_1 + c_1 + d_1)) { 
 | 
            return; 
 | 
        } 
 | 
        var roots_1 = []; 
 | 
        return function (p) { 
 | 
            return p <= 0 
 | 
                ? 0 : p >= 1 
 | 
                ? 1 
 | 
                : cubicRootAt(0, a_1, c_1, 1, p, roots_1) && cubicAt(0, b_1, d_1, 1, roots_1[0]); 
 | 
        }; 
 | 
    } 
 | 
} 
 |