Add API docs. Do small refactors

This commit is contained in:
Lea Anthony
2023-09-24 08:57:40 +10:00
parent 05262134ca
commit 7cdab16ba9
24 changed files with 657 additions and 153 deletions
+54
View File
@@ -19,3 +19,57 @@ func generateFunctionStoreID() uint {
}
}
}
func InvokeSync(fn func()) {
var wg sync.WaitGroup
wg.Add(1)
globalApplication.dispatchOnMainThread(func() {
defer processPanicHandlerRecover()
fn()
wg.Done()
})
wg.Wait()
}
func InvokeSyncWithResult[T any](fn func() T) (res T) {
var wg sync.WaitGroup
wg.Add(1)
globalApplication.dispatchOnMainThread(func() {
defer processPanicHandlerRecover()
res = fn()
wg.Done()
})
wg.Wait()
return res
}
func InvokeSyncWithError(fn func() error) (err error) {
var wg sync.WaitGroup
wg.Add(1)
globalApplication.dispatchOnMainThread(func() {
defer processPanicHandlerRecover()
err = fn()
wg.Done()
})
wg.Wait()
return
}
func InvokeSyncWithResultAndError[T any](fn func() (T, error)) (res T, err error) {
var wg sync.WaitGroup
wg.Add(1)
globalApplication.dispatchOnMainThread(func() {
defer processPanicHandlerRecover()
res, err = fn()
wg.Done()
})
wg.Wait()
return res, err
}
func InvokeAsync(fn func()) {
globalApplication.dispatchOnMainThread(func() {
defer processPanicHandlerRecover()
fn()
})
}