useSearchConfig.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = useSearchConfig;
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
  10. var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
  11. var React = _interopRequireWildcard(require("react"));
  12. // Convert `showSearch` to unique config
  13. function useSearchConfig(showSearch) {
  14. return React.useMemo(function () {
  15. if (!showSearch) {
  16. return [false, {}];
  17. }
  18. var searchConfig = {
  19. matchInputWidth: true,
  20. limit: 50
  21. };
  22. if (showSearch && (0, _typeof2.default)(showSearch) === 'object') {
  23. searchConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, searchConfig), showSearch);
  24. }
  25. if (searchConfig.limit <= 0) {
  26. searchConfig.limit = false;
  27. if (process.env.NODE_ENV !== 'production') {
  28. (0, _warning.default)(false, "'limit' of showSearch should be positive number or false.");
  29. }
  30. }
  31. return [true, searchConfig];
  32. }, [showSearch]);
  33. }