Skip to content

Core: replace Class.abstract() with abstract methods and drop the instanceof Class check in toComparable - #35528

Merged
EugeniyKiyashko merged 3 commits into
DevExpress:mainfrom
EugeniyKiyashko:typescript/core/class_abstract_5279
Oct 7, 2026
Merged

EugeniyKiyashko merged 3 commits into
DevExpress:mainfrom
EugeniyKiyashko:typescript/core/class_abstract_5279

Conversation

@EugeniyKiyashko

Copy link
Copy Markdown
Contributor

No description provided.

@EugeniyKiyashko
EugeniyKiyashko requested a review from a team as a code owner October 7, 2026 08:42
Copilot AI balanced review requested due to automatic review settings October 7, 2026 08:42
@EugeniyKiyashko EugeniyKiyashko self-assigned this Oct 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The public comparison behavior change needs explicit regression coverage.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
What changed in this PR

Replaces runtime abstract stubs with TypeScript abstract methods and removes legacy Class handling from comparison normalization.

Changes:

  • Converts base UI classes to abstract classes and methods.
  • Preserves the map provider’s runtime E0001 behavior for updateDisabled.
  • Restricts toComparable unwrapping to Guid.
File Description
animator.ts Makes _step abstract.
provider.ts Makes provider operations abstract.
provider.dynamic.ts Makes dynamic-provider hooks abstract.
form.item_option_action.ts Makes item-option actions abstract.
collection_widget.edit.strategy.ts Makes edit-strategy operations abstract.
m_data.ts Removes legacy Class normalization.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/devextreme/js/__internal/core/utils/m_data.ts
Copilot AI balanced review requested due to automatic review settings October 7, 2026 09:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The abstract contracts are fully implemented by concrete subclasses, and the behavioral changes have focused regression coverage.

Review effort: Balanced
Findings: None

Resolved since last review (1)

@EugeniyKiyashko
EugeniyKiyashko added this pull request to the merge queue Oct 7, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 7, 2026
@EugeniyKiyashko
EugeniyKiyashko added this pull request to the merge queue Oct 7, 2026
Merged via the queue into DevExpress:main with commit f877ed1 Oct 7, 2026
149 checks passed
@EugeniyKiyashko
EugeniyKiyashko deleted the typescript/core/class_abstract_5279 branch October 7, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants