Creates a new InterceptedCommand, which serves as a link in an execution chain. Contains information about the interceptor that is being used and the next command in the chain.
the interceptor that is intercepting the command.
(link to) the next command in the command's execution chain.
Executes the next command in the execution chain using the given parameters (arguments).
unique transaction id to trace calls across components.
the parameters (arguments) to pass to the command for execution.
the function that is to be called once execution is complete. If an exception is raised, then it will be called with the error.
the name of the command that is being intercepted.
Validates the parameters (arguments) that are to be passed to the command that is next in the execution chain.
the parameters (arguments) to validate for the next command.
an array of ValidationResults.
Generated using TypeDoc
Implements a command wrapped by an interceptor. It allows to build command call chains. The interceptor can alter execution and delegate calls to a next command, which can be intercepted or concrete.
ICommand
ICommandInterceptor
Example
export class CommandLogger implements ICommandInterceptor { public getName(command: ICommand): string { return command.getName(); } public execute(correlationId: string, command: ICommand, args: Parameters, callback: (err: any, result: any) => void): void { console.log("Executed command " + command.getName()); command.execute(correlationId, args, callback); } private validate(command: ICommand, args: Parameters): ValidationResult[] { return command.validate(args); } } let logger = new CommandLogger(); let loggedCommand = new InterceptedCommand(logger, command); // Each called command will output: Executed command <command name>