@xo-union/tk-component-header-nav
Version:
22 lines (21 loc) • 905 B
JavaScript
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
const allowControl = function (hook) {
let mapOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : i => i;
return function (override) {
const isControlled = _react.default.useRef(override !== undefined);
if (isControlled.current) return mapOverride(override);
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
params[_key - 1] = arguments[_key];
}
return hook(...params);
};
};
var _default = allowControl;
exports.default = _default;
;