@textrp/briij-js-sdk 41.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1104) hide show
  1. package/CHANGELOG.md +6464 -0
  2. package/LICENSE +177 -0
  3. package/README.md +477 -0
  4. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  8. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  10. package/lib/@types/IIdentityServerProvider.js +1 -0
  11. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  12. package/lib/@types/PushRules.d.ts +140 -0
  13. package/lib/@types/PushRules.d.ts.map +1 -0
  14. package/lib/@types/PushRules.js +94 -0
  15. package/lib/@types/PushRules.js.map +1 -0
  16. package/lib/@types/another-json.d.js +0 -0
  17. package/lib/@types/another-json.d.js.map +1 -0
  18. package/lib/@types/auth.d.ts +213 -0
  19. package/lib/@types/auth.d.ts.map +1 -0
  20. package/lib/@types/auth.js +107 -0
  21. package/lib/@types/auth.js.map +1 -0
  22. package/lib/@types/beacon.d.ts +106 -0
  23. package/lib/@types/beacon.d.ts.map +1 -0
  24. package/lib/@types/beacon.js +119 -0
  25. package/lib/@types/beacon.js.map +1 -0
  26. package/lib/@types/common.d.ts +10 -0
  27. package/lib/@types/common.d.ts.map +1 -0
  28. package/lib/@types/common.js +1 -0
  29. package/lib/@types/common.js.map +1 -0
  30. package/lib/@types/crypto.d.ts +46 -0
  31. package/lib/@types/crypto.d.ts.map +1 -0
  32. package/lib/@types/crypto.js +1 -0
  33. package/lib/@types/crypto.js.map +1 -0
  34. package/lib/@types/event.d.ts +356 -0
  35. package/lib/@types/event.d.ts.map +1 -0
  36. package/lib/@types/event.js +280 -0
  37. package/lib/@types/event.js.map +1 -0
  38. package/lib/@types/events.d.ts +92 -0
  39. package/lib/@types/events.d.ts.map +1 -0
  40. package/lib/@types/events.js +1 -0
  41. package/lib/@types/events.js.map +1 -0
  42. package/lib/@types/extensible_events.d.ts +98 -0
  43. package/lib/@types/extensible_events.d.ts.map +1 -0
  44. package/lib/@types/extensible_events.js +116 -0
  45. package/lib/@types/extensible_events.js.map +1 -0
  46. package/lib/@types/global.d.js +18 -0
  47. package/lib/@types/global.d.js.map +1 -0
  48. package/lib/@types/local_notifications.d.ts +4 -0
  49. package/lib/@types/local_notifications.d.ts.map +1 -0
  50. package/lib/@types/local_notifications.js +1 -0
  51. package/lib/@types/local_notifications.js.map +1 -0
  52. package/lib/@types/location.d.ts +60 -0
  53. package/lib/@types/location.d.ts.map +1 -0
  54. package/lib/@types/location.js +66 -0
  55. package/lib/@types/location.js.map +1 -0
  56. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  58. package/lib/@types/media.d.ts +220 -0
  59. package/lib/@types/media.d.ts.map +1 -0
  60. package/lib/@types/media.js +1 -0
  61. package/lib/@types/media.js.map +1 -0
  62. package/lib/@types/membership.d.ts +41 -0
  63. package/lib/@types/membership.d.ts.map +1 -0
  64. package/lib/@types/membership.js +58 -0
  65. package/lib/@types/membership.js.map +1 -0
  66. package/lib/@types/partials.d.ts +72 -0
  67. package/lib/@types/partials.d.ts.map +1 -0
  68. package/lib/@types/partials.js +71 -0
  69. package/lib/@types/partials.js.map +1 -0
  70. package/lib/@types/polls.d.ts +89 -0
  71. package/lib/@types/polls.d.ts.map +1 -0
  72. package/lib/@types/polls.js +86 -0
  73. package/lib/@types/polls.js.map +1 -0
  74. package/lib/@types/read_receipts.d.ts +36 -0
  75. package/lib/@types/read_receipts.d.ts.map +1 -0
  76. package/lib/@types/read_receipts.js +27 -0
  77. package/lib/@types/read_receipts.js.map +1 -0
  78. package/lib/@types/registration.d.ts +85 -0
  79. package/lib/@types/registration.d.ts.map +1 -0
  80. package/lib/@types/registration.js +1 -0
  81. package/lib/@types/registration.js.map +1 -0
  82. package/lib/@types/requests.d.ts +267 -0
  83. package/lib/@types/requests.d.ts.map +1 -0
  84. package/lib/@types/requests.js +42 -0
  85. package/lib/@types/requests.js.map +1 -0
  86. package/lib/@types/search.d.ts +90 -0
  87. package/lib/@types/search.d.ts.map +1 -0
  88. package/lib/@types/search.js +30 -0
  89. package/lib/@types/search.js.map +1 -0
  90. package/lib/@types/signed.d.ts +9 -0
  91. package/lib/@types/signed.d.ts.map +1 -0
  92. package/lib/@types/signed.js +1 -0
  93. package/lib/@types/signed.js.map +1 -0
  94. package/lib/@types/spaces.d.ts +16 -0
  95. package/lib/@types/spaces.d.ts.map +1 -0
  96. package/lib/@types/spaces.js +1 -0
  97. package/lib/@types/spaces.js.map +1 -0
  98. package/lib/@types/state_events.d.ts +121 -0
  99. package/lib/@types/state_events.d.ts.map +1 -0
  100. package/lib/@types/state_events.js +1 -0
  101. package/lib/@types/state_events.js.map +1 -0
  102. package/lib/@types/synapse.d.ts +19 -0
  103. package/lib/@types/synapse.d.ts.map +1 -0
  104. package/lib/@types/synapse.js +1 -0
  105. package/lib/@types/synapse.js.map +1 -0
  106. package/lib/@types/sync.d.ts +8 -0
  107. package/lib/@types/sync.d.ts.map +1 -0
  108. package/lib/@types/sync.js +25 -0
  109. package/lib/@types/sync.js.map +1 -0
  110. package/lib/@types/threepids.d.ts +12 -0
  111. package/lib/@types/threepids.d.ts.map +1 -0
  112. package/lib/@types/threepids.js +24 -0
  113. package/lib/@types/threepids.js.map +1 -0
  114. package/lib/@types/topic.d.ts +55 -0
  115. package/lib/@types/topic.d.ts.map +1 -0
  116. package/lib/@types/topic.js +62 -0
  117. package/lib/@types/topic.js.map +1 -0
  118. package/lib/@types/uia.d.ts +8 -0
  119. package/lib/@types/uia.d.ts.map +1 -0
  120. package/lib/@types/uia.js +1 -0
  121. package/lib/@types/uia.js.map +1 -0
  122. package/lib/NamespacedValue.d.ts +32 -0
  123. package/lib/NamespacedValue.d.ts.map +1 -0
  124. package/lib/NamespacedValue.js +113 -0
  125. package/lib/NamespacedValue.js.map +1 -0
  126. package/lib/ReEmitter.d.ts +15 -0
  127. package/lib/ReEmitter.d.ts.map +1 -0
  128. package/lib/ReEmitter.js +87 -0
  129. package/lib/ReEmitter.js.map +1 -0
  130. package/lib/ToDeviceMessageQueue.d.ts +30 -0
  131. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  132. package/lib/ToDeviceMessageQueue.js +135 -0
  133. package/lib/ToDeviceMessageQueue.js.map +1 -0
  134. package/lib/autodiscovery.d.ts +136 -0
  135. package/lib/autodiscovery.d.ts.map +1 -0
  136. package/lib/autodiscovery.js +464 -0
  137. package/lib/autodiscovery.js.map +1 -0
  138. package/lib/base64.d.ts +25 -0
  139. package/lib/base64.d.ts.map +1 -0
  140. package/lib/base64.js +95 -0
  141. package/lib/base64.js.map +1 -0
  142. package/lib/briij.d.ts +116 -0
  143. package/lib/briij.d.ts.map +1 -0
  144. package/lib/briij.js +145 -0
  145. package/lib/briij.js.map +1 -0
  146. package/lib/browser-index.d.ts +8 -0
  147. package/lib/browser-index.d.ts.map +1 -0
  148. package/lib/browser-index.js +35 -0
  149. package/lib/browser-index.js.map +1 -0
  150. package/lib/client.d.ts +3493 -0
  151. package/lib/client.d.ts.map +1 -0
  152. package/lib/client.js +7482 -0
  153. package/lib/client.js.map +1 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts +234 -0
  155. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  156. package/lib/common-crypto/CryptoBackend.js +69 -0
  157. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  158. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  159. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  160. package/lib/common-crypto/key-passphrase.js +33 -0
  161. package/lib/common-crypto/key-passphrase.js.map +1 -0
  162. package/lib/content-helpers.d.ts +90 -0
  163. package/lib/content-helpers.d.ts.map +1 -0
  164. package/lib/content-helpers.js +262 -0
  165. package/lib/content-helpers.js.map +1 -0
  166. package/lib/content-repo.d.ts +25 -0
  167. package/lib/content-repo.d.ts.map +1 -0
  168. package/lib/content-repo.js +109 -0
  169. package/lib/content-repo.js.map +1 -0
  170. package/lib/crypto/store/base.d.ts +301 -0
  171. package/lib/crypto/store/base.d.ts.map +1 -0
  172. package/lib/crypto/store/base.js +145 -0
  173. package/lib/crypto/store/base.js.map +1 -0
  174. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
  175. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  176. package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
  177. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  178. package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
  179. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  180. package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
  181. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  182. package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
  183. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  184. package/lib/crypto/store/localStorage-crypto-store.js +374 -0
  185. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  186. package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
  187. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  188. package/lib/crypto/store/memory-crypto-store.js +311 -0
  189. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  190. package/lib/crypto-api/CryptoEvent.d.ts +120 -0
  191. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  192. package/lib/crypto-api/CryptoEvent.js +137 -0
  193. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  194. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
  195. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  196. package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
  197. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  198. package/lib/crypto-api/index.d.ts +1160 -0
  199. package/lib/crypto-api/index.d.ts.map +1 -0
  200. package/lib/crypto-api/index.js +410 -0
  201. package/lib/crypto-api/index.js.map +1 -0
  202. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  203. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  204. package/lib/crypto-api/key-passphrase.js +51 -0
  205. package/lib/crypto-api/key-passphrase.js.map +1 -0
  206. package/lib/crypto-api/keybackup.d.ts +87 -0
  207. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  208. package/lib/crypto-api/keybackup.js +1 -0
  209. package/lib/crypto-api/keybackup.js.map +1 -0
  210. package/lib/crypto-api/recovery-key.d.ts +11 -0
  211. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  212. package/lib/crypto-api/recovery-key.js +65 -0
  213. package/lib/crypto-api/recovery-key.js.map +1 -0
  214. package/lib/crypto-api/verification.d.ts +315 -0
  215. package/lib/crypto-api/verification.d.ts.map +1 -0
  216. package/lib/crypto-api/verification.js +130 -0
  217. package/lib/crypto-api/verification.js.map +1 -0
  218. package/lib/digest.d.ts +10 -0
  219. package/lib/digest.d.ts.map +1 -0
  220. package/lib/digest.js +40 -0
  221. package/lib/digest.js.map +1 -0
  222. package/lib/embedded.d.ts +182 -0
  223. package/lib/embedded.d.ts.map +1 -0
  224. package/lib/embedded.js +746 -0
  225. package/lib/embedded.js.map +1 -0
  226. package/lib/errors.d.ts +38 -0
  227. package/lib/errors.d.ts.map +1 -0
  228. package/lib/errors.js +73 -0
  229. package/lib/errors.js.map +1 -0
  230. package/lib/event-mapper.d.ts +9 -0
  231. package/lib/event-mapper.d.ts.map +1 -0
  232. package/lib/event-mapper.js +74 -0
  233. package/lib/event-mapper.js.map +1 -0
  234. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  235. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  236. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  237. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  238. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  239. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  240. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  241. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  242. package/lib/extensible_events_v1/MessageEvent.d.ts +44 -0
  243. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  244. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  245. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  246. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  247. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  248. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  249. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  250. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  251. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  252. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  253. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  254. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  255. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  256. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  257. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  258. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  259. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  260. package/lib/extensible_events_v1/utilities.js +34 -0
  261. package/lib/extensible_events_v1/utilities.js.map +1 -0
  262. package/lib/feature.d.ts +20 -0
  263. package/lib/feature.d.ts.map +1 -0
  264. package/lib/feature.js +89 -0
  265. package/lib/feature.js.map +1 -0
  266. package/lib/filter-component.d.ts +64 -0
  267. package/lib/filter-component.d.ts.map +1 -0
  268. package/lib/filter-component.js +170 -0
  269. package/lib/filter-component.js.map +1 -0
  270. package/lib/filter.d.ts +97 -0
  271. package/lib/filter.d.ts.map +1 -0
  272. package/lib/filter.js +207 -0
  273. package/lib/filter.js.map +1 -0
  274. package/lib/http-api/errors.d.ts +117 -0
  275. package/lib/http-api/errors.d.ts.map +1 -0
  276. package/lib/http-api/errors.js +245 -0
  277. package/lib/http-api/errors.js.map +1 -0
  278. package/lib/http-api/fetch.d.ts +80 -0
  279. package/lib/http-api/fetch.d.ts.map +1 -0
  280. package/lib/http-api/fetch.js +332 -0
  281. package/lib/http-api/fetch.js.map +1 -0
  282. package/lib/http-api/index.d.ts +33 -0
  283. package/lib/http-api/index.d.ts.map +1 -0
  284. package/lib/http-api/index.js +178 -0
  285. package/lib/http-api/index.js.map +1 -0
  286. package/lib/http-api/interface.d.ts +186 -0
  287. package/lib/http-api/interface.d.ts.map +1 -0
  288. package/lib/http-api/interface.js +39 -0
  289. package/lib/http-api/interface.js.map +1 -0
  290. package/lib/http-api/method.d.ts +10 -0
  291. package/lib/http-api/method.d.ts.map +1 -0
  292. package/lib/http-api/method.js +27 -0
  293. package/lib/http-api/method.js.map +1 -0
  294. package/lib/http-api/prefix.d.ts +31 -0
  295. package/lib/http-api/prefix.d.ts.map +1 -0
  296. package/lib/http-api/prefix.js +50 -0
  297. package/lib/http-api/prefix.js.map +1 -0
  298. package/lib/http-api/refresh.d.ts +53 -0
  299. package/lib/http-api/refresh.d.ts.map +1 -0
  300. package/lib/http-api/refresh.js +174 -0
  301. package/lib/http-api/refresh.js.map +1 -0
  302. package/lib/http-api/utils.d.ts +37 -0
  303. package/lib/http-api/utils.d.ts.map +1 -0
  304. package/lib/http-api/utils.js +182 -0
  305. package/lib/http-api/utils.js.map +1 -0
  306. package/lib/index.d.ts +4 -0
  307. package/lib/index.d.ts.map +1 -0
  308. package/lib/index.js +24 -0
  309. package/lib/index.js.map +1 -0
  310. package/lib/indexeddb-helpers.d.ts +10 -0
  311. package/lib/indexeddb-helpers.d.ts.map +1 -0
  312. package/lib/indexeddb-helpers.js +51 -0
  313. package/lib/indexeddb-helpers.js.map +1 -0
  314. package/lib/indexeddb-worker.d.ts +7 -0
  315. package/lib/indexeddb-worker.d.ts.map +1 -0
  316. package/lib/indexeddb-worker.js +25 -0
  317. package/lib/indexeddb-worker.js.map +1 -0
  318. package/lib/interactive-auth.d.ts +341 -0
  319. package/lib/interactive-auth.d.ts.map +1 -0
  320. package/lib/interactive-auth.js +563 -0
  321. package/lib/interactive-auth.js.map +1 -0
  322. package/lib/logger.d.ts +124 -0
  323. package/lib/logger.d.ts.map +1 -0
  324. package/lib/logger.js +230 -0
  325. package/lib/logger.js.map +1 -0
  326. package/lib/matrixrtc/CallMembership.d.ts +154 -0
  327. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  328. package/lib/matrixrtc/CallMembership.js +469 -0
  329. package/lib/matrixrtc/CallMembership.js.map +1 -0
  330. package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
  331. package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
  332. package/lib/matrixrtc/EncryptionManager.js +13 -0
  333. package/lib/matrixrtc/EncryptionManager.js.map +1 -0
  334. package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
  335. package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
  336. package/lib/matrixrtc/IKeyTransport.js +27 -0
  337. package/lib/matrixrtc/IKeyTransport.js.map +1 -0
  338. package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
  339. package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
  340. package/lib/matrixrtc/IMembershipManager.js +40 -0
  341. package/lib/matrixrtc/IMembershipManager.js.map +1 -0
  342. package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
  343. package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
  344. package/lib/matrixrtc/LivekitTransport.js +29 -0
  345. package/lib/matrixrtc/LivekitTransport.js.map +1 -0
  346. package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
  347. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  348. package/lib/matrixrtc/MatrixRTCSession.js +623 -0
  349. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  350. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
  351. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  352. package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
  353. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  354. package/lib/matrixrtc/MembershipManager.d.ts +210 -0
  355. package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
  356. package/lib/matrixrtc/MembershipManager.js +977 -0
  357. package/lib/matrixrtc/MembershipManager.js.map +1 -0
  358. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
  359. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
  360. package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
  361. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
  362. package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
  363. package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
  364. package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
  365. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
  366. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
  367. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
  368. package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
  369. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
  370. package/lib/matrixrtc/index.d.ts +9 -0
  371. package/lib/matrixrtc/index.d.ts.map +1 -0
  372. package/lib/matrixrtc/index.js +23 -0
  373. package/lib/matrixrtc/index.js.map +1 -0
  374. package/lib/matrixrtc/membershipData/common.d.ts +8 -0
  375. package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
  376. package/lib/matrixrtc/membershipData/common.js +26 -0
  377. package/lib/matrixrtc/membershipData/common.js.map +1 -0
  378. package/lib/matrixrtc/membershipData/index.d.ts +4 -0
  379. package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
  380. package/lib/matrixrtc/membershipData/index.js +20 -0
  381. package/lib/matrixrtc/membershipData/index.js.map +1 -0
  382. package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
  383. package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
  384. package/lib/matrixrtc/membershipData/rtc.js +137 -0
  385. package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
  386. package/lib/matrixrtc/membershipData/session.d.ts +77 -0
  387. package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
  388. package/lib/matrixrtc/membershipData/session.js +62 -0
  389. package/lib/matrixrtc/membershipData/session.js.map +1 -0
  390. package/lib/matrixrtc/types.d.ts +169 -0
  391. package/lib/matrixrtc/types.d.ts.map +1 -0
  392. package/lib/matrixrtc/types.js +117 -0
  393. package/lib/matrixrtc/types.js.map +1 -0
  394. package/lib/matrixrtc/utils.d.ts +27 -0
  395. package/lib/matrixrtc/utils.d.ts.map +1 -0
  396. package/lib/matrixrtc/utils.js +72 -0
  397. package/lib/matrixrtc/utils.js.map +1 -0
  398. package/lib/models/MSC3089Branch.d.ts +98 -0
  399. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  400. package/lib/models/MSC3089Branch.js +240 -0
  401. package/lib/models/MSC3089Branch.js.map +1 -0
  402. package/lib/models/MSC3089TreeSpace.d.ts +166 -0
  403. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  404. package/lib/models/MSC3089TreeSpace.js +521 -0
  405. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  406. package/lib/models/ToDeviceMessage.d.ts +17 -0
  407. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  408. package/lib/models/ToDeviceMessage.js +1 -0
  409. package/lib/models/ToDeviceMessage.js.map +1 -0
  410. package/lib/models/beacon.d.ts +52 -0
  411. package/lib/models/beacon.d.ts.map +1 -0
  412. package/lib/models/beacon.js +174 -0
  413. package/lib/models/beacon.js.map +1 -0
  414. package/lib/models/compare-event-ordering.d.ts +24 -0
  415. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  416. package/lib/models/compare-event-ordering.js +120 -0
  417. package/lib/models/compare-event-ordering.js.map +1 -0
  418. package/lib/models/device.d.ts +45 -0
  419. package/lib/models/device.d.ts.map +1 -0
  420. package/lib/models/device.js +77 -0
  421. package/lib/models/device.js.map +1 -0
  422. package/lib/models/event-context.d.ts +62 -0
  423. package/lib/models/event-context.d.ts.map +1 -0
  424. package/lib/models/event-context.js +113 -0
  425. package/lib/models/event-context.js.map +1 -0
  426. package/lib/models/event-status.d.ts +19 -0
  427. package/lib/models/event-status.d.ts.map +1 -0
  428. package/lib/models/event-status.js +36 -0
  429. package/lib/models/event-status.js.map +1 -0
  430. package/lib/models/event-timeline-set.d.ts +308 -0
  431. package/lib/models/event-timeline-set.d.ts.map +1 -0
  432. package/lib/models/event-timeline-set.js +805 -0
  433. package/lib/models/event-timeline-set.js.map +1 -0
  434. package/lib/models/event-timeline.d.ts +224 -0
  435. package/lib/models/event-timeline.d.ts.map +1 -0
  436. package/lib/models/event-timeline.js +434 -0
  437. package/lib/models/event-timeline.js.map +1 -0
  438. package/lib/models/event.d.ts +844 -0
  439. package/lib/models/event.d.ts.map +1 -0
  440. package/lib/models/event.js +1600 -0
  441. package/lib/models/event.js.map +1 -0
  442. package/lib/models/invites-ignorer-types.d.ts +27 -0
  443. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  444. package/lib/models/invites-ignorer-types.js +56 -0
  445. package/lib/models/invites-ignorer-types.js.map +1 -0
  446. package/lib/models/invites-ignorer.d.ts +112 -0
  447. package/lib/models/invites-ignorer.d.ts.map +1 -0
  448. package/lib/models/invites-ignorer.js +357 -0
  449. package/lib/models/invites-ignorer.js.map +1 -0
  450. package/lib/models/poll.d.ts +67 -0
  451. package/lib/models/poll.d.ts.map +1 -0
  452. package/lib/models/poll.js +241 -0
  453. package/lib/models/poll.js.map +1 -0
  454. package/lib/models/profile-keys.d.ts +17 -0
  455. package/lib/models/profile-keys.d.ts.map +1 -0
  456. package/lib/models/profile-keys.js +34 -0
  457. package/lib/models/profile-keys.js.map +1 -0
  458. package/lib/models/read-receipt.d.ts +115 -0
  459. package/lib/models/read-receipt.d.ts.map +1 -0
  460. package/lib/models/read-receipt.js +366 -0
  461. package/lib/models/read-receipt.js.map +1 -0
  462. package/lib/models/related-relations.d.ts +11 -0
  463. package/lib/models/related-relations.d.ts.map +1 -0
  464. package/lib/models/related-relations.js +33 -0
  465. package/lib/models/related-relations.js.map +1 -0
  466. package/lib/models/relations-container.d.ts +44 -0
  467. package/lib/models/relations-container.d.ts.map +1 -0
  468. package/lib/models/relations-container.js +132 -0
  469. package/lib/models/relations-container.js.map +1 -0
  470. package/lib/models/relations.d.ts +123 -0
  471. package/lib/models/relations.d.ts.map +1 -0
  472. package/lib/models/relations.js +378 -0
  473. package/lib/models/relations.js.map +1 -0
  474. package/lib/models/room-member.d.ts +221 -0
  475. package/lib/models/room-member.d.ts.map +1 -0
  476. package/lib/models/room-member.js +376 -0
  477. package/lib/models/room-member.js.map +1 -0
  478. package/lib/models/room-receipts.d.ts +39 -0
  479. package/lib/models/room-receipts.d.ts.map +1 -0
  480. package/lib/models/room-receipts.js +392 -0
  481. package/lib/models/room-receipts.js.map +1 -0
  482. package/lib/models/room-state.d.ts +463 -0
  483. package/lib/models/room-state.d.ts.map +1 -0
  484. package/lib/models/room-state.js +1066 -0
  485. package/lib/models/room-state.js.map +1 -0
  486. package/lib/models/room-sticky-events.d.ts +110 -0
  487. package/lib/models/room-sticky-events.d.ts.map +1 -0
  488. package/lib/models/room-sticky-events.js +353 -0
  489. package/lib/models/room-sticky-events.js.map +1 -0
  490. package/lib/models/room-summary.d.ts +59 -0
  491. package/lib/models/room-summary.d.ts.map +1 -0
  492. package/lib/models/room-summary.js +39 -0
  493. package/lib/models/room-summary.js.map +1 -0
  494. package/lib/models/room.d.ts +1285 -0
  495. package/lib/models/room.d.ts.map +1 -0
  496. package/lib/models/room.js +3548 -0
  497. package/lib/models/room.js.map +1 -0
  498. package/lib/models/search-result.d.ts +20 -0
  499. package/lib/models/search-result.d.ts.map +1 -0
  500. package/lib/models/search-result.js +52 -0
  501. package/lib/models/search-result.js.map +1 -0
  502. package/lib/models/thread.d.ts +245 -0
  503. package/lib/models/thread.d.ts.map +1 -0
  504. package/lib/models/thread.js +866 -0
  505. package/lib/models/thread.js.map +1 -0
  506. package/lib/models/typed-event-emitter.d.ts +157 -0
  507. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  508. package/lib/models/typed-event-emitter.js +227 -0
  509. package/lib/models/typed-event-emitter.js.map +1 -0
  510. package/lib/models/user.d.ts +195 -0
  511. package/lib/models/user.d.ts.map +1 -0
  512. package/lib/models/user.js +218 -0
  513. package/lib/models/user.js.map +1 -0
  514. package/lib/oidc/authorize.d.ts +93 -0
  515. package/lib/oidc/authorize.d.ts.map +1 -0
  516. package/lib/oidc/authorize.js +282 -0
  517. package/lib/oidc/authorize.js.map +1 -0
  518. package/lib/oidc/discovery.d.ts +22 -0
  519. package/lib/oidc/discovery.d.ts.map +1 -0
  520. package/lib/oidc/discovery.js +78 -0
  521. package/lib/oidc/discovery.js.map +1 -0
  522. package/lib/oidc/error.d.ts +18 -0
  523. package/lib/oidc/error.d.ts.map +1 -0
  524. package/lib/oidc/error.js +35 -0
  525. package/lib/oidc/error.js.map +1 -0
  526. package/lib/oidc/index.d.ts +16 -0
  527. package/lib/oidc/index.d.ts.map +1 -0
  528. package/lib/oidc/index.js +29 -0
  529. package/lib/oidc/index.js.map +1 -0
  530. package/lib/oidc/register.d.ts +70 -0
  531. package/lib/oidc/register.d.ts.map +1 -0
  532. package/lib/oidc/register.js +135 -0
  533. package/lib/oidc/register.js.map +1 -0
  534. package/lib/oidc/tokenRefresher.d.ts +91 -0
  535. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  536. package/lib/oidc/tokenRefresher.js +187 -0
  537. package/lib/oidc/tokenRefresher.js.map +1 -0
  538. package/lib/oidc/validate.d.ts +78 -0
  539. package/lib/oidc/validate.d.ts.map +1 -0
  540. package/lib/oidc/validate.js +181 -0
  541. package/lib/oidc/validate.js.map +1 -0
  542. package/lib/pushprocessor.d.ts +140 -0
  543. package/lib/pushprocessor.d.ts.map +1 -0
  544. package/lib/pushprocessor.js +702 -0
  545. package/lib/pushprocessor.js.map +1 -0
  546. package/lib/randomstring.d.ts +32 -0
  547. package/lib/randomstring.d.ts.map +1 -0
  548. package/lib/randomstring.js +97 -0
  549. package/lib/randomstring.js.map +1 -0
  550. package/lib/realtime-callbacks.d.ts +18 -0
  551. package/lib/realtime-callbacks.d.ts.map +1 -0
  552. package/lib/realtime-callbacks.js +177 -0
  553. package/lib/realtime-callbacks.js.map +1 -0
  554. package/lib/receipt-accumulator.d.ts +51 -0
  555. package/lib/receipt-accumulator.d.ts.map +1 -0
  556. package/lib/receipt-accumulator.js +164 -0
  557. package/lib/receipt-accumulator.js.map +1 -0
  558. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  559. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  560. package/lib/rendezvous/MSC4108SignInWithQR.js +389 -0
  561. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  562. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  563. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  564. package/lib/rendezvous/RendezvousChannel.js +1 -0
  565. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  566. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  567. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  568. package/lib/rendezvous/RendezvousCode.js +1 -0
  569. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  570. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  571. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  572. package/lib/rendezvous/RendezvousError.js +23 -0
  573. package/lib/rendezvous/RendezvousError.js.map +1 -0
  574. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  575. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  576. package/lib/rendezvous/RendezvousFailureReason.js +47 -0
  577. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  578. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  579. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  580. package/lib/rendezvous/RendezvousIntent.js +22 -0
  581. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  582. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  583. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  584. package/lib/rendezvous/RendezvousTransport.js +1 -0
  585. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  586. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  587. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  588. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  589. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  590. package/lib/rendezvous/channels/index.d.ts +2 -0
  591. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  592. package/lib/rendezvous/channels/index.js +18 -0
  593. package/lib/rendezvous/channels/index.js.map +1 -0
  594. package/lib/rendezvous/index.d.ts +10 -0
  595. package/lib/rendezvous/index.d.ts.map +1 -0
  596. package/lib/rendezvous/index.js +23 -0
  597. package/lib/rendezvous/index.js.map +1 -0
  598. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  599. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  600. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +254 -0
  601. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  602. package/lib/rendezvous/transports/index.d.ts +2 -0
  603. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  604. package/lib/rendezvous/transports/index.js +18 -0
  605. package/lib/rendezvous/transports/index.js.map +1 -0
  606. package/lib/room-hierarchy.d.ts +35 -0
  607. package/lib/room-hierarchy.d.ts.map +1 -0
  608. package/lib/room-hierarchy.js +136 -0
  609. package/lib/room-hierarchy.js.map +1 -0
  610. package/lib/rust-crypto/CrossSigningIdentity.d.ts +35 -0
  611. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  612. package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
  613. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  614. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
  615. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  616. package/lib/rust-crypto/DehydratedDeviceManager.js +361 -0
  617. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  618. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  619. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  620. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  621. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  622. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +36 -0
  623. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  624. package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -0
  625. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  626. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  627. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  628. package/lib/rust-crypto/OutgoingRequestsManager.js +175 -0
  629. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  630. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  631. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  632. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +469 -0
  633. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  634. package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
  635. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  636. package/lib/rust-crypto/RoomEncryptor.js +308 -0
  637. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  638. package/lib/rust-crypto/backup.d.ts +278 -0
  639. package/lib/rust-crypto/backup.d.ts.map +1 -0
  640. package/lib/rust-crypto/backup.js +898 -0
  641. package/lib/rust-crypto/backup.js.map +1 -0
  642. package/lib/rust-crypto/constants.d.ts +3 -0
  643. package/lib/rust-crypto/constants.d.ts.map +1 -0
  644. package/lib/rust-crypto/constants.js +19 -0
  645. package/lib/rust-crypto/constants.js.map +1 -0
  646. package/lib/rust-crypto/device-converter.d.ts +28 -0
  647. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  648. package/lib/rust-crypto/device-converter.js +123 -0
  649. package/lib/rust-crypto/device-converter.js.map +1 -0
  650. package/lib/rust-crypto/index.d.ts +65 -0
  651. package/lib/rust-crypto/index.d.ts.map +1 -0
  652. package/lib/rust-crypto/index.js +149 -0
  653. package/lib/rust-crypto/index.js.map +1 -0
  654. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  655. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  656. package/lib/rust-crypto/libolm_migration.js +456 -0
  657. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  658. package/lib/rust-crypto/rust-crypto.d.ts +576 -0
  659. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  660. package/lib/rust-crypto/rust-crypto.js +2324 -0
  661. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  662. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  663. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  664. package/lib/rust-crypto/secret-storage.js +63 -0
  665. package/lib/rust-crypto/secret-storage.js.map +1 -0
  666. package/lib/rust-crypto/verification.d.ts +321 -0
  667. package/lib/rust-crypto/verification.d.ts.map +1 -0
  668. package/lib/rust-crypto/verification.js +817 -0
  669. package/lib/rust-crypto/verification.js.map +1 -0
  670. package/lib/scheduler.d.ts +132 -0
  671. package/lib/scheduler.d.ts.map +1 -0
  672. package/lib/scheduler.js +259 -0
  673. package/lib/scheduler.js.map +1 -0
  674. package/lib/secret-storage.d.ts +383 -0
  675. package/lib/secret-storage.d.ts.map +1 -0
  676. package/lib/secret-storage.js +487 -0
  677. package/lib/secret-storage.js.map +1 -0
  678. package/lib/serverCapabilities.d.ts +78 -0
  679. package/lib/serverCapabilities.d.ts.map +1 -0
  680. package/lib/serverCapabilities.js +104 -0
  681. package/lib/serverCapabilities.js.map +1 -0
  682. package/lib/service-types.d.ts +5 -0
  683. package/lib/service-types.d.ts.map +1 -0
  684. package/lib/service-types.js +23 -0
  685. package/lib/service-types.js.map +1 -0
  686. package/lib/sliding-sync-sdk.d.ts +107 -0
  687. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  688. package/lib/sliding-sync-sdk.js +892 -0
  689. package/lib/sliding-sync-sdk.js.map +1 -0
  690. package/lib/sliding-sync.d.ts +306 -0
  691. package/lib/sliding-sync.d.ts.map +1 -0
  692. package/lib/sliding-sync.js +585 -0
  693. package/lib/sliding-sync.js.map +1 -0
  694. package/lib/store/index.d.ts +201 -0
  695. package/lib/store/index.d.ts.map +1 -0
  696. package/lib/store/index.js +1 -0
  697. package/lib/store/index.js.map +1 -0
  698. package/lib/store/indexeddb-backend.d.ts +24 -0
  699. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  700. package/lib/store/indexeddb-backend.js +1 -0
  701. package/lib/store/indexeddb-backend.js.map +1 -0
  702. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  703. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  704. package/lib/store/indexeddb-local-backend.js +599 -0
  705. package/lib/store/indexeddb-local-backend.js.map +1 -0
  706. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  707. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  708. package/lib/store/indexeddb-remote-backend.js +209 -0
  709. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  710. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  711. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  712. package/lib/store/indexeddb-store-worker.js +146 -0
  713. package/lib/store/indexeddb-store-worker.js.map +1 -0
  714. package/lib/store/indexeddb.d.ts +142 -0
  715. package/lib/store/indexeddb.d.ts.map +1 -0
  716. package/lib/store/indexeddb.js +347 -0
  717. package/lib/store/indexeddb.js.map +1 -0
  718. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  719. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  720. package/lib/store/local-storage-events-emitter.js +37 -0
  721. package/lib/store/local-storage-events-emitter.js.map +1 -0
  722. package/lib/store/memory.d.ts +209 -0
  723. package/lib/store/memory.d.ts.map +1 -0
  724. package/lib/store/memory.js +432 -0
  725. package/lib/store/memory.js.map +1 -0
  726. package/lib/store/stub.d.ts +161 -0
  727. package/lib/store/stub.d.ts.map +1 -0
  728. package/lib/store/stub.js +268 -0
  729. package/lib/store/stub.js.map +1 -0
  730. package/lib/sync-accumulator.d.ts +207 -0
  731. package/lib/sync-accumulator.d.ts.map +1 -0
  732. package/lib/sync-accumulator.js +588 -0
  733. package/lib/sync-accumulator.js.map +1 -0
  734. package/lib/sync.d.ts +273 -0
  735. package/lib/sync.d.ts.map +1 -0
  736. package/lib/sync.js +1764 -0
  737. package/lib/sync.js.map +1 -0
  738. package/lib/testing.d.ts +98 -0
  739. package/lib/testing.d.ts.map +1 -0
  740. package/lib/testing.js +205 -0
  741. package/lib/testing.js.map +1 -0
  742. package/lib/thread-utils.d.ts +10 -0
  743. package/lib/thread-utils.d.ts.map +1 -0
  744. package/lib/thread-utils.js +31 -0
  745. package/lib/thread-utils.js.map +1 -0
  746. package/lib/timeline-window.d.ts +168 -0
  747. package/lib/timeline-window.d.ts.map +1 -0
  748. package/lib/timeline-window.js +494 -0
  749. package/lib/timeline-window.js.map +1 -0
  750. package/lib/types.d.ts +33 -0
  751. package/lib/types.d.ts.map +1 -0
  752. package/lib/types.js +52 -0
  753. package/lib/types.js.map +1 -0
  754. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  755. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  756. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  757. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  758. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  759. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  760. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  761. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  762. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  763. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  764. package/lib/utils/internal/deriveKeys.js +60 -0
  765. package/lib/utils/internal/deriveKeys.js.map +1 -0
  766. package/lib/utils/roomVersion.d.ts +13 -0
  767. package/lib/utils/roomVersion.d.ts.map +1 -0
  768. package/lib/utils/roomVersion.js +36 -0
  769. package/lib/utils/roomVersion.js.map +1 -0
  770. package/lib/utils.d.ts +270 -0
  771. package/lib/utils.d.ts.map +1 -0
  772. package/lib/utils.js +764 -0
  773. package/lib/utils.js.map +1 -0
  774. package/lib/version-support.d.ts +19 -0
  775. package/lib/version-support.d.ts.map +1 -0
  776. package/lib/version-support.js +37 -0
  777. package/lib/version-support.js.map +1 -0
  778. package/lib/webrtc/audioContext.d.ts +15 -0
  779. package/lib/webrtc/audioContext.d.ts.map +1 -0
  780. package/lib/webrtc/audioContext.js +46 -0
  781. package/lib/webrtc/audioContext.js.map +1 -0
  782. package/lib/webrtc/call.d.ts +560 -0
  783. package/lib/webrtc/call.d.ts.map +1 -0
  784. package/lib/webrtc/call.js +2596 -0
  785. package/lib/webrtc/call.js.map +1 -0
  786. package/lib/webrtc/callEventHandler.d.ts +37 -0
  787. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  788. package/lib/webrtc/callEventHandler.js +344 -0
  789. package/lib/webrtc/callEventHandler.js.map +1 -0
  790. package/lib/webrtc/callEventTypes.d.ts +79 -0
  791. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  792. package/lib/webrtc/callEventTypes.js +13 -0
  793. package/lib/webrtc/callEventTypes.js.map +1 -0
  794. package/lib/webrtc/callFeed.d.ts +128 -0
  795. package/lib/webrtc/callFeed.d.ts.map +1 -0
  796. package/lib/webrtc/callFeed.js +289 -0
  797. package/lib/webrtc/callFeed.js.map +1 -0
  798. package/lib/webrtc/groupCall.d.ts +319 -0
  799. package/lib/webrtc/groupCall.d.ts.map +1 -0
  800. package/lib/webrtc/groupCall.js +1334 -0
  801. package/lib/webrtc/groupCall.js.map +1 -0
  802. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  803. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  804. package/lib/webrtc/groupCallEventHandler.js +178 -0
  805. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  806. package/lib/webrtc/mediaHandler.d.ts +89 -0
  807. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  808. package/lib/webrtc/mediaHandler.js +454 -0
  809. package/lib/webrtc/mediaHandler.js.map +1 -0
  810. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  811. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  812. package/lib/webrtc/stats/callFeedStatsReporter.js +79 -0
  813. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  814. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  815. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  816. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  817. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  818. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  819. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  820. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  821. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  822. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  823. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  824. package/lib/webrtc/stats/connectionStats.js +26 -0
  825. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  826. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  827. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  828. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  829. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  830. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  831. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  832. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  833. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  834. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  835. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  836. package/lib/webrtc/stats/groupCallStats.js +78 -0
  837. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  838. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  839. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  840. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  841. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  842. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  843. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  844. package/lib/webrtc/stats/media/mediaTrackHandler.js +58 -0
  845. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  846. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  847. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  848. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  849. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  850. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  851. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  852. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  853. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  854. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  855. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  856. package/lib/webrtc/stats/statsReport.js +32 -0
  857. package/lib/webrtc/stats/statsReport.js.map +1 -0
  858. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  859. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  860. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  861. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  862. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  863. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  864. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  865. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  866. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  867. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  868. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  869. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  870. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  871. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  872. package/lib/webrtc/stats/transportStats.js +1 -0
  873. package/lib/webrtc/stats/transportStats.js.map +1 -0
  874. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  875. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  876. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  877. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  878. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  879. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  880. package/lib/webrtc/stats/valueFormatter.js +25 -0
  881. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  882. package/package.json +129 -0
  883. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  884. package/src/@types/IIdentityServerProvider.ts +24 -0
  885. package/src/@types/PushRules.ts +208 -0
  886. package/src/@types/another-json.d.ts +19 -0
  887. package/src/@types/auth.ts +258 -0
  888. package/src/@types/beacon.ts +140 -0
  889. package/src/@types/common.ts +24 -0
  890. package/src/@types/crypto.ts +71 -0
  891. package/src/@types/event.ts +449 -0
  892. package/src/@types/events.ts +119 -0
  893. package/src/@types/extensible_events.ts +147 -0
  894. package/src/@types/global.d.ts +67 -0
  895. package/src/@types/local_notifications.ts +19 -0
  896. package/src/@types/location.ts +92 -0
  897. package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -0
  898. package/src/@types/media.ts +245 -0
  899. package/src/@types/membership.ts +57 -0
  900. package/src/@types/partials.ts +103 -0
  901. package/src/@types/polls.ts +120 -0
  902. package/src/@types/read_receipts.ts +61 -0
  903. package/src/@types/registration.ts +102 -0
  904. package/src/@types/requests.ts +346 -0
  905. package/src/@types/search.ts +119 -0
  906. package/src/@types/signed.ts +25 -0
  907. package/src/@types/spaces.ts +37 -0
  908. package/src/@types/state_events.ts +153 -0
  909. package/src/@types/synapse.ts +40 -0
  910. package/src/@types/sync.ts +27 -0
  911. package/src/@types/threepids.ts +29 -0
  912. package/src/@types/topic.ts +69 -0
  913. package/src/@types/uia.ts +24 -0
  914. package/src/NamespacedValue.ts +121 -0
  915. package/src/ReEmitter.ts +93 -0
  916. package/src/ToDeviceMessageQueue.ts +156 -0
  917. package/src/autodiscovery.ts +505 -0
  918. package/src/base64.ts +86 -0
  919. package/src/briij.ts +173 -0
  920. package/src/browser-index.ts +44 -0
  921. package/src/client.ts +9031 -0
  922. package/src/common-crypto/CryptoBackend.ts +295 -0
  923. package/src/common-crypto/README.md +4 -0
  924. package/src/common-crypto/key-passphrase.ts +43 -0
  925. package/src/content-helpers.ts +298 -0
  926. package/src/content-repo.ts +122 -0
  927. package/src/crypto/store/base.ts +388 -0
  928. package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
  929. package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
  930. package/src/crypto/store/localStorage-crypto-store.ts +409 -0
  931. package/src/crypto/store/memory-crypto-store.ts +326 -0
  932. package/src/crypto-api/CryptoEvent.ts +152 -0
  933. package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
  934. package/src/crypto-api/index.ts +1362 -0
  935. package/src/crypto-api/key-passphrase.ts +58 -0
  936. package/src/crypto-api/keybackup.ts +114 -0
  937. package/src/crypto-api/recovery-key.ts +69 -0
  938. package/src/crypto-api/verification.ts +382 -0
  939. package/src/digest.ts +34 -0
  940. package/src/embedded.ts +865 -0
  941. package/src/errors.ts +87 -0
  942. package/src/event-mapper.ts +88 -0
  943. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  944. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  945. package/src/extensible_events_v1/MessageEvent.ts +143 -0
  946. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  947. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  948. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  949. package/src/extensible_events_v1/utilities.ts +35 -0
  950. package/src/feature.ts +88 -0
  951. package/src/filter-component.ts +209 -0
  952. package/src/filter.ts +245 -0
  953. package/src/http-api/errors.ts +261 -0
  954. package/src/http-api/fetch.ts +377 -0
  955. package/src/http-api/index.ts +194 -0
  956. package/src/http-api/interface.ts +229 -0
  957. package/src/http-api/method.ts +25 -0
  958. package/src/http-api/prefix.ts +48 -0
  959. package/src/http-api/refresh.ts +167 -0
  960. package/src/http-api/utils.ts +217 -0
  961. package/src/index.ts +25 -0
  962. package/src/indexeddb-helpers.ts +50 -0
  963. package/src/indexeddb-worker.ts +24 -0
  964. package/src/interactive-auth.ts +700 -0
  965. package/src/logger.ts +279 -0
  966. package/src/matrixrtc/CallMembership.ts +438 -0
  967. package/src/matrixrtc/EncryptionManager.ts +54 -0
  968. package/src/matrixrtc/IKeyTransport.ts +63 -0
  969. package/src/matrixrtc/IMembershipManager.ts +120 -0
  970. package/src/matrixrtc/LivekitTransport.ts +46 -0
  971. package/src/matrixrtc/MatrixRTCSession.ts +934 -0
  972. package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
  973. package/src/matrixrtc/MembershipManager.ts +1122 -0
  974. package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
  975. package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
  976. package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
  977. package/src/matrixrtc/index.ts +24 -0
  978. package/src/matrixrtc/membershipData/common.ts +27 -0
  979. package/src/matrixrtc/membershipData/index.ts +19 -0
  980. package/src/matrixrtc/membershipData/rtc.ts +156 -0
  981. package/src/matrixrtc/membershipData/session.ts +146 -0
  982. package/src/matrixrtc/types.ts +227 -0
  983. package/src/matrixrtc/utils.ts +71 -0
  984. package/src/models/MSC3089Branch.ts +272 -0
  985. package/src/models/MSC3089TreeSpace.ts +565 -0
  986. package/src/models/ToDeviceMessage.ts +38 -0
  987. package/src/models/beacon.ts +213 -0
  988. package/src/models/compare-event-ordering.ts +139 -0
  989. package/src/models/device.ts +85 -0
  990. package/src/models/event-context.ts +110 -0
  991. package/src/models/event-status.ts +39 -0
  992. package/src/models/event-timeline-set.ts +962 -0
  993. package/src/models/event-timeline.ts +461 -0
  994. package/src/models/event.ts +1819 -0
  995. package/src/models/invites-ignorer-types.ts +58 -0
  996. package/src/models/invites-ignorer.ts +341 -0
  997. package/src/models/poll.ts +285 -0
  998. package/src/models/profile-keys.ts +33 -0
  999. package/src/models/read-receipt.ts +422 -0
  1000. package/src/models/related-relations.ts +39 -0
  1001. package/src/models/relations-container.ts +149 -0
  1002. package/src/models/relations.ts +392 -0
  1003. package/src/models/room-member.ts +486 -0
  1004. package/src/models/room-receipts.ts +439 -0
  1005. package/src/models/room-state.ts +1230 -0
  1006. package/src/models/room-sticky-events.ts +383 -0
  1007. package/src/models/room-summary.ts +78 -0
  1008. package/src/models/room.ts +4067 -0
  1009. package/src/models/search-result.ts +57 -0
  1010. package/src/models/thread.ts +928 -0
  1011. package/src/models/typed-event-emitter.ts +246 -0
  1012. package/src/models/user.ts +302 -0
  1013. package/src/oidc/authorize.ts +279 -0
  1014. package/src/oidc/discovery.ts +67 -0
  1015. package/src/oidc/error.ts +33 -0
  1016. package/src/oidc/index.ts +33 -0
  1017. package/src/oidc/register.ts +163 -0
  1018. package/src/oidc/tokenRefresher.ts +184 -0
  1019. package/src/oidc/validate.ts +265 -0
  1020. package/src/pushprocessor.ts +856 -0
  1021. package/src/randomstring.ts +103 -0
  1022. package/src/realtime-callbacks.ts +191 -0
  1023. package/src/receipt-accumulator.ts +189 -0
  1024. package/src/rendezvous/MSC4108SignInWithQR.ts +443 -0
  1025. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1026. package/src/rendezvous/RendezvousCode.ts +25 -0
  1027. package/src/rendezvous/RendezvousError.ts +26 -0
  1028. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1029. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1030. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1031. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1032. package/src/rendezvous/channels/index.ts +17 -0
  1033. package/src/rendezvous/index.ts +25 -0
  1034. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +272 -0
  1035. package/src/rendezvous/transports/index.ts +17 -0
  1036. package/src/room-hierarchy.ts +152 -0
  1037. package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
  1038. package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
  1039. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1040. package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
  1041. package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
  1042. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1043. package/src/rust-crypto/RoomEncryptor.ts +362 -0
  1044. package/src/rust-crypto/backup.ts +942 -0
  1045. package/src/rust-crypto/constants.ts +18 -0
  1046. package/src/rust-crypto/device-converter.ts +128 -0
  1047. package/src/rust-crypto/index.ts +251 -0
  1048. package/src/rust-crypto/libolm_migration.ts +532 -0
  1049. package/src/rust-crypto/rust-crypto.ts +2542 -0
  1050. package/src/rust-crypto/secret-storage.ts +60 -0
  1051. package/src/rust-crypto/verification.ts +833 -0
  1052. package/src/scheduler.ts +309 -0
  1053. package/src/secret-storage.ts +714 -0
  1054. package/src/serverCapabilities.ts +146 -0
  1055. package/src/service-types.ts +20 -0
  1056. package/src/sliding-sync-sdk.ts +1005 -0
  1057. package/src/sliding-sync.ts +674 -0
  1058. package/src/store/index.ts +261 -0
  1059. package/src/store/indexeddb-backend.ts +41 -0
  1060. package/src/store/indexeddb-local-backend.ts +610 -0
  1061. package/src/store/indexeddb-remote-backend.ts +212 -0
  1062. package/src/store/indexeddb-store-worker.ts +157 -0
  1063. package/src/store/indexeddb.ts +397 -0
  1064. package/src/store/local-storage-events-emitter.ts +46 -0
  1065. package/src/store/memory.ts +448 -0
  1066. package/src/store/stub.ts +280 -0
  1067. package/src/sync-accumulator.ts +779 -0
  1068. package/src/sync.ts +2020 -0
  1069. package/src/testing.ts +231 -0
  1070. package/src/thread-utils.ts +31 -0
  1071. package/src/timeline-window.ts +534 -0
  1072. package/src/types.ts +59 -0
  1073. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1074. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1075. package/src/utils/internal/deriveKeys.ts +63 -0
  1076. package/src/utils/roomVersion.ts +35 -0
  1077. package/src/utils.ts +775 -0
  1078. package/src/version-support.ts +50 -0
  1079. package/src/webrtc/audioContext.ts +44 -0
  1080. package/src/webrtc/call.ts +3061 -0
  1081. package/src/webrtc/callEventHandler.ts +425 -0
  1082. package/src/webrtc/callEventTypes.ts +101 -0
  1083. package/src/webrtc/callFeed.ts +364 -0
  1084. package/src/webrtc/groupCall.ts +1729 -0
  1085. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1086. package/src/webrtc/mediaHandler.ts +501 -0
  1087. package/src/webrtc/stats/callFeedStatsReporter.ts +91 -0
  1088. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1089. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1090. package/src/webrtc/stats/connectionStats.ts +47 -0
  1091. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1092. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1093. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1094. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1095. package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -0
  1096. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1097. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1098. package/src/webrtc/stats/statsReport.ts +133 -0
  1099. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1100. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1101. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1102. package/src/webrtc/stats/transportStats.ts +26 -0
  1103. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1104. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,434 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ /*
3
+ Copyright 2016 - 2021 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 { RoomState } from "./room-state.js";
19
+ import { EventType } from "../@types/event.js";
20
+ export var Direction = /*#__PURE__*/function (Direction) {
21
+ Direction["Backward"] = "b";
22
+ Direction["Forward"] = "f";
23
+ return Direction;
24
+ }({});
25
+ export class EventTimeline {
26
+ /**
27
+ * Static helper method to set sender and target properties
28
+ *
29
+ * @param event - the event whose metadata is to be set
30
+ * @param stateContext - the room state to be queried
31
+ * @param toStartOfTimeline - if true the event's forwardLooking flag is set false
32
+ */
33
+ static setEventMetadata(event, stateContext, toStartOfTimeline) {
34
+ event.setMetadata(stateContext, toStartOfTimeline);
35
+ }
36
+ /**
37
+ * Construct a new EventTimeline
38
+ *
39
+ * <p>An EventTimeline represents a contiguous sequence of events in a room.
40
+ *
41
+ * <p>As well as keeping track of the events themselves, it stores the state of
42
+ * the room at the beginning and end of the timeline, and pagination tokens for
43
+ * going backwards and forwards in the timeline.
44
+ *
45
+ * <p>In order that clients can meaningfully maintain an index into a timeline,
46
+ * the EventTimeline object tracks a 'baseIndex'. This starts at zero, but is
47
+ * incremented when events are prepended to the timeline. The index of an event
48
+ * relative to baseIndex therefore remains constant.
49
+ *
50
+ * <p>Once a timeline joins up with its neighbour, they are linked together into a
51
+ * doubly-linked list.
52
+ *
53
+ * @param eventTimelineSet - the set of timelines this is part of
54
+ */
55
+ constructor(eventTimelineSet) {
56
+ var _eventTimelineSet$roo, _eventTimelineSet$roo2;
57
+ this.eventTimelineSet = eventTimelineSet;
58
+ _defineProperty(this, "roomId", void 0);
59
+ _defineProperty(this, "name", void 0);
60
+ _defineProperty(this, "events", []);
61
+ _defineProperty(this, "baseIndex", 0);
62
+ _defineProperty(this, "startState", void 0);
63
+ _defineProperty(this, "endState", void 0);
64
+ // If we have a roomId then we delegate pagination token storage to the room state objects `startState` and
65
+ // `endState`, but for things like the notification timeline which mix multiple rooms we store the tokens ourselves.
66
+ _defineProperty(this, "startToken", null);
67
+ _defineProperty(this, "endToken", null);
68
+ _defineProperty(this, "prevTimeline", null);
69
+ _defineProperty(this, "nextTimeline", null);
70
+ _defineProperty(this, "paginationRequests", {
71
+ [Direction.Backward]: null,
72
+ [Direction.Forward]: null
73
+ });
74
+ this.roomId = (_eventTimelineSet$roo = (_eventTimelineSet$roo2 = eventTimelineSet.room) === null || _eventTimelineSet$roo2 === void 0 ? void 0 : _eventTimelineSet$roo2.roomId) !== null && _eventTimelineSet$roo !== void 0 ? _eventTimelineSet$roo : null;
75
+ if (this.roomId) {
76
+ this.startState = new RoomState(this.roomId);
77
+ this.endState = new RoomState(this.roomId);
78
+ }
79
+
80
+ // this is used by client.js
81
+ this.paginationRequests = {
82
+ b: null,
83
+ f: null
84
+ };
85
+ this.name = this.roomId + ":" + new Date().toISOString();
86
+ }
87
+
88
+ /**
89
+ * Initialise the start and end state with the given events
90
+ *
91
+ * <p>This can only be called before any events are added.
92
+ *
93
+ * @param stateEvents - list of state events to initialise the
94
+ * state with.
95
+ * @throws Error if an attempt is made to call this after addEvent is called.
96
+ */
97
+ initialiseState(stateEvents) {
98
+ var _this$startState, _this$endState;
99
+ var {
100
+ timelineWasEmpty
101
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
102
+ if (this.events.length > 0) {
103
+ throw new Error("Cannot initialise state after events are added");
104
+ }
105
+ (_this$startState = this.startState) === null || _this$startState === void 0 || _this$startState.setStateEvents(stateEvents, {
106
+ timelineWasEmpty
107
+ });
108
+ (_this$endState = this.endState) === null || _this$endState === void 0 || _this$endState.setStateEvents(stateEvents, {
109
+ timelineWasEmpty
110
+ });
111
+ }
112
+
113
+ /**
114
+ * Forks the (live) timeline, taking ownership of the existing directional state of this timeline.
115
+ * All attached listeners will keep receiving state updates from the new live timeline state.
116
+ * The end state of this timeline gets replaced with an independent copy of the current RoomState,
117
+ * and will need a new pagination token if it ever needs to paginate forwards.
118
+ * @param direction - EventTimeline.BACKWARDS to get the state at the
119
+ * start of the timeline; EventTimeline.FORWARDS to get the state at the end
120
+ * of the timeline.
121
+ *
122
+ * @returns the new timeline
123
+ */
124
+ forkLive(direction) {
125
+ var forkState = this.getState(direction);
126
+ var timeline = new EventTimeline(this.eventTimelineSet);
127
+ timeline.startState = forkState === null || forkState === void 0 ? void 0 : forkState.clone();
128
+ // Now clobber the end state of the new live timeline with that from the
129
+ // previous live timeline. It will be identical except that we'll keep
130
+ // using the same RoomMember objects for the 'live' set of members with any
131
+ // listeners still attached
132
+ timeline.endState = forkState;
133
+ // Firstly, we just stole the current timeline's end state, so it needs a new one.
134
+ // Make an immutable copy of the state so back pagination will get the correct sentinels.
135
+ this.endState = forkState === null || forkState === void 0 ? void 0 : forkState.clone();
136
+ return timeline;
137
+ }
138
+
139
+ /**
140
+ * Creates an independent timeline, inheriting the directional state from this timeline.
141
+ *
142
+ * @param direction - EventTimeline.BACKWARDS to get the state at the
143
+ * start of the timeline; EventTimeline.FORWARDS to get the state at the end
144
+ * of the timeline.
145
+ *
146
+ * @returns the new timeline
147
+ */
148
+ fork(direction) {
149
+ var forkState = this.getState(direction);
150
+ var timeline = new EventTimeline(this.eventTimelineSet);
151
+ timeline.startState = forkState === null || forkState === void 0 ? void 0 : forkState.clone();
152
+ timeline.endState = forkState === null || forkState === void 0 ? void 0 : forkState.clone();
153
+ return timeline;
154
+ }
155
+
156
+ /**
157
+ * Get the ID of the room for this timeline
158
+ * @returns room ID
159
+ */
160
+ getRoomId() {
161
+ return this.roomId;
162
+ }
163
+
164
+ /**
165
+ * Get the filter for this timeline's timelineSet (if any)
166
+ * @returns filter
167
+ */
168
+ getFilter() {
169
+ return this.eventTimelineSet.getFilter();
170
+ }
171
+
172
+ /**
173
+ * Get the timelineSet for this timeline
174
+ * @returns timelineSet
175
+ */
176
+ getTimelineSet() {
177
+ return this.eventTimelineSet;
178
+ }
179
+
180
+ /**
181
+ * Get the base index.
182
+ *
183
+ * <p>This is an index which is incremented when events are prepended to the
184
+ * timeline. An individual event therefore stays at the same index in the array
185
+ * relative to the base index (although note that a given event's index may
186
+ * well be less than the base index, thus giving that event a negative relative
187
+ * index).
188
+ */
189
+ getBaseIndex() {
190
+ return this.baseIndex;
191
+ }
192
+
193
+ /**
194
+ * Get the list of events in this context
195
+ *
196
+ * @returns An array of BriijEvents
197
+ */
198
+ getEvents() {
199
+ return this.events;
200
+ }
201
+
202
+ /**
203
+ * Get the room state at the start/end of the timeline
204
+ *
205
+ * @param direction - EventTimeline.BACKWARDS to get the state at the
206
+ * start of the timeline; EventTimeline.FORWARDS to get the state at the end
207
+ * of the timeline.
208
+ *
209
+ * @returns state at the start/end of the timeline
210
+ */
211
+ getState(direction) {
212
+ if (direction == EventTimeline.BACKWARDS) {
213
+ return this.startState;
214
+ } else if (direction == EventTimeline.FORWARDS) {
215
+ return this.endState;
216
+ } else {
217
+ throw new Error("Invalid direction '" + direction + "'");
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Get a pagination token
223
+ *
224
+ * @param direction - EventTimeline.BACKWARDS to get the pagination
225
+ * token for going backwards in time; EventTimeline.FORWARDS to get the
226
+ * pagination token for going forwards in time.
227
+ *
228
+ * @returns pagination token
229
+ */
230
+ getPaginationToken(direction) {
231
+ if (this.roomId) {
232
+ return this.getState(direction).paginationToken;
233
+ } else if (direction === Direction.Backward) {
234
+ return this.startToken;
235
+ } else {
236
+ return this.endToken;
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Set a pagination token
242
+ *
243
+ * @param token - pagination token
244
+ *
245
+ * @param direction - EventTimeline.BACKWARDS to set the pagination
246
+ * token for going backwards in time; EventTimeline.FORWARDS to set the
247
+ * pagination token for going forwards in time.
248
+ */
249
+ setPaginationToken(token, direction) {
250
+ if (this.roomId) {
251
+ this.getState(direction).paginationToken = token;
252
+ } else if (direction === Direction.Backward) {
253
+ this.startToken = token;
254
+ } else {
255
+ this.endToken = token;
256
+ }
257
+ }
258
+
259
+ /**
260
+ * Get the next timeline in the series
261
+ *
262
+ * @param direction - EventTimeline.BACKWARDS to get the previous
263
+ * timeline; EventTimeline.FORWARDS to get the next timeline.
264
+ *
265
+ * @returns previous or following timeline, if they have been
266
+ * joined up.
267
+ */
268
+ getNeighbouringTimeline(direction) {
269
+ if (direction == EventTimeline.BACKWARDS) {
270
+ return this.prevTimeline;
271
+ } else if (direction == EventTimeline.FORWARDS) {
272
+ return this.nextTimeline;
273
+ } else {
274
+ throw new Error("Invalid direction '" + direction + "'");
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Set the next timeline in the series
280
+ *
281
+ * @param neighbour - previous/following timeline
282
+ *
283
+ * @param direction - EventTimeline.BACKWARDS to set the previous
284
+ * timeline; EventTimeline.FORWARDS to set the next timeline.
285
+ *
286
+ * @throws Error if an attempt is made to set the neighbouring timeline when
287
+ * it is already set.
288
+ */
289
+ setNeighbouringTimeline(neighbour, direction) {
290
+ if (this.getNeighbouringTimeline(direction)) {
291
+ throw new Error("timeline already has a neighbouring timeline - " + "cannot reset neighbour (direction: " + direction + ")");
292
+ }
293
+ if (direction == EventTimeline.BACKWARDS) {
294
+ this.prevTimeline = neighbour;
295
+ } else if (direction == EventTimeline.FORWARDS) {
296
+ this.nextTimeline = neighbour;
297
+ } else {
298
+ throw new Error("Invalid direction '" + direction + "'");
299
+ }
300
+
301
+ // make sure we don't try to paginate this timeline
302
+ this.setPaginationToken(null, direction);
303
+ }
304
+
305
+ /**
306
+ * Add a new event to the timeline, and update the state
307
+ *
308
+ * @param event - new event
309
+ * @param options - addEvent options
310
+ */
311
+ addEvent(event, _ref) {
312
+ var {
313
+ toStartOfTimeline,
314
+ roomState,
315
+ timelineWasEmpty,
316
+ addToState
317
+ } = _ref;
318
+ if (!roomState) {
319
+ roomState = toStartOfTimeline ? this.startState : this.endState;
320
+ }
321
+ var timelineSet = this.getTimelineSet();
322
+ if (timelineSet.room) {
323
+ EventTimeline.setEventMetadata(event, roomState, toStartOfTimeline);
324
+
325
+ // modify state but only on unfiltered timelineSets
326
+ if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
327
+ var _roomState;
328
+ (_roomState = roomState) === null || _roomState === void 0 || _roomState.setStateEvents([event], {
329
+ timelineWasEmpty
330
+ });
331
+ // it is possible that the act of setting the state event means we
332
+ // can set more metadata (specifically sender/target props), so try
333
+ // it again if the prop wasn't previously set. It may also mean that
334
+ // the sender/target is updated (if the event set was a room member event)
335
+ // so we want to use the *updated* member (new avatar/name) instead.
336
+ //
337
+ // However, we do NOT want to do this on member events if we're going
338
+ // back in time, else we'll set the .sender value for BEFORE the given
339
+ // member event, whereas we want to set the .sender value for the ACTUAL
340
+ // member event itself.
341
+ if (!event.sender || event.getType() === EventType.RoomMember && !toStartOfTimeline) {
342
+ EventTimeline.setEventMetadata(event, roomState, toStartOfTimeline);
343
+ }
344
+ }
345
+ }
346
+ var insertIndex;
347
+ if (toStartOfTimeline) {
348
+ insertIndex = 0;
349
+ } else {
350
+ insertIndex = this.events.length;
351
+ }
352
+ this.events.splice(insertIndex, 0, event); // insert element
353
+ if (toStartOfTimeline) {
354
+ this.baseIndex++;
355
+ }
356
+ }
357
+
358
+ /**
359
+ * Insert a new event into the timeline, and update the state.
360
+ *
361
+ * TEMPORARY: until we have recursive relations, we need this function
362
+ * to exist to allow us to insert events in timeline order, which is our
363
+ * best guess for Sync Order.
364
+ * This is a copy of addEvent above, modified to allow inserting an event at
365
+ * a specific index.
366
+ *
367
+ * @internal
368
+ */
369
+ insertEvent(event, insertIndex, roomState, addToState) {
370
+ var timelineSet = this.getTimelineSet();
371
+ if (timelineSet.room) {
372
+ EventTimeline.setEventMetadata(event, roomState, false);
373
+
374
+ // modify state but only on unfiltered timelineSets
375
+ if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
376
+ roomState.setStateEvents([event], {});
377
+ // it is possible that the act of setting the state event means we
378
+ // can set more metadata (specifically sender/target props), so try
379
+ // it again if the prop wasn't previously set. It may also mean that
380
+ // the sender/target is updated (if the event set was a room member event)
381
+ // so we want to use the *updated* member (new avatar/name) instead.
382
+ //
383
+ // However, we do NOT want to do this on member events if we're going
384
+ // back in time, else we'll set the .sender value for BEFORE the given
385
+ // member event, whereas we want to set the .sender value for the ACTUAL
386
+ // member event itself.
387
+ if (!event.sender || event.getType() === EventType.RoomMember) {
388
+ EventTimeline.setEventMetadata(event, roomState, false);
389
+ }
390
+ }
391
+ }
392
+ this.events.splice(insertIndex, 0, event); // insert element
393
+ }
394
+
395
+ /**
396
+ * Remove an event from the timeline
397
+ *
398
+ * @param eventId - ID of event to be removed
399
+ * @returns removed event, or null if not found
400
+ */
401
+ removeEvent(eventId) {
402
+ for (var i = this.events.length - 1; i >= 0; i--) {
403
+ var ev = this.events[i];
404
+ if (ev.getId() == eventId) {
405
+ this.events.splice(i, 1);
406
+ if (i < this.baseIndex) {
407
+ this.baseIndex--;
408
+ }
409
+ return ev;
410
+ }
411
+ }
412
+ return null;
413
+ }
414
+
415
+ /**
416
+ * Return a string to identify this timeline, for debugging
417
+ *
418
+ * @returns name for this timeline
419
+ */
420
+ toString() {
421
+ return this.name;
422
+ }
423
+ }
424
+ /**
425
+ * Symbolic constant for methods which take a 'direction' argument:
426
+ * refers to the start of the timeline, or backwards in time.
427
+ */
428
+ _defineProperty(EventTimeline, "BACKWARDS", Direction.Backward);
429
+ /**
430
+ * Symbolic constant for methods which take a 'direction' argument:
431
+ * refers to the end of the timeline, or forwards in time.
432
+ */
433
+ _defineProperty(EventTimeline, "FORWARDS", Direction.Forward);
434
+ //# sourceMappingURL=event-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-timeline.js","names":["RoomState","EventType","Direction","EventTimeline","setEventMetadata","event","stateContext","toStartOfTimeline","setMetadata","constructor","eventTimelineSet","_eventTimelineSet$roo","_eventTimelineSet$roo2","_defineProperty","Backward","Forward","roomId","room","startState","endState","paginationRequests","b","f","name","Date","toISOString","initialiseState","stateEvents","_this$startState","_this$endState","timelineWasEmpty","arguments","length","undefined","events","Error","setStateEvents","forkLive","direction","forkState","getState","timeline","clone","fork","getRoomId","getFilter","getTimelineSet","getBaseIndex","baseIndex","getEvents","BACKWARDS","FORWARDS","getPaginationToken","paginationToken","startToken","endToken","setPaginationToken","token","getNeighbouringTimeline","prevTimeline","nextTimeline","setNeighbouringTimeline","neighbour","addEvent","_ref","roomState","addToState","timelineSet","isState","getUnfilteredTimelineSet","_roomState","sender","getType","RoomMember","insertIndex","splice","insertEvent","removeEvent","eventId","i","ev","getId","toString"],"sources":["../../src/models/event-timeline.ts"],"sourcesContent":["/*\nCopyright 2016 - 2021 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 { type IMarkerFoundOptions, RoomState } from \"./room-state.ts\";\nimport { type EventTimelineSet } from \"./event-timeline-set.ts\";\nimport { type BriijEvent } from \"./event.ts\";\nimport { type Filter } from \"../filter.ts\";\nimport { EventType } from \"../@types/event.ts\";\n\nexport interface IInitialiseStateOptions extends Pick<IMarkerFoundOptions, \"timelineWasEmpty\"> {\n // This is a separate interface without any extra stuff currently added on\n // top of `IMarkerFoundOptions` just because it feels like they have\n // different concerns. One shouldn't necessarily look to add to\n // `IMarkerFoundOptions` just because they want to add an extra option to\n // `initialiseState`.\n}\n\nexport interface IAddEventOptions extends Pick<IMarkerFoundOptions, \"timelineWasEmpty\"> {\n /** Whether to insert the new event at the start of the timeline where the\n * oldest events are (timeline is in chronological order, oldest to most\n * recent) */\n toStartOfTimeline: boolean;\n /** The state events to reconcile metadata from */\n roomState?: RoomState;\n /** Whether to add timeline events to the state as was done in legacy sync v2.\n * If true then timeline events will be added to the state.\n * In sync v2 with org.matrix.msc4222.use_state_after and simplified sliding sync,\n * all state arrives explicitly and timeline events should not be added. */\n addToState: boolean;\n}\n\nexport enum Direction {\n Backward = \"b\",\n Forward = \"f\",\n}\n\nexport class EventTimeline {\n /**\n * Symbolic constant for methods which take a 'direction' argument:\n * refers to the start of the timeline, or backwards in time.\n */\n public static readonly BACKWARDS = Direction.Backward;\n\n /**\n * Symbolic constant for methods which take a 'direction' argument:\n * refers to the end of the timeline, or forwards in time.\n */\n public static readonly FORWARDS = Direction.Forward;\n\n /**\n * Static helper method to set sender and target properties\n *\n * @param event - the event whose metadata is to be set\n * @param stateContext - the room state to be queried\n * @param toStartOfTimeline - if true the event's forwardLooking flag is set false\n */\n public static setEventMetadata(event: BriijEvent, stateContext: RoomState, toStartOfTimeline: boolean): void {\n event.setMetadata(stateContext, toStartOfTimeline);\n }\n\n private readonly roomId: string | null;\n private readonly name: string;\n private events: BriijEvent[] = [];\n private baseIndex = 0;\n\n private startState?: RoomState;\n private endState?: RoomState;\n // If we have a roomId then we delegate pagination token storage to the room state objects `startState` and\n // `endState`, but for things like the notification timeline which mix multiple rooms we store the tokens ourselves.\n private startToken: string | null = null;\n private endToken: string | null = null;\n\n private prevTimeline: EventTimeline | null = null;\n private nextTimeline: EventTimeline | null = null;\n public paginationRequests: Record<Direction, Promise<boolean> | null> = {\n [Direction.Backward]: null,\n [Direction.Forward]: null,\n };\n\n /**\n * Construct a new EventTimeline\n *\n * <p>An EventTimeline represents a contiguous sequence of events in a room.\n *\n * <p>As well as keeping track of the events themselves, it stores the state of\n * the room at the beginning and end of the timeline, and pagination tokens for\n * going backwards and forwards in the timeline.\n *\n * <p>In order that clients can meaningfully maintain an index into a timeline,\n * the EventTimeline object tracks a 'baseIndex'. This starts at zero, but is\n * incremented when events are prepended to the timeline. The index of an event\n * relative to baseIndex therefore remains constant.\n *\n * <p>Once a timeline joins up with its neighbour, they are linked together into a\n * doubly-linked list.\n *\n * @param eventTimelineSet - the set of timelines this is part of\n */\n public constructor(private readonly eventTimelineSet: EventTimelineSet) {\n this.roomId = eventTimelineSet.room?.roomId ?? null;\n if (this.roomId) {\n this.startState = new RoomState(this.roomId);\n this.endState = new RoomState(this.roomId);\n }\n\n // this is used by client.js\n this.paginationRequests = { b: null, f: null };\n\n this.name = this.roomId + \":\" + new Date().toISOString();\n }\n\n /**\n * Initialise the start and end state with the given events\n *\n * <p>This can only be called before any events are added.\n *\n * @param stateEvents - list of state events to initialise the\n * state with.\n * @throws Error if an attempt is made to call this after addEvent is called.\n */\n public initialiseState(stateEvents: BriijEvent[], { timelineWasEmpty }: IInitialiseStateOptions = {}): void {\n if (this.events.length > 0) {\n throw new Error(\"Cannot initialise state after events are added\");\n }\n\n this.startState?.setStateEvents(stateEvents, { timelineWasEmpty });\n this.endState?.setStateEvents(stateEvents, { timelineWasEmpty });\n }\n\n /**\n * Forks the (live) timeline, taking ownership of the existing directional state of this timeline.\n * All attached listeners will keep receiving state updates from the new live timeline state.\n * The end state of this timeline gets replaced with an independent copy of the current RoomState,\n * and will need a new pagination token if it ever needs to paginate forwards.\n\n * @param direction - EventTimeline.BACKWARDS to get the state at the\n * start of the timeline; EventTimeline.FORWARDS to get the state at the end\n * of the timeline.\n *\n * @returns the new timeline\n */\n public forkLive(direction: Direction): EventTimeline {\n const forkState = this.getState(direction);\n const timeline = new EventTimeline(this.eventTimelineSet);\n timeline.startState = forkState?.clone();\n // Now clobber the end state of the new live timeline with that from the\n // previous live timeline. It will be identical except that we'll keep\n // using the same RoomMember objects for the 'live' set of members with any\n // listeners still attached\n timeline.endState = forkState;\n // Firstly, we just stole the current timeline's end state, so it needs a new one.\n // Make an immutable copy of the state so back pagination will get the correct sentinels.\n this.endState = forkState?.clone();\n return timeline;\n }\n\n /**\n * Creates an independent timeline, inheriting the directional state from this timeline.\n *\n * @param direction - EventTimeline.BACKWARDS to get the state at the\n * start of the timeline; EventTimeline.FORWARDS to get the state at the end\n * of the timeline.\n *\n * @returns the new timeline\n */\n public fork(direction: Direction): EventTimeline {\n const forkState = this.getState(direction);\n const timeline = new EventTimeline(this.eventTimelineSet);\n timeline.startState = forkState?.clone();\n timeline.endState = forkState?.clone();\n return timeline;\n }\n\n /**\n * Get the ID of the room for this timeline\n * @returns room ID\n */\n public getRoomId(): string | null {\n return this.roomId;\n }\n\n /**\n * Get the filter for this timeline's timelineSet (if any)\n * @returns filter\n */\n public getFilter(): Filter | undefined {\n return this.eventTimelineSet.getFilter();\n }\n\n /**\n * Get the timelineSet for this timeline\n * @returns timelineSet\n */\n public getTimelineSet(): EventTimelineSet {\n return this.eventTimelineSet;\n }\n\n /**\n * Get the base index.\n *\n * <p>This is an index which is incremented when events are prepended to the\n * timeline. An individual event therefore stays at the same index in the array\n * relative to the base index (although note that a given event's index may\n * well be less than the base index, thus giving that event a negative relative\n * index).\n */\n public getBaseIndex(): number {\n return this.baseIndex;\n }\n\n /**\n * Get the list of events in this context\n *\n * @returns An array of BriijEvents\n */\n public getEvents(): BriijEvent[] {\n return this.events;\n }\n\n /**\n * Get the room state at the start/end of the timeline\n *\n * @param direction - EventTimeline.BACKWARDS to get the state at the\n * start of the timeline; EventTimeline.FORWARDS to get the state at the end\n * of the timeline.\n *\n * @returns state at the start/end of the timeline\n */\n public getState(direction: Direction): RoomState | undefined {\n if (direction == EventTimeline.BACKWARDS) {\n return this.startState;\n } else if (direction == EventTimeline.FORWARDS) {\n return this.endState;\n } else {\n throw new Error(\"Invalid direction '\" + direction + \"'\");\n }\n }\n\n /**\n * Get a pagination token\n *\n * @param direction - EventTimeline.BACKWARDS to get the pagination\n * token for going backwards in time; EventTimeline.FORWARDS to get the\n * pagination token for going forwards in time.\n *\n * @returns pagination token\n */\n public getPaginationToken(direction: Direction): string | null {\n if (this.roomId) {\n return this.getState(direction)!.paginationToken;\n } else if (direction === Direction.Backward) {\n return this.startToken;\n } else {\n return this.endToken;\n }\n }\n\n /**\n * Set a pagination token\n *\n * @param token - pagination token\n *\n * @param direction - EventTimeline.BACKWARDS to set the pagination\n * token for going backwards in time; EventTimeline.FORWARDS to set the\n * pagination token for going forwards in time.\n */\n public setPaginationToken(token: string | null, direction: Direction): void {\n if (this.roomId) {\n this.getState(direction)!.paginationToken = token;\n } else if (direction === Direction.Backward) {\n this.startToken = token;\n } else {\n this.endToken = token;\n }\n }\n\n /**\n * Get the next timeline in the series\n *\n * @param direction - EventTimeline.BACKWARDS to get the previous\n * timeline; EventTimeline.FORWARDS to get the next timeline.\n *\n * @returns previous or following timeline, if they have been\n * joined up.\n */\n public getNeighbouringTimeline(direction: Direction): EventTimeline | null {\n if (direction == EventTimeline.BACKWARDS) {\n return this.prevTimeline;\n } else if (direction == EventTimeline.FORWARDS) {\n return this.nextTimeline;\n } else {\n throw new Error(\"Invalid direction '\" + direction + \"'\");\n }\n }\n\n /**\n * Set the next timeline in the series\n *\n * @param neighbour - previous/following timeline\n *\n * @param direction - EventTimeline.BACKWARDS to set the previous\n * timeline; EventTimeline.FORWARDS to set the next timeline.\n *\n * @throws Error if an attempt is made to set the neighbouring timeline when\n * it is already set.\n */\n public setNeighbouringTimeline(neighbour: EventTimeline, direction: Direction): void {\n if (this.getNeighbouringTimeline(direction)) {\n throw new Error(\n \"timeline already has a neighbouring timeline - \" +\n \"cannot reset neighbour (direction: \" +\n direction +\n \")\",\n );\n }\n\n if (direction == EventTimeline.BACKWARDS) {\n this.prevTimeline = neighbour;\n } else if (direction == EventTimeline.FORWARDS) {\n this.nextTimeline = neighbour;\n } else {\n throw new Error(\"Invalid direction '\" + direction + \"'\");\n }\n\n // make sure we don't try to paginate this timeline\n this.setPaginationToken(null, direction);\n }\n\n /**\n * Add a new event to the timeline, and update the state\n *\n * @param event - new event\n * @param options - addEvent options\n */\n public addEvent(\n event: BriijEvent,\n { toStartOfTimeline, roomState, timelineWasEmpty, addToState }: IAddEventOptions,\n ): void {\n if (!roomState) {\n roomState = toStartOfTimeline ? this.startState : this.endState;\n }\n\n const timelineSet = this.getTimelineSet();\n\n if (timelineSet.room) {\n EventTimeline.setEventMetadata(event, roomState!, toStartOfTimeline);\n\n // modify state but only on unfiltered timelineSets\n if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {\n roomState?.setStateEvents([event], { timelineWasEmpty });\n // it is possible that the act of setting the state event means we\n // can set more metadata (specifically sender/target props), so try\n // it again if the prop wasn't previously set. It may also mean that\n // the sender/target is updated (if the event set was a room member event)\n // so we want to use the *updated* member (new avatar/name) instead.\n //\n // However, we do NOT want to do this on member events if we're going\n // back in time, else we'll set the .sender value for BEFORE the given\n // member event, whereas we want to set the .sender value for the ACTUAL\n // member event itself.\n if (!event.sender || (event.getType() === EventType.RoomMember && !toStartOfTimeline)) {\n EventTimeline.setEventMetadata(event, roomState!, toStartOfTimeline);\n }\n }\n }\n\n let insertIndex: number;\n\n if (toStartOfTimeline) {\n insertIndex = 0;\n } else {\n insertIndex = this.events.length;\n }\n\n this.events.splice(insertIndex, 0, event); // insert element\n if (toStartOfTimeline) {\n this.baseIndex++;\n }\n }\n\n /**\n * Insert a new event into the timeline, and update the state.\n *\n * TEMPORARY: until we have recursive relations, we need this function\n * to exist to allow us to insert events in timeline order, which is our\n * best guess for Sync Order.\n * This is a copy of addEvent above, modified to allow inserting an event at\n * a specific index.\n *\n * @internal\n */\n public insertEvent(event: BriijEvent, insertIndex: number, roomState: RoomState, addToState: boolean): void {\n const timelineSet = this.getTimelineSet();\n\n if (timelineSet.room) {\n EventTimeline.setEventMetadata(event, roomState, false);\n\n // modify state but only on unfiltered timelineSets\n if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {\n roomState.setStateEvents([event], {});\n // it is possible that the act of setting the state event means we\n // can set more metadata (specifically sender/target props), so try\n // it again if the prop wasn't previously set. It may also mean that\n // the sender/target is updated (if the event set was a room member event)\n // so we want to use the *updated* member (new avatar/name) instead.\n //\n // However, we do NOT want to do this on member events if we're going\n // back in time, else we'll set the .sender value for BEFORE the given\n // member event, whereas we want to set the .sender value for the ACTUAL\n // member event itself.\n if (!event.sender || event.getType() === EventType.RoomMember) {\n EventTimeline.setEventMetadata(event, roomState, false);\n }\n }\n }\n\n this.events.splice(insertIndex, 0, event); // insert element\n }\n\n /**\n * Remove an event from the timeline\n *\n * @param eventId - ID of event to be removed\n * @returns removed event, or null if not found\n */\n public removeEvent(eventId: string): BriijEvent | null {\n for (let i = this.events.length - 1; i >= 0; i--) {\n const ev = this.events[i];\n if (ev.getId() == eventId) {\n this.events.splice(i, 1);\n if (i < this.baseIndex) {\n this.baseIndex--;\n }\n return ev;\n }\n }\n return null;\n }\n\n /**\n * Return a string to identify this timeline, for debugging\n *\n * @returns name for this timeline\n */\n public toString(): string {\n return this.name;\n }\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAmCA,SAAS,QAAQ,iBAAiB;AAIrE,SAASC,SAAS,QAAQ,oBAAoB;AAwB9C,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB,OAAO,MAAMC,aAAa,CAAC;EAavB;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,OAAcC,gBAAgBA,CAACC,KAAiB,EAAEC,YAAuB,EAAEC,iBAA0B,EAAQ;IACzGF,KAAK,CAACG,WAAW,CAACF,YAAY,EAAEC,iBAAiB,CAAC;EACtD;EAqBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWE,WAAWA,CAAkBC,gBAAkC,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAAA,KAApCF,gBAAkC,GAAlCA,gBAAkC;IAAAG,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBApCvC,EAAE;IAAAA,eAAA,oBACb,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAIrB;IACA;IAAAA,eAAA,qBACoC,IAAI;IAAAA,eAAA,mBACN,IAAI;IAAAA,eAAA,uBAEO,IAAI;IAAAA,eAAA,uBACJ,IAAI;IAAAA,eAAA,6BACuB;MACpE,CAACX,SAAS,CAACY,QAAQ,GAAG,IAAI;MAC1B,CAACZ,SAAS,CAACa,OAAO,GAAG;IACzB,CAAC;IAsBG,IAAI,CAACC,MAAM,IAAAL,qBAAA,IAAAC,sBAAA,GAAGF,gBAAgB,CAACO,IAAI,cAAAL,sBAAA,uBAArBA,sBAAA,CAAuBI,MAAM,cAAAL,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IACnD,IAAI,IAAI,CAACK,MAAM,EAAE;MACb,IAAI,CAACE,UAAU,GAAG,IAAIlB,SAAS,CAAC,IAAI,CAACgB,MAAM,CAAC;MAC5C,IAAI,CAACG,QAAQ,GAAG,IAAInB,SAAS,CAAC,IAAI,CAACgB,MAAM,CAAC;IAC9C;;IAEA;IACA,IAAI,CAACI,kBAAkB,GAAG;MAAEC,CAAC,EAAE,IAAI;MAAEC,CAAC,EAAE;IAAK,CAAC;IAE9C,IAAI,CAACC,IAAI,GAAG,IAAI,CAACP,MAAM,GAAG,GAAG,GAAG,IAAIQ,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5D;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWC,eAAeA,CAACC,WAAyB,EAA4D;IAAA,IAAAC,gBAAA,EAAAC,cAAA;IAAA,IAA1D;MAAEC;IAA0C,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAChG,IAAI,IAAI,CAACG,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAIG,KAAK,CAAC,gDAAgD,CAAC;IACrE;IAEA,CAAAP,gBAAA,OAAI,CAACV,UAAU,cAAAU,gBAAA,eAAfA,gBAAA,CAAiBQ,cAAc,CAACT,WAAW,EAAE;MAAEG;IAAiB,CAAC,CAAC;IAClE,CAAAD,cAAA,OAAI,CAACV,QAAQ,cAAAU,cAAA,eAAbA,cAAA,CAAeO,cAAc,CAACT,WAAW,EAAE;MAAEG;IAAiB,CAAC,CAAC;EACpE;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAEWO,QAAQA,CAACC,SAAoB,EAAiB;IACjD,IAAMC,SAAS,GAAG,IAAI,CAACC,QAAQ,CAACF,SAAS,CAAC;IAC1C,IAAMG,QAAQ,GAAG,IAAItC,aAAa,CAAC,IAAI,CAACO,gBAAgB,CAAC;IACzD+B,QAAQ,CAACvB,UAAU,GAAGqB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,KAAK,CAAC,CAAC;IACxC;IACA;IACA;IACA;IACAD,QAAQ,CAACtB,QAAQ,GAAGoB,SAAS;IAC7B;IACA;IACA,IAAI,CAACpB,QAAQ,GAAGoB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,KAAK,CAAC,CAAC;IAClC,OAAOD,QAAQ;EACnB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWE,IAAIA,CAACL,SAAoB,EAAiB;IAC7C,IAAMC,SAAS,GAAG,IAAI,CAACC,QAAQ,CAACF,SAAS,CAAC;IAC1C,IAAMG,QAAQ,GAAG,IAAItC,aAAa,CAAC,IAAI,CAACO,gBAAgB,CAAC;IACzD+B,QAAQ,CAACvB,UAAU,GAAGqB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,KAAK,CAAC,CAAC;IACxCD,QAAQ,CAACtB,QAAQ,GAAGoB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,KAAK,CAAC,CAAC;IACtC,OAAOD,QAAQ;EACnB;;EAEA;AACJ;AACA;AACA;EACWG,SAASA,CAAA,EAAkB;IAC9B,OAAO,IAAI,CAAC5B,MAAM;EACtB;;EAEA;AACJ;AACA;AACA;EACW6B,SAASA,CAAA,EAAuB;IACnC,OAAO,IAAI,CAACnC,gBAAgB,CAACmC,SAAS,CAAC,CAAC;EAC5C;;EAEA;AACJ;AACA;AACA;EACWC,cAAcA,CAAA,EAAqB;IACtC,OAAO,IAAI,CAACpC,gBAAgB;EAChC;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWqC,YAAYA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACC,SAAS;EACzB;;EAEA;AACJ;AACA;AACA;AACA;EACWC,SAASA,CAAA,EAAiB;IAC7B,OAAO,IAAI,CAACf,MAAM;EACtB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWM,QAAQA,CAACF,SAAoB,EAAyB;IACzD,IAAIA,SAAS,IAAInC,aAAa,CAAC+C,SAAS,EAAE;MACtC,OAAO,IAAI,CAAChC,UAAU;IAC1B,CAAC,MAAM,IAAIoB,SAAS,IAAInC,aAAa,CAACgD,QAAQ,EAAE;MAC5C,OAAO,IAAI,CAAChC,QAAQ;IACxB,CAAC,MAAM;MACH,MAAM,IAAIgB,KAAK,CAAC,qBAAqB,GAAGG,SAAS,GAAG,GAAG,CAAC;IAC5D;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWc,kBAAkBA,CAACd,SAAoB,EAAiB;IAC3D,IAAI,IAAI,CAACtB,MAAM,EAAE;MACb,OAAO,IAAI,CAACwB,QAAQ,CAACF,SAAS,CAAC,CAAEe,eAAe;IACpD,CAAC,MAAM,IAAIf,SAAS,KAAKpC,SAAS,CAACY,QAAQ,EAAE;MACzC,OAAO,IAAI,CAACwC,UAAU;IAC1B,CAAC,MAAM;MACH,OAAO,IAAI,CAACC,QAAQ;IACxB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWC,kBAAkBA,CAACC,KAAoB,EAAEnB,SAAoB,EAAQ;IACxE,IAAI,IAAI,CAACtB,MAAM,EAAE;MACb,IAAI,CAACwB,QAAQ,CAACF,SAAS,CAAC,CAAEe,eAAe,GAAGI,KAAK;IACrD,CAAC,MAAM,IAAInB,SAAS,KAAKpC,SAAS,CAACY,QAAQ,EAAE;MACzC,IAAI,CAACwC,UAAU,GAAGG,KAAK;IAC3B,CAAC,MAAM;MACH,IAAI,CAACF,QAAQ,GAAGE,KAAK;IACzB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWC,uBAAuBA,CAACpB,SAAoB,EAAwB;IACvE,IAAIA,SAAS,IAAInC,aAAa,CAAC+C,SAAS,EAAE;MACtC,OAAO,IAAI,CAACS,YAAY;IAC5B,CAAC,MAAM,IAAIrB,SAAS,IAAInC,aAAa,CAACgD,QAAQ,EAAE;MAC5C,OAAO,IAAI,CAACS,YAAY;IAC5B,CAAC,MAAM;MACH,MAAM,IAAIzB,KAAK,CAAC,qBAAqB,GAAGG,SAAS,GAAG,GAAG,CAAC;IAC5D;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACWuB,uBAAuBA,CAACC,SAAwB,EAAExB,SAAoB,EAAQ;IACjF,IAAI,IAAI,CAACoB,uBAAuB,CAACpB,SAAS,CAAC,EAAE;MACzC,MAAM,IAAIH,KAAK,CACX,iDAAiD,GAC7C,qCAAqC,GACrCG,SAAS,GACT,GACR,CAAC;IACL;IAEA,IAAIA,SAAS,IAAInC,aAAa,CAAC+C,SAAS,EAAE;MACtC,IAAI,CAACS,YAAY,GAAGG,SAAS;IACjC,CAAC,MAAM,IAAIxB,SAAS,IAAInC,aAAa,CAACgD,QAAQ,EAAE;MAC5C,IAAI,CAACS,YAAY,GAAGE,SAAS;IACjC,CAAC,MAAM;MACH,MAAM,IAAI3B,KAAK,CAAC,qBAAqB,GAAGG,SAAS,GAAG,GAAG,CAAC;IAC5D;;IAEA;IACA,IAAI,CAACkB,kBAAkB,CAAC,IAAI,EAAElB,SAAS,CAAC;EAC5C;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACWyB,QAAQA,CACX1D,KAAiB,EAAA2D,IAAA,EAEb;IAAA,IADJ;MAAEzD,iBAAiB;MAAE0D,SAAS;MAAEnC,gBAAgB;MAAEoC;IAA6B,CAAC,GAAAF,IAAA;IAEhF,IAAI,CAACC,SAAS,EAAE;MACZA,SAAS,GAAG1D,iBAAiB,GAAG,IAAI,CAACW,UAAU,GAAG,IAAI,CAACC,QAAQ;IACnE;IAEA,IAAMgD,WAAW,GAAG,IAAI,CAACrB,cAAc,CAAC,CAAC;IAEzC,IAAIqB,WAAW,CAAClD,IAAI,EAAE;MAClBd,aAAa,CAACC,gBAAgB,CAACC,KAAK,EAAE4D,SAAS,EAAG1D,iBAAiB,CAAC;;MAEpE;MACA,IAAI2D,UAAU,IAAI7D,KAAK,CAAC+D,OAAO,CAAC,CAAC,IAAID,WAAW,CAAClD,IAAI,CAACoD,wBAAwB,CAAC,CAAC,KAAKF,WAAW,EAAE;QAAA,IAAAG,UAAA;QAC9F,CAAAA,UAAA,GAAAL,SAAS,cAAAK,UAAA,eAATA,UAAA,CAAWlC,cAAc,CAAC,CAAC/B,KAAK,CAAC,EAAE;UAAEyB;QAAiB,CAAC,CAAC;QACxD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI,CAACzB,KAAK,CAACkE,MAAM,IAAKlE,KAAK,CAACmE,OAAO,CAAC,CAAC,KAAKvE,SAAS,CAACwE,UAAU,IAAI,CAAClE,iBAAkB,EAAE;UACnFJ,aAAa,CAACC,gBAAgB,CAACC,KAAK,EAAE4D,SAAS,EAAG1D,iBAAiB,CAAC;QACxE;MACJ;IACJ;IAEA,IAAImE,WAAmB;IAEvB,IAAInE,iBAAiB,EAAE;MACnBmE,WAAW,GAAG,CAAC;IACnB,CAAC,MAAM;MACHA,WAAW,GAAG,IAAI,CAACxC,MAAM,CAACF,MAAM;IACpC;IAEA,IAAI,CAACE,MAAM,CAACyC,MAAM,CAACD,WAAW,EAAE,CAAC,EAAErE,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAIE,iBAAiB,EAAE;MACnB,IAAI,CAACyC,SAAS,EAAE;IACpB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACW4B,WAAWA,CAACvE,KAAiB,EAAEqE,WAAmB,EAAET,SAAoB,EAAEC,UAAmB,EAAQ;IACxG,IAAMC,WAAW,GAAG,IAAI,CAACrB,cAAc,CAAC,CAAC;IAEzC,IAAIqB,WAAW,CAAClD,IAAI,EAAE;MAClBd,aAAa,CAACC,gBAAgB,CAACC,KAAK,EAAE4D,SAAS,EAAE,KAAK,CAAC;;MAEvD;MACA,IAAIC,UAAU,IAAI7D,KAAK,CAAC+D,OAAO,CAAC,CAAC,IAAID,WAAW,CAAClD,IAAI,CAACoD,wBAAwB,CAAC,CAAC,KAAKF,WAAW,EAAE;QAC9FF,SAAS,CAAC7B,cAAc,CAAC,CAAC/B,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI,CAACA,KAAK,CAACkE,MAAM,IAAIlE,KAAK,CAACmE,OAAO,CAAC,CAAC,KAAKvE,SAAS,CAACwE,UAAU,EAAE;UAC3DtE,aAAa,CAACC,gBAAgB,CAACC,KAAK,EAAE4D,SAAS,EAAE,KAAK,CAAC;QAC3D;MACJ;IACJ;IAEA,IAAI,CAAC/B,MAAM,CAACyC,MAAM,CAACD,WAAW,EAAE,CAAC,EAAErE,KAAK,CAAC,CAAC,CAAC;EAC/C;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACWwE,WAAWA,CAACC,OAAe,EAAqB;IACnD,KAAK,IAAIC,CAAC,GAAG,IAAI,CAAC7C,MAAM,CAACF,MAAM,GAAG,CAAC,EAAE+C,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC9C,IAAMC,EAAE,GAAG,IAAI,CAAC9C,MAAM,CAAC6C,CAAC,CAAC;MACzB,IAAIC,EAAE,CAACC,KAAK,CAAC,CAAC,IAAIH,OAAO,EAAE;QACvB,IAAI,CAAC5C,MAAM,CAACyC,MAAM,CAACI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAIA,CAAC,GAAG,IAAI,CAAC/B,SAAS,EAAE;UACpB,IAAI,CAACA,SAAS,EAAE;QACpB;QACA,OAAOgC,EAAE;MACb;IACJ;IACA,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;AACA;AACA;EACWE,QAAQA,CAAA,EAAW;IACtB,OAAO,IAAI,CAAC3D,IAAI;EACpB;AACJ;AA1ZI;AACJ;AACA;AACA;AAHIV,eAAA,CADSV,aAAa,eAKaD,SAAS,CAACY,QAAQ;AAErD;AACJ;AACA;AACA;AAHID,eAAA,CAPSV,aAAa,cAWYD,SAAS,CAACa,OAAO","ignoreList":[]}