UNPKG

matrix-react-sdk

Version:
28 lines (25 loc) 3.08 kB
"use strict"; 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