run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
void run() async {
if (argResults == null) {
print('Usage: flyer deeplink [options]');
print(argParser.usage);
return;
}
bool isTest = argResults!['test'] ?? false;
if (isTest) {
// Test mode
String? url = argResults!['url'];
String? scheme = argResults!['scheme'];
bool testAndroid = argResults!['android'] ?? false;
bool testIos = argResults!['ios'] ?? false;
await testDeeplink(
url: url,
scheme: scheme,
testAndroid: testAndroid,
testIos: testIos,
);
} else {
// Setup mode
String? domain = argResults!['domain'];
String? scheme = argResults!['scheme'];
bool isDryRun = argResults!['dry-run'] ?? false;
if (domain == null && scheme == null) {
print(
'${ColorsText.red}Error: You must specify either --domain or --scheme${ColorsText.reset}');
print('\nUsage: flyer deeplink [options]');
print(argParser.usage);
exit(1);
}
await setupDeeplink(
domain: domain,
scheme: scheme,
isDryRun: isDryRun,
);
}
}