FittorClient constructor

FittorClient({
  1. Duration defaultTimeout = const Duration(seconds: 30),
  2. bool enableLogging = false,
  3. bool useWasm = false,
})

Implementation

factory FittorClient({
  Duration defaultTimeout = const Duration(seconds: 30),
  bool enableLogging = false,
  bool useWasm = false,
}) {
  if (_instance == null) {
    final platformAdapter = PlatformAdapter.create();
    WasmBridge? wasmBridge;

    if (useWasm && platformAdapter.supportsWasm) {
      try {
        wasmBridge = WasmBridge();
      } catch (e) {
        // WASM not supported on this platform, continue without it
        wasmBridge = null;
      }
    }

    _instance = FittorClient._internal(
      platformAdapter: platformAdapter,
      wasmBridge: wasmBridge,
      defaultTimeout: defaultTimeout,
      enableLogging: enableLogging,
    );
  }
  return _instance!;
}