Constructs an instance of this command. This constructor initializes a logger instance with the scope and {@link name} of the command.
The arguments passed to the command. Typically, this holds required parameters of commands.
The internal dApp configuration object. This object is used to configure key functionalities such as the name of a dApp and the enabled scopes of the backend runtime.
The internal dApp network configuration object. This object is used to configure the access to the underlying blockchain network.
The command scope. This is the scope that must be enabled
through the configuration files for this command to be
available.
This property is required through the extension of
BaseCommand.
Requires state information of the module. This object is typically populated upon first execution and updated any time later.
This method must return a command name. Note that
it should use only characters of: A-Za-z0-9:-_.
e.g. "scope:name"
This property is required through the extension of
BaseCommand but is intentionally forwarded
to further child classes such that each command defines
its own command name.
This method must return a command signature that
contains hints on the command name and its required
and optional arguments.
e.g. "command
This property is required through the extension of
BaseCommand but is intentionally forwarded
to further child classes such that each command defines
its own command signature.
Getter for the discovery state identifier, e.g.
"discovery.accounts", "discovery.transactions",
"payout.outputs" etc.
This method is an implementation necessary because
of the extensions of StatefulModule.
This method must be implemented by extending classes and should aggregate relevant subjects for this module.
This method uses the logger to print debug messages.
This method uses the logger to print error messages.
Optionally, a stack
can be passed to print a stack trace.
This helper method should return the latest execution state
such that it can be saved.
Execution states refer to one module's required state data,
potentially necessary during execution, and which is fetched
in run before execution and updated in run
after execution (using the name
as an identifier).
Creates a state query for this discovery service. Each discovery service shall set its own stateIdentifier which is considered the identifier of the discovery module's state document.
This method uses the logger to print info messages.
This helper method serves as a parser for the -c
or --collection
option of this command.
The statistics collection can contain a mongo collection
name that must exist in the database.
The --collection
argument as passed in the terminal.
A validated mongo database collection name.
This method is the entry point of any command line
executed command. nest-commander
implements a flow
where this method is called with parameters that are
respectively the raw arguments and the parsed arguments
to this command call.
This method uses the stateService to fetch the
current execution and also uses it to update the state.
Note that the runWithOptions method is called inside
a try-catch block to force the error handling process.
This method implements the execution logic for
statistics commands that extend this class. Child
classes must implement a aggregate method
that is called in here.
Note that this method is called by BaseCommand
under the hood, which permits to execute and track
failures more consistently at a higher level.
The parsed runtime arguments passed to the command.
This method prints usage information to the command line
and is used by nest-commander
to print a correctly formatted
help message.
Note that usage methods can be overwritten but must always
print a standard command line signature.
Generated using TypeDoc
This class defines the abstraction layer used in any statistics commands. Note that statistics commands are always stateful modules due to the extension of StatefulModule in the parent class BaseCommand.
Additionally, statistics commands also implement the
CommandRunner
interface fromnest-commander
. Therun()
method call is defined in BaseCommand and delegates the runtime to the method implemented in this class as runWithOptions.v0.3.2