@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
@@ -33,95 +33,94 @@ OF ANY KIND, either express or implied. See the License for the specific languag
33
33
  governing permissions and limitations under the License.
34
34
  */
35
35
 
36
- var createIdentity = function createIdentity(_ref) {
37
- var config = _ref.config,
38
- logger = _ref.logger,
39
- consent = _ref.consent,
40
- fireReferrerHideableImage = _ref.fireReferrerHideableImage,
41
- sendEdgeNetworkRequest = _ref.sendEdgeNetworkRequest,
42
- apexDomain = _ref.apexDomain;
43
- var orgId = config.orgId,
44
- thirdPartyCookiesEnabled = config.thirdPartyCookiesEnabled,
45
- globalConfigOverrides = config.edgeConfigOverrides;
46
- var getEcidFromVisitor = (0, _injectGetEcidFromVisitor.default)({
47
- logger: logger,
48
- orgId: orgId,
36
+ const createIdentity = ({
37
+ config,
38
+ logger,
39
+ consent,
40
+ fireReferrerHideableImage,
41
+ sendEdgeNetworkRequest,
42
+ apexDomain
43
+ }) => {
44
+ const {
45
+ orgId,
46
+ thirdPartyCookiesEnabled,
47
+ edgeConfigOverrides: globalConfigOverrides
48
+ } = config;
49
+ const getEcidFromVisitor = (0, _injectGetEcidFromVisitor.default)({
50
+ logger,
51
+ orgId,
49
52
  awaitVisitorOptIn: _awaitVisitorOptIn.default
50
53
  });
51
- var loggingCookieJar = (0, _index.createLoggingCookieJar)({
52
- logger: logger,
54
+ const loggingCookieJar = (0, _index.createLoggingCookieJar)({
55
+ logger,
53
56
  cookieJar: _index.cookieJar
54
57
  });
55
- var legacyIdentity = (0, _createLegacyIdentity.default)({
56
- config: config,
57
- getEcidFromVisitor: getEcidFromVisitor,
58
- apexDomain: apexDomain,
58
+ const legacyIdentity = (0, _createLegacyIdentity.default)({
59
+ config,
60
+ getEcidFromVisitor,
61
+ apexDomain,
59
62
  cookieJar: loggingCookieJar,
60
63
  isPageSsl: window.location.protocol === "https:"
61
64
  });
62
- var doesIdentityCookieExist = (0, _index.injectDoesIdentityCookieExist)({
63
- orgId: orgId
65
+ const doesIdentityCookieExist = (0, _index.injectDoesIdentityCookieExist)({
66
+ orgId
64
67
  });
65
- var getIdentity = (0, _createGetIdentity.default)({
66
- sendEdgeNetworkRequest: sendEdgeNetworkRequest,
68
+ const getIdentity = (0, _createGetIdentity.default)({
69
+ sendEdgeNetworkRequest,
67
70
  createIdentityRequestPayload: _createIdentityRequestPayload.default,
68
71
  createIdentityRequest: _createIdentityRequest.default,
69
- globalConfigOverrides: globalConfigOverrides
72
+ globalConfigOverrides
70
73
  });
71
- var setDomainForInitialIdentityPayload = (0, _injectSetDomainForInitialIdentityPayload.default)({
72
- thirdPartyCookiesEnabled: thirdPartyCookiesEnabled,
74
+ const setDomainForInitialIdentityPayload = (0, _injectSetDomainForInitialIdentityPayload.default)({
75
+ thirdPartyCookiesEnabled,
73
76
  areThirdPartyCookiesSupportedByDefault: _index.areThirdPartyCookiesSupportedByDefault
74
77
  });
75
- var addLegacyEcidToPayload = (0, _injectAddLegacyEcidToPayload.default)({
78
+ const addLegacyEcidToPayload = (0, _injectAddLegacyEcidToPayload.default)({
76
79
  getLegacyEcid: legacyIdentity.getEcid,
77
80
  addEcidToPayload: _addEcidToPayload.default
78
81
  });
79
- var addQueryStringIdentityToPayload = (0, _injectAddQueryStringIdentityToPayload.default)({
82
+ const addQueryStringIdentityToPayload = (0, _injectAddQueryStringIdentityToPayload.default)({
80
83
  locationSearch: window.document.location.search,
81
- dateProvider: function dateProvider() {
82
- return new Date();
83
- },
84
- orgId: orgId,
85
- logger: logger
84
+ dateProvider: () => new Date(),
85
+ orgId,
86
+ logger
86
87
  });
87
- var awaitIdentityCookie = (0, _injectAwaitIdentityCookie.default)({
88
- doesIdentityCookieExist: doesIdentityCookieExist,
89
- orgId: orgId,
90
- logger: logger
88
+ const awaitIdentityCookie = (0, _injectAwaitIdentityCookie.default)({
89
+ doesIdentityCookieExist,
90
+ orgId,
91
+ logger
91
92
  });
92
- var ensureSingleIdentity = (0, _injectEnsureSingleIdentity.default)({
93
- doesIdentityCookieExist: doesIdentityCookieExist,
94
- setDomainForInitialIdentityPayload: setDomainForInitialIdentityPayload,
95
- addLegacyEcidToPayload: addLegacyEcidToPayload,
96
- awaitIdentityCookie: awaitIdentityCookie,
97
- logger: logger
93
+ const ensureSingleIdentity = (0, _injectEnsureSingleIdentity.default)({
94
+ doesIdentityCookieExist,
95
+ setDomainForInitialIdentityPayload,
96
+ addLegacyEcidToPayload,
97
+ awaitIdentityCookie,
98
+ logger
98
99
  });
99
- var processIdSyncs = (0, _injectProcessIdSyncs.default)({
100
- fireReferrerHideableImage: fireReferrerHideableImage,
101
- logger: logger
100
+ const processIdSyncs = (0, _injectProcessIdSyncs.default)({
101
+ fireReferrerHideableImage,
102
+ logger
102
103
  });
103
- var handleResponseForIdSyncs = (0, _injectHandleResponseForIdSyncs.default)({
104
- processIdSyncs: processIdSyncs
104
+ const handleResponseForIdSyncs = (0, _injectHandleResponseForIdSyncs.default)({
105
+ processIdSyncs
105
106
  });
106
- var appendIdentityToUrl = (0, _injectAppendIdentityToUrl.default)({
107
- dateProvider: function dateProvider() {
108
- return new Date();
109
- },
110
- orgId: orgId,
111
- globalConfigOverrides: globalConfigOverrides
107
+ const appendIdentityToUrl = (0, _injectAppendIdentityToUrl.default)({
108
+ dateProvider: () => new Date(),
109
+ orgId,
110
+ globalConfigOverrides
112
111
  });
113
112
  return (0, _createComponent.default)({
114
113
  addEcidQueryToPayload: _addEcidQueryToPayload.default,
115
- addQueryStringIdentityToPayload: addQueryStringIdentityToPayload,
116
- ensureSingleIdentity: ensureSingleIdentity,
114
+ addQueryStringIdentityToPayload,
115
+ ensureSingleIdentity,
117
116
  setLegacyEcid: legacyIdentity.setEcid,
118
- handleResponseForIdSyncs: handleResponseForIdSyncs,
117
+ handleResponseForIdSyncs,
119
118
  getEcidFromResponse: _getEcidFromResponse.default,
120
- getIdentity: getIdentity,
121
- consent: consent,
122
- appendIdentityToUrl: appendIdentityToUrl,
123
- logger: logger,
124
- config: config
119
+ getIdentity,
120
+ consent,
121
+ appendIdentityToUrl,
122
+ logger,
123
+ config
125
124
  });
126
125
  };
127
126
  createIdentity.namespace = "Identity";
@@ -13,19 +13,21 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
13
  OF ANY KIND, either express or implied. See the License for the specific language
14
14
  governing permissions and limitations under the License.
15
15
  */
16
- var _default = exports.default = function _default(_ref) {
17
- var getLegacyEcid = _ref.getLegacyEcid,
18
- addEcidToPayload = _ref.addEcidToPayload;
19
- return function (payload) {
16
+ var _default = ({
17
+ getLegacyEcid,
18
+ addEcidToPayload
19
+ }) => {
20
+ return payload => {
20
21
  if (payload.hasIdentity(_ecidNamespace.default)) {
21
22
  // don't get the legacy identity if we already have the query string identity or if
22
23
  // the user specified it in the identity map
23
24
  return Promise.resolve();
24
25
  }
25
- return getLegacyEcid().then(function (ecidToMigrate) {
26
+ return getLegacyEcid().then(ecidToMigrate => {
26
27
  if (ecidToMigrate) {
27
28
  addEcidToPayload(payload, ecidToMigrate);
28
29
  }
29
30
  });
30
31
  };
31
- };
32
+ };
33
+ exports.default = _default;
@@ -4,12 +4,7 @@ exports.default = void 0;
4
4
  var _index = require("../../utils/index.js");
5
5
  var _queryStringIdentityParam = require("../../constants/queryStringIdentityParam.js");
6
6
  var _ecidNamespace = require("../../constants/ecidNamespace.js");
7
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
7
+ /*
13
8
  Copyright 2023 Adobe. All rights reserved.
14
9
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
15
10
  you may not use this file except in compliance with the License. You may obtain a copy
@@ -19,50 +14,49 @@ Unless required by applicable law or agreed to in writing, software distributed
19
14
  the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
20
15
  OF ANY KIND, either express or implied. See the License for the specific language
21
16
  governing permissions and limitations under the License.
22
- */ // Example: adobe_mc=TS%3D1641432103%7CMCMID%3D77094828402023918047117570965393734545%7CMCORGID%3DFAF554945B90342F0A495E2C%40AdobeOrg
17
+ */
18
+ // Example: adobe_mc=TS%3D1641432103%7CMCMID%3D77094828402023918047117570965393734545%7CMCORGID%3DFAF554945B90342F0A495E2C%40AdobeOrg
23
19
  // Decoded: adobe_mc=TS=1641432103|MCMID=77094828402023918047117570965393734545|MCORGID=FAF554945B90342F0A495E2C@AdobeOrg
24
- var LINK_TTL_SECONDS = 300; // 5 minute link time to live
25
- var _default = exports.default = function _default(_ref) {
26
- var locationSearch = _ref.locationSearch,
27
- dateProvider = _ref.dateProvider,
28
- orgId = _ref.orgId,
29
- logger = _ref.logger;
30
- return function (payload) {
31
- if (payload.hasIdentity(_ecidNamespace.default)) {
32
- // don't overwrite a user provided ecid identity
33
- return;
34
- }
35
- var parsedQueryString = _index.queryString.parse(locationSearch);
36
- var queryStringValue = parsedQueryString[_queryStringIdentityParam.default];
37
- if (queryStringValue === undefined) {
38
- return;
39
- }
40
- if (Array.isArray(queryStringValue)) {
41
- logger.warn("Found multiple adobe_mc query string paramters, only using the last one.");
42
- queryStringValue = queryStringValue[queryStringValue.length - 1];
43
- }
44
- var properties = queryStringValue.split("|").reduce(function (memo, keyValue) {
45
- var _keyValue$split = keyValue.split("="),
46
- _keyValue$split2 = _slicedToArray(_keyValue$split, 2),
47
- key = _keyValue$split2[0],
48
- value = _keyValue$split2[1];
49
- memo[key] = value;
50
- return memo;
51
- }, {});
52
- // We are using MCMID and MCORGID to be compatible with Visitor.
53
- var ts = parseInt(properties.TS, 10);
54
- var mcmid = properties.MCMID;
55
- var mcorgid = decodeURIComponent(properties.MCORGID);
56
- if (
57
- // When TS is not specified or not a number, the following inequality returns false.
58
- // All inequalities with NaN variables are false.
59
- dateProvider().getTime() / 1000 <= ts + LINK_TTL_SECONDS && mcorgid === orgId && mcmid) {
60
- logger.info("Found valid ECID identity " + mcmid + " from the adobe_mc query string parameter.");
61
- payload.addIdentity(_ecidNamespace.default, {
62
- id: mcmid
63
- });
64
- } else {
65
- logger.info("Detected invalid or expired adobe_mc query string parameter.");
66
- }
67
- };
68
- };
20
+
21
+ const LINK_TTL_SECONDS = 300; // 5 minute link time to live
22
+ var _default = ({
23
+ locationSearch,
24
+ dateProvider,
25
+ orgId,
26
+ logger
27
+ }) => payload => {
28
+ if (payload.hasIdentity(_ecidNamespace.default)) {
29
+ // don't overwrite a user provided ecid identity
30
+ return;
31
+ }
32
+ const parsedQueryString = _index.queryString.parse(locationSearch);
33
+ let queryStringValue = parsedQueryString[_queryStringIdentityParam.default];
34
+ if (queryStringValue === undefined) {
35
+ return;
36
+ }
37
+ if (Array.isArray(queryStringValue)) {
38
+ logger.warn("Found multiple adobe_mc query string paramters, only using the last one.");
39
+ queryStringValue = queryStringValue[queryStringValue.length - 1];
40
+ }
41
+ const properties = queryStringValue.split("|").reduce((memo, keyValue) => {
42
+ const [key, value] = keyValue.split("=");
43
+ memo[key] = value;
44
+ return memo;
45
+ }, {});
46
+ // We are using MCMID and MCORGID to be compatible with Visitor.
47
+ const ts = parseInt(properties.TS, 10);
48
+ const mcmid = properties.MCMID;
49
+ const mcorgid = decodeURIComponent(properties.MCORGID);
50
+ if (
51
+ // When TS is not specified or not a number, the following inequality returns false.
52
+ // All inequalities with NaN variables are false.
53
+ dateProvider().getTime() / 1000 <= ts + LINK_TTL_SECONDS && mcorgid === orgId && mcmid) {
54
+ logger.info("Found valid ECID identity " + mcmid + " from the adobe_mc query string parameter.");
55
+ payload.addIdentity(_ecidNamespace.default, {
56
+ id: mcmid
57
+ });
58
+ } else {
59
+ logger.info("Detected invalid or expired adobe_mc query string parameter.");
60
+ }
61
+ };
62
+ exports.default = _default;
@@ -12,20 +12,22 @@ 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 doesIdentityCookieExist = _ref.doesIdentityCookieExist,
17
- orgId = _ref.orgId,
18
- logger = _ref.logger;
15
+ var _default = ({
16
+ doesIdentityCookieExist,
17
+ orgId,
18
+ logger
19
+ }) => {
19
20
  /**
20
21
  * Returns a promise that will be resolved once an identity cookie exists.
21
22
  * If an identity cookie doesn't already exist, it should always exist after
22
23
  * the first response.
23
24
  */
24
- return function (_ref2) {
25
- var onResponse = _ref2.onResponse,
26
- onRequestFailure = _ref2.onRequestFailure;
27
- return new Promise(function (resolve, reject) {
28
- onResponse(function () {
25
+ return ({
26
+ onResponse,
27
+ onRequestFailure
28
+ }) => {
29
+ return new Promise((resolve, reject) => {
30
+ onResponse(() => {
29
31
  if (doesIdentityCookieExist()) {
30
32
  resolve();
31
33
  } else {
@@ -38,7 +40,7 @@ var _default = exports.default = function _default(_ref) {
38
40
  reject(new Error("Identity cookie not found."));
39
41
  }
40
42
  });
41
- onRequestFailure(function () {
43
+ onRequestFailure(() => {
42
44
  if (doesIdentityCookieExist()) {
43
45
  resolve();
44
46
  } else {
@@ -49,4 +51,5 @@ var _default = exports.default = function _default(_ref) {
49
51
  });
50
52
  });
51
53
  };
52
- };
54
+ };
55
+ exports.default = _default;
@@ -13,14 +13,15 @@ OF ANY KIND, either express or implied. See the License for the specific languag
13
13
  governing permissions and limitations under the License.
14
14
  */
15
15
  // TO-DOCUMENT: We queue subsequent requests until we have an identity cookie.
16
- var _default = exports.default = function _default(_ref) {
17
- var doesIdentityCookieExist = _ref.doesIdentityCookieExist,
18
- setDomainForInitialIdentityPayload = _ref.setDomainForInitialIdentityPayload,
19
- addLegacyEcidToPayload = _ref.addLegacyEcidToPayload,
20
- awaitIdentityCookie = _ref.awaitIdentityCookie,
21
- logger = _ref.logger;
22
- var obtainedIdentityPromise;
23
- var allowRequestToGoWithoutIdentity = function allowRequestToGoWithoutIdentity(request) {
16
+ var _default = ({
17
+ doesIdentityCookieExist,
18
+ setDomainForInitialIdentityPayload,
19
+ addLegacyEcidToPayload,
20
+ awaitIdentityCookie,
21
+ logger
22
+ }) => {
23
+ let obtainedIdentityPromise;
24
+ const allowRequestToGoWithoutIdentity = request => {
24
25
  setDomainForInitialIdentityPayload(request);
25
26
  return addLegacyEcidToPayload(request.getPayload());
26
27
  };
@@ -44,10 +45,11 @@ var _default = exports.default = function _default(_ref) {
44
45
  * an identity is to prevent a single malformed request causing all other
45
46
  * requests to never send.
46
47
  */
47
- return function (_ref2) {
48
- var request = _ref2.request,
49
- onResponse = _ref2.onResponse,
50
- onRequestFailure = _ref2.onRequestFailure;
48
+ return ({
49
+ request,
50
+ onResponse,
51
+ onRequestFailure
52
+ }) => {
51
53
  if (doesIdentityCookieExist()) {
52
54
  request.setIsIdentityEstablished();
53
55
  return Promise.resolve();
@@ -58,27 +60,27 @@ var _default = exports.default = function _default(_ref) {
58
60
  // response. We will hold up this request until the previous request
59
61
  // returns and awaitIdentityCookie confirms the identity was set.
60
62
  logger.info("Delaying request while retrieving ECID from server.");
61
- var previousObtainedIdentityPromise = obtainedIdentityPromise;
63
+ const previousObtainedIdentityPromise = obtainedIdentityPromise;
62
64
 
63
65
  // This promise resolves when we have an identity cookie. Additional
64
66
  // requests are chained together so that only one is sent at a time
65
67
  // until we have the identity cookie.
66
- obtainedIdentityPromise = previousObtainedIdentityPromise.catch(function () {
68
+ obtainedIdentityPromise = previousObtainedIdentityPromise.catch(() => {
67
69
  return awaitIdentityCookie({
68
- onResponse: onResponse,
69
- onRequestFailure: onRequestFailure
70
+ onResponse,
71
+ onRequestFailure
70
72
  });
71
73
  });
72
74
 
73
75
  // When this returned promise resolves, the request will go out.
74
- return previousObtainedIdentityPromise.then(function () {
76
+ return previousObtainedIdentityPromise.then(() => {
75
77
  logger.info("Resuming previously delayed request.");
76
78
  request.setIsIdentityEstablished();
77
79
  })
78
80
  // If Konductor did not set the identity cookie on the previous
79
81
  // request, then awaitIdentityCookie will reject its promise.
80
82
  // Catch the rejection here and allow this request to go out.
81
- .catch(function () {
83
+ .catch(() => {
82
84
  return allowRequestToGoWithoutIdentity(request);
83
85
  });
84
86
  }
@@ -88,13 +90,12 @@ var _default = exports.default = function _default(_ref) {
88
90
  // be sent in parallel, we'll let this request go out to fetch the
89
91
  // cookie
90
92
  obtainedIdentityPromise = awaitIdentityCookie({
91
- onResponse: onResponse,
92
- onRequestFailure: onRequestFailure
93
+ onResponse,
94
+ onRequestFailure
93
95
  });
94
96
  // This prevents an un-caught promise in the console when the identity isn't set.
95
- obtainedIdentityPromise.catch(function () {
96
- return undefined;
97
- });
97
+ obtainedIdentityPromise.catch(() => undefined);
98
98
  return allowRequestToGoWithoutIdentity(request);
99
99
  };
100
- };
100
+ };
101
+ exports.default = _default;
@@ -12,9 +12,11 @@ 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 processIdSyncs = _ref.processIdSyncs;
17
- return function (response) {
15
+ var _default = ({
16
+ processIdSyncs
17
+ }) => {
18
+ return response => {
18
19
  return processIdSyncs(response.getPayloadsByType("identity:exchange"));
19
20
  };
20
- };
21
+ };
22
+ exports.default = _default;
@@ -14,28 +14,26 @@ OF ANY KIND, either express or implied. See the License for the specific languag
14
14
  governing permissions and limitations under the License.
15
15
  */
16
16
 
17
- var createResultLogMessage = function createResultLogMessage(idSync, success) {
17
+ const createResultLogMessage = (idSync, success) => {
18
18
  return "ID sync " + (success ? "succeeded" : "failed") + ": " + idSync.spec.url;
19
19
  };
20
- var _default = exports.default = function _default(_ref) {
21
- var fireReferrerHideableImage = _ref.fireReferrerHideableImage,
22
- logger = _ref.logger;
23
- return function (idSyncs) {
24
- var urlIdSyncs = idSyncs.filter(function (idSync) {
25
- return idSync.type === "url";
20
+ var _default = ({
21
+ fireReferrerHideableImage,
22
+ logger
23
+ }) => idSyncs => {
24
+ const urlIdSyncs = idSyncs.filter(idSync => idSync.type === "url");
25
+ if (!urlIdSyncs.length) {
26
+ return Promise.resolve();
27
+ }
28
+ return Promise.all(urlIdSyncs.map(idSync => {
29
+ return fireReferrerHideableImage(idSync.spec).then(() => {
30
+ logger.info(createResultLogMessage(idSync, true));
31
+ }).catch(() => {
32
+ // We intentionally do not throw an error if id syncs fail. We
33
+ // consider it a non-critical failure and therefore do not want it to
34
+ // reject the promise handed back to the customer.
35
+ logger.error(createResultLogMessage(idSync, false));
26
36
  });
27
- if (!urlIdSyncs.length) {
28
- return Promise.resolve();
29
- }
30
- return Promise.all(urlIdSyncs.map(function (idSync) {
31
- return fireReferrerHideableImage(idSync.spec).then(function () {
32
- logger.info(createResultLogMessage(idSync, true));
33
- }).catch(function () {
34
- // We intentionally do not throw an error if id syncs fail. We
35
- // consider it a non-critical failure and therefore do not want it to
36
- // reject the promise handed back to the customer.
37
- logger.error(createResultLogMessage(idSync, false));
38
- });
39
- })).then(_index.noop);
40
- };
41
- };
37
+ })).then(_index.noop);
38
+ };
39
+ exports.default = _default;
@@ -13,10 +13,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
13
  OF ANY KIND, either express or implied. See the License for the specific language
14
14
  governing permissions and limitations under the License.
15
15
  */
16
- var _default = exports.default = function _default(_ref) {
17
- var thirdPartyCookiesEnabled = _ref.thirdPartyCookiesEnabled,
18
- areThirdPartyCookiesSupportedByDefault = _ref.areThirdPartyCookiesSupportedByDefault;
19
- return function (request) {
16
+ var _default = ({
17
+ thirdPartyCookiesEnabled,
18
+ areThirdPartyCookiesSupportedByDefault
19
+ }) => {
20
+ return request => {
20
21
  if (thirdPartyCookiesEnabled && areThirdPartyCookiesSupportedByDefault((0, _getBrowser.default)(window))) {
21
22
  // If third-party cookies are enabled by the customer and
22
23
  // supported by the browser, we will send the request to a
@@ -30,4 +31,5 @@ var _default = exports.default = function _default(_ref) {
30
31
  request.setUseIdThirdPartyDomain();
31
32
  }
32
33
  };
33
- };
34
+ };
35
+ exports.default = _default;
@@ -13,13 +13,14 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
13
  OF ANY KIND, either express or implied. See the License for the specific language
14
14
  governing permissions and limitations under the License.
15
15
  */
16
- var _default = exports.default = function _default(_ref) {
17
- var logger = _ref.logger;
18
- return new Promise(function (resolve, reject) {
16
+ var _default = ({
17
+ logger
18
+ }) => {
19
+ return new Promise((resolve, reject) => {
19
20
  if ((0, _index.isObject)(window.adobe) && (0, _index.isObject)(window.adobe.optIn)) {
20
- var optInOld = window.adobe.optIn;
21
+ const optInOld = window.adobe.optIn;
21
22
  logger.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server.");
22
- optInOld.fetchPermissions(function () {
23
+ optInOld.fetchPermissions(() => {
23
24
  if (optInOld.isApproved([optInOld.Categories.ECID])) {
24
25
  logger.info("Received legacy opt-in approval to let Visitor retrieve ECID from server.");
25
26
  resolve();
@@ -31,4 +32,5 @@ var _default = exports.default = function _default(_ref) {
31
32
  resolve();
32
33
  }
33
34
  });
34
- };
35
+ };
36
+ exports.default = _default;
@@ -13,7 +13,8 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
13
  OF ANY KIND, either express or implied. See the License for the specific language
14
14
  governing permissions and limitations under the License.
15
15
  */
16
- var _default = exports.default = function _default(window) {
17
- var Visitor = window.Visitor;
16
+ var _default = window => {
17
+ const Visitor = window.Visitor;
18
18
  return (0, _index.isFunction)(Visitor) && (0, _index.isFunction)(Visitor.getInstance) && Visitor;
19
- };
19
+ };
20
+ exports.default = _default;
@@ -13,27 +13,28 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
13
  OF ANY KIND, either express or implied. See the License for the specific language
14
14
  governing permissions and limitations under the License.
15
15
  */
16
- var _default = exports.default = function _default(_ref) {
17
- var logger = _ref.logger,
18
- orgId = _ref.orgId,
19
- awaitVisitorOptIn = _ref.awaitVisitorOptIn;
20
- return function () {
21
- var Visitor = (0, _getVisitor.default)(window);
16
+ var _default = ({
17
+ logger,
18
+ orgId,
19
+ awaitVisitorOptIn
20
+ }) => {
21
+ return () => {
22
+ const Visitor = (0, _getVisitor.default)(window);
22
23
  if (Visitor) {
23
24
  // Need to explicitly wait for optIn because visitor will call callback
24
25
  // with invalid values prior to optIn being approved
25
26
  return awaitVisitorOptIn({
26
- logger: logger
27
- }).then(function () {
27
+ logger
28
+ }).then(() => {
28
29
  logger.info("Delaying request while using Visitor to retrieve ECID from server.");
29
- return new Promise(function (resolve) {
30
- var visitor = Visitor.getInstance(orgId, {});
31
- visitor.getMarketingCloudVisitorID(function (ecid) {
30
+ return new Promise(resolve => {
31
+ const visitor = Visitor.getInstance(orgId, {});
32
+ visitor.getMarketingCloudVisitorID(ecid => {
32
33
  logger.info("Resuming previously delayed request that was waiting for ECID from Visitor.");
33
34
  resolve(ecid);
34
35
  }, true);
35
36
  });
36
- }).catch(function (error) {
37
+ }).catch(error => {
37
38
  // If consent was denied, get the ECID from experience edge. OptIn and AEP Web SDK
38
39
  // consent should operate independently, but during id migration AEP Web SDK needs
39
40
  // to wait for optIn object consent resolution so that only one ECID is generated.
@@ -46,4 +47,5 @@ var _default = exports.default = function _default(_ref) {
46
47
  }
47
48
  return Promise.resolve();
48
49
  };
49
- };
50
+ };
51
+ exports.default = _default;