UNPKG

matrix-react-sdk

Version:
55 lines (51 loc) 6.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncStoreWithClient = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _AsyncStore = require("./AsyncStore"); var _ReadyWatchingStore = require("./ReadyWatchingStore"); /* 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. */ class AsyncStoreWithClient extends _AsyncStore.AsyncStore { constructor(dispatcher, initialState = {}) { super(dispatcher, initialState); // Create an anonymous class to avoid code duplication (0, _defineProperty2.default)(this, "readyStore", void 0); const asyncStore = this; // eslint-disable-line @typescript-eslint/no-this-alias this.readyStore = new class extends _ReadyWatchingStore.ReadyWatchingStore { get mxClient() { return this.matrixClient; } async onReady() { return asyncStore.onReady(); } async onNotReady() { return asyncStore.onNotReady(); } }(dispatcher); } async start() { await this.readyStore.start(); } get matrixClient() { return this.readyStore.mxClient; } async onReady() { // Default implementation is to do nothing. } async onNotReady() { // Default implementation is to do nothing. } async onDispatch(payload) { await this.onAction(payload); } } exports.AsyncStoreWithClient = AsyncStoreWithClient; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXN5bmNTdG9yZSIsInJlcXVpcmUiLCJfUmVhZHlXYXRjaGluZ1N0b3JlIiwiQXN5bmNTdG9yZVdpdGhDbGllbnQiLCJBc3luY1N0b3JlIiwiY29uc3RydWN0b3IiLCJkaXNwYXRjaGVyIiwiaW5pdGlhbFN0YXRlIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJhc3luY1N0b3JlIiwicmVhZHlTdG9yZSIsIlJlYWR5V2F0Y2hpbmdTdG9yZSIsIm14Q2xpZW50IiwibWF0cml4Q2xpZW50Iiwib25SZWFkeSIsIm9uTm90UmVhZHkiLCJzdGFydCIsIm9uRGlzcGF0Y2giLCJwYXlsb2FkIiwib25BY3Rpb24iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3Jlcy9Bc3luY1N0b3JlV2l0aENsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCB7IEFzeW5jU3RvcmUgfSBmcm9tIFwiLi9Bc3luY1N0b3JlXCI7XG5pbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSBcIi4uL2Rpc3BhdGNoZXIvcGF5bG9hZHNcIjtcbmltcG9ydCB7IFJlYWR5V2F0Y2hpbmdTdG9yZSB9IGZyb20gXCIuL1JlYWR5V2F0Y2hpbmdTdG9yZVwiO1xuaW1wb3J0IHsgTWF0cml4RGlzcGF0Y2hlciB9IGZyb20gXCIuLi9kaXNwYXRjaGVyL2Rpc3BhdGNoZXJcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzeW5jU3RvcmVXaXRoQ2xpZW50PFQgZXh0ZW5kcyBPYmplY3Q+IGV4dGVuZHMgQXN5bmNTdG9yZTxUPiB7XG4gICAgcHJvdGVjdGVkIHJlYWR5U3RvcmU6IFJlYWR5V2F0Y2hpbmdTdG9yZTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihkaXNwYXRjaGVyOiBNYXRyaXhEaXNwYXRjaGVyLCBpbml0aWFsU3RhdGU6IFQgPSA8VD57fSkge1xuICAgICAgICBzdXBlcihkaXNwYXRjaGVyLCBpbml0aWFsU3RhdGUpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhbiBhbm9ueW1vdXMgY2xhc3MgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvblxuICAgICAgICBjb25zdCBhc3luY1N0b3JlID0gdGhpczsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgICB0aGlzLnJlYWR5U3RvcmUgPSBuZXcgKGNsYXNzIGV4dGVuZHMgUmVhZHlXYXRjaGluZ1N0b3JlIHtcbiAgICAgICAgICAgIHB1YmxpYyBnZXQgbXhDbGllbnQoKTogTWF0cml4Q2xpZW50IHwgbnVsbCB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF0cml4Q2xpZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcm90ZWN0ZWQgYXN5bmMgb25SZWFkeSgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhc3luY1N0b3JlLm9uUmVhZHkoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJvdGVjdGVkIGFzeW5jIG9uTm90UmVhZHkoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXN5bmNTdG9yZS5vbk5vdFJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKGRpc3BhdGNoZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFkeVN0b3JlLnN0YXJ0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXRyaXhDbGllbnQoKTogTWF0cml4Q2xpZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlYWR5U3RvcmUubXhDbGllbnQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIG9uUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIERlZmF1bHQgaW1wbGVtZW50YXRpb24gaXMgdG8gZG8gbm90aGluZy5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgb25Ob3RSZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpcyB0byBkbyBub3RoaW5nLlxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvbkFjdGlvbihwYXlsb2FkOiBBY3Rpb25QYXlsb2FkKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIHByb3RlY3RlZCBhc3luYyBvbkRpc3BhdGNoKHBheWxvYWQ6IEFjdGlvblBheWxvYWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkFjdGlvbihwYXlsb2FkKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsbUJBQUEsR0FBQUQsT0FBQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNPLE1BQWVFLG9CQUFvQixTQUEyQkMsc0JBQVUsQ0FBSTtFQUdyRUMsV0FBV0EsQ0FBQ0MsVUFBNEIsRUFBRUMsWUFBZSxHQUFNLENBQUMsQ0FBQyxFQUFFO0lBQ3pFLEtBQUssQ0FBQ0QsVUFBVSxFQUFFQyxZQUFZLENBQUM7O0lBRS9CO0lBQUEsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQTtJQUNBLE1BQU1DLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN6QixJQUFJLENBQUNDLFVBQVUsR0FBRyxJQUFLLGNBQWNDLHNDQUFrQixDQUFDO01BQ3BELElBQVdDLFFBQVFBLENBQUEsRUFBd0I7UUFDdkMsT0FBTyxJQUFJLENBQUNDLFlBQVk7TUFDNUI7TUFFQSxNQUFnQkMsT0FBT0EsQ0FBQSxFQUFpQjtRQUNwQyxPQUFPTCxVQUFVLENBQUNLLE9BQU8sQ0FBQyxDQUFDO01BQy9CO01BRUEsTUFBZ0JDLFVBQVVBLENBQUEsRUFBaUI7UUFDdkMsT0FBT04sVUFBVSxDQUFDTSxVQUFVLENBQUMsQ0FBQztNQUNsQztJQUNKLENBQUMsQ0FBRVYsVUFBVSxDQUFDO0VBQ2xCO0VBRUEsTUFBYVcsS0FBS0EsQ0FBQSxFQUFrQjtJQUNoQyxNQUFNLElBQUksQ0FBQ04sVUFBVSxDQUFDTSxLQUFLLENBQUMsQ0FBQztFQUNqQztFQUVBLElBQVdILFlBQVlBLENBQUEsRUFBd0I7SUFDM0MsT0FBTyxJQUFJLENBQUNILFVBQVUsQ0FBQ0UsUUFBUTtFQUNuQztFQUVBLE1BQWdCRSxPQUFPQSxDQUFBLEVBQWtCO0lBQ3JDO0VBQUE7RUFHSixNQUFnQkMsVUFBVUEsQ0FBQSxFQUFrQjtJQUN4QztFQUFBO0VBS0osTUFBZ0JFLFVBQVVBLENBQUNDLE9BQXNCLEVBQWlCO0lBQzlELE1BQU0sSUFBSSxDQUFDQyxRQUFRLENBQUNELE9BQU8sQ0FBQztFQUNoQztBQUNKO0FBQUNFLE9BQUEsQ0FBQWxCLG9CQUFBLEdBQUFBLG9CQUFBIiwiaWdub3JlTGlzdCI6W119