* @hidden
(query: CollectionQuery<any, any>)
| 1264 | * @hidden |
| 1265 | */ |
| 1266 | async syncQuery(query: CollectionQuery<any, any>) { |
| 1267 | try { |
| 1268 | let resolve: (value: unknown) => void, reject: (reason?: any) => void; |
| 1269 | const promise = new Promise((res, rej) => { |
| 1270 | resolve = res; |
| 1271 | reject = rej; |
| 1272 | }); |
| 1273 | const unsubPromise = this.subscribe(query, { |
| 1274 | onQueryFulfilled: async () => { |
| 1275 | const unsub = await unsubPromise; |
| 1276 | resolve(void 0); |
| 1277 | unsub(); |
| 1278 | }, |
| 1279 | }); |
| 1280 | return promise; |
| 1281 | } catch (e) { |
| 1282 | if (e instanceof TriplitError) throw e; |
| 1283 | if (e instanceof Error) throw new RemoteSyncFailedError(query, e.message); |
| 1284 | throw new RemoteSyncFailedError(query, 'An unknown error occurred.'); |
| 1285 | } |
| 1286 | } |
| 1287 | |
| 1288 | private validateSessionWithWarning( |
| 1289 | session: SyncSession | undefined |