package com.zendrive.rn import com.facebook.react.bridge.ReactMethod import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReadableMap import com.facebook.react.module.annotations.ReactModule import com.zendrive.sdk.ZendriveDebugLogger import org.json.JSONObject @ReactModule(name = RNZendriveDebugLoggerModule.MODULE_NAME, needsEagerInit = false) class RNZendriveDebugLoggerModule(reactContext: ReactApplicationContext): ReactContextBaseJavaModule(reactContext) { override fun getName(): String { return MODULE_NAME } @ReactMethod fun initialize(promise: Promise) { var result = ZendriveDebugLogger.initialize(reactApplicationContext) promise.resolve(result) } @ReactMethod fun logError(message: String, promise: Promise) { ZendriveDebugLogger.error(message) promise.resolve(true) } @ReactMethod fun logInfo(message: String, promise: Promise) { ZendriveDebugLogger.info(message) promise.resolve(true) } @ReactMethod fun logWarn(message: String, promise: Promise) { ZendriveDebugLogger.warn(message) promise.resolve(true) } @ReactMethod fun logDebug(message: String, promise: Promise) { ZendriveDebugLogger.debug(message) promise.resolve(true) } @ReactMethod fun logVerbose(message: String, promise: Promise) { ZendriveDebugLogger.verbose(message) promise.resolve(true) } @ReactMethod fun saveDebugData(keyObject: String, valueObject: String, promise: Promise) { ZendriveDebugLogger.saveDebugDataWithKeys(JSONObject(keyObject), JSONObject(valueObject)) promise.resolve("Debug data is saved!") } companion object { const val MODULE_NAME = "ZendriveDebugLogger" } }