Skip to content
This repository has been archived by the owner on Jun 23, 2023. It is now read-only.

Adds options object, implements option implicitOptionalChaining, tests... #48

Closed
wants to merge 3 commits into from

Conversation

mshick
Copy link

@mshick mshick commented Jan 26, 2021

I needed some functionality to evaluate expressions against an unknown context of query results. As such I have no guarantee that results.foo and results.foo.bar exist when I try to access them to determine whether my step will run. Catching thrown errors is not sufficient either, as an expression might evaluate against many results, which may or may-not exist, e.g., results.foo.bar == true || results.baz.bar == true.

This PR adds an optional behavior to use an optional-chain when evaluating the object member expressions when the implicitOptionalChaining option is set to true. It also adds in support for options, and restructures the functions to do that in a more convenient way (similar to this PR #42).

I also added some tests that validate the new behavior and ensure the old throw behavior still works.

@donmccurdy
Copy link
Owner

Hi! I'm open to adding this option, but the restructuring makes this PR too long for me to review (similar to #42). Do you mind omitting the reformatting, or moving that to a separate PR with no other effects?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants