* Adds KTLint as a GitHub action * Adds KTLint to the gradle project for IDE integration * Adds .editorconfig to configure KTLint (android/)
28 lines
832 B
Kotlin
28 lines
832 B
Kotlin
package com.mrousavy.camera.utils
|
|
|
|
import com.facebook.react.bridge.Promise
|
|
import com.mrousavy.camera.CameraError
|
|
import com.mrousavy.camera.UnknownCameraError
|
|
|
|
inline fun withPromise(promise: Promise, closure: () -> Any?) {
|
|
try {
|
|
val result = closure()
|
|
promise.resolve(result)
|
|
} catch (e: Throwable) {
|
|
e.printStackTrace()
|
|
val error = if (e is CameraError) e else UnknownCameraError(e)
|
|
promise.reject("${error.domain}/${error.id}", error.message, error.cause)
|
|
}
|
|
}
|
|
|
|
inline fun withSuspendablePromise(promise: Promise, closure: () -> Any?) {
|
|
try {
|
|
val result = closure()
|
|
promise.resolve(result)
|
|
} catch (e: Throwable) {
|
|
e.printStackTrace()
|
|
val error = if (e is CameraError) e else UnknownCameraError(e)
|
|
promise.reject("${error.domain}/${error.id}", error.message, error.cause)
|
|
}
|
|
}
|