UNPKG

@carbon/ibm-security

Version:

Carbon for Cloud & Cognitive IBM Security UI components

43 lines (41 loc) 1.68 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _propTypes = require("prop-types"); var _deprecate = _interopRequireDefault(require("../deprecate")); /** * @file Custom `prop-types` validation. * @copyright IBM Security 2018 */ /** * Throws a warning for deprecated props and validates that prop. * @param {string} replacementPropName The suggested replacement prop name. * @param {PropTypes.<*>} propValidation The prop validation to check against. */ var deprecatedProp = function deprecatedProp(replacementPropName, propValidation) { return function (props, deprecatedPropName, componentName) { /** * Creates a prop object to validate against. * @param {string|PropTypes.<*>} propValue The prop value to add to the object. * @returns {Record<string, any>} The prop object to validate against. */ var createPropObject = function createPropObject(propValue) { return (0, _defineProperty2.default)({}, "".concat(deprecatedPropName), propValue); }; var prop = props[deprecatedPropName]; if (prop) { (0, _deprecate.default)({ actual: deprecatedPropName, componentName: componentName, description: 'prop type', expected: replacementPropName }); } (0, _propTypes.checkPropTypes)(createPropObject(propValidation), createPropObject(prop), deprecatedPropName, componentName); }; }; var _default = exports.default = deprecatedProp;