File tree Expand file tree Collapse file tree 2 files changed +11
-8
lines changed Expand file tree Collapse file tree 2 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -168,14 +168,16 @@ impl OlmMachine {
168
168
///
169
169
/// Returns a `Set<UserId>`.
170
170
#[ wasm_bindgen( js_name = "trackedUsers" ) ]
171
- pub fn tracked_users ( & self ) -> Set {
171
+ pub fn tracked_users ( & self ) -> Result < Promise , JsError > {
172
172
let set = Set :: new ( & JsValue :: UNDEFINED ) ;
173
+ let me = self . inner . clone ( ) ;
173
174
174
- for user in self . inner . tracked_users ( ) {
175
- set. add ( & identifiers:: UserId :: from ( user) . into ( ) ) ;
176
- }
177
-
178
- set
175
+ Ok ( future_to_promise ( async move {
176
+ for user in me. tracked_users ( ) . await ? {
177
+ set. add ( & identifiers:: UserId :: from ( user) . into ( ) ) ;
178
+ }
179
+ Ok ( set)
180
+ } ) )
179
181
}
180
182
181
183
/// Update the list of tracked users.
@@ -205,7 +207,7 @@ impl OlmMachine {
205
207
let me = self . inner . clone ( ) ;
206
208
207
209
Ok ( future_to_promise ( async move {
208
- me. update_tracked_users ( users. iter ( ) . map ( AsRef :: as_ref) ) . await ;
210
+ me. update_tracked_users ( users. iter ( ) . map ( AsRef :: as_ref) ) . await ? ;
209
211
Ok ( JsValue :: UNDEFINED )
210
212
} ) )
211
213
}
Original file line number Diff line number Diff line change @@ -158,7 +158,8 @@ describe(OlmMachine.name, () => {
158
158
} ) ;
159
159
160
160
test ( 'can read tracked users' , async ( ) => {
161
- const trackedUsers = ( await machine ( ) ) . trackedUsers ( ) ;
161
+ const m = await machine ( ) ;
162
+ const trackedUsers = await m . trackedUsers ( ) ;
162
163
163
164
expect ( trackedUsers ) . toBeInstanceOf ( Set ) ;
164
165
expect ( trackedUsers . size ) . toStrictEqual ( 0 ) ;
You can’t perform that action at this time.
0 commit comments