{"D:\\projects\\node-disk-info\\src\\utils\\utils.ts":{"path":"D:\\projects\\node-disk-info\\src\\utils\\utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":23}},"23":{"start":{"line":23,"column":9},"end":{"line":23,"column":36}},"24":{"start":{"line":24,"column":22},"end":{"line":24,"column":46}},"25":{"start":{"line":28,"column":27},"end":{"line":56,"column":3}},"26":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"27":{"start":{"line":37,"column":8},"end":{"line":37,"column":43}},"28":{"start":{"line":44,"column":4},"end":{"line":46,"column":6}},"29":{"start":{"line":45,"column":8},"end":{"line":45,"column":80}},"30":{"start":{"line":52,"column":4},"end":{"line":54,"column":6}},"31":{"start":{"line":53,"column":8},"end":{"line":53,"column":92}},"32":{"start":{"line":55,"column":4},"end":{"line":55,"column":17}},"33":{"start":{"line":57,"column":0},"end":{"line":57,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":27},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":39},"end":{"line":56,"column":1}},"line":28},"7":{"name":"Utils","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":18}},"loc":{"start":{"line":29,"column":21},"end":{"line":30,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":36,"column":27},"end":{"line":36,"column":28}},"loc":{"start":{"line":36,"column":39},"end":{"line":38,"column":5}},"line":36},"9":{"name":"(anonymous_9)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":5}},"line":44},"10":{"name":"(anonymous_10)","decl":{"start":{"line":52,"column":20},"end":{"line":52,"column":21}},"loc":{"start":{"line":52,"column":39},"end":{"line":54,"column":5}},"line":52}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":20,"2":20,"3":20,"4":8,"5":0,"6":0,"7":0,"8":1,"9":1,"10":0,"11":1,"12":1,"13":0,"14":1,"15":1,"16":1,"17":20,"18":20,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":8,"28":1,"29":4,"30":1,"31":8,"32":1,"33":1},"f":{"0":20,"1":8,"2":0,"3":1,"4":0,"5":1,"6":1,"7":0,"8":8,"9":4,"10":8},"b":{"0":[1,1,1],"1":[1,0],"2":[20,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[0,1],"8":[1,1],"9":[1,0],"10":[20,0],"11":[20,20]},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/utils/utils.ts","sources":["D:/projects/node-disk-info/src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,+CAAuC;AAEvC;;GAEG;AACH;IAAA;IA4BA,CAAC;IA1BG;;;;OAIG;IACW,oBAAc,GAA5B;QACI,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACY,UAAI,GAAlB;QACG,OAAO,wBAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACW,aAAO,GAArB,UAAsB,OAAe;QACjC,OAAO,wBAAQ,CAAC,OAAO,EAAC,EAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;IACrE,CAAC;IACL,YAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,sBAAK","sourcesContent":["import * as os from 'os';\r\nimport {execSync} from 'child_process';\r\n\r\n/**\r\n * Class with utilitary methods.\r\n */\r\nexport class Utils {\r\n\r\n    /**\r\n     * Detects current platform.\r\n     *\r\n     * @return {string} Platform: win32, linux, darwin.\r\n     */\r\n    public static detectPlatform(): string {\r\n        return os.platform().toLowerCase();\r\n    }\r\n\r\n    /**\r\n     * Get chcp value (only for Win32 platform).\r\n     *\r\n     * @return {string} Platform: win32.\r\n     */\r\n     public static chcp(): string {\r\n        return execSync('chcp').toString().split(':')[1].trim();\r\n    }\r\n\r\n    /**\r\n     * Executes a command in SO console.\r\n     *\r\n     * @param {Buffer} command: Command to execute.\r\n     */\r\n    public static execute(command: string): Buffer {\r\n        return execSync(command,{windowsHide: true, encoding: 'buffer'});\r\n    }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a425fdfa007280ee1d9613d57bf43b599c2bc1e0","contentHash":"a9c67f8c105fbe351dba56b2ee0f509f81ed878d261c6b83c528eecd6e82860f"},"D:\\projects\\node-disk-info\\src\\index.ts":{"path":"D:\\projects\\node-disk-info\\src\\index.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"2":{"start":{"line":4,"column":15},"end":{"line":4,"column":44}},"3":{"start":{"line":5,"column":14},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":16},"end":{"line":6,"column":46}},"5":{"start":{"line":7,"column":14},"end":{"line":7,"column":38}},"6":{"start":{"line":15,"column":4},"end":{"line":56,"column":7}},"7":{"start":{"line":16,"column":8},"end":{"line":55,"column":9}},"8":{"start":{"line":17,"column":27},"end":{"line":17,"column":57}},"9":{"start":{"line":18,"column":29},"end":{"line":18,"column":35}},"10":{"start":{"line":19,"column":12},"end":{"line":51,"column":13}},"11":{"start":{"line":21,"column":20},"end":{"line":21,"column":77}},"12":{"start":{"line":22,"column":20},"end":{"line":22,"column":26}},"13":{"start":{"line":24,"column":20},"end":{"line":24,"column":77}},"14":{"start":{"line":25,"column":20},"end":{"line":25,"column":26}},"15":{"start":{"line":27,"column":20},"end":{"line":27,"column":55}},"16":{"start":{"line":28,"column":20},"end":{"line":28,"column":40}},"17":{"start":{"line":29,"column":20},"end":{"line":29,"column":26}},"18":{"start":{"line":31,"column":20},"end":{"line":31,"column":55}},"19":{"start":{"line":32,"column":20},"end":{"line":32,"column":40}},"20":{"start":{"line":33,"column":20},"end":{"line":33,"column":26}},"21":{"start":{"line":35,"column":20},"end":{"line":35,"column":53}},"22":{"start":{"line":36,"column":20},"end":{"line":36,"column":40}},"23":{"start":{"line":37,"column":20},"end":{"line":37,"column":26}},"24":{"start":{"line":39,"column":20},"end":{"line":39,"column":55}},"25":{"start":{"line":40,"column":20},"end":{"line":40,"column":40}},"26":{"start":{"line":41,"column":20},"end":{"line":41,"column":26}},"27":{"start":{"line":43,"column":20},"end":{"line":43,"column":77}},"28":{"start":{"line":44,"column":20},"end":{"line":44,"column":26}},"29":{"start":{"line":46,"column":20},"end":{"line":46,"column":57}},"30":{"start":{"line":47,"column":20},"end":{"line":47,"column":40}},"31":{"start":{"line":48,"column":20},"end":{"line":48,"column":26}},"32":{"start":{"line":50,"column":20},"end":{"line":50,"column":78}},"33":{"start":{"line":54,"column":12},"end":{"line":54,"column":22}},"34":{"start":{"line":58,"column":0},"end":{"line":58,"column":34}},"35":{"start":{"line":67,"column":19},"end":{"line":67,"column":49}},"36":{"start":{"line":69,"column":4},"end":{"line":93,"column":5}},"37":{"start":{"line":71,"column":12},"end":{"line":71,"column":67}},"38":{"start":{"line":73,"column":12},"end":{"line":73,"column":67}},"39":{"start":{"line":75,"column":12},"end":{"line":75,"column":47}},"40":{"start":{"line":76,"column":12},"end":{"line":76,"column":30}},"41":{"start":{"line":78,"column":12},"end":{"line":78,"column":47}},"42":{"start":{"line":79,"column":12},"end":{"line":79,"column":30}},"43":{"start":{"line":81,"column":12},"end":{"line":81,"column":45}},"44":{"start":{"line":82,"column":12},"end":{"line":82,"column":30}},"45":{"start":{"line":84,"column":12},"end":{"line":84,"column":47}},"46":{"start":{"line":85,"column":12},"end":{"line":85,"column":30}},"47":{"start":{"line":87,"column":12},"end":{"line":87,"column":67}},"48":{"start":{"line":89,"column":12},"end":{"line":89,"column":49}},"49":{"start":{"line":90,"column":12},"end":{"line":90,"column":30}},"50":{"start":{"line":92,"column":12},"end":{"line":92,"column":68}},"51":{"start":{"line":95,"column":0},"end":{"line":95,"column":42}}},"fnMap":{"0":{"name":"getDiskInfo","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":20}},"loc":{"start":{"line":14,"column":23},"end":{"line":57,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":23},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":50},"end":{"line":56,"column":5}},"line":15},"2":{"name":"getDiskInfoSync","decl":{"start":{"line":66,"column":9},"end":{"line":66,"column":24}},"loc":{"start":{"line":66,"column":27},"end":{"line":94,"column":1}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":12},"end":{"line":51,"column":13}},"type":"switch","locations":[{"start":{"line":20,"column":16},"end":{"line":22,"column":26}},{"start":{"line":23,"column":16},"end":{"line":25,"column":26}},{"start":{"line":26,"column":16},"end":{"line":29,"column":26}},{"start":{"line":30,"column":16},"end":{"line":33,"column":26}},{"start":{"line":34,"column":16},"end":{"line":37,"column":26}},{"start":{"line":38,"column":16},"end":{"line":41,"column":26}},{"start":{"line":42,"column":16},"end":{"line":44,"column":26}},{"start":{"line":45,"column":16},"end":{"line":48,"column":26}},{"start":{"line":49,"column":16},"end":{"line":50,"column":78}}],"line":19},"1":{"loc":{"start":{"line":69,"column":4},"end":{"line":93,"column":5}},"type":"switch","locations":[{"start":{"line":70,"column":8},"end":{"line":71,"column":67}},{"start":{"line":72,"column":8},"end":{"line":73,"column":67}},{"start":{"line":74,"column":8},"end":{"line":76,"column":30}},{"start":{"line":77,"column":8},"end":{"line":79,"column":30}},{"start":{"line":80,"column":8},"end":{"line":82,"column":30}},{"start":{"line":83,"column":8},"end":{"line":85,"column":30}},{"start":{"line":86,"column":8},"end":{"line":87,"column":67}},{"start":{"line":88,"column":8},"end":{"line":90,"column":30}},{"start":{"line":91,"column":8},"end":{"line":92,"column":68}}],"line":69}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":18,"7":18,"8":18,"9":14,"10":14,"11":1,"12":1,"13":1,"14":1,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":1,"28":1,"29":2,"30":2,"31":2,"32":1,"33":4,"34":1,"35":18,"36":18,"37":1,"38":1,"39":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":1,"48":6,"49":6,"50":1,"51":1},"f":{"0":18,"1":18,"2":18},"b":{"0":[1,1,2,2,2,2,1,2,1],"1":[1,1,2,2,2,2,1,6,1]},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/index.ts","sources":["D:/projects/node-disk-info/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Drive from './classes/drive';\r\nimport {Darwin} from './platforms/darwin';\r\nimport {Linux} from './platforms/linux';\r\nimport {Windows} from './platforms/windows';\r\nimport {Utils} from './utils/utils';\r\n\r\n/**\r\n * Get disk info according current platform.\r\n *\r\n * @author Cristiam Mercado\r\n * @return {Promise<Drive[]>} Promise resolves array of disks and their info.\r\n */\r\nexport function getDiskInfo(): Promise<Drive[]> {\r\n\r\n    return new Promise((resolve, reject) => {\r\n\r\n        try {\r\n\r\n            const platform = Utils.detectPlatform();\r\n            let drivesInfo: Drive[];\r\n\r\n            switch (platform) {\r\n                case 'aix': // IBM AIX platform\r\n                    reject(new Error(`Platform not supported: ${platform}`));\r\n                    break;\r\n                case 'android': // Android platform\r\n                    reject(new Error(`Platform not supported: ${platform}`));\r\n                    break;\r\n                case 'darwin': // Darwin platfrom(MacOS, IOS etc)\r\n                    drivesInfo = Darwin.run();\r\n                    resolve(drivesInfo);\r\n                    break;\r\n                case 'freebsd': // FreeBSD Platform\r\n                    drivesInfo = Darwin.run();\r\n                    resolve(drivesInfo);\r\n                    break;\r\n                case 'linux': // Linux Platform\r\n                    drivesInfo = Linux.run();\r\n                    resolve(drivesInfo);\r\n                    break;\r\n                case 'openbsd': // OpenBSD platform\r\n                    drivesInfo = Darwin.run();\r\n                    resolve(drivesInfo);\r\n                    break;\r\n                case 'sunos': // SunOS platform\r\n                    reject(new Error(`Platform not supported: ${platform}`));\r\n                    break;\r\n                case 'win32': // windows platform\r\n                    drivesInfo = Windows.run();\r\n                    resolve(drivesInfo);\r\n                    break;    \r\n                default: // unknown platform\r\n                    reject(new Error(`Platform not recognized: ${platform}`));\r\n            }\r\n\r\n        } catch (e) {\r\n            reject(e);\r\n        }\r\n\r\n    })\r\n\r\n}\r\n\r\n/**\r\n * Get disk info according current platform in an syncronous way.\r\n *\r\n * @author Cristiam Mercado\r\n * @return {Drive[]} Array of disks and their info.\r\n * @throws {Error} Current platform must be win32, linux or darwin.\r\n */\r\nexport function getDiskInfoSync(): Drive[] {\r\n\r\n    const platform = Utils.detectPlatform();\r\n    let drivesInfo: Drive[];\r\n\r\n    switch (platform) {\r\n        case 'aix': // IBM AIX platform\r\n            throw new Error(\"Platform not supported: \" + platform);\r\n        case 'android': // Android platform\r\n            throw new Error(\"Platform not supported: \" + platform);\r\n        case 'darwin': // Darwin platfrom(MacOS, IOS etc)\r\n            drivesInfo = Darwin.run();\r\n            return drivesInfo;\r\n        case 'freebsd': // FreeBSD Platform\r\n            drivesInfo = Darwin.run();\r\n            return drivesInfo;\r\n        case 'linux': // Linux Platform\r\n            drivesInfo = Linux.run();\r\n            return drivesInfo;\r\n        case 'openbsd': // OpenBSD platform\r\n            drivesInfo = Darwin.run();\r\n            return drivesInfo;\r\n        case 'sunos': // SunOS platform\r\n            throw new Error(\"Platform not supported: \" + platform);\r\n        case 'win32': // windows platform\r\n            drivesInfo = Windows.run();\r\n            return drivesInfo;\r\n        default: // unknown platform\r\n            throw new Error(\"Platform not recognized: \" + platform);\r\n    }\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2b2a700fdd834ed40f39eb66b1d0b6059ceb91ea","contentHash":"05db281381b2dbfdb4489db06c026bae9adc19fa456f486a8ae51a801996da91"},"D:\\projects\\node-disk-info\\src\\platforms\\darwin.ts":{"path":"D:\\projects\\node-disk-info\\src\\platforms\\darwin.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":24}},"4":{"start":{"line":7,"column":18},"end":{"line":7,"column":47}},"5":{"start":{"line":8,"column":14},"end":{"line":8,"column":58}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":39}},"7":{"start":{"line":13,"column":28},"end":{"line":36,"column":3}},"8":{"start":{"line":21,"column":4},"end":{"line":34,"column":6}},"9":{"start":{"line":22,"column":21},"end":{"line":22,"column":23}},"10":{"start":{"line":23,"column":21},"end":{"line":23,"column":80}},"11":{"start":{"line":24,"column":20},"end":{"line":24,"column":49}},"12":{"start":{"line":25,"column":8},"end":{"line":32,"column":11}},"13":{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},"14":{"start":{"line":27,"column":27},"end":{"line":27,"column":56}},"15":{"start":{"line":28,"column":29},"end":{"line":28,"column":44}},"16":{"start":{"line":29,"column":24},"end":{"line":29,"column":217}},"17":{"start":{"line":30,"column":16},"end":{"line":30,"column":31}},"18":{"start":{"line":33,"column":8},"end":{"line":33,"column":22}},"19":{"start":{"line":35,"column":4},"end":{"line":35,"column":18}},"20":{"start":{"line":37,"column":0},"end":{"line":37,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":28},"end":{"line":13,"column":29}},"loc":{"start":{"line":13,"column":40},"end":{"line":36,"column":1}},"line":13},"2":{"name":"Darwin","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":19}},"loc":{"start":{"line":14,"column":22},"end":{"line":15,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":17},"end":{"line":21,"column":18}},"loc":{"start":{"line":21,"column":29},"end":{"line":34,"column":5}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":22},"end":{"line":25,"column":23}},"loc":{"start":{"line":25,"column":53},"end":{"line":32,"column":9}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},{"start":{"line":26,"column":12},"end":{"line":31,"column":13}}],"line":26},"4":{"loc":{"start":{"line":29,"column":55},"end":{"line":29,"column":100}},"type":"cond-expr","locations":[{"start":{"line":29,"column":86},"end":{"line":29,"column":87}},{"start":{"line":29,"column":90},"end":{"line":29,"column":100}}],"line":29},"5":{"loc":{"start":{"line":29,"column":102},"end":{"line":29,"column":147}},"type":"cond-expr","locations":[{"start":{"line":29,"column":133},"end":{"line":29,"column":134}},{"start":{"line":29,"column":137},"end":{"line":29,"column":147}}],"line":29},"6":{"loc":{"start":{"line":29,"column":149},"end":{"line":29,"column":194}},"type":"cond-expr","locations":[{"start":{"line":29,"column":180},"end":{"line":29,"column":181}},{"start":{"line":29,"column":184},"end":{"line":29,"column":194}}],"line":29}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":12,"10":12,"11":12,"12":12,"13":156,"14":144,"15":144,"16":144,"17":144,"18":12,"19":1,"20":1},"f":{"0":1,"1":1,"2":0,"3":12,"4":156},"b":{"0":[1,1,1],"1":[1,0],"2":[1,1],"3":[144,12],"4":[12,132],"5":[12,132],"6":[12,132]},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/platforms/darwin.ts","sources":["D:/projects/node-disk-info/src/platforms/darwin.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA6C;AAE7C,2DAAqC;AACrC,wCAAqC;AAErC;;GAEG;AACH;IAAA;IAqCA,CAAC;IAnCG;;;;OAIG;IACW,UAAG,GAAjB;QAEI,IAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,aAAK,CAAC,OAAO,CAAC,qBAAS,CAAC,cAAc,CAAC,CAAC;QACvD,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE5C,KAAK,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAE,KAAK;YAE9B,IAAI,KAAK,KAAK,EAAE,EAAE;gBAEd,IAAM,IAAI,GAAW,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAM,CAAC,GAAG,IAAI,eAAK,CACf,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAElB;QAEL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEL,aAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,wBAAM","sourcesContent":["import {Constants} from '../utils/constants';\r\n\r\nimport Drive from '../classes/drive';\r\nimport {Utils} from \"../utils/utils\";\r\n\r\n/**\r\n * Class with OSX specific logic to get disk info.\r\n */\r\nexport class Darwin {\r\n\r\n    /**\r\n     * Execute specific OSX command to get disk info.\r\n     *\r\n     * @return {Drive[]} List of drives and their info.\r\n     */\r\n    public static run(): Drive[] {\r\n\r\n        const drives: Drive[] = [];\r\n        const buffer = Utils.execute(Constants.DARWIN_COMMAND);\r\n        const lines = buffer.toString().split('\\n');\r\n\r\n        lines.forEach((value, index, array) => {\r\n\r\n            if (value !== '') {\r\n\r\n                const line: string = value.replace(/ +(?= )/g, '');\r\n                const tokens = line.split(' ');\r\n\r\n                const d = new Drive(\r\n                    tokens[0],\r\n                    isNaN(parseFloat(tokens[1])) ? 0 : +tokens[1],\r\n                    isNaN(parseFloat(tokens[2])) ? 0 : +tokens[2],\r\n                    isNaN(parseFloat(tokens[3])) ? 0 : +tokens[3],\r\n                    tokens[4],\r\n                    tokens[5]);\r\n\r\n                drives.push(d);\r\n\r\n            }\r\n\r\n        });\r\n\r\n        return drives;\r\n    }\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"77c880278b525b66b5e9103e7f97536c5c51bbc1","contentHash":"752183c0e010b6a890aeadde4df5ebf410283d03b4aa5f5f432e423b8eb89cca"},"D:\\projects\\node-disk-info\\src\\utils\\constants.ts":{"path":"D:\\projects\\node-disk-info\\src\\utils\\constants.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":27}},"2":{"start":{"line":7,"column":31},"end":{"line":23,"column":3}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":123}},"4":{"start":{"line":17,"column":4},"end":{"line":17,"column":55}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":56}},"6":{"start":{"line":22,"column":4},"end":{"line":22,"column":21}},"7":{"start":{"line":24,"column":0},"end":{"line":24,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":31},"end":{"line":7,"column":32}},"loc":{"start":{"line":7,"column":43},"end":{"line":23,"column":1}},"line":7},"1":{"name":"Constants","decl":{"start":{"line":8,"column":13},"end":{"line":8,"column":22}},"loc":{"start":{"line":8,"column":25},"end":{"line":9,"column":5}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"f":{"0":1,"1":0},"b":{},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/utils/constants.ts","sources":["D:/projects/node-disk-info/src/utils/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH;IAAA;IAiBA,CAAC;IAfG;;OAEG;IACoB,yBAAe,GAAW,0FAA0F,CAAC;IAE5I;;OAEG;IACoB,uBAAa,GAAW,wBAAwB,CAAC;IAExE;;OAEG;IACoB,wBAAc,GAAW,wBAAwB,CAAC;IAE7E,gBAAC;CAAA,AAjBD,IAiBC;AAjBY,8BAAS","sourcesContent":["/**\r\n * Class with constants used in the application.\r\n */\r\nexport class Constants {\r\n\r\n    /**\r\n     * Command to execute on Windows.\r\n     */\r\n    public static readonly WINDOWS_COMMAND: string = 'wmic logicaldisk get Caption,FreeSpace,Size,VolumeSerialNumber,Description  /format:list';\r\n\r\n    /**\r\n     * Command to execute on Linux.\r\n     */\r\n    public static readonly LINUX_COMMAND: string = 'df -P | awk \\'NR > 1\\'';\r\n\r\n    /**\r\n     * Command to execute on OSX.\r\n     */\r\n    public static readonly DARWIN_COMMAND: string = 'df -P | awk \\'NR > 1\\'';\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f1b912534369f973f9c6ebb4c951b975f23f115f","contentHash":"bff5aef990987c205eb6396da9cd2a59dc467e3cd0e22280720bd0dc8043a417"},"D:\\projects\\node-disk-info\\src\\classes\\drive.ts":{"path":"D:\\projects\\node-disk-info\\src\\classes\\drive.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":8,"column":27},"end":{"line":100,"column":3}},"2":{"start":{"line":20,"column":8},"end":{"line":20,"column":38}},"3":{"start":{"line":21,"column":8},"end":{"line":21,"column":30}},"4":{"start":{"line":22,"column":8},"end":{"line":22,"column":26}},"5":{"start":{"line":23,"column":8},"end":{"line":23,"column":36}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":34}},"7":{"start":{"line":25,"column":8},"end":{"line":25,"column":32}},"8":{"start":{"line":27,"column":4},"end":{"line":38,"column":7}},"9":{"start":{"line":34,"column":12},"end":{"line":34,"column":36}},"10":{"start":{"line":39,"column":4},"end":{"line":50,"column":7}},"11":{"start":{"line":46,"column":12},"end":{"line":46,"column":32}},"12":{"start":{"line":51,"column":4},"end":{"line":62,"column":7}},"13":{"start":{"line":58,"column":12},"end":{"line":58,"column":30}},"14":{"start":{"line":63,"column":4},"end":{"line":74,"column":7}},"15":{"start":{"line":70,"column":12},"end":{"line":70,"column":35}},"16":{"start":{"line":75,"column":4},"end":{"line":86,"column":7}},"17":{"start":{"line":82,"column":12},"end":{"line":82,"column":34}},"18":{"start":{"line":87,"column":4},"end":{"line":98,"column":7}},"19":{"start":{"line":94,"column":12},"end":{"line":94,"column":33}},"20":{"start":{"line":99,"column":4},"end":{"line":99,"column":17}},"21":{"start":{"line":101,"column":0},"end":{"line":101,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":27},"end":{"line":8,"column":28}},"loc":{"start":{"line":8,"column":39},"end":{"line":100,"column":1}},"line":8},"1":{"name":"Drive","decl":{"start":{"line":19,"column":13},"end":{"line":19,"column":18}},"loc":{"start":{"line":19,"column":75},"end":{"line":26,"column":5}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":14}},"loc":{"start":{"line":33,"column":25},"end":{"line":35,"column":9}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":13},"end":{"line":45,"column":14}},"loc":{"start":{"line":45,"column":25},"end":{"line":47,"column":9}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":13},"end":{"line":57,"column":14}},"loc":{"start":{"line":57,"column":25},"end":{"line":59,"column":9}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":13},"end":{"line":69,"column":14}},"loc":{"start":{"line":69,"column":25},"end":{"line":71,"column":9}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":81,"column":13},"end":{"line":81,"column":14}},"loc":{"start":{"line":81,"column":25},"end":{"line":83,"column":9}},"line":81},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":13},"end":{"line":93,"column":14}},"loc":{"start":{"line":93,"column":25},"end":{"line":95,"column":9}},"line":93}},"branchMap":{},"s":{"0":1,"1":1,"2":216,"3":216,"4":216,"5":216,"6":216,"7":216,"8":1,"9":20,"10":1,"11":20,"12":1,"13":20,"14":1,"15":20,"16":1,"17":20,"18":1,"19":20,"20":1,"21":1},"f":{"0":1,"1":216,"2":20,"3":20,"4":20,"5":20,"6":20,"7":20},"b":{},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/classes/drive.ts","sources":["D:/projects/node-disk-info/src/classes/drive.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH;IAgCI;;;;;;;;;OASG;IACH,eAAmB,UAAkB,EAAE,MAAc,EAAE,IAAY,EAAE,SAAiB,EAAE,QAAgB,EAAE,OAAe;QACrH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAOD,sBAAI,6BAAU;QALd;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;;;OAAA;IAOD,sBAAI,yBAAM;QALV;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;;;OAAA;IAOD,sBAAI,uBAAI;QALR;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAOD,sBAAI,4BAAS;QALb;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;;;OAAA;IAOD,sBAAI,2BAAQ;QALZ;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAOD,sBAAI,0BAAO;QALX;;;;WAIG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IACL,YAAC;AAAD,CAAC,AAxGD,IAwGC","sourcesContent":["/**\r\n * Class with drive information.\r\n *\r\n * @author Cristiam Mercado\r\n */\r\nexport default class Drive {\r\n\r\n    /**\r\n     * Drive filesystem.\r\n     */\r\n    private readonly _filesystem: string;\r\n\r\n    /**\r\n     * Blocks associated to disk.\r\n     */\r\n    private readonly _blocks: number;\r\n\r\n    /**\r\n     * Used disk space.\r\n     */\r\n    private readonly _used: number;\r\n\r\n    /**\r\n     * Available disk space.\r\n     */\r\n    private readonly _available: number;\r\n\r\n    /**\r\n     * Disk capacity.\r\n     */\r\n    private readonly _capacity: string;\r\n\r\n    /**\r\n     * Indicates the mount point of the disk.\r\n     */\r\n    private readonly _mounted: string;\r\n\r\n    /**\r\n     * Constructor for Drive class.\r\n     *\r\n     * @param {string} filesystem Drive filesystem.\r\n     * @param {number} blocks Blocks associated to disk.\r\n     * @param {number} used Used disk space.\r\n     * @param {number} available Available disk space.\r\n     * @param {string} capacity Disk capacity.\r\n     * @param {string} mounted Indicates the mount point of the disk.\r\n     */\r\n    public constructor(filesystem: string, blocks: number, used: number, available: number, capacity: string, mounted: string) {\r\n        this._filesystem = filesystem;\r\n        this._blocks = blocks;\r\n        this._used = used;\r\n        this._available = available;\r\n        this._capacity = capacity;\r\n        this._mounted = mounted;\r\n    }\r\n\r\n    /**\r\n     * Drive filesystem.\r\n     *\r\n     * @return Gets drive filesystem.\r\n     */\r\n    get filesystem(): string {\r\n        return this._filesystem;\r\n    }\r\n\r\n    /**\r\n     * Blocks associated to disk.\r\n     *\r\n     * @return Gets blocks associated to disk.\r\n     */\r\n    get blocks(): number {\r\n        return this._blocks;\r\n    }\r\n\r\n    /**\r\n     * Used disk space.\r\n     *\r\n     * @return Gets used disk space.\r\n     */\r\n    get used(): number {\r\n        return this._used;\r\n    }\r\n\r\n    /**\r\n     * Available disk space.\r\n     *\r\n     * @return Gets available disk space.\r\n     */\r\n    get available(): number {\r\n        return this._available;\r\n    }\r\n\r\n    /**\r\n     * Disk capacity.\r\n     *\r\n     * @return Gets disk capacity.\r\n     */\r\n    get capacity(): string {\r\n        return this._capacity;\r\n    }\r\n\r\n    /**\r\n     * Indicates the mount point of the disk.\r\n     *\r\n     * @return Gets the mount point of the disk.\r\n     */\r\n    get mounted(): string {\r\n        return this._mounted;\r\n    }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3177cc22025549eab3e02ef7732c5e0f9faa662f","contentHash":"2e5e8af14ea4975a8b6b77debd82dfd41fc2e6efb2355fb6bc5fd40fa8420c50"},"D:\\projects\\node-disk-info\\src\\platforms\\linux.ts":{"path":"D:\\projects\\node-disk-info\\src\\platforms\\linux.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":23}},"4":{"start":{"line":7,"column":18},"end":{"line":7,"column":47}},"5":{"start":{"line":8,"column":14},"end":{"line":8,"column":58}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":39}},"7":{"start":{"line":13,"column":27},"end":{"line":36,"column":3}},"8":{"start":{"line":21,"column":4},"end":{"line":34,"column":6}},"9":{"start":{"line":22,"column":21},"end":{"line":22,"column":23}},"10":{"start":{"line":23,"column":21},"end":{"line":23,"column":79}},"11":{"start":{"line":24,"column":20},"end":{"line":24,"column":49}},"12":{"start":{"line":25,"column":8},"end":{"line":32,"column":11}},"13":{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},"14":{"start":{"line":27,"column":27},"end":{"line":27,"column":56}},"15":{"start":{"line":28,"column":29},"end":{"line":28,"column":44}},"16":{"start":{"line":29,"column":24},"end":{"line":29,"column":217}},"17":{"start":{"line":30,"column":16},"end":{"line":30,"column":31}},"18":{"start":{"line":33,"column":8},"end":{"line":33,"column":22}},"19":{"start":{"line":35,"column":4},"end":{"line":35,"column":17}},"20":{"start":{"line":37,"column":0},"end":{"line":37,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":27},"end":{"line":13,"column":28}},"loc":{"start":{"line":13,"column":39},"end":{"line":36,"column":1}},"line":13},"2":{"name":"Linux","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":21},"end":{"line":15,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":16},"end":{"line":21,"column":17}},"loc":{"start":{"line":21,"column":28},"end":{"line":34,"column":5}},"line":21},"4":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":22},"end":{"line":25,"column":23}},"loc":{"start":{"line":25,"column":39},"end":{"line":32,"column":9}},"line":25}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":31,"column":13}},{"start":{"line":26,"column":12},"end":{"line":31,"column":13}}],"line":26},"4":{"loc":{"start":{"line":29,"column":55},"end":{"line":29,"column":100}},"type":"cond-expr","locations":[{"start":{"line":29,"column":86},"end":{"line":29,"column":87}},{"start":{"line":29,"column":90},"end":{"line":29,"column":100}}],"line":29},"5":{"loc":{"start":{"line":29,"column":102},"end":{"line":29,"column":147}},"type":"cond-expr","locations":[{"start":{"line":29,"column":133},"end":{"line":29,"column":134}},{"start":{"line":29,"column":137},"end":{"line":29,"column":147}}],"line":29},"6":{"loc":{"start":{"line":29,"column":149},"end":{"line":29,"column":194}},"type":"cond-expr","locations":[{"start":{"line":29,"column":180},"end":{"line":29,"column":181}},{"start":{"line":29,"column":184},"end":{"line":29,"column":194}}],"line":29}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":4,"10":4,"11":4,"12":4,"13":52,"14":48,"15":48,"16":48,"17":48,"18":4,"19":1,"20":1},"f":{"0":1,"1":1,"2":0,"3":4,"4":52},"b":{"0":[1,1,1],"1":[1,0],"2":[1,1],"3":[48,4],"4":[4,44],"5":[4,44],"6":[4,44]},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/platforms/linux.ts","sources":["D:/projects/node-disk-info/src/platforms/linux.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA6C;AAE7C,2DAAqC;AACrC,wCAAqC;AAErC;;GAEG;AACH;IAAA;IAoCA,CAAC;IAlCG;;;;OAIG;IACW,SAAG,GAAjB;QAEI,IAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,aAAK,CAAC,OAAO,CAAC,qBAAS,CAAC,aAAa,CAAC,CAAC;QACtD,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE5C,KAAK,CAAC,OAAO,CAAC,UAAC,KAAK;YAEhB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAEd,IAAM,IAAI,GAAW,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAM,CAAC,GAAG,IAAI,eAAK,CACf,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAClB;QAEL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEL,YAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,sBAAK","sourcesContent":["import {Constants} from '../utils/constants';\r\n\r\nimport Drive from '../classes/drive';\r\nimport {Utils} from \"../utils/utils\";\r\n\r\n/**\r\n * Class with Linux specific logic to get disk info.\r\n */\r\nexport class Linux {\r\n\r\n    /**\r\n     * Execute specific Linux command to get disk info.\r\n     *\r\n     * @return {Drive[]} List of drives and their info.\r\n     */\r\n    public static run(): Drive[] {\r\n\r\n        const drives: Drive[] = [];\r\n        const buffer = Utils.execute(Constants.LINUX_COMMAND);\r\n        const lines = buffer.toString().split('\\n');\r\n\r\n        lines.forEach((value) => {\r\n\r\n            if (value !== '') {\r\n\r\n                const line: string = value.replace(/ +(?= )/g, '');\r\n                const tokens = line.split(' ');\r\n\r\n                const d = new Drive(\r\n                    tokens[0],\r\n                    isNaN(parseFloat(tokens[1])) ? 0 : +tokens[1],\r\n                    isNaN(parseFloat(tokens[2])) ? 0 : +tokens[2],\r\n                    isNaN(parseFloat(tokens[3])) ? 0 : +tokens[3],\r\n                    tokens[4],\r\n                    tokens[5]);\r\n\r\n                drives.push(d);\r\n            }\r\n\r\n        });\r\n\r\n        return drives;\r\n    }\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"03fc31429cee3a1c5a145250e9f89466da8cefda","contentHash":"943f4d4b481a0cf5f11221717574455a17a4c4432ffda9276258296eaa87c10c"},"D:\\projects\\node-disk-info\\src\\platforms\\windows.ts":{"path":"D:\\projects\\node-disk-info\\src\\platforms\\windows.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":25}},"4":{"start":{"line":7,"column":18},"end":{"line":7,"column":47}},"5":{"start":{"line":8,"column":14},"end":{"line":8,"column":58}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":39}},"7":{"start":{"line":10,"column":19},"end":{"line":10,"column":57}},"8":{"start":{"line":14,"column":29},"end":{"line":90,"column":3}},"9":{"start":{"line":22,"column":4},"end":{"line":88,"column":6}},"10":{"start":{"line":23,"column":21},"end":{"line":23,"column":23}},"11":{"start":{"line":24,"column":21},"end":{"line":24,"column":81}},"12":{"start":{"line":25,"column":17},"end":{"line":25,"column":37}},"13":{"start":{"line":26,"column":23},"end":{"line":26,"column":25}},"14":{"start":{"line":27,"column":8},"end":{"line":41,"column":9}},"15":{"start":{"line":29,"column":16},"end":{"line":29,"column":35}},"16":{"start":{"line":30,"column":16},"end":{"line":30,"column":22}},"17":{"start":{"line":32,"column":16},"end":{"line":32,"column":35}},"18":{"start":{"line":33,"column":16},"end":{"line":33,"column":22}},"19":{"start":{"line":35,"column":16},"end":{"line":40,"column":17}},"20":{"start":{"line":36,"column":20},"end":{"line":36,"column":41}},"21":{"start":{"line":39,"column":20},"end":{"line":39,"column":34}},"22":{"start":{"line":42,"column":8},"end":{"line":42,"column":101}},"23":{"start":{"line":43,"column":20},"end":{"line":43,"column":53}},"24":{"start":{"line":44,"column":31},"end":{"line":44,"column":36}},"25":{"start":{"line":45,"column":22},"end":{"line":45,"column":24}},"26":{"start":{"line":46,"column":26},"end":{"line":46,"column":28}},"27":{"start":{"line":47,"column":24},"end":{"line":47,"column":25}},"28":{"start":{"line":48,"column":19},"end":{"line":48,"column":20}},"29":{"start":{"line":49,"column":8},"end":{"line":86,"column":11}},"30":{"start":{"line":50,"column":12},"end":{"line":85,"column":13}},"31":{"start":{"line":51,"column":29},"end":{"line":51,"column":45}},"32":{"start":{"line":52,"column":30},"end":{"line":52,"column":39}},"33":{"start":{"line":53,"column":27},"end":{"line":53,"column":36}},"34":{"start":{"line":54,"column":16},"end":{"line":68,"column":17}},"35":{"start":{"line":56,"column":24},"end":{"line":56,"column":39}},"36":{"start":{"line":57,"column":24},"end":{"line":57,"column":48}},"37":{"start":{"line":58,"column":24},"end":{"line":58,"column":30}},"38":{"start":{"line":60,"column":24},"end":{"line":60,"column":43}},"39":{"start":{"line":61,"column":24},"end":{"line":61,"column":30}},"40":{"start":{"line":63,"column":24},"end":{"line":63,"column":72}},"41":{"start":{"line":64,"column":24},"end":{"line":64,"column":30}},"42":{"start":{"line":66,"column":24},"end":{"line":66,"column":67}},"43":{"start":{"line":67,"column":24},"end":{"line":67,"column":30}},"44":{"start":{"line":71,"column":16},"end":{"line":84,"column":17}},"45":{"start":{"line":72,"column":32},"end":{"line":72,"column":48}},"46":{"start":{"line":73,"column":34},"end":{"line":73,"column":38}},"47":{"start":{"line":74,"column":20},"end":{"line":76,"column":21}},"48":{"start":{"line":75,"column":24},"end":{"line":75,"column":72}},"49":{"start":{"line":77,"column":28},"end":{"line":77,"column":101}},"50":{"start":{"line":78,"column":20},"end":{"line":78,"column":35}},"51":{"start":{"line":79,"column":20},"end":{"line":79,"column":45}},"52":{"start":{"line":80,"column":20},"end":{"line":80,"column":33}},"53":{"start":{"line":81,"column":20},"end":{"line":81,"column":37}},"54":{"start":{"line":82,"column":20},"end":{"line":82,"column":34}},"55":{"start":{"line":83,"column":20},"end":{"line":83,"column":29}},"56":{"start":{"line":87,"column":8},"end":{"line":87,"column":22}},"57":{"start":{"line":89,"column":4},"end":{"line":89,"column":19}},"58":{"start":{"line":91,"column":0},"end":{"line":91,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":29},"end":{"line":14,"column":30}},"loc":{"start":{"line":14,"column":41},"end":{"line":90,"column":1}},"line":14},"2":{"name":"Windows","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":20}},"loc":{"start":{"line":15,"column":23},"end":{"line":16,"column":5}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":18},"end":{"line":22,"column":19}},"loc":{"start":{"line":22,"column":30},"end":{"line":88,"column":5}},"line":22},"4":{"name":"(anonymous_4)","decl":{"start":{"line":49,"column":22},"end":{"line":49,"column":23}},"loc":{"start":{"line":49,"column":39},"end":{"line":86,"column":9}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":27,"column":8},"end":{"line":41,"column":9}},"type":"switch","locations":[{"start":{"line":28,"column":12},"end":{"line":30,"column":22}},{"start":{"line":31,"column":12},"end":{"line":33,"column":22}},{"start":{"line":34,"column":12},"end":{"line":40,"column":17}}],"line":27},"4":{"loc":{"start":{"line":35,"column":16},"end":{"line":40,"column":17}},"type":"if","locations":[{"start":{"line":35,"column":16},"end":{"line":40,"column":17}},{"start":{"line":35,"column":16},"end":{"line":40,"column":17}}],"line":35},"5":{"loc":{"start":{"line":50,"column":12},"end":{"line":85,"column":13}},"type":"if","locations":[{"start":{"line":50,"column":12},"end":{"line":85,"column":13}},{"start":{"line":50,"column":12},"end":{"line":85,"column":13}}],"line":50},"6":{"loc":{"start":{"line":54,"column":16},"end":{"line":68,"column":17}},"type":"switch","locations":[{"start":{"line":55,"column":20},"end":{"line":58,"column":30}},{"start":{"line":59,"column":20},"end":{"line":61,"column":30}},{"start":{"line":62,"column":20},"end":{"line":64,"column":30}},{"start":{"line":65,"column":20},"end":{"line":67,"column":30}}],"line":54},"7":{"loc":{"start":{"line":63,"column":36},"end":{"line":63,"column":71}},"type":"cond-expr","locations":[{"start":{"line":63,"column":62},"end":{"line":63,"column":63}},{"start":{"line":63,"column":66},"end":{"line":63,"column":71}}],"line":63},"8":{"loc":{"start":{"line":66,"column":31},"end":{"line":66,"column":66}},"type":"cond-expr","locations":[{"start":{"line":66,"column":57},"end":{"line":66,"column":58}},{"start":{"line":66,"column":61},"end":{"line":66,"column":66}}],"line":66},"9":{"loc":{"start":{"line":71,"column":16},"end":{"line":84,"column":17}},"type":"if","locations":[{"start":{"line":71,"column":16},"end":{"line":84,"column":17}},{"start":{"line":71,"column":16},"end":{"line":84,"column":17}}],"line":71},"10":{"loc":{"start":{"line":74,"column":20},"end":{"line":76,"column":21}},"type":"if","locations":[{"start":{"line":74,"column":20},"end":{"line":76,"column":21}},{"start":{"line":74,"column":20},"end":{"line":76,"column":21}}],"line":74}},"s":{"0":1,"1":2,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":8,"11":8,"12":8,"13":8,"14":8,"15":1,"16":1,"17":1,"18":1,"19":6,"20":5,"21":1,"22":8,"23":8,"24":8,"25":8,"26":8,"27":8,"28":8,"29":8,"30":200,"31":120,"32":120,"33":120,"34":120,"35":24,"36":24,"37":24,"38":24,"39":24,"40":24,"41":24,"42":24,"43":24,"44":80,"45":24,"46":24,"47":24,"48":24,"49":24,"50":24,"51":24,"52":24,"53":24,"54":24,"55":24,"56":8,"57":1,"58":1},"f":{"0":2,"1":1,"2":0,"3":8,"4":200},"b":{"0":[1,1,1],"1":[1,1],"2":[2,2],"3":[1,1,6],"4":[5,1],"5":[120,80],"6":[24,24,24,24],"7":[0,24],"8":[0,24],"9":[24,56],"10":[24,0]},"inputSourceMap":{"version":3,"file":"D:/projects/node-disk-info/src/platforms/windows.ts","sources":["D:/projects/node-disk-info/src/platforms/windows.ts"],"names":[],"mappings":"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","sourcesContent":["import {Constants} from '../utils/constants';\r\n\r\nimport Drive from '../classes/drive';\r\nimport {Utils} from \"../utils/utils\";\r\nimport iconv from 'iconv-lite';\r\n\r\n/**\r\n * Class with Windows specific logic to get disk info.\r\n */\r\nexport class Windows {\r\n\r\n    /**\r\n     * Execute specific Windows command to get disk info.\r\n     *\r\n     * @return {Drive[]} List of drives and their info.\r\n     */\r\n    public static run(): Drive[] {\r\n\r\n        const drives: Drive[] = [];\r\n        let buffer = Utils.execute(Constants.WINDOWS_COMMAND);\r\n        \r\n        const cp = Utils.chcp();\r\n        let encoding = '';\r\n        switch (cp) {\r\n            case '65000': // UTF-7\r\n                encoding = 'UTF-7';\r\n                break;\r\n            case '65001': // UTF-8\r\n                encoding = 'UTF-8';\r\n                break;   \r\n            default: // Other Encoding\r\n                if (/^-?[\\d.]+(?:e-?\\d+)?$/.test(cp)) {\r\n                    encoding = 'cp' + cp;\r\n                } else {\r\n                    encoding = cp;\r\n                }\r\n        }\r\n        buffer = iconv.encode(iconv.decode(buffer, encoding),'UTF-8');\r\n\r\n        const lines = buffer.toString().split('\\r\\r\\n');\r\n\r\n        let newDiskIteration = false;\r\n\r\n        let caption: string = '';\r\n        let description: string = '';\r\n        let freeSpace: number = 0;\r\n        let size: number = 0;\r\n\r\n        lines.forEach((value) => {\r\n\r\n            if (value !== '') {\r\n\r\n                const tokens = value.split('=');\r\n                const section = tokens[0];\r\n                const data = tokens[1];\r\n\r\n                switch (section) {\r\n                    case 'Caption':\r\n                        caption = data;\r\n                        newDiskIteration = true;\r\n                        break;\r\n                    case 'Description':\r\n                        description = data;\r\n                        break;\r\n                    case 'FreeSpace':\r\n                        freeSpace = isNaN(parseFloat(data)) ? 0 : +data;\r\n                        break;\r\n                    case 'Size':\r\n                        size = isNaN(parseFloat(data)) ? 0 : +data;\r\n                        break;\r\n                }\r\n\r\n            } else {\r\n\r\n                if (newDiskIteration) {\r\n\r\n                    const used: number = (size - freeSpace);\r\n\r\n                    let percent = '0%';\r\n\r\n                    if (size > 0) {\r\n                        percent = Math.round((used / size) * 100) + '%';\r\n                    }\r\n\r\n                    const d = new Drive(\r\n                        description,\r\n                        size,\r\n                        used,\r\n                        freeSpace,\r\n                        percent,\r\n                        caption);\r\n\r\n                    drives.push(d);\r\n\r\n                    newDiskIteration = false;\r\n                    caption = '';\r\n                    description = '';\r\n                    freeSpace = 0;\r\n                    size = 0;\r\n                }\r\n\r\n            }\r\n\r\n        });\r\n\r\n        return drives;\r\n    }\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b6e0c587dcd1489e27314ade9bf30f6c77142fe4","contentHash":"5616bf8767663ed0d68d6f35092e62c3a8392147410230ba85fa3a56a11e2be4"}}