@adobe/alloy 2.21.1 → 2.22.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/babel.config.cjs +0 -1
  2. package/libEs5/baseCode/index.js +3 -2
  3. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +23 -20
  4. package/libEs5/components/ActivityCollector/configValidators.js +2 -2
  5. package/libEs5/components/ActivityCollector/createClickActivityStorage.js +11 -9
  6. package/libEs5/components/ActivityCollector/createClickedElementProperties.js +39 -32
  7. package/libEs5/components/ActivityCollector/createGetClickedElementProperties.js +28 -20
  8. package/libEs5/components/ActivityCollector/createInjectClickedElementProperties.js +24 -21
  9. package/libEs5/components/ActivityCollector/createRecallAndInjectClickedElementProperties.js +10 -8
  10. package/libEs5/components/ActivityCollector/createStorePageViewProperties.js +6 -4
  11. package/libEs5/components/ActivityCollector/getLinkName.js +19 -18
  12. package/libEs5/components/ActivityCollector/getLinkRegion.js +10 -9
  13. package/libEs5/components/ActivityCollector/index.js +61 -45
  14. package/libEs5/components/ActivityCollector/utils/activityMapExtensionEnabled.js +3 -5
  15. package/libEs5/components/ActivityCollector/utils/createTransientStorage.js +7 -6
  16. package/libEs5/components/ActivityCollector/utils/determineLinkType.js +4 -3
  17. package/libEs5/components/ActivityCollector/utils/dom/elementHasClickHandler.js +3 -2
  18. package/libEs5/components/ActivityCollector/utils/dom/extractDomain.js +5 -4
  19. package/libEs5/components/ActivityCollector/utils/dom/findClickableElement.js +4 -3
  20. package/libEs5/components/ActivityCollector/utils/dom/getAbsoluteUrlFromAnchorElement.js +11 -8
  21. package/libEs5/components/ActivityCollector/utils/dom/isButtonSubmitElement.js +3 -2
  22. package/libEs5/components/ActivityCollector/utils/dom/isDownloadLink.js +6 -5
  23. package/libEs5/components/ActivityCollector/utils/dom/isExitLink.js +6 -5
  24. package/libEs5/components/ActivityCollector/utils/dom/isInputSubmitElement.js +4 -3
  25. package/libEs5/components/ActivityCollector/utils/dom/isSupportedAnchorElement.js +3 -2
  26. package/libEs5/components/ActivityCollector/utils/dom/isSupportedTextNode.js +4 -3
  27. package/libEs5/components/ActivityCollector/utils/hasPageName.js +4 -3
  28. package/libEs5/components/ActivityCollector/utils/isDifferentDomains.js +5 -4
  29. package/libEs5/components/ActivityCollector/utils/trimQueryFromUrl.js +5 -4
  30. package/libEs5/components/ActivityCollector/utils/truncateWhiteSpace.js +3 -2
  31. package/libEs5/components/ActivityCollector/utils/urlStartsWithScheme.js +3 -2
  32. package/libEs5/components/Audiences/index.js +13 -12
  33. package/libEs5/components/Audiences/injectProcessDestinations.js +32 -35
  34. package/libEs5/components/Audiences/injectProcessResponse.js +19 -16
  35. package/libEs5/components/Context/createComponent.js +10 -13
  36. package/libEs5/components/Context/implementationDetails.js +5 -4
  37. package/libEs5/components/Context/index.js +24 -28
  38. package/libEs5/components/Context/injectDevice.js +23 -15
  39. package/libEs5/components/Context/injectEnvironment.js +17 -12
  40. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +12 -21
  41. package/libEs5/components/Context/injectPlaceContext.js +8 -7
  42. package/libEs5/components/Context/injectTimestamp.js +6 -5
  43. package/libEs5/components/Context/injectWeb.js +6 -5
  44. package/libEs5/components/DataCollector/index.js +37 -38
  45. package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
  46. package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -4
  47. package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +11 -8
  48. package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +10 -7
  49. package/libEs5/components/DecisioningEngine/constants.js +3 -3
  50. package/libEs5/components/DecisioningEngine/createApplyResponse.js +15 -15
  51. package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -13
  52. package/libEs5/components/DecisioningEngine/createContextProvider.js +48 -44
  53. package/libEs5/components/DecisioningEngine/createDecisionHistory.js +7 -5
  54. package/libEs5/components/DecisioningEngine/createDecisionProvider.js +16 -21
  55. package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +39 -37
  56. package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +21 -19
  57. package/libEs5/components/DecisioningEngine/createEventRegistry.js +63 -67
  58. package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +23 -22
  59. package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +100 -55
  60. package/libEs5/components/DecisioningEngine/index.js +83 -54
  61. package/libEs5/components/DecisioningEngine/utils.js +43 -38
  62. package/libEs5/components/EventMerge/createComponent.js +5 -3
  63. package/libEs5/components/EventMerge/createEventMergeId.js +3 -2
  64. package/libEs5/components/EventMerge/index.js +1 -1
  65. package/libEs5/components/Identity/addEcidQueryToPayload.js +3 -2
  66. package/libEs5/components/Identity/addEcidToPayload.js +3 -2
  67. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +13 -23
  68. package/libEs5/components/Identity/configValidators.js +1 -1
  69. package/libEs5/components/Identity/constants/authState.js +3 -3
  70. package/libEs5/components/Identity/createComponent.js +39 -33
  71. package/libEs5/components/Identity/createLegacyIdentity.js +29 -29
  72. package/libEs5/components/Identity/getEcidFromResponse.js +5 -7
  73. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +17 -15
  74. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +10 -8
  75. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +5 -4
  76. package/libEs5/components/Identity/index.js +61 -62
  77. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +8 -6
  78. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +46 -52
  79. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +14 -11
  80. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +25 -24
  81. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +6 -4
  82. package/libEs5/components/Identity/injectProcessIdSyncs.js +20 -22
  83. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +7 -5
  84. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +8 -6
  85. package/libEs5/components/Identity/visitorService/getVisitor.js +4 -3
  86. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +15 -13
  87. package/libEs5/components/LegacyMediaAnalytics/constants/constants.js +9 -9
  88. package/libEs5/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +2 -2
  89. package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +61 -63
  90. package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +38 -37
  91. package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +54 -52
  92. package/libEs5/components/LegacyMediaAnalytics/index.js +32 -33
  93. package/libEs5/components/LibraryInfo/index.js +23 -30
  94. package/libEs5/components/MachineLearning/index.js +1 -1
  95. package/libEs5/components/MachineLearning/processResponse.js +5 -3
  96. package/libEs5/components/Personalization/constants/loggerMessage.js +2 -2
  97. package/libEs5/components/Personalization/constants/scopeType.js +3 -3
  98. package/libEs5/components/Personalization/constants/surface.js +4 -4
  99. package/libEs5/components/Personalization/createActionsProvider.js +37 -32
  100. package/libEs5/components/Personalization/createApplyPropositions.js +71 -81
  101. package/libEs5/components/Personalization/createClickStorage.js +30 -32
  102. package/libEs5/components/Personalization/createComponent.js +65 -74
  103. package/libEs5/components/Personalization/createFetchDataHandler.js +83 -52
  104. package/libEs5/components/Personalization/createGetPageLocation.js +6 -6
  105. package/libEs5/components/Personalization/createHandleConsentFlicker.js +15 -14
  106. package/libEs5/components/Personalization/createInteractionStorage.js +25 -39
  107. package/libEs5/components/Personalization/createNotificationHandler.js +9 -10
  108. package/libEs5/components/Personalization/createOnClickHandler.js +29 -25
  109. package/libEs5/components/Personalization/createOnDecisionHandler.js +23 -21
  110. package/libEs5/components/Personalization/createPersonalizationDetails.js +39 -45
  111. package/libEs5/components/Personalization/createPreprocessors.js +7 -7
  112. package/libEs5/components/Personalization/createSetTargetMigration.js +6 -4
  113. package/libEs5/components/Personalization/createViewCacheManager.js +29 -32
  114. package/libEs5/components/Personalization/createViewChangeHandler.js +35 -20
  115. package/libEs5/components/Personalization/dom-actions/action.js +24 -25
  116. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +12 -13
  117. package/libEs5/components/Personalization/dom-actions/appendHtml.js +8 -7
  118. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +28 -33
  119. package/libEs5/components/Personalization/dom-actions/clicks/collectInteractions.js +37 -40
  120. package/libEs5/components/Personalization/dom-actions/collectInteractions.js +3 -2
  121. package/libEs5/components/Personalization/dom-actions/createPreprocess.js +10 -11
  122. package/libEs5/components/Personalization/dom-actions/createRedirect.js +11 -13
  123. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +3 -2
  124. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +3 -2
  125. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +6 -3
  126. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +6 -3
  127. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +3 -3
  128. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +3 -2
  129. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +3 -2
  130. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +7 -6
  131. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +3 -2
  132. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +7 -7
  133. package/libEs5/components/Personalization/dom-actions/dom/index.js +14 -14
  134. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +4 -3
  135. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +4 -3
  136. package/libEs5/components/Personalization/dom-actions/dom/isDomElement.js +2 -3
  137. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -5
  138. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +3 -2
  139. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +39 -38
  140. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +3 -2
  141. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +4 -3
  142. package/libEs5/components/Personalization/dom-actions/images.js +10 -9
  143. package/libEs5/components/Personalization/dom-actions/index.js +1 -1
  144. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +40 -25
  145. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +9 -8
  146. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +8 -7
  147. package/libEs5/components/Personalization/dom-actions/prependHtml.js +13 -10
  148. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +9 -7
  149. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +14 -9
  150. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +16 -14
  151. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +4 -3
  152. package/libEs5/components/Personalization/dom-actions/scripts.js +58 -38
  153. package/libEs5/components/Personalization/dom-actions/setAttributes.js +4 -3
  154. package/libEs5/components/Personalization/dom-actions/setHtml.js +5 -4
  155. package/libEs5/components/Personalization/dom-actions/setStyles.js +8 -8
  156. package/libEs5/components/Personalization/dom-actions/setText.js +3 -2
  157. package/libEs5/components/Personalization/dom-actions/swapImage.js +3 -2
  158. package/libEs5/components/Personalization/flicker/index.js +66 -49
  159. package/libEs5/components/Personalization/handlers/createDecorateProposition.js +16 -13
  160. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +45 -50
  161. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +30 -29
  162. package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +35 -31
  163. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +109 -105
  164. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +38 -28
  165. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +59 -67
  166. package/libEs5/components/Personalization/handlers/processDefaultContent.js +3 -2
  167. package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +140 -121
  168. package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +4 -5
  169. package/libEs5/components/Personalization/in-app-message-actions/utils.js +23 -19
  170. package/libEs5/components/Personalization/index.js +120 -103
  171. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +10 -10
  172. package/libEs5/components/Personalization/utils/createAsyncArray.js +10 -9
  173. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +3 -3
  174. package/libEs5/components/Personalization/utils/metaUtils.js +14 -19
  175. package/libEs5/components/Personalization/utils/surfaceUtils.js +27 -46
  176. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +8 -6
  177. package/libEs5/components/Privacy/computeConsentHash.js +9 -9
  178. package/libEs5/components/Privacy/createComponent.js +32 -32
  179. package/libEs5/components/Privacy/createConsentHashStore.js +27 -24
  180. package/libEs5/components/Privacy/createConsentRequest.js +10 -8
  181. package/libEs5/components/Privacy/createConsentRequestPayload.js +9 -8
  182. package/libEs5/components/Privacy/createStoredConsent.js +11 -9
  183. package/libEs5/components/Privacy/index.js +26 -23
  184. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +30 -29
  185. package/libEs5/components/Privacy/parseConsentCookie.js +6 -14
  186. package/libEs5/components/StreamingMedia/createMediaEventManager.js +59 -45
  187. package/libEs5/components/StreamingMedia/createMediaRequest.js +8 -6
  188. package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +22 -17
  189. package/libEs5/components/StreamingMedia/createMediaSessionCacheManager.js +22 -18
  190. package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +30 -29
  191. package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +41 -36
  192. package/libEs5/components/StreamingMedia/createTrackMediaSession.js +25 -22
  193. package/libEs5/components/StreamingMedia/index.js +33 -34
  194. package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +9 -12
  195. package/libEs5/components/StreamingMedia/validateMediaSessionOptions.js +6 -4
  196. package/libEs5/constants/browser.js +7 -7
  197. package/libEs5/constants/consentPurpose.js +1 -1
  198. package/libEs5/constants/consentStatus.js +3 -3
  199. package/libEs5/constants/contentType.js +2 -2
  200. package/libEs5/constants/cookieNameKey.js +3 -3
  201. package/libEs5/constants/coreCommands.js +2 -2
  202. package/libEs5/constants/decisionProvider.js +4 -3
  203. package/libEs5/constants/domain.js +2 -2
  204. package/libEs5/constants/elementAttribute.js +1 -1
  205. package/libEs5/constants/eventType.js +5 -5
  206. package/libEs5/constants/handle.js +1 -1
  207. package/libEs5/constants/httpHeaderNames.js +2 -2
  208. package/libEs5/constants/httpStatusCode.js +5 -5
  209. package/libEs5/constants/identityMapAuthenticatedState.js +3 -3
  210. package/libEs5/constants/legacyCookies.js +3 -3
  211. package/libEs5/constants/libraryVersion.js +1 -1
  212. package/libEs5/constants/propositionEventType.js +18 -12
  213. package/libEs5/constants/propositionInteractionType.js +4 -4
  214. package/libEs5/constants/schema.js +11 -11
  215. package/libEs5/constants/sessionDataKeys.js +1 -1
  216. package/libEs5/constants/tagName.js +7 -7
  217. package/libEs5/core/buildAndValidateConfig.js +55 -69
  218. package/libEs5/core/componentCreators.js +70 -41
  219. package/libEs5/core/config/createConfig.js +4 -3
  220. package/libEs5/core/config/createCoreConfigs.js +11 -12
  221. package/libEs5/core/consent/createConsent.js +16 -14
  222. package/libEs5/core/consent/createConsentStateMachine.js +27 -35
  223. package/libEs5/core/createComponentRegistry.js +28 -27
  224. package/libEs5/core/createCookieTransfer.js +18 -18
  225. package/libEs5/core/createEvent.js +39 -44
  226. package/libEs5/core/createEventManager.js +64 -69
  227. package/libEs5/core/createInstanceFunction.js +4 -11
  228. package/libEs5/core/createLifecycle.js +14 -19
  229. package/libEs5/core/createLogController.js +30 -29
  230. package/libEs5/core/createLogger.js +41 -27
  231. package/libEs5/core/edgeNetwork/handleRequestFailure.js +6 -5
  232. package/libEs5/core/edgeNetwork/injectApplyResponse.js +29 -32
  233. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +19 -25
  234. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +11 -11
  235. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +20 -16
  236. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +42 -38
  237. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +8 -12
  238. package/libEs5/core/index.js +137 -133
  239. package/libEs5/core/initializeComponents.js +17 -15
  240. package/libEs5/core/injectCreateResponse.js +47 -53
  241. package/libEs5/core/injectExecuteCommand.js +39 -40
  242. package/libEs5/core/injectHandleError.js +19 -19
  243. package/libEs5/core/injectShouldTransferCookie.js +12 -12
  244. package/libEs5/core/network/getRequestRetryDelay.js +20 -18
  245. package/libEs5/core/network/injectSendNetworkRequest.js +46 -49
  246. package/libEs5/core/network/isRequestRetryable.js +9 -8
  247. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +10 -8
  248. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +18 -19
  249. package/libEs5/core/requiredComponentCreators.js +23 -0
  250. package/libEs5/core/validateCommandOptions.js +14 -11
  251. package/libEs5/index.js +43 -22
  252. package/libEs5/standalone.js +6 -1
  253. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +3 -5
  254. package/libEs5/utils/assignConcatArrayValues.js +9 -18
  255. package/libEs5/utils/clone.js +2 -3
  256. package/libEs5/utils/cookieJar.js +4 -4
  257. package/libEs5/utils/crc32.js +8 -8
  258. package/libEs5/utils/createCallbackAggregator.js +7 -11
  259. package/libEs5/utils/createCollect.js +52 -0
  260. package/libEs5/utils/createLoggingCookieJar.js +14 -16
  261. package/libEs5/utils/createMerger.js +9 -10
  262. package/libEs5/utils/createSubscription.js +48 -48
  263. package/libEs5/utils/createTaskQueue.js +8 -7
  264. package/libEs5/utils/deduplicateArray.js +7 -11
  265. package/libEs5/utils/deepAssign.js +7 -11
  266. package/libEs5/utils/defer.js +5 -4
  267. package/libEs5/utils/dom/appendNode.js +3 -2
  268. package/libEs5/utils/dom/awaitSelector.js +36 -34
  269. package/libEs5/utils/dom/createNode.js +10 -15
  270. package/libEs5/utils/dom/index.js +8 -8
  271. package/libEs5/utils/dom/isShadowSelector.js +2 -3
  272. package/libEs5/utils/dom/matchesSelector.js +3 -2
  273. package/libEs5/utils/dom/querySelectorAll.js +5 -13
  274. package/libEs5/utils/dom/removeNode.js +4 -3
  275. package/libEs5/utils/dom/selectNodes.js +3 -3
  276. package/libEs5/utils/dom/selectNodesWithShadow.js +14 -23
  277. package/libEs5/utils/event.js +49 -0
  278. package/libEs5/utils/filterObject.js +14 -12
  279. package/libEs5/utils/fireImage.js +10 -9
  280. package/libEs5/utils/flattenArray.js +4 -11
  281. package/libEs5/utils/flattenObject.js +8 -18
  282. package/libEs5/utils/getApexDomain.js +7 -6
  283. package/libEs5/utils/getBrowser.js +45 -12
  284. package/libEs5/utils/getLastArrayItems.js +2 -3
  285. package/libEs5/utils/getNamespacedCookieName.js +2 -3
  286. package/libEs5/utils/groupBy.js +6 -5
  287. package/libEs5/utils/index.js +50 -113
  288. package/libEs5/utils/injectDoesIdentityCookieExist.js +7 -7
  289. package/libEs5/utils/injectFireReferrerHideableImage.js +28 -34
  290. package/libEs5/utils/injectStorage.js +13 -15
  291. package/libEs5/utils/intersection.js +2 -6
  292. package/libEs5/utils/isBlankString.js +2 -3
  293. package/libEs5/utils/isBoolean.js +2 -3
  294. package/libEs5/utils/isEmptyObject.js +2 -3
  295. package/libEs5/utils/isFunction.js +2 -3
  296. package/libEs5/utils/isInteger.js +4 -3
  297. package/libEs5/utils/isNamespacedCookieName.js +2 -3
  298. package/libEs5/utils/isNil.js +2 -3
  299. package/libEs5/utils/isNonEmptyArray.js +2 -3
  300. package/libEs5/utils/isNonEmptyString.js +2 -3
  301. package/libEs5/utils/isNumber.js +2 -4
  302. package/libEs5/utils/isObject.js +3 -4
  303. package/libEs5/utils/isString.js +2 -3
  304. package/libEs5/utils/isUnique.js +6 -5
  305. package/libEs5/utils/isValidRegExp.js +3 -2
  306. package/libEs5/utils/memoize.js +7 -6
  307. package/libEs5/utils/noop.js +2 -1
  308. package/libEs5/utils/parseUrl.js +19 -25
  309. package/libEs5/utils/prepareConfigOverridesForEdge.js +6 -5
  310. package/libEs5/utils/request/createAddIdentity.js +4 -3
  311. package/libEs5/utils/request/createDataCollectionRequest.js +15 -11
  312. package/libEs5/utils/request/createDataCollectionRequestPayload.js +9 -10
  313. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +17 -15
  314. package/libEs5/utils/request/createHasIdentity.js +4 -5
  315. package/libEs5/utils/request/createRequest.js +26 -23
  316. package/libEs5/utils/request/createRequestParams.js +13 -13
  317. package/libEs5/utils/request/createRequestPayload.js +13 -12
  318. package/libEs5/utils/request/index.js +8 -8
  319. package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
  320. package/libEs5/utils/stackError.js +8 -6
  321. package/libEs5/utils/stringToBoolean.js +3 -2
  322. package/libEs5/utils/toArray.js +3 -2
  323. package/libEs5/utils/toError.js +3 -2
  324. package/libEs5/utils/toISOStringLocal.js +29 -14
  325. package/libEs5/utils/toInteger.js +5 -5
  326. package/libEs5/utils/updateErrorMessage.js +6 -4
  327. package/libEs5/utils/validation/booleanValidator.js +3 -2
  328. package/libEs5/utils/validation/callbackValidator.js +3 -2
  329. package/libEs5/utils/validation/createAnyOfValidator.js +14 -17
  330. package/libEs5/utils/validation/createArrayOfValidator.js +16 -18
  331. package/libEs5/utils/validation/createDefaultValidator.js +7 -8
  332. package/libEs5/utils/validation/createDeprecatedValidator.js +12 -14
  333. package/libEs5/utils/validation/createLiteralValidator.js +5 -6
  334. package/libEs5/utils/validation/createMapOfValuesValidator.js +20 -22
  335. package/libEs5/utils/validation/createMaximumValidator.js +5 -6
  336. package/libEs5/utils/validation/createMinimumValidator.js +5 -6
  337. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +13 -14
  338. package/libEs5/utils/validation/createNonEmptyValidator.js +9 -10
  339. package/libEs5/utils/validation/createObjectOfValidator.js +27 -29
  340. package/libEs5/utils/validation/createRenamedValidator.js +24 -27
  341. package/libEs5/utils/validation/createUniqueItemsValidator.js +4 -3
  342. package/libEs5/utils/validation/createUniqueValidator.js +5 -4
  343. package/libEs5/utils/validation/domainValidator.js +4 -3
  344. package/libEs5/utils/validation/index.js +66 -72
  345. package/libEs5/utils/validation/integerValidator.js +3 -2
  346. package/libEs5/utils/validation/matchesRegexpValidator.js +5 -6
  347. package/libEs5/utils/validation/numberValidator.js +3 -2
  348. package/libEs5/utils/validation/regexpValidator.js +3 -2
  349. package/libEs5/utils/validation/requiredValidator.js +3 -2
  350. package/libEs5/utils/validation/stringValidator.js +3 -2
  351. package/libEs5/utils/validation/utils.js +29 -35
  352. package/libEs6/components/ActivityCollector/index.js +18 -8
  353. package/libEs6/components/Context/createComponent.js +1 -3
  354. package/libEs6/components/DecisioningEngine/createApplyResponse.js +1 -1
  355. package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +78 -28
  356. package/libEs6/components/DecisioningEngine/index.js +22 -2
  357. package/libEs6/components/DecisioningEngine/utils.js +2 -9
  358. package/libEs6/components/Identity/createComponent.js +4 -2
  359. package/libEs6/components/Identity/getEcidFromResponse.js +1 -3
  360. package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +2 -2
  361. package/libEs6/components/LibraryInfo/index.js +4 -5
  362. package/libEs6/components/Personalization/createActionsProvider.js +4 -2
  363. package/libEs6/components/Personalization/createComponent.js +2 -2
  364. package/libEs6/components/Personalization/createFetchDataHandler.js +35 -1
  365. package/libEs6/components/Personalization/createPersonalizationDetails.js +6 -6
  366. package/libEs6/components/Personalization/createViewCacheManager.js +5 -2
  367. package/libEs6/components/Personalization/createViewChangeHandler.js +11 -1
  368. package/libEs6/components/Personalization/dom-actions/createPreprocess.js +5 -2
  369. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +1 -3
  370. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +6 -4
  371. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +3 -2
  372. package/libEs6/components/Personalization/dom-actions/scripts.js +18 -2
  373. package/libEs6/components/Personalization/flicker/index.js +44 -30
  374. package/libEs6/components/Personalization/handlers/createDecorateProposition.js +2 -2
  375. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +29 -9
  376. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +9 -0
  377. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +0 -3
  378. package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +8 -5
  379. package/libEs6/components/Personalization/in-app-message-actions/utils.js +2 -2
  380. package/libEs6/components/Personalization/index.js +9 -5
  381. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +4 -4
  382. package/libEs6/components/Personalization/utils/surfaceUtils.js +3 -3
  383. package/libEs6/constants/decisionProvider.js +1 -0
  384. package/libEs6/constants/libraryVersion.js +1 -1
  385. package/libEs6/constants/schema.js +1 -1
  386. package/libEs6/core/buildAndValidateConfig.js +8 -5
  387. package/libEs6/core/componentCreators.js +14 -43
  388. package/libEs6/core/config/createConfig.js +3 -2
  389. package/libEs6/core/createCookieTransfer.js +1 -3
  390. package/libEs6/core/createInstanceFunction.js +1 -9
  391. package/libEs6/core/createLogger.js +17 -2
  392. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +1 -7
  393. package/libEs6/core/index.js +11 -10
  394. package/libEs6/core/injectCreateResponse.js +1 -3
  395. package/libEs6/core/network/isRequestRetryable.js +1 -2
  396. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
  397. package/libEs6/{utils/assignIf.js → core/requiredComponentCreators.js} +4 -8
  398. package/libEs6/index.js +26 -6
  399. package/libEs6/standalone.js +7 -1
  400. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +1 -2
  401. package/libEs6/utils/assignConcatArrayValues.js +1 -2
  402. package/libEs6/utils/cookieJar.js +4 -4
  403. package/libEs6/{components/Personalization → utils}/createCollect.js +3 -3
  404. package/libEs6/utils/createSubscription.js +20 -3
  405. package/libEs6/utils/dom/querySelectorAll.js +1 -10
  406. package/libEs6/utils/dom/selectNodesWithShadow.js +2 -12
  407. package/libEs6/{components/Personalization → utils}/event.js +1 -1
  408. package/libEs6/utils/index.js +1 -10
  409. package/libEs6/utils/injectStorage.js +1 -2
  410. package/libEs6/utils/intersection.js +1 -4
  411. package/libEs6/utils/isNumber.js +1 -2
  412. package/libEs6/utils/toISOStringLocal.js +14 -1
  413. package/libEs6/utils/toInteger.js +1 -2
  414. package/libEs6/utils/validation/createAnyOfValidator.js +1 -2
  415. package/libEs6/utils/validation/utils.js +3 -6
  416. package/package.json +35 -37
  417. package/rollup.config.js +115 -7
  418. package/scripts/alloyBuilder.js +89 -55
  419. package/scripts/helpers/entryPointGeneratorBabelPlugin.js +39 -0
  420. package/libEs5/components/Personalization/createCollect.js +0 -53
  421. package/libEs5/components/Personalization/event.js +0 -49
  422. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -50
  423. package/libEs5/utils/assign.js +0 -16
  424. package/libEs5/utils/assignIf.js +0 -21
  425. package/libEs5/utils/endsWith.js +0 -23
  426. package/libEs5/utils/find.js +0 -30
  427. package/libEs5/utils/flatMap.js +0 -17
  428. package/libEs5/utils/includes.js +0 -23
  429. package/libEs5/utils/padStart.js +0 -27
  430. package/libEs5/utils/startsWith.js +0 -23
  431. package/libEs5/utils/values.js +0 -25
  432. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +0 -49
  433. package/libEs6/utils/assign.js +0 -14
  434. package/libEs6/utils/endsWith.js +0 -19
  435. package/libEs6/utils/find.js +0 -28
  436. package/libEs6/utils/flatMap.js +0 -14
  437. package/libEs6/utils/includes.js +0 -21
  438. package/libEs6/utils/padStart.js +0 -25
  439. package/libEs6/utils/startsWith.js +0 -19
  440. package/libEs6/utils/values.js +0 -21
  441. package/scripts/helpers/alloyComponents.js +0 -63
  442. package/scripts/helpers/conditionalBuildBabelPlugin.js +0 -57
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
- var _index = require("../utils/index.js");
5
4
  var _httpHeaderNames = require("../constants/httpHeaderNames.js");
6
5
  /*
7
6
  Copyright 2019 Adobe. All rights reserved.
@@ -19,59 +18,54 @@ governing permissions and limitations under the License.
19
18
  * helper methods.
20
19
  * @returns Response
21
20
  */
22
- var _default = exports.default = function _default(_ref) {
23
- var extractEdgeInfo = _ref.extractEdgeInfo;
24
- return function (_ref2) {
25
- var _ref2$content = _ref2.content,
26
- content = _ref2$content === void 0 ? {} : _ref2$content,
27
- getHeader = _ref2.getHeader;
28
- var _content$handle = content.handle,
29
- handle = _content$handle === void 0 ? [] : _content$handle,
30
- _content$errors = content.errors,
31
- errors = _content$errors === void 0 ? [] : _content$errors,
32
- _content$warnings = content.warnings,
33
- warnings = _content$warnings === void 0 ? [] : _content$warnings;
21
+ var _default = ({
22
+ extractEdgeInfo
23
+ }) => ({
24
+ content = {},
25
+ getHeader
26
+ }) => {
27
+ const {
28
+ handle = [],
29
+ errors = [],
30
+ warnings = []
31
+ } = content;
34
32
 
33
+ /**
34
+ * Response object.
35
+ * @typedef {Object} Response
36
+ */
37
+ return {
35
38
  /**
36
- * Response object.
37
- * @typedef {Object} Response
39
+ * Returns matching fragments of the response by type.
40
+ * @param {String} type A string with the current format: <namespace:action>
41
+ *
42
+ * @example
43
+ * getPayloadsByType("identity:persist")
38
44
  */
39
- return {
40
- /**
41
- * Returns matching fragments of the response by type.
42
- * @param {String} type A string with the current format: <namespace:action>
43
- *
44
- * @example
45
- * getPayloadsByType("identity:persist")
46
- */
47
- getPayloadsByType: function getPayloadsByType(type) {
48
- return (0, _index.flatMap)(handle.filter(function (fragment) {
49
- return fragment.type === type;
50
- }), function (fragment) {
51
- return fragment.payload;
52
- });
53
- },
54
- /**
55
- * Returns all errors.
56
- */
57
- getErrors: function getErrors() {
58
- return errors;
59
- },
60
- /**
61
- * Returns all warnings.
62
- */
63
- getWarnings: function getWarnings() {
64
- return warnings;
65
- },
66
- /**
67
- * Returns an object containing the regionId from the x-adobe-edge header
68
- */
69
- getEdge: function getEdge() {
70
- return extractEdgeInfo(getHeader(_httpHeaderNames.ADOBE_EDGE));
71
- },
72
- toJSON: function toJSON() {
73
- return content;
74
- }
75
- };
45
+ getPayloadsByType(type) {
46
+ return handle.filter(fragment => fragment.type === type).flatMap(fragment => fragment.payload);
47
+ },
48
+ /**
49
+ * Returns all errors.
50
+ */
51
+ getErrors() {
52
+ return errors;
53
+ },
54
+ /**
55
+ * Returns all warnings.
56
+ */
57
+ getWarnings() {
58
+ return warnings;
59
+ },
60
+ /**
61
+ * Returns an object containing the regionId from the x-adobe-edge header
62
+ */
63
+ getEdge() {
64
+ return extractEdgeInfo(getHeader(_httpHeaderNames.ADOBE_EDGE));
65
+ },
66
+ toJSON() {
67
+ return content;
68
+ }
76
69
  };
77
- };
70
+ };
71
+ exports.default = _default;
@@ -14,22 +14,23 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
14
14
  OF ANY KIND, either express or implied. See the License for the specific language
15
15
  governing permissions and limitations under the License.
16
16
  */
17
- var _default = exports.default = function _default(_ref) {
18
- var logger = _ref.logger,
19
- configureCommand = _ref.configureCommand,
20
- setDebugCommand = _ref.setDebugCommand,
21
- handleError = _ref.handleError,
22
- validateCommandOptions = _ref.validateCommandOptions;
23
- var configurePromise;
24
- var getExecutor = function getExecutor(commandName, options) {
25
- var executor;
17
+ var _default = ({
18
+ logger,
19
+ configureCommand,
20
+ setDebugCommand,
21
+ handleError,
22
+ validateCommandOptions
23
+ }) => {
24
+ let configurePromise;
25
+ const getExecutor = (commandName, options) => {
26
+ let executor;
26
27
  if (commandName === _coreCommands.CONFIGURE) {
27
28
  if (configurePromise) {
28
29
  throw new Error("The library has already been configured and may only be configured once.");
29
30
  }
30
- executor = function executor() {
31
+ executor = () => {
31
32
  configurePromise = configureCommand(options);
32
- return configurePromise.then(function () {
33
+ return configurePromise.then(() => {
33
34
  // Don't expose internals to the user.
34
35
  });
35
36
  };
@@ -38,23 +39,21 @@ var _default = exports.default = function _default(_ref) {
38
39
  throw new Error("The library must be configured first. Please do so by executing the configure command.");
39
40
  }
40
41
  if (commandName === _coreCommands.SET_DEBUG) {
41
- executor = function executor() {
42
- return setDebugCommand(options);
43
- };
42
+ executor = () => setDebugCommand(options);
44
43
  } else {
45
- executor = function executor() {
46
- return configurePromise.then(function (componentRegistry) {
47
- var command = componentRegistry.getCommand(commandName);
44
+ executor = () => {
45
+ return configurePromise.then(componentRegistry => {
46
+ const command = componentRegistry.getCommand(commandName);
48
47
  if (!command || !(0, _index.isFunction)(command.run)) {
49
- var commandNames = [_coreCommands.CONFIGURE, _coreCommands.SET_DEBUG].concat(componentRegistry.getCommandNames()).join(", ");
48
+ const commandNames = [_coreCommands.CONFIGURE, _coreCommands.SET_DEBUG].concat(componentRegistry.getCommandNames()).join(", ");
50
49
  throw new Error("The " + commandName + " command does not exist. List of available commands: " + commandNames + ".");
51
50
  }
52
- var validatedOptions = validateCommandOptions({
53
- command: command,
54
- options: options
51
+ const validatedOptions = validateCommandOptions({
52
+ command,
53
+ options
55
54
  });
56
55
  return command.run(validatedOptions);
57
- }, function () {
56
+ }, () => {
58
57
  logger.warn("An error during configuration is preventing the " + commandName + " command from executing.");
59
58
  // If configuration failed, we prevent the configuration
60
59
  // error from bubbling here because we don't want the
@@ -63,42 +62,42 @@ var _default = exports.default = function _default(_ref) {
63
62
  // once when the configure command runs is sufficient.
64
63
  // Instead, for this command, we'll just return a promise
65
64
  // that never gets resolved.
66
- return new Promise(function () {});
65
+ return new Promise(() => {});
67
66
  });
68
67
  };
69
68
  }
70
69
  }
71
70
  return executor;
72
71
  };
73
- return function (commandName) {
74
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
75
- return new Promise(function (resolve) {
72
+ return (commandName, options = {}) => {
73
+ return new Promise(resolve => {
76
74
  // We have to wrap the getExecutor() call in the promise so the promise
77
75
  // will be rejected if getExecutor() throws errors.
78
- var executor = getExecutor(commandName, options);
76
+ const executor = getExecutor(commandName, options);
79
77
  logger.logOnBeforeCommand({
80
- commandName: commandName,
81
- options: options
78
+ commandName,
79
+ options
82
80
  });
83
81
  resolve(executor());
84
- }).catch(function (error) {
82
+ }).catch(error => {
85
83
  return handleError(error, commandName + " command");
86
- }).catch(function (error) {
84
+ }).catch(error => {
87
85
  logger.logOnCommandRejected({
88
- commandName: commandName,
89
- options: options,
90
- error: error
86
+ commandName,
87
+ options,
88
+ error
91
89
  });
92
90
  throw error;
93
- }).then(function (rawResult) {
91
+ }).then(rawResult => {
94
92
  // We should always be returning an object from every command.
95
- var result = (0, _index.isObject)(rawResult) ? rawResult : {};
93
+ const result = (0, _index.isObject)(rawResult) ? rawResult : {};
96
94
  logger.logOnCommandResolved({
97
- commandName: commandName,
98
- options: options,
99
- result: result
95
+ commandName,
96
+ options,
97
+ result
100
98
  });
101
99
  return result;
102
100
  });
103
101
  };
104
- };
102
+ };
103
+ exports.default = _default;
@@ -14,23 +14,23 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
14
14
  OF ANY KIND, either express or implied. See the License for the specific language
15
15
  governing permissions and limitations under the License.
16
16
  */
17
- var _default = exports.default = function _default(_ref) {
18
- var errorPrefix = _ref.errorPrefix,
19
- logger = _ref.logger;
20
- return function (error, operation) {
21
- var err = (0, _index.toError)(error);
17
+ var _default = ({
18
+ errorPrefix,
19
+ logger
20
+ }) => (error, operation) => {
21
+ const err = (0, _index.toError)(error);
22
22
 
23
- // In the case of declined consent, we've opted to not reject the promise
24
- // returned to the customer, but instead resolve the promise with an
25
- // empty result object.
26
- if (err.code === _createConsentStateMachine.DECLINED_CONSENT_ERROR_CODE) {
27
- logger.warn("The " + operation + " could not fully complete. " + err.message);
28
- return {};
29
- }
30
- (0, _index.updateErrorMessage)({
31
- error: err,
32
- message: errorPrefix + " " + err.message
33
- });
34
- throw err;
35
- };
36
- };
23
+ // In the case of declined consent, we've opted to not reject the promise
24
+ // returned to the customer, but instead resolve the promise with an
25
+ // empty result object.
26
+ if (err.code === _createConsentStateMachine.DECLINED_CONSENT_ERROR_CODE) {
27
+ logger.warn("The " + operation + " could not fully complete. " + err.message);
28
+ return {};
29
+ }
30
+ (0, _index.updateErrorMessage)({
31
+ error: err,
32
+ message: errorPrefix + " " + err.message
33
+ });
34
+ throw err;
35
+ };
36
+ exports.default = _default;
@@ -14,15 +14,15 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
14
14
  OF ANY KIND, either express or implied. See the License for the specific language
15
15
  governing permissions and limitations under the License.
16
16
  */
17
- var _default = exports.default = function _default(_ref) {
18
- var orgId = _ref.orgId,
19
- targetMigrationEnabled = _ref.targetMigrationEnabled;
20
- return function (name) {
21
- // We have a contract with the server that we will pass
22
- // all cookies whose names are namespaced according to the
23
- // logic in isNamespacedCookieName as well as any legacy
24
- // cookie names (so that the server can handle migrating
25
- // identities on websites previously using Visitor.js)
26
- return (0, _index.isNamespacedCookieName)(orgId, name) || name === _legacyCookies.AT_QA_MODE || targetMigrationEnabled && name === _legacyCookies.MBOX;
27
- };
28
- };
17
+ var _default = ({
18
+ orgId,
19
+ targetMigrationEnabled
20
+ }) => name => {
21
+ // We have a contract with the server that we will pass
22
+ // all cookies whose names are namespaced according to the
23
+ // logic in isNamespacedCookieName as well as any legacy
24
+ // cookie names (so that the server can handle migrating
25
+ // identities on websites previously using Visitor.js)
26
+ return (0, _index.isNamespacedCookieName)(orgId, name) || name === _legacyCookies.AT_QA_MODE || targetMigrationEnabled && name === _legacyCookies.MBOX;
27
+ };
28
+ exports.default = _default;
@@ -16,20 +16,20 @@ governing permissions and limitations under the License.
16
16
  */
17
17
 
18
18
  // The retry gets incrementally (but not exponentially) longer for each retry.
19
- var FIRST_DELAY_MILLIS = 1000;
20
- var INCREMENTAL_DELAY_MILLIS = 1000;
19
+ const FIRST_DELAY_MILLIS = 1000;
20
+ const INCREMENTAL_DELAY_MILLIS = 1000;
21
21
 
22
22
  // When the target delay is randomized, make it within the range of this percentage above or below the target delay.
23
- var MAX_RANDOM_VARIANCE_PERCENTAGE = 0.3;
24
- var calculateRetryDelay = function calculateRetryDelay(retriesAttempted) {
25
- var targetDelay = FIRST_DELAY_MILLIS + retriesAttempted * INCREMENTAL_DELAY_MILLIS;
26
- var maxVariance = targetDelay * MAX_RANDOM_VARIANCE_PERCENTAGE;
27
- var minDelay = targetDelay - maxVariance;
28
- var maxDelay = targetDelay + maxVariance;
29
- var randomizedDelayWithinRange = Math.round(minDelay + Math.random() * (maxDelay - minDelay));
23
+ const MAX_RANDOM_VARIANCE_PERCENTAGE = 0.3;
24
+ const calculateRetryDelay = retriesAttempted => {
25
+ const targetDelay = FIRST_DELAY_MILLIS + retriesAttempted * INCREMENTAL_DELAY_MILLIS;
26
+ const maxVariance = targetDelay * MAX_RANDOM_VARIANCE_PERCENTAGE;
27
+ const minDelay = targetDelay - maxVariance;
28
+ const maxDelay = targetDelay + maxVariance;
29
+ const randomizedDelayWithinRange = Math.round(minDelay + Math.random() * (maxDelay - minDelay));
30
30
  return randomizedDelayWithinRange;
31
31
  };
32
- var getDelayFromHeader = function getDelayFromHeader(response) {
32
+ const getDelayFromHeader = response => {
33
33
  // According to the HTTP spec, if the header is defined, its value will be a string that
34
34
  // represents either:
35
35
  // * An integer indicating the number of seconds to delay.
@@ -37,10 +37,10 @@ var getDelayFromHeader = function getDelayFromHeader(response) {
37
37
  // format (https://tools.ietf.org/html/rfc7231#section-7.1.1.1). When debugging, it can
38
38
  // be helpful to know that this is the same format that a JavaScript date's
39
39
  // toGMTString() returns.
40
- var headerValue = response.getHeader(_httpHeaderNames.RETRY_AFTER);
41
- var delayInMillis;
40
+ const headerValue = response.getHeader(_httpHeaderNames.RETRY_AFTER);
41
+ let delayInMillis;
42
42
  if (headerValue) {
43
- var headerValueInt = parseInt(headerValue, 10);
43
+ const headerValueInt = parseInt(headerValue, 10);
44
44
  if ((0, _index.isInteger)(headerValueInt)) {
45
45
  delayInMillis = headerValueInt * 1000;
46
46
  } else {
@@ -56,12 +56,13 @@ var getDelayFromHeader = function getDelayFromHeader(response) {
56
56
  // practices outlined in https://docs.microsoft.com/en-us/azure/architecture/best-practices/transient-faults:
57
57
  // * Incremental retry
58
58
  // * Random interval
59
- var _default = exports.default = function _default(_ref) {
60
- var response = _ref.response,
61
- retriesAttempted = _ref.retriesAttempted;
59
+ var _default = ({
60
+ response,
61
+ retriesAttempted
62
+ }) => {
62
63
  // Technically, only 429 or 503 responses should have a Retry-After header, but we'll respect the
63
64
  // header if we find it on any response.
64
- var delayInMillis = getDelayFromHeader(response);
65
+ let delayInMillis = getDelayFromHeader(response);
65
66
 
66
67
  // Note that the value of delay may be 0 at this point, which would be a valid delay we want to use
67
68
  // and not override, which is why we don't do:
@@ -70,4 +71,5 @@ var _default = exports.default = function _default(_ref) {
70
71
  delayInMillis = calculateRetryDelay(retriesAttempted);
71
72
  }
72
73
  return delayInMillis;
73
- };
74
+ };
75
+ exports.default = _default;
@@ -2,12 +2,7 @@
2
2
 
3
3
  exports.default = void 0;
4
4
  var _index = require("../../utils/index.js");
5
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
10
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
5
+ /*
11
6
  Copyright 2019 Adobe. All rights reserved.
12
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
13
8
  you may not use this file except in compliance with the License. You may obtain a copy
@@ -18,85 +13,87 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
18
13
  OF ANY KIND, either express or implied. See the License for the specific language
19
14
  governing permissions and limitations under the License.
20
15
  */
21
- var _default = exports.default = function _default(_ref) {
22
- var logger = _ref.logger,
23
- sendFetchRequest = _ref.sendFetchRequest,
24
- sendBeaconRequest = _ref.sendBeaconRequest,
25
- isRequestRetryable = _ref.isRequestRetryable,
26
- getRequestRetryDelay = _ref.getRequestRetryDelay;
16
+ var _default = ({
17
+ logger,
18
+ sendFetchRequest,
19
+ sendBeaconRequest,
20
+ isRequestRetryable,
21
+ getRequestRetryDelay
22
+ }) => {
27
23
  /**
28
24
  * Send a network request and returns details about the response.
29
25
  */
30
- return function (_ref2) {
31
- var requestId = _ref2.requestId,
32
- url = _ref2.url,
33
- payload = _ref2.payload,
34
- useSendBeacon = _ref2.useSendBeacon;
26
+ return ({
27
+ requestId,
28
+ url,
29
+ payload,
30
+ useSendBeacon
31
+ }) => {
35
32
  // We want to log raw payload and event data rather than
36
33
  // our fancy wrapper objects. Calling payload.toJSON() is
37
34
  // insufficient to get all the nested raw data, because it's
38
35
  // not recursive (it doesn't call toJSON() on the event objects).
39
36
  // Parsing the result of JSON.stringify(), however, gives the
40
37
  // fully recursive raw data.
41
- var stringifiedPayload = JSON.stringify(payload);
42
- var parsedPayload = JSON.parse(stringifiedPayload);
38
+ const stringifiedPayload = JSON.stringify(payload);
39
+ const parsedPayload = JSON.parse(stringifiedPayload);
43
40
  logger.logOnBeforeNetworkRequest({
44
- url: url,
45
- requestId: requestId,
41
+ url,
42
+ requestId,
46
43
  payload: parsedPayload
47
44
  });
48
- var executeRequest = function executeRequest() {
49
- var retriesAttempted = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
50
- var requestMethod = useSendBeacon ? sendBeaconRequest : sendFetchRequest;
51
- return requestMethod(url, stringifiedPayload).then(function (response) {
52
- var requestIsRetryable = isRequestRetryable({
53
- response: response,
54
- retriesAttempted: retriesAttempted
45
+ const executeRequest = (retriesAttempted = 0) => {
46
+ const requestMethod = useSendBeacon ? sendBeaconRequest : sendFetchRequest;
47
+ return requestMethod(url, stringifiedPayload).then(response => {
48
+ const requestIsRetryable = isRequestRetryable({
49
+ response,
50
+ retriesAttempted
55
51
  });
56
52
  if (requestIsRetryable) {
57
- var requestRetryDelay = getRequestRetryDelay({
58
- response: response,
59
- retriesAttempted: retriesAttempted
53
+ const requestRetryDelay = getRequestRetryDelay({
54
+ response,
55
+ retriesAttempted
60
56
  });
61
- return new Promise(function (resolve) {
62
- setTimeout(function () {
57
+ return new Promise(resolve => {
58
+ setTimeout(() => {
63
59
  resolve(executeRequest(retriesAttempted + 1));
64
60
  }, requestRetryDelay);
65
61
  });
66
62
  }
67
- var parsedBody;
63
+ let parsedBody;
68
64
  try {
69
65
  parsedBody = JSON.parse(response.body);
70
66
  } catch (e) {
71
67
  // Non-JSON. Something went wrong.
72
68
  }
73
- logger.logOnNetworkResponse(_objectSpread(_objectSpread({
74
- requestId: requestId,
75
- url: url,
76
- payload: parsedPayload
77
- }, response), {}, {
78
- parsedBody: parsedBody,
79
- retriesAttempted: retriesAttempted
80
- }));
69
+ logger.logOnNetworkResponse({
70
+ requestId,
71
+ url,
72
+ payload: parsedPayload,
73
+ ...response,
74
+ parsedBody,
75
+ retriesAttempted
76
+ });
81
77
  return {
82
78
  statusCode: response.statusCode,
83
79
  body: response.body,
84
- parsedBody: parsedBody,
80
+ parsedBody,
85
81
  getHeader: response.getHeader
86
82
  };
87
83
  });
88
84
  };
89
- return executeRequest().catch(function (error) {
85
+ return executeRequest().catch(error => {
90
86
  logger.logOnNetworkError({
91
- requestId: requestId,
92
- url: url,
87
+ requestId,
88
+ url,
93
89
  payload: parsedPayload,
94
- error: error
90
+ error
95
91
  });
96
92
  throw (0, _index.stackError)({
97
- error: error,
93
+ error,
98
94
  message: "Network request failed."
99
95
  });
100
96
  });
101
97
  };
102
- };
98
+ };
99
+ exports.default = _default;
@@ -2,7 +2,6 @@
2
2
 
3
3
  exports.default = void 0;
4
4
  var _httpStatusCode = require("../../constants/httpStatusCode.js");
5
- var _index = require("../../utils/index.js");
6
5
  /*
7
6
  Copyright 2019 Adobe. All rights reserved.
8
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -15,13 +14,15 @@ OF ANY KIND, either express or implied. See the License for the specific languag
15
14
  governing permissions and limitations under the License.
16
15
  */
17
16
 
18
- var MAX_RETRIES = 3;
19
- var RETRYABLE_STATUS_CODES = [_httpStatusCode.TOO_MANY_REQUESTS, _httpStatusCode.SERVICE_UNAVAILABLE, _httpStatusCode.BAD_GATEWAY, _httpStatusCode.GATEWAY_TIMEOUT];
17
+ const MAX_RETRIES = 3;
18
+ const RETRYABLE_STATUS_CODES = [_httpStatusCode.TOO_MANY_REQUESTS, _httpStatusCode.SERVICE_UNAVAILABLE, _httpStatusCode.BAD_GATEWAY, _httpStatusCode.GATEWAY_TIMEOUT];
20
19
 
21
20
  // These rules are in accordance with
22
21
  // https://git.corp.adobe.com/pages/experience-edge/konductor/#/apis/errors?id=handling-4xx-and-5xx-responses
23
- var _default = exports.default = function _default(_ref) {
24
- var response = _ref.response,
25
- retriesAttempted = _ref.retriesAttempted;
26
- return retriesAttempted < MAX_RETRIES && (0, _index.includes)(RETRYABLE_STATUS_CODES, response.statusCode);
27
- };
22
+ var _default = ({
23
+ response,
24
+ retriesAttempted
25
+ }) => {
26
+ return retriesAttempted < MAX_RETRIES && RETRYABLE_STATUS_CODES.includes(response.statusCode);
27
+ };
28
+ exports.default = _default;
@@ -12,12 +12,13 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
12
12
  OF ANY KIND, either express or implied. See the License for the specific language
13
13
  governing permissions and limitations under the License.
14
14
  */
15
- var _default = exports.default = function _default(_ref) {
16
- var sendBeacon = _ref.sendBeacon,
17
- sendFetchRequest = _ref.sendFetchRequest,
18
- logger = _ref.logger;
19
- return function (url, body) {
20
- var blob = new Blob([body], {
15
+ var _default = ({
16
+ sendBeacon,
17
+ sendFetchRequest,
18
+ logger
19
+ }) => {
20
+ return (url, body) => {
21
+ const blob = new Blob([body], {
21
22
  type: "text/plain; charset=UTF-8"
22
23
  });
23
24
  if (!sendBeacon(url, blob)) {
@@ -30,10 +31,11 @@ var _default = exports.default = function _default(_ref) {
30
31
  // consistency with other network strategies.
31
32
  return Promise.resolve({
32
33
  statusCode: 204,
33
- getHeader: function getHeader() {
34
+ getHeader() {
34
35
  return null;
35
36
  },
36
37
  body: ""
37
38
  });
38
39
  };
39
- };
40
+ };
41
+ exports.default = _default;
@@ -12,9 +12,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
12
12
  OF ANY KIND, either express or implied. See the License for the specific language
13
13
  governing permissions and limitations under the License.
14
14
  */
15
- var _default = exports.default = function _default(_ref) {
16
- var fetch = _ref.fetch;
17
- return function (url, body) {
15
+ var _default = ({
16
+ fetch
17
+ }) => {
18
+ return (url, body) => {
18
19
  return fetch(url, {
19
20
  method: "POST",
20
21
  cache: "no-cache",
@@ -24,21 +25,19 @@ var _default = exports.default = function _default(_ref) {
24
25
  "Content-Type": "text/plain; charset=UTF-8"
25
26
  },
26
27
  referrerPolicy: "no-referrer-when-downgrade",
27
- body: body
28
- }).then(function (response) {
29
- return response.text().then(function (responseBody) {
30
- return {
31
- statusCode: response.status,
32
- // We expose headers through a function instead of creating an object
33
- // with all the headers up front largely because the native
34
- // request.getResponseHeader method is case-insensitive but also because it prevents
35
- // us from having to add header parsing logic when using XHR to make requests.
36
- getHeader: function getHeader(name) {
37
- return response.headers.get(name);
38
- },
39
- body: responseBody
40
- };
41
- });
28
+ body
29
+ }).then(response => {
30
+ return response.text().then(responseBody => ({
31
+ statusCode: response.status,
32
+ // We expose headers through a function instead of creating an object
33
+ // with all the headers up front largely because the native
34
+ // request.getResponseHeader method is case-insensitive.
35
+ getHeader(name) {
36
+ return response.headers.get(name);
37
+ },
38
+ body: responseBody
39
+ }));
42
40
  });
43
41
  };
44
- };
42
+ };
43
+ exports.default = _default;