diff --git a/helpers/Dojo/ClientsSharedAssignmentHelper.ts b/helpers/Dojo/ClientsSharedAssignmentHelper.ts new file mode 100644 index 0000000000000000000000000000000000000000..4e834d3802ec8fedc53bed22f8c5c59eb24fc6e2 --- /dev/null +++ b/helpers/Dojo/ClientsSharedAssignmentHelper.ts @@ -0,0 +1,27 @@ +import chalk from 'chalk'; +import boxen from 'boxen'; +import Icon from '../../types/Icon'; +import AssignmentValidator from './AssignmentValidator'; + + +class ClientsSharedAssignmentHelper { + displayExecutionResults(validator: AssignmentValidator, successMessage: string, Style: { INFO: chalk.Chalk, SUCCESS: chalk.Chalk, FAILURE: chalk.Chalk }) { + const finalLogGlobalResult = `${ Style.INFO('Global result') } : ${ validator.success ? Style.SUCCESS(`${ Icon.SUCCESS } Success`) : Style.FAILURE(`${ Icon.FAILURE } Failure`) }`; + + const finalLogSuccessMessage = validator.success ? `${ successMessage }` : ''; + const finalLogErrorMessage = !validator.success ? `${ Style.INFO('Error message') } :\n${ Style.FAILURE(validator.fatalErrorMessage) }` : ''; + + console.log(boxen(`${ finalLogGlobalResult }\n\n${ finalLogSuccessMessage }${ finalLogErrorMessage }`, { + title : 'Results', + titleAlignment: 'center', + borderColor : validator.success ? 'green' : 'red', + borderStyle : 'bold', + margin : 1, + padding : 1, + textAlignment : 'left' + })); + } +} + + +export default new ClientsSharedAssignmentHelper(); \ No newline at end of file