feature: move argument requirement out of CommandArgument#489
Merged
Citymonstret merged 1 commit into2.0.0-devfrom Nov 12, 2023
Merged
feature: move argument requirement out of CommandArgument#489Citymonstret merged 1 commit into2.0.0-devfrom
Citymonstret merged 1 commit into2.0.0-devfrom
Conversation
320ce18 to
2e6e3e1
Compare
This moves `required` and `defaultValue` out of CommandArgument, into CommandComponent. This reduces the verbosity of the command arguments by no longer forcing multiple static methods to determine whether the argument is required. Whether an argument is required is now specified when adding the argument to the command. The previous `argument` methods on the command builder have been replaced by `required`/`optional` methods with many different overloads. We no longer have the ability to pass typed default values to the arguments as the command arguments no longer store the default values. We will have to think of a suitable replacement. To facilitate this movement of data we've had to replace many references to CommandArgument with CommandComponent. To make this easier the CommandTree.Node class has been made less generic and has also been renamed to CommandTree.CommandNode. Many deprecated methods have been removed as there is no real point in updating them as we'll want to drop them before releasing v2 anyway.
2e6e3e1 to
3a9a00a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This moves
requiredanddefaultValueout of CommandArgument, into CommandComponent. This reduces the verbosity of the command arguments by no longer forcing multiple static methods to determine whether the argument is required.Whether an argument is required is now specified when adding the argument to the command. The previous
argumentmethods on the command builder have been replaced byrequired/optionalmethods with many different overloads. We no longer have the ability to pass typed default values to the arguments as the command arguments no longer store the default values. We will have to think of a suitable replacement.To facilitate this movement of data we've had to replace many references to CommandArgument with CommandComponent. To make this easier the CommandTree.Node class has been made less generic and has also been renamed to CommandTree.CommandNode.
Many deprecated methods have been removed as there is no real point in updating them as we'll want to drop them before releasing v2 anyway.