import { invariant } from "./index95.js";
import { noop } from "./index101.js";
import { cubicBezier } from "./index109.js";
import { backIn, backInOut, backOut } from "./index112.js";
import { anticipate } from "./index113.js";
import { circIn, circInOut, circOut } from "./index114.js";
import { easeIn, easeInOut, easeOut } from "./index115.js";
import { isBezierDefinition } from "./index118.js";
//#region node_modules/motion-utils/dist/es/easing/utils/map.mjs
var easingLookup = {
	linear: noop,
	easeIn,
	easeInOut,
	easeOut,
	circIn,
	circInOut,
	circOut,
	backIn,
	backInOut,
	backOut,
	anticipate
};
var isValidEasing = (easing) => {
	return typeof easing === "string";
};
var easingDefinitionToFunction = (definition) => {
	if (isBezierDefinition(definition)) {
		invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, "cubic-bezier-length");
		const [x1, y1, x2, y2] = definition;
		return cubicBezier(x1, y1, x2, y2);
	} else if (isValidEasing(definition)) {
		invariant(easingLookup[definition] !== void 0, `Invalid easing type '${definition}'`, "invalid-easing-type");
		return easingLookup[definition];
	}
	return definition;
};
//#endregion
export { easingDefinitionToFunction };

//# sourceMappingURL=index119.js.map