Skip to main content

Dart 🚧

Apache OpenDALâ„¢ Dart Binding (WIP)

Usage​

Api is designed to be like stdlib style.

This is stdlib

import 'dart:io';

void main() async {
final file = File('file.txt');
var is_exists = await file.exists();
print(is_exists);
}

This is opendal

import 'package:opendal/opendal.dart';

void main() async {
final storage = await Storage.init(schemeStr: "fs", map: {"root": "/tmp"});
final File = storage.initFile();
// drop-in
final file = File('file.txt');
var is_exists = await file.exists();
print(is_exists);
}

Test​

dart run tests/opendal_test.dart

Development​

flutter pub get
flutter_rust_bridge_codegen generate
cd rust
cargo build -r --target x86_64-unknown-linux-gnu # change to your arch, refer to https://doc.rust-lang.org/beta/rustc/platform-support.html

Update generated code​

This binding uses https://github.com/fzyzcjy/flutter_rust_bridge, when updating the codegen. First check FLUTTER_RUST_BRIDGE_CODEGEN_VERSION, then pin the version of flutter_rust_bridge in pubspec.yaml and rust/Cargo.toml. Make sure the runtime versions are matched.

License and Trademarks​

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Apache OpenDAL, OpenDAL, and Apache are either registered trademarks or trademarks of the Apache Software Foundation.