package com.castlabs.reactnative.arch_new;

import com.castlabs.reactnative.sdk.Plugin;
import com.castlabs.reactnative.sdk.SDKModule;
import com.castlabs.reactnative.specs.NativeSdkModuleSpec;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReadableMap;

import java.util.List;

public class NativeSdkModule extends NativeSdkModuleSpec {

    public static final String NAME = "NativeSdkModule";
    private final SDKModule _sdkModule;

    public NativeSdkModule(
        List<Plugin> pluginInstanceManager,
        ReactApplicationContext reactContext
    ) {
        super(reactContext);
        _sdkModule = new SDKModule(
            pluginInstanceManager,
            reactContext);
    }

    @Override
    public void initialize(ReadableMap config, ReadableMap companionSdkInfo, Promise promise) {
        _sdkModule.initialize(config, companionSdkInfo, promise);
    }
}
