readBoolOrNull method

bool? readBoolOrNull(
  1. Iterable<String> pathSegments, {
  2. bool packageRelated = false,
})

Returns null when the key is absent.

Implementation

bool? readBoolOrNull(
  Iterable<String> pathSegments, {
  bool packageRelated = false,
}) {
  final usedSegments =
      packageRelated ? [_rootKey, ...pathSegments] : pathSegments;

  Object? data = options;

  for (final key in usedSegments) {
    if (data is Map<String, Object> && data.containsKey(key)) {
      data = data[key];
    } else {
      return null;
    }
  }

  return data is bool ? data : null;
}