getOrNull<T extends Object?> static method

T? getOrNull<T extends Object?>(
  1. String key, {
  2. String? path,
  3. T? defaultValue,
  4. EnvironmentType? environment,
  5. PlatformType? platform,
  6. T? parser(
    1. Object?
    )?,
  7. T? modifier(
    1. T
    )?,
})

Implementation

static T? getOrNull<T extends Object?>(
  String key, {
  String? path,
  T? defaultValue,
  EnvironmentType? environment,
  PlatformType? platform,
  T? Function(Object?)? parser,
  T? Function(T)? modifier,
}) {
  try {
    final raw = i._select(
      key,
      path: path,
      environment: environment,
      platform: platform,
    );
    T? value = raw?.findOrNull(builder: parser);
    if (value is! T) return defaultValue;
    if (modifier != null) value = modifier(value);
    return value;
  } catch (msg) {
    i._log(msg);
    return defaultValue;
  }
}