fix: use lazy pagination (#563)

This commit is contained in:
Daniel Roe 2022-12-26 09:34:30 +01:00 committed by GitHub
parent 59d0cfa10e
commit c8a7e6e7e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 4 deletions

View file

@ -294,6 +294,17 @@ export const createMasto = () => {
if (!api.value) {
return new Proxy({}, {
get(_, subkey) {
if (typeof subkey === 'string' && subkey.startsWith('iterate')) {
return (...args: any[]) => {
let paginator: any
function next() {
paginator = paginator || (api.value as any)?.[key][subkey](...args)
return paginator.next()
}
return { next }
}
}
return (...args: any[]) => apiPromise.value?.then((r: any) => r[key][subkey](...args))
},
})