Files
GitJournal/scripts/setup_env.dart
2021-09-16 11:17:00 +02:00

46 lines
980 B
Dart
Executable File

#!/usr/bin/env dart
// SPDX-FileCopyrightText: 2019-2021 Vishesh Handa <me@vhanda.in>
//
// SPDX-License-Identifier: AGPL-3.0-or-later
import 'dart:convert';
import 'dart:io';
Future<int> main(List<String> args) async {
var config = <String, String?>{};
try {
var contents = await File('secrets/env.json').readAsString();
config = (json.decode(contents) as Map).map(
(key, value) => MapEntry(key, value.toString()),
);
} catch (ex) {
print(ex);
}
if (args.isNotEmpty) {
config = config.map((key, value) => MapEntry(key, null));
}
print(config);
print('');
var contents = 'class Env {\n';
config.forEach((key, value) {
if (value == null) {
contents += ' static final String $key = "";\n';
} else {
contents += ' static final String $key = "$value";\n';
}
});
contents += '}\n';
print(contents);
final filename = 'lib/.env.dart';
await File(filename).writeAsString(contents);
return 0;
}