Skip to content

Commit a8cb352

Browse files
committed
Expose ClientBuilder
1 parent e7a8e34 commit a8cb352

File tree

12 files changed

+827
-89
lines changed

12 files changed

+827
-89
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737

3838
* Expose `ConnectionMode` ([Yuki Kishimoto])
3939
* Expose `ClientOptions` ([Yuki Kishimoto])
40+
* Expose `ClientBuilder` ([Yuki Kishimoto])
4041

4142
### Fixed
4243

lib/src/rust/api/client.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import
55

66
import '../frb_generated.dart';
7+
import 'client/builder.dart';
78
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
89
import 'protocol/event.dart';
910

11+
// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `from`
12+
1013
// Rust type: RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<_Client>>
1114
abstract class Client implements RustOpaqueInterface {
1215
/// Add relay
@@ -20,6 +23,10 @@ abstract class Client implements RustOpaqueInterface {
2023
/// Connection is **NOT** automatically started with relay, remember to call `connect` method!
2124
Future<bool> addRelay({required String url});
2225

26+
/// New client builder
27+
static ClientBuilder builder() =>
28+
NostrSdk.instance.api.crateApiClientClientBuilder();
29+
2330
/// Connect to all added relays
2431
Future<void> connect();
2532

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// This file is automatically generated, so please do not edit it.
2+
// Generated by `flutter_rust_bridge`@ 2.0.0.
3+
4+
// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import
5+
6+
import '../../frb_generated.dart';
7+
import '../client.dart';
8+
import 'options.dart';
9+
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
10+
11+
// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `from`
12+
13+
// Rust type: RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<_ClientBuilder>>
14+
abstract class ClientBuilder implements RustOpaqueInterface {
15+
/// Build client
16+
Client build();
17+
18+
/// New client builder
19+
factory ClientBuilder() =>
20+
NostrSdk.instance.api.crateApiClientBuilderClientBuilderNew();
21+
22+
/// Set opts
23+
ClientBuilder opts({required ClientOptions opts});
24+
}

0 commit comments

Comments
 (0)