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

Improve handling of non-string default values #436

Merged
merged 4 commits into from
Feb 16, 2023
Merged

Conversation

sserrata
Copy link
Member

@sserrata sserrata commented Feb 15, 2023

Description

Addresses #432

Adds utility for converting/casting various data types to String:

  • undefined or null will return undefined
  • Array will be joined to a formatted string
  • Everything else will be converted to String

Tested with DNS Security spec to ensure no regression bugs

@sserrata sserrata added the bug Something isn't working label Feb 15, 2023
@github-actions
Copy link

github-actions bot commented Feb 15, 2023

Size Change: +123 B (0%)

Total Size: 6.2 MB

Filename Size Change
demo/build/assets/js/common.********.js 388 kB +123 B (0%)
ℹ️ View Unchanged
Filename Size
demo/.docusaurus/globalData.json 19.1 kB
demo/build/assets/css/styles.********.css 110 kB
demo/build/assets/js/006e727e.********.js 14 kB
demo/build/assets/js/05f64ae1.********.js 2.81 kB
demo/build/assets/js/06b64fc1.********.js 575 B
demo/build/assets/js/06e5f0f0.********.js 27.3 kB
demo/build/assets/js/081bfb0d.********.js 10.1 kB
demo/build/assets/js/09e07b87.********.js 2.97 kB
demo/build/assets/js/0d832478.********.js 27.5 kB
demo/build/assets/js/12693653.********.js 27 kB
demo/build/assets/js/14eb3368.********.js 9.26 kB
demo/build/assets/js/1639936b.********.js 7.88 kB
demo/build/assets/js/16577668.********.js 387 B
demo/build/assets/js/177e86db.********.js 10.9 kB
demo/build/assets/js/19d75775.********.js 8.88 kB
demo/build/assets/js/1a4e3797.********.js 77.6 kB
demo/build/assets/js/1a8cc2a6.********.js 12.1 kB
demo/build/assets/js/1be78505.********.js 10.6 kB
demo/build/assets/js/1c54f54e.********.js 10.9 kB
demo/build/assets/js/1e6c5cae.********.js 36.7 kB
demo/build/assets/js/1e6ff21d.********.js 11 kB
demo/build/assets/js/1f818248.********.js 12.2 kB
demo/build/assets/js/2bb7a9e5.********.js 20.4 kB
demo/build/assets/js/2c860537.********.js 7.33 kB
demo/build/assets/js/3136173c.********.js 361 B
demo/build/assets/js/326c3861.********.js 13.7 kB
demo/build/assets/js/3720c009.********.js 1.44 kB
demo/build/assets/js/3893.********.js 1.07 kB
demo/build/assets/js/3946f914.********.js 36.2 kB
demo/build/assets/js/39d00f16.********.js 13.7 kB
demo/build/assets/js/3e0d14e9.********.js 24.9 kB
demo/build/assets/js/40a238b6.********.js 27 kB
demo/build/assets/js/41cd56a1.********.js 10.4 kB
demo/build/assets/js/423cd203.********.js 13.9 kB
demo/build/assets/js/4261.********.js 463 B
demo/build/assets/js/466ac800.********.js 45.6 kB
demo/build/assets/js/4670.********.js 104 B
demo/build/assets/js/46afcded.********.js 8.21 kB
demo/build/assets/js/46e5c6ac.********.js 6.86 kB
demo/build/assets/js/47abaca6.********.js 2.88 kB
demo/build/assets/js/4935.********.js 1.05 kB
demo/build/assets/js/4964e910.********.js 26.1 kB
demo/build/assets/js/49bd3d39.********.js 17.8 kB
demo/build/assets/js/4b891ed6.********.js 11.5 kB
demo/build/assets/js/4b901b1a.********.js 350 B
demo/build/assets/js/4c5e977b.********.js 39.8 kB
demo/build/assets/js/55960ee5.********.js 383 B
demo/build/assets/js/55a6d13f.********.js 14 kB
demo/build/assets/js/56717cba.********.js 2.97 kB
demo/build/assets/js/57f1a671.********.js 11.5 kB
demo/build/assets/js/58ff8b1e.********.js 20.9 kB
demo/build/assets/js/597ddc40.********.js 10.6 kB
demo/build/assets/js/5fb917be.********.js 2.56 kB
demo/build/assets/js/63fc267d.********.js 11.4 kB
demo/build/assets/js/66c76a57.********.js 36.9 kB
demo/build/assets/js/6842.********.js 3.2 MB
demo/build/assets/js/68b61ac5.********.js 46.1 kB
demo/build/assets/js/69a61f78.********.js 26.7 kB
demo/build/assets/js/6a105426.********.js 354 B
demo/build/assets/js/73b594ee.********.js 36.6 kB
demo/build/assets/js/77264a1a.********.js 36.2 kB
demo/build/assets/js/785615ec.********.js 20.3 kB
demo/build/assets/js/7ca3ae45.********.js 17.8 kB
demo/build/assets/js/7ed7dafe.********.js 27.4 kB
demo/build/assets/js/8003.********.js 5.45 kB
demo/build/assets/js/85d3c400.********.js 2.9 kB
demo/build/assets/js/85ec4403.********.js 4.67 kB
demo/build/assets/js/86b273b1.********.js 10.7 kB
demo/build/assets/js/86c346b0.********.js 538 B
demo/build/assets/js/86c45737.********.js 26.3 kB
demo/build/assets/js/8777.********.js 76.5 kB
demo/build/assets/js/881db345.********.js 394 B
demo/build/assets/js/8961c7a6.********.js 25.7 kB
demo/build/assets/js/8ab9b16e.********.js 10.1 kB
demo/build/assets/js/8d4e78cd.********.js 2.83 kB
demo/build/assets/js/8f36b2a3.********.js 172 B
demo/build/assets/js/8f441c78.********.js 13.6 kB
demo/build/assets/js/9127.********.js 104 B
demo/build/assets/js/91696e06.********.js 36.9 kB
demo/build/assets/js/93304a97.********.js 8 kB
demo/build/assets/js/935f2afb.********.js 33.9 kB
demo/build/assets/js/94589c06.********.js 20.4 kB
demo/build/assets/js/967247e2.********.js 11.8 kB
demo/build/assets/js/97810f3c.********.js 26.4 kB
demo/build/assets/js/9b5caaf3.********.js 26.9 kB
demo/build/assets/js/9c42c0f3.********.js 35.5 kB
demo/build/assets/js/a40c6d71.********.js 8.77 kB
demo/build/assets/js/a476e24e.********.js 344 B
demo/build/assets/js/a5491aaa.********.js 400 B
demo/build/assets/js/a6cd895f.********.js 20.9 kB
demo/build/assets/js/a728d93a.********.js 10.2 kB
demo/build/assets/js/aa2f1ec7.********.js 25.6 kB
demo/build/assets/js/ab09fd5c.********.js 20.9 kB
demo/build/assets/js/ab6072f2.********.js 26.7 kB
demo/build/assets/js/ae7f40a3.********.js 46.2 kB
demo/build/assets/js/b4ebd305.********.js 17.8 kB
demo/build/assets/js/b5c059ef.********.js 35.5 kB
demo/build/assets/js/bead4b8e.********.js 3.02 kB
demo/build/assets/js/bf271e74.********.js 401 B
demo/build/assets/js/c5644638.********.js 337 B
demo/build/assets/js/c65697f5.********.js 27.2 kB
demo/build/assets/js/c7a5be9f.********.js 10.3 kB
demo/build/assets/js/c7ded1cb.********.js 2.95 kB
demo/build/assets/js/cef3f2e2.********.js 5.8 kB
demo/build/assets/js/cf07762b.********.js 26.3 kB
demo/build/assets/js/d63c7029.********.js 2.92 kB
demo/build/assets/js/dd696920.********.js 26.3 kB
demo/build/assets/js/df203c0f.********.js 1.8 kB
demo/build/assets/js/e015ccf9.********.js 26.9 kB
demo/build/assets/js/e01f8d18.********.js 8.85 kB
demo/build/assets/js/e2ce9793.********.js 402 B
demo/build/assets/js/e5e5340c.********.js 2.48 kB
demo/build/assets/js/e8b309fb.********.js 577 B
demo/build/assets/js/eae14b71.********.js 35 kB
demo/build/assets/js/eaf4471e.********.js 12.1 kB
demo/build/assets/js/ecc39b49.********.js 172 B
demo/build/assets/js/ee308fa3.********.js 10.3 kB
demo/build/assets/js/f212caf7.********.js 25.6 kB
demo/build/assets/js/f4486b6b.********.js 12.1 kB
demo/build/assets/js/f65290a6.********.js 10.6 kB
demo/build/assets/js/f8409a7e.********.js 34.5 kB
demo/build/assets/js/f84e10c2.********.js 19.5 kB
demo/build/assets/js/fcd67c8d.********.js 20.1 kB
demo/build/assets/js/fe97f0d1.********.js 20.4 kB
demo/build/assets/js/main.********.js 471 kB
demo/build/assets/js/runtime~main.********.js 9.1 kB
demo/build/index.html 89.7 kB

compressed-size-action

@github-actions
Copy link

github-actions bot commented Feb 15, 2023

Visit the preview URL for this PR (updated for commit 4cec991):

https://docusaurus-openapi-36b86--pr436-9hdyr5l6.web.app

(expires Sat, 18 Mar 2023 14:06:51 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@IanVS
Copy link
Contributor

IanVS commented Feb 15, 2023

It looks like an alternative solution would be to improve the guard check:

. Right now it's just checking truthiness. Instead, maybe you could check for explicitly value != undefined (which also includes null if you use ==) or something like that?

@sserrata
Copy link
Member Author

It looks like an alternative solution would be to improve the guard check:

Yes, I think that can also be improved - at least, it handles the 0 case but still results in an empty '' in the case of the empty Array.

@sserrata sserrata changed the title Handle non-string default values Improve handling of non-string default values Feb 15, 2023
@sserrata sserrata merged commit 4d60cbc into main Feb 16, 2023
@sserrata sserrata deleted the default-values branch February 16, 2023 14:06
sserrata added a commit that referenced this pull request Feb 16, 2023
* Point to test spec

* Add utility for casting to string

* More explicitly check for undefined and add code comments to toString()

* Revert back to demo petstore spec
sserrata added a commit that referenced this pull request Feb 16, 2023
* Improve handling of non-string default values (#436)

* Point to test spec

* Add utility for casting to string

* More explicitly check for undefined and add code comments to toString()

* Revert back to demo petstore spec

* Update deploy-preview.yml

* Update validate.yaml

* Update codeql-analysis.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants