UNPKG

@studiometa/js-toolkit

Version:

A set of useful little bits of JavaScript to boost your project! 🚀

21 lines (20 loc) • 509 B
import { isArray } from "./is.js"; const map = /* @__PURE__ */ new Map(); function cache(keys, callback) { const normalizedKeys = isArray(keys) ? keys : [keys]; let value = map; let index = 1; for (const key of normalizedKeys) { if (!value.has(key)) { const newValue = index === keys.length ? callback() : /* @__PURE__ */ new Map(); value.set(key, newValue); } value = value.get(key); index += 1; } return value; } export { cache }; //# sourceMappingURL=cache.js.map