const memoizeO = (fn, cache = /* @__PURE__ */ Object.create(null)) => (x) => x in cache ? cache[x] : cache[x] = fn(x);
const memoize2O = (fn, cache = /* @__PURE__ */ Object.create(null)) => (a, b) => {
  const key = a + "-" + b;
  return key in cache ? cache[key] : cache[key] = fn(a, b);
};
const memoize3O = (fn, cache = /* @__PURE__ */ Object.create(null)) => (a, b, c) => {
  const key = a + "-" + b + "-" + c;
  return key in cache ? cache[key] : cache[key] = fn(a, b, c);
};
const memoize4O = (fn, cache = /* @__PURE__ */ Object.create(null)) => (a, b, c, d) => {
  const key = a + "-" + b + "-" + c + "-" + d;
  return key in cache ? cache[key] : cache[key] = fn(a, b, c, d);
};
export {
  memoize2O,
  memoize3O,
  memoize4O,
  memoizeO
};
