package com.contentsquare.rn;

import com.contentsquare.rn.erroranalysis.ErrorAnalysisModuleImpl;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;

public class ErrorAnalysisModule extends ReactContextBaseJavaModule {

    private final ErrorAnalysisModuleImpl implementation;

    public ErrorAnalysisModule(
            ReactApplicationContext reactContext) {
        super(reactContext);
        this.implementation = new ErrorAnalysisModuleImpl(
                reactContext);
    }

    @Override
    public String getName() {
        return implementation.NAME;
    }

    @ReactMethod
    public void setURLMaskingPatterns(ReadableArray patterns) {
        implementation.setURLMaskingPatterns(patterns);
    }

    @ReactMethod
    public void triggerNativeCrash() {
        implementation.triggerNativeCrash();
    }

    @ReactMethod
    public void reportJavascriptError(ReadableMap error, Promise promise) {
        implementation.reportJavascriptError(error, promise);
    }

}
