loadInternal method

void loadInternal(
  1. Map envVariables
)

Implementation

void loadInternal(Map<dynamic, dynamic> envVariables) {
  var data = LinkedHashMap<String, String>(
    equals: (a, b) => a.toLowerCase() == b.toLowerCase(),
    hashCode: (k) => k.toLowerCase().hashCode,
  );
  var e = envVariables.entries.iterator;

  try {
    while (e.moveNext()) {
      var entry = e.current;
      var key = entry.key as String;
      String? provider;
      //String? prefix;

      if (key.toLowerCase().startsWith(_prefix.toLowerCase())) {
        // This prevents the prefix from being normalized.
        // We can also do a fast path branch,
        // I guess? No point in reallocating if the prefix is empty.
        key = normalizeKey(key.substring(_prefix.length));
        data[key] = entry.value as String;

        continue;
      } else {
        // Add the key-value pair for connection string, and
        // optionally provider name
        key = normalizeKey(key.substring(_prefix.length));
        _addIfPrefixed(data, 'ConnectionStrings:$key', entry.value as String);
        if (provider != null) {
          _addIfPrefixed(
              data, 'ConnectionStrings:${key}_ProviderName', provider);
        }
      }
    }
  } finally {}

  this.data = data;
}