use-stomp
Version:
react provider, class decorator, and a hook for websockets using the stomp protocol
41 lines (31 loc) • 3.36 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
require("core-js/modules/es.object.get-own-property-descriptor");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useToggle;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function useToggle(initialValue) {
var _useState = (0, _react.useState)(!!initialValue),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
var toggle = (0, _react.useCallback)(function (name, callable) {
callable.displayName = name;
Object.defineProperty(callable, "name", _objectSpread(_objectSpread({}, Object.getOwnPropertyDescriptor(callable, "name")), {}, {
value: name
}));
return callable;
}("toggle", function (value) {
setValue(function (prev) {
return value === undefined ? !prev : value;
});
}), []);
return [value, toggle];
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VUb2dnbGUudHMiXSwibmFtZXMiOlsidXNlVG9nZ2xlIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJzZXRWYWx1ZSIsInRvZ2dsZSIsInByZXYiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFZSxTQUFTQSxTQUFULENBQ1hDLFlBRFcsRUFFNkI7QUFBQSxrQkFDZCxxQkFBUyxDQUFDLENBQUNBLFlBQVgsQ0FEYztBQUFBO0FBQUEsTUFDakNDLEtBRGlDO0FBQUEsTUFDMUJDLFFBRDBCOztBQUd4QyxNQUFNQyxNQUFNLEdBQUc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FBWSxVQUFDRixLQUFELEVBQXFCO0FBQzVDQyxJQUFBQSxRQUFRLENBQUMsVUFBQ0UsSUFBRDtBQUFBLGFBQVdILEtBQUssS0FBS0ksU0FBVixHQUFzQixDQUFDRCxJQUF2QixHQUE4QkgsS0FBekM7QUFBQSxLQUFELENBQVI7QUFDSCxHQUZjLEdBRVosRUFGWSxDQUFmO0FBSUEsU0FBTyxDQUFDQSxLQUFELEVBQVFFLE1BQVIsQ0FBUDtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVG9nZ2xlKFxuICAgIGluaXRpYWxWYWx1ZT86IGJvb2xlYW5cbik6IFtib29sZWFuLCAobmV4dFZhbHVlPzogYm9vbGVhbikgPT4gdm9pZF0ge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoISFpbml0aWFsVmFsdWUpO1xuXG4gICAgY29uc3QgdG9nZ2xlID0gdXNlQ2FsbGJhY2soKHZhbHVlPzogYm9vbGVhbikgPT4ge1xuICAgICAgICBzZXRWYWx1ZSgocHJldikgPT4gKHZhbHVlID09PSB1bmRlZmluZWQgPyAhcHJldiA6IHZhbHVlKSk7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIFt2YWx1ZSwgdG9nZ2xlXTtcbn1cbiJdfQ==