All files / src/utils utils.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 4/4
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 361x 1x         1x             1x 8x               1x 4x               1x 8x   1x  
import * as os from 'os';
import {execSync} from 'child_process';
 
/**
 * Class with utilitary methods.
 */
export class Utils {
 
    /**
     * Detects current platform.
     *
     * @return {string} Platform: win32, linux, darwin.
     */
    public static detectPlatform(): string {
        return os.platform().toLowerCase();
    }
 
    /**
     * Get chcp value (only for Win32 platform).
     *
     * @return {string} Platform: win32.
     */
     public static chcp(): string {
        return execSync('chcp').toString().split(':')[1].trim();
    }
 
    /**
     * Executes a command in SO console.
     *
     * @param {Buffer} command: Command to execute.
     */
    public static execute(command: string): Buffer {
        return execSync(command,{windowsHide: true, encoding: 'buffer'});
    }
}