{"version":3,"sources":["webpack:///js/dist/main.js","webpack:///webpack/bootstrap 7509970028fbd39add01","webpack:///./js/main.js","webpack:///../node_modules/whatwg-fetch/fetch.js","webpack:///./js/jobs-feeds.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","self","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","iterator","next","shift","done","undefined","support","iterable","Symbol","Headers","headers","this","map","forEach","append","Array","isArray","header","getOwnPropertyNames","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","length","fromCharCode","join","bufferClone","slice","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","toString","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","Error","type","rejected","then","text","decode","json","JSON","parse","normalizeMethod","method","upcased","toUpperCase","methods","indexOf","Request","input","options","url","credentials","mode","referrer","form","trim","split","bytes","replace","decodeURIComponent","parseHeaders","rawHeaders","line","parts","key","Response","bodyInit","status","ok","statusText","fetch","e","viewClasses","obj","DataView","isView","oldValue","has","callback","thisArg","keys","push","values","entries","clone","response","redirectStatuses","redirect","RangeError","location","init","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","err","window","jobFeeds","jobFeedsEl","document","getElementsByClassName","eachFeed","feeds","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","feed","jobFeedUrl","dataset","jobFeedCount","count","Number","jobFeedAdd","additional","jobFeedAppend","rss","requestRss","requestFeed","return","appendEl","str","DOMParser","parseFromString","data","getElementsByTagName","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","item","itemDate","innerHTML","itemLink","itemTitle","itemHtml","insertAdjacentHTML","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","records","_ref","_ref2","index","pubDate","link","title","itemPrimaryLoc","primaryLocation","itemSecondLocs","additionLocations","loc","catch"],"mappings":"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","file":"js/dist/main.js","sourcesContent":["/*/ (function(modules) { // webpackBootstrap\n/*/ \t// The module cache\n/*/ \tvar installedModules = {};\n/*/\n/*/ \t// The require function\n/*/ \tfunction __webpack_require__(moduleId) {\n/*/\n/*/ \t\t// Check if module is in cache\n/*/ \t\tif(installedModules[moduleId]) {\n/*/ \t\t\treturn installedModules[moduleId].exports;\n/*/ \t\t}\n/*/ \t\t// Create a new module (and put it into the cache)\n/*/ \t\tvar module = installedModules[moduleId] = {\n/*/ \t\t\ti: moduleId,\n/*/ \t\t\tl: false,\n/*/ \t\t\texports: {}\n/*/ \t\t};\n/*/\n/*/ \t\t// Execute the module function\n/*/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/*/\n/*/ \t\t// Flag the module as loaded\n/*/ \t\tmodule.l = true;\n/*/\n/*/ \t\t// Return the exports of the module\n/*/ \t\treturn module.exports;\n/*/ \t}\n/*/\n/*/\n/*/ \t// expose the modules object (__webpack_modules__)\n/*/ \t__webpack_require__.m = modules;\n/*/\n/*/ \t// expose the module cache\n/*/ \t__webpack_require__.c = installedModules;\n/*/\n/*/ \t// define getter function for harmony exports\n/*/ \t__webpack_require__.d = function(exports, name, getter) {\n/*/ \t\tif(!__webpack_require__.o(exports, name)) {\n/*/ \t\t\tObject.defineProperty(exports, name, {\n/*/ \t\t\t\tconfigurable: false,\n/*/ \t\t\t\tenumerable: true,\n/*/ \t\t\t\tget: getter\n/*/ \t\t\t});\n/*/ \t\t}\n/*/ \t};\n/*/\n/*/ \t// getDefaultExport function for compatibility with non-harmony modules\n/*/ \t__webpack_require__.n = function(module) {\n/*/ \t\tvar getter = module && module.__esModule ?\n/*/ \t\t\tfunction getDefault() { return module['default']; } :\n/*/ \t\t\tfunction getModuleExports() { return module; };\n/*/ \t\t__webpack_require__.d(getter, 'a', getter);\n/*/ \t\treturn getter;\n/*/ \t};\n/*/\n/*/ \t// Object.prototype.hasOwnProperty.call\n/*/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/*/\n/*/ \t// __webpack_public_path__\n/*/ \t__webpack_require__.p = \"\";\n/*/\n/*/ \t// Load entry module and return exports\n/*/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/*/ })\n/**/\n/*/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(1);\n\n__webpack_require__(2);\n\n__webpack_require__(3);\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n(function (window) {\n\n var jobFeeds = {\n\n // Get element and check if it exists, if not stop, if yes run function\n init: function init() {\n var jobFeedsEl = document.getElementsByClassName('JobFeed');\n\n if (!jobFeedsEl.length) {\n return;\n }\n\n this.eachFeed(jobFeedsEl);\n },\n\n // Get each feeds data attributes and append element\n eachFeed: function eachFeed(feeds) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = feeds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var feed = _step.value;\n\n var jobFeedUrl = feed.dataset.feed;\n var jobFeedCount = feed.dataset.count ? Number(feed.dataset.count) : 5;\n var jobFeedAdd = feed.dataset.additional;\n var jobFeedAppend = feed.getElementsByClassName('JobFeed-append')[0];\n var jobFeedRss = feed.dataset.rss;\n\n if (!jobFeedRss) {\n this.requestFeed(jobFeedUrl, jobFeedCount, jobFeedAdd, jobFeedAppend);\n } else {\n this.requestRss(jobFeedUrl, jobFeedAppend);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n ;\n },\n\n // if using RSS feed\n requestRss: function requestRss(url, appendEl) {\n fetch(url).then(function (response) {\n return response.text();\n }).then(function (str) {\n return new window.DOMParser().parseFromString(str, \"text/xml\");\n }).then(function (data) {\n var items = data.getElementsByTagName('item');\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var item = _step2.value;\n\n var itemDate = item.getElementsByTagName('pubDate')[0].innerHTML;\n var itemLink = item.getElementsByTagName('link')[0].innerHTML;\n var itemTitle = item.getElementsByTagName('title')[0].innerHTML;\n\n var itemHtml = '
Feed error - check feed url
');\n });\n }\n };\n\n (function () {\n jobFeeds.init();\n })();\n})(window);\n\n/***/ })\n/*/ ]);\n\n\n// WEBPACK FOOTER //\n// js/dist/main.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7509970028fbd39add01","// This is required to direct webpack toward your CSS - do not remove it.\nimport \"../css/main.css\";\nimport 'whatwg-fetch';\nimport '../js/jobs-feeds.js';\n\n// This console.log is simply here to demonstrate the use of the baseURL\n// variable, which is defined in each HTML file. You should remove it before\n// publishing your bundle; if you don't need this variable, you can, and\n// should, remove it from your HTML files, too.\n//\n// Note that in dev, this will always have a value of \"/bundle\". However, it\n// will have a dynamic value when your bundle is deployed.\n//\n// This JS will execute at the end of every page that your custom experience\n// component is referenced from. Be careful that you correctly scope your JS to\n// your component.\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/whatwg-fetch/fetch.js\n// module id = 2\n// module chunks = 0","'use strict';\n\n(function(window) {\n\n var jobFeeds = {\n\n // Get element and check if it exists, if not stop, if yes run function\n init: function() {\n const jobFeedsEl = document.getElementsByClassName('JobFeed');\n\n if (!jobFeedsEl.length) {\n return;\n }\n\n this.eachFeed(jobFeedsEl);\n },\n\n // Get each feeds data attributes and append element\n eachFeed: function(feeds) {\n for (let feed of feeds) {\n const jobFeedUrl = feed.dataset.feed;\n const jobFeedCount = feed.dataset.count ? Number(feed.dataset.count) : 5;\n const jobFeedAdd = feed.dataset.additional;\n const jobFeedAppend = feed.getElementsByClassName('JobFeed-append')[0];\n const jobFeedRss = feed.dataset.rss;\n\n if(!jobFeedRss) {\n this.requestFeed(jobFeedUrl, jobFeedCount, jobFeedAdd, jobFeedAppend);\n } else {\n this.requestRss(jobFeedUrl, jobFeedAppend);\n }\n };\n },\n\n // if using RSS feed\n requestRss: function(url, appendEl) {\n fetch(url)\n .then(response => response.text())\n .then(str => (new window.DOMParser()).parseFromString(str, \"text/xml\"))\n .then(data => {\n const items = data.getElementsByTagName('item');\n for(let item of items) {\n const itemDate = item.getElementsByTagName('pubDate')[0].innerHTML;\n const itemLink = item.getElementsByTagName('link')[0].innerHTML;\n const itemTitle = item.getElementsByTagName('title')[0].innerHTML;\n\n var itemHtml = `Feed error - check feed url
');\n })\n }\n };\n\n (function() {\n jobFeeds.init();\n })();\n\n})(window);\n\n\n\n// WEBPACK FOOTER //\n// ./js/jobs-feeds.js"],"sourceRoot":""}