bool.hasEnvironment constructor
Whether there is an environment declaration name
.
Returns true iff there is an environment declaration with the name name
If there is then the value of that declaration can be accessed using
const String.fromEnvironment(name)
. Otherwise,
String.fromEnvironment(name, defaultValue: someString)
will evaluate to the given defaultValue
.
This constructor can be used to handle an absent declaration
specifically, in ways that cannot be represented by providing
a default value to the C.fromEnvironment
constructor where C
is String, int, or bool.
Example:
const loggingIsDeclared = const bool.hasEnvironment("logging");
const String? logger = loggingIsDeclared
? String.fromEnvironment("logging")
: null;
Implementation
// The .hasEnvironment() constructor is special in that we do not want
// users to call them using "new". We prohibit that by giving them bodies
// that throw, even though const constructors are not allowed to have bodies.
// Disable those static errors.
//ignore: const_constructor_with_body
//ignore: const_factory
external const factory bool.hasEnvironment(String name);