{"version":3,"file":"js/910.js","mappings":"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","sources":["webpack://bizsignupnodeweb/./public/js/lib/datadog.js","webpack://bizsignupnodeweb/./public/js/app.js"],"sourcesContent":["import { datadogRum } from '@datadog/browser-rum';\n\nconst packageJson = require('../../../package.json');\n\nconst SERVICE_NAME = 'bizsignupnodeweb';\nconst APPLICATION_ID = {\n PRODUCTION: 'c1247f18-569f-4259-8b4b-dd0a8a299cd3',\n SANDBOX: '05b5f3da-6017-44f3-8d87-8fa7163ac13e',\n QA: '034eefd4-2de9-4d46-b505-78f233a8fd1e'\n};\nconst CLIENT_ID = {\n PRODUCTION: 'pub77781d567ea687eb7d6c328c01ebda6d',\n SANDBOX: 'pub284461fd8384156f9458b04eb707c52a',\n QA: 'pub5a042a7dd0648739e28649f7f04e1880'\n};\n\nconst DATADOG_RUM_SITE = 'us5.datadoghq.com';\n\n/* istanbul ignore next */\nfunction getClientEnvironment() {\n const hostname = typeof window !== 'undefined' ? window.location.host : '';\n if (hostname.includes('localhost')) {\n return 'DEVELOPMENT';\n }\n if (hostname.includes('qa.paypal.com')) {\n return 'STAGE';\n }\n if (hostname.includes('sandbox.paypal.com')) {\n return 'SANDBOX';\n }\n if (hostname.includes('paypal.com')) {\n return 'PRODUCTION';\n }\n\n return undefined;\n}\n\n/* istanbul ignore next */\nfunction getDDTraceLink(correlationId) {\n const environment = getClientEnvironment();\n switch (environment) {\n case 'PRODUCTION':\n return `https://go/ddprod/trace?${correlationId}`;\n case 'SANDBOX':\n return `https://go/ddsb/trace?${correlationId}`;\n default:\n return `https://go/ddqa/trace?${correlationId}`;\n }\n}\n\n/* istanbul ignore next */\nfunction getCalLogLink(correlationId) {\n const environment = getClientEnvironment();\n switch (environment) {\n case 'PRODUCTION':\n return `https://go/ddprod/tocal?${correlationId}`;\n case 'SANDBOX':\n return `https://go/ddsb/tocal?${correlationId}`;\n default:\n return `https://go/ddqa/tocal?${correlationId}`;\n }\n}\n\n/* istanbul ignore next */\nfunction getApplicationId() {\n const environment = getClientEnvironment();\n switch (environment) {\n case 'PRODUCTION':\n return APPLICATION_ID.PRODUCTION;\n case 'SANDBOX':\n return APPLICATION_ID.SANDBOX;\n default:\n return APPLICATION_ID.QA;\n }\n}\n\n/* istanbul ignore next */\nfunction getClientToken() {\n const environment = getClientEnvironment();\n switch (environment) {\n case 'PRODUCTION':\n return CLIENT_ID.PRODUCTION;\n case 'SANDBOX':\n return CLIENT_ID.SANDBOX;\n default:\n return CLIENT_ID.QA;\n }\n}\n\n/* istanbul ignore next */\nfunction addCorrelationIdToContext(event, correlationId) {\n if (correlationId && typeof correlationId === 'string') {\n event.context.correlationId = correlationId;\n\n const ddTraceLink = getDDTraceLink(correlationId);\n const calLogLink = getCalLogLink(correlationId);\n event.context['dd-trace-url'] = ddTraceLink;\n event.context['external-cal-url'] = calLogLink;\n }\n}\n\nexport function initDatadogRum() {\n /* istanbul ignore next */\n if (typeof window !== 'undefined') {\n // init Datadog RUM\n /* istanbul ignore next */\n datadogRum.init({\n // properties for identifying and authenticating the application with RUM\n applicationId: getApplicationId(),\n clientToken: getClientToken(),\n site: DATADOG_RUM_SITE,\n service: SERVICE_NAME,\n version: packageJson.version,\n env: process.env.NODE_ENV,\n // sampling must be set at 100 for session and 0 for recording. retention will be controlled on the backend in Datadog\n sessionSampleRate: 100,\n sessionReplaySampleRate: 0,\n // auto-instrumentations\n trackUserInteractions: true,\n trackResources: true,\n trackLongTasks: true,\n // privacy defaults to prevent leaking PII\n defaultPrivacyLevel: 'mask',\n enablePrivacyForActionName: true,\n // exclude log, tealeaf, and fpti endpoints which are not tied to user interactions from activity tracking\n excludedActivityUrls: [/log/i, /fpti/i, /tealeaf/i, /tracking\\/ts/i],\n // exclude log, tealeaf, and fpti endpoints which are not tied to user interactions from universal tracing\n allowedTracingUrls: [\n (url) =>\n !(\n url.toLowerCase().includes('log') ||\n url.toLowerCase().includes('fpti') ||\n url.toLowerCase().includes('tealeaftarget') ||\n url.toLowerCase().includes('tracking/ts')\n ) && url.includes('paypal.com')\n ],\n beforeSend(event, context) {\n // modify RUM events to include the correlationId and links to logs and traces\n // for the request because we don't yet have universal tracing\n if (event.type === 'resource') {\n // handle fetch\n if ('response' in context && context.response && context.response.headers) {\n const correlationId = context.response.headers.get('Paypal-Debug-Id');\n addCorrelationIdToContext(event, correlationId);\n }\n // handle XHR\n if (\n 'xhr' in context &&\n context.xhr &&\n 'getResponseHeader' in context.xhr &&\n typeof context.xhr.getResponseHeader === 'function'\n ) {\n const correlationId = context.xhr.getResponseHeader('Paypal-Debug-Id');\n addCorrelationIdToContext(event, correlationId);\n }\n }\n return true;\n }\n });\n }\n}\n","/* global __DEV__ PAYPAL */\nimport 'core-js/stable'; // polyfills\nimport 'regenerator-runtime/runtime';\nimport 'core-js/modules/es.promise'; // dynamic imports on legacy browsers\nimport 'core-js/modules/es.array.iterator'; // dynamic imports on legacy browsers\n\n// eslint-disable-next-line no-unused-vars\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport validator from 'f0-validator';\nimport { formActions } from 'f0';\nimport get from 'lodash.get';\nimport path from 'path';\n\nimport appConstants from '../../config/metadata/app-constants.json';\nimport falconCompDefs from './componentDefinitions';\nimport adroitCompDefs from '@paypalcorp/adroit-f0-components';\nimport { WorldReady } from '@paypalcorp/worldready';\nimport { initDatadogRum } from './lib/datadog';\n\ninitDatadogRum();\n\nimport * as getStore from './lib/store';\nimport * as routes from './lib/routes';\nimport * as getTracking from './lib/tracking';\nimport * as asyncLoad from './lib/asyncLoad';\n\nconst componentDefinitions = Object.assign({}, falconCompDefs, adroitCompDefs);\n\nconst initializeAction = formActions.initialize,\n flowUrl = path.join(appConstants.mountpath, '/shared/flows'),\n requestHeaderKey = 'accept',\n requestHeaderValue = 'application/json',\n RENDER_TARGET_ID = 'page-content';\n\n// Polyfill to support react-intl dependency on all browsers.\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && !window.Intl) {\n import('intl').then(md => window.Intl = md.default);\n}\n\n// Dynamically create routes\nconst _setupRouting = (params) => {\n // Initialize the router with form map from payload\n ReactDOM.render(routes.getRoutes(params), document.getElementById(RENDER_TARGET_ID));\n};\n\n// In case geo - location details are needed use response.locationDetails\nconst _initialize = ({\n form,\n data,\n csrf,\n locale,\n nonce,\n content,\n directionality,\n countryCode,\n tracking,\n eventHandlers,\n validationKey,\n flashMessages,\n authorizations,\n pphRenderNewContent,\n worldReadyDataHandler\n}) => {\n const initialStoreState = getStore.init({\n locale,\n nonce,\n messages: content,\n countryCode,\n directionality,\n worldReadyDataHandler,\n pphRenderNewContent,\n authorizations,\n flashMessages,\n fields: data,\n validationKey,\n _csrf: csrf,\n tracking,\n form\n });\n\n // allow f0-validator to access Griffin metadata for validations\n // removing will break validations!\n\n WorldReady.load(worldReadyDataHandler.worldReady);\n validator.initializeWorldReadyMetadata(worldReadyDataHandler);\n\n const store = getStore.create(initialStoreState);\n\n // Render app with form map and locale bundles\n _setupRouting({\n store,\n form,\n eventHandlers,\n initialize: () => {\n store.dispatch(initializeAction({\n componentDefinitions\n }));\n }\n });\n};\n\nfunction _initializeApp(response) {\n return function(flowBundle) {\n // Merge static content with messages\n response.content.messages = Object.assign(\n {},\n response.content.messages,\n { static: response.content.static }\n );\n\n response = getTracking.init(response);\n\n _initialize({\n ...response,\n locale: response.content.locale,\n nonce: response.content.nonce,\n countryCode: response.content.countryCode,\n directionality: response.content.directionality,\n content: response.content.messages,\n basePath: appConstants.mountpath,\n eventHandlers: flowBundle.eventHandlers,\n worldReadyDataHandler: response.content.worldReadyDataHandler,\n pphRenderNewContent: response.content.pphRenderNewContent\n });\n };\n}\n\nconst resolveFlowConfig = () => {\n return new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', flowUrl + '?t=' + Date.now());\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n let response = xhr.response;\n if (typeof response === 'string') {\n // internet explorer doesn't support XMLHttpRequest.responseType = json\n response = JSON.parse(response);\n }\n if (!__DEV__ && (!response || !response.form)) {\n reject(new Error(`No form in response | response: ${xhr.response}`));\n }\n resolve(response);\n\n } else {\n // eslint-disable-next-line no-console\n reject(xhr.response);\n }\n }\n };\n xhr.responseType = 'json';\n if (requestHeaderKey && requestHeaderValue) {\n xhr.setRequestHeader(requestHeaderKey, requestHeaderValue);\n }\n xhr.send();\n });\n};\n\nfunction start() {\n // Get flow.json to generate flow\n const validationAndEventHandlerKeys = JSON.parse(document.body.getAttribute('data-flowId')); // {\"validationKey\":[\"LUX\",\"IE\",\"no_intent\"],\"eventHandlersKey\":[\"LUX\",\"IE\",\"no_intent\"]}\n Promise.all([\n resolveFlowConfig(),\n asyncLoad.flowData(validationAndEventHandlerKeys, componentDefinitions)\n ]).then(([config, { eventHandlers }]) => {\n const response = { ...config };\n _initializeApp(response)({ eventHandlers });\n\n }).catch(err => {\n // eslint-disable-next-line no-console\n console.error('Error starting application. Please contact Customer Service', err);\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Application error'), `Error resolving flow in app.js: ${err}`);\n }\n let { origin } = window.location;\n window.location = origin;\n });\n\n /*\n * Remove any query parameters (eg. partner params) from the url so it's cleaner.\n * This is not required hence no else part\n *\n */\n const href = get(window, 'location.href');\n if (typeof get(window, 'history.replaceState') === 'function' && typeof href === 'string') { // For API support visit https://caniuse.com/#feat=history\n window.history.replaceState(null, null, href.split('?')[0]);\n }\n}\n\nstart();\n"],"names":["packageJson","require","APPLICATION_ID","PRODUCTION","SANDBOX","QA","CLIENT_ID","getClientEnvironment","hostname","window","location","host","includes","getApplicationId","getClientToken","addCorrelationIdToContext","event","correlationId","context","ddTraceLink","getDDTraceLink","calLogLink","getCalLogLink","datadogRum","init","applicationId","clientToken","site","service","version","env","process","sessionSampleRate","sessionReplaySampleRate","trackUserInteractions","trackResources","trackLongTasks","defaultPrivacyLevel","enablePrivacyForActionName","excludedActivityUrls","allowedTracingUrls","url","toLowerCase","beforeSend","type","response","headers","get","xhr","getResponseHeader","componentDefinitions","Object","assign","falconCompDefs","adroitCompDefs","initializeAction","formActions","initialize","flowUrl","path","appConstants","requestHeaderKey","requestHeaderValue","Intl","then","md","default","_initialize","_ref","form","data","csrf","locale","nonce","content","directionality","countryCode","tracking","eventHandlers","validationKey","flashMessages","authorizations","pphRenderNewContent","worldReadyDataHandler","initialStoreState","getStore","messages","fields","_csrf","WorldReady","load","worldReady","validator","store","params","dispatch","ReactDOM","routes","document","getElementById","validationAndEventHandlerKeys","JSON","parse","body","getAttribute","Promise","all","resolve","reject","XMLHttpRequest","open","Date","now","onreadystatechange","readyState","status","Error","responseType","setRequestHeader","send","asyncLoad","_ref2","config","flowBundle","static","getTracking","basePath","_initializeApp","catch","err","console","error","PAYPAL","analytics","logJSError","origin","href","history","replaceState","split","start"],"sourceRoot":""}