//#region packages/api-services/src/utils/api/caseConverters.ts
var e = (e) => e.replace(/([a-z])([_])([a-z])/g, (e, t, n, r) => [t, r.toUpperCase()].join("")), t = (e) => e.replace(/([a-z])([A-Z])/g, (e, t, n) => [
	t,
	"_",
	n.toLowerCase()
].join("")), n = (e) => e.replace(/([-_][a-z])/g, (e) => e.toUpperCase().replace("-", "")), r = (e) => e.replace(/([A-Z])/g, (e) => e.toLowerCase().replace("", "-")), i = ({ self: e, converter: t }) => (n, r) => {
	if (!n) return n;
	let i = {};
	return Array.isArray(n) ? n.map((n) => typeof n == "object" ? e(n, r) : typeof n == "string" ? t(n) : n) : (Object.keys(n).forEach((a) => {
		if (r.includes(a)) i[a] = n[a];
		else {
			let o = t(a), s = n[a];
			(Array.isArray(s) || s != null && s.constructor === Object) && (s = e(s, r)), i[o] = s;
		}
	}), i);
}, a = (t, n = []) => i({
	self: a,
	converter: e
})(t, n), o = (e, n = []) => i({
	self: o,
	converter: t
})(e, n), s = (e, t = []) => i({
	self: s,
	converter: r
})(e, t);
//#endregion
export { a as i, s as n, o as r, n as t };
