open method

void open(
  1. Map arguments
)

Implementation

void open(Map<dynamic, dynamic> arguments) {
  final String? token = arguments['token'];
  final String? publicKey = arguments['publicKey'];
  final String? clientName = arguments['clientName'];
  final String? environment = arguments['environment'];
  final String? linkCustomizationName = arguments['linkCustomizationName'];
  final String? language =
      arguments['language'] == null ? 'en' : arguments['language'];
  final String? webhook = arguments['webhook'];
  final String? userLegalName = arguments['userLegalName'];
  final String? userEmailAddress = arguments['userEmailAddress'];
  final String? userPhoneNumber = arguments['userPhoneNumber'];
  final String? oauthNonce = arguments['oauthNonce'];
  final String? oauthRedirectUri = arguments['oauthRedirectUri'];
  List<String> countryCodes = arguments['countryCodes'] == null
      ? ['']
      : List<String>.from(arguments['countryCodes']);
  List<String> products = arguments['products'] == null
      ? ['']
      : List<String>.from(arguments['products']);

  Configuration options = Configuration(
    clientName: clientName,
    token: token,
    key: publicKey,
    env: environment,
    product: products,
    countryCodes: countryCodes,
    webhook: webhook,
    linkCustomizationName: linkCustomizationName,
    language: language,
    oauthNonce: oauthNonce,
    oauthRedirectUri: oauthRedirectUri,
    userLegalName: userLegalName,
    userEmailAddress: userEmailAddress,
    userPhoneNumber: userPhoneNumber,
    onEvent: allowInterop((event, metadata) {
      Map<String, dynamic> arguments = {
        'event': event,
        'metadata': mapFromEventMetadata(jsToMap(metadata))
      };
      _channel.invokeMethod('onEvent', arguments);
    }),
    onSuccess: allowInterop((publicToken, metadata) {
      Map<String, dynamic> arguments = {
        'publicToken': publicToken,
        'metadata': mapFromSuccessMetadata(jsToMap(metadata))
      };
      _channel.invokeMethod('onSuccess', arguments);
    }),
    onExit: allowInterop((error, metadata) {
      Map<String, dynamic> arguments = {
        'metadata': mapFromExitMetadata(jsToMap(metadata))
      };

      if (error != null) {
        arguments["error"] = mapFromError(jsToMap(error));
      }

      _channel.invokeMethod('onExit', arguments);
    }),
    onLoad: allowInterop(() {}),
  );

  Plaid.create(options).open();
}