2016-10-10 02:26:47 -08:00
|
|
|
/*
|
|
|
|
|
* Based on https://github.com/kevva/executable
|
|
|
|
|
* Since this module doesn't expose the function to check stat mode only,
|
|
|
|
|
* his logic is pasted here.
|
|
|
|
|
*
|
|
|
|
|
* Opened an issue and a pull request about it,
|
|
|
|
|
* to maybe switch to module in the future:
|
|
|
|
|
*
|
|
|
|
|
* Issue: https://github.com/kevva/executable/issues/9
|
|
|
|
|
* PR: https://github.com/kevva/executable/pull/10
|
|
|
|
|
*/
|
2016-08-01 14:52:21 -08:00
|
|
|
|
2016-10-25 04:53:15 -08:00
|
|
|
export default function isExecutable(fileStat) {
|
2016-09-21 06:27:11 -08:00
|
|
|
if (process.platform === 'win32') {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2016-08-01 14:52:21 -08:00
|
|
|
|
2017-09-10 05:35:10 -08:00
|
|
|
return Boolean(fileStat.mode & 0o0001 || fileStat.mode & 0o0010 || fileStat.mode & 0o0100);
|
2016-08-01 14:52:21 -08:00
|
|
|
}
|