{"version":3,"sources":["webpack:///./src/js/constants/index.js","webpack:///./src/js/modules/news-media/LoadNews.js","webpack:///./src/js/modules/news-media/News.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/toNumber.js"],"names":["URLS","ONETREE_API_URL","process","ONEWORLD_API_URL","KEYS","LOUNGES_APP_KEY","AIRPORT_APP_KEY","ONEWORLD_APP_KEY","IDS","AIRPORT_APP_ID","LOUNGES_APP_ID","ONEWORLD_APP_ID","ENDPOINTS","getAirports","findLounges","searchFlights","getAirlines","deepLink","TIERSMAP","SapphireAndHigher","RubyAndHigher","Emerald","Sapphire","Ruby","ACCESS_CLASS_MAP","BusinessAndHigher","First","AMENITIES_ARRAY","FACILITIES_ARRAY","FOOD_BEVERAGE_ARRAY","ENTERTAINMENT_COMMS_ARRAY","AIRLINE_LOGOS","KA","4M","XL","DATE_FORMAT","FLIGHT_DATE_FORMAT","BREAKPOINT","mobile","tablet","desktop","wide","url","renderItem","$","getJSON","then","response","articles","length","items","map","article","imageUrl","headline","renderImage","type","dateFormatted","renderArticle","join","render","_core","__webpack_require__","_constants","News","Component","_this2","this","dom","$window","window","$slider","$el","find","$list","$pagination","width","document","body","clientWidth","data","_LoadNews2","default","news","html","$items","on","_debounce2","handleResize","bind","swiper","destroy","removeStructure","update","createStructure","Swiper","slidesPerView","loop","pagination","el","addClass","removeClass","empty","freeGlobal","freeSelf","self","Object","root","Function","module","exports","value","Symbol","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","undefined","baseGetTag","isObjectLike","symbolTag","global","g","eval","e","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","isOwn","call","tag","unmasked","result","isObject","now","toNumber","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","arguments","leadingEdge","cancel","clearTimeout","flush","Date","isSymbol","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","replace","isBinary","test","slice"],"mappings":"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","file":"54.888ad2e208dda75c37b5.bundle.js","sourcesContent":["const { NODE_ENV } = process.env;\nconst dev = NODE_ENV === 'development';\n\n//urls\nexport const URLS = {\n ONETREE_API_URL: dev\n ? process.env.ONETREE_API_STAGING_URL\n : process.env.ONETREE_API_PROD_URL,\n ONEWORLD_API_URL: dev\n ? process.env.ONEWORLD_API_STAGING_ENDPOINT\n : process.env.ONEWORLD_API_PROD_ENDPOINT\n};\n\n//keys\nexport const KEYS = {\n LOUNGES_APP_KEY: dev\n ? process.env.LOUNGES_STAGING_APP_KEY\n : process.env.LOUNGES_PROD_APP_KEY,\n AIRPORT_APP_KEY: dev\n ? process.env.AIRPORT_STAGING_APP_KEY\n : process.env.AIRPORT_PROD_APP_KEY,\n ONEWORLD_APP_KEY: dev\n ? process.env.ONEWORLD_STAGING_APP_KEY\n : process.env.ONEWORLD_PROD_APP_KEY\n};\n\nexport const IDS = {\n AIRPORT_APP_ID: process.env.AIRPORT_APP_ID,\n LOUNGES_APP_ID: process.env.LOUNGES_APP_ID,\n ONEWORLD_APP_ID: process.env.ONEWORLD_APP_ID\n};\n\n// endpoints\nexport const ENDPOINTS = {\n // GET\n getAirports: `${URLS.ONETREE_API_URL}/wayfinding/v1/Airports`,\n findLounges: `${URLS.ONETREE_API_URL}/lounge/v1/lounges/airport`,\n searchFlights: `${URLS.ONEWORLD_API_URL}/onetree-api/api/v1/flight-search`,\n getAirlines: `${URLS.ONEWORLD_API_URL}/onetree-api/api/v1/airlines`,\n deepLink: `${URLS.ONEWORLD_API_URL}/onetree-api/api/v1/deep-link`\n};\n\nexport const TIERSMAP = {\n SapphireAndHigher: ['Sapphire', 'Emerald'],\n RubyAndHigher: ['Ruby', 'Sapphire', 'Emerald'],\n Emerald: ['Emerald'],\n Sapphire: ['Sapphire'],\n Ruby: ['Ruby']\n};\n\nexport const ACCESS_CLASS_MAP = {\n BusinessAndHigher: ['Business', 'First'],\n First: ['First']\n};\n\nexport const AMENITIES_ARRAY = [\n 'BusinessCenter',\n 'TV',\n 'FoodBeverageSnackBuffet',\n 'Phone',\n 'PreFlightDinner',\n 'RelaxationRoom',\n 'Shower',\n 'SPA',\n 'WheelchairAccess',\n 'WiFi'\n];\n\nexport const FACILITIES_ARRAY = [\n 'BusinessCenter',\n 'FoodBeverageHotBuffet',\n 'WheelchairAccess',\n 'Shower',\n 'AirConditioning',\n 'Restroom',\n 'RunwayViews',\n 'FlighInformationScreen'\n];\n\nexport const FOOD_BEVERAGE_ARRAY = [\n 'FoodBeverageSnackBuffet',\n 'FoodBeveragesAlcoholic',\n 'FoodBeverageChampagne',\n 'FoodBeverageHotBuffet',\n 'FoodBeverageHotFood',\n 'FoodBeverageAlaCarte',\n 'FoodBeverageVegetarian',\n 'FoodBeverageWaiter',\n 'PreFlightDinner',\n 'FoodBeverageSpecialCoffee'\n];\n\nexport const ENTERTAINMENT_COMMS_ARRAY = [\n 'TV',\n 'EthernetConnection',\n 'ChargingFacticilites',\n 'Phone',\n 'ReadingMaterials'\n];\n\nexport const AIRLINE_LOGOS = {\n KA: '/images/airlines/cathay-dragon/cathay-dragon-logo.png',\n '4M': '/images/airlines/latam/latam-logo.png',\n XL: '/images/airlines/latam/latam-logo.png'\n};\n\nexport const DATE_FORMAT = 'm/d/Y';\nexport const FLIGHT_DATE_FORMAT = 'd/M/Y';\n\n// breakpoints\nexport const BREAKPOINT = {\n mobile: 320,\n tablet: 768,\n desktop: 1025,\n wide: 1440\n};\n","function loadNews(url, renderItem) {\n return $.getJSON(url).then(response => render(response, renderItem));\n}\n\nfunction render(response, renderItem) {\n const { articles } = response;\n if (articles && articles.length) {\n const items = articles.map(article => renderItem(renderArticle(article)));\n return items.join('');\n }\n return '';\n}\n\nfunction renderArticle(article) {\n return `\n \n
\n
\n ${renderImage(article)}\n
\n
\n ${article.type}\n

${article.headline}

\n ${article.dateFormatted}\n
\n
\n
\n `;\n}\n\nfunction renderImage(article) {\n if (article.imageUrl) {\n return /*HTML*/ `\n \"${article.headline}\"\n\n `;\n }\n return '';\n}\n\nexport default loadNews;\n","import { Component } from '@verndale/core';\nimport Swiper from 'swiper';\nimport debounce from 'lodash/debounce';\nimport loadNews from './LoadNews';\nimport { BREAKPOINT } from '../../constants';\n\nclass News extends Component {\n setupDefaults() {\n this.dom = {\n $window: $(window),\n $slider: this.$el.find('.news__slider'),\n $list: this.$el.find('.news__list'),\n $pagination: this.$el.find('.swiper-pagination')\n };\n this.width = document.body.clientWidth;\n\n const url = this.$el.data('url');\n\n if (url) {\n loadNews(url, this.renderItem).then(news => {\n this.dom.$list.html(news);\n this.dom.$items = this.$el.find('.news__item');\n //this.initSwiper();\n });\n } else {\n //this.initSwiper();\n }\n }\n\n addListeners() {\n this.dom.$window.on('resize', debounce(::this.handleResize, 300));\n }\n\n renderItem(article) {\n return `
${article}
`;\n }\n\n handleResize() {\n if (this.width !== document.body.clientWidth) {\n this.width = document.body.clientWidth;\n //this.initSwiper();\n }\n }\n\n initSwiper() {\n if (document.body.clientWidth >= BREAKPOINT.tablet) {\n if (this.swiper) {\n this.swiper.destroy();\n this.removeStructure();\n this.swiper = null;\n }\n return;\n }\n if (this.swiper) {\n this.swiper.update();\n return;\n }\n this.createStructure();\n this.swiper = new Swiper('.news__slider', {\n slidesPerView: 'auto',\n loop: true,\n pagination: {\n el: '.swiper-pagination'\n }\n });\n }\n\n createStructure() {\n this.dom.$slider.addClass('swiper-container');\n this.dom.$list.addClass('swiper-wrapper');\n this.dom.$items.addClass('swiper-slide');\n }\n\n removeStructure() {\n this.dom.$slider.removeClass('swiper-container');\n this.dom.$list.removeClass('swiper-wrapper');\n this.dom.$items\n .removeClass('swiper-slide')\n .removeClass('swiper-slide-duplicate-active')\n .removeClass('swiper-slide-duplicate-next')\n .removeClass('swiper-slide-duplicate-prev');\n this.dom.$pagination.empty();\n }\n}\n\nexport default News;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n"],"sourceRoot":""}