use-stomp
Version:
react provider, class decorator, and a hook for websockets using the stomp protocol
29 lines (25 loc) • 3.17 kB
JavaScript
import "core-js/modules/es.object.get-own-property-descriptor";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
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) { _defineProperty(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; }
import { useCallback, useState } from 'react';
export default function useToggle(initialValue) {
var _useState = useState(!!initialValue),
_useState2 = _slicedToArray(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
var toggle = 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VUb2dnbGUudHMiXSwibmFtZXMiOlsidXNlQ2FsbGJhY2siLCJ1c2VTdGF0ZSIsInVzZVRvZ2dsZSIsImluaXRpYWxWYWx1ZSIsInZhbHVlIiwic2V0VmFsdWUiLCJ0b2dnbGUiLCJwcmV2IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLFNBQVFBLFdBQVIsRUFBcUJDLFFBQXJCLFFBQW9DLE9BQXBDO0FBRUEsZUFBZSxTQUFTQyxTQUFULENBQ1hDLFlBRFcsRUFFNkI7QUFBQSxrQkFDZEYsUUFBUSxDQUFDLENBQUMsQ0FBQ0UsWUFBSCxDQURNO0FBQUE7QUFBQSxNQUNqQ0MsS0FEaUM7QUFBQSxNQUMxQkMsUUFEMEI7O0FBR3hDLE1BQU1DLE1BQU0sR0FBR04sV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxjQUFDLFVBQUNJLEtBQUQsRUFBcUI7QUFDNUNDLElBQUFBLFFBQVEsQ0FBQyxVQUFDRSxJQUFEO0FBQUEsYUFBV0gsS0FBSyxLQUFLSSxTQUFWLEdBQXNCLENBQUNELElBQXZCLEdBQThCSCxLQUF6QztBQUFBLEtBQUQsQ0FBUjtBQUNILEdBRnlCLEdBRXZCLEVBRnVCLENBQTFCO0FBSUEsU0FBTyxDQUFDQSxLQUFELEVBQVFFLE1BQVIsQ0FBUDtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVG9nZ2xlKFxuICAgIGluaXRpYWxWYWx1ZT86IGJvb2xlYW5cbik6IFtib29sZWFuLCAobmV4dFZhbHVlPzogYm9vbGVhbikgPT4gdm9pZF0ge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoISFpbml0aWFsVmFsdWUpO1xuXG4gICAgY29uc3QgdG9nZ2xlID0gdXNlQ2FsbGJhY2soKHZhbHVlPzogYm9vbGVhbikgPT4ge1xuICAgICAgICBzZXRWYWx1ZSgocHJldikgPT4gKHZhbHVlID09PSB1bmRlZmluZWQgPyAhcHJldiA6IHZhbHVlKSk7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIFt2YWx1ZSwgdG9nZ2xlXTtcbn1cbiJdfQ==