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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | 1x 1x 1x 1x 1x 18x 18x 18x 14x 14x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 2x 2x 2x 1x 4x 1x 18x 18x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 1x 6x 6x 1x | import Drive from './classes/drive';
import {Darwin} from './platforms/darwin';
import {Linux} from './platforms/linux';
import {Windows} from './platforms/windows';
import {Utils} from './utils/utils';
/**
* Get disk info according current platform.
*
* @author Cristiam Mercado
* @return {Promise<Drive[]>} Promise resolves array of disks and their info.
*/
export function getDiskInfo(): Promise<Drive[]> {
return new Promise((resolve, reject) => {
try {
const platform = Utils.detectPlatform();
let drivesInfo: Drive[];
switch (platform) {
case 'aix': // IBM AIX platform
reject(new Error(`Platform not supported: ${platform}`));
break;
case 'android': // Android platform
reject(new Error(`Platform not supported: ${platform}`));
break;
case 'darwin': // Darwin platfrom(MacOS, IOS etc)
drivesInfo = Darwin.run();
resolve(drivesInfo);
break;
case 'freebsd': // FreeBSD Platform
drivesInfo = Darwin.run();
resolve(drivesInfo);
break;
case 'linux': // Linux Platform
drivesInfo = Linux.run();
resolve(drivesInfo);
break;
case 'openbsd': // OpenBSD platform
drivesInfo = Darwin.run();
resolve(drivesInfo);
break;
case 'sunos': // SunOS platform
reject(new Error(`Platform not supported: ${platform}`));
break;
case 'win32': // windows platform
drivesInfo = Windows.run();
resolve(drivesInfo);
break;
default: // unknown platform
reject(new Error(`Platform not recognized: ${platform}`));
}
} catch (e) {
reject(e);
}
})
}
/**
* Get disk info according current platform in an syncronous way.
*
* @author Cristiam Mercado
* @return {Drive[]} Array of disks and their info.
* @throws {Error} Current platform must be win32, linux or darwin.
*/
export function getDiskInfoSync(): Drive[] {
const platform = Utils.detectPlatform();
let drivesInfo: Drive[];
switch (platform) {
case 'aix': // IBM AIX platform
throw new Error("Platform not supported: " + platform);
case 'android': // Android platform
throw new Error("Platform not supported: " + platform);
case 'darwin': // Darwin platfrom(MacOS, IOS etc)
drivesInfo = Darwin.run();
return drivesInfo;
case 'freebsd': // FreeBSD Platform
drivesInfo = Darwin.run();
return drivesInfo;
case 'linux': // Linux Platform
drivesInfo = Linux.run();
return drivesInfo;
case 'openbsd': // OpenBSD platform
drivesInfo = Darwin.run();
return drivesInfo;
case 'sunos': // SunOS platform
throw new Error("Platform not supported: " + platform);
case 'win32': // windows platform
drivesInfo = Windows.run();
return drivesInfo;
default: // unknown platform
throw new Error("Platform not recognized: " + platform);
}
}
|