dart_arango_min 0.1.7 dart_arango_min: ^0.1.7 copied to clipboard
A starting point for Dart libraries or applications.
example/dart_arango_min_example.dart
import 'dart:io';
import 'package:dart_arango_min/dart_arango_min.dart';
import 'package:args/args.dart';
// Run me with command from project forder:
// pub run ./example/dart_arango_min_example.dart --host=... --port=8529 --user=... --pass=... --only-public
main(List<String> args) async {
var parser = ArgParser();
final opt = {
'host': 'ArangoDB database host for connect to',
'port': 'Port of ArangoDB database for connect to',
'user': 'User name for login to ArabgoBD as admin',
'pass': 'User password',
};
opt.forEach((k,v){
parser.addOption(k, help: v);
});
parser.addFlag('only-public',help: 'print only public posts',);
var results = parser.parse(args);
opt.forEach((k,v){
if (results[k]==null){
print('==!!===========> $k option required!');
print('USAGE:\n ${parser.usage}');
exit(2);
}
});
bool onlyPublic = results['only-public'];
// Connect:
var client = ArangoDBClient(
scheme: 'http',
host: results['host'],
port: int.parse(results['port']),
db: 'blog',
user: results['user'],
pass: results['pass'],
);
var postTitles = await client.newQuery()
.addLine('for post in posts')
.addLineIfThen(onlyPublic, 'filter post.public')
.addLine('return post.title')
.runAndReturnFutureList();
for (var title in postTitles){
print(title);
}
}