// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import 'dart:collection'; import 'package:collection/collection.dart'; /// {@template aws_common.case_insensitive_map} /// Creates a case-insensitive [Map] using [equalsIgnoreAsciiCase] and /// [hashIgnoreAsciiCase] for comparison. /// {@endtemplate} class CaseInsensitiveMap extends DelegatingMap { /// {@macro aws_common.case_insensitive_map} CaseInsensitiveMap(Map base) : super( LinkedHashMap( equals: equalsIgnoreAsciiCase, hashCode: hashIgnoreAsciiCase, )..addAll(base), ); } /// {@template aws_common.case_insensitive_set} /// Creates a case-insensitive [Set] using [equalsIgnoreAsciiCase] and /// [hashIgnoreAsciiCase] for comparison. /// {@endtemplate} class CaseInsensitiveSet extends DelegatingSet { /// {@macro aws_common.case_insensitive_set} CaseInsensitiveSet(Iterable base) : super( LinkedHashSet( equals: equalsIgnoreAsciiCase, hashCode: hashIgnoreAsciiCase, )..addAll(base), ); }