Skip to content

Conversation

@mkrauser
Copy link
Contributor

@mkrauser mkrauser commented Jul 28, 2023

Closes #145

Proposed Changes

  • add a TypeHint to Point->addTag(). PHP will auto-convert scalars and stringable values. Null-Values are handled like before
  • auto-convert scalars, objects with __toString() and stringable objects
  • if the value cannot be converted, throw an exception

Checklist

  • CHANGELOG.md updated
  • Rebased/mergeable
  • A test has been added if appropriate
  • make test completes successfully
  • Commit messages are conventional
  • Sign CLA (if not already signed)
@mkrauser mkrauser force-pushed the issue-145-convert-tags-to-strings branch 3 times, most recently from 2252cff to 872fd1f Compare July 28, 2023 22:49
Copy link
Contributor

@bednar bednar left a comment

Choose a reason for hiding this comment

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

@mkrauser thanks for your PR 👍

There are a few requirements that must be satisfied before we accept the PR:

Comment on lines 173 to 175
throw new \InvalidArgumentException(
sprintf('Tag value for key %s cannot be converted to string', $key)
);
Copy link
Contributor

Choose a reason for hiding this comment

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

Please, change the exception to a warning. This is a breaking change that could cause problems for other users.

Copy link

Choose a reason for hiding this comment

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

I would also suggest adding a unit test that verifies the exception is actually thrown. Because looking at the code, the parameter type hint should prevent the entire if-statement from ever executing.

Copy link
Contributor Author

@mkrauser mkrauser Jan 5, 2024

Choose a reason for hiding this comment

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

Please, change the exception to a warning. This is a breaking change that could cause problems for other users.

@bednar done

I would also suggest adding a unit test that verifies the exception is actually thrown. Because looking at the code, the parameter type hint should prevent the entire if-statement from ever executing.

If only addTag is used to add tags, then you are right. But it is also possible to pass them in the constructor. I've added unit tests for this.
Another suggestion would be to add array typehints in the constructor, but I want to keep it small for now.

@mkrauser mkrauser force-pushed the issue-145-convert-tags-to-strings branch 7 times, most recently from 4d93aef to 9930820 Compare January 5, 2024 11:58
BREAKING CHANGE: addTags only accepts null and strings as $value. And warning is triggered when a non-string value cannot be converted to string Refs: influxdata#145
@mkrauser mkrauser force-pushed the issue-145-convert-tags-to-strings branch from 9930820 to 08dbc14 Compare January 5, 2024 12:05
@codecov-commenter
Copy link

codecov-commenter commented Jan 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (22f5d55) 74.86% compared to head (08dbc14) 75.00%.

❗ Current head 08dbc14 differs from pull request most recent head 2eb05eb. Consider uploading reports for the commit 2eb05eb to get more accurate results

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@ Coverage Diff @@ ## master #146 +/- ## ============================================ + Coverage 74.86% 75.00% +0.13%  - Complexity 424 432 +8  ============================================ Files 25 25 Lines 1094 1100 +6 ============================================ + Hits 819 825 +6  Misses 275 275 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@bednar bednar left a comment

Choose a reason for hiding this comment

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

Thank you for your PR! 👍 Before we can proceed with accepting it, there are a few requirements that need to be met:

mkrauser and others added 2 commits January 8, 2024 21:39
Co-authored-by: Jakub Bednář <jakub.bednar@gmail.com>
Co-authored-by: Jakub Bednář <jakub.bednar@gmail.com>
Copy link
Contributor

@bednar bednar left a comment

Choose a reason for hiding this comment

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

@mkrauser thanks again for your PR 👍

LGTM 🚀

@bednar bednar changed the title #145 try to convert non-string-tags to strings feat: #145 try to convert non-string-tags to strings Jan 10, 2024
@bednar bednar merged commit bac7914 into influxdata:master Jan 10, 2024
@bednar bednar added this to the 3.5.0 milestone Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants