diff options
Diffstat (limited to 'deps/npm/node_modules/os-locale/index.js')
-rw-r--r-- | deps/npm/node_modules/os-locale/index.js | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/deps/npm/node_modules/os-locale/index.js b/deps/npm/node_modules/os-locale/index.js deleted file mode 100644 index 8c73c99f20e..00000000000 --- a/deps/npm/node_modules/os-locale/index.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; -const execa = require('execa'); -const lcid = require('lcid'); -const mem = require('mem'); - -const defaultOptions = {spawn: true}; -const defaultLocale = 'en_US'; - -function getEnvLocale(env = process.env) { - return env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE; -} - -function parseLocale(string) { - const env = string.split('\n').reduce((env, def) => { - const [key, value] = def.split('='); - env[key] = value.replace(/^"|"$/g, ''); - return env; - }, {}); - - return getEnvLocale(env); -} - -function getLocale(string) { - return (string && string.replace(/[.:].*/, '')); -} - -function getLocales() { - return execa.stdout('locale', ['-a']); -} - -function getLocalesSync() { - return execa.sync('locale', ['-a']).stdout; -} - -function getSupportedLocale(locale, locales = '') { - return locales.includes(locale) ? locale : defaultLocale; -} - -function getAppleLocale() { - return Promise.all([ - execa.stdout('defaults', ['read', '-globalDomain', 'AppleLocale']), - getLocales() - ]).then(results => getSupportedLocale(results[0], results[1])); -} - -function getAppleLocaleSync() { - return getSupportedLocale( - execa.sync('defaults', ['read', '-globalDomain', 'AppleLocale']).stdout, - getLocalesSync() - ); -} - -function getUnixLocale() { - if (process.platform === 'darwin') { - return getAppleLocale(); - } - - return execa.stdout('locale') - .then(stdout => getLocale(parseLocale(stdout))); -} - -function getUnixLocaleSync() { - if (process.platform === 'darwin') { - return getAppleLocaleSync(); - } - - return getLocale(parseLocale(execa.sync('locale').stdout)); -} - -function getWinLocale() { - return execa.stdout('wmic', ['os', 'get', 'locale']) - .then(stdout => { - const lcidCode = parseInt(stdout.replace('Locale', ''), 16); - return lcid.from(lcidCode); - }); -} - -function getWinLocaleSync() { - const {stdout} = execa.sync('wmic', ['os', 'get', 'locale']); - const lcidCode = parseInt(stdout.replace('Locale', ''), 16); - return lcid.from(lcidCode); -} - -module.exports = mem((options = defaultOptions) => { - const envLocale = getEnvLocale(); - - let thenable; - if (envLocale || options.spawn === false) { - thenable = Promise.resolve(getLocale(envLocale)); - } else if (process.platform === 'win32') { - thenable = getWinLocale(); - } else { - thenable = getUnixLocale(); - } - - return thenable - .then(locale => locale || defaultLocale) - .catch(() => defaultLocale); -}); - -module.exports.sync = mem((options = defaultOptions) => { - const envLocale = getEnvLocale(); - - let res; - if (envLocale || options.spawn === false) { - res = getLocale(envLocale); - } else { - try { - res = process.platform === 'win32' ? getWinLocaleSync() : getUnixLocaleSync(); - } catch (_) {} - } - - return res || defaultLocale; -}); |