defineOf<T extends DefineEnvironment> method
void
defineOf<T extends DefineEnvironment>(})
Defines environment variables using a class that implements DefineEnvironment.
This method provides a more structured way to define environment variables using a class-based approach.
The class must implement DefineEnvironment interface which requires a schema property.
Parameters:
source: A function that returns an instance of typeTwhich implements DefineEnvironmentroot: Optional directory where the .env files are located. Defaults to current directory if not specifiedincludeDartEnv: Whether to include Dart's environment variables. Defaults to true
Example:
class AppEnv implements DefineEnvironment {
static final String host = 'HOST';
static final String port = 'PORT';
@override
final Map<String, EnvSchema> schema = {
host: env.string(),
port: env.number().integer(),
};
}
env.defineOf(AppEnv.new);
Implementation
void defineOf<T extends DefineEnvironment>(
T Function() source, {
Directory? root,
bool includeDartEnv = true,
}) {
define(source().schema, root: root, includeDartEnv: includeDartEnv);
}