Skip to content

Commit 054459f

Browse files
refactor: merge named constructor with the unnamed one
1 parent 8a35322 commit 054459f

File tree

1 file changed

+15
-27
lines changed

1 file changed

+15
-27
lines changed

lib/src/core/controllers/language_tool_controller.dart

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -91,49 +91,37 @@ class LanguageToolController extends TextEditingController {
9191
super.value = newValue;
9292
}
9393

94-
/// Controller constructor
94+
/// Controller constructor.
9595
///
96-
/// [highlightStyle] - Color scheme to highlight mistakes
97-
/// [delayType] - Represents the type of delay for language checking.
96+
/// [highlightStyle] - Color scheme to highlight mistakes.
9897
///
98+
/// [delayType] - Represents the type of delay for language checking.
9999
/// [DelayType.debouncing] - Calls a function when a user hasn't carried out
100100
/// the event in a specific amount of time.
101-
///
102101
/// [DelayType.throttling] - Calls a function at intervals of a specified
103102
/// amount of time while the user is carrying out the event.
104-
/// [delay] - Represents the duration of the delay for language checking.
105103
///
104+
/// [delay] - Represents the duration of the delay for language checking.
106105
/// If the delay is [Duration.zero], no delaying is applied.
106+
///
107+
/// You can optionally provide a custom [languageCheckService] to fully control
108+
/// how text is analyzed and processed. When provided, [delayType] and [delay]
109+
/// are ignored.
107110
LanguageToolController({
108111
bool isEnabled = true,
109112
this.highlightStyle = const HighlightStyle(),
110113
DelayType delayType = DelayType.debouncing,
111114
Duration delay = Duration.zero,
115+
LanguageCheckService? languageCheckService,
112116
}) : _isEnabled = isEnabled {
113-
_languageCheckService = _getLanguageCheckService(
114-
delayType: delayType,
115-
delay: delay,
116-
languageToolClient: LanguageToolClient(),
117-
);
117+
_languageCheckService = languageCheckService ??
118+
_getLanguageCheckService(
119+
delayType: delayType,
120+
delay: delay,
121+
languageToolClient: LanguageToolClient(),
122+
);
118123
}
119124

120-
/// Creates a [LanguageToolController] with a custom [LanguageCheckService].
121-
///
122-
/// This constructor allows you to provide your own implementation of the
123-
/// language checking service, giving you full control over how text is
124-
/// analyzed and processed.
125-
///
126-
/// Parameters:
127-
/// * [languageCheckService] - The service responsible for performing language
128-
/// checks and grammar validation. This parameter is required.
129-
/// * [highlightStyle] - Color scheme to highlight mistakes
130-
LanguageToolController.withService({
131-
required LanguageCheckService languageCheckService,
132-
bool isEnabled = true,
133-
this.highlightStyle = const HighlightStyle(),
134-
}) : _languageCheckService = languageCheckService,
135-
_isEnabled = isEnabled;
136-
137125
static LanguageCheckService _getLanguageCheckService({
138126
required DelayType delayType,
139127
required Duration delay,

0 commit comments

Comments
 (0)