UNPKG

matrix-react-sdk

Version:
31 lines (28 loc) 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAsyncMemo = useAsyncMemo; var _react = require("react"); /* Copyright 2024 New Vector Ltd. Copyright 2020 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. */ function useAsyncMemo(fn, deps, initialValue) { const [value, setValue] = (0, _react.useState)(initialValue); (0, _react.useEffect)(() => { let discard = false; fn().then(v => { if (!discard) { setValue(v); } }); return () => { discard = true; }; }, deps); // eslint-disable-line react-hooks/exhaustive-deps return value; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlQXN5bmNNZW1vIiwiZm4iLCJkZXBzIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJzZXRWYWx1ZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZGlzY2FyZCIsInRoZW4iLCJ2Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUFzeW5jTWVtby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCBEZXBlbmRlbmN5TGlzdCB9IGZyb20gXCJyZWFjdFwiO1xuXG50eXBlIEZuPFQ+ID0gKCkgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUFzeW5jTWVtbzxUPihmbjogRm48VD4sIGRlcHM6IERlcGVuZGVuY3lMaXN0LCBpbml0aWFsVmFsdWU6IFQpOiBUO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFzeW5jTWVtbzxUPihmbjogRm48VD4sIGRlcHM6IERlcGVuZGVuY3lMaXN0LCBpbml0aWFsVmFsdWU/OiBUKTogVCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBmdW5jdGlvbiB1c2VBc3luY01lbW88VD4oZm46IEZuPFQ+LCBkZXBzOiBEZXBlbmRlbmN5TGlzdCwgaW5pdGlhbFZhbHVlPzogVCk6IFQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oaW5pdGlhbFZhbHVlKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgZGlzY2FyZCA9IGZhbHNlO1xuICAgICAgICBmbigpLnRoZW4oKHYpID0+IHtcbiAgICAgICAgICAgIGlmICghZGlzY2FyZCkge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlKHYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRpc2NhcmQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgIH0sIGRlcHMpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBUU8sU0FBU0MsWUFBWUEsQ0FBSUMsRUFBUyxFQUFFQyxJQUFvQixFQUFFQyxZQUFnQixFQUFpQjtFQUM5RixNQUFNLENBQUNDLEtBQUssRUFBRUMsUUFBUSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFnQkgsWUFBWSxDQUFDO0VBQy9ELElBQUFJLGdCQUFTLEVBQUMsTUFBTTtJQUNaLElBQUlDLE9BQU8sR0FBRyxLQUFLO0lBQ25CUCxFQUFFLENBQUMsQ0FBQyxDQUFDUSxJQUFJLENBQUVDLENBQUMsSUFBSztNQUNiLElBQUksQ0FBQ0YsT0FBTyxFQUFFO1FBQ1ZILFFBQVEsQ0FBQ0ssQ0FBQyxDQUFDO01BQ2Y7SUFDSixDQUFDLENBQUM7SUFDRixPQUFPLE1BQU07TUFDVEYsT0FBTyxHQUFHLElBQUk7SUFDbEIsQ0FBQztFQUNMLENBQUMsRUFBRU4sSUFBSSxDQUFDLENBQUMsQ0FBQztFQUNWLE9BQU9FLEtBQUs7QUFDaEIiLCJpZ25vcmVMaXN0IjpbXX0=