blob: dc07587e2cdcb30b190433e1f3826634381bedd6 [file] [log] [blame]
// ignore_for_file: avoid_classes_with_only_static_members
import 'equatable.dart';
/// The default configurion for all [Equatable] instances.
///
/// Currently, this config class only supports setting a default value for
/// [stringify].
///
/// See also:
/// * [Equatable.stringify]
class EquatableConfig {
/// {@template stringify}
/// Global [stringify] setting for all [Equatable] instances.
///
/// If [stringify] is overridden for a particular [Equatable] instance,
/// then the local [stringify] value takes precedence
/// over [EquatableConfig.stringify].
///
/// This value defaults to true in debug mode and false in release mode.
/// {@endtemplate}
static bool get stringify {
if (_stringify == null) {
assert(() {
_stringify = true;
return true;
}());
}
return _stringify ??= false;
}
/// {@macro stringify}
static set stringify(bool value) => _stringify = value;
static bool? _stringify;
}