import { __read as o } from "../../../../../tslib/tslib.es6.es.js";
import { invariant as e } from "../../../../../hey-listen/dist/hey-listen.es.es.js";
import { cubicBezier as s } from "../../../../../popmotion/dist/es/easing/cubic-bezier.es.js";
import { linear as I, easeIn as b, easeInOut as O, easeOut as m, circIn as p, circInOut as y, circOut as k, backIn as l, backInOut as v, backOut as f, anticipate as g, bounceIn as A, bounceInOut as z, bounceOut as h } from "../../../../../popmotion/dist/es/easing/index.es.js";
var u = {
  linear: I,
  easeIn: b,
  easeInOut: O,
  easeOut: m,
  circIn: p,
  circInOut: y,
  circOut: k,
  backIn: l,
  backInOut: v,
  backOut: f,
  anticipate: g,
  bounceIn: A,
  bounceInOut: z,
  bounceOut: h
}, E = function(r) {
  if (Array.isArray(r)) {
    e(r.length === 4, "Cubic bezier arrays must contain four numerical values.");
    var n = o(r, 4), a = n[0], c = n[1], t = n[2], i = n[3];
    return s(a, c, t, i);
  } else if (typeof r == "string")
    return e(u[r] !== void 0, "Invalid easing type '".concat(r, "'")), u[r];
  return r;
}, F = function(r) {
  return Array.isArray(r) && typeof r[0] != "number";
};
export {
  E as easingDefinitionToFunction,
  F as isEasingArray
};
//# sourceMappingURL=easing.es.js.map
