UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

14 lines (13 loc) 536 B
import { isArrayEqual } from "../util/equal.js"; import { getLazy } from "../util/lazy.js"; import { useInternals } from "./useInternals.js"; export function useLazy(value, ...args) { const internals = useInternals(); // Update `internals` if `args` changes. if (internals.args === undefined || !isArrayEqual(args, internals.args)) { internals.value = getLazy(value, ...args); internals.args = args; } // biome-ignore lint/style/noNonNullAssertion: We know this is set. return internals.value; }