@unwanted/matrix-sdk-mini 34.12.0-1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +5910 -0
- package/LICENSE +177 -0
- package/README.md +459 -0
- package/git-revision.txt +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
- package/lib/@types/IIdentityServerProvider.d.ts +9 -0
- package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
- package/lib/@types/IIdentityServerProvider.js +1 -0
- package/lib/@types/IIdentityServerProvider.js.map +1 -0
- package/lib/@types/PushRules.d.ts +140 -0
- package/lib/@types/PushRules.d.ts.map +1 -0
- package/lib/@types/PushRules.js +94 -0
- package/lib/@types/PushRules.js.map +1 -0
- package/lib/@types/another-json.d.js +0 -0
- package/lib/@types/another-json.d.js.map +1 -0
- package/lib/@types/auth.d.ts +208 -0
- package/lib/@types/auth.d.ts.map +1 -0
- package/lib/@types/auth.js +99 -0
- package/lib/@types/auth.js.map +1 -0
- package/lib/@types/beacon.d.ts +106 -0
- package/lib/@types/beacon.d.ts.map +1 -0
- package/lib/@types/beacon.js +119 -0
- package/lib/@types/beacon.js.map +1 -0
- package/lib/@types/common.d.ts +9 -0
- package/lib/@types/common.d.ts.map +1 -0
- package/lib/@types/common.js +1 -0
- package/lib/@types/common.js.map +1 -0
- package/lib/@types/crypto.d.ts +47 -0
- package/lib/@types/crypto.d.ts.map +1 -0
- package/lib/@types/crypto.js +1 -0
- package/lib/@types/crypto.js.map +1 -0
- package/lib/@types/event.d.ts +258 -0
- package/lib/@types/event.d.ts.map +1 -0
- package/lib/@types/event.js +239 -0
- package/lib/@types/event.js.map +1 -0
- package/lib/@types/events.d.ts +92 -0
- package/lib/@types/events.d.ts.map +1 -0
- package/lib/@types/events.js +1 -0
- package/lib/@types/events.js.map +1 -0
- package/lib/@types/extensible_events.d.ts +98 -0
- package/lib/@types/extensible_events.d.ts.map +1 -0
- package/lib/@types/extensible_events.js +116 -0
- package/lib/@types/extensible_events.js.map +1 -0
- package/lib/@types/global.d.js +20 -0
- package/lib/@types/global.d.js.map +1 -0
- package/lib/@types/local_notifications.d.ts +4 -0
- package/lib/@types/local_notifications.d.ts.map +1 -0
- package/lib/@types/local_notifications.js +1 -0
- package/lib/@types/local_notifications.js.map +1 -0
- package/lib/@types/location.d.ts +60 -0
- package/lib/@types/location.d.ts.map +1 -0
- package/lib/@types/location.js +67 -0
- package/lib/@types/location.js.map +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
- package/lib/@types/media.d.ts +220 -0
- package/lib/@types/media.d.ts.map +1 -0
- package/lib/@types/media.js +1 -0
- package/lib/@types/media.js.map +1 -0
- package/lib/@types/membership.d.ts +41 -0
- package/lib/@types/membership.d.ts.map +1 -0
- package/lib/@types/membership.js +37 -0
- package/lib/@types/membership.js.map +1 -0
- package/lib/@types/oidc-client-ts.d.js +18 -0
- package/lib/@types/oidc-client-ts.d.js.map +1 -0
- package/lib/@types/partials.d.ts +39 -0
- package/lib/@types/partials.d.ts.map +1 -0
- package/lib/@types/partials.js +53 -0
- package/lib/@types/partials.js.map +1 -0
- package/lib/@types/polls.d.ts +88 -0
- package/lib/@types/polls.d.ts.map +1 -0
- package/lib/@types/polls.js +86 -0
- package/lib/@types/polls.js.map +1 -0
- package/lib/@types/read_receipts.d.ts +36 -0
- package/lib/@types/read_receipts.d.ts.map +1 -0
- package/lib/@types/read_receipts.js +27 -0
- package/lib/@types/read_receipts.js.map +1 -0
- package/lib/@types/registration.d.ts +85 -0
- package/lib/@types/registration.d.ts.map +1 -0
- package/lib/@types/registration.js +1 -0
- package/lib/@types/registration.js.map +1 -0
- package/lib/@types/requests.d.ts +241 -0
- package/lib/@types/requests.d.ts.map +1 -0
- package/lib/@types/requests.js +28 -0
- package/lib/@types/requests.js.map +1 -0
- package/lib/@types/search.d.ts +90 -0
- package/lib/@types/search.d.ts.map +1 -0
- package/lib/@types/search.js +30 -0
- package/lib/@types/search.js.map +1 -0
- package/lib/@types/signed.d.ts +9 -0
- package/lib/@types/signed.d.ts.map +1 -0
- package/lib/@types/signed.js +1 -0
- package/lib/@types/signed.js.map +1 -0
- package/lib/@types/spaces.d.ts +16 -0
- package/lib/@types/spaces.d.ts.map +1 -0
- package/lib/@types/spaces.js +1 -0
- package/lib/@types/spaces.js.map +1 -0
- package/lib/@types/state_events.d.ts +116 -0
- package/lib/@types/state_events.d.ts.map +1 -0
- package/lib/@types/state_events.js +1 -0
- package/lib/@types/state_events.js.map +1 -0
- package/lib/@types/synapse.d.ts +19 -0
- package/lib/@types/synapse.d.ts.map +1 -0
- package/lib/@types/synapse.js +1 -0
- package/lib/@types/synapse.js.map +1 -0
- package/lib/@types/sync.d.ts +8 -0
- package/lib/@types/sync.d.ts.map +1 -0
- package/lib/@types/sync.js +25 -0
- package/lib/@types/sync.js.map +1 -0
- package/lib/@types/threepids.d.ts +12 -0
- package/lib/@types/threepids.d.ts.map +1 -0
- package/lib/@types/threepids.js +24 -0
- package/lib/@types/threepids.js.map +1 -0
- package/lib/@types/topic.d.ts +48 -0
- package/lib/@types/topic.d.ts.map +1 -0
- package/lib/@types/topic.js +57 -0
- package/lib/@types/topic.js.map +1 -0
- package/lib/@types/uia.d.ts +12 -0
- package/lib/@types/uia.d.ts.map +1 -0
- package/lib/@types/uia.js +1 -0
- package/lib/@types/uia.js.map +1 -0
- package/lib/NamespacedValue.d.ts +33 -0
- package/lib/NamespacedValue.d.ts.map +1 -0
- package/lib/NamespacedValue.js +113 -0
- package/lib/NamespacedValue.js.map +1 -0
- package/lib/ReEmitter.d.ts +15 -0
- package/lib/ReEmitter.d.ts.map +1 -0
- package/lib/ReEmitter.js +87 -0
- package/lib/ReEmitter.js.map +1 -0
- package/lib/ToDeviceMessageQueue.d.ts +28 -0
- package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
- package/lib/ToDeviceMessageQueue.js +135 -0
- package/lib/ToDeviceMessageQueue.js.map +1 -0
- package/lib/autodiscovery.d.ts +136 -0
- package/lib/autodiscovery.d.ts.map +1 -0
- package/lib/autodiscovery.js +464 -0
- package/lib/autodiscovery.js.map +1 -0
- package/lib/base64.d.ts +28 -0
- package/lib/base64.d.ts.map +1 -0
- package/lib/base64.js +88 -0
- package/lib/base64.js.map +1 -0
- package/lib/browser-index.d.ts +8 -0
- package/lib/browser-index.d.ts.map +1 -0
- package/lib/browser-index.js +35 -0
- package/lib/browser-index.js.map +1 -0
- package/lib/client.d.ts +4232 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +8622 -0
- package/lib/client.js.map +1 -0
- package/lib/common-crypto/CryptoBackend.d.ts +240 -0
- package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
- package/lib/common-crypto/CryptoBackend.js +73 -0
- package/lib/common-crypto/CryptoBackend.js.map +1 -0
- package/lib/common-crypto/key-passphrase.d.ts +14 -0
- package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
- package/lib/common-crypto/key-passphrase.js +33 -0
- package/lib/common-crypto/key-passphrase.js.map +1 -0
- package/lib/content-helpers.d.ts +90 -0
- package/lib/content-helpers.d.ts.map +1 -0
- package/lib/content-helpers.js +250 -0
- package/lib/content-helpers.js.map +1 -0
- package/lib/content-repo.d.ts +24 -0
- package/lib/content-repo.d.ts.map +1 -0
- package/lib/content-repo.js +104 -0
- package/lib/content-repo.js.map +1 -0
- package/lib/crypto/CrossSigning.d.ts +184 -0
- package/lib/crypto/CrossSigning.d.ts.map +1 -0
- package/lib/crypto/CrossSigning.js +718 -0
- package/lib/crypto/CrossSigning.js.map +1 -0
- package/lib/crypto/DeviceList.d.ts +216 -0
- package/lib/crypto/DeviceList.d.ts.map +1 -0
- package/lib/crypto/DeviceList.js +892 -0
- package/lib/crypto/DeviceList.js.map +1 -0
- package/lib/crypto/EncryptionSetup.d.ts +152 -0
- package/lib/crypto/EncryptionSetup.d.ts.map +1 -0
- package/lib/crypto/EncryptionSetup.js +356 -0
- package/lib/crypto/EncryptionSetup.js.map +1 -0
- package/lib/crypto/OlmDevice.d.ts +457 -0
- package/lib/crypto/OlmDevice.d.ts.map +1 -0
- package/lib/crypto/OlmDevice.js +1241 -0
- package/lib/crypto/OlmDevice.js.map +1 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +109 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +1 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +415 -0
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +1 -0
- package/lib/crypto/RoomList.d.ts +26 -0
- package/lib/crypto/RoomList.d.ts.map +1 -0
- package/lib/crypto/RoomList.js +71 -0
- package/lib/crypto/RoomList.js.map +1 -0
- package/lib/crypto/SecretSharing.d.ts +24 -0
- package/lib/crypto/SecretSharing.d.ts.map +1 -0
- package/lib/crypto/SecretSharing.js +194 -0
- package/lib/crypto/SecretSharing.js.map +1 -0
- package/lib/crypto/SecretStorage.d.ts +55 -0
- package/lib/crypto/SecretStorage.d.ts.map +1 -0
- package/lib/crypto/SecretStorage.js +118 -0
- package/lib/crypto/SecretStorage.js.map +1 -0
- package/lib/crypto/aes.d.ts +6 -0
- package/lib/crypto/aes.d.ts.map +1 -0
- package/lib/crypto/aes.js +24 -0
- package/lib/crypto/aes.js.map +1 -0
- package/lib/crypto/algorithms/base.d.ts +156 -0
- package/lib/crypto/algorithms/base.d.ts.map +1 -0
- package/lib/crypto/algorithms/base.js +187 -0
- package/lib/crypto/algorithms/base.js.map +1 -0
- package/lib/crypto/algorithms/index.d.ts +4 -0
- package/lib/crypto/algorithms/index.d.ts.map +1 -0
- package/lib/crypto/algorithms/index.js +20 -0
- package/lib/crypto/algorithms/index.js.map +1 -0
- package/lib/crypto/algorithms/megolm.d.ts +385 -0
- package/lib/crypto/algorithms/megolm.d.ts.map +1 -0
- package/lib/crypto/algorithms/megolm.js +1822 -0
- package/lib/crypto/algorithms/megolm.js.map +1 -0
- package/lib/crypto/algorithms/olm.d.ts +5 -0
- package/lib/crypto/algorithms/olm.d.ts.map +1 -0
- package/lib/crypto/algorithms/olm.js +299 -0
- package/lib/crypto/algorithms/olm.js.map +1 -0
- package/lib/crypto/api.d.ts +32 -0
- package/lib/crypto/api.d.ts.map +1 -0
- package/lib/crypto/api.js +22 -0
- package/lib/crypto/api.js.map +1 -0
- package/lib/crypto/backup.d.ts +227 -0
- package/lib/crypto/backup.d.ts.map +1 -0
- package/lib/crypto/backup.js +824 -0
- package/lib/crypto/backup.js.map +1 -0
- package/lib/crypto/crypto.d.ts +3 -0
- package/lib/crypto/crypto.d.ts.map +1 -0
- package/lib/crypto/crypto.js +19 -0
- package/lib/crypto/crypto.js.map +1 -0
- package/lib/crypto/dehydration.d.ts +34 -0
- package/lib/crypto/dehydration.d.ts.map +1 -0
- package/lib/crypto/dehydration.js +252 -0
- package/lib/crypto/dehydration.js.map +1 -0
- package/lib/crypto/device-converter.d.ts +9 -0
- package/lib/crypto/device-converter.d.ts.map +1 -0
- package/lib/crypto/device-converter.js +42 -0
- package/lib/crypto/device-converter.js.map +1 -0
- package/lib/crypto/deviceinfo.d.ts +99 -0
- package/lib/crypto/deviceinfo.d.ts.map +1 -0
- package/lib/crypto/deviceinfo.js +148 -0
- package/lib/crypto/deviceinfo.js.map +1 -0
- package/lib/crypto/index.d.ts +1209 -0
- package/lib/crypto/index.d.ts.map +1 -0
- package/lib/crypto/index.js +4097 -0
- package/lib/crypto/index.js.map +1 -0
- package/lib/crypto/key_passphrase.d.ts +14 -0
- package/lib/crypto/key_passphrase.d.ts.map +1 -0
- package/lib/crypto/key_passphrase.js +44 -0
- package/lib/crypto/key_passphrase.js.map +1 -0
- package/lib/crypto/keybackup.d.ts +18 -0
- package/lib/crypto/keybackup.d.ts.map +1 -0
- package/lib/crypto/keybackup.js +1 -0
- package/lib/crypto/keybackup.js.map +1 -0
- package/lib/crypto/olmlib.d.ts +129 -0
- package/lib/crypto/olmlib.d.ts.map +1 -0
- package/lib/crypto/olmlib.js +492 -0
- package/lib/crypto/olmlib.js.map +1 -0
- package/lib/crypto/recoverykey.d.ts +2 -0
- package/lib/crypto/recoverykey.d.ts.map +1 -0
- package/lib/crypto/recoverykey.js +19 -0
- package/lib/crypto/recoverykey.js.map +1 -0
- package/lib/crypto/store/base.d.ts +252 -0
- package/lib/crypto/store/base.d.ts.map +1 -0
- package/lib/crypto/store/base.js +64 -0
- package/lib/crypto/store/base.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +187 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +1145 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +432 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.js +728 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts +119 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.js +531 -0
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
- package/lib/crypto/store/memory-crypto-store.d.ts +215 -0
- package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/memory-crypto-store.js +622 -0
- package/lib/crypto/store/memory-crypto-store.js.map +1 -0
- package/lib/crypto/verification/Base.d.ts +105 -0
- package/lib/crypto/verification/Base.d.ts.map +1 -0
- package/lib/crypto/verification/Base.js +372 -0
- package/lib/crypto/verification/Base.js.map +1 -0
- package/lib/crypto/verification/Error.d.ts +35 -0
- package/lib/crypto/verification/Error.d.ts.map +1 -0
- package/lib/crypto/verification/Error.js +86 -0
- package/lib/crypto/verification/Error.js.map +1 -0
- package/lib/crypto/verification/IllegalMethod.d.ts +15 -0
- package/lib/crypto/verification/IllegalMethod.d.ts.map +1 -0
- package/lib/crypto/verification/IllegalMethod.js +43 -0
- package/lib/crypto/verification/IllegalMethod.js.map +1 -0
- package/lib/crypto/verification/QRCode.d.ts +51 -0
- package/lib/crypto/verification/QRCode.d.ts.map +1 -0
- package/lib/crypto/verification/QRCode.js +277 -0
- package/lib/crypto/verification/QRCode.js.map +1 -0
- package/lib/crypto/verification/SAS.d.ts +27 -0
- package/lib/crypto/verification/SAS.d.ts.map +1 -0
- package/lib/crypto/verification/SAS.js +485 -0
- package/lib/crypto/verification/SAS.js.map +1 -0
- package/lib/crypto/verification/SASDecimal.d.ts +8 -0
- package/lib/crypto/verification/SASDecimal.d.ts.map +1 -0
- package/lib/crypto/verification/SASDecimal.js +34 -0
- package/lib/crypto/verification/SASDecimal.js.map +1 -0
- package/lib/crypto/verification/request/Channel.d.ts +18 -0
- package/lib/crypto/verification/request/Channel.d.ts.map +1 -0
- package/lib/crypto/verification/request/Channel.js +1 -0
- package/lib/crypto/verification/request/Channel.js.map +1 -0
- package/lib/crypto/verification/request/InRoomChannel.d.ts +113 -0
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -0
- package/lib/crypto/verification/request/InRoomChannel.js +351 -0
- package/lib/crypto/verification/request/InRoomChannel.js.map +1 -0
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +105 -0
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +1 -0
- package/lib/crypto/verification/request/ToDeviceChannel.js +328 -0
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +1 -0
- package/lib/crypto/verification/request/VerificationRequest.d.ts +227 -0
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +1 -0
- package/lib/crypto/verification/request/VerificationRequest.js +937 -0
- package/lib/crypto/verification/request/VerificationRequest.js.map +1 -0
- package/lib/crypto-api/CryptoEvent.d.ts +69 -0
- package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEvent.js +33 -0
- package/lib/crypto-api/CryptoEvent.js.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +16 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js +22 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
- package/lib/crypto-api/index.d.ts +978 -0
- package/lib/crypto-api/index.d.ts.map +1 -0
- package/lib/crypto-api/index.js +304 -0
- package/lib/crypto-api/index.js.map +1 -0
- package/lib/crypto-api/key-passphrase.d.ts +11 -0
- package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
- package/lib/crypto-api/key-passphrase.js +51 -0
- package/lib/crypto-api/key-passphrase.js.map +1 -0
- package/lib/crypto-api/keybackup.d.ts +88 -0
- package/lib/crypto-api/keybackup.d.ts.map +1 -0
- package/lib/crypto-api/keybackup.js +1 -0
- package/lib/crypto-api/keybackup.js.map +1 -0
- package/lib/crypto-api/recovery-key.d.ts +11 -0
- package/lib/crypto-api/recovery-key.d.ts.map +1 -0
- package/lib/crypto-api/recovery-key.js +65 -0
- package/lib/crypto-api/recovery-key.js.map +1 -0
- package/lib/crypto-api/verification.d.ts +344 -0
- package/lib/crypto-api/verification.d.ts.map +1 -0
- package/lib/crypto-api/verification.js +91 -0
- package/lib/crypto-api/verification.js.map +1 -0
- package/lib/digest.d.ts +10 -0
- package/lib/digest.d.ts.map +1 -0
- package/lib/digest.js +40 -0
- package/lib/digest.js.map +1 -0
- package/lib/embedded.d.ts +143 -0
- package/lib/embedded.d.ts.map +1 -0
- package/lib/embedded.js +567 -0
- package/lib/embedded.js.map +1 -0
- package/lib/errors.d.ts +24 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +51 -0
- package/lib/errors.js.map +1 -0
- package/lib/event-mapper.d.ts +10 -0
- package/lib/event-mapper.d.ts.map +1 -0
- package/lib/event-mapper.js +81 -0
- package/lib/event-mapper.js.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.js +25 -0
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts +45 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.js +134 -0
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.js +88 -0
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.js +185 -0
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
- package/lib/extensible_events_v1/utilities.d.ts +14 -0
- package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
- package/lib/extensible_events_v1/utilities.js +34 -0
- package/lib/extensible_events_v1/utilities.js.map +1 -0
- package/lib/feature.d.ts +20 -0
- package/lib/feature.d.ts.map +1 -0
- package/lib/feature.js +85 -0
- package/lib/feature.js.map +1 -0
- package/lib/filter-component.d.ts +64 -0
- package/lib/filter-component.d.ts.map +1 -0
- package/lib/filter-component.js +167 -0
- package/lib/filter-component.js.map +1 -0
- package/lib/filter.d.ts +97 -0
- package/lib/filter.d.ts.map +1 -0
- package/lib/filter.js +207 -0
- package/lib/filter.js.map +1 -0
- package/lib/http-api/errors.d.ts +80 -0
- package/lib/http-api/errors.d.ts.map +1 -0
- package/lib/http-api/errors.js +185 -0
- package/lib/http-api/errors.js.map +1 -0
- package/lib/http-api/fetch.d.ts +114 -0
- package/lib/http-api/fetch.d.ts.map +1 -0
- package/lib/http-api/fetch.js +346 -0
- package/lib/http-api/fetch.js.map +1 -0
- package/lib/http-api/index.d.ts +33 -0
- package/lib/http-api/index.d.ts.map +1 -0
- package/lib/http-api/index.js +180 -0
- package/lib/http-api/index.js.map +1 -0
- package/lib/http-api/interface.d.ts +142 -0
- package/lib/http-api/interface.d.ts.map +1 -0
- package/lib/http-api/interface.js +35 -0
- package/lib/http-api/interface.js.map +1 -0
- package/lib/http-api/method.d.ts +10 -0
- package/lib/http-api/method.d.ts.map +1 -0
- package/lib/http-api/method.js +27 -0
- package/lib/http-api/method.js.map +1 -0
- package/lib/http-api/prefix.d.ts +31 -0
- package/lib/http-api/prefix.d.ts.map +1 -0
- package/lib/http-api/prefix.js +32 -0
- package/lib/http-api/prefix.js.map +1 -0
- package/lib/http-api/utils.d.ts +37 -0
- package/lib/http-api/utils.d.ts.map +1 -0
- package/lib/http-api/utils.js +178 -0
- package/lib/http-api/utils.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/indexeddb-helpers.d.ts +10 -0
- package/lib/indexeddb-helpers.d.ts.map +1 -0
- package/lib/indexeddb-helpers.js +51 -0
- package/lib/indexeddb-helpers.js.map +1 -0
- package/lib/indexeddb-worker.d.ts +7 -0
- package/lib/indexeddb-worker.d.ts.map +1 -0
- package/lib/indexeddb-worker.js +25 -0
- package/lib/indexeddb-worker.js.map +1 -0
- package/lib/interactive-auth.d.ts +337 -0
- package/lib/interactive-auth.d.ts.map +1 -0
- package/lib/interactive-auth.js +557 -0
- package/lib/interactive-auth.js.map +1 -0
- package/lib/logger.d.ts +81 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +139 -0
- package/lib/logger.js.map +1 -0
- package/lib/matrix.d.ts +118 -0
- package/lib/matrix.d.ts.map +1 -0
- package/lib/matrix.js +146 -0
- package/lib/matrix.js.map +1 -0
- package/lib/matrixrtc/CallMembership.d.ts +66 -0
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
- package/lib/matrixrtc/CallMembership.js +197 -0
- package/lib/matrixrtc/CallMembership.js.map +1 -0
- package/lib/matrixrtc/LivekitFocus.d.ts +16 -0
- package/lib/matrixrtc/LivekitFocus.d.ts.map +1 -0
- package/lib/matrixrtc/LivekitFocus.js +20 -0
- package/lib/matrixrtc/LivekitFocus.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts +295 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.js +1043 -0
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +40 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js +146 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
- package/lib/matrixrtc/focus.d.ts +10 -0
- package/lib/matrixrtc/focus.d.ts.map +1 -0
- package/lib/matrixrtc/focus.js +1 -0
- package/lib/matrixrtc/focus.js.map +1 -0
- package/lib/matrixrtc/index.d.ts +7 -0
- package/lib/matrixrtc/index.d.ts.map +1 -0
- package/lib/matrixrtc/index.js +21 -0
- package/lib/matrixrtc/index.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +19 -0
- package/lib/matrixrtc/types.d.ts.map +1 -0
- package/lib/matrixrtc/types.js +1 -0
- package/lib/matrixrtc/types.js.map +1 -0
- package/lib/models/MSC3089Branch.d.ts +98 -0
- package/lib/models/MSC3089Branch.d.ts.map +1 -0
- package/lib/models/MSC3089Branch.js +240 -0
- package/lib/models/MSC3089Branch.js.map +1 -0
- package/lib/models/MSC3089TreeSpace.d.ts +165 -0
- package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
- package/lib/models/MSC3089TreeSpace.js +520 -0
- package/lib/models/MSC3089TreeSpace.js.map +1 -0
- package/lib/models/ToDeviceMessage.d.ts +17 -0
- package/lib/models/ToDeviceMessage.d.ts.map +1 -0
- package/lib/models/ToDeviceMessage.js +1 -0
- package/lib/models/ToDeviceMessage.js.map +1 -0
- package/lib/models/beacon.d.ts +53 -0
- package/lib/models/beacon.d.ts.map +1 -0
- package/lib/models/beacon.js +174 -0
- package/lib/models/beacon.js.map +1 -0
- package/lib/models/compare-event-ordering.d.ts +24 -0
- package/lib/models/compare-event-ordering.d.ts.map +1 -0
- package/lib/models/compare-event-ordering.js +120 -0
- package/lib/models/compare-event-ordering.js.map +1 -0
- package/lib/models/device.d.ts +45 -0
- package/lib/models/device.d.ts.map +1 -0
- package/lib/models/device.js +77 -0
- package/lib/models/device.js.map +1 -0
- package/lib/models/event-context.d.ts +62 -0
- package/lib/models/event-context.d.ts.map +1 -0
- package/lib/models/event-context.js +113 -0
- package/lib/models/event-context.js.map +1 -0
- package/lib/models/event-status.d.ts +19 -0
- package/lib/models/event-status.d.ts.map +1 -0
- package/lib/models/event-status.js +30 -0
- package/lib/models/event-status.js.map +1 -0
- package/lib/models/event-timeline-set.d.ts +312 -0
- package/lib/models/event-timeline-set.d.ts.map +1 -0
- package/lib/models/event-timeline-set.js +813 -0
- package/lib/models/event-timeline-set.js.map +1 -0
- package/lib/models/event-timeline.d.ts +219 -0
- package/lib/models/event-timeline.d.ts.map +1 -0
- package/lib/models/event-timeline.js +455 -0
- package/lib/models/event-timeline.js.map +1 -0
- package/lib/models/event.d.ts +811 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +1520 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +136 -0
- package/lib/models/invites-ignorer.d.ts.map +1 -0
- package/lib/models/invites-ignorer.js +382 -0
- package/lib/models/invites-ignorer.js.map +1 -0
- package/lib/models/poll.d.ts +67 -0
- package/lib/models/poll.d.ts.map +1 -0
- package/lib/models/poll.js +241 -0
- package/lib/models/poll.js.map +1 -0
- package/lib/models/profile-keys.d.ts +8 -0
- package/lib/models/profile-keys.d.ts.map +1 -0
- package/lib/models/profile-keys.js +8 -0
- package/lib/models/profile-keys.js.map +1 -0
- package/lib/models/read-receipt.d.ts +115 -0
- package/lib/models/read-receipt.d.ts.map +1 -0
- package/lib/models/read-receipt.js +366 -0
- package/lib/models/read-receipt.js.map +1 -0
- package/lib/models/related-relations.d.ts +11 -0
- package/lib/models/related-relations.d.ts.map +1 -0
- package/lib/models/related-relations.js +33 -0
- package/lib/models/related-relations.js.map +1 -0
- package/lib/models/relations-container.d.ts +44 -0
- package/lib/models/relations-container.d.ts.map +1 -0
- package/lib/models/relations-container.js +132 -0
- package/lib/models/relations-container.js.map +1 -0
- package/lib/models/relations.d.ts +114 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +354 -0
- package/lib/models/relations.js.map +1 -0
- package/lib/models/room-member.d.ts +204 -0
- package/lib/models/room-member.d.ts.map +1 -0
- package/lib/models/room-member.js +360 -0
- package/lib/models/room-member.js.map +1 -0
- package/lib/models/room-receipts.d.ts +39 -0
- package/lib/models/room-receipts.d.ts.map +1 -0
- package/lib/models/room-receipts.js +392 -0
- package/lib/models/room-receipts.js.map +1 -0
- package/lib/models/room-state.d.ts +468 -0
- package/lib/models/room-state.d.ts.map +1 -0
- package/lib/models/room-state.js +984 -0
- package/lib/models/room-state.js.map +1 -0
- package/lib/models/room-summary.d.ts +29 -0
- package/lib/models/room-summary.d.ts.map +1 -0
- package/lib/models/room-summary.js +28 -0
- package/lib/models/room-summary.js.map +1 -0
- package/lib/models/room.d.ts +1203 -0
- package/lib/models/room.d.ts.map +1 -0
- package/lib/models/room.js +3336 -0
- package/lib/models/room.js.map +1 -0
- package/lib/models/search-result.d.ts +20 -0
- package/lib/models/search-result.d.ts.map +1 -0
- package/lib/models/search-result.js +52 -0
- package/lib/models/search-result.js.map +1 -0
- package/lib/models/thread.d.ts +246 -0
- package/lib/models/thread.d.ts.map +1 -0
- package/lib/models/thread.js +861 -0
- package/lib/models/thread.js.map +1 -0
- package/lib/models/typed-event-emitter.d.ts +157 -0
- package/lib/models/typed-event-emitter.d.ts.map +1 -0
- package/lib/models/typed-event-emitter.js +227 -0
- package/lib/models/typed-event-emitter.js.map +1 -0
- package/lib/models/user.d.ts +195 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +218 -0
- package/lib/models/user.js.map +1 -0
- package/lib/oidc/authorize.d.ts +90 -0
- package/lib/oidc/authorize.d.ts.map +1 -0
- package/lib/oidc/authorize.js +278 -0
- package/lib/oidc/authorize.js.map +1 -0
- package/lib/oidc/discovery.d.ts +14 -0
- package/lib/oidc/discovery.d.ts.map +1 -0
- package/lib/oidc/discovery.js +66 -0
- package/lib/oidc/discovery.js.map +1 -0
- package/lib/oidc/error.d.ts +18 -0
- package/lib/oidc/error.d.ts.map +1 -0
- package/lib/oidc/error.js +35 -0
- package/lib/oidc/error.js.map +1 -0
- package/lib/oidc/index.d.ts +17 -0
- package/lib/oidc/index.d.ts.map +1 -0
- package/lib/oidc/index.js +29 -0
- package/lib/oidc/index.js.map +1 -0
- package/lib/oidc/register.d.ts +43 -0
- package/lib/oidc/register.d.ts.map +1 -0
- package/lib/oidc/register.js +96 -0
- package/lib/oidc/register.js.map +1 -0
- package/lib/oidc/tokenRefresher.d.ts +69 -0
- package/lib/oidc/tokenRefresher.d.ts.map +1 -0
- package/lib/oidc/tokenRefresher.js +148 -0
- package/lib/oidc/tokenRefresher.js.map +1 -0
- package/lib/oidc/validate.d.ts +90 -0
- package/lib/oidc/validate.d.ts.map +1 -0
- package/lib/oidc/validate.js +194 -0
- package/lib/oidc/validate.js.map +1 -0
- package/lib/pushprocessor.d.ts +128 -0
- package/lib/pushprocessor.d.ts.map +1 -0
- package/lib/pushprocessor.js +685 -0
- package/lib/pushprocessor.js.map +1 -0
- package/lib/randomstring.d.ts +5 -0
- package/lib/randomstring.d.ts.map +1 -0
- package/lib/randomstring.js +43 -0
- package/lib/randomstring.js.map +1 -0
- package/lib/realtime-callbacks.d.ts +18 -0
- package/lib/realtime-callbacks.d.ts.map +1 -0
- package/lib/realtime-callbacks.js +177 -0
- package/lib/realtime-callbacks.js.map +1 -0
- package/lib/receipt-accumulator.d.ts +51 -0
- package/lib/receipt-accumulator.d.ts.map +1 -0
- package/lib/receipt-accumulator.js +164 -0
- package/lib/receipt-accumulator.js.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js +392 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
- package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
- package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousChannel.js +1 -0
- package/lib/rendezvous/RendezvousChannel.js.map +1 -0
- package/lib/rendezvous/RendezvousCode.d.ts +9 -0
- package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousCode.js +1 -0
- package/lib/rendezvous/RendezvousCode.js.map +1 -0
- package/lib/rendezvous/RendezvousError.d.ts +6 -0
- package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousError.js +23 -0
- package/lib/rendezvous/RendezvousError.js.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.js +38 -0
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
- package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
- package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousIntent.js +22 -0
- package/lib/rendezvous/RendezvousIntent.js.map +1 -0
- package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
- package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousTransport.js +1 -0
- package/lib/rendezvous/RendezvousTransport.js.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
- package/lib/rendezvous/channels/index.d.ts +2 -0
- package/lib/rendezvous/channels/index.d.ts.map +1 -0
- package/lib/rendezvous/channels/index.js +18 -0
- package/lib/rendezvous/channels/index.js.map +1 -0
- package/lib/rendezvous/index.d.ts +10 -0
- package/lib/rendezvous/index.d.ts.map +1 -0
- package/lib/rendezvous/index.js +23 -0
- package/lib/rendezvous/index.js.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +253 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
- package/lib/rendezvous/transports/index.d.ts +2 -0
- package/lib/rendezvous/transports/index.d.ts.map +1 -0
- package/lib/rendezvous/transports/index.js +18 -0
- package/lib/rendezvous/transports/index.js.map +1 -0
- package/lib/room-hierarchy.d.ts +35 -0
- package/lib/room-hierarchy.d.ts.map +1 -0
- package/lib/room-hierarchy.js +136 -0
- package/lib/room-hierarchy.js.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +33 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.js +157 -0
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +98 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js +285 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.js +82 -0
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +43 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js +195 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js +148 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +467 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts +98 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.js +299 -0
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +254 -0
- package/lib/rust-crypto/backup.d.ts.map +1 -0
- package/lib/rust-crypto/backup.js +837 -0
- package/lib/rust-crypto/backup.js.map +1 -0
- package/lib/rust-crypto/constants.d.ts +3 -0
- package/lib/rust-crypto/constants.d.ts.map +1 -0
- package/lib/rust-crypto/constants.js +19 -0
- package/lib/rust-crypto/constants.js.map +1 -0
- package/lib/rust-crypto/device-converter.d.ts +28 -0
- package/lib/rust-crypto/device-converter.d.ts.map +1 -0
- package/lib/rust-crypto/device-converter.js +123 -0
- package/lib/rust-crypto/device-converter.js.map +1 -0
- package/lib/rust-crypto/index.d.ts +61 -0
- package/lib/rust-crypto/index.d.ts.map +1 -0
- package/lib/rust-crypto/index.js +152 -0
- package/lib/rust-crypto/index.js.map +1 -0
- package/lib/rust-crypto/libolm_migration.d.ts +81 -0
- package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
- package/lib/rust-crypto/libolm_migration.js +459 -0
- package/lib/rust-crypto/libolm_migration.js.map +1 -0
- package/lib/rust-crypto/rust-crypto.d.ts +556 -0
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
- package/lib/rust-crypto/rust-crypto.js +2016 -0
- package/lib/rust-crypto/rust-crypto.js.map +1 -0
- package/lib/rust-crypto/secret-storage.d.ts +22 -0
- package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
- package/lib/rust-crypto/secret-storage.js +63 -0
- package/lib/rust-crypto/secret-storage.js.map +1 -0
- package/lib/rust-crypto/verification.d.ts +319 -0
- package/lib/rust-crypto/verification.d.ts.map +1 -0
- package/lib/rust-crypto/verification.js +816 -0
- package/lib/rust-crypto/verification.js.map +1 -0
- package/lib/scheduler.d.ts +132 -0
- package/lib/scheduler.d.ts.map +1 -0
- package/lib/scheduler.js +259 -0
- package/lib/scheduler.js.map +1 -0
- package/lib/secret-storage.d.ts +370 -0
- package/lib/secret-storage.d.ts.map +1 -0
- package/lib/secret-storage.js +466 -0
- package/lib/secret-storage.js.map +1 -0
- package/lib/serverCapabilities.d.ts +72 -0
- package/lib/serverCapabilities.d.ts.map +1 -0
- package/lib/serverCapabilities.js +105 -0
- package/lib/serverCapabilities.js.map +1 -0
- package/lib/service-types.d.ts +5 -0
- package/lib/service-types.d.ts.map +1 -0
- package/lib/service-types.js +22 -0
- package/lib/service-types.js.map +1 -0
- package/lib/sliding-sync-sdk.d.ts +107 -0
- package/lib/sliding-sync-sdk.d.ts.map +1 -0
- package/lib/sliding-sync-sdk.js +903 -0
- package/lib/sliding-sync-sdk.js.map +1 -0
- package/lib/sliding-sync.d.ts +343 -0
- package/lib/sliding-sync.d.ts.map +1 -0
- package/lib/sliding-sync.js +817 -0
- package/lib/sliding-sync.js.map +1 -0
- package/lib/store/index.d.ts +201 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/index.js +1 -0
- package/lib/store/index.js.map +1 -0
- package/lib/store/indexeddb-backend.d.ts +24 -0
- package/lib/store/indexeddb-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-backend.js +1 -0
- package/lib/store/indexeddb-backend.js.map +1 -0
- package/lib/store/indexeddb-local-backend.d.ts +129 -0
- package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-local-backend.js +597 -0
- package/lib/store/indexeddb-local-backend.js.map +1 -0
- package/lib/store/indexeddb-remote-backend.d.ts +79 -0
- package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-remote-backend.js +210 -0
- package/lib/store/indexeddb-remote-backend.js.map +1 -0
- package/lib/store/indexeddb-store-worker.d.ts +35 -0
- package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
- package/lib/store/indexeddb-store-worker.js +146 -0
- package/lib/store/indexeddb-store-worker.js.map +1 -0
- package/lib/store/indexeddb.d.ts +142 -0
- package/lib/store/indexeddb.d.ts.map +1 -0
- package/lib/store/indexeddb.js +347 -0
- package/lib/store/indexeddb.js.map +1 -0
- package/lib/store/local-storage-events-emitter.d.ts +30 -0
- package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
- package/lib/store/local-storage-events-emitter.js +37 -0
- package/lib/store/local-storage-events-emitter.js.map +1 -0
- package/lib/store/memory.d.ts +209 -0
- package/lib/store/memory.d.ts.map +1 -0
- package/lib/store/memory.js +432 -0
- package/lib/store/memory.js.map +1 -0
- package/lib/store/stub.d.ts +161 -0
- package/lib/store/stub.d.ts.map +1 -0
- package/lib/store/stub.js +268 -0
- package/lib/store/stub.js.map +1 -0
- package/lib/sync-accumulator.d.ts +172 -0
- package/lib/sync-accumulator.d.ts.map +1 -0
- package/lib/sync-accumulator.js +532 -0
- package/lib/sync-accumulator.js.map +1 -0
- package/lib/sync.d.ts +260 -0
- package/lib/sync.d.ts.map +1 -0
- package/lib/sync.js +1686 -0
- package/lib/sync.js.map +1 -0
- package/lib/testing.d.ts +81 -0
- package/lib/testing.d.ts.map +1 -0
- package/lib/testing.js +162 -0
- package/lib/testing.js.map +1 -0
- package/lib/thread-utils.d.ts +10 -0
- package/lib/thread-utils.d.ts.map +1 -0
- package/lib/thread-utils.js +31 -0
- package/lib/thread-utils.js.map +1 -0
- package/lib/timeline-window.d.ts +168 -0
- package/lib/timeline-window.d.ts.map +1 -0
- package/lib/timeline-window.js +494 -0
- package/lib/timeline-window.js.map +1 -0
- package/lib/types.d.ts +33 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +33 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.js +50 -0
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.js +68 -0
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/internal/deriveKeys.d.ts +10 -0
- package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
- package/lib/utils/internal/deriveKeys.js +60 -0
- package/lib/utils/internal/deriveKeys.js.map +1 -0
- package/lib/utils.d.ts +267 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +749 -0
- package/lib/utils.js.map +1 -0
- package/lib/version-support.d.ts +19 -0
- package/lib/version-support.d.ts.map +1 -0
- package/lib/version-support.js +37 -0
- package/lib/version-support.js.map +1 -0
- package/lib/webrtc/audioContext.d.ts +15 -0
- package/lib/webrtc/audioContext.d.ts.map +1 -0
- package/lib/webrtc/audioContext.js +46 -0
- package/lib/webrtc/audioContext.js.map +1 -0
- package/lib/webrtc/call.d.ts +560 -0
- package/lib/webrtc/call.d.ts.map +1 -0
- package/lib/webrtc/call.js +2541 -0
- package/lib/webrtc/call.js.map +1 -0
- package/lib/webrtc/callEventHandler.d.ts +37 -0
- package/lib/webrtc/callEventHandler.d.ts.map +1 -0
- package/lib/webrtc/callEventHandler.js +344 -0
- package/lib/webrtc/callEventHandler.js.map +1 -0
- package/lib/webrtc/callEventTypes.d.ts +73 -0
- package/lib/webrtc/callEventTypes.d.ts.map +1 -0
- package/lib/webrtc/callEventTypes.js +13 -0
- package/lib/webrtc/callEventTypes.js.map +1 -0
- package/lib/webrtc/callFeed.d.ts +128 -0
- package/lib/webrtc/callFeed.d.ts.map +1 -0
- package/lib/webrtc/callFeed.js +289 -0
- package/lib/webrtc/callFeed.js.map +1 -0
- package/lib/webrtc/groupCall.d.ts +323 -0
- package/lib/webrtc/groupCall.d.ts.map +1 -0
- package/lib/webrtc/groupCall.js +1337 -0
- package/lib/webrtc/groupCall.js.map +1 -0
- package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
- package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
- package/lib/webrtc/groupCallEventHandler.js +178 -0
- package/lib/webrtc/groupCallEventHandler.js.map +1 -0
- package/lib/webrtc/mediaHandler.d.ts +89 -0
- package/lib/webrtc/mediaHandler.d.ts.map +1 -0
- package/lib/webrtc/mediaHandler.js +437 -0
- package/lib/webrtc/mediaHandler.js.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js +82 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
- package/lib/webrtc/stats/connectionStats.d.ts +28 -0
- package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStats.js +26 -0
- package/lib/webrtc/stats/connectionStats.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
- package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
- package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
- package/lib/webrtc/stats/groupCallStats.js +78 -0
- package/lib/webrtc/stats/groupCallStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js +62 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
- package/lib/webrtc/stats/statsReport.d.ts +99 -0
- package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReport.js +32 -0
- package/lib/webrtc/stats/statsReport.js.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.js +33 -0
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/transportStats.d.ts +11 -0
- package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStats.js +1 -0
- package/lib/webrtc/stats/transportStats.js.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
- package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
- package/lib/webrtc/stats/valueFormatter.js +25 -0
- package/lib/webrtc/stats/valueFormatter.js.map +1 -0
- package/package.json +134 -0
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
- package/src/@types/IIdentityServerProvider.ts +24 -0
- package/src/@types/PushRules.ts +209 -0
- package/src/@types/another-json.d.ts +19 -0
- package/src/@types/auth.ts +252 -0
- package/src/@types/beacon.ts +140 -0
- package/src/@types/common.ts +22 -0
- package/src/@types/crypto.ts +73 -0
- package/src/@types/event.ts +370 -0
- package/src/@types/events.ts +119 -0
- package/src/@types/extensible_events.ts +150 -0
- package/src/@types/global.d.ts +70 -0
- package/src/@types/local_notifications.ts +19 -0
- package/src/@types/location.ts +92 -0
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +44 -0
- package/src/@types/media.ts +245 -0
- package/src/@types/membership.ts +57 -0
- package/src/@types/oidc-client-ts.d.ts +24 -0
- package/src/@types/partials.ts +67 -0
- package/src/@types/polls.ts +119 -0
- package/src/@types/read_receipts.ts +61 -0
- package/src/@types/registration.ts +102 -0
- package/src/@types/requests.ts +314 -0
- package/src/@types/search.ts +119 -0
- package/src/@types/signed.ts +25 -0
- package/src/@types/spaces.ts +37 -0
- package/src/@types/state_events.ts +147 -0
- package/src/@types/synapse.ts +40 -0
- package/src/@types/sync.ts +27 -0
- package/src/@types/threepids.ts +29 -0
- package/src/@types/topic.ts +63 -0
- package/src/@types/uia.ts +29 -0
- package/src/NamespacedValue.ts +123 -0
- package/src/ReEmitter.ts +93 -0
- package/src/ToDeviceMessageQueue.ts +153 -0
- package/src/autodiscovery.ts +505 -0
- package/src/base64.ts +88 -0
- package/src/browser-index.ts +44 -0
- package/src/client.ts +10474 -0
- package/src/common-crypto/CryptoBackend.ts +302 -0
- package/src/common-crypto/README.md +4 -0
- package/src/common-crypto/key-passphrase.ts +43 -0
- package/src/content-helpers.ts +288 -0
- package/src/content-repo.ts +117 -0
- package/src/crypto/CrossSigning.ts +773 -0
- package/src/crypto/DeviceList.ts +989 -0
- package/src/crypto/EncryptionSetup.ts +351 -0
- package/src/crypto/OlmDevice.ts +1500 -0
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +485 -0
- package/src/crypto/RoomList.ts +70 -0
- package/src/crypto/SecretSharing.ts +240 -0
- package/src/crypto/SecretStorage.ts +136 -0
- package/src/crypto/aes.ts +23 -0
- package/src/crypto/algorithms/base.ts +236 -0
- package/src/crypto/algorithms/index.ts +20 -0
- package/src/crypto/algorithms/megolm.ts +2216 -0
- package/src/crypto/algorithms/olm.ts +381 -0
- package/src/crypto/api.ts +70 -0
- package/src/crypto/backup.ts +922 -0
- package/src/crypto/crypto.ts +18 -0
- package/src/crypto/dehydration.ts +272 -0
- package/src/crypto/device-converter.ts +45 -0
- package/src/crypto/deviceinfo.ts +158 -0
- package/src/crypto/index.ts +4414 -0
- package/src/crypto/key_passphrase.ts +42 -0
- package/src/crypto/keybackup.ts +47 -0
- package/src/crypto/olmlib.ts +539 -0
- package/src/crypto/recoverykey.ts +18 -0
- package/src/crypto/store/base.ts +348 -0
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +1250 -0
- package/src/crypto/store/indexeddb-crypto-store.ts +845 -0
- package/src/crypto/store/localStorage-crypto-store.ts +579 -0
- package/src/crypto/store/memory-crypto-store.ts +680 -0
- package/src/crypto/verification/Base.ts +409 -0
- package/src/crypto/verification/Error.ts +76 -0
- package/src/crypto/verification/IllegalMethod.ts +50 -0
- package/src/crypto/verification/QRCode.ts +310 -0
- package/src/crypto/verification/SAS.ts +494 -0
- package/src/crypto/verification/SASDecimal.ts +37 -0
- package/src/crypto/verification/request/Channel.ts +34 -0
- package/src/crypto/verification/request/InRoomChannel.ts +371 -0
- package/src/crypto/verification/request/ToDeviceChannel.ts +354 -0
- package/src/crypto/verification/request/VerificationRequest.ts +976 -0
- package/src/crypto-api/CryptoEvent.ts +93 -0
- package/src/crypto-api/CryptoEventHandlerMap.ts +32 -0
- package/src/crypto-api/index.ts +1175 -0
- package/src/crypto-api/key-passphrase.ts +58 -0
- package/src/crypto-api/keybackup.ts +115 -0
- package/src/crypto-api/recovery-key.ts +69 -0
- package/src/crypto-api/verification.ts +408 -0
- package/src/digest.ts +34 -0
- package/src/embedded.ts +631 -0
- package/src/errors.ts +54 -0
- package/src/event-mapper.ts +97 -0
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
- package/src/extensible_events_v1/InvalidEventError.ts +24 -0
- package/src/extensible_events_v1/MessageEvent.ts +145 -0
- package/src/extensible_events_v1/PollEndEvent.ts +97 -0
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
- package/src/extensible_events_v1/PollStartEvent.ts +207 -0
- package/src/extensible_events_v1/utilities.ts +35 -0
- package/src/feature.ts +87 -0
- package/src/filter-component.ts +207 -0
- package/src/filter.ts +245 -0
- package/src/http-api/errors.ts +199 -0
- package/src/http-api/fetch.ts +383 -0
- package/src/http-api/index.ts +191 -0
- package/src/http-api/interface.ts +178 -0
- package/src/http-api/method.ts +25 -0
- package/src/http-api/prefix.ts +48 -0
- package/src/http-api/utils.ts +200 -0
- package/src/index.ts +25 -0
- package/src/indexeddb-helpers.ts +50 -0
- package/src/indexeddb-worker.ts +24 -0
- package/src/interactive-auth.ts +694 -0
- package/src/logger.ts +185 -0
- package/src/matrix.ts +177 -0
- package/src/matrixrtc/CallMembership.ts +247 -0
- package/src/matrixrtc/LivekitFocus.ts +39 -0
- package/src/matrixrtc/MatrixRTCSession.ts +1319 -0
- package/src/matrixrtc/MatrixRTCSessionManager.ts +166 -0
- package/src/matrixrtc/focus.ts +25 -0
- package/src/matrixrtc/index.ts +22 -0
- package/src/matrixrtc/types.ts +36 -0
- package/src/models/MSC3089Branch.ts +272 -0
- package/src/models/MSC3089TreeSpace.ts +565 -0
- package/src/models/ToDeviceMessage.ts +38 -0
- package/src/models/beacon.ts +214 -0
- package/src/models/compare-event-ordering.ts +139 -0
- package/src/models/device.ts +85 -0
- package/src/models/event-context.ts +110 -0
- package/src/models/event-status.ts +39 -0
- package/src/models/event-timeline-set.ts +979 -0
- package/src/models/event-timeline.ts +476 -0
- package/src/models/event.ts +1751 -0
- package/src/models/invites-ignorer.ts +376 -0
- package/src/models/poll.ts +285 -0
- package/src/models/profile-keys.ts +7 -0
- package/src/models/read-receipt.ts +422 -0
- package/src/models/related-relations.ts +39 -0
- package/src/models/relations-container.ts +149 -0
- package/src/models/relations.ts +368 -0
- package/src/models/room-member.ts +457 -0
- package/src/models/room-receipts.ts +439 -0
- package/src/models/room-state.ts +1130 -0
- package/src/models/room-summary.ts +47 -0
- package/src/models/room.ts +3822 -0
- package/src/models/search-result.ts +57 -0
- package/src/models/thread.ts +923 -0
- package/src/models/typed-event-emitter.ts +246 -0
- package/src/models/user.ts +302 -0
- package/src/oidc/authorize.ts +274 -0
- package/src/oidc/discovery.ts +60 -0
- package/src/oidc/error.ts +33 -0
- package/src/oidc/index.ts +34 -0
- package/src/oidc/register.ts +123 -0
- package/src/oidc/tokenRefresher.ts +149 -0
- package/src/oidc/validate.ts +282 -0
- package/src/pushprocessor.ts +837 -0
- package/src/randomstring.ts +51 -0
- package/src/realtime-callbacks.ts +191 -0
- package/src/receipt-accumulator.ts +189 -0
- package/src/rendezvous/MSC4108SignInWithQR.ts +444 -0
- package/src/rendezvous/RendezvousChannel.ts +48 -0
- package/src/rendezvous/RendezvousCode.ts +25 -0
- package/src/rendezvous/RendezvousError.ts +26 -0
- package/src/rendezvous/RendezvousFailureReason.ts +49 -0
- package/src/rendezvous/RendezvousIntent.ts +20 -0
- package/src/rendezvous/RendezvousTransport.ts +58 -0
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
- package/src/rendezvous/channels/index.ts +17 -0
- package/src/rendezvous/index.ts +25 -0
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +270 -0
- package/src/rendezvous/transports/index.ts +17 -0
- package/src/room-hierarchy.ts +152 -0
- package/src/rust-crypto/CrossSigningIdentity.ts +183 -0
- package/src/rust-crypto/DehydratedDeviceManager.ts +306 -0
- package/src/rust-crypto/KeyClaimManager.ts +86 -0
- package/src/rust-crypto/OutgoingRequestProcessor.ts +236 -0
- package/src/rust-crypto/OutgoingRequestsManager.ts +143 -0
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
- package/src/rust-crypto/RoomEncryptor.ts +352 -0
- package/src/rust-crypto/backup.ts +881 -0
- package/src/rust-crypto/constants.ts +18 -0
- package/src/rust-crypto/device-converter.ts +128 -0
- package/src/rust-crypto/index.ts +237 -0
- package/src/rust-crypto/libolm_migration.ts +530 -0
- package/src/rust-crypto/rust-crypto.ts +2205 -0
- package/src/rust-crypto/secret-storage.ts +60 -0
- package/src/rust-crypto/verification.ts +830 -0
- package/src/scheduler.ts +309 -0
- package/src/secret-storage.ts +693 -0
- package/src/serverCapabilities.ts +139 -0
- package/src/service-types.ts +20 -0
- package/src/sliding-sync-sdk.ts +1026 -0
- package/src/sliding-sync.ts +965 -0
- package/src/store/index.ts +261 -0
- package/src/store/indexeddb-backend.ts +41 -0
- package/src/store/indexeddb-local-backend.ts +610 -0
- package/src/store/indexeddb-remote-backend.ts +213 -0
- package/src/store/indexeddb-store-worker.ts +157 -0
- package/src/store/indexeddb.ts +397 -0
- package/src/store/local-storage-events-emitter.ts +46 -0
- package/src/store/memory.ts +448 -0
- package/src/store/stub.ts +280 -0
- package/src/sync-accumulator.ts +689 -0
- package/src/sync.ts +1920 -0
- package/src/testing.ts +191 -0
- package/src/thread-utils.ts +31 -0
- package/src/timeline-window.ts +536 -0
- package/src/types.ts +59 -0
- package/src/utils/decryptAESSecretStorageItem.ts +54 -0
- package/src/utils/encryptAESSecretStorageItem.ts +73 -0
- package/src/utils/internal/deriveKeys.ts +63 -0
- package/src/utils.ts +763 -0
- package/src/version-support.ts +36 -0
- package/src/webrtc/audioContext.ts +44 -0
- package/src/webrtc/call.ts +3074 -0
- package/src/webrtc/callEventHandler.ts +425 -0
- package/src/webrtc/callEventTypes.ts +93 -0
- package/src/webrtc/callFeed.ts +364 -0
- package/src/webrtc/groupCall.ts +1735 -0
- package/src/webrtc/groupCallEventHandler.ts +234 -0
- package/src/webrtc/mediaHandler.ts +484 -0
- package/src/webrtc/stats/callFeedStatsReporter.ts +94 -0
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
- package/src/webrtc/stats/connectionStats.ts +47 -0
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
- package/src/webrtc/stats/groupCallStats.ts +93 -0
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
- package/src/webrtc/stats/media/mediaTrackHandler.ts +76 -0
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
- package/src/webrtc/stats/statsReport.ts +133 -0
- package/src/webrtc/stats/statsReportEmitter.ts +49 -0
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
- package/src/webrtc/stats/transportStats.ts +26 -0
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
- package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,132 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
/*
|
3
|
+
Copyright 2022 The Matrix.org Foundation C.I.C.
|
4
|
+
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
you may not use this file except in compliance with the License.
|
7
|
+
You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
16
|
+
*/
|
17
|
+
|
18
|
+
import { Relations } from "./relations.js";
|
19
|
+
import { EventStatus, MatrixEventEvent } from "./event.js";
|
20
|
+
export class RelationsContainer {
|
21
|
+
constructor(client, room) {
|
22
|
+
this.client = client;
|
23
|
+
this.room = room;
|
24
|
+
// A tree of objects to access a set of related children for an event, as in:
|
25
|
+
// this.relations.get(parentEventId).get(relationType).get(relationEventType)
|
26
|
+
_defineProperty(this, "relations", new Map());
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Get a collection of child events to a given event in this timeline set.
|
31
|
+
*
|
32
|
+
* @param eventId - The ID of the event that you'd like to access child events for.
|
33
|
+
* For example, with annotations, this would be the ID of the event being annotated.
|
34
|
+
* @param relationType - The type of relationship involved, such as "m.annotation", "m.reference", "m.replace", etc.
|
35
|
+
* @param eventType - The relation event's type, such as "m.reaction", etc.
|
36
|
+
* @throws If `eventId</code>, <code>relationType</code> or <code>eventType`
|
37
|
+
* are not valid.
|
38
|
+
*
|
39
|
+
* @returns
|
40
|
+
* A container for relation events or undefined if there are no relation events for
|
41
|
+
* the relationType.
|
42
|
+
*/
|
43
|
+
getChildEventsForEvent(eventId, relationType, eventType) {
|
44
|
+
var _this$relations$get;
|
45
|
+
return (_this$relations$get = this.relations.get(eventId)) === null || _this$relations$get === void 0 || (_this$relations$get = _this$relations$get.get(relationType)) === null || _this$relations$get === void 0 ? void 0 : _this$relations$get.get(eventType);
|
46
|
+
}
|
47
|
+
getAllChildEventsForEvent(parentEventId) {
|
48
|
+
var _this$relations$get2;
|
49
|
+
var relationsForEvent = (_this$relations$get2 = this.relations.get(parentEventId)) !== null && _this$relations$get2 !== void 0 ? _this$relations$get2 : new Map();
|
50
|
+
var events = [];
|
51
|
+
for (var relationsRecord of relationsForEvent.values()) {
|
52
|
+
for (var relations of relationsRecord.values()) {
|
53
|
+
events.push(...relations.getRelations());
|
54
|
+
}
|
55
|
+
}
|
56
|
+
return events;
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Set an event as the target event if any Relations exist for it already.
|
61
|
+
* Child events can point to other child events as their parent, so this method may be
|
62
|
+
* called for events which are also logically child events.
|
63
|
+
*
|
64
|
+
* @param event - The event to check as relation target.
|
65
|
+
*/
|
66
|
+
aggregateParentEvent(event) {
|
67
|
+
var relationsForEvent = this.relations.get(event.getId());
|
68
|
+
if (!relationsForEvent) return;
|
69
|
+
for (var relationsWithRelType of relationsForEvent.values()) {
|
70
|
+
for (var relationsWithEventType of relationsWithRelType.values()) {
|
71
|
+
relationsWithEventType.setTargetEvent(event);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Add relation events to the relevant relation collection.
|
78
|
+
*
|
79
|
+
* @param event - The new child event to be aggregated.
|
80
|
+
* @param timelineSet - The event timeline set within which to search for the related event if any.
|
81
|
+
*/
|
82
|
+
aggregateChildEvent(event, timelineSet) {
|
83
|
+
if (event.isRedacted() || event.status === EventStatus.CANCELLED) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
var relation = event.getRelation();
|
87
|
+
if (!relation) return;
|
88
|
+
var onEventDecrypted = () => {
|
89
|
+
if (event.isDecryptionFailure()) {
|
90
|
+
// This could for example happen if the encryption keys are not yet available.
|
91
|
+
// The event may still be decrypted later. Register the listener again.
|
92
|
+
event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
this.aggregateChildEvent(event, timelineSet);
|
96
|
+
};
|
97
|
+
|
98
|
+
// If the event is currently encrypted, wait until it has been decrypted.
|
99
|
+
if (event.isBeingDecrypted() || event.shouldAttemptDecryption()) {
|
100
|
+
event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
var {
|
104
|
+
event_id: relatesToEventId,
|
105
|
+
rel_type: relationType
|
106
|
+
} = relation;
|
107
|
+
var eventType = event.getType();
|
108
|
+
var relationsForEvent = this.relations.get(relatesToEventId);
|
109
|
+
if (!relationsForEvent) {
|
110
|
+
relationsForEvent = new Map();
|
111
|
+
this.relations.set(relatesToEventId, relationsForEvent);
|
112
|
+
}
|
113
|
+
var relationsWithRelType = relationsForEvent.get(relationType);
|
114
|
+
if (!relationsWithRelType) {
|
115
|
+
relationsWithRelType = new Map();
|
116
|
+
relationsForEvent.set(relationType, relationsWithRelType);
|
117
|
+
}
|
118
|
+
var relationsWithEventType = relationsWithRelType.get(eventType);
|
119
|
+
if (!relationsWithEventType) {
|
120
|
+
var _this$room, _ref, _timelineSet$findEven;
|
121
|
+
relationsWithEventType = new Relations(relationType, eventType, this.client);
|
122
|
+
relationsWithRelType.set(eventType, relationsWithEventType);
|
123
|
+
var _room = (_this$room = this.room) !== null && _this$room !== void 0 ? _this$room : timelineSet === null || timelineSet === void 0 ? void 0 : timelineSet.room;
|
124
|
+
var relatesToEvent = (_ref = (_timelineSet$findEven = timelineSet === null || timelineSet === void 0 ? void 0 : timelineSet.findEventById(relatesToEventId)) !== null && _timelineSet$findEven !== void 0 ? _timelineSet$findEven : _room === null || _room === void 0 ? void 0 : _room.findEventById(relatesToEventId)) !== null && _ref !== void 0 ? _ref : _room === null || _room === void 0 ? void 0 : _room.getPendingEvent(relatesToEventId);
|
125
|
+
if (relatesToEvent) {
|
126
|
+
relationsWithEventType.setTargetEvent(relatesToEvent);
|
127
|
+
}
|
128
|
+
}
|
129
|
+
relationsWithEventType.addEvent(event);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
//# sourceMappingURL=relations-container.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"relations-container.js","names":["Relations","EventStatus","MatrixEventEvent","RelationsContainer","constructor","client","room","_defineProperty","Map","getChildEventsForEvent","eventId","relationType","eventType","_this$relations$get","relations","get","getAllChildEventsForEvent","parentEventId","_this$relations$get2","relationsForEvent","events","relationsRecord","values","push","getRelations","aggregateParentEvent","event","getId","relationsWithRelType","relationsWithEventType","setTargetEvent","aggregateChildEvent","timelineSet","isRedacted","status","CANCELLED","relation","getRelation","onEventDecrypted","isDecryptionFailure","once","Decrypted","isBeingDecrypted","shouldAttemptDecryption","event_id","relatesToEventId","rel_type","getType","set","_this$room","_ref","_timelineSet$findEven","relatesToEvent","findEventById","getPendingEvent","addEvent"],"sources":["../../src/models/relations-container.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { Relations } from \"./relations.ts\";\nimport { EventType, RelationType } from \"../@types/event.ts\";\nimport { EventStatus, MatrixEvent, MatrixEventEvent } from \"./event.ts\";\nimport { EventTimelineSet } from \"./event-timeline-set.ts\";\nimport { MatrixClient } from \"../client.ts\";\nimport { Room } from \"./room.ts\";\n\nexport class RelationsContainer {\n // A tree of objects to access a set of related children for an event, as in:\n // this.relations.get(parentEventId).get(relationType).get(relationEventType)\n private relations = new Map<string, Map<RelationType | string, Map<EventType | string, Relations>>>();\n\n public constructor(\n private readonly client: MatrixClient,\n private readonly room?: Room,\n ) {}\n\n /**\n * Get a collection of child events to a given event in this timeline set.\n *\n * @param eventId - The ID of the event that you'd like to access child events for.\n * For example, with annotations, this would be the ID of the event being annotated.\n * @param relationType - The type of relationship involved, such as \"m.annotation\", \"m.reference\", \"m.replace\", etc.\n * @param eventType - The relation event's type, such as \"m.reaction\", etc.\n * @throws If `eventId</code>, <code>relationType</code> or <code>eventType`\n * are not valid.\n *\n * @returns\n * A container for relation events or undefined if there are no relation events for\n * the relationType.\n */\n public getChildEventsForEvent(\n eventId: string,\n relationType: RelationType | string,\n eventType: EventType | string,\n ): Relations | undefined {\n return this.relations.get(eventId)?.get(relationType)?.get(eventType);\n }\n\n public getAllChildEventsForEvent(parentEventId: string): MatrixEvent[] {\n const relationsForEvent =\n this.relations.get(parentEventId) ?? new Map<RelationType | string, Map<EventType | string, Relations>>();\n const events: MatrixEvent[] = [];\n for (const relationsRecord of relationsForEvent.values()) {\n for (const relations of relationsRecord.values()) {\n events.push(...relations.getRelations());\n }\n }\n return events;\n }\n\n /**\n * Set an event as the target event if any Relations exist for it already.\n * Child events can point to other child events as their parent, so this method may be\n * called for events which are also logically child events.\n *\n * @param event - The event to check as relation target.\n */\n public aggregateParentEvent(event: MatrixEvent): void {\n const relationsForEvent = this.relations.get(event.getId()!);\n if (!relationsForEvent) return;\n\n for (const relationsWithRelType of relationsForEvent.values()) {\n for (const relationsWithEventType of relationsWithRelType.values()) {\n relationsWithEventType.setTargetEvent(event);\n }\n }\n }\n\n /**\n * Add relation events to the relevant relation collection.\n *\n * @param event - The new child event to be aggregated.\n * @param timelineSet - The event timeline set within which to search for the related event if any.\n */\n public aggregateChildEvent(event: MatrixEvent, timelineSet?: EventTimelineSet): void {\n if (event.isRedacted() || event.status === EventStatus.CANCELLED) {\n return;\n }\n\n const relation = event.getRelation();\n if (!relation) return;\n\n const onEventDecrypted = (): void => {\n if (event.isDecryptionFailure()) {\n // This could for example happen if the encryption keys are not yet available.\n // The event may still be decrypted later. Register the listener again.\n event.once(MatrixEventEvent.Decrypted, onEventDecrypted);\n return;\n }\n\n this.aggregateChildEvent(event, timelineSet);\n };\n\n // If the event is currently encrypted, wait until it has been decrypted.\n if (event.isBeingDecrypted() || event.shouldAttemptDecryption()) {\n event.once(MatrixEventEvent.Decrypted, onEventDecrypted);\n return;\n }\n\n const { event_id: relatesToEventId, rel_type: relationType } = relation;\n const eventType = event.getType();\n\n let relationsForEvent = this.relations.get(relatesToEventId!);\n if (!relationsForEvent) {\n relationsForEvent = new Map<RelationType | string, Map<EventType | string, Relations>>();\n this.relations.set(relatesToEventId!, relationsForEvent);\n }\n\n let relationsWithRelType = relationsForEvent.get(relationType!);\n if (!relationsWithRelType) {\n relationsWithRelType = new Map<EventType | string, Relations>();\n relationsForEvent.set(relationType!, relationsWithRelType);\n }\n\n let relationsWithEventType = relationsWithRelType.get(eventType);\n if (!relationsWithEventType) {\n relationsWithEventType = new Relations(relationType!, eventType, this.client);\n relationsWithRelType.set(eventType, relationsWithEventType);\n\n const room = this.room ?? timelineSet?.room;\n const relatesToEvent =\n timelineSet?.findEventById(relatesToEventId!) ??\n room?.findEventById(relatesToEventId!) ??\n room?.getPendingEvent(relatesToEventId!);\n if (relatesToEvent) {\n relationsWithEventType.setTargetEvent(relatesToEvent);\n }\n }\n\n relationsWithEventType.addEvent(event);\n }\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,QAAQ,gBAAgB;AAE1C,SAASC,WAAW,EAAeC,gBAAgB,QAAQ,YAAY;AAKvE,OAAO,MAAMC,kBAAkB,CAAC;EAKrBC,WAAWA,CACGC,MAAoB,EACpBC,IAAW,EAC9B;IAAA,KAFmBD,MAAoB,GAApBA,MAAoB;IAAA,KACpBC,IAAW,GAAXA,IAAW;IANhC;IACA;IAAAC,eAAA,oBACoB,IAAIC,GAAG,CAAyE,CAAC;EAKlG;;EAEH;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWC,sBAAsBA,CACzBC,OAAe,EACfC,YAAmC,EACnCC,SAA6B,EACR;IAAA,IAAAC,mBAAA;IACrB,QAAAA,mBAAA,GAAO,IAAI,CAACC,SAAS,CAACC,GAAG,CAACL,OAAO,CAAC,cAAAG,mBAAA,gBAAAA,mBAAA,GAA3BA,mBAAA,CAA6BE,GAAG,CAACJ,YAAY,CAAC,cAAAE,mBAAA,uBAA9CA,mBAAA,CAAgDE,GAAG,CAACH,SAAS,CAAC;EACzE;EAEOI,yBAAyBA,CAACC,aAAqB,EAAiB;IAAA,IAAAC,oBAAA;IACnE,IAAMC,iBAAiB,IAAAD,oBAAA,GACnB,IAAI,CAACJ,SAAS,CAACC,GAAG,CAACE,aAAa,CAAC,cAAAC,oBAAA,cAAAA,oBAAA,GAAI,IAAIV,GAAG,CAA4D,CAAC;IAC7G,IAAMY,MAAqB,GAAG,EAAE;IAChC,KAAK,IAAMC,eAAe,IAAIF,iBAAiB,CAACG,MAAM,CAAC,CAAC,EAAE;MACtD,KAAK,IAAMR,SAAS,IAAIO,eAAe,CAACC,MAAM,CAAC,CAAC,EAAE;QAC9CF,MAAM,CAACG,IAAI,CAAC,GAAGT,SAAS,CAACU,YAAY,CAAC,CAAC,CAAC;MAC5C;IACJ;IACA,OAAOJ,MAAM;EACjB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACWK,oBAAoBA,CAACC,KAAkB,EAAQ;IAClD,IAAMP,iBAAiB,GAAG,IAAI,CAACL,SAAS,CAACC,GAAG,CAACW,KAAK,CAACC,KAAK,CAAC,CAAE,CAAC;IAC5D,IAAI,CAACR,iBAAiB,EAAE;IAExB,KAAK,IAAMS,oBAAoB,IAAIT,iBAAiB,CAACG,MAAM,CAAC,CAAC,EAAE;MAC3D,KAAK,IAAMO,sBAAsB,IAAID,oBAAoB,CAACN,MAAM,CAAC,CAAC,EAAE;QAChEO,sBAAsB,CAACC,cAAc,CAACJ,KAAK,CAAC;MAChD;IACJ;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACWK,mBAAmBA,CAACL,KAAkB,EAAEM,WAA8B,EAAQ;IACjF,IAAIN,KAAK,CAACO,UAAU,CAAC,CAAC,IAAIP,KAAK,CAACQ,MAAM,KAAKjC,WAAW,CAACkC,SAAS,EAAE;MAC9D;IACJ;IAEA,IAAMC,QAAQ,GAAGV,KAAK,CAACW,WAAW,CAAC,CAAC;IACpC,IAAI,CAACD,QAAQ,EAAE;IAEf,IAAME,gBAAgB,GAAGA,CAAA,KAAY;MACjC,IAAIZ,KAAK,CAACa,mBAAmB,CAAC,CAAC,EAAE;QAC7B;QACA;QACAb,KAAK,CAACc,IAAI,CAACtC,gBAAgB,CAACuC,SAAS,EAAEH,gBAAgB,CAAC;QACxD;MACJ;MAEA,IAAI,CAACP,mBAAmB,CAACL,KAAK,EAAEM,WAAW,CAAC;IAChD,CAAC;;IAED;IACA,IAAIN,KAAK,CAACgB,gBAAgB,CAAC,CAAC,IAAIhB,KAAK,CAACiB,uBAAuB,CAAC,CAAC,EAAE;MAC7DjB,KAAK,CAACc,IAAI,CAACtC,gBAAgB,CAACuC,SAAS,EAAEH,gBAAgB,CAAC;MACxD;IACJ;IAEA,IAAM;MAAEM,QAAQ,EAAEC,gBAAgB;MAAEC,QAAQ,EAAEnC;IAAa,CAAC,GAAGyB,QAAQ;IACvE,IAAMxB,SAAS,GAAGc,KAAK,CAACqB,OAAO,CAAC,CAAC;IAEjC,IAAI5B,iBAAiB,GAAG,IAAI,CAACL,SAAS,CAACC,GAAG,CAAC8B,gBAAiB,CAAC;IAC7D,IAAI,CAAC1B,iBAAiB,EAAE;MACpBA,iBAAiB,GAAG,IAAIX,GAAG,CAA4D,CAAC;MACxF,IAAI,CAACM,SAAS,CAACkC,GAAG,CAACH,gBAAgB,EAAG1B,iBAAiB,CAAC;IAC5D;IAEA,IAAIS,oBAAoB,GAAGT,iBAAiB,CAACJ,GAAG,CAACJ,YAAa,CAAC;IAC/D,IAAI,CAACiB,oBAAoB,EAAE;MACvBA,oBAAoB,GAAG,IAAIpB,GAAG,CAAgC,CAAC;MAC/DW,iBAAiB,CAAC6B,GAAG,CAACrC,YAAY,EAAGiB,oBAAoB,CAAC;IAC9D;IAEA,IAAIC,sBAAsB,GAAGD,oBAAoB,CAACb,GAAG,CAACH,SAAS,CAAC;IAChE,IAAI,CAACiB,sBAAsB,EAAE;MAAA,IAAAoB,UAAA,EAAAC,IAAA,EAAAC,qBAAA;MACzBtB,sBAAsB,GAAG,IAAI7B,SAAS,CAACW,YAAY,EAAGC,SAAS,EAAE,IAAI,CAACP,MAAM,CAAC;MAC7EuB,oBAAoB,CAACoB,GAAG,CAACpC,SAAS,EAAEiB,sBAAsB,CAAC;MAE3D,IAAMvB,KAAI,IAAA2C,UAAA,GAAG,IAAI,CAAC3C,IAAI,cAAA2C,UAAA,cAAAA,UAAA,GAAIjB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE1B,IAAI;MAC3C,IAAM8C,cAAc,IAAAF,IAAA,IAAAC,qBAAA,GAChBnB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqB,aAAa,CAACR,gBAAiB,CAAC,cAAAM,qBAAA,cAAAA,qBAAA,GAC7C7C,KAAI,aAAJA,KAAI,uBAAJA,KAAI,CAAE+C,aAAa,CAACR,gBAAiB,CAAC,cAAAK,IAAA,cAAAA,IAAA,GACtC5C,KAAI,aAAJA,KAAI,uBAAJA,KAAI,CAAEgD,eAAe,CAACT,gBAAiB,CAAC;MAC5C,IAAIO,cAAc,EAAE;QAChBvB,sBAAsB,CAACC,cAAc,CAACsB,cAAc,CAAC;MACzD;IACJ;IAEAvB,sBAAsB,CAAC0B,QAAQ,CAAC7B,KAAK,CAAC;EAC1C;AACJ","ignoreList":[]}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import { MatrixEvent } from "./event.ts";
|
2
|
+
import { RelationType } from "../@types/event.ts";
|
3
|
+
import { TypedEventEmitter } from "./typed-event-emitter.ts";
|
4
|
+
import { MatrixClient } from "../client.ts";
|
5
|
+
import { Room } from "./room.ts";
|
6
|
+
export declare enum RelationsEvent {
|
7
|
+
Add = "Relations.add",
|
8
|
+
Remove = "Relations.remove",
|
9
|
+
Redaction = "Relations.redaction"
|
10
|
+
}
|
11
|
+
export type EventHandlerMap = {
|
12
|
+
[RelationsEvent.Add]: (event: MatrixEvent) => void;
|
13
|
+
[RelationsEvent.Remove]: (event: MatrixEvent) => void;
|
14
|
+
[RelationsEvent.Redaction]: (event: MatrixEvent) => void;
|
15
|
+
};
|
16
|
+
/**
|
17
|
+
* A container for relation events that supports easy access to common ways of
|
18
|
+
* aggregating such events. Each instance holds events that of a single relation
|
19
|
+
* type and event type. All of the events also relate to the same original event.
|
20
|
+
*
|
21
|
+
* The typical way to get one of these containers is via
|
22
|
+
* EventTimelineSet#getRelationsForEvent.
|
23
|
+
*/
|
24
|
+
export declare class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap> {
|
25
|
+
readonly relationType: RelationType | string;
|
26
|
+
readonly eventType: string;
|
27
|
+
readonly altEventTypes?: string[] | undefined;
|
28
|
+
private relationEventIds;
|
29
|
+
private relations;
|
30
|
+
private annotationsByKey;
|
31
|
+
private annotationsBySender;
|
32
|
+
private sortedAnnotationsByKey;
|
33
|
+
private targetEvent;
|
34
|
+
private creationEmitted;
|
35
|
+
private readonly client;
|
36
|
+
/**
|
37
|
+
* @param relationType - The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
|
38
|
+
* @param eventType - The relation event's type, such as "m.reaction", etc.
|
39
|
+
* @param client - The client which created this instance. For backwards compatibility also accepts a Room.
|
40
|
+
* @param altEventTypes - alt event types for relation events, for example to support unstable prefixed event types
|
41
|
+
*/
|
42
|
+
constructor(relationType: RelationType | string, eventType: string, client: MatrixClient | Room, altEventTypes?: string[] | undefined);
|
43
|
+
/**
|
44
|
+
* Add relation events to this collection.
|
45
|
+
*
|
46
|
+
* @param event - The new relation event to be added.
|
47
|
+
*/
|
48
|
+
addEvent(event: MatrixEvent): Promise<void>;
|
49
|
+
/**
|
50
|
+
* Remove relation event from this collection.
|
51
|
+
*
|
52
|
+
* @param event - The relation event to remove.
|
53
|
+
*/
|
54
|
+
removeEvent(event: MatrixEvent): Promise<void>;
|
55
|
+
/**
|
56
|
+
* Listens for event status changes to remove cancelled events.
|
57
|
+
*
|
58
|
+
* @param event - The event whose status has changed
|
59
|
+
* @param status - The new status
|
60
|
+
*/
|
61
|
+
private onEventStatus;
|
62
|
+
/**
|
63
|
+
* Get all relation events in this collection.
|
64
|
+
*
|
65
|
+
* These are currently in the order of insertion to this collection, which
|
66
|
+
* won't match timeline order in the case of scrollback.
|
67
|
+
* TODO: Tweak `addEvent` to insert correctly for scrollback.
|
68
|
+
*
|
69
|
+
* Relation events in insertion order.
|
70
|
+
*/
|
71
|
+
getRelations(): MatrixEvent[];
|
72
|
+
private addAnnotationToAggregation;
|
73
|
+
private removeAnnotationFromAggregation;
|
74
|
+
/**
|
75
|
+
* For relations that have been redacted, we want to remove them from
|
76
|
+
* aggregation data sets and emit an update event.
|
77
|
+
*
|
78
|
+
* To do so, we listen for `Event.beforeRedaction`, which happens:
|
79
|
+
* - after the server accepted the redaction and remote echoed back to us
|
80
|
+
* - before the original event has been marked redacted in the client
|
81
|
+
*
|
82
|
+
* @param redactedEvent - The original relation event that is about to be redacted.
|
83
|
+
*/
|
84
|
+
private onBeforeRedaction;
|
85
|
+
/**
|
86
|
+
* Get all events in this collection grouped by key and sorted by descending
|
87
|
+
* event count in each group.
|
88
|
+
*
|
89
|
+
* This is currently only supported for the annotation relation type.
|
90
|
+
*
|
91
|
+
* An array of [key, events] pairs sorted by descending event count.
|
92
|
+
* The events are stored in a Set (which preserves insertion order).
|
93
|
+
*/
|
94
|
+
getSortedAnnotationsByKey(): [string, Set<MatrixEvent>][] | null;
|
95
|
+
/**
|
96
|
+
* Get all events in this collection grouped by sender.
|
97
|
+
*
|
98
|
+
* This is currently only supported for the annotation relation type.
|
99
|
+
*
|
100
|
+
* An object with each relation sender as a key and the matching Set of
|
101
|
+
* events for that sender as a value.
|
102
|
+
*/
|
103
|
+
getAnnotationsBySender(): Record<string, Set<MatrixEvent>> | null;
|
104
|
+
/**
|
105
|
+
* Returns the most recent (and allowed) m.replace relation, if any.
|
106
|
+
*
|
107
|
+
* This is currently only supported for the m.replace relation type,
|
108
|
+
* once the target event is known, see `addEvent`.
|
109
|
+
*/
|
110
|
+
getLastReplacement(): Promise<MatrixEvent | null>;
|
111
|
+
setTargetEvent(event: MatrixEvent): Promise<void>;
|
112
|
+
private maybeEmitCreated;
|
113
|
+
}
|
114
|
+
//# sourceMappingURL=relations.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/models/relations.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoC,WAAW,EAAoB,MAAM,YAAY,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,oBAAY,cAAc;IACtB,GAAG,kBAAkB;IACrB,MAAM,qBAAqB;IAC3B,SAAS,wBAAwB;CACpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACnD,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5D,CAAC;AAKF;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC;aAiBzD,YAAY,EAAE,YAAY,GAAG,MAAM;aACnC,SAAS,EAAE,MAAM;aAEjB,aAAa,CAAC,EAAE,MAAM,EAAE;IAnB5C,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,mBAAmB,CAAwC;IACnE,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC;;;;;OAKG;gBAEiB,YAAY,EAAE,YAAY,GAAG,MAAM,EACnC,SAAS,EAAE,MAAM,EACjC,MAAM,EAAE,YAAY,GAAG,IAAI,EACX,aAAa,CAAC,EAAE,MAAM,EAAE,YAAA;IAM5C;;;;OAIG;IACU,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CxD;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3D;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAYnB;IAEF;;;;;;;;OAQG;IACI,YAAY,IAAI,WAAW,EAAE;IAIpC,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,+BAA+B;IAuBvC;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAkBvB;IAEF;;;;;;;;OAQG;IACI,yBAAyB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,IAAI;IASvE;;;;;;;OAOG;IACI,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI;IASxE;;;;;OAKG;IACU,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA0CjD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D,OAAO,CAAC,gBAAgB;CAY3B"}
|
@@ -0,0 +1,354 @@
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
|
+
/*
|
4
|
+
Copyright 2019, 2021, 2023 The Matrix.org Foundation C.I.C.
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
*/
|
18
|
+
|
19
|
+
import { EventStatus, MatrixEventEvent } from "./event.js";
|
20
|
+
import { logger } from "../logger.js";
|
21
|
+
import { RelationType } from "../@types/event.js";
|
22
|
+
import { TypedEventEmitter } from "./typed-event-emitter.js";
|
23
|
+
import { Room } from "./room.js";
|
24
|
+
export var RelationsEvent = /*#__PURE__*/function (RelationsEvent) {
|
25
|
+
RelationsEvent["Add"] = "Relations.add";
|
26
|
+
RelationsEvent["Remove"] = "Relations.remove";
|
27
|
+
RelationsEvent["Redaction"] = "Relations.redaction";
|
28
|
+
return RelationsEvent;
|
29
|
+
}({});
|
30
|
+
var matchesEventType = function matchesEventType(eventType, targetEventType) {
|
31
|
+
var altTargetEventTypes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
32
|
+
return [targetEventType, ...altTargetEventTypes].includes(eventType);
|
33
|
+
};
|
34
|
+
|
35
|
+
/**
|
36
|
+
* A container for relation events that supports easy access to common ways of
|
37
|
+
* aggregating such events. Each instance holds events that of a single relation
|
38
|
+
* type and event type. All of the events also relate to the same original event.
|
39
|
+
*
|
40
|
+
* The typical way to get one of these containers is via
|
41
|
+
* EventTimelineSet#getRelationsForEvent.
|
42
|
+
*/
|
43
|
+
export class Relations extends TypedEventEmitter {
|
44
|
+
/**
|
45
|
+
* @param relationType - The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
|
46
|
+
* @param eventType - The relation event's type, such as "m.reaction", etc.
|
47
|
+
* @param client - The client which created this instance. For backwards compatibility also accepts a Room.
|
48
|
+
* @param altEventTypes - alt event types for relation events, for example to support unstable prefixed event types
|
49
|
+
*/
|
50
|
+
constructor(relationType, eventType, client, altEventTypes) {
|
51
|
+
var _this;
|
52
|
+
super();
|
53
|
+
_this = this;
|
54
|
+
this.relationType = relationType;
|
55
|
+
this.eventType = eventType;
|
56
|
+
this.altEventTypes = altEventTypes;
|
57
|
+
_defineProperty(this, "relationEventIds", new Set());
|
58
|
+
_defineProperty(this, "relations", new Set());
|
59
|
+
_defineProperty(this, "annotationsByKey", {});
|
60
|
+
_defineProperty(this, "annotationsBySender", {});
|
61
|
+
_defineProperty(this, "sortedAnnotationsByKey", []);
|
62
|
+
_defineProperty(this, "targetEvent", null);
|
63
|
+
_defineProperty(this, "creationEmitted", false);
|
64
|
+
_defineProperty(this, "client", void 0);
|
65
|
+
/**
|
66
|
+
* Listens for event status changes to remove cancelled events.
|
67
|
+
*
|
68
|
+
* @param event - The event whose status has changed
|
69
|
+
* @param status - The new status
|
70
|
+
*/
|
71
|
+
_defineProperty(this, "onEventStatus", (event, status) => {
|
72
|
+
if (!event.isSending()) {
|
73
|
+
// Sending is done, so we don't need to listen anymore
|
74
|
+
event.removeListener(MatrixEventEvent.Status, this.onEventStatus);
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
if (status !== EventStatus.CANCELLED) {
|
78
|
+
return;
|
79
|
+
}
|
80
|
+
// Event was cancelled, remove from the collection
|
81
|
+
event.removeListener(MatrixEventEvent.Status, this.onEventStatus);
|
82
|
+
this.removeEvent(event);
|
83
|
+
});
|
84
|
+
/**
|
85
|
+
* For relations that have been redacted, we want to remove them from
|
86
|
+
* aggregation data sets and emit an update event.
|
87
|
+
*
|
88
|
+
* To do so, we listen for `Event.beforeRedaction`, which happens:
|
89
|
+
* - after the server accepted the redaction and remote echoed back to us
|
90
|
+
* - before the original event has been marked redacted in the client
|
91
|
+
*
|
92
|
+
* @param redactedEvent - The original relation event that is about to be redacted.
|
93
|
+
*/
|
94
|
+
_defineProperty(this, "onBeforeRedaction", /*#__PURE__*/function () {
|
95
|
+
var _ref = _asyncToGenerator(function* (redactedEvent) {
|
96
|
+
if (!_this.relations.has(redactedEvent)) {
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
_this.relations.delete(redactedEvent);
|
100
|
+
if (_this.relationType === RelationType.Annotation) {
|
101
|
+
// Remove the redacted annotation from aggregation by key
|
102
|
+
_this.removeAnnotationFromAggregation(redactedEvent);
|
103
|
+
} else if (_this.relationType === RelationType.Replace && _this.targetEvent && !_this.targetEvent.isState()) {
|
104
|
+
var lastReplacement = yield _this.getLastReplacement();
|
105
|
+
_this.targetEvent.makeReplaced(lastReplacement);
|
106
|
+
}
|
107
|
+
redactedEvent.removeListener(MatrixEventEvent.BeforeRedaction, _this.onBeforeRedaction);
|
108
|
+
_this.emit(RelationsEvent.Redaction, redactedEvent);
|
109
|
+
});
|
110
|
+
return function (_x) {
|
111
|
+
return _ref.apply(this, arguments);
|
112
|
+
};
|
113
|
+
}());
|
114
|
+
this.client = client instanceof Room ? client.client : client;
|
115
|
+
}
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Add relation events to this collection.
|
119
|
+
*
|
120
|
+
* @param event - The new relation event to be added.
|
121
|
+
*/
|
122
|
+
addEvent(event) {
|
123
|
+
var _this2 = this;
|
124
|
+
return _asyncToGenerator(function* () {
|
125
|
+
if (_this2.relationEventIds.has(event.getId())) {
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
var relation = event.getRelation();
|
129
|
+
if (!relation) {
|
130
|
+
logger.error("Event must have relation info");
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
var relationType = relation.rel_type;
|
134
|
+
var eventType = event.getType();
|
135
|
+
if (_this2.relationType !== relationType || !matchesEventType(eventType, _this2.eventType, _this2.altEventTypes)) {
|
136
|
+
logger.error("Event relation info doesn't match this container");
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
|
140
|
+
// If the event is in the process of being sent, listen for cancellation
|
141
|
+
// so we can remove the event from the collection.
|
142
|
+
if (event.isSending()) {
|
143
|
+
event.on(MatrixEventEvent.Status, _this2.onEventStatus);
|
144
|
+
}
|
145
|
+
_this2.relations.add(event);
|
146
|
+
_this2.relationEventIds.add(event.getId());
|
147
|
+
if (_this2.relationType === RelationType.Annotation) {
|
148
|
+
_this2.addAnnotationToAggregation(event);
|
149
|
+
} else if (_this2.relationType === RelationType.Replace && _this2.targetEvent && !_this2.targetEvent.isState()) {
|
150
|
+
var lastReplacement = yield _this2.getLastReplacement();
|
151
|
+
_this2.targetEvent.makeReplaced(lastReplacement);
|
152
|
+
}
|
153
|
+
event.on(MatrixEventEvent.BeforeRedaction, _this2.onBeforeRedaction);
|
154
|
+
_this2.emit(RelationsEvent.Add, event);
|
155
|
+
_this2.maybeEmitCreated();
|
156
|
+
})();
|
157
|
+
}
|
158
|
+
|
159
|
+
/**
|
160
|
+
* Remove relation event from this collection.
|
161
|
+
*
|
162
|
+
* @param event - The relation event to remove.
|
163
|
+
*/
|
164
|
+
removeEvent(event) {
|
165
|
+
var _this3 = this;
|
166
|
+
return _asyncToGenerator(function* () {
|
167
|
+
if (!_this3.relations.has(event)) {
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
_this3.relations.delete(event);
|
171
|
+
if (_this3.relationType === RelationType.Annotation) {
|
172
|
+
_this3.removeAnnotationFromAggregation(event);
|
173
|
+
} else if (_this3.relationType === RelationType.Replace && _this3.targetEvent && !_this3.targetEvent.isState()) {
|
174
|
+
var lastReplacement = yield _this3.getLastReplacement();
|
175
|
+
_this3.targetEvent.makeReplaced(lastReplacement);
|
176
|
+
}
|
177
|
+
_this3.emit(RelationsEvent.Remove, event);
|
178
|
+
})();
|
179
|
+
}
|
180
|
+
/**
|
181
|
+
* Get all relation events in this collection.
|
182
|
+
*
|
183
|
+
* These are currently in the order of insertion to this collection, which
|
184
|
+
* won't match timeline order in the case of scrollback.
|
185
|
+
* TODO: Tweak `addEvent` to insert correctly for scrollback.
|
186
|
+
*
|
187
|
+
* Relation events in insertion order.
|
188
|
+
*/
|
189
|
+
getRelations() {
|
190
|
+
return [...this.relations];
|
191
|
+
}
|
192
|
+
addAnnotationToAggregation(event) {
|
193
|
+
var _event$getRelation;
|
194
|
+
var {
|
195
|
+
key
|
196
|
+
} = (_event$getRelation = event.getRelation()) !== null && _event$getRelation !== void 0 ? _event$getRelation : {};
|
197
|
+
if (!key) return;
|
198
|
+
var eventsForKey = this.annotationsByKey[key];
|
199
|
+
if (!eventsForKey) {
|
200
|
+
eventsForKey = this.annotationsByKey[key] = new Set();
|
201
|
+
this.sortedAnnotationsByKey.push([key, eventsForKey]);
|
202
|
+
}
|
203
|
+
// Add the new event to the set for this key
|
204
|
+
eventsForKey.add(event);
|
205
|
+
// Re-sort the [key, events] pairs in descending order of event count
|
206
|
+
this.sortedAnnotationsByKey.sort((a, b) => {
|
207
|
+
var aEvents = a[1];
|
208
|
+
var bEvents = b[1];
|
209
|
+
return bEvents.size - aEvents.size;
|
210
|
+
});
|
211
|
+
var sender = event.getSender();
|
212
|
+
var eventsFromSender = this.annotationsBySender[sender];
|
213
|
+
if (!eventsFromSender) {
|
214
|
+
eventsFromSender = this.annotationsBySender[sender] = new Set();
|
215
|
+
}
|
216
|
+
// Add the new event to the set for this sender
|
217
|
+
eventsFromSender.add(event);
|
218
|
+
}
|
219
|
+
removeAnnotationFromAggregation(event) {
|
220
|
+
var _event$getRelation2;
|
221
|
+
var {
|
222
|
+
key
|
223
|
+
} = (_event$getRelation2 = event.getRelation()) !== null && _event$getRelation2 !== void 0 ? _event$getRelation2 : {};
|
224
|
+
if (!key) return;
|
225
|
+
var eventsForKey = this.annotationsByKey[key];
|
226
|
+
if (eventsForKey) {
|
227
|
+
eventsForKey.delete(event);
|
228
|
+
|
229
|
+
// Re-sort the [key, events] pairs in descending order of event count
|
230
|
+
this.sortedAnnotationsByKey.sort((a, b) => {
|
231
|
+
var aEvents = a[1];
|
232
|
+
var bEvents = b[1];
|
233
|
+
return bEvents.size - aEvents.size;
|
234
|
+
});
|
235
|
+
}
|
236
|
+
var sender = event.getSender();
|
237
|
+
var eventsFromSender = this.annotationsBySender[sender];
|
238
|
+
if (eventsFromSender) {
|
239
|
+
eventsFromSender.delete(event);
|
240
|
+
}
|
241
|
+
}
|
242
|
+
/**
|
243
|
+
* Get all events in this collection grouped by key and sorted by descending
|
244
|
+
* event count in each group.
|
245
|
+
*
|
246
|
+
* This is currently only supported for the annotation relation type.
|
247
|
+
*
|
248
|
+
* An array of [key, events] pairs sorted by descending event count.
|
249
|
+
* The events are stored in a Set (which preserves insertion order).
|
250
|
+
*/
|
251
|
+
getSortedAnnotationsByKey() {
|
252
|
+
if (this.relationType !== RelationType.Annotation) {
|
253
|
+
// Other relation types are not grouped currently.
|
254
|
+
return null;
|
255
|
+
}
|
256
|
+
return this.sortedAnnotationsByKey;
|
257
|
+
}
|
258
|
+
|
259
|
+
/**
|
260
|
+
* Get all events in this collection grouped by sender.
|
261
|
+
*
|
262
|
+
* This is currently only supported for the annotation relation type.
|
263
|
+
*
|
264
|
+
* An object with each relation sender as a key and the matching Set of
|
265
|
+
* events for that sender as a value.
|
266
|
+
*/
|
267
|
+
getAnnotationsBySender() {
|
268
|
+
if (this.relationType !== RelationType.Annotation) {
|
269
|
+
// Other relation types are not grouped currently.
|
270
|
+
return null;
|
271
|
+
}
|
272
|
+
return this.annotationsBySender;
|
273
|
+
}
|
274
|
+
|
275
|
+
/**
|
276
|
+
* Returns the most recent (and allowed) m.replace relation, if any.
|
277
|
+
*
|
278
|
+
* This is currently only supported for the m.replace relation type,
|
279
|
+
* once the target event is known, see `addEvent`.
|
280
|
+
*/
|
281
|
+
getLastReplacement() {
|
282
|
+
var _this4 = this;
|
283
|
+
return _asyncToGenerator(function* () {
|
284
|
+
if (_this4.relationType !== RelationType.Replace) {
|
285
|
+
// Aggregating on last only makes sense for this relation type
|
286
|
+
return null;
|
287
|
+
}
|
288
|
+
if (!_this4.targetEvent) {
|
289
|
+
// Don't know which replacements to accept yet.
|
290
|
+
// This method shouldn't be called before the original
|
291
|
+
// event is known anyway.
|
292
|
+
return null;
|
293
|
+
}
|
294
|
+
|
295
|
+
// the all-knowning server tells us that the event at some point had
|
296
|
+
// this timestamp for its replacement, so any following replacement should definitely not be less
|
297
|
+
var replaceRelation = _this4.targetEvent.getServerAggregatedRelation(RelationType.Replace);
|
298
|
+
var minTs = replaceRelation === null || replaceRelation === void 0 ? void 0 : replaceRelation.origin_server_ts;
|
299
|
+
var lastReplacement = _this4.getRelations().reduce((last, event) => {
|
300
|
+
if (event.getSender() !== _this4.targetEvent.getSender()) {
|
301
|
+
return last;
|
302
|
+
}
|
303
|
+
if (minTs && minTs > event.getTs()) {
|
304
|
+
return last;
|
305
|
+
}
|
306
|
+
if (last && last.getTs() > event.getTs()) {
|
307
|
+
return last;
|
308
|
+
}
|
309
|
+
return event;
|
310
|
+
}, null);
|
311
|
+
if (lastReplacement !== null && lastReplacement !== void 0 && lastReplacement.shouldAttemptDecryption() && _this4.client.isCryptoEnabled()) {
|
312
|
+
yield lastReplacement.attemptDecryption(_this4.client.crypto);
|
313
|
+
} else if (lastReplacement !== null && lastReplacement !== void 0 && lastReplacement.isBeingDecrypted()) {
|
314
|
+
yield lastReplacement.getDecryptionPromise();
|
315
|
+
}
|
316
|
+
return lastReplacement;
|
317
|
+
})();
|
318
|
+
}
|
319
|
+
|
320
|
+
/*
|
321
|
+
* @param targetEvent - the event the relations are related to.
|
322
|
+
*/
|
323
|
+
setTargetEvent(event) {
|
324
|
+
var _this5 = this;
|
325
|
+
return _asyncToGenerator(function* () {
|
326
|
+
if (_this5.targetEvent) {
|
327
|
+
return;
|
328
|
+
}
|
329
|
+
_this5.targetEvent = event;
|
330
|
+
if (_this5.relationType === RelationType.Replace && !_this5.targetEvent.isState()) {
|
331
|
+
var replacement = yield _this5.getLastReplacement();
|
332
|
+
// this is the initial update, so only call it if we already have something
|
333
|
+
// to not emit Event.replaced needlessly
|
334
|
+
if (replacement) {
|
335
|
+
_this5.targetEvent.makeReplaced(replacement);
|
336
|
+
}
|
337
|
+
}
|
338
|
+
_this5.maybeEmitCreated();
|
339
|
+
})();
|
340
|
+
}
|
341
|
+
maybeEmitCreated() {
|
342
|
+
if (this.creationEmitted) {
|
343
|
+
return;
|
344
|
+
}
|
345
|
+
// Only emit we're "created" once we have a target event instance _and_
|
346
|
+
// at least one related event.
|
347
|
+
if (!this.targetEvent || !this.relations.size) {
|
348
|
+
return;
|
349
|
+
}
|
350
|
+
this.creationEmitted = true;
|
351
|
+
this.targetEvent.emit(MatrixEventEvent.RelationsCreated, this.relationType, this.eventType);
|
352
|
+
}
|
353
|
+
}
|
354
|
+
//# sourceMappingURL=relations.js.map
|