matrix-react-sdk
Version:
SDK for matrix.org using React
28 lines (25 loc) • 3.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useStateArray = 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 managing state of arrays of a common type
const useStateArray = (initialSize, initialState) => {
const [data, setData] = (0, _react.useState)(() => {
return Array.isArray(initialState) ? initialState : new Array(initialSize).fill(initialState);
});
return [data, (index, value) => setData(data => {
const copy = [...data];
copy[index] = value;
return copy;
})];
};
exports.useStateArray = useStateArray;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlU3RhdGVBcnJheSIsImluaXRpYWxTaXplIiwiaW5pdGlhbFN0YXRlIiwiZGF0YSIsInNldERhdGEiLCJ1c2VTdGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsImZpbGwiLCJpbmRleCIsInZhbHVlIiwiY29weSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU3RhdGVBcnJheS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vLyBIb29rIHRvIHNpbXBsaWZ5IG1hbmFnaW5nIHN0YXRlIG9mIGFycmF5cyBvZiBhIGNvbW1vbiB0eXBlXG5leHBvcnQgY29uc3QgdXNlU3RhdGVBcnJheSA9IDxUPihpbml0aWFsU2l6ZTogbnVtYmVyLCBpbml0aWFsU3RhdGU6IFQgfCBUW10pOiBbVFtdLCAoaTogbnVtYmVyLCB2OiBUKSA9PiB2b2lkXSA9PiB7XG4gICAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8VFtdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGluaXRpYWxTdGF0ZSkgPyBpbml0aWFsU3RhdGUgOiBuZXcgQXJyYXkoaW5pdGlhbFNpemUpLmZpbGwoaW5pdGlhbFN0YXRlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gW1xuICAgICAgICBkYXRhLFxuICAgICAgICAoaW5kZXg6IG51bWJlciwgdmFsdWU6IFQpID0+XG4gICAgICAgICAgICBzZXREYXRhKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weSA9IFsuLi5kYXRhXTtcbiAgICAgICAgICAgICAgICBjb3B5W2luZGV4XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5O1xuICAgICAgICAgICAgfSksXG4gICAgXTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBO0FBQ08sTUFBTUMsYUFBYSxHQUFHQSxDQUFJQyxXQUFtQixFQUFFQyxZQUFxQixLQUF1QztFQUM5RyxNQUFNLENBQUNDLElBQUksRUFBRUMsT0FBTyxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFNLE1BQU07SUFDeEMsT0FBT0MsS0FBSyxDQUFDQyxPQUFPLENBQUNMLFlBQVksQ0FBQyxHQUFHQSxZQUFZLEdBQUcsSUFBSUksS0FBSyxDQUFDTCxXQUFXLENBQUMsQ0FBQ08sSUFBSSxDQUFDTixZQUFZLENBQUM7RUFDakcsQ0FBQyxDQUFDO0VBQ0YsT0FBTyxDQUNIQyxJQUFJLEVBQ0osQ0FBQ00sS0FBYSxFQUFFQyxLQUFRLEtBQ3BCTixPQUFPLENBQUVELElBQUksSUFBSztJQUNkLE1BQU1RLElBQUksR0FBRyxDQUFDLEdBQUdSLElBQUksQ0FBQztJQUN0QlEsSUFBSSxDQUFDRixLQUFLLENBQUMsR0FBR0MsS0FBSztJQUNuQixPQUFPQyxJQUFJO0VBQ2YsQ0FBQyxDQUFDLENBQ1Q7QUFDTCxDQUFDO0FBQUNDLE9BQUEsQ0FBQVosYUFBQSxHQUFBQSxhQUFBIiwiaWdub3JlTGlzdCI6W119