package com.checkoutreactnativecomponents import com.checkoutreactnativecomponents.utils.Constants import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReadableMap import com.facebook.react.module.annotations.ReactModule @ReactModule(name = CheckoutModuleNewArch.NAME) public class CheckoutModuleNewArch(reactContext: ReactApplicationContext) : NativeCheckoutModuleSpec(reactContext) { override fun initialize(args: ReadableMap, promise: Promise) { val context = reactApplicationContext.currentActivity ?: run { promise.reject(NAME, "Failed to initialize - Context null") return } CheckoutManager.setEventEmitter(reactApplicationContext) CheckoutModuleHandler.initialize(args, context, promise) } override fun clear(promise: Promise) { CheckoutModuleHandler.clear(promise) } override fun resolveTokenized( callbackId: String, success: Boolean, error: String?, promise: Promise, ) { CheckoutModuleHandler.resolveTokenized(callbackId, success, error, promise) } override fun resolveSubmit( callbackId: String, args: ReadableMap, promise: Promise, ) { CheckoutModuleHandler.resolveSubmit(callbackId, args, promise) } override fun getName(): String { return NAME } internal companion object { const val NAME = Constants.CHECKOUT_MODULE } }