Skip to content

Commit 1f7cdd5

Browse files
committed
katex [nfc]: More early throws
Same motivation as in the parent commit.
1 parent 2d43771 commit 1f7cdd5

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

lib/model/katex.dart

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -283,22 +283,19 @@ class _KatexParser {
283283
final sizeClass = spanClasses[index++];
284284

285285
final resetSizeClassSuffix = _resetSizeClassRegExp.firstMatch(resetSizeClass)?.group(1);
286+
if (resetSizeClassSuffix == null) throw KatexHtmlParseError();
286287
final sizeClassSuffix = _sizeClassRegExp.firstMatch(sizeClass)?.group(1);
288+
if (sizeClassSuffix == null) throw KatexHtmlParseError();
287289

288-
if (resetSizeClassSuffix != null && sizeClassSuffix != null) {
289-
const sizes = <double>[0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488];
290+
const sizes = <double>[0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488];
290291

291-
final resetSizeIdx = int.parse(resetSizeClassSuffix, radix: 10);
292-
final sizeIdx = int.parse(sizeClassSuffix, radix: 10);
292+
final resetSizeIdx = int.parse(resetSizeClassSuffix, radix: 10);
293+
final sizeIdx = int.parse(sizeClassSuffix, radix: 10);
293294

294-
// These indexes start at 1.
295-
if (resetSizeIdx <= sizes.length && sizeIdx <= sizes.length) {
296-
styles.fontSizeEm = sizes[sizeIdx - 1] / sizes[resetSizeIdx - 1];
297-
continue;
298-
}
299-
}
300-
301-
throw KatexHtmlParseError();
295+
// These indexes start at 1.
296+
if (resetSizeIdx > sizes.length) throw KatexHtmlParseError();
297+
if (sizeIdx > sizes.length) throw KatexHtmlParseError();
298+
styles.fontSizeEm = sizes[sizeIdx - 1] / sizes[resetSizeIdx - 1];
302299

303300
case 'delimsizing':
304301
// .delimsizing { ... }

0 commit comments

Comments
 (0)