Skip to content
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

feat(ls): provide OpenAPI 3.1.0 completion rules for Responses object #2196

Merged
merged 4 commits into from
Oct 28, 2022

Conversation

tim-lai
Copy link
Contributor

@tim-lai tim-lai commented Oct 26, 2022

Description

  • provide OpenAPI 3.1.0 completion rules for Responses object

Motivation and Context

Ref: #2062
Ref: #2061 (no update required)

How Has This Been Tested?

Screenshots (if appropriate):

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.

@tim-lai
Copy link
Contributor Author

tim-lai commented Oct 26, 2022

@char0n I pretty matched the OAS3.0.x version, however, how to best test the response codes? Even without this PR, I'm not getting a suggestion for auto complete in OAS3.0.x definition for '20...' (string) or 20... (number). With partial http code and without closing :, I do get the error that responses should contain an object.

@tim-lai tim-lai requested a review from char0n October 26, 2022 23:00
Copy link
Member

@char0n char0n left a comment

Choose a reason for hiding this comment

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

I've suggested change that will make the things work for you again.

@tim-lai
Copy link
Contributor Author

tim-lai commented Oct 27, 2022

I've suggested change that will make the things work for you again.

Changes made. I see completion working when under paths/path-item/operation/responses, but not components/responses.

@char0n
Copy link
Member

char0n commented Oct 28, 2022

I've suggested change that will make the things work for you again.

Changes made. I see completion working when under paths/path-item/operation/responses, but not components/responses.

Here is the type of Operation Object.responses field

image

Here is the type of Components Object.responses field

image

Notice the difference. To say it simply - the Components Object.responses field if of type of generic map/object instead of Responses Object. So what you're seeing is correct and this PR can be merged.

@char0n char0n self-assigned this Oct 28, 2022
@char0n char0n added OpenAPI 3.1 ApiDOM enhancement New feature or request labels Oct 28, 2022
Copy link
Member

@char0n char0n left a comment

Choose a reason for hiding this comment

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

This is now LEGIT.

@char0n char0n merged commit 8602f74 into main Oct 28, 2022
@char0n char0n deleted the feat/oas31-completion-responses branch October 28, 2022 08:58
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.

2 participants