Skip to content
Snippets Groups Projects
Select Git revision
  • 4256114048734c2708436cc8505abecdf62fe6df
  • main default protected
  • jw_sonar
  • v6.0
  • ask-user-to-delete-exercises-on-duplicates
  • v5.0
  • open_tool_for_self_hosting
  • jw_sonar_backup
  • move-to-esm-only
  • v4.2
  • v4.1
11 results

ClientsSharedAssignmentHelper.ts

Blame
  • ClientsSharedAssignmentHelper.ts 1.31 KiB
    import chalk               from 'chalk';
    import boxen               from 'boxen';
    import Icon                from '../../../shared/types/Icon.js';
    import AssignmentValidator from './AssignmentValidator.js';
    
    
    class ClientsSharedAssignmentHelper {
        displayExecutionResults(validator: AssignmentValidator, successMessage: string, Style: { INFO: chalk.Chalk, SUCCESS: chalk.Chalk, FAILURE: chalk.Chalk }) {
            const globalResult = validator.success ? Style.SUCCESS(`${ Icon.SUCCESS } Success`) : Style.FAILURE(`${ Icon.FAILURE } Failure`);
            const finalLogGlobalResult = `${ Style.INFO('Global result') } : ${ globalResult }`;
    
            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();