You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently to share arguments across commands you can create a ParsableArguments type which contains your arguments/options, and can use func validate() throws to validate the arguments.
This fails for things that must be validated in an async manner. We should consider adding an async API for validating or AsyncParsableArguments to support this.
The text was updated successfully, but these errors were encountered:
Given the headaches and challenges around supporting the sync and async versions of run(), I'm reticent to provide another overload here. As a workaround, you can perform any async validation at the start of your async run() method – if you throw a ValidationError from there you'll get the same output as an error thrown from the validate() method.
If this workaround doesn't work for you, please let me know!
Yeah that works and it's what we do today but it lacks a few things:
the argument cannot have the correct type, because the async function is not supported. E.g we need to declare the argument as String for example and then validate it converts to whatever type we wanted.
this conversion needs to happen in all the commands which use that argument.
Currently to share arguments across commands you can create a
ParsableArguments
type which contains your arguments/options, and can usefunc validate() throws
to validate the arguments.This fails for things that must be validated in an async manner. We should consider adding an async API for validating or
AsyncParsableArguments
to support this.The text was updated successfully, but these errors were encountered: