@blueprintjs/core
Version:
Core styles & components
32 lines • 1.16 kB
JavaScript
/* !
* (c) Copyright 2025 Palantir Technologies Inc. All rights reserved.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.useValidateProps = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const utils_1 = require("../common/utils");
/**
* Custom hook for validating component props during development.
* This hook runs validation checks only in non-production environments,
* following the same pattern as AbstractComponent.
*
* @param validator - Function that performs the validation checks
* @param dependencies - Optional array of dependencies that trigger validation when changed
*
* @example
* useValidateProps(() => {
* if (value < 0) console.warn("Value must be positive");
* }, [value]);
*/
function useValidateProps(validator, dependencies = []) {
React.useEffect(() => {
if (!(0, utils_1.isNodeEnv)("production")) {
validator();
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, dependencies);
}
exports.useValidateProps = useValidateProps;
//# sourceMappingURL=useValidateProps.js.map
;