Skip to content

refactor: reduce conversion from immutablejs to plain js objects#10682

Merged
robert-hebel-sb merged 4 commits intoswagger-api:masterfrom
dldl-cmd:reduce_conversions_from_immutablejs_to_plain_javascript_objects
Feb 20, 2026
Merged

refactor: reduce conversion from immutablejs to plain js objects#10682
robert-hebel-sb merged 4 commits intoswagger-api:masterfrom
dldl-cmd:reduce_conversions_from_immutablejs_to_plain_javascript_objects

Conversation

@dldl-cmd
Copy link
Copy Markdown
Contributor

Description

  • remove conversions of operation properties which aren't used from immutablejs to plain javascript
  • use cache for schemas

Motivation and Context

Fixes: #10681 by removing unnecessary conversions from immutablejs objects to plain javascript objects

How Has This Been Tested?

Opening after the fix an previously opened operation happens now faster. A performance profile shows that no significant time is spent in calls to toJS.

performanceProfileWithFixes

Checklist

My PR contains...

  • No code changes (src/ is unmodified: changes to documentation, CI, metadata, etc.)
  • Dependency changes (any modification to dependencies in package.json)
  • Bug fixes (non-breaking change which fixes an issue)
  • Improvements (misc. changes to existing features)
  • Features (non-breaking change which adds functionality)

My changes...

  • are breaking changes to a public API (config options, System API, major UI change, etc).
  • are breaking changes to a private API (Redux, component props, utility functions, etc.).
  • are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc).
  • are not breaking changes.

Documentation

  • My changes do not require a change to the project documentation.
  • My changes require a change to the project documentation.
  • If yes to above: I have updated the documentation accordingly.

Automated tests

  • My changes can not or do not need to be tested.
  • My changes can and should be tested by unit and/or integration tests.
  • If yes to above: I have added tests to cover my changes.
  • If yes to above: I have taken care to cover edge cases in my tests.
  • All new and existing tests passed.

@robert-hebel-sb
Copy link
Copy Markdown
Contributor

hello there @dldl-cmd 👋
Thanks for the investigation & fix leading to the perf improvement 🙏

merging & closing the issue

@robert-hebel-sb robert-hebel-sb merged commit ae79054 into swagger-api:master Feb 20, 2026
9 checks passed
swagger-bot pushed a commit that referenced this pull request Feb 20, 2026
## [5.31.2](v5.31.1...v5.31.2) (2026-02-20)

### Bug Fixes

* **core:** remove mistakenly put condition ([#10212](#10212)) ([#10730](#10730)) ([62525f9](62525f9))
* **deps:** update swagger-client to v3.36.2 to resolve peer dep issue ([#10734](#10734)) ([707010a](707010a))

### Performance Improvements

* reduce conversion from immutablejs to plain js objects ([#10682](#10682)) ([ae79054](ae79054))
@swagger-bot
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.31.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

delendik-testops pushed a commit to ModiusOpenData/swagger-ui that referenced this pull request Mar 3, 2026
delendik-testops pushed a commit to ModiusOpenData/swagger-ui that referenced this pull request Mar 3, 2026
## [5.31.2](swagger-api/swagger-ui@v5.31.1...v5.31.2) (2026-02-20)

### Bug Fixes

* **core:** remove mistakenly put condition ([swagger-api#10212](swagger-api#10212)) ([swagger-api#10730](swagger-api#10730)) ([62525f9](swagger-api@62525f9))
* **deps:** update swagger-client to v3.36.2 to resolve peer dep issue ([swagger-api#10734](swagger-api#10734)) ([707010a](swagger-api@707010a))

### Performance Improvements

* reduce conversion from immutablejs to plain js objects ([swagger-api#10682](swagger-api#10682)) ([ae79054](swagger-api@ae79054))
davidanrod pushed a commit to davidanrod/swagger-ui that referenced this pull request Apr 9, 2026
davidanrod pushed a commit to davidanrod/swagger-ui that referenced this pull request Apr 9, 2026
## [5.31.2](swagger-api/swagger-ui@v5.31.1...v5.31.2) (2026-02-20)

### Bug Fixes

* **core:** remove mistakenly put condition ([swagger-api#10212](swagger-api#10212)) ([swagger-api#10730](swagger-api#10730)) ([62525f9](swagger-api@62525f9))
* **deps:** update swagger-client to v3.36.2 to resolve peer dep issue ([swagger-api#10734](swagger-api#10734)) ([707010a](swagger-api@707010a))

### Performance Improvements

* reduce conversion from immutablejs to plain js objects ([swagger-api#10682](swagger-api#10682)) ([ae79054](swagger-api@ae79054))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Performance issues with large request body schema

4 participants