Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 1.39 KB

README.md

File metadata and controls

62 lines (42 loc) · 1.39 KB

Apache OpenDAL™ Dart Binding (WIP)

Useful Links

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.