From b40b872940dc90570999e830979d3367a41f4b6d Mon Sep 17 00:00:00 2001 From: Aliaksei Tratseuski Date: Mon, 5 Feb 2024 14:45:04 +0400 Subject: [PATCH] refactor: moved global formatters to static members of classes which use them --- lib/logic/models/message.dart | 7 ++++--- lib/utils/ui_helpers.dart | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/logic/models/message.dart b/lib/logic/models/message.dart index aaaf0930..b722d464 100644 --- a/lib/logic/models/message.dart +++ b/lib/logic/models/message.dart @@ -1,8 +1,7 @@ import 'package:graphql/client.dart'; import 'package:intl/intl.dart'; -final DateFormat formatter = DateFormat('hh:mm'); - +/// TODO(misterfourtytwo): add equality override class Message { Message({this.text, this.severity = MessageSeverity.normal}) : time = DateTime.now(); @@ -13,7 +12,9 @@ class Message { final String? text; final DateTime time; final MessageSeverity severity; - String get timeString => formatter.format(time); + + static final DateFormat _formatter = DateFormat('hh:mm'); + String get timeString => _formatter.format(time); } enum MessageSeverity { diff --git a/lib/utils/ui_helpers.dart b/lib/utils/ui_helpers.dart index 10f7419d..d7aec724 100644 --- a/lib/utils/ui_helpers.dart +++ b/lib/utils/ui_helpers.dart @@ -7,13 +7,13 @@ class UiHelpers { static String getDomainName(final ServerInstallationState config) => config.isDomainSelected ? config.serverDomain!.domainName : 'example.com'; + static final _formatter = NumberFormat()..minimumFractionDigits = 0; + static String formatWithPrecision( final double value, { final int fraction = 2, }) { - final NumberFormat formatter = NumberFormat(); - formatter.minimumFractionDigits = 0; - formatter.maximumFractionDigits = fraction; - return formatter.format(value); + _formatter.maximumFractionDigits = fraction; + return _formatter.format(value); } }