matrix-react-sdk
Version:
SDK for matrix.org using React
27 lines (24 loc) • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useStateCallback = void 0;
var _react = require("react");
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
// Hook to simplify interactions with a store-backed state values
// Returns value and method to change the state value
const useStateCallback = (initialValue, callback) => {
const [value, setValue] = (0, _react.useState)(initialValue);
const interceptSetValue = newVal => {
setValue(newVal);
callback(newVal);
};
return [value, interceptSetValue];
};
exports.useStateCallback = useStateCallback;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlU3RhdGVDYWxsYmFjayIsImluaXRpYWxWYWx1ZSIsImNhbGxiYWNrIiwidmFsdWUiLCJzZXRWYWx1ZSIsInVzZVN0YXRlIiwiaW50ZXJjZXB0U2V0VmFsdWUiLCJuZXdWYWwiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVN0YXRlQ2FsbGJhY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgRGlzcGF0Y2gsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIEhvb2sgdG8gc2ltcGxpZnkgaW50ZXJhY3Rpb25zIHdpdGggYSBzdG9yZS1iYWNrZWQgc3RhdGUgdmFsdWVzXG4vLyBSZXR1cm5zIHZhbHVlIGFuZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBzdGF0ZSB2YWx1ZVxuZXhwb3J0IGNvbnN0IHVzZVN0YXRlQ2FsbGJhY2sgPSA8VD4oaW5pdGlhbFZhbHVlOiBULCBjYWxsYmFjazogKHY6IFQpID0+IHZvaWQpOiBbVCwgRGlzcGF0Y2g8VD5dID0+IHtcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKGluaXRpYWxWYWx1ZSk7XG4gICAgY29uc3QgaW50ZXJjZXB0U2V0VmFsdWUgPSAobmV3VmFsOiBUKTogdm9pZCA9PiB7XG4gICAgICAgIHNldFZhbHVlKG5ld1ZhbCk7XG4gICAgICAgIGNhbGxiYWNrKG5ld1ZhbCk7XG4gICAgfTtcbiAgICByZXR1cm4gW3ZhbHVlLCBpbnRlcmNlcHRTZXRWYWx1ZV07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ08sTUFBTUMsZ0JBQWdCLEdBQUdBLENBQUlDLFlBQWUsRUFBRUMsUUFBd0IsS0FBdUI7RUFDaEcsTUFBTSxDQUFDQyxLQUFLLEVBQUVDLFFBQVEsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFBQ0osWUFBWSxDQUFDO0VBQ2hELE1BQU1LLGlCQUFpQixHQUFJQyxNQUFTLElBQVc7SUFDM0NILFFBQVEsQ0FBQ0csTUFBTSxDQUFDO0lBQ2hCTCxRQUFRLENBQUNLLE1BQU0sQ0FBQztFQUNwQixDQUFDO0VBQ0QsT0FBTyxDQUFDSixLQUFLLEVBQUVHLGlCQUFpQixDQUFDO0FBQ3JDLENBQUM7QUFBQ0UsT0FBQSxDQUFBUixnQkFBQSxHQUFBQSxnQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==