Open
Description
Runtime
Node.js
Runtime version
v20.4
Module version
17
Used with
standalone
Any other relevant information
No response
How can we help?
Hi, struggling to figure out how I can apply a then
clause based on whether one key has a certain value or another key has a different value, hoping somebody could help...
I currently have something like this:
.when("foo", {
is: "bar",
then: object.keys({
somethingElse: string.optional().allow()
})
});
And I'd like to extend it so that if either foo="bar"
OR baz="qux"
will both apply the then
. I know I could† add another .when
and move my then
stuff into a var, or duplicate it (actual code has a lot of conditions though so want to avoid any duplication) like this:
const overrides = object.keys({ somethingElse: string.optional().allow("") });
/* ...snip... */
.when("foo", { is: "bar", then: overrides })
.when("baz", { is: "qux", then: overrides })
but it feels like there must be a cleaner way to do it? Maybe with alternatives
or something?
Thank you 🙏
† I'm assuming this would work anyway, haven't actually tried it