diff --git a/Toolbox.ts b/Toolbox.ts new file mode 100644 index 0000000000000000000000000000000000000000..3ab7a19edabdf47bf80a8932c5e082701fac5e2e --- /dev/null +++ b/Toolbox.ts @@ -0,0 +1,44 @@ +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;