box-overflow-core
Version:
Headless UI for automatically collapsing boxes when overflow.
28 lines (27 loc) • 751 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
function isElementNode(node) {
return node.nodeType === Node.ELEMENT_NODE;
}
function notNil(value) {
return value !== null && value !== void 0;
}
function memo(getDeps, fn) {
let deps = [];
let result;
let firstRun = true;
return () => {
const newDeps = getDeps();
const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
if (!depsChanged && !firstRun)
return result;
firstRun = false;
deps = newDeps;
result = fn(...newDeps);
return result;
};
}
exports.isElementNode = isElementNode;
exports.memo = memo;
exports.notNil = notNil;
//# sourceMappingURL=utils.cjs.map