unicode_typing_grader library
Unicode-aware primitives for comparing and grading typed text.
Classes
- ActiveTypingTimer
- Measures active typing time from a monotonic duration source.
- TypingComparison
- An immutable NFC-normalized, grapheme-level comparison snapshot.
- TypingEdit
- Locates one minimum edit needed to turn the reference into the input.
- TypingGradingPolicy
-
A serializable policy for the
unicode-typing-grader.v1contract. - TypingMetrics
- Reproducible typing measurements and their raw calculation inputs.
Enums
- TypingEditKind
- The operation represented by a grapheme-level edit.
- TypingPunctuationPolicy
- Controls how sentence-ending punctuation is prepared before comparison.
- TypingWhitespacePolicy
- Controls how whitespace is prepared before text comparison.
Functions
-
calculateTypingMetrics(
{required TypingComparison comparison, required Duration activeElapsed}) → TypingMetrics - Calculates accuracy and gross CPM from a prepared grapheme comparison.
-
compareNormalizedGraphemes(
{required String reference, required String input}) → TypingComparison - Compares NFC text by extended grapheme cluster instead of UTF-16 code unit.
-
gradeTyping(
{required String reference, required String input, required TypingGradingPolicy policy, required Duration activeElapsed}) → TypingMetrics - Grades committed text after applying one immutable comparison policy.