myid.dart 759 Bytes
Newer Older
Javohir Savriy's avatar
Javohir Savriy committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import 'package:flutter/services.dart';

import 'dart:async';
import 'dart:convert';

import 'myid_config.dart';

class MyIdClient {
  static const MethodChannel _channel = MethodChannel('myid');
  static const JsonDecoder _jsonDecoder = JsonDecoder();
  static const JsonEncoder _jsonEncoder = JsonEncoder();

  static Future<MyIdResult> start({
    required MyIdConfig config,
    MyIdIOSAppearance iosAppearance = const MyIdIOSAppearance(),
  }) async {
    final confingJson = config.toJson();
    final result = await _channel.invokeMethod('startSdk', {
      "config": confingJson,
      "appearance": iosAppearance.toJson(),
    });
    return MyIdResult.fromJson(
      _jsonDecoder.convert(
        _jsonEncoder.convert(result),
      ),
    );
  }
}