UNPKG

detect-environment

Version:

Detect environments in JavaScript similar to the way Laravel does

96 lines (71 loc) 2.03 kB
'use strict'; var // hasProp = require('has-own-prop'), /** * */ findAliasName = function findAliasName (options, envName) { // if (!options.fallback || typeof options.fallback !== 'string') { throw new TypeError('findAliasName:'); } // if (!envName || typeof envName !== 'string') { envName = options.fallback; } var // aliases = options.aliases, // found = false, // key; // if (options.aliases === null) { return envName; } // if (Object.prototype.toString.call(aliases) !== '[object Object]') { throw new TypeError('findAliasName:'); } // for (key in aliases) { if (hasProp(aliases, key)) { // if (!aliases[key]) { throw new TypeError('findAliasName:'); } // if (typeof aliases[key] === 'string') { aliases[key] = [aliases[key]]; } // if (!Array.isArray(aliases[key])) { throw new TypeError('findAliasName:'); } // found = aliases[key].some(function (alias) { // if (!alias || typeof alias !== 'string') { throw new TypeError('findAliasName:'); } // if (alias === envName) { envName = key; return true; } // return false; }); // if (found) { break; } } } // return envName; }; // Expose to node.js module.exports = findAliasName;