From d66aad9a163543b38022e444ef2bd4d34c214441 Mon Sep 17 00:00:00 2001 From: Renato Burton Date: Wed, 25 Jan 2023 14:37:20 -0300 Subject: [PATCH] Fix #385 #388 #398 @Lasse Nielsen --- .../_internal/js_runtime/lib/js_helper.dart | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart index 6f8afacf93f7..8b61367834e0 100644 --- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart +++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart @@ -380,22 +380,31 @@ class Primitives { } static bool? parseBool(String source, bool caseSensitive) { - checkNotNullable(source, "source"); + checkNotNullable(source, "source"); + checkNotNullable(caseSensitive, "caseSensitive"); //The caseSensitive defaults to true. - if (caseSensitive == null || caseSensitive == true) - return source == "true" ? true : source == "false" ? false : null; - //Ignore case-sensitive when caseSensitive is false. - return _compareIgnoreCase(source, "true")? true : _compareIgnoreCase(source, "false")? false : null; + if (caseSensitive == null || caseSensitive == true) + return source == "true" + ? true + : source == "false" + ? false + : null; + //Ignore case-sensitive when caseSensitive is false. + return _compareIgnoreCase(source, "true") + ? true + : _compareIgnoreCase(source, "false") + ? false + : null; } static bool _compareIgnoreCase(String input, String lowerCaseTarget) { - if (input.length != lowerCaseTarget.length) return false; - for (var i = 0; i < input.length; i++) { - if (input.codeUnitAt(i) | 0x20 != lowerCaseTarget.codeUnitAt(i)) { - return false; - } - } - return true; + if (input.length != lowerCaseTarget.length) return false; + for (var i = 0; i < input.length; i++) { + if (input.codeUnitAt(i) | 0x20 != lowerCaseTarget.codeUnitAt(i)) { + return false; + } + } + return true; } /// [: r"$".codeUnitAt(0) :]