Skip to content
Snippets Groups Projects
Select Git revision
  • f399496dd9bb196bf287a3c22ffe3370a2b3b217
  • main default protected
  • jw_sonar
  • v6.0.0 protected
  • interactive-mode-preference
  • bedran_exercise-list
  • add_route_user
  • Jw_sonar_backup
  • exercise_list_filter
  • assignment_filter
  • add_route_assignments
  • move-to-esm-only
  • 6.0.0-dev
  • Pre-alpha
  • 5.0.0
  • Latest
  • 4.2.0
  • 4.1.1
  • 4.1.0
  • 4.0.1
  • 4.0.0
  • 3.5.0
  • 3.4.2
  • 3.4.1
  • 3.3.0
  • 3.2.3
  • 3.2.2
  • 3.2.0
  • 3.1.2
  • 3.1.1
  • 3.1.0
  • 3.0.1
32 results

ExerciseCreateCommand.ts

Blame
  • Toolbox.ts 1.15 KiB
    class Toolbox {
        private static _instance: Toolbox;
    
        private constructor() { }
    
        public static get instance(): Toolbox {
            if ( !Toolbox._instance ) {
                Toolbox._instance = new Toolbox();
            }
    
            return Toolbox._instance;
        }
    
        public randomString(length: number) {
            let result = '';
            let characters = 'abcdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789';
            let charactersLength = characters.length;
            for ( let i = 0 ; i < length ; i++ ) {
                result += characters.charAt(Math.floor(Math.random() * charactersLength));
            }
            return result;
        }
    
        public capitalizingFirstLetter(word: string): string {
            return word.charAt(0).toUpperCase() + word.slice(1);
        }
    
        public capitalizeName(name: string) {
            return name.trim().replace(/(?:^|\s|-)\S/g, s => s.toUpperCase());
        }
    
        public formatHour(hour: string): string {
            let hourElements = hour.split(':');
    
            return hourElements[0] + 'h' + hourElements[1];
        }
    
        public async sleep(ms: number) {
            await new Promise(r => setTimeout(r, ms));
        }
    }
    
    
    export default Toolbox.instance;