@testgorilla/tgo-typing-test 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.eslintrc.json +46 -0
  2. package/jest.config.ts +21 -0
  3. package/ng-package.json +15 -0
  4. package/package.json +7 -22
  5. package/project.json +36 -0
  6. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.html +30 -0
  7. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.spec.ts +250 -0
  8. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.ts +47 -0
  9. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.html +72 -0
  10. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.spec.ts +699 -0
  11. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.ts +287 -0
  12. package/src/lib/helpers/config.ts +28 -0
  13. package/src/lib/helpers/constants/default-config.ts +103 -0
  14. package/src/lib/helpers/controllers/input-controller.ts +710 -0
  15. package/src/lib/helpers/controllers/quotes-controller.ts +183 -0
  16. package/src/lib/helpers/observables/banner-event.ts +18 -0
  17. package/src/lib/helpers/observables/config-event.ts +31 -0
  18. package/src/lib/helpers/observables/timer-event.ts +18 -0
  19. package/src/lib/helpers/states/active-page.ts +9 -0
  20. package/src/lib/helpers/states/composition.ts +29 -0
  21. package/src/lib/helpers/states/page-transition.ts +9 -0
  22. package/src/lib/helpers/states/slow-timer.ts +16 -0
  23. package/src/lib/helpers/states/test-active.ts +9 -0
  24. package/src/lib/helpers/states/time.ts +13 -0
  25. package/src/lib/helpers/test/caps-warning.ts +50 -0
  26. package/src/lib/helpers/test/caret.ts +92 -0
  27. package/src/lib/helpers/test/custom-text.ts +73 -0
  28. package/src/lib/helpers/test/english-punctuation.ts +38 -0
  29. package/src/lib/helpers/test/focus.ts +39 -0
  30. package/src/lib/helpers/test/manual-restart-tracker.ts +13 -0
  31. package/src/lib/helpers/test/out-of-focus.ts +19 -0
  32. package/src/lib/helpers/test/replay.ts +265 -0
  33. package/src/lib/helpers/test/test-input.ts +320 -0
  34. package/src/lib/helpers/test/test-logic.ts +1039 -0
  35. package/src/lib/helpers/test/test-state.ts +17 -0
  36. package/src/lib/helpers/test/test-stats.ts +442 -0
  37. package/src/lib/helpers/test/test-timer.ts +209 -0
  38. package/src/lib/helpers/test/test-ui.ts +370 -0
  39. package/src/lib/helpers/test/test-words.ts +72 -0
  40. package/src/lib/helpers/test/timer-progress.ts +16 -0
  41. package/src/lib/helpers/test/tts.ts +42 -0
  42. package/src/lib/helpers/test/weak-spot.ts +74 -0
  43. package/src/lib/helpers/test/wordset.ts +109 -0
  44. package/src/lib/styles/animations.scss +101 -0
  45. package/src/lib/styles/caret.scss +108 -0
  46. package/src/lib/styles/core.scss +498 -0
  47. package/src/lib/styles/index.scss +19 -0
  48. package/src/lib/styles/inputs.scss +290 -0
  49. package/src/lib/styles/popups.scss +1311 -0
  50. package/src/lib/styles/test.scss +1008 -0
  51. package/src/lib/styles/z_media-queries.scss +848 -0
  52. package/src/lib/types/types.d.ts +731 -0
  53. package/src/lib/utils/misc.ts +776 -0
  54. package/src/test-setup.ts +20 -0
  55. package/tsconfig.json +16 -0
  56. package/tsconfig.lib.json +14 -0
  57. package/tsconfig.lib.prod.json +9 -0
  58. package/tsconfig.spec.json +11 -0
  59. package/esm2022/index.mjs +0 -3
  60. package/esm2022/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.mjs +0 -45
  61. package/esm2022/lib/components/tgo-typing-test/tgo-typing-test.component.mjs +0 -299
  62. package/esm2022/lib/helpers/config.mjs +0 -24
  63. package/esm2022/lib/helpers/constants/default-config.mjs +0 -103
  64. package/esm2022/lib/helpers/controllers/input-controller.mjs +0 -586
  65. package/esm2022/lib/helpers/controllers/quotes-controller.mjs +0 -118
  66. package/esm2022/lib/helpers/observables/config-event.mjs +0 -16
  67. package/esm2022/lib/helpers/observables/timer-event.mjs +0 -16
  68. package/esm2022/lib/helpers/states/active-page.mjs +0 -8
  69. package/esm2022/lib/helpers/states/composition.mjs +0 -20
  70. package/esm2022/lib/helpers/states/page-transition.mjs +0 -8
  71. package/esm2022/lib/helpers/states/slow-timer.mjs +0 -15
  72. package/esm2022/lib/helpers/states/test-active.mjs +0 -8
  73. package/esm2022/lib/helpers/states/time.mjs +0 -11
  74. package/esm2022/lib/helpers/test/caps-warning.mjs +0 -50
  75. package/esm2022/lib/helpers/test/caret.mjs +0 -80
  76. package/esm2022/lib/helpers/test/custom-text.mjs +0 -59
  77. package/esm2022/lib/helpers/test/english-punctuation.mjs +0 -29
  78. package/esm2022/lib/helpers/test/focus.mjs +0 -35
  79. package/esm2022/lib/helpers/test/manual-restart-tracker.mjs +0 -11
  80. package/esm2022/lib/helpers/test/out-of-focus.mjs +0 -14
  81. package/esm2022/lib/helpers/test/replay.mjs +0 -217
  82. package/esm2022/lib/helpers/test/test-input.mjs +0 -264
  83. package/esm2022/lib/helpers/test/test-logic.mjs +0 -927
  84. package/esm2022/lib/helpers/test/test-state.mjs +0 -13
  85. package/esm2022/lib/helpers/test/test-stats.mjs +0 -342
  86. package/esm2022/lib/helpers/test/test-timer.mjs +0 -207
  87. package/esm2022/lib/helpers/test/test-ui.mjs +0 -341
  88. package/esm2022/lib/helpers/test/test-words.mjs +0 -69
  89. package/esm2022/lib/helpers/test/timer-progress.mjs +0 -15
  90. package/esm2022/lib/helpers/test/weak-spot.mjs +0 -65
  91. package/esm2022/lib/helpers/test/wordset.mjs +0 -100
  92. package/esm2022/lib/utils/misc.mjs +0 -673
  93. package/esm2022/testgorilla-tgo-typing-test.mjs +0 -5
  94. package/fesm2022/testgorilla-tgo-typing-test.mjs +0 -4707
  95. package/fesm2022/testgorilla-tgo-typing-test.mjs.map +0 -1
  96. package/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.d.ts +0 -14
  97. package/lib/components/tgo-typing-test/tgo-typing-test.component.d.ts +0 -54
  98. package/lib/helpers/config.d.ts +0 -98
  99. package/lib/helpers/constants/default-config.d.ts +0 -3
  100. package/lib/helpers/controllers/input-controller.d.ts +0 -16
  101. package/lib/helpers/controllers/quotes-controller.d.ts +0 -20
  102. package/lib/helpers/observables/config-event.d.ts +0 -5
  103. package/lib/helpers/observables/timer-event.d.ts +0 -4
  104. package/lib/helpers/states/active-page.d.ts +0 -2
  105. package/lib/helpers/states/composition.d.ts +0 -10
  106. package/lib/helpers/states/page-transition.d.ts +0 -2
  107. package/lib/helpers/states/slow-timer.d.ts +0 -3
  108. package/lib/helpers/states/test-active.d.ts +0 -2
  109. package/lib/helpers/states/time.d.ts +0 -3
  110. package/lib/helpers/test/caps-warning.d.ts +0 -5
  111. package/lib/helpers/test/caret.d.ts +0 -11
  112. package/lib/helpers/test/custom-text.d.ts +0 -16
  113. package/lib/helpers/test/english-punctuation.d.ts +0 -3
  114. package/lib/helpers/test/focus.d.ts +0 -7
  115. package/lib/helpers/test/manual-restart-tracker.d.ts +0 -3
  116. package/lib/helpers/test/out-of-focus.d.ts +0 -4
  117. package/lib/helpers/test/replay.d.ts +0 -20
  118. package/lib/helpers/test/test-input.d.ts +0 -86
  119. package/lib/helpers/test/test-logic.d.ts +0 -25
  120. package/lib/helpers/test/test-state.d.ts +0 -7
  121. package/lib/helpers/test/test-stats.d.ts +0 -92
  122. package/lib/helpers/test/test-timer.d.ts +0 -6
  123. package/lib/helpers/test/test-ui.d.ts +0 -27
  124. package/lib/helpers/test/test-words.d.ts +0 -23
  125. package/lib/helpers/test/timer-progress.d.ts +0 -3
  126. package/lib/helpers/test/weak-spot.d.ts +0 -3
  127. package/lib/helpers/test/wordset.d.ts +0 -7
  128. package/lib/utils/misc.d.ts +0 -81
  129. /package/{assets → src/assets}/typing-test-languages/english.json +0 -0
  130. /package/{assets → src/assets}/typing-test-languages/english_punctuation.json +0 -0
  131. /package/{assets → src/assets}/typing-test-languages/quotes/english_version_1.json +0 -0
  132. /package/{assets → src/assets}/typing-test-languages/quotes/english_version_2.json +0 -0
  133. /package/{assets → src/assets}/typing-test-languages/quotes/filtered_sources.json +0 -0
  134. /package/{index.d.ts → src/index.ts} +0 -0
@@ -1,14 +0,0 @@
1
- import { AfterViewInit, ElementRef, OnInit } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TgoTypingReplayInputComponent implements OnInit, AfterViewInit {
4
- replayExport: any;
5
- funbox: string;
6
- replayExportData: any;
7
- toggleButton: ElementRef;
8
- replayStopwatch: ElementRef;
9
- ngOnInit(): void;
10
- ngAfterViewInit(): void;
11
- playpauseReplayButtonClick(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TgoTypingReplayInputComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<TgoTypingReplayInputComponent, "tgo-typing-replay-input", never, { "replayExport": { "alias": "replayExport"; "required": false; }; "funbox": { "alias": "funbox"; "required": false; }; }, {}, never, never, true, never>;
14
- }
@@ -1,54 +0,0 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
- import { BehaviorSubject, Observable, Subscription } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class TgoTypingTestComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
5
- showCaps$: BehaviorSubject<boolean>;
6
- showCaret$: BehaviorSubject<boolean>;
7
- caretAnimation$: BehaviorSubject<string>;
8
- showTimer$: BehaviorSubject<boolean>;
9
- timeLeft$: BehaviorSubject<string>;
10
- caretLeft: number;
11
- caretTop: number;
12
- state: string;
13
- outOfFocusShow$: BehaviorSubject<boolean>;
14
- subscriptions: Subscription[];
15
- replayIntervalID: any;
16
- resultEvent: EventEmitter<any>;
17
- replayExport: EventEmitter<any>;
18
- errorEvent: EventEmitter<string>;
19
- time: number;
20
- punctuation: boolean;
21
- numbers: boolean;
22
- funbox: string;
23
- customTGQuotes: boolean;
24
- showMiniTimerAndLiveWpm: boolean;
25
- restartTest: boolean;
26
- testVersion: number;
27
- testExpiration$?: Observable<void>;
28
- constructor();
29
- wordsInput: ElementRef;
30
- wordsWrapper: ElementRef;
31
- words: ElementRef;
32
- middle: ElementRef;
33
- capsWarning: ElementRef;
34
- ngOnInit(): void;
35
- ngOnChanges(changes: SimpleChanges): void;
36
- wordsInputKeyup(event: any): void;
37
- wordsInputBeforeinput(event: any): void;
38
- wordsInputInput(event: any): void;
39
- wordsInputFocus(event: any): void;
40
- wordsInputFocusOut(): void;
41
- wordsInputCopy(event: any): void;
42
- wordsInputPaste(event: any): void;
43
- wordsInputCompositionstart(): void;
44
- wordsInputCompositionend(): void;
45
- wordsWrapperClick(): void;
46
- ngAfterViewInit(): void;
47
- restart(): void;
48
- handleKeyboardDown(event: KeyboardEvent): void;
49
- handleKeyboardUp(event: KeyboardEvent): void;
50
- handleMouseMove(event: MouseEvent): void;
51
- ngOnDestroy(): void;
52
- static ɵfac: i0.ɵɵFactoryDeclaration<TgoTypingTestComponent, never>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<TgoTypingTestComponent, "tgo-typing-test", never, { "time": { "alias": "time"; "required": false; }; "punctuation": { "alias": "punctuation"; "required": false; }; "numbers": { "alias": "numbers"; "required": false; }; "funbox": { "alias": "funbox"; "required": false; }; "customTGQuotes": { "alias": "customTGQuotes"; "required": false; }; "showMiniTimerAndLiveWpm": { "alias": "showMiniTimerAndLiveWpm"; "required": false; }; "restartTest": { "alias": "restartTest"; "required": false; }; "testVersion": { "alias": "testVersion"; "required": false; }; "testExpiration$": { "alias": "testExpiration$"; "required": false; }; }, { "resultEvent": "resultEvent"; "replayExport": "replayExport"; "errorEvent": "errorEvent"; }, never, never, true, never>;
54
- }
@@ -1,98 +0,0 @@
1
- declare const config: {
2
- theme: string;
3
- themeLight: string;
4
- themeDark: string;
5
- autoSwitchTheme: boolean;
6
- customTheme: boolean;
7
- customThemeColors: string[];
8
- favThemes: string[];
9
- showKeyTips: boolean;
10
- showLiveWpm: boolean;
11
- showTimerProgress: boolean;
12
- smoothCaret: boolean;
13
- quickRestart: "off" | "esc" | "tab";
14
- punctuation: boolean;
15
- numbers: boolean;
16
- words: number;
17
- time: number;
18
- mode: import("../types/types").MonkeyTypes.Mode;
19
- quoteLength: import("../types/types").MonkeyTypes.QuoteLength[];
20
- language: string;
21
- fontSize: import("../types/types").MonkeyTypes.FontSize;
22
- freedomMode: boolean;
23
- resultFilters?: import("../types/types").MonkeyTypes.ResultFilters;
24
- difficulty: import("../types/types").MonkeyTypes.Difficulty;
25
- blindMode: boolean;
26
- quickEnd: boolean;
27
- caretStyle: import("../types/types").MonkeyTypes.CaretStyle;
28
- paceCaretStyle: import("../types/types").MonkeyTypes.CaretStyle;
29
- flipTestColors: boolean;
30
- layout: string;
31
- funbox: string;
32
- confidenceMode: import("../types/types").MonkeyTypes.ConfidenceMode;
33
- indicateTypos: import("../types/types").MonkeyTypes.IndicateTypos;
34
- timerStyle: import("../types/types").MonkeyTypes.TimerStyle;
35
- colorfulMode: boolean;
36
- randomTheme: import("../types/types").MonkeyTypes.RandomTheme;
37
- timerColor: import("../types/types").MonkeyTypes.TimerColor;
38
- timerOpacity: import("../types/types").MonkeyTypes.TimerOpacity;
39
- stopOnError: import("../types/types").MonkeyTypes.StopOnError;
40
- showAllLines: boolean;
41
- keymapMode: import("../types/types").MonkeyTypes.KeymapMode;
42
- keymapStyle: import("../types/types").MonkeyTypes.KeymapStyle;
43
- keymapLegendStyle: import("../types/types").MonkeyTypes.KeymapLegendStyle;
44
- keymapLayout: string;
45
- keymapShowTopRow: import("../types/types").MonkeyTypes.KeymapShowTopRow;
46
- fontFamily: string;
47
- smoothLineScroll: boolean;
48
- alwaysShowDecimalPlaces: boolean;
49
- alwaysShowWordsHistory: boolean;
50
- singleListCommandLine: import("../types/types").MonkeyTypes.SingleListCommandLine;
51
- capsLockWarning: boolean;
52
- playSoundOnError: boolean;
53
- playSoundOnClick: import("../types/types").MonkeyTypes.PlaySoundOnClick;
54
- soundVolume: import("../types/types").MonkeyTypes.SoundVolume;
55
- startGraphsAtZero: boolean;
56
- showOutOfFocusWarning: boolean;
57
- paceCaret: import("../types/types").MonkeyTypes.PaceCaret;
58
- paceCaretCustomSpeed: number;
59
- repeatedPace: boolean;
60
- pageWidth: import("../types/types").MonkeyTypes.PageWidth;
61
- chartAccuracy: boolean;
62
- chartStyle: import("../types/types").MonkeyTypes.ChartStyle;
63
- minWpm: import("../types/types").MonkeyTypes.MinimumWordsPerMinute;
64
- minWpmCustomSpeed: number;
65
- highlightMode: import("../types/types").MonkeyTypes.HighlightMode;
66
- alwaysShowCPM: boolean;
67
- ads: import("../types/types").MonkeyTypes.Ads;
68
- hideExtraLetters: boolean;
69
- strictSpace: boolean;
70
- minAcc: import("../types/types").MonkeyTypes.MinimumAccuracy;
71
- minAccCustom: number;
72
- showLiveAcc: boolean;
73
- showLiveBurst: boolean;
74
- monkey: boolean;
75
- repeatQuotes: import("../types/types").MonkeyTypes.RepeatQuotes;
76
- oppositeShiftMode: import("../types/types").MonkeyTypes.OppositeShiftMode;
77
- customBackground: string;
78
- customBackgroundSize: import("../types/types").MonkeyTypes.CustomBackgroundSize;
79
- customBackgroundFilter: import("../types/types").MonkeyTypes.CustomBackgroundFilter;
80
- customLayoutfluid: `${string}#${string}#${string}`;
81
- monkeyPowerLevel: import("../types/types").MonkeyTypes.MonkeyPowerLevel;
82
- minBurst: import("../types/types").MonkeyTypes.MinimumBurst;
83
- minBurstCustomSpeed: number;
84
- burstHeatmap: boolean;
85
- britishEnglish: boolean;
86
- lazyMode: boolean;
87
- showAverage: import("../types/types").MonkeyTypes.ShowAverage;
88
- tapeMode: import("../types/types").MonkeyTypes.TapeMode;
89
- customTGQuotes: boolean;
90
- testVersion: number;
91
- };
92
- export declare function setNumbers(numb: boolean): void;
93
- export declare function setPunctuation(punc: boolean): void;
94
- export declare function setTime(time: number): void;
95
- export declare function setFunbox(funbox: string): void;
96
- export declare function setCustomTGQuotes(customTGQuotes: boolean): void;
97
- export declare function setTestVersionForSentences(testVersion: number): void;
98
- export default config;
@@ -1,3 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- declare const _default: MonkeyTypes.Config;
3
- export default _default;
@@ -1,16 +0,0 @@
1
- export declare function setWordsInputElement(wordsElement: HTMLInputElement): void;
2
- export declare function inputKeydown(event: any, wordsFocused: boolean): Promise<void>;
3
- export declare function wordsInputKeyup(event: any): void;
4
- export declare function wordsInputBeforeinput(event: any): void;
5
- export declare function wordsInputInput(event: any): void;
6
- export declare function wordsInputFocus(event: {
7
- target: HTMLInputElement;
8
- }): void;
9
- export declare function wordsInputCopy(event: {
10
- preventDefault: () => void;
11
- }): void;
12
- export declare function wordsInputPaste(event: {
13
- preventDefault: () => void;
14
- }): void;
15
- export declare function wordsInputCompositionstart(): void;
16
- export declare function wordsInputCompositionend(): void;
@@ -1,20 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- interface QuoteCollection {
3
- quotes: MonkeyTypes.Quote[];
4
- length: number;
5
- language: string | null;
6
- groups: MonkeyTypes.Quote[][];
7
- }
8
- declare class QuotesController {
9
- private quoteCollection;
10
- private quoteQueue;
11
- private queueIndex;
12
- getQuotes(language: string, testVersion: number, quoteLengths?: number[]): Promise<QuoteCollection>;
13
- getQuoteById(id: number): MonkeyTypes.Quote | undefined;
14
- updateQuoteQueue(quoteGroups: number[]): void;
15
- getRandomQuote(): MonkeyTypes.Quote | null;
16
- getCurrentQuote(): MonkeyTypes.Quote | null;
17
- resetQuotes(): void;
18
- }
19
- declare const quoteController: QuotesController;
20
- export default quoteController;
@@ -1,5 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- type SubscribeFunction = (key: string, newValue?: MonkeyTypes.ConfigValues, nosave?: boolean, previousValue?: MonkeyTypes.ConfigValues, fullConfig?: MonkeyTypes.Config) => void;
3
- export declare function subscribe(fn: SubscribeFunction): void;
4
- export declare function dispatch(key: string, newValue?: MonkeyTypes.ConfigValues, nosave?: boolean, previousValue?: MonkeyTypes.ConfigValues, fullConfig?: MonkeyTypes.Config): void;
5
- export {};
@@ -1,4 +0,0 @@
1
- type SubscribeFunction = (key: string, value?: string, value2?: string) => void;
2
- export declare function subscribe(fn: SubscribeFunction): void;
3
- export declare function dispatch(key: string, value?: string, value2?: string): void;
4
- export {};
@@ -1,2 +0,0 @@
1
- export declare function get(): string;
2
- export declare function set(active: string): void;
@@ -1,10 +0,0 @@
1
- interface CompositionState {
2
- composing: boolean;
3
- startPos: number;
4
- }
5
- export declare function get(): CompositionState;
6
- export declare function getComposing(): boolean;
7
- export declare function getStartPos(): number;
8
- export declare function setComposing(isComposing: boolean): void;
9
- export declare function setStartPos(pos: number): void;
10
- export {};
@@ -1,2 +0,0 @@
1
- export declare function set(val: boolean): void;
2
- export declare function get(): boolean;
@@ -1,3 +0,0 @@
1
- export declare function set(): void;
2
- export declare function clear(): void;
3
- export declare function get(): boolean;
@@ -1,2 +0,0 @@
1
- export declare function get(): boolean;
2
- export declare function set(active: boolean): void;
@@ -1,3 +0,0 @@
1
- export declare function get(): number;
2
- export declare function set(active: number): void;
3
- export declare function increment(): void;
@@ -1,5 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare let capsState: boolean;
3
- export declare const showCaps: BehaviorSubject<boolean>;
4
- export declare function capsKeydown(event: KeyboardEvent): void;
5
- export declare function capsKeyup(event: KeyboardEvent): void;
@@ -1,11 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare let caretAnimating: boolean;
3
- export declare const caretShow: BehaviorSubject<boolean>;
4
- export declare const caretAnimation: BehaviorSubject<string>;
5
- export declare const caretLeft: BehaviorSubject<number>;
6
- export declare const caretTop: BehaviorSubject<number>;
7
- export declare function stopAnimation(): void;
8
- export declare function startAnimation(): void;
9
- export declare function hide(): void;
10
- export declare function updatePosition(): Promise<void>;
11
- export declare function show(): void;
@@ -1,16 +0,0 @@
1
- export declare let text: string[];
2
- export declare let isWordRandom: boolean;
3
- export declare let isTimeRandom: boolean;
4
- export declare let word: number;
5
- export declare let time: number;
6
- export declare let delimiter: string;
7
- export declare function setText(txt: string[]): void;
8
- export declare function setIsWordRandom(val: boolean): void;
9
- export declare function setIsTimeRandom(val: boolean): void;
10
- export declare function setTime(val: number): void;
11
- export declare function setWord(val: number): void;
12
- export declare function setDelimiter(val: string): void;
13
- export declare function getCustomText(name: string): string[];
14
- export declare function setCustomText(name: string, text: string | string[]): void;
15
- export declare function deleteCustomText(name: string): void;
16
- export declare function getCustomTextNames(): string[];
@@ -1,3 +0,0 @@
1
- export declare function getList(): Promise<string[]>;
2
- export declare function check(word: string): Promise<boolean>;
3
- export declare function replace(word: string): Promise<string>;
@@ -1,7 +0,0 @@
1
- export declare function setMiddleElement(middleElem: HTMLElement): void;
2
- export declare function setCapsWarningElement(capsWarningElem: HTMLElement): void;
3
- export declare function set(foc: boolean, withCursor?: boolean): void;
4
- export declare function mousemove(event: {
5
- movementX: number;
6
- movementY: number;
7
- }): void;
@@ -1,3 +0,0 @@
1
- export declare function set(): void;
2
- export declare function reset(): void;
3
- export declare function get(): boolean;
@@ -1,4 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare const outOfFocusShow: BehaviorSubject<boolean>;
3
- export declare function hide(): void;
4
- export declare function show(): void;
@@ -1,20 +0,0 @@
1
- type ReplayAction = 'correctLetter' | 'incorrectLetter' | 'backWord' | 'submitCorrectWord' | 'submitErrorWord' | 'setLetterIndex';
2
- interface Replay {
3
- action: ReplayAction;
4
- value?: string | number;
5
- time: number;
6
- }
7
- declare function setToggleButton(toggleButtonElement: HTMLElement): void;
8
- declare function setReplayStopwatch(replayStopwatchElement: HTMLElement): void;
9
- declare function replayGetWordsList(wordsListFromScript: string[]): void;
10
- declare function initializeReplayPrompt(): void;
11
- export declare function pauseReplay(): void;
12
- declare function loadOldReplay(): number;
13
- declare function startReplayRecording(): void;
14
- declare function stopReplayRecording(): void;
15
- declare function addReplayEvent(action: ReplayAction, value?: number | string): void;
16
- declare function playReplay(): void;
17
- declare function getReplayExport(): string;
18
- declare function setReplayData(data: Replay[]): void;
19
- declare function playpauseReplayButtonClick(): void;
20
- export { addReplayEvent, getReplayExport, initializeReplayPrompt, loadOldReplay, playReplay, playpauseReplayButtonClick, replayGetWordsList, setReplayData, setReplayStopwatch, setToggleButton, startReplayRecording, stopReplayRecording, };
@@ -1,86 +0,0 @@
1
- interface Keypress {
2
- count: number;
3
- errors: number;
4
- words: number[];
5
- afk: boolean;
6
- }
7
- interface KeypressTimings {
8
- spacing: {
9
- current: number;
10
- array: number[] | 'toolong';
11
- };
12
- duration: {
13
- current: number;
14
- array: number[] | 'toolong';
15
- };
16
- }
17
- declare class Input {
18
- current: string;
19
- history: string[];
20
- historyLength: number;
21
- length: number;
22
- constructor();
23
- reset(): void;
24
- resetHistory(): void;
25
- setCurrent(val: string): void;
26
- appendCurrent(val: string): void;
27
- resetCurrent(): void;
28
- getCurrent(): string;
29
- pushHistory(): void;
30
- popHistory(): string;
31
- getHistory(i?: number): string | string[];
32
- getHistoryLast(): string | undefined;
33
- }
34
- declare class Corrected {
35
- current: string;
36
- history: string[];
37
- constructor();
38
- setCurrent(val: string): void;
39
- appendCurrent(val: string): void;
40
- resetCurrent(): void;
41
- resetHistory(): void;
42
- reset(): void;
43
- getHistory(i: number): string;
44
- popHistory(): string;
45
- pushHistory(): void;
46
- }
47
- export declare const input: Input;
48
- export declare const corrected: Corrected;
49
- export declare let keypressPerSecond: Keypress[];
50
- export declare let currentKeypress: Keypress;
51
- export declare let lastKeypress: number;
52
- export declare let currentBurstStart: number;
53
- export declare let missedWords: {
54
- [word: string]: number;
55
- };
56
- export declare let accuracy: {
57
- correct: number;
58
- incorrect: number;
59
- };
60
- export declare let keypressTimings: KeypressTimings;
61
- export declare let wpmHistory: number[];
62
- export declare let rawHistory: number[];
63
- export declare let burstHistory: number[];
64
- export declare let bailout: boolean;
65
- export declare function setBailout(tf: boolean): void;
66
- export declare let spacingDebug: boolean;
67
- export declare function enableSpacingDebug(): void;
68
- export declare function updateLastKeypress(): void;
69
- export declare function incrementKeypressCount(): void;
70
- export declare function setKeypressNotAfk(): void;
71
- export declare function incrementKeypressErrors(): void;
72
- export declare function pushKeypressWord(wordIndex: number): void;
73
- export declare function setBurstStart(time: number): void;
74
- export declare function pushKeypressesToHistory(): void;
75
- export declare function incrementAccuracy(correctincorrect: boolean): void;
76
- export declare function setKeypressTimingsTooLong(): void;
77
- export declare function pushKeypressDuration(val: number): void;
78
- export declare function setKeypressDuration(val: number): void;
79
- export declare function recordKeypressSpacing(): void;
80
- export declare function resetKeypressTimings(): void;
81
- export declare function pushMissedWord(word: string): void;
82
- export declare function pushToWpmHistory(wpm: number): void;
83
- export declare function pushToRawHistory(raw: number): void;
84
- export declare function pushBurstToHistory(speed: number): void;
85
- export declare function restart(): void;
86
- export {};
@@ -1,25 +0,0 @@
1
- import { BehaviorSubject, Subject } from 'rxjs';
2
- import { MonkeyTypes } from '../../types/types';
3
- export declare const startTestSubject: BehaviorSubject<boolean>;
4
- export declare const resultSub: Subject<any>;
5
- export declare let notSignedInLastResult: MonkeyTypes.Result<MonkeyTypes.Mode> | null;
6
- export declare function setWordsInputElementTestLogic(wordsElement: HTMLInputElement): void;
7
- export declare function clearNotSignedInResult(): void;
8
- export declare function punctuateWord(previousWord: string, currentWord: string, index: number, maxindex: number): Promise<string>;
9
- export declare function startTest(): boolean;
10
- interface RestartOptions {
11
- withSameWordset?: boolean;
12
- nosave?: boolean;
13
- event?: {
14
- shiftKey: any;
15
- };
16
- practiseMissed?: boolean;
17
- noAnim?: boolean;
18
- }
19
- export declare function restart(options?: RestartOptions): void;
20
- export declare function init(): Promise<void>;
21
- export declare function addWord(): Promise<void>;
22
- export declare function stopTest(): void;
23
- export declare function finish(difficultyFailed?: boolean): Promise<void>;
24
- export declare function fail(reason: string): void;
25
- export {};
@@ -1,7 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- export declare let isRepeated: boolean;
3
- export declare let isPaceRepeat: boolean;
4
- export declare let activeChallenge: null | MonkeyTypes.Challenge;
5
- export declare function setRepeated(tf: boolean): void;
6
- export declare function setPaceRepeat(tf: boolean): void;
7
- export declare function setActiveChallenge(val: null | MonkeyTypes.Challenge): void;
@@ -1,92 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- interface Keypress {
3
- count: number;
4
- errors: number;
5
- words: number[];
6
- afk: boolean;
7
- }
8
- interface KeypressTimings {
9
- spacing: {
10
- current: number;
11
- array: number[] | 'toolong';
12
- };
13
- duration: {
14
- current: number;
15
- array: number[] | 'toolong';
16
- };
17
- }
18
- interface DebugStats {
19
- lastResult?: MonkeyTypes.Result<MonkeyTypes.Mode>;
20
- start: number;
21
- end: number;
22
- wpmHistory: number[];
23
- rawHistory: number[];
24
- burstHistory: number[];
25
- keypressPerSecond: Keypress[];
26
- currentKeypress: {
27
- count: number;
28
- errors: number;
29
- words: number[];
30
- afk: boolean;
31
- };
32
- lastKeypress: number;
33
- currentBurstStart: number;
34
- lastSecondNotRound: boolean;
35
- missedWords: {
36
- [word: string]: number;
37
- };
38
- accuracy: {
39
- correct: number;
40
- incorrect: number;
41
- };
42
- keypressTimings: KeypressTimings;
43
- keySpacingStats?: {
44
- average: number;
45
- sd: number;
46
- };
47
- keyDurationStats?: {
48
- average: number;
49
- sd: number;
50
- };
51
- }
52
- interface Stats {
53
- wpm: number;
54
- wpmRaw: number;
55
- acc: number;
56
- correctChars: number;
57
- incorrectChars: number;
58
- missedChars: number;
59
- extraChars: number;
60
- allChars: number;
61
- time: number;
62
- spaces: number;
63
- correctSpaces: number;
64
- }
65
- export declare let invalid: boolean;
66
- export declare let start: number, end: number;
67
- export declare let start2: number, end2: number;
68
- export declare let lastSecondNotRound: boolean;
69
- export declare let lastTestWpm: number;
70
- export declare function setLastTestWpm(wpm: number): void;
71
- export declare let lastResult: MonkeyTypes.Result<MonkeyTypes.Mode>;
72
- export declare function setLastResult(result: MonkeyTypes.Result<MonkeyTypes.Mode>): void;
73
- export declare function wpmCalculationDebug(): void;
74
- export declare function getStats(): DebugStats;
75
- export declare function restart(): void;
76
- export declare let restartCount: number;
77
- export declare let incompleteSeconds: number;
78
- export declare function incrementRestartCount(): void;
79
- export declare function incrementIncompleteSeconds(val: number): void;
80
- export declare function resetIncomplete(): void;
81
- export declare function setInvalid(): void;
82
- export declare function calculateTestSeconds(now?: number): number;
83
- export declare function calculateWpmAndRaw(): MonkeyTypes.WordsPerMinuteAndRaw;
84
- export declare function setEnd(e: number): void;
85
- export declare function setStart(s: number): void;
86
- export declare function calculateAfkSeconds(testSeconds: number): number;
87
- export declare function setLastSecondNotRound(): void;
88
- export declare function calculateBurst(): number;
89
- export declare function calculateAccuracy(): number;
90
- export declare function removeAfkData(): void;
91
- export declare function calculateStats(): Stats;
92
- export {};
@@ -1,6 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- export declare function enableTimerDebug(): void;
3
- export declare function disableCheckIfTimeIsUp(): void;
4
- export declare function clear(): void;
5
- export declare function getTimerStats(): MonkeyTypes.TimerStats[];
6
- export declare function start(): Promise<void>;
@@ -1,27 +0,0 @@
1
- export declare let currentWordElementIndex: number;
2
- export declare let resultVisible: boolean;
3
- export declare let activeWordTop: number;
4
- export declare let testRestarting: boolean;
5
- export declare let testRestartingPromise: Promise<unknown>;
6
- export declare const lineTransition = false;
7
- export declare let currentTestLine: number;
8
- export declare let resultCalculating: boolean;
9
- export declare function setWordsWrapperElement(wordsWrapperElem: HTMLElement): void;
10
- export declare function setWordsInputElementTestUI(wordsElement: HTMLInputElement): void;
11
- export declare function setWordsElement(wordsElem: HTMLElement): void;
12
- export declare function setResultVisible(val: boolean): void;
13
- export declare function setCurrentWordElementIndex(val: number): void;
14
- export declare function setActiveWordTop(val: number): void;
15
- export declare function setTestRestarting(val: boolean): void;
16
- export declare function setResultCalculating(val: boolean): void;
17
- export declare function reset(): void;
18
- export declare function focusWords(): void;
19
- export declare function updateActiveElement(backspace?: boolean): void;
20
- export declare function showWords(): void;
21
- export declare function addWord(word: string): void;
22
- export declare function updateWordElement(showError?: boolean): void;
23
- export declare function lineJump(currentTop: number): void;
24
- export declare function highlightBadWord(index: number, showError: boolean): void;
25
- export declare function wordsInputFocusTestUI(): void;
26
- export declare function wordsInputFocusOut(): void;
27
- export declare function wordsWrapperClick(): void;
@@ -1,23 +0,0 @@
1
- import { MonkeyTypes } from '../../types/types';
2
- declare class Words {
3
- list: string[];
4
- length: number;
5
- currentIndex: number;
6
- constructor();
7
- get(i?: undefined, raw?: boolean): string[];
8
- get(i: number, raw?: boolean): string;
9
- getCurrent(): string;
10
- getLast(): string;
11
- push(word: string): void;
12
- reset(): void;
13
- resetCurrentIndex(): void;
14
- decreaseCurrentIndex(): void;
15
- increaseCurrentIndex(): void;
16
- clean(): void;
17
- }
18
- export declare const words: Words;
19
- export declare let hasTab: boolean;
20
- export declare let randomQuote: MonkeyTypes.Quote;
21
- export declare function setRandomQuote(rq: MonkeyTypes.Quote): void;
22
- export declare function setHasTab(tf: boolean): void;
23
- export {};
@@ -1,3 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare const timeLeft: BehaviorSubject<string>;
3
- export declare function update(): void;
@@ -1,3 +0,0 @@
1
- import { Wordset } from './wordset';
2
- export declare function updateScore(char: string, isCorrect: boolean): void;
3
- export declare function getWord(wordset: Wordset): string;
@@ -1,7 +0,0 @@
1
- export declare class Wordset {
2
- words: string[];
3
- length: number;
4
- constructor(words: string[]);
5
- randomWord(): string;
6
- }
7
- export declare function withWords(words: string[], funbox: string): Wordset;