@adobe/alloy 2.18.0 → 2.19.0-beta.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 (576) hide show
  1. package/libEs5/baseCode/index.js +2 -12
  2. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
  3. package/libEs5/components/ActivityCollector/configValidators.js +1 -4
  4. package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
  5. package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
  6. package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
  7. package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
  8. package/libEs5/components/ActivityCollector/index.js +8 -18
  9. package/libEs5/components/ActivityCollector/utils.js +3 -40
  10. package/libEs5/components/Audiences/index.js +2 -8
  11. package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
  12. package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
  13. package/libEs5/components/Context/createComponent.js +0 -4
  14. package/libEs5/components/Context/implementationDetails.js +0 -5
  15. package/libEs5/components/Context/index.js +12 -19
  16. package/libEs5/components/Context/injectDevice.js +3 -20
  17. package/libEs5/components/Context/injectEnvironment.js +1 -8
  18. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
  19. package/libEs5/components/Context/injectPlaceContext.js +2 -8
  20. package/libEs5/components/Context/injectTimestamp.js +0 -3
  21. package/libEs5/components/Context/injectWeb.js +0 -3
  22. package/libEs5/components/DataCollector/index.js +25 -35
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +5 -6
  25. package/libEs5/components/EventMerge/createComponent.js +0 -2
  26. package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
  27. package/libEs5/components/EventMerge/index.js +1 -4
  28. package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
  29. package/libEs5/components/Identity/addEcidToPayload.js +0 -3
  30. package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
  31. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
  32. package/libEs5/components/Identity/configValidators.js +1 -2
  33. package/libEs5/components/Identity/constants/authState.js +1 -1
  34. package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
  35. package/libEs5/components/Identity/createComponent.js +16 -22
  36. package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
  37. package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
  38. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
  39. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
  40. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
  41. package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
  42. package/libEs5/components/Identity/index.js +8 -29
  43. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
  44. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
  45. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
  46. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
  47. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
  48. package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
  49. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
  50. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
  51. package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
  52. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
  53. package/libEs5/components/LibraryInfo/index.js +13 -21
  54. package/libEs5/components/MachineLearning/index.js +1 -3
  55. package/libEs5/components/MachineLearning/processResponse.js +0 -2
  56. package/libEs5/components/Personalization/constants/eventType.js +1 -1
  57. package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
  58. package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
  59. package/libEs5/components/Personalization/constants/schema.js +1 -1
  60. package/libEs5/components/Personalization/constants/scopeType.js +1 -1
  61. package/libEs5/components/Personalization/constants/surface.js +1 -1
  62. package/libEs5/components/Personalization/createApplyPropositions.js +47 -49
  63. package/libEs5/components/Personalization/createClickStorage.js +1 -10
  64. package/libEs5/components/Personalization/createCollect.js +5 -15
  65. package/libEs5/components/Personalization/createComponent.js +40 -42
  66. package/libEs5/components/Personalization/createFetchDataHandler.js +81 -26
  67. package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
  68. package/libEs5/components/Personalization/createOnClickHandler.js +8 -18
  69. package/libEs5/components/Personalization/{utils/composePersonalizationResultingObject.js → createPendingNotificationsHandler.js} +9 -18
  70. package/libEs5/components/Personalization/createPersonalizationDetails.js +24 -30
  71. package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
  72. package/libEs5/components/Personalization/createViewCacheManager.js +54 -28
  73. package/libEs5/components/Personalization/createViewChangeHandler.js +25 -37
  74. package/libEs5/components/Personalization/dom-actions/action.js +6 -37
  75. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
  76. package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
  77. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +16 -27
  78. package/{libEs6/components/Personalization/utils/composePersonalizationResultingObject.js → libEs5/components/Personalization/dom-actions/createPreprocess.js} +14 -14
  79. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
  80. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
  81. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
  82. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
  83. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
  84. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
  85. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
  86. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
  87. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
  88. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
  89. package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
  90. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
  91. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
  92. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
  93. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
  94. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
  95. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
  96. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
  97. package/libEs5/components/Personalization/dom-actions/images.js +1 -11
  98. package/libEs5/components/Personalization/dom-actions/index.js +1 -10
  99. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +2 -14
  100. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
  101. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
  102. package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
  103. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
  104. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
  105. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +5 -15
  106. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
  107. package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
  108. package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
  109. package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
  110. package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
  111. package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
  112. package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
  113. package/libEs5/components/Personalization/event.js +2 -10
  114. package/libEs5/components/Personalization/flicker/index.js +17 -31
  115. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +54 -0
  116. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +38 -0
  117. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +195 -0
  118. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +42 -0
  119. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +118 -0
  120. package/libEs5/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -5
  121. package/libEs5/components/Personalization/index.js +72 -80
  122. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
  123. package/libEs5/components/Personalization/utils/createAsyncArray.js +39 -0
  124. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
  125. package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
  126. package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
  127. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +5 -8
  128. package/libEs5/components/Privacy/computeConsentHash.js +11 -8
  129. package/libEs5/components/Privacy/createComponent.js +24 -26
  130. package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
  131. package/libEs5/components/Privacy/createConsentRequest.js +1 -4
  132. package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
  133. package/libEs5/components/Privacy/createStoredConsent.js +2 -6
  134. package/libEs5/components/Privacy/index.js +5 -15
  135. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
  136. package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
  137. package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
  138. package/libEs5/constants/apiVersion.js +0 -1
  139. package/libEs5/constants/browser.js +1 -1
  140. package/libEs5/constants/consentPurpose.js +1 -1
  141. package/libEs5/constants/consentStatus.js +1 -1
  142. package/libEs5/constants/cookieNameKey.js +1 -1
  143. package/libEs5/constants/cookieNamePrefix.js +0 -1
  144. package/libEs5/constants/coreCommands.js +1 -1
  145. package/libEs5/constants/debugQueryParam.js +0 -1
  146. package/libEs5/constants/domain.js +1 -1
  147. package/libEs5/constants/ecidNamespace.js +0 -1
  148. package/libEs5/constants/edgeBasePath.js +0 -1
  149. package/libEs5/constants/elementAttribute.js +1 -1
  150. package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
  151. package/libEs5/constants/httpHeaderNames.js +1 -1
  152. package/libEs5/constants/httpStatusCode.js +1 -1
  153. package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
  154. package/libEs5/constants/legacyCookies.js +1 -1
  155. package/libEs5/constants/libraryName.js +0 -1
  156. package/libEs5/constants/libraryVersion.js +1 -2
  157. package/libEs5/constants/namespace.js +0 -1
  158. package/libEs5/constants/pageWideScope.js +0 -1
  159. package/libEs5/constants/queryStringIdentityParam.js +0 -1
  160. package/libEs5/constants/shadowSeparator.js +0 -1
  161. package/libEs5/constants/tagName.js +1 -1
  162. package/libEs5/core/buildAndValidateConfig.js +21 -32
  163. package/libEs5/core/componentCreators.js +0 -12
  164. package/libEs5/core/config/createConfig.js +1 -3
  165. package/libEs5/core/config/createCoreConfigs.js +0 -7
  166. package/libEs5/core/consent/createConsent.js +1 -11
  167. package/libEs5/core/consent/createConsentStateMachine.js +1 -18
  168. package/libEs5/core/createComponentRegistry.js +4 -14
  169. package/libEs5/core/createCookieTransfer.js +9 -18
  170. package/libEs5/core/createEvent.js +41 -32
  171. package/libEs5/core/createEventManager.js +27 -33
  172. package/libEs5/core/createInstanceFunction.js +0 -2
  173. package/libEs5/core/createLifecycle.js +14 -14
  174. package/libEs5/core/createLogController.js +5 -17
  175. package/libEs5/core/createLogger.js +3 -17
  176. package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
  177. package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
  178. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
  179. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
  180. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
  181. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
  182. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
  183. package/libEs5/core/index.js +12 -54
  184. package/libEs5/core/initializeComponents.js +5 -10
  185. package/libEs5/core/injectCreateResponse.js +8 -16
  186. package/libEs5/core/injectExecuteCommand.js +8 -19
  187. package/libEs5/core/injectHandleError.js +4 -8
  188. package/libEs5/core/injectShouldTransferCookie.js +1 -5
  189. package/libEs5/core/network/getRequestRetryDelay.js +10 -17
  190. package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
  191. package/libEs5/core/network/isRequestRetryable.js +5 -7
  192. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
  193. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
  194. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
  195. package/libEs5/core/validateCommandOptions.js +5 -9
  196. package/libEs5/index.js +7 -15
  197. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
  198. package/libEs5/utils/assign.js +0 -2
  199. package/libEs5/utils/assignIf.js +0 -4
  200. package/libEs5/utils/clone.js +0 -3
  201. package/libEs5/utils/cookieJar.js +0 -2
  202. package/libEs5/utils/crc32.js +0 -8
  203. package/libEs5/utils/createCallbackAggregator.js +0 -4
  204. package/libEs5/utils/createLoggingCookieJar.js +1 -6
  205. package/libEs5/utils/createMerger.js +0 -4
  206. package/libEs5/utils/createTaskQueue.js +0 -7
  207. package/libEs5/utils/deduplicateArray.js +32 -0
  208. package/libEs5/utils/deepAssign.js +2 -10
  209. package/libEs5/utils/defer.js +0 -3
  210. package/libEs5/utils/dom/appendNode.js +0 -2
  211. package/libEs5/utils/dom/awaitSelector.js +1 -29
  212. package/libEs5/utils/dom/createNode.js +1 -5
  213. package/libEs5/utils/dom/index.js +0 -8
  214. package/libEs5/utils/dom/isShadowSelector.js +0 -3
  215. package/libEs5/utils/dom/matchesSelector.js +2 -5
  216. package/libEs5/utils/dom/querySelectorAll.js +3 -6
  217. package/libEs5/utils/dom/removeNode.js +0 -4
  218. package/libEs5/utils/dom/selectNodes.js +0 -8
  219. package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
  220. package/libEs5/utils/endsWith.js +0 -3
  221. package/libEs5/utils/filterObject.js +13 -17
  222. package/libEs5/utils/find.js +0 -5
  223. package/libEs5/utils/fireImage.js +2 -7
  224. package/libEs5/utils/flatMap.js +0 -2
  225. package/libEs5/utils/getApexDomain.js +4 -8
  226. package/libEs5/utils/getBrowser.js +11 -11
  227. package/libEs5/utils/getLastArrayItems.js +0 -3
  228. package/libEs5/utils/getNamespacedCookieName.js +0 -4
  229. package/libEs5/utils/groupBy.js +0 -5
  230. package/libEs5/utils/includes.js +0 -3
  231. package/libEs5/utils/index.js +7 -55
  232. package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
  233. package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
  234. package/libEs5/utils/injectStorage.js +1 -7
  235. package/libEs5/utils/intersection.js +0 -4
  236. package/libEs5/utils/isBlankString.js +0 -4
  237. package/libEs5/utils/isBoolean.js +0 -3
  238. package/libEs5/utils/isEmptyObject.js +0 -4
  239. package/libEs5/utils/isFunction.js +0 -3
  240. package/libEs5/utils/isInteger.js +0 -4
  241. package/libEs5/utils/isNamespacedCookieName.js +0 -5
  242. package/libEs5/utils/isNil.js +0 -3
  243. package/libEs5/utils/isNonEmptyArray.js +0 -3
  244. package/libEs5/utils/isNonEmptyString.js +0 -4
  245. package/libEs5/utils/isNumber.js +0 -3
  246. package/libEs5/utils/isObject.js +11 -5
  247. package/libEs5/utils/isString.js +0 -3
  248. package/libEs5/utils/isUnique.js +0 -7
  249. package/libEs5/utils/isValidRegExp.js +0 -3
  250. package/libEs5/utils/memoize.js +0 -5
  251. package/libEs5/utils/noop.js +0 -3
  252. package/libEs5/utils/padStart.js +0 -6
  253. package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
  254. package/libEs5/utils/querystring.js +0 -2
  255. package/libEs5/utils/request/createAddIdentity.js +0 -2
  256. package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
  257. package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
  258. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
  259. package/libEs5/utils/request/createHasIdentity.js +0 -2
  260. package/libEs5/utils/request/createRequest.js +3 -6
  261. package/libEs5/utils/request/createRequestParams.js +4 -12
  262. package/libEs5/utils/request/createRequestPayload.js +2 -7
  263. package/libEs5/utils/request/index.js +0 -8
  264. package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
  265. package/libEs5/utils/stackError.js +1 -6
  266. package/libEs5/utils/startsWith.js +0 -3
  267. package/libEs5/utils/stringToBoolean.js +0 -3
  268. package/libEs5/utils/toArray.js +0 -4
  269. package/libEs5/utils/toError.js +0 -3
  270. package/libEs5/utils/toISOStringLocal.js +3 -7
  271. package/libEs5/utils/toInteger.js +2 -8
  272. package/libEs5/utils/updateErrorMessage.js +3 -5
  273. package/libEs5/utils/uuid.js +0 -2
  274. package/libEs5/utils/validateConfigOverride.js +0 -3
  275. package/libEs5/utils/validateIdentityMap.js +0 -4
  276. package/libEs5/utils/validation/booleanValidator.js +0 -4
  277. package/libEs5/utils/validation/callbackValidator.js +0 -4
  278. package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
  279. package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
  280. package/libEs5/utils/validation/createDefaultValidator.js +0 -3
  281. package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
  282. package/libEs5/utils/validation/createLiteralValidator.js +0 -3
  283. package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
  284. package/libEs5/utils/validation/createMinimumValidator.js +0 -3
  285. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
  286. package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
  287. package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
  288. package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
  289. package/libEs5/utils/validation/createUniqueValidator.js +0 -3
  290. package/libEs5/utils/validation/domainValidator.js +1 -4
  291. package/libEs5/utils/validation/index.js +76 -59
  292. package/libEs5/utils/validation/integerValidator.js +0 -4
  293. package/libEs5/utils/validation/numberValidator.js +0 -4
  294. package/libEs5/utils/validation/regexpValidator.js +0 -4
  295. package/libEs5/utils/validation/requiredValidator.js +0 -3
  296. package/libEs5/utils/validation/stringValidator.js +0 -4
  297. package/libEs5/utils/validation/utils.js +7 -21
  298. package/libEs5/utils/values.js +0 -3
  299. package/libEs6/baseCode/index.js +3 -8
  300. package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
  301. package/libEs6/components/ActivityCollector/configValidators.js +1 -0
  302. package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
  303. package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
  304. package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
  305. package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
  306. package/libEs6/components/ActivityCollector/index.js +3 -6
  307. package/libEs6/components/ActivityCollector/utils.js +2 -29
  308. package/libEs6/components/Audiences/index.js +1 -2
  309. package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
  310. package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
  311. package/libEs6/components/Context/createComponent.js +1 -2
  312. package/libEs6/components/Context/index.js +3 -3
  313. package/libEs6/components/Context/injectDevice.js +1 -16
  314. package/libEs6/components/Context/injectEnvironment.js +1 -4
  315. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
  316. package/libEs6/components/Context/injectPlaceContext.js +2 -5
  317. package/libEs6/components/Context/injectTimestamp.js +1 -0
  318. package/libEs6/components/Context/injectWeb.js +1 -0
  319. package/libEs6/components/DataCollector/index.js +5 -12
  320. package/libEs6/components/DataCollector/validateApplyResponse.js +6 -1
  321. package/libEs6/components/DataCollector/validateUserEventOptions.js +6 -2
  322. package/libEs6/components/EventMerge/createComponent.js +1 -0
  323. package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
  324. package/libEs6/components/EventMerge/index.js +1 -2
  325. package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
  326. package/libEs6/components/Identity/addEcidToPayload.js +1 -0
  327. package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
  328. package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
  329. package/libEs6/components/Identity/configValidators.js +1 -0
  330. package/libEs6/components/Identity/constants/authState.js +1 -0
  331. package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
  332. package/libEs6/components/Identity/createComponent.js +5 -7
  333. package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
  334. package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
  335. package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
  336. package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
  337. package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
  338. package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
  339. package/libEs6/components/Identity/index.js +1 -2
  340. package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
  341. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
  342. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
  343. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
  344. package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
  345. package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
  346. package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
  347. package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
  348. package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
  349. package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
  350. package/libEs6/components/LibraryInfo/index.js +3 -6
  351. package/libEs6/components/MachineLearning/index.js +1 -2
  352. package/libEs6/components/MachineLearning/processResponse.js +1 -0
  353. package/libEs6/components/Personalization/constants/eventType.js +1 -0
  354. package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
  355. package/libEs6/components/Personalization/constants/schema.js +1 -0
  356. package/libEs6/components/Personalization/constants/scopeType.js +1 -0
  357. package/libEs6/components/Personalization/constants/surface.js +1 -0
  358. package/libEs6/components/Personalization/createApplyPropositions.js +31 -34
  359. package/libEs6/components/Personalization/createClickStorage.js +1 -8
  360. package/libEs6/components/Personalization/createCollect.js +0 -5
  361. package/libEs6/components/Personalization/createComponent.js +23 -21
  362. package/libEs6/components/Personalization/createFetchDataHandler.js +61 -10
  363. package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
  364. package/libEs6/components/Personalization/createOnClickHandler.js +4 -7
  365. package/{libEs5/components/Personalization/dom-actions/click.js → libEs6/components/Personalization/createPendingNotificationsHandler.js} +11 -15
  366. package/libEs6/components/Personalization/createPersonalizationDetails.js +9 -22
  367. package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
  368. package/libEs6/components/Personalization/createViewCacheManager.js +50 -24
  369. package/libEs6/components/Personalization/createViewChangeHandler.js +25 -29
  370. package/libEs6/components/Personalization/dom-actions/action.js +5 -14
  371. package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
  372. package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
  373. package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +2 -14
  374. package/libEs6/components/Personalization/dom-actions/{click.js → createPreprocess.js} +7 -11
  375. package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
  376. package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
  377. package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
  378. package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
  379. package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
  380. package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
  381. package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
  382. package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
  383. package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
  384. package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
  385. package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
  386. package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
  387. package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
  388. package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
  389. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
  390. package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
  391. package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
  392. package/libEs6/components/Personalization/dom-actions/images.js +1 -1
  393. package/libEs6/components/Personalization/dom-actions/index.js +2 -2
  394. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +4 -7
  395. package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
  396. package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
  397. package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
  398. package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
  399. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
  400. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +4 -6
  401. package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
  402. package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
  403. package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
  404. package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
  405. package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
  406. package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
  407. package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
  408. package/libEs6/components/Personalization/event.js +4 -4
  409. package/libEs6/components/Personalization/flicker/index.js +9 -12
  410. package/libEs6/components/Personalization/handlers/createProcessDomAction.js +48 -0
  411. package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +34 -0
  412. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +175 -0
  413. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +38 -0
  414. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +113 -0
  415. package/libEs6/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -3
  416. package/libEs6/components/Personalization/index.js +61 -42
  417. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
  418. package/libEs6/components/Personalization/utils/createAsyncArray.js +35 -0
  419. package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
  420. package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
  421. package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
  422. package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +4 -4
  423. package/libEs6/components/Privacy/computeConsentHash.js +3 -4
  424. package/libEs6/components/Privacy/createComponent.js +5 -10
  425. package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
  426. package/libEs6/components/Privacy/createConsentRequest.js +1 -3
  427. package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
  428. package/libEs6/components/Privacy/createStoredConsent.js +1 -2
  429. package/libEs6/components/Privacy/index.js +1 -2
  430. package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
  431. package/libEs6/constants/browser.js +1 -0
  432. package/libEs6/constants/consentPurpose.js +1 -0
  433. package/libEs6/constants/consentStatus.js +1 -0
  434. package/libEs6/constants/cookieNameKey.js +1 -0
  435. package/libEs6/constants/cookieNamePrefix.js +1 -0
  436. package/libEs6/constants/coreCommands.js +1 -0
  437. package/libEs6/constants/debugQueryParam.js +1 -0
  438. package/libEs6/constants/domain.js +1 -0
  439. package/libEs6/constants/ecidNamespace.js +1 -0
  440. package/libEs6/constants/elementAttribute.js +1 -0
  441. package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
  442. package/libEs6/constants/httpHeaderNames.js +1 -0
  443. package/libEs6/constants/httpStatusCode.js +1 -0
  444. package/libEs6/constants/legacyCookies.js +1 -0
  445. package/libEs6/constants/libraryName.js +1 -0
  446. package/libEs6/constants/libraryVersion.js +3 -1
  447. package/libEs6/constants/namespace.js +1 -0
  448. package/libEs6/constants/pageWideScope.js +1 -0
  449. package/libEs6/constants/queryStringIdentityParam.js +1 -0
  450. package/libEs6/constants/shadowSeparator.js +1 -0
  451. package/libEs6/constants/tagName.js +1 -0
  452. package/libEs6/core/buildAndValidateConfig.js +4 -10
  453. package/libEs6/core/componentCreators.js +3 -3
  454. package/libEs6/core/config/createConfig.js +1 -2
  455. package/libEs6/core/config/createCoreConfigs.js +1 -0
  456. package/libEs6/core/consent/createConsent.js +1 -9
  457. package/libEs6/core/consent/createConsentStateMachine.js +1 -20
  458. package/libEs6/core/createComponentRegistry.js +3 -15
  459. package/libEs6/core/createCookieTransfer.js +6 -12
  460. package/libEs6/core/createEvent.js +25 -31
  461. package/libEs6/core/createEventManager.js +8 -10
  462. package/libEs6/core/createInstanceFunction.js +1 -0
  463. package/libEs6/core/createLifecycle.js +14 -10
  464. package/libEs6/core/createLogController.js +1 -7
  465. package/libEs6/core/createLogger.js +1 -17
  466. package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
  467. package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
  468. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
  469. package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
  470. package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
  471. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
  472. package/libEs6/core/index.js +4 -10
  473. package/libEs6/core/initializeComponents.js +3 -4
  474. package/libEs6/core/injectCreateResponse.js +3 -7
  475. package/libEs6/core/injectExecuteCommand.js +5 -11
  476. package/libEs6/core/injectHandleError.js +4 -3
  477. package/libEs6/core/injectShouldTransferCookie.js +1 -0
  478. package/libEs6/core/network/getRequestRetryDelay.js +11 -13
  479. package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
  480. package/libEs6/core/network/isRequestRetryable.js +4 -2
  481. package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
  482. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
  483. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
  484. package/libEs6/core/validateCommandOptions.js +1 -2
  485. package/libEs6/index.js +5 -3
  486. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
  487. package/libEs6/utils/assign.js +1 -0
  488. package/libEs6/utils/assignIf.js +1 -1
  489. package/libEs6/utils/cookieJar.js +1 -0
  490. package/libEs6/utils/crc32.js +0 -7
  491. package/libEs6/utils/createCallbackAggregator.js +0 -2
  492. package/libEs6/utils/createLoggingCookieJar.js +3 -3
  493. package/libEs6/utils/createMerger.js +2 -1
  494. package/libEs6/utils/createTaskQueue.js +0 -4
  495. package/libEs6/utils/deduplicateArray.js +23 -0
  496. package/libEs6/utils/deepAssign.js +2 -5
  497. package/libEs6/utils/dom/appendNode.js +1 -0
  498. package/libEs6/utils/dom/awaitSelector.js +1 -14
  499. package/libEs6/utils/dom/createNode.js +1 -2
  500. package/libEs6/utils/dom/index.js +1 -0
  501. package/libEs6/utils/dom/isShadowSelector.js +1 -0
  502. package/libEs6/utils/dom/matchesSelector.js +2 -2
  503. package/libEs6/utils/dom/querySelectorAll.js +3 -2
  504. package/libEs6/utils/dom/removeNode.js +1 -2
  505. package/libEs6/utils/dom/selectNodes.js +2 -2
  506. package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
  507. package/libEs6/utils/filterObject.js +8 -12
  508. package/libEs6/utils/find.js +0 -2
  509. package/libEs6/utils/fireImage.js +2 -1
  510. package/libEs6/utils/getApexDomain.js +4 -4
  511. package/libEs6/utils/getBrowser.js +1 -7
  512. package/libEs6/utils/getNamespacedCookieName.js +1 -0
  513. package/libEs6/utils/groupBy.js +0 -2
  514. package/libEs6/utils/index.js +2 -0
  515. package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
  516. package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
  517. package/libEs6/utils/injectStorage.js +1 -5
  518. package/libEs6/utils/intersection.js +2 -1
  519. package/libEs6/utils/isBlankString.js +2 -1
  520. package/libEs6/utils/isEmptyObject.js +2 -1
  521. package/libEs6/utils/isInteger.js +2 -1
  522. package/libEs6/utils/isNamespacedCookieName.js +2 -1
  523. package/libEs6/utils/isNonEmptyString.js +2 -1
  524. package/libEs6/utils/isObject.js +2 -1
  525. package/libEs6/utils/isUnique.js +0 -5
  526. package/libEs6/utils/memoize.js +0 -2
  527. package/libEs6/utils/padStart.js +1 -4
  528. package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
  529. package/libEs6/utils/querystring.js +1 -0
  530. package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
  531. package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
  532. package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
  533. package/libEs6/utils/request/createHasIdentity.js +1 -0
  534. package/libEs6/utils/request/createRequest.js +3 -9
  535. package/libEs6/utils/request/createRequestParams.js +0 -3
  536. package/libEs6/utils/request/createRequestPayload.js +4 -4
  537. package/libEs6/utils/request/index.js +1 -0
  538. package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
  539. package/libEs6/utils/stackError.js +2 -1
  540. package/libEs6/utils/toArray.js +1 -2
  541. package/libEs6/utils/toISOStringLocal.js +4 -3
  542. package/libEs6/utils/toInteger.js +4 -4
  543. package/libEs6/utils/updateErrorMessage.js +3 -1
  544. package/libEs6/utils/uuid.js +1 -0
  545. package/libEs6/utils/validateConfigOverride.js +1 -0
  546. package/libEs6/utils/validateIdentityMap.js +1 -0
  547. package/libEs6/utils/validation/booleanValidator.js +1 -0
  548. package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
  549. package/libEs6/utils/validation/createDefaultValidator.js +1 -1
  550. package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
  551. package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
  552. package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
  553. package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
  554. package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
  555. package/libEs6/utils/validation/createUniqueValidator.js +1 -0
  556. package/libEs6/utils/validation/index.js +14 -32
  557. package/libEs6/utils/validation/integerValidator.js +1 -0
  558. package/libEs6/utils/validation/numberValidator.js +1 -0
  559. package/libEs6/utils/validation/regexpValidator.js +1 -0
  560. package/libEs6/utils/validation/requiredValidator.js +1 -1
  561. package/libEs6/utils/validation/utils.js +8 -12
  562. package/package.json +2 -2
  563. package/libEs5/components/Personalization/createAutoRenderingHandler.js +0 -92
  564. package/libEs5/components/Personalization/createExecuteDecisions.js +0 -89
  565. package/libEs5/components/Personalization/createNonRenderingHandler.js +0 -66
  566. package/libEs5/components/Personalization/createOnResponseHandler.js +0 -73
  567. package/libEs5/components/Personalization/createRedirectHandler.js +0 -58
  568. package/libEs5/components/Personalization/dom-actions/executeActions.js +0 -75
  569. package/libEs5/components/Personalization/groupDecisions.js +0 -160
  570. package/libEs6/components/Personalization/createAutoRenderingHandler.js +0 -84
  571. package/libEs6/components/Personalization/createExecuteDecisions.js +0 -77
  572. package/libEs6/components/Personalization/createNonRenderingHandler.js +0 -56
  573. package/libEs6/components/Personalization/createOnResponseHandler.js +0 -68
  574. package/libEs6/components/Personalization/createRedirectHandler.js +0 -57
  575. package/libEs6/components/Personalization/dom-actions/executeActions.js +0 -66
  576. package/libEs6/components/Personalization/groupDecisions.js +0 -131
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default ((doc = document) => {
13
14
  return doc.location.href.indexOf("adobe_authoring_enabled") !== -1;
14
15
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { isPageWideSurface } from "./surfaceUtils";
13
14
  import PAGE_WIDE_SCOPE from "../../../constants/pageWideScope";
14
15
  export default (scope => scope === PAGE_WIDE_SCOPE || isPageWideSurface(scope));
@@ -9,29 +9,23 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { WEB, WEBAPP, SURFACE_TYPE_DELIMITER, FRAGMENT_DELIMITER } from "../constants/surface";
13
14
  import { startsWith, isNil, isNonEmptyString, includes } from "../../../utils";
14
15
  const SURFACE_REGEX = /^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/;
15
16
  const AUTHORITY_REGEX = /^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/;
16
17
  const PATH_REGEX = /^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/;
17
18
  const FRAGMENT_REGEX = /^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/;
18
-
19
19
  const normalizePath = (path = "/") => {
20
20
  let end = path.length;
21
-
22
21
  while (end > 0 && "/".indexOf(path.charAt(end - 1)) !== -1) {
23
22
  end -= 1;
24
23
  }
25
-
26
24
  return path.substring(0, end) || "/";
27
25
  };
28
-
29
26
  const getSurfaceType = surfaceTypeMatch => isNonEmptyString(surfaceTypeMatch) ? surfaceTypeMatch.toLowerCase() : "";
30
-
31
27
  const getAuthority = authorityMatch => isNonEmptyString(authorityMatch) ? authorityMatch.toLowerCase() : "";
32
-
33
28
  const getPath = pathMatch => isNonEmptyString(pathMatch) ? normalizePath(pathMatch) : "/";
34
-
35
29
  const parseSurface = surfaceString => {
36
30
  const matched = surfaceString.match(SURFACE_REGEX);
37
31
  return matched ? {
@@ -41,53 +35,40 @@ const parseSurface = surfaceString => {
41
35
  fragment: matched[4]
42
36
  } : null;
43
37
  };
44
-
45
38
  const stringifySurface = surface => `${surface.surfaceType}${SURFACE_TYPE_DELIMITER}${surface.authority}${surface.path || ""}${surface.fragment || ""}`;
46
-
47
39
  export const buildPageSurface = getPageLocation => {
48
40
  const location = getPageLocation();
49
41
  const host = location.host.toLowerCase();
50
42
  const path = location.pathname;
51
43
  return WEB + SURFACE_TYPE_DELIMITER + host + normalizePath(path);
52
44
  };
53
-
54
45
  const expandFragmentSurface = (surface, getPageLocation) => startsWith(surface, FRAGMENT_DELIMITER) ? buildPageSurface(getPageLocation) + surface : surface;
55
-
56
46
  const validateSurface = (surface, getPageLocation, logger) => {
57
47
  const invalidateSurface = validationError => {
58
48
  logger.warn(validationError);
59
49
  return null;
60
50
  };
61
-
62
51
  if (!isNonEmptyString(surface)) {
63
52
  return invalidateSurface(`Invalid surface: ${surface}`);
64
53
  }
65
-
66
54
  const expanded = expandFragmentSurface(surface, getPageLocation);
67
55
  const parsed = parseSurface(expanded);
68
-
69
56
  if (parsed === null) {
70
57
  return invalidateSurface(`Invalid surface: ${surface}`);
71
58
  }
72
-
73
59
  if (!includes([WEB, WEBAPP], parsed.surfaceType)) {
74
60
  return invalidateSurface(`Unsupported surface type ${parsed.surfaceType} in surface: ${surface}`);
75
61
  }
76
-
77
62
  if (!parsed.authority || !AUTHORITY_REGEX.test(parsed.authority)) {
78
63
  return invalidateSurface(`Invalid authority ${parsed.authority} in surface: ${surface}`);
79
64
  }
80
-
81
65
  if (parsed.path && !PATH_REGEX.test(parsed.path)) {
82
66
  return invalidateSurface(`Invalid path ${parsed.path} in surface: ${surface}`);
83
67
  }
84
-
85
68
  if (parsed.fragment && !FRAGMENT_REGEX.test(parsed.fragment)) {
86
69
  return invalidateSurface(`Invalid fragment ${parsed.fragment} in surface: ${surface}`);
87
70
  }
88
-
89
71
  return parsed;
90
72
  };
91
-
92
73
  export const isPageWideSurface = scope => !!scope && scope.indexOf(WEB + SURFACE_TYPE_DELIMITER) === 0 && scope.indexOf(FRAGMENT_DELIMITER) === -1;
93
74
  export const normalizeSurfaces = (surfaces = [], getPageLocation, logger) => surfaces.map(surface => validateSurface(surface, getPageLocation, logger)).filter(surface => !isNil(surface)).map(stringifySurface);
@@ -9,7 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
- import { anything, objectOf, arrayOf } from "../../utils/validation";
12
+ import { anything, objectOf, arrayOf, string } from "../../utils/validation";
13
13
  export const EMPTY_PROPOSITIONS = {
14
14
  propositions: []
15
15
  };
@@ -18,10 +18,10 @@ export default (({
18
18
  options
19
19
  }) => {
20
20
  const applyPropositionsOptionsValidator = objectOf({
21
- propositions: arrayOf(objectOf(anything())).nonEmpty(),
22
- metadata: objectOf(anything())
21
+ propositions: arrayOf(objectOf(anything())),
22
+ metadata: objectOf(anything()),
23
+ viewName: string()
23
24
  }).required();
24
-
25
25
  try {
26
26
  return applyPropositionsOptionsValidator(options);
27
27
  } catch (e) {
@@ -9,23 +9,22 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
- import { crc32 } from "../../utils"; // serialize an object with a consistent ordering
13
12
 
13
+ import { crc32 } from "../../utils";
14
+
15
+ // serialize an object with a consistent ordering
14
16
  const serialize = obj => {
15
17
  if (Array.isArray(obj)) {
16
18
  return obj.map(i => serialize(i));
17
19
  }
18
-
19
20
  if (typeof obj === "object" && obj !== null) {
20
21
  return Object.keys(obj).sort().reduce((memo, key) => {
21
22
  memo[key] = serialize(obj[key]);
22
23
  return memo;
23
24
  }, {});
24
25
  }
25
-
26
26
  return obj;
27
27
  };
28
-
29
28
  export default (obj => {
30
29
  return crc32(JSON.stringify(serialize(obj)));
31
30
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { GENERAL } from "../../constants/consentPurpose";
13
14
  export default (({
14
15
  storedConsent,
@@ -26,31 +27,26 @@ export default (({
26
27
  let storedConsentByPurpose = storedConsent.read();
27
28
  const identityCookieExists = doesIdentityCookieExist();
28
29
  const consentCookieExists = storedConsentByPurpose[GENERAL] !== undefined;
29
-
30
30
  if (!identityCookieExists || !consentCookieExists) {
31
31
  consentHashStore.clear();
32
- } // If the identity cookie is gone, remove the consent cookie because the
32
+ }
33
+ // If the identity cookie is gone, remove the consent cookie because the
33
34
  // consent info is tied to the identity.
34
-
35
-
36
35
  if (!identityCookieExists) {
37
36
  storedConsent.clear();
38
37
  storedConsentByPurpose = {};
39
38
  }
40
-
41
39
  consent.initializeConsent(defaultConsentByPurpose, storedConsentByPurpose);
42
-
43
40
  const readCookieIfQueueEmpty = () => {
44
41
  if (taskQueue.length === 0) {
45
- const storedConsentObject = storedConsent.read(); // Only read cookies when there are no outstanding setConsent
42
+ const storedConsentObject = storedConsent.read();
43
+ // Only read cookies when there are no outstanding setConsent
46
44
  // requests. This helps with race conditions.
47
-
48
45
  if (storedConsentObject[GENERAL] !== undefined) {
49
46
  consent.setConsent(storedConsentObject);
50
47
  }
51
48
  }
52
49
  };
53
-
54
50
  return {
55
51
  commands: {
56
52
  setConsent: {
@@ -70,7 +66,6 @@ export default (({
70
66
  edgeConfigOverrides
71
67
  });
72
68
  }
73
-
74
69
  return Promise.resolve();
75
70
  }).then(() => consentHashes.save()).finally(readCookieIfQueueEmpty);
76
71
  }
@@ -10,14 +10,12 @@ OF ANY KIND, either express or implied. See the License for the specific languag
10
10
  governing permissions and limitations under the License.
11
11
  */
12
12
  import computeConsentHash from "./computeConsentHash";
13
-
14
13
  const getKey = ({
15
14
  standard,
16
15
  version
17
16
  }) => {
18
17
  return `${standard}.${version}`;
19
18
  };
20
-
21
19
  export default (({
22
20
  storage
23
21
  }) => {
@@ -25,10 +23,8 @@ export default (({
25
23
  clear() {
26
24
  storage.clear();
27
25
  },
28
-
29
26
  lookup(consentObjects) {
30
27
  const currentHashes = {};
31
-
32
28
  const getCurrentHash = consentObject => {
33
29
  const key = getKey(consentObject);
34
30
  const {
@@ -36,14 +32,11 @@ export default (({
36
32
  version,
37
33
  ...rest
38
34
  } = consentObject;
39
-
40
35
  if (!currentHashes[key]) {
41
36
  currentHashes[key] = computeConsentHash(rest).toString();
42
37
  }
43
-
44
38
  return currentHashes[key];
45
39
  };
46
-
47
40
  return {
48
41
  isNew() {
49
42
  return consentObjects.some(consentObject => {
@@ -52,16 +45,13 @@ export default (({
52
45
  return previousHash === null || previousHash !== getCurrentHash(consentObject);
53
46
  });
54
47
  },
55
-
56
48
  save() {
57
49
  consentObjects.forEach(consentObject => {
58
50
  const key = getKey(consentObject);
59
51
  storage.setItem(key, getCurrentHash(consentObject));
60
52
  });
61
53
  }
62
-
63
54
  };
64
55
  }
65
-
66
56
  };
67
57
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { createRequest } from "../../utils/request";
13
14
  export default (({
14
15
  payload,
@@ -17,14 +18,11 @@ export default (({
17
18
  return createRequest({
18
19
  payload,
19
20
  datastreamIdOverride,
20
-
21
21
  getAction() {
22
22
  return "privacy/set-consent";
23
23
  },
24
-
25
24
  getUseSendBeacon() {
26
25
  return false;
27
26
  }
28
-
29
27
  });
30
28
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { createRequestPayload } from "../../utils/request";
13
14
  export default (() => {
14
15
  const content = {};
@@ -23,10 +24,8 @@ export default (() => {
23
24
  return (content.identityMap && content.identityMap[namespaceCode]) !== undefined;
24
25
  }
25
26
  });
26
-
27
27
  payload.setConsent = consent => {
28
28
  content.consent = consent;
29
29
  };
30
-
31
30
  return payload;
32
31
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { getNamespacedCookieName } from "../../utils";
13
14
  import { CONSENT } from "../../constants/cookieNameKey";
14
15
  export default (({
@@ -22,10 +23,8 @@ export default (({
22
23
  const cookieValue = cookieJar.get(consentCookieName);
23
24
  return cookieValue ? parseConsentCookie(cookieValue) : {};
24
25
  },
25
-
26
26
  clear() {
27
27
  cookieJar.remove(consentCookieName);
28
28
  }
29
-
30
29
  };
31
30
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { createTaskQueue, cookieJar, injectDoesIdentityCookieExist, sanitizeOrgIdForCookieName } from "../../utils";
13
14
  import createComponent from "./createComponent";
14
15
  import createConsentHashStore from "./createConsentHashStore";
@@ -18,7 +19,6 @@ import createStoredConsent from "./createStoredConsent";
18
19
  import injectSendSetConsentRequest from "./injectSendSetConsentRequest";
19
20
  import parseConsentCookie from "./parseConsentCookie";
20
21
  import validateSetConsentOptions from "./validateSetConsentOptions";
21
-
22
22
  const createPrivacy = ({
23
23
  config,
24
24
  consent,
@@ -59,6 +59,5 @@ const createPrivacy = ({
59
59
  doesIdentityCookieExist
60
60
  });
61
61
  };
62
-
63
62
  createPrivacy.namespace = "Privacy";
64
63
  export default createPrivacy;
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { isObject } from "../../utils";
13
14
  import { createRequestParams } from "../../utils/request";
14
15
  export default (({
@@ -27,7 +28,6 @@ export default (({
27
28
  localConfigOverrides
28
29
  });
29
30
  requestParams.payload.setConsent(consentOptions);
30
-
31
31
  if (isObject(identityMap)) {
32
32
  Object.keys(identityMap).forEach(key => {
33
33
  identityMap[key].forEach(identity => {
@@ -35,11 +35,11 @@ export default (({
35
35
  });
36
36
  });
37
37
  }
38
-
39
38
  const request = createConsentRequest(requestParams);
40
39
  return sendEdgeNetworkRequest({
41
40
  request
42
- }).then(() => {// Don't let response data disseminate beyond this
41
+ }).then(() => {
42
+ // Don't let response data disseminate beyond this
43
43
  // point unless necessary.
44
44
  });
45
45
  });
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const CHROME = "Chrome";
13
14
  export const EDGE = "Edge";
14
15
  export const EDGE_CHROMIUM = "EdgeChromium";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const GENERAL = "general";
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const IN = "in";
13
14
  export const OUT = "out";
14
15
  export const PENDING = "pending";
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const IDENTITY = "identity";
13
14
  export const CONSENT = "consent";
14
15
  export const CLUSTER = "cluster";
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  // Remember to also incorporate the org ID wherever cookies are read or written.
13
14
  export default "kndctr";
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const CONFIGURE = "configure";
13
14
  export const SET_DEBUG = "setDebug";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "alloy_debug";
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const EDGE = "edge.adobedc.net";
13
14
  export const ID_THIRD_PARTY = "adobedc.demdex.net";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "ECID";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const SRC = "src";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default [["architecture", "string"], ["bitness", "string"], ["model", "string"], ["platformVersion", "string"], ["wow64", "boolean"]];
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const RETRY_AFTER = "Retry-After";
13
14
  export const ADOBE_EDGE = "x-adobe-edge";
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const NO_CONTENT = 204;
13
14
  export const TOO_MANY_REQUESTS = 429;
14
15
  export const BAD_GATEWAY = 502;
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const MBOX_EDGE_CLUSTER = "mboxEdgeCluster";
13
14
  export const AT_QA_MODE = "at_qa_mode";
14
15
  export const MBOX = "mbox";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "https://ns.adobe.com/experience/alloy";
@@ -9,6 +9,8 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
13
14
  // see babel-plugin-version
14
- export default "2.18.0";
15
+
16
+ export default "2.19.0-beta.1";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "com.adobe.alloy.";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "__view__";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default "adobe_mc";
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export default ":shadow";
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  export const BODY = "BODY";
13
14
  export const IFRAME = "IFRAME";
14
15
  export const IMG = "IMG";
@@ -11,7 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import { assign } from "../utils";
13
13
  const CONFIG_DOC_URI = "https://adobe.ly/3sHh553";
14
-
15
14
  const transformOptions = ({
16
15
  combinedConfigValidator,
17
16
  options,
@@ -26,7 +25,6 @@ const transformOptions = ({
26
25
  throw new Error(`Resolve these configuration problems:\n\t - ${e.message.split("\n").join("\n\t - ")}\nFor configuration documentation see: ${CONFIG_DOC_URI}`);
27
26
  }
28
27
  };
29
-
30
28
  const buildAllOnInstanceConfiguredExtraParams = (config, logger, componentCreators) => {
31
29
  return componentCreators.reduce((memo, {
32
30
  buildOnInstanceConfiguredExtraParams
@@ -37,25 +35,21 @@ const buildAllOnInstanceConfiguredExtraParams = (config, logger, componentCreato
37
35
  logger
38
36
  }));
39
37
  }
40
-
41
38
  return memo;
42
39
  }, {});
43
40
  };
44
-
45
41
  const wrapLoggerInQueue = logger => {
46
42
  const queue = [];
47
43
  const queuedLogger = {
48
44
  get enabled() {
49
45
  return logger.enabled;
50
46
  },
51
-
52
47
  flush() {
53
48
  queue.forEach(({
54
49
  method,
55
50
  args
56
51
  }) => logger[method](...args));
57
52
  }
58
-
59
53
  };
60
54
  Object.keys(logger).filter(key => typeof logger[key] === "function").forEach(method => {
61
55
  queuedLogger[method] = (...args) => {
@@ -67,7 +61,6 @@ const wrapLoggerInQueue = logger => {
67
61
  });
68
62
  return queuedLogger;
69
63
  };
70
-
71
64
  export default (({
72
65
  options,
73
66
  componentCreators,
@@ -90,10 +83,11 @@ export default (({
90
83
  setDebugEnabled(config.debugEnabled, {
91
84
  fromConfig: true
92
85
  });
93
- queuedLogger.flush(); // eslint-disable-next-line no-underscore-dangle
94
-
86
+ queuedLogger.flush();
87
+ // eslint-disable-next-line no-underscore-dangle
95
88
  const extraParams = buildAllOnInstanceConfiguredExtraParams(config, logger, componentCreators);
96
- logger.logOnInstanceConfigured({ ...extraParams,
89
+ logger.logOnInstanceConfigured({
90
+ ...extraParams,
97
91
  config
98
92
  });
99
93
  return config;
@@ -11,7 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  // This is the only place where core is allowed to import from components.
13
13
  // This makes sure that each component could be removed without breaking the library
14
-
15
14
  /* eslint-disable import/no-restricted-paths */
16
15
  import createDataCollector from "../components/DataCollector";
17
16
  import createActivityCollector from "../components/ActivityCollector";
@@ -22,7 +21,8 @@ import createContext from "../components/Context";
22
21
  import createPrivacy from "../components/Privacy";
23
22
  import createEventMerge from "../components/EventMerge";
24
23
  import createLibraryInfo from "../components/LibraryInfo";
25
- import createMachineLearning from "../components/MachineLearning"; // TODO: Register the Components here statically for now. They might be registered differently.
26
- // TODO: Figure out how sub-components will be made available/registered
24
+ import createMachineLearning from "../components/MachineLearning";
27
25
 
26
+ // TODO: Register the Components here statically for now. They might be registered differently.
27
+ // TODO: Figure out how sub-components will be made available/registered
28
28
  export default [createDataCollector, createActivityCollector, createIdentity, createAudiences, createPersonalization, createContext, createPrivacy, createEventMerge, createLibraryInfo, createMachineLearning];
@@ -9,10 +9,9 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
- import { assign } from "../../utils";
13
12
 
13
+ import { assign } from "../../utils";
14
14
  const createConfig = options => {
15
15
  return assign({}, options);
16
16
  };
17
-
18
17
  export default createConfig;
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
9
9
  OF ANY KIND, either express or implied. See the License for the specific language
10
10
  governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { boolean, string, callback, enumOf, objectOf } from "../../utils/validation";
13
14
  import { noop, validateConfigOverride } from "../../utils";
14
15
  import { EDGE as EDGE_DOMAIN } from "../../constants/domain";