Line data Source code
1 : // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 : // for details. All rights reserved. Use of this source code is governed by a
3 : // BSD-style license that can be found in the LICENSE file.
4 :
5 : import 'package:collection/collection.dart';
6 :
7 : /// A map from case-insensitive strings to values.
8 : ///
9 : /// Much of HTTP is case-insensitive, so this is useful to have pre-defined.
10 : class CaseInsensitiveMap<V> extends CanonicalizedMap<String, String, V> {
11 : CaseInsensitiveMap()
12 0 : : super((key) => key.toLowerCase(), isValidKey: (key) => key != null);
13 :
14 : CaseInsensitiveMap.from(Map<String, V> other)
15 0 : : super.from(other, (key) => key.toLowerCase(),
16 : isValidKey: (key) => key != null);
17 : }
|