@adobe/alloy 2.19.0-beta.0 → 2.19.0-beta.10

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 (561) 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 +24 -45
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +2 -5
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -9
  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 +7 -3
  61. package/libEs5/components/Personalization/constants/surface.js +1 -1
  62. package/libEs5/components/Personalization/createApplyPropositions.js +29 -40
  63. package/libEs5/components/Personalization/createClickStorage.js +22 -23
  64. package/libEs5/components/Personalization/createCollect.js +5 -15
  65. package/libEs5/components/Personalization/createComponent.js +43 -42
  66. package/libEs5/components/Personalization/createFetchDataHandler.js +41 -50
  67. package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
  68. package/libEs5/components/Personalization/createOnClickHandler.js +9 -20
  69. package/libEs5/components/Personalization/createPersonalizationDetails.js +23 -35
  70. package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
  71. package/libEs5/components/Personalization/createViewCacheManager.js +13 -26
  72. package/libEs5/components/Personalization/createViewChangeHandler.js +3 -15
  73. package/libEs5/components/Personalization/dom-actions/action.js +3 -19
  74. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
  75. package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
  76. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +46 -37
  77. package/libEs5/components/Personalization/dom-actions/createPreprocess.js +0 -4
  78. package/libEs5/components/Personalization/{utils/isPageWideScope.js → dom-actions/createRedirect.js} +10 -9
  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 +0 -1
  99. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +0 -4
  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 +2 -16
  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 +23 -15
  116. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +11 -10
  117. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +8 -53
  118. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +10 -9
  119. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +32 -40
  120. package/libEs5/components/Personalization/handlers/processDefaultContent.js +0 -2
  121. package/libEs5/components/Personalization/index.js +25 -55
  122. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
  123. package/libEs5/components/Personalization/utils/createAsyncArray.js +0 -3
  124. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
  125. package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
  126. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +2 -6
  127. package/libEs5/components/Privacy/computeConsentHash.js +11 -8
  128. package/libEs5/components/Privacy/createComponent.js +24 -26
  129. package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
  130. package/libEs5/components/Privacy/createConsentRequest.js +1 -4
  131. package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
  132. package/libEs5/components/Privacy/createStoredConsent.js +2 -6
  133. package/libEs5/components/Privacy/index.js +5 -15
  134. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
  135. package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
  136. package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
  137. package/libEs5/constants/apiVersion.js +0 -1
  138. package/libEs5/constants/browser.js +1 -1
  139. package/libEs5/constants/consentPurpose.js +1 -1
  140. package/libEs5/constants/consentStatus.js +1 -1
  141. package/libEs5/constants/cookieNameKey.js +1 -1
  142. package/libEs5/constants/cookieNamePrefix.js +0 -1
  143. package/libEs5/constants/coreCommands.js +1 -1
  144. package/libEs5/constants/debugQueryParam.js +0 -1
  145. package/libEs5/constants/domain.js +1 -1
  146. package/libEs5/constants/ecidNamespace.js +0 -1
  147. package/libEs5/constants/edgeBasePath.js +0 -1
  148. package/libEs5/constants/elementAttribute.js +1 -1
  149. package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
  150. package/libEs5/constants/httpHeaderNames.js +1 -1
  151. package/libEs5/constants/httpStatusCode.js +1 -1
  152. package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
  153. package/libEs5/constants/legacyCookies.js +1 -1
  154. package/libEs5/constants/libraryName.js +0 -1
  155. package/libEs5/constants/libraryVersion.js +1 -2
  156. package/libEs5/constants/namespace.js +0 -1
  157. package/libEs5/constants/pageWideScope.js +0 -1
  158. package/libEs5/constants/queryStringIdentityParam.js +0 -1
  159. package/libEs5/constants/shadowSeparator.js +0 -1
  160. package/libEs5/constants/tagName.js +1 -1
  161. package/libEs5/core/buildAndValidateConfig.js +21 -32
  162. package/libEs5/core/componentCreators.js +0 -12
  163. package/libEs5/core/config/createConfig.js +1 -3
  164. package/libEs5/core/config/createCoreConfigs.js +0 -7
  165. package/libEs5/core/consent/createConsent.js +1 -11
  166. package/libEs5/core/consent/createConsentStateMachine.js +1 -18
  167. package/libEs5/core/createComponentRegistry.js +4 -14
  168. package/libEs5/core/createCookieTransfer.js +9 -18
  169. package/libEs5/core/createEvent.js +25 -34
  170. package/libEs5/core/createEventManager.js +39 -53
  171. package/libEs5/core/createInstanceFunction.js +0 -2
  172. package/libEs5/core/createLifecycle.js +14 -14
  173. package/libEs5/core/createLogController.js +5 -17
  174. package/libEs5/core/createLogger.js +3 -17
  175. package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
  176. package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
  177. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
  178. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
  179. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
  180. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
  181. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
  182. package/libEs5/core/index.js +12 -54
  183. package/libEs5/core/initializeComponents.js +5 -10
  184. package/libEs5/core/injectCreateResponse.js +8 -16
  185. package/libEs5/core/injectExecuteCommand.js +8 -19
  186. package/libEs5/core/injectHandleError.js +4 -8
  187. package/libEs5/core/injectShouldTransferCookie.js +1 -5
  188. package/libEs5/core/network/getRequestRetryDelay.js +10 -17
  189. package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
  190. package/libEs5/core/network/isRequestRetryable.js +5 -7
  191. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
  192. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
  193. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
  194. package/libEs5/core/validateCommandOptions.js +5 -9
  195. package/libEs5/index.js +7 -15
  196. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
  197. package/libEs5/utils/assign.js +0 -2
  198. package/libEs5/utils/assignIf.js +0 -4
  199. package/libEs5/utils/clone.js +0 -3
  200. package/libEs5/utils/cookieJar.js +0 -2
  201. package/libEs5/utils/crc32.js +0 -8
  202. package/libEs5/utils/createCallbackAggregator.js +0 -4
  203. package/libEs5/utils/createLoggingCookieJar.js +1 -6
  204. package/libEs5/utils/createMerger.js +0 -4
  205. package/libEs5/utils/createTaskQueue.js +0 -7
  206. package/libEs5/utils/deduplicateArray.js +0 -5
  207. package/libEs5/utils/deepAssign.js +2 -10
  208. package/libEs5/utils/defer.js +0 -3
  209. package/libEs5/utils/dom/appendNode.js +0 -2
  210. package/libEs5/utils/dom/awaitSelector.js +1 -29
  211. package/libEs5/utils/dom/createNode.js +1 -5
  212. package/libEs5/utils/dom/index.js +0 -8
  213. package/libEs5/utils/dom/isShadowSelector.js +0 -3
  214. package/libEs5/utils/dom/matchesSelector.js +2 -5
  215. package/libEs5/utils/dom/querySelectorAll.js +3 -6
  216. package/libEs5/utils/dom/removeNode.js +0 -4
  217. package/libEs5/utils/dom/selectNodes.js +0 -8
  218. package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
  219. package/libEs5/utils/endsWith.js +0 -3
  220. package/libEs5/utils/filterObject.js +13 -17
  221. package/libEs5/utils/find.js +0 -5
  222. package/libEs5/utils/fireImage.js +2 -7
  223. package/libEs5/utils/flatMap.js +0 -2
  224. package/libEs5/utils/getApexDomain.js +4 -8
  225. package/libEs5/utils/getBrowser.js +11 -11
  226. package/libEs5/utils/getLastArrayItems.js +0 -3
  227. package/libEs5/utils/getNamespacedCookieName.js +0 -4
  228. package/libEs5/utils/groupBy.js +0 -5
  229. package/libEs5/utils/includes.js +0 -3
  230. package/libEs5/utils/index.js +0 -56
  231. package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
  232. package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
  233. package/libEs5/utils/injectStorage.js +1 -7
  234. package/libEs5/utils/intersection.js +0 -4
  235. package/libEs5/utils/isBlankString.js +0 -4
  236. package/libEs5/utils/isBoolean.js +0 -3
  237. package/libEs5/utils/isEmptyObject.js +0 -4
  238. package/libEs5/utils/isFunction.js +0 -3
  239. package/libEs5/utils/isInteger.js +0 -4
  240. package/libEs5/utils/isNamespacedCookieName.js +0 -5
  241. package/libEs5/utils/isNil.js +0 -3
  242. package/libEs5/utils/isNonEmptyArray.js +0 -3
  243. package/libEs5/utils/isNonEmptyString.js +0 -4
  244. package/libEs5/utils/isNumber.js +0 -3
  245. package/libEs5/utils/isObject.js +11 -5
  246. package/libEs5/utils/isString.js +0 -3
  247. package/libEs5/utils/isUnique.js +0 -7
  248. package/libEs5/utils/isValidRegExp.js +0 -3
  249. package/libEs5/utils/memoize.js +0 -5
  250. package/libEs5/utils/noop.js +0 -3
  251. package/libEs5/utils/padStart.js +0 -6
  252. package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
  253. package/libEs5/utils/querystring.js +0 -2
  254. package/libEs5/utils/request/createAddIdentity.js +0 -2
  255. package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
  256. package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
  257. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
  258. package/libEs5/utils/request/createHasIdentity.js +0 -2
  259. package/libEs5/utils/request/createRequest.js +3 -6
  260. package/libEs5/utils/request/createRequestParams.js +4 -12
  261. package/libEs5/utils/request/createRequestPayload.js +2 -7
  262. package/libEs5/utils/request/index.js +0 -8
  263. package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
  264. package/libEs5/utils/stackError.js +1 -6
  265. package/libEs5/utils/startsWith.js +0 -3
  266. package/libEs5/utils/stringToBoolean.js +0 -3
  267. package/libEs5/utils/toArray.js +0 -4
  268. package/libEs5/utils/toError.js +0 -3
  269. package/libEs5/utils/toISOStringLocal.js +3 -7
  270. package/libEs5/utils/toInteger.js +2 -8
  271. package/libEs5/utils/updateErrorMessage.js +3 -5
  272. package/libEs5/utils/uuid.js +0 -2
  273. package/libEs5/utils/validateConfigOverride.js +0 -3
  274. package/libEs5/utils/validateIdentityMap.js +0 -4
  275. package/libEs5/utils/validation/booleanValidator.js +0 -4
  276. package/libEs5/utils/validation/callbackValidator.js +0 -4
  277. package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
  278. package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
  279. package/libEs5/utils/validation/createDefaultValidator.js +0 -3
  280. package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
  281. package/libEs5/utils/validation/createLiteralValidator.js +0 -3
  282. package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
  283. package/libEs5/utils/validation/createMinimumValidator.js +0 -3
  284. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
  285. package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
  286. package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
  287. package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
  288. package/libEs5/utils/validation/createUniqueValidator.js +0 -3
  289. package/libEs5/utils/validation/domainValidator.js +1 -4
  290. package/libEs5/utils/validation/index.js +76 -59
  291. package/libEs5/utils/validation/integerValidator.js +0 -4
  292. package/libEs5/utils/validation/numberValidator.js +0 -4
  293. package/libEs5/utils/validation/regexpValidator.js +0 -4
  294. package/libEs5/utils/validation/requiredValidator.js +0 -3
  295. package/libEs5/utils/validation/stringValidator.js +0 -4
  296. package/libEs5/utils/validation/utils.js +7 -21
  297. package/libEs5/utils/values.js +0 -3
  298. package/libEs6/baseCode/index.js +3 -8
  299. package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
  300. package/libEs6/components/ActivityCollector/configValidators.js +1 -0
  301. package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
  302. package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
  303. package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
  304. package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
  305. package/libEs6/components/ActivityCollector/index.js +3 -6
  306. package/libEs6/components/ActivityCollector/utils.js +2 -29
  307. package/libEs6/components/Audiences/index.js +1 -2
  308. package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
  309. package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
  310. package/libEs6/components/Context/createComponent.js +1 -2
  311. package/libEs6/components/Context/index.js +3 -3
  312. package/libEs6/components/Context/injectDevice.js +1 -16
  313. package/libEs6/components/Context/injectEnvironment.js +1 -4
  314. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
  315. package/libEs6/components/Context/injectPlaceContext.js +2 -5
  316. package/libEs6/components/Context/injectTimestamp.js +1 -0
  317. package/libEs6/components/Context/injectWeb.js +1 -0
  318. package/libEs6/components/DataCollector/index.js +8 -25
  319. package/libEs6/components/DataCollector/validateApplyResponse.js +2 -2
  320. package/libEs6/components/DataCollector/validateUserEventOptions.js +7 -5
  321. package/libEs6/components/EventMerge/createComponent.js +1 -0
  322. package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
  323. package/libEs6/components/EventMerge/index.js +1 -2
  324. package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
  325. package/libEs6/components/Identity/addEcidToPayload.js +1 -0
  326. package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
  327. package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
  328. package/libEs6/components/Identity/configValidators.js +1 -0
  329. package/libEs6/components/Identity/constants/authState.js +1 -0
  330. package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
  331. package/libEs6/components/Identity/createComponent.js +5 -7
  332. package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
  333. package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
  334. package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
  335. package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
  336. package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
  337. package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
  338. package/libEs6/components/Identity/index.js +1 -2
  339. package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
  340. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
  341. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
  342. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
  343. package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
  344. package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
  345. package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
  346. package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
  347. package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
  348. package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
  349. package/libEs6/components/LibraryInfo/index.js +3 -6
  350. package/libEs6/components/MachineLearning/index.js +1 -2
  351. package/libEs6/components/MachineLearning/processResponse.js +1 -0
  352. package/libEs6/components/Personalization/constants/eventType.js +1 -0
  353. package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
  354. package/libEs6/components/Personalization/constants/schema.js +1 -0
  355. package/libEs6/components/Personalization/constants/scopeType.js +4 -1
  356. package/libEs6/components/Personalization/constants/surface.js +1 -0
  357. package/libEs6/components/Personalization/createApplyPropositions.js +14 -14
  358. package/libEs6/components/Personalization/createClickStorage.js +19 -18
  359. package/libEs6/components/Personalization/createCollect.js +0 -5
  360. package/libEs6/components/Personalization/createComponent.js +23 -20
  361. package/libEs6/components/Personalization/createFetchDataHandler.js +13 -17
  362. package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
  363. package/libEs6/components/Personalization/createOnClickHandler.js +6 -10
  364. package/libEs6/components/Personalization/createPersonalizationDetails.js +7 -28
  365. package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
  366. package/libEs6/components/Personalization/createViewCacheManager.js +11 -22
  367. package/libEs6/components/Personalization/createViewChangeHandler.js +1 -7
  368. package/libEs6/components/Personalization/dom-actions/action.js +1 -2
  369. package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
  370. package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
  371. package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +30 -26
  372. package/libEs6/components/Personalization/dom-actions/createPreprocess.js +0 -1
  373. package/libEs6/components/Personalization/{utils/isPageWideScope.js → dom-actions/createRedirect.js} +8 -4
  374. package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
  375. package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
  376. package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
  377. package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
  378. package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
  379. package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
  380. package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
  381. package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
  382. package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
  383. package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
  384. package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
  385. package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
  386. package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
  387. package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
  388. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
  389. package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
  390. package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
  391. package/libEs6/components/Personalization/dom-actions/images.js +1 -1
  392. package/libEs6/components/Personalization/dom-actions/index.js +1 -0
  393. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -0
  394. package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
  395. package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
  396. package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
  397. package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
  398. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
  399. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +1 -7
  400. package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
  401. package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
  402. package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
  403. package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
  404. package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
  405. package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
  406. package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
  407. package/libEs6/components/Personalization/event.js +4 -4
  408. package/libEs6/components/Personalization/flicker/index.js +9 -12
  409. package/libEs6/components/Personalization/handlers/createProcessDomAction.js +17 -9
  410. package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +8 -5
  411. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +3 -30
  412. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +7 -4
  413. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +17 -36
  414. package/libEs6/components/Personalization/index.js +9 -13
  415. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
  416. package/libEs6/components/Personalization/utils/createAsyncArray.js +0 -2
  417. package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
  418. package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
  419. package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +0 -1
  420. package/libEs6/components/Privacy/computeConsentHash.js +3 -4
  421. package/libEs6/components/Privacy/createComponent.js +5 -10
  422. package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
  423. package/libEs6/components/Privacy/createConsentRequest.js +1 -3
  424. package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
  425. package/libEs6/components/Privacy/createStoredConsent.js +1 -2
  426. package/libEs6/components/Privacy/index.js +1 -2
  427. package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
  428. package/libEs6/constants/browser.js +1 -0
  429. package/libEs6/constants/consentPurpose.js +1 -0
  430. package/libEs6/constants/consentStatus.js +1 -0
  431. package/libEs6/constants/cookieNameKey.js +1 -0
  432. package/libEs6/constants/cookieNamePrefix.js +1 -0
  433. package/libEs6/constants/coreCommands.js +1 -0
  434. package/libEs6/constants/debugQueryParam.js +1 -0
  435. package/libEs6/constants/domain.js +1 -0
  436. package/libEs6/constants/ecidNamespace.js +1 -0
  437. package/libEs6/constants/elementAttribute.js +1 -0
  438. package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
  439. package/libEs6/constants/httpHeaderNames.js +1 -0
  440. package/libEs6/constants/httpStatusCode.js +1 -0
  441. package/libEs6/constants/legacyCookies.js +1 -0
  442. package/libEs6/constants/libraryName.js +1 -0
  443. package/libEs6/constants/libraryVersion.js +3 -1
  444. package/libEs6/constants/namespace.js +1 -0
  445. package/libEs6/constants/pageWideScope.js +1 -0
  446. package/libEs6/constants/queryStringIdentityParam.js +1 -0
  447. package/libEs6/constants/shadowSeparator.js +1 -0
  448. package/libEs6/constants/tagName.js +1 -0
  449. package/libEs6/core/buildAndValidateConfig.js +4 -10
  450. package/libEs6/core/componentCreators.js +3 -3
  451. package/libEs6/core/config/createConfig.js +1 -2
  452. package/libEs6/core/config/createCoreConfigs.js +1 -0
  453. package/libEs6/core/consent/createConsent.js +1 -9
  454. package/libEs6/core/consent/createConsentStateMachine.js +1 -20
  455. package/libEs6/core/createComponentRegistry.js +3 -15
  456. package/libEs6/core/createCookieTransfer.js +6 -12
  457. package/libEs6/core/createEvent.js +15 -37
  458. package/libEs6/core/createEventManager.js +14 -27
  459. package/libEs6/core/createInstanceFunction.js +1 -0
  460. package/libEs6/core/createLifecycle.js +14 -10
  461. package/libEs6/core/createLogController.js +1 -7
  462. package/libEs6/core/createLogger.js +1 -17
  463. package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
  464. package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
  465. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
  466. package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
  467. package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
  468. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
  469. package/libEs6/core/index.js +4 -10
  470. package/libEs6/core/initializeComponents.js +3 -4
  471. package/libEs6/core/injectCreateResponse.js +3 -7
  472. package/libEs6/core/injectExecuteCommand.js +5 -11
  473. package/libEs6/core/injectHandleError.js +4 -3
  474. package/libEs6/core/injectShouldTransferCookie.js +1 -0
  475. package/libEs6/core/network/getRequestRetryDelay.js +11 -13
  476. package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
  477. package/libEs6/core/network/isRequestRetryable.js +4 -2
  478. package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
  479. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
  480. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
  481. package/libEs6/core/validateCommandOptions.js +1 -2
  482. package/libEs6/index.js +5 -3
  483. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
  484. package/libEs6/utils/assign.js +1 -0
  485. package/libEs6/utils/assignIf.js +1 -1
  486. package/libEs6/utils/cookieJar.js +1 -0
  487. package/libEs6/utils/crc32.js +0 -7
  488. package/libEs6/utils/createCallbackAggregator.js +0 -2
  489. package/libEs6/utils/createLoggingCookieJar.js +3 -3
  490. package/libEs6/utils/createMerger.js +2 -1
  491. package/libEs6/utils/createTaskQueue.js +0 -4
  492. package/libEs6/utils/deduplicateArray.js +0 -3
  493. package/libEs6/utils/deepAssign.js +2 -5
  494. package/libEs6/utils/dom/appendNode.js +1 -0
  495. package/libEs6/utils/dom/awaitSelector.js +1 -14
  496. package/libEs6/utils/dom/createNode.js +1 -2
  497. package/libEs6/utils/dom/index.js +1 -0
  498. package/libEs6/utils/dom/isShadowSelector.js +1 -0
  499. package/libEs6/utils/dom/matchesSelector.js +2 -2
  500. package/libEs6/utils/dom/querySelectorAll.js +3 -2
  501. package/libEs6/utils/dom/removeNode.js +1 -2
  502. package/libEs6/utils/dom/selectNodes.js +2 -2
  503. package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
  504. package/libEs6/utils/filterObject.js +8 -12
  505. package/libEs6/utils/find.js +0 -2
  506. package/libEs6/utils/fireImage.js +2 -1
  507. package/libEs6/utils/getApexDomain.js +4 -4
  508. package/libEs6/utils/getBrowser.js +1 -7
  509. package/libEs6/utils/getNamespacedCookieName.js +1 -0
  510. package/libEs6/utils/groupBy.js +0 -2
  511. package/libEs6/utils/index.js +1 -0
  512. package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
  513. package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
  514. package/libEs6/utils/injectStorage.js +1 -5
  515. package/libEs6/utils/intersection.js +2 -1
  516. package/libEs6/utils/isBlankString.js +2 -1
  517. package/libEs6/utils/isEmptyObject.js +2 -1
  518. package/libEs6/utils/isInteger.js +2 -1
  519. package/libEs6/utils/isNamespacedCookieName.js +2 -1
  520. package/libEs6/utils/isNonEmptyString.js +2 -1
  521. package/libEs6/utils/isObject.js +2 -1
  522. package/libEs6/utils/isUnique.js +0 -5
  523. package/libEs6/utils/memoize.js +0 -2
  524. package/libEs6/utils/padStart.js +1 -4
  525. package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
  526. package/libEs6/utils/querystring.js +1 -0
  527. package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
  528. package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
  529. package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
  530. package/libEs6/utils/request/createHasIdentity.js +1 -0
  531. package/libEs6/utils/request/createRequest.js +3 -9
  532. package/libEs6/utils/request/createRequestParams.js +0 -3
  533. package/libEs6/utils/request/createRequestPayload.js +4 -4
  534. package/libEs6/utils/request/index.js +1 -0
  535. package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
  536. package/libEs6/utils/stackError.js +2 -1
  537. package/libEs6/utils/toArray.js +1 -2
  538. package/libEs6/utils/toISOStringLocal.js +4 -3
  539. package/libEs6/utils/toInteger.js +4 -4
  540. package/libEs6/utils/updateErrorMessage.js +3 -1
  541. package/libEs6/utils/uuid.js +1 -0
  542. package/libEs6/utils/validateConfigOverride.js +1 -0
  543. package/libEs6/utils/validateIdentityMap.js +1 -0
  544. package/libEs6/utils/validation/booleanValidator.js +1 -0
  545. package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
  546. package/libEs6/utils/validation/createDefaultValidator.js +1 -1
  547. package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
  548. package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
  549. package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
  550. package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
  551. package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
  552. package/libEs6/utils/validation/createUniqueValidator.js +1 -0
  553. package/libEs6/utils/validation/index.js +14 -32
  554. package/libEs6/utils/validation/integerValidator.js +1 -0
  555. package/libEs6/utils/validation/numberValidator.js +1 -0
  556. package/libEs6/utils/validation/regexpValidator.js +1 -0
  557. package/libEs6/utils/validation/requiredValidator.js +1 -1
  558. package/libEs6/utils/validation/utils.js +8 -12
  559. package/package.json +3 -3
  560. package/libEs5/components/Personalization/createPendingNotificationsHandler.js +0 -29
  561. package/libEs6/components/Personalization/createPendingNotificationsHandler.js +0 -22
@@ -9,22 +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
+
12
13
  import isNumber from "./isNumber";
13
14
  import isString from "./isString";
15
+
14
16
  /*
15
17
  * coerce `value` to a number or return `defaultValue` if it cannot be.
16
18
  *
17
19
  * The coersion is attempted if value is a number or string.
18
20
  */
19
-
20
21
  export default ((value, defaultValue) => {
21
22
  if (isNumber(value) || isString(value)) {
22
- const n = Math.round(Number(value)); // eslint-disable-next-line no-restricted-globals
23
-
23
+ const n = Math.round(Number(value));
24
+ // eslint-disable-next-line no-restricted-globals
24
25
  if (!isNaN(n)) {
25
26
  return n;
26
27
  }
27
28
  }
28
-
29
29
  return defaultValue;
30
30
  });
@@ -9,13 +9,15 @@ 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 (({
13
14
  error,
14
15
  message
15
16
  }) => {
16
17
  try {
17
18
  error.message = message;
18
- } catch (e) {// We'll set a new message when we can, but some errors, like DOMException,
19
+ } catch (e) {
20
+ // We'll set a new message when we can, but some errors, like DOMException,
19
21
  // have a read-only message property, which limits our options.
20
22
  }
21
23
  });
@@ -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
  import uuid from "uuid/v4";
13
14
  export default uuid;
@@ -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
  import { objectOf } from "./validation";
13
14
  export default objectOf({});
@@ -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 { string, objectOf, boolean, arrayOf, enumOf, mapOfValues } from "./validation/index";
13
14
  import { AMBIGUOUS, AUTHENTICATED, LOGGED_OUT } from "../constants/identityMapAuthenticatedState";
14
15
  export default mapOfValues(arrayOf(objectOf({
@@ -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 isBoolean from "../isBoolean";
13
14
  import { assertValid } from "./utils";
14
15
  export default ((value, path) => {
@@ -21,10 +21,8 @@ export default (elementValidator => function arrayOf(value, path) {
21
21
  return undefined;
22
22
  }
23
23
  });
24
-
25
24
  if (errors.length) {
26
25
  throw new Error(errors.join("\n"));
27
26
  }
28
-
29
27
  return validatedArray;
30
28
  });
@@ -9,10 +9,10 @@ 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 (defaultValue => value => {
13
14
  if (value == null) {
14
15
  return defaultValue;
15
16
  }
16
-
17
17
  return value;
18
18
  });
@@ -19,21 +19,17 @@ export default ((oldField, oldSchema, newField) => function deprecated(value, pa
19
19
  ...otherValues
20
20
  } = value;
21
21
  const validatedOldValue = oldSchema(oldValue, path);
22
-
23
22
  if (validatedOldValue !== undefined) {
24
23
  let message = `The field '${oldField}' is deprecated. Use '${newField}' instead.`;
25
-
26
24
  if (path) {
27
25
  message = `'${path}': ${message}`;
28
26
  }
29
-
30
27
  if (newValue !== undefined && newValue !== validatedOldValue) {
31
28
  throw new Error(message);
32
29
  } else if (this && this.logger) {
33
30
  this.logger.warn(message);
34
31
  }
35
32
  }
36
-
37
33
  return {
38
34
  [newField]: newValue || validatedOldValue,
39
35
  ...otherValues
@@ -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 "../isObject";
13
14
  import { assertValid } from "./utils";
14
15
  export default (valueValidator => function mapOfValues(value, path) {
@@ -18,10 +19,8 @@ export default (valueValidator => function mapOfValues(value, path) {
18
19
  Object.keys(value).forEach(subKey => {
19
20
  const subValue = value[subKey];
20
21
  const subPath = path ? `${path}.${subKey}` : subKey;
21
-
22
22
  try {
23
23
  const validatedValue = valueValidator.call(this, subValue, subPath);
24
-
25
24
  if (validatedValue !== undefined) {
26
25
  validatedObject[subKey] = validatedValue;
27
26
  }
@@ -29,10 +28,8 @@ export default (valueValidator => function mapOfValues(value, path) {
29
28
  errors.push(e.message);
30
29
  }
31
30
  });
32
-
33
31
  if (errors.length) {
34
32
  throw new Error(errors.join("\n"));
35
33
  }
36
-
37
34
  return validatedObject;
38
35
  });
@@ -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 (schema => (value, path) => {
13
14
  const errors = [];
14
15
  Object.keys(value).forEach(subKey => {
@@ -17,10 +18,8 @@ export default (schema => (value, path) => {
17
18
  errors.push(`'${subPath}': Unknown field.`);
18
19
  }
19
20
  });
20
-
21
21
  if (errors.length) {
22
22
  throw new Error(errors.join("\n"));
23
23
  }
24
-
25
24
  return value;
26
25
  });
@@ -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 { assertValid } from "./utils";
13
14
  import isObject from "../isObject";
14
15
  import isEmptyObject from "../isEmptyObject";
@@ -18,6 +19,5 @@ export default (message => (value, path) => {
18
19
  } else {
19
20
  assertValid(value.length > 0, value, path, message);
20
21
  }
21
-
22
22
  return value;
23
23
  });
@@ -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 "../isObject";
13
14
  import { assertValid } from "./utils";
14
15
  export default (schema => function objectOf(value, path) {
@@ -19,27 +20,24 @@ export default (schema => function objectOf(value, path) {
19
20
  const subValue = value[subKey];
20
21
  const subSchema = schema[subKey];
21
22
  const subPath = path ? `${path}.${subKey}` : subKey;
22
-
23
23
  try {
24
24
  const validatedValue = subSchema.call(this, subValue, subPath);
25
-
26
25
  if (validatedValue !== undefined) {
27
26
  validatedObject[subKey] = validatedValue;
28
27
  }
29
28
  } catch (e) {
30
29
  errors.push(e.message);
31
30
  }
32
- }); // copy over unknown properties
31
+ });
33
32
 
33
+ // copy over unknown properties
34
34
  Object.keys(value).forEach(subKey => {
35
35
  if (!Object.prototype.hasOwnProperty.call(validatedObject, subKey)) {
36
36
  validatedObject[subKey] = value[subKey];
37
37
  }
38
38
  });
39
-
40
39
  if (errors.length) {
41
40
  throw new Error(errors.join("\n"));
42
41
  }
43
-
44
42
  return validatedObject;
45
43
  });
@@ -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 { assertValid } from "./utils";
13
14
  export default (() => {
14
15
  const values = [];
@@ -67,6 +67,7 @@ governing permissions and limitations under the License.
67
67
  * So to keep from having to have a null check in front of most validators,
68
68
  * nullSafeChain allows you to chain a validator in a null-safe way.
69
69
  */
70
+
70
71
  import { chain, nullSafeChain, reverseNullSafeChainJoinErrors } from "./utils";
71
72
  import booleanValidator from "./booleanValidator";
72
73
  import callbackValidator from "./callbackValidator";
@@ -87,94 +88,79 @@ import integerValidator from "./integerValidator";
87
88
  import numberValidator from "./numberValidator";
88
89
  import regexpValidator from "./regexpValidator";
89
90
  import requiredValidator from "./requiredValidator";
90
- import stringValidator from "./stringValidator"; // The base validator does no validation and just returns the value unchanged
91
+ import stringValidator from "./stringValidator";
92
+
93
+ // The base validator does no validation and just returns the value unchanged
94
+ const base = value => value;
91
95
 
92
- const base = value => value; // The 'default', 'required', and 'deprecated' methods are available after any
96
+ // The 'default', 'required', and 'deprecated' methods are available after any
93
97
  // data-type method. Don't use the nullSafeChain on 'default' or 'required'
94
98
  // because they need to handle the null or undefined case
95
-
96
-
97
99
  base.default = function _default(defaultValue) {
98
100
  return chain(this, createDefaultValidator(defaultValue));
99
101
  };
100
-
101
102
  base.required = function required() {
102
103
  return chain(this, requiredValidator);
103
- }; // helper validators
104
-
104
+ };
105
105
 
106
+ // helper validators
106
107
  const domain = function domain() {
107
108
  return nullSafeChain(this, domainValidator);
108
109
  };
109
-
110
110
  const minimumInteger = function minimumInteger(minValue) {
111
111
  return nullSafeChain(this, createMinimumValidator("an integer", minValue));
112
112
  };
113
-
114
113
  const minimumNumber = function minimumNumber(minValue) {
115
114
  return nullSafeChain(this, createMinimumValidator("a number", minValue));
116
115
  };
117
-
118
116
  const integer = function integer() {
119
117
  return nullSafeChain(this, integerValidator, {
120
118
  minimum: minimumInteger
121
119
  });
122
120
  };
123
-
124
121
  const nonEmptyString = function nonEmptyString() {
125
122
  return nullSafeChain(this, createNonEmptyValidator("a non-empty string"));
126
123
  };
127
-
128
124
  const nonEmptyArray = function nonEmptyArray() {
129
125
  return nullSafeChain(this, createNonEmptyValidator("a non-empty array"));
130
126
  };
131
-
132
127
  const nonEmptyObject = function nonEmptyObject() {
133
128
  return nullSafeChain(this, createNonEmptyValidator("a non-empty object"));
134
129
  };
135
-
136
130
  const regexp = function regexp() {
137
131
  return nullSafeChain(this, regexpValidator);
138
132
  };
139
-
140
133
  const unique = function createUnique() {
141
134
  return nullSafeChain(this, createUniqueValidator());
142
135
  };
143
-
144
136
  const uniqueItems = function createUniqueItems() {
145
137
  return nullSafeChain(this, createUniqueItemsValidator());
146
- }; // top-level validators. These are the first functions that are called to create a validator.
147
-
138
+ };
148
139
 
140
+ // top-level validators. These are the first functions that are called to create a validator.
149
141
  const anyOf = function anyOf(validators, message) {
150
142
  // use chain here because we don't want to accept null or undefined unless at least
151
143
  // one of the validators accept null or undefined.
152
144
  return chain(this, createAnyOfValidator(validators, message));
153
145
  };
154
-
155
146
  const anything = function anything() {
156
147
  return this;
157
148
  };
158
-
159
149
  const arrayOf = function arrayOf(elementValidator) {
160
150
  return nullSafeChain(this, createArrayOfValidator(elementValidator), {
161
151
  nonEmpty: nonEmptyArray,
162
152
  uniqueItems
163
153
  });
164
154
  };
165
-
166
155
  const boolean = function boolean() {
167
156
  return nullSafeChain(this, booleanValidator);
168
157
  };
169
-
170
158
  const callback = function callback() {
171
159
  return nullSafeChain(this, callbackValidator);
172
160
  };
173
-
174
161
  const literal = function literal(literalValue) {
175
162
  return nullSafeChain(this, createLiteralValidator(literalValue));
176
163
  };
177
-
178
164
  const number = function number() {
179
165
  return nullSafeChain(this, numberValidator, {
180
166
  minimum: minimumNumber,
@@ -182,13 +168,11 @@ const number = function number() {
182
168
  unique
183
169
  });
184
170
  };
185
-
186
171
  const mapOfValues = function mapOfValues(valuesValidator) {
187
172
  return nullSafeChain(this, createMapOfValuesValidator(valuesValidator), {
188
173
  nonEmpty: nonEmptyObject
189
174
  });
190
175
  };
191
-
192
176
  const createObjectOfAdditionalProperties = schema => ({
193
177
  noUnknownFields: function noUnknownFields() {
194
178
  return nullSafeChain(this, createNoUnknownFieldsValidator(schema));
@@ -196,7 +180,8 @@ const createObjectOfAdditionalProperties = schema => ({
196
180
  nonEmpty: nonEmptyObject,
197
181
  concat: function concat(otherObjectOfValidator) {
198
182
  // combine the schema so that noUnknownFields, and concat have the combined schema
199
- const newSchema = { ...schema,
183
+ const newSchema = {
184
+ ...schema,
200
185
  ...otherObjectOfValidator.schema
201
186
  };
202
187
  return nullSafeChain(this, otherObjectOfValidator, createObjectOfAdditionalProperties(newSchema));
@@ -208,11 +193,9 @@ const createObjectOfAdditionalProperties = schema => ({
208
193
  },
209
194
  schema
210
195
  });
211
-
212
196
  const objectOf = function objectOf(schema) {
213
197
  return nullSafeChain(this, createObjectOfValidator(schema), createObjectOfAdditionalProperties(schema));
214
198
  };
215
-
216
199
  const string = function string() {
217
200
  return nullSafeChain(this, stringValidator, {
218
201
  regexp,
@@ -221,7 +204,6 @@ const string = function string() {
221
204
  unique
222
205
  });
223
206
  };
224
-
225
207
  const boundAnyOf = anyOf.bind(base);
226
208
  const boundAnything = anything.bind(base);
227
209
  const boundArrayOf = arrayOf.bind(base);
@@ -231,10 +213,10 @@ const boundLiteral = literal.bind(base);
231
213
  const boundNumber = number.bind(base);
232
214
  const boundMapOfValues = mapOfValues.bind(base);
233
215
  const boundObjectOf = objectOf.bind(base);
234
- const boundString = string.bind(base); // compound validators
216
+ const boundString = string.bind(base);
235
217
 
218
+ // compound validators
236
219
  const boundEnumOf = function boundEnumOf(...values) {
237
220
  return boundAnyOf(values.map(boundLiteral), `one of these values: [${JSON.stringify(values)}]`);
238
221
  };
239
-
240
222
  export { boundAnyOf as anyOf, boundAnything as anything, boundArrayOf as arrayOf, boundBoolean as boolean, boundCallback as callback, boundLiteral as literal, boundNumber as number, boundMapOfValues as mapOfValues, boundObjectOf as objectOf, boundString as string, boundEnumOf as enumOf };
@@ -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 isInteger from "../isInteger";
13
14
  import { assertValid } from "./utils";
14
15
  export default ((value, path) => {
@@ -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 isNumber from "../isNumber";
13
14
  import { assertValid } from "./utils";
14
15
  export default ((value, path) => {
@@ -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 { assertValid } from "./utils";
13
14
  import isValidRegExp from "../isValidRegExp";
14
15
  export default ((value, path) => {
@@ -9,10 +9,10 @@ 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 ((value, path) => {
13
14
  if (value == null) {
14
15
  throw new Error(`'${path}' is a required option`);
15
16
  }
16
-
17
17
  return value;
18
18
  });
@@ -9,18 +9,20 @@ 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
  // This is used to add methods onto a function.
13
14
  import assign from "../assign";
15
+
14
16
  /**
15
17
  * Wraps a validator returning the value if it is null or undefined, otherwise
16
18
  * it will call the original validator and return the result.
17
19
  *
18
20
  * @param {function} validator - the validator to call if the value is not null
19
21
  */
20
-
21
22
  const skipIfNull = validator => function skipIfNullValidator(value, path) {
22
23
  return value == null ? value : validator.call(this, value, path);
23
24
  };
25
+
24
26
  /**
25
27
  * Returns a new validator that calls the first validator and then calls the second
26
28
  * validator with the result of the first validator. The result of the second validator
@@ -30,11 +32,10 @@ const skipIfNull = validator => function skipIfNullValidator(value, path) {
30
32
  * @param {function} secondValidator - validator to call second
31
33
  * @returns {function} - a new validator that calls the first and second validators
32
34
  */
33
-
34
-
35
35
  const callSequentially = (firstValidator, secondValidator) => function callSequentiallyValidator(value, path) {
36
36
  return secondValidator.call(this, firstValidator.call(this, value, path), path);
37
37
  };
38
+
38
39
  /**
39
40
  * Just like callSequentially, but if either validator throws an error, the errors
40
41
  * are collected and thrown at the end.
@@ -43,8 +44,6 @@ const callSequentially = (firstValidator, secondValidator) => function callSeque
43
44
  * @param {function} secondValidator
44
45
  * @returns {function}
45
46
  */
46
-
47
-
48
47
  const callSequentiallyJoinErrors = (firstValidator, secondValidator) => function callSequentiallyJoinErrorsValidator(value, path) {
49
48
  const errors = [];
50
49
  const newValue = [firstValidator, secondValidator].reduce((memo, validator) => {
@@ -55,13 +54,12 @@ const callSequentiallyJoinErrors = (firstValidator, secondValidator) => function
55
54
  return memo;
56
55
  }
57
56
  }, value);
58
-
59
57
  if (errors.length) {
60
58
  throw new Error(errors.join("\n"));
61
59
  }
62
-
63
60
  return newValue;
64
61
  };
62
+
65
63
  /**
66
64
  * Chains two validators together. In addition to calling the validators in
67
65
  * sequence, this will also copy over methods from the base validator to the
@@ -74,11 +72,10 @@ const callSequentiallyJoinErrors = (firstValidator, secondValidator) => function
74
72
  * validator.
75
73
  * @returns {function}
76
74
  */
77
-
78
-
79
75
  export const chain = (baseValidator, newValidator, additionalMethods) => {
80
76
  return assign(callSequentially(baseValidator, newValidator), baseValidator, additionalMethods);
81
77
  };
78
+
82
79
  /**
83
80
  * Chains two validators together, but skips the second validator if the value
84
81
  * is null. In addition to calling the validators in sequence, this will also
@@ -94,10 +91,10 @@ export const chain = (baseValidator, newValidator, additionalMethods) => {
94
91
  * validator.
95
92
  * @returns {function}
96
93
  */
97
-
98
94
  export const nullSafeChain = (baseValidator, newValidator, additionalMethods) => {
99
95
  return assign(callSequentially(baseValidator, skipIfNull(newValidator)), baseValidator, additionalMethods);
100
96
  };
97
+
101
98
  /**
102
99
  * Same as nullSafeChain, but calls the new validator first.
103
100
  *
@@ -109,10 +106,10 @@ export const nullSafeChain = (baseValidator, newValidator, additionalMethods) =>
109
106
  * validator.
110
107
  * @returns {function}
111
108
  */
112
-
113
109
  export const reverseNullSafeChainJoinErrors = (baseValidator, newValidator, additionalMethods) => {
114
110
  return assign(callSequentiallyJoinErrors(skipIfNull(newValidator), baseValidator), baseValidator, additionalMethods);
115
111
  };
112
+
116
113
  /**
117
114
  * Throws an error if the value is not valid.
118
115
  *
@@ -123,7 +120,6 @@ export const reverseNullSafeChainJoinErrors = (baseValidator, newValidator, addi
123
120
  * @throws {Error} - Throws an error if the value is not valid.
124
121
  * @returns {void}
125
122
  */
126
-
127
123
  export const assertValid = (isValid, value, path, message) => {
128
124
  if (!isValid) {
129
125
  throw new Error(`'${path}': Expected ${message}, but got ${JSON.stringify(value)}.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/alloy",
3
- "version": "2.19.0-beta.0",
3
+ "version": "2.19.0-beta.10",
4
4
  "description": "Adobe Experience Platform Web SDK",
5
5
  "main": "libEs5/index.js",
6
6
  "module": "libEs6/index.js",
@@ -66,7 +66,7 @@
66
66
  "uuid": "^3.3.2"
67
67
  },
68
68
  "devDependencies": {
69
- "@adobe/alloy": "^2.18.0",
69
+ "@adobe/alloy": "^2.19.0-beta.9",
70
70
  "@babel/cli": "^7.12.8",
71
71
  "@babel/core": "^7.2.2",
72
72
  "@babel/plugin-proposal-object-rest-spread": "^7.3.2",
@@ -84,7 +84,7 @@
84
84
  "eslint-config-airbnb-base": "^14.0.0",
85
85
  "eslint-config-prettier": "^6.4.0",
86
86
  "eslint-plugin-ban": "^1.5.2",
87
- "eslint-plugin-import": "^2.16.0",
87
+ "eslint-plugin-import": "^2.28.1",
88
88
  "eslint-plugin-prettier": "^3.0.1",
89
89
  "eslint-plugin-testcafe": "^0.2.1",
90
90
  "glob": "^7.1.3",
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- exports.default = void 0;
4
-
5
- var _propositionEventType = require("./constants/propositionEventType");
6
-
7
- /*
8
- Copyright 2023 Adobe. All rights reserved.
9
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
10
- you may not use this file except in compliance with the License. You may obtain a copy
11
- of the License at http://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software distributed under
14
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
15
- OF ANY KIND, either express or implied. See the License for the specific language
16
- governing permissions and limitations under the License.
17
- */
18
- var _default = function _default(_ref) {
19
- var pendingDisplayNotifications = _ref.pendingDisplayNotifications,
20
- mergeDecisionsMeta = _ref.mergeDecisionsMeta;
21
- return function (_ref2) {
22
- var event = _ref2.event;
23
- return pendingDisplayNotifications.clear().then(function (decisionsMeta) {
24
- mergeDecisionsMeta(event, decisionsMeta, _propositionEventType.PropositionEventType.DISPLAY);
25
- });
26
- };
27
- };
28
-
29
- exports.default = _default;
@@ -1,22 +0,0 @@
1
- /*
2
- Copyright 2023 Adobe. All rights reserved.
3
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License. You may obtain a copy
5
- of the License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- Unless required by applicable law or agreed to in writing, software distributed under
8
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
- OF ANY KIND, either express or implied. See the License for the specific language
10
- governing permissions and limitations under the License.
11
- */
12
- import { PropositionEventType } from "./constants/propositionEventType";
13
- export default (({
14
- pendingDisplayNotifications,
15
- mergeDecisionsMeta
16
- }) => ({
17
- event
18
- }) => {
19
- return pendingDisplayNotifications.clear().then(decisionsMeta => {
20
- mergeDecisionsMeta(event, decisionsMeta, PropositionEventType.DISPLAY);
21
- });
22
- });