var path = require('path') | |
var os = require('os') | |
function data () { | |
switch (this.__platform || process.platform) { | |
case 'win32': return path.resolve(process.env.APPDATA) | |
case 'darwin': return path.resolve(path.join(home.call(this), 'Library/Application Support/')) | |
default: return process.env.XDG_CONFIG_HOME | |
? path.resolve(process.env.XDG_CONFIG_HOME) | |
: path.resolve(path.join(home.call(this), '.config/')) | |
} | |
} | |
function desktop () { | |
return path.join(home.call(this), 'Desktop') | |
} | |
function home () { | |
// io.js >= 2.3 | |
if ('homedir' in os) return os.homedir() | |
switch (this.__platform || process.platform) { | |
case 'win32': return path.resolve(process.env.USERPROFILE) | |
default: return path.resolve(process.env.HOME) | |
} | |
} | |
function tmp () { | |
switch (this.__platform || process.platform) { | |
case 'win32': return path.resolve(process.env.TEMP) | |
default: return path.resolve('/tmp') | |
} | |
} | |
var ospath = { | |
__platform: process.platform, | |
data: data, | |
desktop: desktop, | |
home: home, | |
tmp: tmp | |
} | |
module.exports = ospath | |