-
Notifications
You must be signed in to change notification settings - Fork 156
chore(maintenance): avoid attaching two middlewares to ua #1583
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
Merged
dreamorosi
merged 1 commit into
aws-powertools:main
from
am29d:1578-avoid-attaching-two-middlewares-to-ua
Jul 5, 2023
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
not sure I like ignoring things in the type system
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.
Acknowledged and agree.
In this instance we decided to use an
any
as a type for theclient
because we didn't want to bring in the@aws-sdk/types
package into the utility. This code resides in thecommons
utility, which is pulled in by all the other Powertools utilities.Given that there's all the core utilities don't use any AWS SDK, using the
@aws-sdk/types
in this module would require customers to install it as a developer dependency when they develop or build their code using Powertools.This is a problem because when building with TypeScript, the type-checking engine will block the compilation is the dependency is missing.
To avoid this, we decided to go for an
any
type (which is discouraged in our codebase - hence the@ts-ignore
) and also put unit tests.We have considered writing our own minimal
Client
type, and the option is still in the cards, but have decided to not include it for now given the limited scope of the feature (i.e. getting a client from a 3rd party library and calling a method on it) and the fact that we implemented the function in a way that even if you pass a random object (aka not a client) it won't throw an error but just log a warning.I am still strongly inclined to review this type as soon as we have bandwidth and remove the ignore.
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.
I think my preference would be to write our own types def.