matrix-react-sdk
Version:
SDK for matrix.org using React
55 lines (51 loc) • 6.24 kB
JavaScript
;
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