( loadPage: (after?: string) => Promise<unknown>, )
| 322 | }; |
| 323 | |
| 324 | export const collectRawWorkOSList = async ( |
| 325 | loadPage: (after?: string) => Promise<unknown>, |
| 326 | ): Promise<WorkOSCollectedList<unknown>> => { |
| 327 | const first = Option.getOrNull(decodeRawWorkOSListResponse(await loadPage())); |
| 328 | if (!first) { |
| 329 | return { |
| 330 | object: "list", |
| 331 | data: [], |
| 332 | listMetadata: completedListMetadata, |
| 333 | }; |
| 334 | } |
| 335 | |
| 336 | const data = [...first.data]; |
| 337 | let after = nextCursorFromRawList(first); |
| 338 | |
| 339 | while (after) { |
| 340 | const next = Option.getOrNull(decodeRawWorkOSListResponse(await loadPage(after))); |
| 341 | if (!next) break; |
| 342 | data.push(...next.data); |
| 343 | after = nextCursorFromRawList(next); |
| 344 | } |
| 345 | |
| 346 | return { |
| 347 | object: "list", |
| 348 | data, |
| 349 | listMetadata: completedListMetadata, |
| 350 | }; |
| 351 | }; |
| 352 | |
| 353 | class WorkOSConfigurationError extends Data.TaggedError("WorkOSConfigurationError")<{ |
| 354 | readonly message: string; |
no test coverage detected