import { invariant as e } from "../../errors.es.js";
import { noop as c } from "../../noop.es.js";
import { anticipate as u } from "../anticipate.es.js";
import { backOut as s, backInOut as m, backIn as p } from "../back.es.js";
import { circOut as l, circInOut as b, circIn as f } from "../circ.es.js";
import { cubicBezier as g } from "../cubic-bezier.es.js";
import { easeOut as I, easeInOut as y, easeIn as O } from "../ease.es.js";
import { isBezierDefinition as k } from "./is-bezier-definition.es.js";
const t = {
  linear: c,
  easeIn: O,
  easeInOut: y,
  easeOut: I,
  circIn: f,
  circInOut: b,
  circOut: l,
  backIn: p,
  backInOut: m,
  backOut: s,
  anticipate: u
}, v = (r) => typeof r == "string", L = (r) => {
  if (k(r)) {
    e(r.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length");
    const [i, n, o, a] = r;
    return g(i, n, o, a);
  } else if (v(r))
    return e(t[r] !== void 0, `Invalid easing type '${r}'`, "invalid-easing-type"), t[r];
  return r;
};
export {
  L as easingDefinitionToFunction
};
//# sourceMappingURL=map.es.js.map
