shelving
Version:
Toolkit for using data in JavaScript.
11 lines (10 loc) • 435 B
JavaScript
import { use } from "react";
import { RequiredError } from "../../error/RequiredError.js";
import { notNullish } from "../../util/null.js";
export function requireContext(context, caller = requireContext) {
const value = use(context);
if (notNullish(value))
return value;
const { displayName = "Context" } = context;
throw new RequiredError(`${displayName} must be used inside <${displayName}>`, { caller });
}