-
-
Notifications
You must be signed in to change notification settings - Fork 132
refactor(web): differentiate search-space module types 🚂 #15413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: refactor/web/use-interface-as-search-parent
Are you sure you want to change the base?
refactor(web): differentiate search-space module types 🚂 #15413
Conversation
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
28ded16 to
3a56e23
Compare
This PR converts SearchQuotientSpur into an abstract base class with specialized forms for different cases. Two implementations are provided: - SearchQuotientRoot - for the root node of the search - LegacyQuotientSpur - for modeling existing behavior before swapping to our target design and model Build-bot: skip build:web Test-bot: skip
8f505b3 to
348e876
Compare
…tor/web/differentiate-module-types
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/legacy-quotient-spur.ts
Outdated
Show resolved
Hide resolved
web/src/engine/predictive-text/worker-thread/src/main/correction/search-quotient-root.ts
Outdated
Show resolved
Hide resolved
| @@ -0,0 +1,61 @@ | |||
| import { PriorityQueue } from '@keymanapp/web-utils'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing prolog comment
| @@ -0,0 +1,92 @@ | |||
|
|
|||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing header comment
| // Shallow-copies the array to prevent external modification; the Transforms | ||
| // are marked Readonly to prevent their modification as well. | ||
| return [...this.inputs]; | ||
| return this.inputs ?? []; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This no longer matches the comment
This PR converts SearchQuotientSpur into an abstract base class with specialized forms for different cases. Three implementations are provided:
SearchQuotientSpurcannot directly use the constructor of any of its subtypes without a runtime JS error occurring.SearchQuotientSpur... which also does give us clearer typing and behavior for it.In the future, the plan is to retire
LegacyQuotientSpurin favor of three new variants:InsertionQuotientSpurDeletionQuotientSpurSubstitutionQuotientSpurThe search graph can then be dynamically built and managed in accordance with our target design as documented at #15161.
Build-bot: skip build:web
Test-bot: skip