@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
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _isObject = require("../isObject");
6
-
7
5
  var _utils = require("./utils");
8
-
9
6
  /*
10
7
  Copyright 2020 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -20,7 +17,6 @@ governing permissions and limitations under the License.
20
17
  var _default = function _default(schema) {
21
18
  return function objectOf(value, path) {
22
19
  var _this = this;
23
-
24
20
  (0, _utils.assertValid)((0, _isObject.default)(value), value, path, "an object");
25
21
  var errors = [];
26
22
  var validatedObject = {};
@@ -28,30 +24,26 @@ var _default = function _default(schema) {
28
24
  var subValue = value[subKey];
29
25
  var subSchema = schema[subKey];
30
26
  var subPath = path ? path + "." + subKey : subKey;
31
-
32
27
  try {
33
28
  var validatedValue = subSchema.call(_this, subValue, subPath);
34
-
35
29
  if (validatedValue !== undefined) {
36
30
  validatedObject[subKey] = validatedValue;
37
31
  }
38
32
  } catch (e) {
39
33
  errors.push(e.message);
40
34
  }
41
- }); // copy over unknown properties
35
+ });
42
36
 
37
+ // copy over unknown properties
43
38
  Object.keys(value).forEach(function (subKey) {
44
39
  if (!Object.prototype.hasOwnProperty.call(validatedObject, subKey)) {
45
40
  validatedObject[subKey] = value[subKey];
46
41
  }
47
42
  });
48
-
49
43
  if (errors.length) {
50
44
  throw new Error(errors.join("\n"));
51
45
  }
52
-
53
46
  return validatedObject;
54
47
  };
55
48
  };
56
-
57
49
  exports.default = _default;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _utils = require("./utils");
6
-
7
5
  var _isUnique = require("../isUnique");
8
-
9
6
  /*
10
7
  Copyright 2022 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -22,5 +19,4 @@ var _default = function _default() {
22
19
  (0, _utils.assertValid)((0, _isUnique.default)(value), value, path, "array values to be unique");
23
20
  };
24
21
  };
25
-
26
22
  exports.default = _default;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _utils = require("./utils");
6
-
7
5
  /*
8
6
  Copyright 2019 Adobe. All rights reserved.
9
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -23,5 +21,4 @@ var _default = function _default() {
23
21
  return value;
24
22
  };
25
23
  };
26
-
27
24
  exports.default = _default;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _utils = require("./utils");
6
-
7
5
  /*
8
6
  Copyright 2019 Adobe. All rights reserved.
9
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -15,11 +13,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
15
13
  OF ANY KIND, either express or implied. See the License for the specific language
16
14
  governing permissions and limitations under the License.
17
15
  */
18
- var DOMAIN_REGEX = /^[a-z0-9.-]{1,}$/i;
19
16
 
17
+ var DOMAIN_REGEX = /^[a-z0-9.-]{1,}$/i;
20
18
  var _default = function _default(value, path) {
21
19
  (0, _utils.assertValid)(DOMAIN_REGEX.test(value), value, path, "a valid domain");
22
20
  return value;
23
21
  };
24
-
25
22
  exports.default = _default;
@@ -1,144 +1,169 @@
1
1
  "use strict";
2
2
 
3
3
  exports.string = exports.objectOf = exports.number = exports.mapOfValues = exports.literal = exports.enumOf = exports.callback = exports.boolean = exports.arrayOf = exports.anything = exports.anyOf = void 0;
4
-
5
4
  var _utils = require("./utils");
6
-
7
5
  var _booleanValidator = require("./booleanValidator");
8
-
9
6
  var _callbackValidator = require("./callbackValidator");
10
-
11
7
  var _createArrayOfValidator = require("./createArrayOfValidator");
12
-
13
8
  var _createDefaultValidator = require("./createDefaultValidator");
14
-
15
9
  var _createDeprecatedValidator = require("./createDeprecatedValidator");
16
-
17
10
  var _createLiteralValidator = require("./createLiteralValidator");
18
-
19
11
  var _createMapOfValuesValidator = require("./createMapOfValuesValidator");
20
-
21
12
  var _createMinimumValidator = require("./createMinimumValidator");
22
-
23
13
  var _createNoUnknownFieldsValidator = require("./createNoUnknownFieldsValidator");
24
-
25
14
  var _createNonEmptyValidator = require("./createNonEmptyValidator");
26
-
27
15
  var _createObjectOfValidator = require("./createObjectOfValidator");
28
-
29
16
  var _createAnyOfValidator = require("./createAnyOfValidator");
30
-
31
17
  var _createUniqueValidator = require("./createUniqueValidator");
32
-
33
18
  var _createUniqueItemsValidator = require("./createUniqueItemsValidator");
34
-
35
19
  var _domainValidator = require("./domainValidator");
36
-
37
20
  var _integerValidator = require("./integerValidator");
38
-
39
21
  var _numberValidator = require("./numberValidator");
40
-
41
22
  var _regexpValidator = require("./regexpValidator");
42
-
43
23
  var _requiredValidator = require("./requiredValidator");
44
-
45
24
  var _stringValidator = require("./stringValidator");
46
-
47
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
48
-
49
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
50
-
51
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
52
-
27
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /*
28
+ Copyright 2020 Adobe. All rights reserved.
29
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
30
+ you may not use this file except in compliance with the License. You may obtain a copy
31
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
32
+
33
+ Unless required by applicable law or agreed to in writing, software distributed under
34
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
35
+ OF ANY KIND, either express or implied. See the License for the specific language
36
+ governing permissions and limitations under the License.
37
+ */ /**
38
+ * Validators are functions of two parameters (value and path) that return the
39
+ * computed value if the input is valid, or throw an exception if the input is
40
+ * invalid. In most cases the returned value is the same as the input value;
41
+ * however, reference createDefaultValidator.js to see an example where the
42
+ * computed value is different from the input. Additionally, if we ever wanted
43
+ * to coerce types (i.e. parse string values into integers) as part of the
44
+ * validation process we could use the computed value to accomplish that.
45
+ *
46
+ * The path parameter is used to generate informative error messages. It is
47
+ * created by the objectOf, and arrayOf validators so that any error message can
48
+ * describe which key within the object or array is invalid.
49
+ *
50
+ * The validators also have methods to chain additional validation logic. For
51
+ * example, when you call `string()` to start a validator chain, it returns a
52
+ * validator function but it also has methods like `required` and `nonEmpty`.
53
+ * Here you can see that these methods are actually calling `chain`.
54
+ * Specifically in this function, the leftValidator is called first and then the
55
+ * return value of that is sent to the rightValidator. For example, when calling
56
+ * `string().nonEmpty().required()` the following chain is built up:
57
+ * ```
58
+ * *
59
+ * / \
60
+ * * required
61
+ * / \
62
+ * * nonEmpty
63
+ * / \
64
+ * base string
65
+ * ```
66
+ * Where every * is a call to chain where the two are combined. The individual
67
+ * validators are called from left to right in the above tree. The base
68
+ * validator is simply the identity function `value => value`, representing an
69
+ * optional value.
70
+ *
71
+ * After combining the validators, the new validator function is then augmented
72
+ * with the methods from the leftValidator and from the additionalMethods
73
+ * parameter. For example, when the string() function is called it chains to the
74
+ * base validator, but also adds additional methods like (`regexp`, `domain`,
75
+ * `nonEmpty`, and `unique`). When `nonEmpty` is called, which calls chain
76
+ * again, the additional methods are carried forward because they are already
77
+ * defined on the leftValidator.
78
+ *
79
+ * The base validator also contains the two methods `required` and `default`, so
80
+ * these can be used anywhere after any of the exposed validator functions are
81
+ * called.
82
+ *
83
+ * For most validators, we want the validation to be optional (i.e. allow null
84
+ * or undefined values). To accomplish this, the validator needs to have a check
85
+ * at the begining of the function, short circuiting the validation logic and
86
+ * returning value if value is null or undefined. `default` and `required` do
87
+ * not want this null check though. Indeed, `default` should return the default
88
+ * value if value is null, and `required` should throw an error if value is
89
+ * null.
90
+ *
91
+ * So to keep from having to have a null check in front of most validators,
92
+ * nullSafeChain allows you to chain a validator in a null-safe way.
93
+ */
53
94
  // The base validator does no validation and just returns the value unchanged
54
95
  var base = function base(value) {
55
96
  return value;
56
- }; // The 'default', 'required', and 'deprecated' methods are available after any
97
+ };
98
+
99
+ // The 'default', 'required', and 'deprecated' methods are available after any
57
100
  // data-type method. Don't use the nullSafeChain on 'default' or 'required'
58
101
  // because they need to handle the null or undefined case
59
-
60
-
61
102
  base.default = function _default(defaultValue) {
62
103
  return (0, _utils.chain)(this, (0, _createDefaultValidator.default)(defaultValue));
63
104
  };
64
-
65
105
  base.required = function required() {
66
106
  return (0, _utils.chain)(this, _requiredValidator.default);
67
- }; // helper validators
68
-
107
+ };
69
108
 
109
+ // helper validators
70
110
  var domain = function domain() {
71
111
  return (0, _utils.nullSafeChain)(this, _domainValidator.default);
72
112
  };
73
-
74
113
  var minimumInteger = function minimumInteger(minValue) {
75
114
  return (0, _utils.nullSafeChain)(this, (0, _createMinimumValidator.default)("an integer", minValue));
76
115
  };
77
-
78
116
  var minimumNumber = function minimumNumber(minValue) {
79
117
  return (0, _utils.nullSafeChain)(this, (0, _createMinimumValidator.default)("a number", minValue));
80
118
  };
81
-
82
119
  var integer = function integer() {
83
120
  return (0, _utils.nullSafeChain)(this, _integerValidator.default, {
84
121
  minimum: minimumInteger
85
122
  });
86
123
  };
87
-
88
124
  var nonEmptyString = function nonEmptyString() {
89
125
  return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty string"));
90
126
  };
91
-
92
127
  var nonEmptyArray = function nonEmptyArray() {
93
128
  return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty array"));
94
129
  };
95
-
96
130
  var nonEmptyObject = function nonEmptyObject() {
97
131
  return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty object"));
98
132
  };
99
-
100
133
  var regexp = function regexp() {
101
134
  return (0, _utils.nullSafeChain)(this, _regexpValidator.default);
102
135
  };
103
-
104
136
  var unique = function createUnique() {
105
137
  return (0, _utils.nullSafeChain)(this, (0, _createUniqueValidator.default)());
106
138
  };
107
-
108
139
  var uniqueItems = function createUniqueItems() {
109
140
  return (0, _utils.nullSafeChain)(this, (0, _createUniqueItemsValidator.default)());
110
- }; // top-level validators. These are the first functions that are called to create a validator.
111
-
141
+ };
112
142
 
143
+ // top-level validators. These are the first functions that are called to create a validator.
113
144
  var anyOf = function anyOf(validators, message) {
114
145
  // use chain here because we don't want to accept null or undefined unless at least
115
146
  // one of the validators accept null or undefined.
116
147
  return (0, _utils.chain)(this, (0, _createAnyOfValidator.default)(validators, message));
117
148
  };
118
-
119
149
  var anything = function anything() {
120
150
  return this;
121
151
  };
122
-
123
152
  var arrayOf = function arrayOf(elementValidator) {
124
153
  return (0, _utils.nullSafeChain)(this, (0, _createArrayOfValidator.default)(elementValidator), {
125
154
  nonEmpty: nonEmptyArray,
126
155
  uniqueItems: uniqueItems
127
156
  });
128
157
  };
129
-
130
158
  var boolean = function boolean() {
131
159
  return (0, _utils.nullSafeChain)(this, _booleanValidator.default);
132
160
  };
133
-
134
161
  var callback = function callback() {
135
162
  return (0, _utils.nullSafeChain)(this, _callbackValidator.default);
136
163
  };
137
-
138
164
  var literal = function literal(literalValue) {
139
165
  return (0, _utils.nullSafeChain)(this, (0, _createLiteralValidator.default)(literalValue));
140
166
  };
141
-
142
167
  var number = function number() {
143
168
  return (0, _utils.nullSafeChain)(this, _numberValidator.default, {
144
169
  minimum: minimumNumber,
@@ -146,13 +171,11 @@ var number = function number() {
146
171
  unique: unique
147
172
  });
148
173
  };
149
-
150
174
  var mapOfValues = function mapOfValues(valuesValidator) {
151
175
  return (0, _utils.nullSafeChain)(this, (0, _createMapOfValuesValidator.default)(valuesValidator), {
152
176
  nonEmpty: nonEmptyObject
153
177
  });
154
178
  };
155
-
156
179
  var createObjectOfAdditionalProperties = function createObjectOfAdditionalProperties(schema) {
157
180
  return {
158
181
  noUnknownFields: function noUnknownFields() {
@@ -162,7 +185,6 @@ var createObjectOfAdditionalProperties = function createObjectOfAdditionalProper
162
185
  concat: function concat(otherObjectOfValidator) {
163
186
  // combine the schema so that noUnknownFields, and concat have the combined schema
164
187
  var newSchema = _objectSpread(_objectSpread({}, schema), otherObjectOfValidator.schema);
165
-
166
188
  return (0, _utils.nullSafeChain)(this, otherObjectOfValidator, createObjectOfAdditionalProperties(newSchema));
167
189
  },
168
190
  deprecated: function deprecated(oldField, oldSchema, newField) {
@@ -173,11 +195,9 @@ var createObjectOfAdditionalProperties = function createObjectOfAdditionalProper
173
195
  schema: schema
174
196
  };
175
197
  };
176
-
177
198
  var objectOf = function objectOf(schema) {
178
199
  return (0, _utils.nullSafeChain)(this, (0, _createObjectOfValidator.default)(schema), createObjectOfAdditionalProperties(schema));
179
200
  };
180
-
181
201
  var string = function string() {
182
202
  return (0, _utils.nullSafeChain)(this, _stringValidator.default, {
183
203
  regexp: regexp,
@@ -186,7 +206,6 @@ var string = function string() {
186
206
  unique: unique
187
207
  });
188
208
  };
189
-
190
209
  var boundAnyOf = anyOf.bind(base);
191
210
  exports.anyOf = boundAnyOf;
192
211
  var boundAnything = anything.bind(base);
@@ -205,16 +224,14 @@ var boundMapOfValues = mapOfValues.bind(base);
205
224
  exports.mapOfValues = boundMapOfValues;
206
225
  var boundObjectOf = objectOf.bind(base);
207
226
  exports.objectOf = boundObjectOf;
208
- var boundString = string.bind(base); // compound validators
227
+ var boundString = string.bind(base);
209
228
 
229
+ // compound validators
210
230
  exports.string = boundString;
211
-
212
231
  var boundEnumOf = function boundEnumOf() {
213
232
  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
214
233
  values[_key] = arguments[_key];
215
234
  }
216
-
217
235
  return boundAnyOf(values.map(boundLiteral), "one of these values: [" + JSON.stringify(values) + "]");
218
236
  };
219
-
220
237
  exports.enumOf = boundEnumOf;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _isInteger = require("../isInteger");
6
-
7
5
  var _utils = require("./utils");
8
-
9
6
  /*
10
7
  Copyright 2019 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -21,5 +18,4 @@ var _default = function _default(value, path) {
21
18
  (0, _utils.assertValid)((0, _isInteger.default)(value), value, path, "an integer");
22
19
  return value;
23
20
  };
24
-
25
21
  exports.default = _default;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _isNumber = require("../isNumber");
6
-
7
5
  var _utils = require("./utils");
8
-
9
6
  /*
10
7
  Copyright 2019 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -21,5 +18,4 @@ var _default = function _default(value, path) {
21
18
  (0, _utils.assertValid)((0, _isNumber.default)(value), value, path, "a number");
22
19
  return value;
23
20
  };
24
-
25
21
  exports.default = _default;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _utils = require("./utils");
6
-
7
5
  var _isValidRegExp = require("../isValidRegExp");
8
-
9
6
  /*
10
7
  Copyright 2019 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -21,5 +18,4 @@ var _default = function _default(value, path) {
21
18
  (0, _utils.assertValid)((0, _isValidRegExp.default)(value), value, path, "a regular expression");
22
19
  return value;
23
20
  };
24
-
25
21
  exports.default = _default;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  /*
6
5
  Copyright 2020 Adobe. All rights reserved.
7
6
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,6 @@ var _default = function _default(value, path) {
17
16
  if (value == null) {
18
17
  throw new Error("'" + path + "' is a required option");
19
18
  }
20
-
21
19
  return value;
22
20
  };
23
-
24
21
  exports.default = _default;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  var _isString = require("../isString");
6
-
7
5
  var _utils = require("./utils");
8
-
9
6
  /*
10
7
  Copyright 2019 Adobe. All rights reserved.
11
8
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -21,5 +18,4 @@ var _default = function _default(value, path) {
21
18
  (0, _utils.assertValid)((0, _isString.default)(value), value, path, "a string");
22
19
  return value;
23
20
  };
24
-
25
21
  exports.default = _default;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.reverseNullSafeChainJoinErrors = exports.nullSafeChain = exports.chain = exports.assertValid = void 0;
4
-
5
4
  var _assign = require("../assign");
6
-
7
5
  /*
8
6
  Copyright 2023 Adobe. All rights reserved.
9
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -15,6 +13,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
15
13
  OF ANY KIND, either express or implied. See the License for the specific language
16
14
  governing permissions and limitations under the License.
17
15
  */
16
+
18
17
  // This is used to add methods onto a function.
19
18
 
20
19
  /**
@@ -28,6 +27,7 @@ var skipIfNull = function skipIfNull(validator) {
28
27
  return value == null ? value : validator.call(this, value, path);
29
28
  };
30
29
  };
30
+
31
31
  /**
32
32
  * Returns a new validator that calls the first validator and then calls the second
33
33
  * validator with the result of the first validator. The result of the second validator
@@ -37,13 +37,12 @@ var skipIfNull = function skipIfNull(validator) {
37
37
  * @param {function} secondValidator - validator to call second
38
38
  * @returns {function} - a new validator that calls the first and second validators
39
39
  */
40
-
41
-
42
40
  var callSequentially = function callSequentially(firstValidator, secondValidator) {
43
41
  return function callSequentiallyValidator(value, path) {
44
42
  return secondValidator.call(this, firstValidator.call(this, value, path), path);
45
43
  };
46
44
  };
45
+
47
46
  /**
48
47
  * Just like callSequentially, but if either validator throws an error, the errors
49
48
  * are collected and thrown at the end.
@@ -52,12 +51,9 @@ var callSequentially = function callSequentially(firstValidator, secondValidator
52
51
  * @param {function} secondValidator
53
52
  * @returns {function}
54
53
  */
55
-
56
-
57
54
  var callSequentiallyJoinErrors = function callSequentiallyJoinErrors(firstValidator, secondValidator) {
58
55
  return function callSequentiallyJoinErrorsValidator(value, path) {
59
56
  var _this = this;
60
-
61
57
  var errors = [];
62
58
  var newValue = [firstValidator, secondValidator].reduce(function (memo, validator) {
63
59
  try {
@@ -67,14 +63,13 @@ var callSequentiallyJoinErrors = function callSequentiallyJoinErrors(firstValida
67
63
  return memo;
68
64
  }
69
65
  }, value);
70
-
71
66
  if (errors.length) {
72
67
  throw new Error(errors.join("\n"));
73
68
  }
74
-
75
69
  return newValue;
76
70
  };
77
71
  };
72
+
78
73
  /**
79
74
  * Chains two validators together. In addition to calling the validators in
80
75
  * sequence, this will also copy over methods from the base validator to the
@@ -87,11 +82,10 @@ var callSequentiallyJoinErrors = function callSequentiallyJoinErrors(firstValida
87
82
  * validator.
88
83
  * @returns {function}
89
84
  */
90
-
91
-
92
85
  var chain = function chain(baseValidator, newValidator, additionalMethods) {
93
86
  return (0, _assign.default)(callSequentially(baseValidator, newValidator), baseValidator, additionalMethods);
94
87
  };
88
+
95
89
  /**
96
90
  * Chains two validators together, but skips the second validator if the value
97
91
  * is null. In addition to calling the validators in sequence, this will also
@@ -107,13 +101,11 @@ var chain = function chain(baseValidator, newValidator, additionalMethods) {
107
101
  * validator.
108
102
  * @returns {function}
109
103
  */
110
-
111
-
112
104
  exports.chain = chain;
113
-
114
105
  var nullSafeChain = function nullSafeChain(baseValidator, newValidator, additionalMethods) {
115
106
  return (0, _assign.default)(callSequentially(baseValidator, skipIfNull(newValidator)), baseValidator, additionalMethods);
116
107
  };
108
+
117
109
  /**
118
110
  * Same as nullSafeChain, but calls the new validator first.
119
111
  *
@@ -125,13 +117,11 @@ var nullSafeChain = function nullSafeChain(baseValidator, newValidator, addition
125
117
  * validator.
126
118
  * @returns {function}
127
119
  */
128
-
129
-
130
120
  exports.nullSafeChain = nullSafeChain;
131
-
132
121
  var reverseNullSafeChainJoinErrors = function reverseNullSafeChainJoinErrors(baseValidator, newValidator, additionalMethods) {
133
122
  return (0, _assign.default)(callSequentiallyJoinErrors(skipIfNull(newValidator), baseValidator), baseValidator, additionalMethods);
134
123
  };
124
+
135
125
  /**
136
126
  * Throws an error if the value is not valid.
137
127
  *
@@ -142,14 +132,10 @@ var reverseNullSafeChainJoinErrors = function reverseNullSafeChainJoinErrors(bas
142
132
  * @throws {Error} - Throws an error if the value is not valid.
143
133
  * @returns {void}
144
134
  */
145
-
146
-
147
135
  exports.reverseNullSafeChainJoinErrors = reverseNullSafeChainJoinErrors;
148
-
149
136
  var assertValid = function assertValid(isValid, value, path, message) {
150
137
  if (!isValid) {
151
138
  throw new Error("'" + path + "': Expected " + message + ", but got " + JSON.stringify(value) + ".");
152
139
  }
153
140
  };
154
-
155
141
  exports.assertValid = assertValid;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
-
5
4
  /*
6
5
  Copyright 2019 Adobe. All rights reserved.
7
6
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -13,7 +12,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
13
12
  OF ANY KIND, either express or implied. See the License for the specific language
14
13
  governing permissions and limitations under the License.
15
14
  */
16
-
17
15
  /**
18
16
  * Returns an array whose items are the provided object's own enumerable
19
17
  * property values.
@@ -25,5 +23,4 @@ var _default = function _default(obj) {
25
23
  return obj[key];
26
24
  });
27
25
  };
28
-
29
26
  exports.default = _default;