@adobe/alloy 2.20.0-beta.2 → 2.20.0-beta.6

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 (701) hide show
  1. package/libEs5/baseCode/index.js +61 -0
  2. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +53 -0
  3. package/libEs5/components/ActivityCollector/configValidators.js +22 -0
  4. package/libEs5/components/ActivityCollector/createGetLinkDetails.js +68 -0
  5. package/libEs5/components/ActivityCollector/createLinkClick.js +38 -0
  6. package/libEs5/components/ActivityCollector/getLinkName.js +139 -0
  7. package/libEs5/components/ActivityCollector/getLinkRegion.js +61 -0
  8. package/libEs5/components/ActivityCollector/index.js +78 -0
  9. package/libEs5/components/ActivityCollector/utils.js +104 -0
  10. package/libEs5/components/Audiences/index.js +49 -0
  11. package/libEs5/components/Audiences/injectProcessDestinations.js +67 -0
  12. package/libEs5/components/Audiences/injectProcessResponse.js +38 -0
  13. package/libEs5/components/Context/createComponent.js +39 -0
  14. package/libEs5/components/Context/implementationDetails.js +27 -0
  15. package/libEs5/components/Context/index.js +59 -0
  16. package/libEs5/components/Context/injectDevice.js +66 -0
  17. package/libEs5/components/Context/injectEnvironment.js +40 -0
  18. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +58 -0
  19. package/libEs5/components/Context/injectPlaceContext.js +32 -0
  20. package/libEs5/components/Context/injectTimestamp.js +23 -0
  21. package/libEs5/components/Context/injectWeb.js +30 -0
  22. package/libEs5/components/DataCollector/index.js +110 -0
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +35 -0
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +50 -0
  25. package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +31 -0
  26. package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +24 -0
  27. package/libEs5/components/DecisioningEngine/constants.js +28 -0
  28. package/libEs5/components/DecisioningEngine/createApplyResponse.js +35 -0
  29. package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +30 -0
  30. package/libEs5/components/DecisioningEngine/createContextProvider.js +95 -0
  31. package/libEs5/components/DecisioningEngine/createDecisionHistory.js +27 -0
  32. package/libEs5/components/DecisioningEngine/createDecisionProvider.js +50 -0
  33. package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +82 -0
  34. package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +48 -0
  35. package/libEs5/components/DecisioningEngine/createEventRegistry.js +130 -0
  36. package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +48 -0
  37. package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +89 -0
  38. package/libEs5/components/DecisioningEngine/index.js +119 -0
  39. package/libEs5/components/DecisioningEngine/utils.js +82 -0
  40. package/libEs5/components/EventMerge/createComponent.js +24 -0
  41. package/libEs5/components/EventMerge/createEventMergeId.js +20 -0
  42. package/libEs5/components/EventMerge/index.js +24 -0
  43. package/libEs5/components/Identity/addEcidQueryToPayload.js +22 -0
  44. package/libEs5/components/Identity/addEcidToPayload.js +20 -0
  45. package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +25 -0
  46. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +45 -0
  47. package/libEs5/components/Identity/configValidators.js +21 -0
  48. package/libEs5/components/Identity/constants/authState.js +18 -0
  49. package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +15 -0
  50. package/libEs5/components/Identity/createComponent.js +97 -0
  51. package/libEs5/components/Identity/createLegacyIdentity.js +72 -0
  52. package/libEs5/components/Identity/getEcidFromResponse.js +23 -0
  53. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +35 -0
  54. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +29 -0
  55. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +29 -0
  56. package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +27 -0
  57. package/libEs5/components/Identity/index.js +129 -0
  58. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +31 -0
  59. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +68 -0
  60. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +52 -0
  61. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +100 -0
  62. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +20 -0
  63. package/libEs5/components/Identity/injectProcessIdSyncs.js +41 -0
  64. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +33 -0
  65. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +34 -0
  66. package/libEs5/components/Identity/visitorService/getVisitor.js +19 -0
  67. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +49 -0
  68. package/libEs5/components/LegacyMediaAnalytics/constants/constants.js +144 -0
  69. package/libEs5/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +49 -0
  70. package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +245 -0
  71. package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +87 -0
  72. package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +181 -0
  73. package/libEs5/components/LegacyMediaAnalytics/index.js +71 -0
  74. package/libEs5/components/LibraryInfo/index.js +68 -0
  75. package/libEs5/components/MachineLearning/index.js +26 -0
  76. package/libEs5/components/MachineLearning/processResponse.js +19 -0
  77. package/libEs5/components/Personalization/constants/loggerMessage.js +16 -0
  78. package/libEs5/components/Personalization/constants/scopeType.js +18 -0
  79. package/libEs5/components/Personalization/constants/surface.js +19 -0
  80. package/libEs5/components/Personalization/createActionsProvider.js +71 -0
  81. package/libEs5/components/Personalization/createApplyPropositions.js +115 -0
  82. package/libEs5/components/Personalization/createClickStorage.js +64 -0
  83. package/libEs5/components/Personalization/createCollect.js +53 -0
  84. package/libEs5/components/Personalization/createComponent.js +145 -0
  85. package/libEs5/components/Personalization/createFetchDataHandler.js +92 -0
  86. package/libEs5/components/Personalization/createGetPageLocation.js +20 -0
  87. package/libEs5/components/Personalization/createHandleConsentFlicker.js +29 -0
  88. package/libEs5/components/Personalization/createNotificationHandler.js +38 -0
  89. package/libEs5/components/Personalization/createOnClickHandler.js +51 -0
  90. package/libEs5/components/Personalization/createOnDecisionHandler.js +43 -0
  91. package/libEs5/components/Personalization/createPersonalizationDetails.js +104 -0
  92. package/libEs5/components/Personalization/createPreprocessors.js +23 -0
  93. package/libEs5/components/Personalization/createSetTargetMigration.js +28 -0
  94. package/libEs5/components/Personalization/createViewCacheManager.js +90 -0
  95. package/libEs5/components/Personalization/createViewChangeHandler.js +45 -0
  96. package/libEs5/components/Personalization/dom-actions/action.js +120 -0
  97. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +41 -0
  98. package/libEs5/components/Personalization/dom-actions/appendHtml.js +32 -0
  99. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +108 -0
  100. package/libEs5/components/Personalization/dom-actions/createPreprocess.js +25 -0
  101. package/libEs5/components/Personalization/dom-actions/createRedirect.js +27 -0
  102. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +21 -0
  103. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +17 -0
  104. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +22 -0
  105. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +22 -0
  106. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +24 -0
  107. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +17 -0
  108. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +17 -0
  109. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +35 -0
  110. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +17 -0
  111. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +24 -0
  112. package/libEs5/components/Personalization/dom-actions/dom/index.js +100 -0
  113. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +25 -0
  114. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +24 -0
  115. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +37 -0
  116. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +17 -0
  117. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +104 -0
  118. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +17 -0
  119. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +23 -0
  120. package/libEs5/components/Personalization/dom-actions/images.js +36 -0
  121. package/libEs5/components/Personalization/dom-actions/index.js +9 -0
  122. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +35 -0
  123. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +31 -0
  124. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +31 -0
  125. package/libEs5/components/Personalization/dom-actions/prependHtml.js +45 -0
  126. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +32 -0
  127. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +36 -0
  128. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +54 -0
  129. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +20 -0
  130. package/libEs5/components/Personalization/dom-actions/scripts.js +90 -0
  131. package/libEs5/components/Personalization/dom-actions/setAttributes.js +20 -0
  132. package/libEs5/components/Personalization/dom-actions/setHtml.js +27 -0
  133. package/libEs5/components/Personalization/dom-actions/setStyles.js +25 -0
  134. package/libEs5/components/Personalization/dom-actions/setText.js +17 -0
  135. package/libEs5/components/Personalization/dom-actions/swapImage.js +31 -0
  136. package/libEs5/components/Personalization/event.js +49 -0
  137. package/libEs5/components/Personalization/flicker/index.js +86 -0
  138. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +71 -0
  139. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +43 -0
  140. package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +78 -0
  141. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +194 -0
  142. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +44 -0
  143. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +118 -0
  144. package/libEs5/components/Personalization/handlers/processDefaultContent.js +20 -0
  145. package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +286 -0
  146. package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +22 -0
  147. package/libEs5/components/Personalization/in-app-message-actions/utils.js +51 -0
  148. package/libEs5/components/Personalization/index.js +162 -0
  149. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +24 -0
  150. package/libEs5/components/Personalization/utils/createAsyncArray.js +38 -0
  151. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +18 -0
  152. package/libEs5/components/Personalization/utils/surfaceUtils.js +101 -0
  153. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +34 -0
  154. package/libEs5/components/Privacy/computeConsentHash.js +33 -0
  155. package/libEs5/components/Privacy/createComponent.js +88 -0
  156. package/libEs5/components/Privacy/createConsentHashStore.js +59 -0
  157. package/libEs5/components/Privacy/createConsentRequest.js +29 -0
  158. package/libEs5/components/Privacy/createConsentRequestPayload.js +33 -0
  159. package/libEs5/components/Privacy/createStoredConsent.js +31 -0
  160. package/libEs5/components/Privacy/index.js +63 -0
  161. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +47 -0
  162. package/libEs5/components/Privacy/parseConsentCookie.js +37 -0
  163. package/libEs5/components/Privacy/validateSetConsentOptions.js +21 -0
  164. package/libEs5/components/StreamingMedia/configValidators.js +24 -0
  165. package/libEs5/components/StreamingMedia/constants/eventTypes.js +34 -0
  166. package/libEs5/components/StreamingMedia/constants/playbackState.js +19 -0
  167. package/libEs5/components/StreamingMedia/createMediaEventManager.js +112 -0
  168. package/libEs5/components/StreamingMedia/createMediaRequest.js +29 -0
  169. package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +57 -0
  170. package/libEs5/components/StreamingMedia/createMediaSessionCacheManager.js +58 -0
  171. package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +72 -0
  172. package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +90 -0
  173. package/libEs5/components/StreamingMedia/createTrackMediaSession.js +52 -0
  174. package/libEs5/components/StreamingMedia/index.js +69 -0
  175. package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +40 -0
  176. package/libEs5/components/StreamingMedia/validateMediaSessionOptions.js +35 -0
  177. package/libEs5/constants/apiVersion.js +15 -0
  178. package/libEs5/constants/browser.js +22 -0
  179. package/libEs5/constants/consentPurpose.js +16 -0
  180. package/libEs5/constants/consentStatus.js +18 -0
  181. package/libEs5/constants/contentType.js +16 -0
  182. package/libEs5/constants/cookieNameKey.js +18 -0
  183. package/libEs5/constants/cookieNamePrefix.js +16 -0
  184. package/libEs5/constants/coreCommands.js +17 -0
  185. package/libEs5/constants/debugQueryParam.js +15 -0
  186. package/libEs5/constants/decisionProvider.js +15 -0
  187. package/libEs5/constants/domain.js +17 -0
  188. package/libEs5/constants/ecidNamespace.js +15 -0
  189. package/libEs5/constants/edgeBasePath.js +15 -0
  190. package/libEs5/constants/elementAttribute.js +16 -0
  191. package/libEs5/constants/eventType.js +20 -0
  192. package/libEs5/constants/handle.js +15 -0
  193. package/libEs5/constants/highEntropyUserAgentClientHints.js +15 -0
  194. package/libEs5/constants/httpHeaderNames.js +17 -0
  195. package/libEs5/constants/httpStatusCode.js +20 -0
  196. package/libEs5/constants/identityMapAuthenticatedState.js +17 -0
  197. package/libEs5/constants/legacyCookies.js +18 -0
  198. package/libEs5/constants/libraryName.js +15 -0
  199. package/libEs5/constants/libraryVersion.js +17 -0
  200. package/libEs5/constants/namespace.js +15 -0
  201. package/libEs5/constants/pageWideScope.js +15 -0
  202. package/libEs5/constants/propositionEventType.js +32 -0
  203. package/libEs5/constants/queryStringIdentityParam.js +15 -0
  204. package/libEs5/constants/schema.js +25 -0
  205. package/libEs5/constants/shadowSeparator.js +15 -0
  206. package/libEs5/constants/tagName.js +22 -0
  207. package/libEs5/core/buildAndValidateConfig.js +115 -0
  208. package/libEs5/core/componentCreators.js +39 -0
  209. package/libEs5/core/config/createConfig.js +20 -0
  210. package/libEs5/core/config/createCoreConfigs.js +31 -0
  211. package/libEs5/core/consent/createConsent.js +61 -0
  212. package/libEs5/core/consent/createConsentStateMachine.js +137 -0
  213. package/libEs5/core/createComponentRegistry.js +86 -0
  214. package/libEs5/core/createCookieTransfer.js +80 -0
  215. package/libEs5/core/createEvent.js +170 -0
  216. package/libEs5/core/createEventManager.js +144 -0
  217. package/libEs5/core/createInstanceFunction.js +27 -0
  218. package/libEs5/core/createLifecycle.js +74 -0
  219. package/libEs5/core/createLogController.js +70 -0
  220. package/libEs5/core/createLogger.js +103 -0
  221. package/libEs5/core/edgeNetwork/handleRequestFailure.js +27 -0
  222. package/libEs5/core/edgeNetwork/injectApplyResponse.js +66 -0
  223. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +42 -0
  224. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +35 -0
  225. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +42 -0
  226. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +99 -0
  227. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +28 -0
  228. package/libEs5/core/index.js +238 -0
  229. package/libEs5/core/initializeComponents.js +41 -0
  230. package/libEs5/core/injectCreateResponse.js +77 -0
  231. package/libEs5/core/injectExecuteCommand.js +104 -0
  232. package/libEs5/core/injectHandleError.js +36 -0
  233. package/libEs5/core/injectShouldTransferCookie.js +28 -0
  234. package/libEs5/core/network/getRequestRetryDelay.js +73 -0
  235. package/libEs5/core/network/injectSendNetworkRequest.js +102 -0
  236. package/libEs5/core/network/isRequestRetryable.js +27 -0
  237. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +39 -0
  238. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +44 -0
  239. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +50 -0
  240. package/libEs5/core/validateCommandOptions.js +34 -0
  241. package/libEs5/index.js +59 -0
  242. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +24 -0
  243. package/libEs5/utils/assign.js +16 -0
  244. package/libEs5/utils/assignConcatArrayValues.js +48 -0
  245. package/libEs5/utils/assignIf.js +21 -0
  246. package/libEs5/utils/clone.js +22 -0
  247. package/libEs5/utils/cookieJar.js +21 -0
  248. package/libEs5/utils/crc32.js +36 -0
  249. package/libEs5/utils/createCallbackAggregator.js +38 -0
  250. package/libEs5/utils/createLoggingCookieJar.js +33 -0
  251. package/libEs5/utils/createMerger.js +33 -0
  252. package/libEs5/utils/createSubscription.js +90 -0
  253. package/libEs5/utils/createTaskQueue.js +50 -0
  254. package/libEs5/utils/deduplicateArray.js +31 -0
  255. package/libEs5/utils/deepAssign.js +48 -0
  256. package/libEs5/utils/defer.js +26 -0
  257. package/libEs5/utils/dom/appendNode.js +17 -0
  258. package/libEs5/utils/dom/awaitSelector.js +105 -0
  259. package/libEs5/utils/dom/createNode.js +47 -0
  260. package/libEs5/utils/dom/index.js +58 -0
  261. package/libEs5/utils/dom/isShadowSelector.js +18 -0
  262. package/libEs5/utils/dom/matchesSelector.js +28 -0
  263. package/libEs5/utils/dom/querySelectorAll.js +32 -0
  264. package/libEs5/utils/dom/removeNode.js +21 -0
  265. package/libEs5/utils/dom/selectNodes.js +30 -0
  266. package/libEs5/utils/dom/selectNodesWithShadow.js +66 -0
  267. package/libEs5/utils/endsWith.js +23 -0
  268. package/libEs5/utils/filterObject.js +55 -0
  269. package/libEs5/utils/find.js +30 -0
  270. package/libEs5/utils/fireImage.js +38 -0
  271. package/libEs5/utils/flatMap.js +17 -0
  272. package/libEs5/utils/flattenArray.js +36 -0
  273. package/libEs5/utils/flattenObject.js +42 -0
  274. package/libEs5/utils/getApexDomain.js +45 -0
  275. package/libEs5/utils/getBrowser.js +35 -0
  276. package/libEs5/utils/getLastArrayItems.js +23 -0
  277. package/libEs5/utils/getNamespacedCookieName.js +19 -0
  278. package/libEs5/utils/groupBy.js +31 -0
  279. package/libEs5/utils/includes.js +23 -0
  280. package/libEs5/utils/index.js +408 -0
  281. package/libEs5/utils/injectDoesIdentityCookieExist.js +27 -0
  282. package/libEs5/utils/injectFireReferrerHideableImage.js +75 -0
  283. package/libEs5/utils/injectStorage.js +74 -0
  284. package/libEs5/utils/intersection.js +26 -0
  285. package/libEs5/utils/isBlankString.js +23 -0
  286. package/libEs5/utils/isBoolean.js +22 -0
  287. package/libEs5/utils/isEmptyObject.js +23 -0
  288. package/libEs5/utils/isFunction.js +22 -0
  289. package/libEs5/utils/isInteger.js +24 -0
  290. package/libEs5/utils/isNamespacedCookieName.js +26 -0
  291. package/libEs5/utils/isNil.js +22 -0
  292. package/libEs5/utils/isNonEmptyArray.js +22 -0
  293. package/libEs5/utils/isNonEmptyString.js +23 -0
  294. package/libEs5/utils/isNumber.js +23 -0
  295. package/libEs5/utils/isObject.js +23 -0
  296. package/libEs5/utils/isString.js +22 -0
  297. package/libEs5/utils/isUnique.js +30 -0
  298. package/libEs5/utils/isValidRegExp.js +26 -0
  299. package/libEs5/utils/memoize.js +36 -0
  300. package/libEs5/utils/noop.js +18 -0
  301. package/libEs5/utils/padStart.js +27 -0
  302. package/libEs5/utils/parseUrl.js +72 -0
  303. package/libEs5/utils/prepareConfigOverridesForEdge.js +52 -0
  304. package/libEs5/utils/querystring.js +16 -0
  305. package/libEs5/utils/request/createAddIdentity.js +22 -0
  306. package/libEs5/utils/request/createDataCollectionRequest.js +68 -0
  307. package/libEs5/utils/request/createDataCollectionRequestPayload.js +35 -0
  308. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +44 -0
  309. package/libEs5/utils/request/createHasIdentity.js +19 -0
  310. package/libEs5/utils/request/createRequest.js +62 -0
  311. package/libEs5/utils/request/createRequestParams.js +44 -0
  312. package/libEs5/utils/request/createRequestPayload.js +36 -0
  313. package/libEs5/utils/request/index.js +58 -0
  314. package/libEs5/utils/sanitizeOrgIdForCookieName.js +17 -0
  315. package/libEs5/utils/stackError.js +34 -0
  316. package/libEs5/utils/startsWith.js +23 -0
  317. package/libEs5/utils/stringToBoolean.js +18 -0
  318. package/libEs5/utils/toArray.js +23 -0
  319. package/libEs5/utils/toError.js +23 -0
  320. package/libEs5/utils/toISOStringLocal.js +39 -0
  321. package/libEs5/utils/toInteger.js +31 -0
  322. package/libEs5/utils/updateErrorMessage.js +24 -0
  323. package/libEs5/utils/uuid.js +16 -0
  324. package/libEs5/utils/validateConfigOverride.js +16 -0
  325. package/libEs5/utils/validateIdentityMap.js +25 -0
  326. package/libEs5/utils/validation/booleanValidator.js +20 -0
  327. package/libEs5/utils/validation/callbackValidator.js +20 -0
  328. package/libEs5/utils/validation/createAnyOfValidator.js +32 -0
  329. package/libEs5/utils/validation/createArrayOfValidator.js +34 -0
  330. package/libEs5/utils/validation/createDefaultValidator.js +22 -0
  331. package/libEs5/utils/validation/createDeprecatedValidator.js +44 -0
  332. package/libEs5/utils/validation/createLiteralValidator.js +21 -0
  333. package/libEs5/utils/validation/createMapOfValuesValidator.js +40 -0
  334. package/libEs5/utils/validation/createMaximumValidator.js +21 -0
  335. package/libEs5/utils/validation/createMinimumValidator.js +21 -0
  336. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +29 -0
  337. package/libEs5/utils/validation/createNonEmptyValidator.js +27 -0
  338. package/libEs5/utils/validation/createObjectOfValidator.js +48 -0
  339. package/libEs5/utils/validation/createUniqueItemsValidator.js +21 -0
  340. package/libEs5/utils/validation/createUniqueValidator.js +23 -0
  341. package/libEs5/utils/validation/domainValidator.js +21 -0
  342. package/libEs5/utils/validation/index.js +239 -0
  343. package/libEs5/utils/validation/integerValidator.js +20 -0
  344. package/libEs5/utils/validation/matchesRegexpValidator.js +21 -0
  345. package/libEs5/utils/validation/numberValidator.js +20 -0
  346. package/libEs5/utils/validation/regexpValidator.js +20 -0
  347. package/libEs5/utils/validation/requiredValidator.js +20 -0
  348. package/libEs5/utils/validation/stringValidator.js +20 -0
  349. package/libEs5/utils/validation/utils.js +137 -0
  350. package/libEs5/utils/values.js +25 -0
  351. package/libEs6/baseCode/index.js +61 -0
  352. package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +52 -0
  353. package/libEs6/components/ActivityCollector/configValidators.js +19 -0
  354. package/libEs6/components/ActivityCollector/createGetLinkDetails.js +70 -0
  355. package/libEs6/components/ActivityCollector/createLinkClick.js +37 -0
  356. package/libEs6/components/ActivityCollector/getLinkName.js +136 -0
  357. package/libEs6/components/ActivityCollector/getLinkRegion.js +58 -0
  358. package/libEs6/components/ActivityCollector/index.js +80 -0
  359. package/libEs6/components/ActivityCollector/utils.js +104 -0
  360. package/libEs6/components/Audiences/index.js +47 -0
  361. package/libEs6/components/Audiences/injectProcessDestinations.js +60 -0
  362. package/libEs6/components/Audiences/injectProcessResponse.js +38 -0
  363. package/libEs6/components/Context/createComponent.js +34 -0
  364. package/libEs6/components/Context/implementationDetails.js +24 -0
  365. package/libEs6/components/Context/index.js +52 -0
  366. package/libEs6/components/Context/injectDevice.js +70 -0
  367. package/libEs6/components/Context/injectEnvironment.js +42 -0
  368. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +45 -0
  369. package/libEs6/components/Context/injectPlaceContext.js +29 -0
  370. package/libEs6/components/Context/injectTimestamp.js +21 -0
  371. package/libEs6/components/Context/injectWeb.js +28 -0
  372. package/libEs6/components/DataCollector/index.js +106 -0
  373. package/libEs6/components/DataCollector/validateApplyResponse.js +33 -0
  374. package/libEs6/components/DataCollector/validateUserEventOptions.js +49 -0
  375. package/libEs6/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +30 -0
  376. package/libEs6/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +24 -0
  377. package/libEs6/components/DecisioningEngine/constants.js +25 -0
  378. package/libEs6/components/DecisioningEngine/createApplyResponse.js +31 -0
  379. package/libEs6/components/DecisioningEngine/createConsequenceAdapter.js +29 -0
  380. package/libEs6/components/DecisioningEngine/createContextProvider.js +95 -0
  381. package/libEs6/components/DecisioningEngine/createDecisionHistory.js +25 -0
  382. package/libEs6/components/DecisioningEngine/createDecisionProvider.js +41 -0
  383. package/libEs6/components/DecisioningEngine/createEvaluableRulesetPayload.js +79 -0
  384. package/libEs6/components/DecisioningEngine/createEvaluateRulesetsCommand.js +45 -0
  385. package/libEs6/components/DecisioningEngine/createEventRegistry.js +120 -0
  386. package/libEs6/components/DecisioningEngine/createOnResponseHandler.js +45 -0
  387. package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +79 -0
  388. package/libEs6/components/DecisioningEngine/index.js +124 -0
  389. package/libEs6/components/DecisioningEngine/utils.js +83 -0
  390. package/libEs6/components/EventMerge/createComponent.js +23 -0
  391. package/libEs6/components/EventMerge/createEventMergeId.js +18 -0
  392. package/libEs6/components/EventMerge/index.js +21 -0
  393. package/libEs6/components/Identity/addEcidQueryToPayload.js +20 -0
  394. package/libEs6/components/Identity/addEcidToPayload.js +18 -0
  395. package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +23 -0
  396. package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +31 -0
  397. package/libEs6/components/Identity/configValidators.js +18 -0
  398. package/libEs6/components/Identity/constants/authState.js +15 -0
  399. package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +13 -0
  400. package/libEs6/components/Identity/createComponent.js +97 -0
  401. package/libEs6/components/Identity/createLegacyIdentity.js +69 -0
  402. package/libEs6/components/Identity/getEcidFromResponse.js +19 -0
  403. package/libEs6/components/Identity/getIdentity/createGetIdentity.js +34 -0
  404. package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +28 -0
  405. package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +27 -0
  406. package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +25 -0
  407. package/libEs6/components/Identity/index.js +125 -0
  408. package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +30 -0
  409. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +59 -0
  410. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +52 -0
  411. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +98 -0
  412. package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +19 -0
  413. package/libEs6/components/Identity/injectProcessIdSyncs.js +34 -0
  414. package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +32 -0
  415. package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +33 -0
  416. package/libEs6/components/Identity/visitorService/getVisitor.js +17 -0
  417. package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +48 -0
  418. package/libEs6/components/LegacyMediaAnalytics/constants/constants.js +141 -0
  419. package/libEs6/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +46 -0
  420. package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +239 -0
  421. package/libEs6/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +85 -0
  422. package/libEs6/components/LegacyMediaAnalytics/createMediaHelper.js +180 -0
  423. package/libEs6/components/LegacyMediaAnalytics/index.js +67 -0
  424. package/libEs6/components/LibraryInfo/index.js +59 -0
  425. package/libEs6/components/MachineLearning/index.js +23 -0
  426. package/libEs6/components/MachineLearning/processResponse.js +18 -0
  427. package/libEs6/components/Personalization/constants/loggerMessage.js +13 -0
  428. package/libEs6/components/Personalization/constants/scopeType.js +15 -0
  429. package/libEs6/components/Personalization/constants/surface.js +16 -0
  430. package/libEs6/components/Personalization/createActionsProvider.js +70 -0
  431. package/libEs6/components/Personalization/createApplyPropositions.js +103 -0
  432. package/libEs6/components/Personalization/createClickStorage.js +58 -0
  433. package/libEs6/components/Personalization/createCollect.js +48 -0
  434. package/libEs6/components/Personalization/createComponent.js +133 -0
  435. package/libEs6/components/Personalization/createFetchDataHandler.js +84 -0
  436. package/libEs6/components/Personalization/createGetPageLocation.js +17 -0
  437. package/libEs6/components/Personalization/createHandleConsentFlicker.js +26 -0
  438. package/libEs6/components/Personalization/createNotificationHandler.js +33 -0
  439. package/libEs6/components/Personalization/createOnClickHandler.js +52 -0
  440. package/libEs6/components/Personalization/createOnDecisionHandler.js +42 -0
  441. package/libEs6/components/Personalization/createPersonalizationDetails.js +94 -0
  442. package/libEs6/components/Personalization/createPreprocessors.js +19 -0
  443. package/libEs6/components/Personalization/createSetTargetMigration.js +27 -0
  444. package/libEs6/components/Personalization/createViewCacheManager.js +81 -0
  445. package/libEs6/components/Personalization/createViewChangeHandler.js +47 -0
  446. package/libEs6/components/Personalization/dom-actions/action.js +49 -0
  447. package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +36 -0
  448. package/libEs6/components/Personalization/dom-actions/appendHtml.js +30 -0
  449. package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +91 -0
  450. package/libEs6/components/Personalization/dom-actions/createPreprocess.js +18 -0
  451. package/libEs6/components/Personalization/dom-actions/createRedirect.js +22 -0
  452. package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +19 -0
  453. package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +15 -0
  454. package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +22 -0
  455. package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +22 -0
  456. package/libEs6/components/Personalization/dom-actions/dom/getElementById.js +21 -0
  457. package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +15 -0
  458. package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +15 -0
  459. package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +33 -0
  460. package/libEs6/components/Personalization/dom-actions/dom/getParent.js +15 -0
  461. package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +19 -0
  462. package/libEs6/components/Personalization/dom-actions/dom/index.js +26 -0
  463. package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +23 -0
  464. package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +22 -0
  465. package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +35 -0
  466. package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +15 -0
  467. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +102 -0
  468. package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +15 -0
  469. package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +21 -0
  470. package/libEs6/components/Personalization/dom-actions/images.js +31 -0
  471. package/libEs6/components/Personalization/dom-actions/index.js +13 -0
  472. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +33 -0
  473. package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +29 -0
  474. package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +29 -0
  475. package/libEs6/components/Personalization/dom-actions/prependHtml.js +45 -0
  476. package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +31 -0
  477. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +34 -0
  478. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +51 -0
  479. package/libEs6/components/Personalization/dom-actions/replaceHtml.js +18 -0
  480. package/libEs6/components/Personalization/dom-actions/scripts.js +85 -0
  481. package/libEs6/components/Personalization/dom-actions/setAttributes.js +18 -0
  482. package/libEs6/components/Personalization/dom-actions/setHtml.js +24 -0
  483. package/libEs6/components/Personalization/dom-actions/setStyles.js +22 -0
  484. package/libEs6/components/Personalization/dom-actions/setText.js +15 -0
  485. package/libEs6/components/Personalization/dom-actions/swapImage.js +29 -0
  486. package/libEs6/components/Personalization/event.js +45 -0
  487. package/libEs6/components/Personalization/flicker/index.js +82 -0
  488. package/libEs6/components/Personalization/handlers/createProcessDomAction.js +61 -0
  489. package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +40 -0
  490. package/libEs6/components/Personalization/handlers/createProcessInAppMessage.js +77 -0
  491. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +175 -0
  492. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +41 -0
  493. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +110 -0
  494. package/libEs6/components/Personalization/handlers/processDefaultContent.js +17 -0
  495. package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +293 -0
  496. package/libEs6/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +17 -0
  497. package/libEs6/components/Personalization/in-app-message-actions/utils.js +49 -0
  498. package/libEs6/components/Personalization/index.js +167 -0
  499. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +21 -0
  500. package/libEs6/components/Personalization/utils/createAsyncArray.js +35 -0
  501. package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +15 -0
  502. package/libEs6/components/Personalization/utils/surfaceUtils.js +76 -0
  503. package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +31 -0
  504. package/libEs6/components/Privacy/computeConsentHash.js +30 -0
  505. package/libEs6/components/Privacy/createComponent.js +85 -0
  506. package/libEs6/components/Privacy/createConsentHashStore.js +57 -0
  507. package/libEs6/components/Privacy/createConsentRequest.js +28 -0
  508. package/libEs6/components/Privacy/createConsentRequestPayload.js +31 -0
  509. package/libEs6/components/Privacy/createStoredConsent.js +30 -0
  510. package/libEs6/components/Privacy/index.js +63 -0
  511. package/libEs6/components/Privacy/injectSendSetConsentRequest.js +45 -0
  512. package/libEs6/components/Privacy/parseConsentCookie.js +26 -0
  513. package/libEs6/components/Privacy/validateSetConsentOptions.js +18 -0
  514. package/libEs6/components/StreamingMedia/configValidators.js +22 -0
  515. package/libEs6/components/StreamingMedia/constants/eventTypes.js +31 -0
  516. package/libEs6/components/StreamingMedia/constants/playbackState.js +16 -0
  517. package/libEs6/components/StreamingMedia/createMediaEventManager.js +122 -0
  518. package/libEs6/components/StreamingMedia/createMediaRequest.js +28 -0
  519. package/libEs6/components/StreamingMedia/createMediaResponseHandler.js +58 -0
  520. package/libEs6/components/StreamingMedia/createMediaSessionCacheManager.js +59 -0
  521. package/libEs6/components/StreamingMedia/createStreamingMediaComponent.js +69 -0
  522. package/libEs6/components/StreamingMedia/createTrackMediaEvent.js +88 -0
  523. package/libEs6/components/StreamingMedia/createTrackMediaSession.js +51 -0
  524. package/libEs6/components/StreamingMedia/index.js +64 -0
  525. package/libEs6/components/StreamingMedia/validateMediaEventOptions.js +33 -0
  526. package/libEs6/components/StreamingMedia/validateMediaSessionOptions.js +34 -0
  527. package/libEs6/constants/apiVersion.js +12 -0
  528. package/libEs6/constants/browser.js +19 -0
  529. package/libEs6/constants/consentPurpose.js +13 -0
  530. package/libEs6/constants/consentStatus.js +15 -0
  531. package/libEs6/constants/contentType.js +13 -0
  532. package/libEs6/constants/cookieNameKey.js +15 -0
  533. package/libEs6/constants/cookieNamePrefix.js +14 -0
  534. package/libEs6/constants/coreCommands.js +14 -0
  535. package/libEs6/constants/debugQueryParam.js +13 -0
  536. package/libEs6/constants/decisionProvider.js +12 -0
  537. package/libEs6/constants/domain.js +14 -0
  538. package/libEs6/constants/ecidNamespace.js +13 -0
  539. package/libEs6/constants/edgeBasePath.js +12 -0
  540. package/libEs6/constants/elementAttribute.js +13 -0
  541. package/libEs6/constants/eventType.js +17 -0
  542. package/libEs6/constants/handle.js +12 -0
  543. package/libEs6/constants/highEntropyUserAgentClientHints.js +13 -0
  544. package/libEs6/constants/httpHeaderNames.js +14 -0
  545. package/libEs6/constants/httpStatusCode.js +17 -0
  546. package/libEs6/constants/identityMapAuthenticatedState.js +14 -0
  547. package/libEs6/constants/legacyCookies.js +15 -0
  548. package/libEs6/constants/libraryName.js +13 -0
  549. package/libEs6/constants/libraryVersion.js +16 -0
  550. package/libEs6/constants/namespace.js +13 -0
  551. package/libEs6/constants/pageWideScope.js +13 -0
  552. package/libEs6/constants/propositionEventType.js +33 -0
  553. package/libEs6/constants/queryStringIdentityParam.js +13 -0
  554. package/libEs6/constants/schema.js +22 -0
  555. package/libEs6/constants/shadowSeparator.js +13 -0
  556. package/libEs6/constants/tagName.js +19 -0
  557. package/libEs6/core/buildAndValidateConfig.js +94 -0
  558. package/libEs6/core/componentCreators.js +47 -0
  559. package/libEs6/core/config/createConfig.js +17 -0
  560. package/libEs6/core/config/createCoreConfigs.js +27 -0
  561. package/libEs6/core/consent/createConsent.js +60 -0
  562. package/libEs6/core/consent/createConsentStateMachine.js +125 -0
  563. package/libEs6/core/createComponentRegistry.js +83 -0
  564. package/libEs6/core/createCookieTransfer.js +78 -0
  565. package/libEs6/core/createEvent.js +161 -0
  566. package/libEs6/core/createEventManager.js +135 -0
  567. package/libEs6/core/createInstanceFunction.js +25 -0
  568. package/libEs6/core/createLifecycle.js +65 -0
  569. package/libEs6/core/createLogController.js +68 -0
  570. package/libEs6/core/createLogger.js +99 -0
  571. package/libEs6/core/edgeNetwork/handleRequestFailure.js +24 -0
  572. package/libEs6/core/edgeNetwork/injectApplyResponse.js +58 -0
  573. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +39 -0
  574. package/libEs6/core/edgeNetwork/injectGetLocationHint.js +32 -0
  575. package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +42 -0
  576. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +100 -0
  577. package/libEs6/core/edgeNetwork/mergeLifecycleResponses.js +21 -0
  578. package/libEs6/core/index.js +236 -0
  579. package/libEs6/core/initializeComponents.js +40 -0
  580. package/libEs6/core/injectCreateResponse.js +70 -0
  581. package/libEs6/core/injectExecuteCommand.js +100 -0
  582. package/libEs6/core/injectHandleError.js +33 -0
  583. package/libEs6/core/injectShouldTransferCookie.js +25 -0
  584. package/libEs6/core/network/getRequestRetryDelay.js +72 -0
  585. package/libEs6/core/network/injectSendNetworkRequest.js +96 -0
  586. package/libEs6/core/network/isRequestRetryable.js +25 -0
  587. package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +38 -0
  588. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +41 -0
  589. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +49 -0
  590. package/libEs6/core/validateCommandOptions.js +33 -0
  591. package/libEs6/index.js +55 -0
  592. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +20 -0
  593. package/libEs6/utils/assign.js +14 -0
  594. package/libEs6/utils/assignConcatArrayValues.js +36 -0
  595. package/libEs6/utils/assignIf.js +19 -0
  596. package/libEs6/utils/clone.js +18 -0
  597. package/libEs6/utils/cookieJar.js +19 -0
  598. package/libEs6/utils/crc32.js +33 -0
  599. package/libEs6/utils/createCallbackAggregator.js +31 -0
  600. package/libEs6/utils/createLoggingCookieJar.js +28 -0
  601. package/libEs6/utils/createMerger.js +30 -0
  602. package/libEs6/utils/createSubscription.js +70 -0
  603. package/libEs6/utils/createTaskQueue.js +48 -0
  604. package/libEs6/utils/deduplicateArray.js +23 -0
  605. package/libEs6/utils/deepAssign.js +40 -0
  606. package/libEs6/utils/defer.js +24 -0
  607. package/libEs6/utils/dom/appendNode.js +15 -0
  608. package/libEs6/utils/dom/awaitSelector.js +98 -0
  609. package/libEs6/utils/dom/createNode.js +38 -0
  610. package/libEs6/utils/dom/index.js +20 -0
  611. package/libEs6/utils/dom/isShadowSelector.js +14 -0
  612. package/libEs6/utils/dom/matchesSelector.js +26 -0
  613. package/libEs6/utils/dom/querySelectorAll.js +29 -0
  614. package/libEs6/utils/dom/removeNode.js +19 -0
  615. package/libEs6/utils/dom/selectNodes.js +28 -0
  616. package/libEs6/utils/dom/selectNodesWithShadow.js +63 -0
  617. package/libEs6/utils/endsWith.js +19 -0
  618. package/libEs6/utils/filterObject.js +55 -0
  619. package/libEs6/utils/find.js +28 -0
  620. package/libEs6/utils/fireImage.js +37 -0
  621. package/libEs6/utils/flatMap.js +14 -0
  622. package/libEs6/utils/flattenArray.js +26 -0
  623. package/libEs6/utils/flattenObject.js +28 -0
  624. package/libEs6/utils/getApexDomain.js +42 -0
  625. package/libEs6/utils/getBrowser.js +65 -0
  626. package/libEs6/utils/getLastArrayItems.js +19 -0
  627. package/libEs6/utils/getNamespacedCookieName.js +15 -0
  628. package/libEs6/utils/groupBy.js +29 -0
  629. package/libEs6/utils/includes.js +21 -0
  630. package/libEs6/utils/index.js +71 -0
  631. package/libEs6/utils/injectDoesIdentityCookieExist.js +24 -0
  632. package/libEs6/utils/injectFireReferrerHideableImage.js +65 -0
  633. package/libEs6/utils/injectStorage.js +69 -0
  634. package/libEs6/utils/intersection.js +21 -0
  635. package/libEs6/utils/isBlankString.js +20 -0
  636. package/libEs6/utils/isBoolean.js +18 -0
  637. package/libEs6/utils/isEmptyObject.js +20 -0
  638. package/libEs6/utils/isFunction.js +18 -0
  639. package/libEs6/utils/isInteger.js +23 -0
  640. package/libEs6/utils/isNamespacedCookieName.js +23 -0
  641. package/libEs6/utils/isNil.js +18 -0
  642. package/libEs6/utils/isNonEmptyArray.js +18 -0
  643. package/libEs6/utils/isNonEmptyString.js +20 -0
  644. package/libEs6/utils/isNumber.js +19 -0
  645. package/libEs6/utils/isObject.js +20 -0
  646. package/libEs6/utils/isString.js +18 -0
  647. package/libEs6/utils/isUnique.js +27 -0
  648. package/libEs6/utils/isValidRegExp.js +24 -0
  649. package/libEs6/utils/memoize.js +34 -0
  650. package/libEs6/utils/noop.js +16 -0
  651. package/libEs6/utils/padStart.js +25 -0
  652. package/libEs6/utils/parseUrl.js +62 -0
  653. package/libEs6/utils/prepareConfigOverridesForEdge.js +50 -0
  654. package/libEs6/utils/querystring.js +14 -0
  655. package/libEs6/utils/request/createAddIdentity.js +19 -0
  656. package/libEs6/utils/request/createDataCollectionRequest.js +69 -0
  657. package/libEs6/utils/request/createDataCollectionRequestPayload.js +30 -0
  658. package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +42 -0
  659. package/libEs6/utils/request/createHasIdentity.js +15 -0
  660. package/libEs6/utils/request/createRequest.js +63 -0
  661. package/libEs6/utils/request/createRequestParams.js +40 -0
  662. package/libEs6/utils/request/createRequestPayload.js +35 -0
  663. package/libEs6/utils/request/index.js +20 -0
  664. package/libEs6/utils/sanitizeOrgIdForCookieName.js +13 -0
  665. package/libEs6/utils/stackError.js +34 -0
  666. package/libEs6/utils/startsWith.js +19 -0
  667. package/libEs6/utils/stringToBoolean.js +15 -0
  668. package/libEs6/utils/toArray.js +21 -0
  669. package/libEs6/utils/toError.js +21 -0
  670. package/libEs6/utils/toISOStringLocal.js +37 -0
  671. package/libEs6/utils/toInteger.js +30 -0
  672. package/libEs6/utils/updateErrorMessage.js +23 -0
  673. package/libEs6/utils/uuid.js +14 -0
  674. package/libEs6/utils/validateConfigOverride.js +14 -0
  675. package/libEs6/utils/validateIdentityMap.js +23 -0
  676. package/libEs6/utils/validation/booleanValidator.js +18 -0
  677. package/libEs6/utils/validation/callbackValidator.js +17 -0
  678. package/libEs6/utils/validation/createAnyOfValidator.js +26 -0
  679. package/libEs6/utils/validation/createArrayOfValidator.js +28 -0
  680. package/libEs6/utils/validation/createDefaultValidator.js +18 -0
  681. package/libEs6/utils/validation/createDeprecatedValidator.js +37 -0
  682. package/libEs6/utils/validation/createLiteralValidator.js +16 -0
  683. package/libEs6/utils/validation/createMapOfValuesValidator.js +35 -0
  684. package/libEs6/utils/validation/createMaximumValidator.js +16 -0
  685. package/libEs6/utils/validation/createMinimumValidator.js +16 -0
  686. package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +25 -0
  687. package/libEs6/utils/validation/createNonEmptyValidator.js +23 -0
  688. package/libEs6/utils/validation/createObjectOfValidator.js +43 -0
  689. package/libEs6/utils/validation/createUniqueItemsValidator.js +18 -0
  690. package/libEs6/utils/validation/createUniqueValidator.js +21 -0
  691. package/libEs6/utils/validation/domainValidator.js +17 -0
  692. package/libEs6/utils/validation/index.js +232 -0
  693. package/libEs6/utils/validation/integerValidator.js +18 -0
  694. package/libEs6/utils/validation/matchesRegexpValidator.js +17 -0
  695. package/libEs6/utils/validation/numberValidator.js +18 -0
  696. package/libEs6/utils/validation/regexpValidator.js +18 -0
  697. package/libEs6/utils/validation/requiredValidator.js +18 -0
  698. package/libEs6/utils/validation/stringValidator.js +17 -0
  699. package/libEs6/utils/validation/utils.js +127 -0
  700. package/libEs6/utils/values.js +21 -0
  701. package/package.json +2 -2
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+
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
+ var _utils = require("./utils.js");
5
+ var _booleanValidator = require("./booleanValidator.js");
6
+ var _callbackValidator = require("./callbackValidator.js");
7
+ var _createArrayOfValidator = require("./createArrayOfValidator.js");
8
+ var _createDefaultValidator = require("./createDefaultValidator.js");
9
+ var _createDeprecatedValidator = require("./createDeprecatedValidator.js");
10
+ var _createLiteralValidator = require("./createLiteralValidator.js");
11
+ var _createMapOfValuesValidator = require("./createMapOfValuesValidator.js");
12
+ var _createMinimumValidator = require("./createMinimumValidator.js");
13
+ var _createMaximumValidator = require("./createMaximumValidator.js");
14
+ var _createNoUnknownFieldsValidator = require("./createNoUnknownFieldsValidator.js");
15
+ var _createNonEmptyValidator = require("./createNonEmptyValidator.js");
16
+ var _createObjectOfValidator = require("./createObjectOfValidator.js");
17
+ var _createAnyOfValidator = require("./createAnyOfValidator.js");
18
+ var _createUniqueValidator = require("./createUniqueValidator.js");
19
+ var _createUniqueItemsValidator = require("./createUniqueItemsValidator.js");
20
+ var _domainValidator = require("./domainValidator.js");
21
+ var _integerValidator = require("./integerValidator.js");
22
+ var _numberValidator = require("./numberValidator.js");
23
+ var _regexpValidator = require("./regexpValidator.js");
24
+ var _requiredValidator = require("./requiredValidator.js");
25
+ var _stringValidator = require("./stringValidator.js");
26
+ var _matchesRegexpValidator = require("./matchesRegexpValidator.js");
27
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
28
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
32
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
33
+ Copyright 2020 Adobe. All rights reserved.
34
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
35
+ you may not use this file except in compliance with the License. You may obtain a copy
36
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
37
+
38
+ Unless required by applicable law or agreed to in writing, software distributed under
39
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
40
+ OF ANY KIND, either express or implied. See the License for the specific language
41
+ governing permissions and limitations under the License.
42
+ */ /**
43
+ * Validators are functions of two parameters (value and path) that return the
44
+ * computed value if the input is valid, or throw an exception if the input is
45
+ * invalid. In most cases the returned value is the same as the input value;
46
+ * however, reference createDefaultValidator.js to see an example where the
47
+ * computed value is different from the input. Additionally, if we ever wanted
48
+ * to coerce types (i.e. parse string values into integers) as part of the
49
+ * validation process we could use the computed value to accomplish that.
50
+ *
51
+ * The path parameter is used to generate informative error messages. It is
52
+ * created by the objectOf, and arrayOf validators so that any error message can
53
+ * describe which key within the object or array is invalid.
54
+ *
55
+ * The validators also have methods to chain additional validation logic. For
56
+ * example, when you call `string()` to start a validator chain, it returns a
57
+ * validator function but it also has methods like `required` and `nonEmpty`.
58
+ * Here you can see that these methods are actually calling `chain`.
59
+ * Specifically in this function, the leftValidator is called first and then the
60
+ * return value of that is sent to the rightValidator. For example, when calling
61
+ * `string().nonEmpty().required()` the following chain is built up:
62
+ * ```
63
+ * *
64
+ * / \
65
+ * * required
66
+ * / \
67
+ * * nonEmpty
68
+ * / \
69
+ * base string
70
+ * ```
71
+ * Where every * is a call to chain where the two are combined. The individual
72
+ * validators are called from left to right in the above tree. The base
73
+ * validator is simply the identity function `value => value`, representing an
74
+ * optional value.
75
+ *
76
+ * After combining the validators, the new validator function is then augmented
77
+ * with the methods from the leftValidator and from the additionalMethods
78
+ * parameter. For example, when the string() function is called it chains to the
79
+ * base validator, but also adds additional methods like (`regexp`, `domain`,
80
+ * `nonEmpty`, and `unique`). When `nonEmpty` is called, which calls chain
81
+ * again, the additional methods are carried forward because they are already
82
+ * defined on the leftValidator.
83
+ *
84
+ * The base validator also contains the two methods `required` and `default`, so
85
+ * these can be used anywhere after any of the exposed validator functions are
86
+ * called.
87
+ *
88
+ * For most validators, we want the validation to be optional (i.e. allow null
89
+ * or undefined values). To accomplish this, the validator needs to have a check
90
+ * at the begining of the function, short circuiting the validation logic and
91
+ * returning value if value is null or undefined. `default` and `required` do
92
+ * not want this null check though. Indeed, `default` should return the default
93
+ * value if value is null, and `required` should throw an error if value is
94
+ * null.
95
+ *
96
+ * So to keep from having to have a null check in front of most validators,
97
+ * nullSafeChain allows you to chain a validator in a null-safe way.
98
+ */
99
+ // The base validator does no validation and just returns the value unchanged
100
+ var base = function base(value) {
101
+ return value;
102
+ };
103
+
104
+ // The 'default', 'required', and 'deprecated' methods are available after any
105
+ // data-type method. Don't use the nullSafeChain on 'default' or 'required'
106
+ // because they need to handle the null or undefined case
107
+ base.default = function _default(defaultValue) {
108
+ return (0, _utils.chain)(this, (0, _createDefaultValidator.default)(defaultValue));
109
+ };
110
+ base.required = function required() {
111
+ return (0, _utils.chain)(this, _requiredValidator.default);
112
+ };
113
+
114
+ // helper validators
115
+ var domain = function domain() {
116
+ return (0, _utils.nullSafeChain)(this, _domainValidator.default);
117
+ };
118
+ var minimumInteger = function minimumInteger(minValue) {
119
+ return (0, _utils.nullSafeChain)(this, (0, _createMinimumValidator.default)("an integer", minValue));
120
+ };
121
+ var minimumNumber = function minimumNumber(minValue) {
122
+ return (0, _utils.nullSafeChain)(this, (0, _createMinimumValidator.default)("a number", minValue));
123
+ };
124
+ var maximumNumber = function maximumNumber(maxValue) {
125
+ return (0, _utils.nullSafeChain)(this, (0, _createMaximumValidator.default)("a number", maxValue));
126
+ };
127
+ var integer = function integer() {
128
+ return (0, _utils.nullSafeChain)(this, _integerValidator.default, {
129
+ minimum: minimumInteger
130
+ });
131
+ };
132
+ var nonEmptyString = function nonEmptyString() {
133
+ return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty string"));
134
+ };
135
+ var nonEmptyArray = function nonEmptyArray() {
136
+ return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty array"));
137
+ };
138
+ var nonEmptyObject = function nonEmptyObject() {
139
+ return (0, _utils.nullSafeChain)(this, (0, _createNonEmptyValidator.default)("a non-empty object"));
140
+ };
141
+ var regexp = function regexp() {
142
+ return (0, _utils.nullSafeChain)(this, _regexpValidator.default);
143
+ };
144
+ var matches = function matches(regexpPattern) {
145
+ return (0, _utils.nullSafeChain)(this, (0, _matchesRegexpValidator.default)(regexpPattern));
146
+ };
147
+ var unique = function createUnique() {
148
+ return (0, _utils.nullSafeChain)(this, (0, _createUniqueValidator.default)());
149
+ };
150
+ var uniqueItems = function createUniqueItems() {
151
+ return (0, _utils.nullSafeChain)(this, (0, _createUniqueItemsValidator.default)());
152
+ };
153
+
154
+ // top-level validators. These are the first functions that are called to create a validator.
155
+ var anyOf = function anyOf(validators, message) {
156
+ // use chain here because we don't want to accept null or undefined unless at least
157
+ // one of the validators accept null or undefined.
158
+ return (0, _utils.chain)(this, (0, _createAnyOfValidator.default)(validators, message));
159
+ };
160
+ var anything = function anything() {
161
+ return this;
162
+ };
163
+ var arrayOf = function arrayOf(elementValidator) {
164
+ return (0, _utils.nullSafeChain)(this, (0, _createArrayOfValidator.default)(elementValidator), {
165
+ nonEmpty: nonEmptyArray,
166
+ uniqueItems: uniqueItems
167
+ });
168
+ };
169
+ var boolean = function boolean() {
170
+ return (0, _utils.nullSafeChain)(this, _booleanValidator.default);
171
+ };
172
+ var callback = function callback() {
173
+ return (0, _utils.nullSafeChain)(this, _callbackValidator.default);
174
+ };
175
+ var literal = function literal(literalValue) {
176
+ return (0, _utils.nullSafeChain)(this, (0, _createLiteralValidator.default)(literalValue));
177
+ };
178
+ var number = function number() {
179
+ return (0, _utils.nullSafeChain)(this, _numberValidator.default, {
180
+ minimum: minimumNumber,
181
+ maximum: maximumNumber,
182
+ integer: integer,
183
+ unique: unique
184
+ });
185
+ };
186
+ var mapOfValues = function mapOfValues(valuesValidator) {
187
+ return (0, _utils.nullSafeChain)(this, (0, _createMapOfValuesValidator.default)(valuesValidator), {
188
+ nonEmpty: nonEmptyObject
189
+ });
190
+ };
191
+ var createObjectOfAdditionalProperties = function createObjectOfAdditionalProperties(schema) {
192
+ return {
193
+ noUnknownFields: function noUnknownFields() {
194
+ return (0, _utils.nullSafeChain)(this, (0, _createNoUnknownFieldsValidator.default)(schema));
195
+ },
196
+ nonEmpty: nonEmptyObject,
197
+ concat: function concat(otherObjectOfValidator) {
198
+ // combine the schema so that noUnknownFields, and concat have the combined schema
199
+ var newSchema = _objectSpread(_objectSpread({}, schema), otherObjectOfValidator.schema);
200
+ return (0, _utils.nullSafeChain)(this, otherObjectOfValidator, createObjectOfAdditionalProperties(newSchema));
201
+ },
202
+ deprecated: function deprecated(oldField, oldSchema, newField) {
203
+ // Run the deprecated validator first so that the deprecated field is removed
204
+ // before the objectOf validator runs.
205
+ return (0, _utils.reverseNullSafeChainJoinErrors)(this, (0, _createDeprecatedValidator.default)(oldField, oldSchema, newField));
206
+ },
207
+ schema: schema
208
+ };
209
+ };
210
+ var objectOf = function objectOf(schema) {
211
+ return (0, _utils.nullSafeChain)(this, (0, _createObjectOfValidator.default)(schema), createObjectOfAdditionalProperties(schema));
212
+ };
213
+ var string = function string() {
214
+ return (0, _utils.nullSafeChain)(this, _stringValidator.default, {
215
+ regexp: regexp,
216
+ domain: domain,
217
+ nonEmpty: nonEmptyString,
218
+ unique: unique,
219
+ matches: matches
220
+ });
221
+ };
222
+ var boundAnyOf = exports.anyOf = anyOf.bind(base);
223
+ var boundAnything = exports.anything = anything.bind(base);
224
+ var boundArrayOf = exports.arrayOf = arrayOf.bind(base);
225
+ var boundBoolean = exports.boolean = boolean.bind(base);
226
+ var boundCallback = exports.callback = callback.bind(base);
227
+ var boundLiteral = exports.literal = literal.bind(base);
228
+ var boundNumber = exports.number = number.bind(base);
229
+ var boundMapOfValues = exports.mapOfValues = mapOfValues.bind(base);
230
+ var boundObjectOf = exports.objectOf = objectOf.bind(base);
231
+ var boundString = exports.string = string.bind(base);
232
+
233
+ // compound validators
234
+ var boundEnumOf = exports.enumOf = function boundEnumOf() {
235
+ for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
236
+ values[_key] = arguments[_key];
237
+ }
238
+ return boundAnyOf(values.map(boundLiteral), "one of these values: [" + JSON.stringify(values) + "]");
239
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _isInteger = require("../isInteger.js");
5
+ var _utils = require("./utils.js");
6
+ /*
7
+ Copyright 2019 Adobe. All rights reserved.
8
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License. You may obtain a copy
10
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under
13
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14
+ OF ANY KIND, either express or implied. See the License for the specific language
15
+ governing permissions and limitations under the License.
16
+ */
17
+ var _default = exports.default = function _default(value, path) {
18
+ (0, _utils.assertValid)((0, _isInteger.default)(value), value, path, "an integer");
19
+ return value;
20
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _utils = require("./utils.js");
5
+ /*
6
+ Copyright 2023 Adobe. All rights reserved.
7
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License. You may obtain a copy
9
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software distributed under
12
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
13
+ OF ANY KIND, either express or implied. See the License for the specific language
14
+ governing permissions and limitations under the License.
15
+ */
16
+ var _default = exports.default = function _default(regexp) {
17
+ return function (value, path) {
18
+ (0, _utils.assertValid)(regexp.test(value), value, path, "does not match the " + regexp.toString());
19
+ return value;
20
+ };
21
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _isNumber = require("../isNumber.js");
5
+ var _utils = require("./utils.js");
6
+ /*
7
+ Copyright 2019 Adobe. All rights reserved.
8
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License. You may obtain a copy
10
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under
13
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14
+ OF ANY KIND, either express or implied. See the License for the specific language
15
+ governing permissions and limitations under the License.
16
+ */
17
+ var _default = exports.default = function _default(value, path) {
18
+ (0, _utils.assertValid)((0, _isNumber.default)(value), value, path, "a number");
19
+ return value;
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _utils = require("./utils.js");
5
+ var _isValidRegExp = require("../isValidRegExp.js");
6
+ /*
7
+ Copyright 2019 Adobe. All rights reserved.
8
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License. You may obtain a copy
10
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under
13
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14
+ OF ANY KIND, either express or implied. See the License for the specific language
15
+ governing permissions and limitations under the License.
16
+ */
17
+ var _default = exports.default = function _default(value, path) {
18
+ (0, _utils.assertValid)((0, _isValidRegExp.default)(value), value, path, "a regular expression");
19
+ return value;
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ /*
5
+ Copyright 2020 Adobe. All rights reserved.
6
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License. You may obtain a copy
8
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under
11
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12
+ OF ANY KIND, either express or implied. See the License for the specific language
13
+ governing permissions and limitations under the License.
14
+ */
15
+ var _default = exports.default = function _default(value, path) {
16
+ if (value == null) {
17
+ throw new Error("'" + path + "' is a required option");
18
+ }
19
+ return value;
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _isString = require("../isString.js");
5
+ var _utils = require("./utils.js");
6
+ /*
7
+ Copyright 2019 Adobe. All rights reserved.
8
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License. You may obtain a copy
10
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under
13
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14
+ OF ANY KIND, either express or implied. See the License for the specific language
15
+ governing permissions and limitations under the License.
16
+ */
17
+ var _default = exports.default = function _default(value, path) {
18
+ (0, _utils.assertValid)((0, _isString.default)(value), value, path, "a string");
19
+ return value;
20
+ };
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ exports.reverseNullSafeChainJoinErrors = exports.nullSafeChain = exports.chain = exports.assertValid = void 0;
4
+ var _assign = require("../assign.js");
5
+ /*
6
+ Copyright 2023 Adobe. All rights reserved.
7
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License. You may obtain a copy
9
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software distributed under
12
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
13
+ OF ANY KIND, either express or implied. See the License for the specific language
14
+ governing permissions and limitations under the License.
15
+ */
16
+
17
+ // This is used to add methods onto a function.
18
+
19
+ /**
20
+ * Wraps a validator returning the value if it is null or undefined, otherwise
21
+ * it will call the original validator and return the result.
22
+ *
23
+ * @param {function} validator - the validator to call if the value is not null
24
+ */
25
+ var skipIfNull = function skipIfNull(validator) {
26
+ return function skipIfNullValidator(value, path) {
27
+ return value == null ? value : validator.call(this, value, path);
28
+ };
29
+ };
30
+
31
+ /**
32
+ * Returns a new validator that calls the first validator and then calls the second
33
+ * validator with the result of the first validator. The result of the second validator
34
+ * is returned.
35
+ *
36
+ * @param {function} firstValidator - validator to call first
37
+ * @param {function} secondValidator - validator to call second
38
+ * @returns {function} - a new validator that calls the first and second validators
39
+ */
40
+ var callSequentially = function callSequentially(firstValidator, secondValidator) {
41
+ return function callSequentiallyValidator(value, path) {
42
+ return secondValidator.call(this, firstValidator.call(this, value, path), path);
43
+ };
44
+ };
45
+
46
+ /**
47
+ * Just like callSequentially, but if either validator throws an error, the errors
48
+ * are collected and thrown at the end.
49
+ *
50
+ * @param {function} firstValidator
51
+ * @param {function} secondValidator
52
+ * @returns {function}
53
+ */
54
+ var callSequentiallyJoinErrors = function callSequentiallyJoinErrors(firstValidator, secondValidator) {
55
+ return function callSequentiallyJoinErrorsValidator(value, path) {
56
+ var _this = this;
57
+ var errors = [];
58
+ var newValue = [firstValidator, secondValidator].reduce(function (memo, validator) {
59
+ try {
60
+ return validator.call(_this, memo, path);
61
+ } catch (e) {
62
+ errors.push(e);
63
+ return memo;
64
+ }
65
+ }, value);
66
+ if (errors.length) {
67
+ throw new Error(errors.join("\n"));
68
+ }
69
+ return newValue;
70
+ };
71
+ };
72
+
73
+ /**
74
+ * Chains two validators together. In addition to calling the validators in
75
+ * sequence, this will also copy over methods from the base validator to the
76
+ * resulting validator and include any additional methods.
77
+ *
78
+ * @param {function} baseValidator - This validator will be called first, and its
79
+ * methods will be copied over to the returned validator.
80
+ * @param {function} newValidator - This validator will be called second.
81
+ * @param {object} additionalMethods - Additional methods to include on the returned
82
+ * validator.
83
+ * @returns {function}
84
+ */
85
+ var chain = exports.chain = function chain(baseValidator, newValidator, additionalMethods) {
86
+ return (0, _assign.default)(callSequentially(baseValidator, newValidator), baseValidator, additionalMethods);
87
+ };
88
+
89
+ /**
90
+ * Chains two validators together, but skips the second validator if the value
91
+ * is null. In addition to calling the validators in sequence, this will also
92
+ * copy over methods from the base validator to the resulting validator and
93
+ * include any additional methods.
94
+ *
95
+ * @param {function} baseValidator - This validator will be called first, and its
96
+ * methods will be copied over to the returned validator.
97
+ * @param {function} newValidator - This validator will be called second. If the value
98
+ * is null after the first validator is called, this validator will not be
99
+ * called.
100
+ * @param {object} additionalMethods - Additional methods to include on the returned
101
+ * validator.
102
+ * @returns {function}
103
+ */
104
+ var nullSafeChain = exports.nullSafeChain = function nullSafeChain(baseValidator, newValidator, additionalMethods) {
105
+ return (0, _assign.default)(callSequentially(baseValidator, skipIfNull(newValidator)), baseValidator, additionalMethods);
106
+ };
107
+
108
+ /**
109
+ * Same as nullSafeChain, but calls the new validator first.
110
+ *
111
+ * @param {function} baseValidator - This validator will be called second, and its
112
+ * methods will be copied over to the returned validator.
113
+ * @param {function} newValidator - This validator will be called first. If the value
114
+ * is null, this validator will not be called.
115
+ * @param {function} additionalMethods - Additional methods to include on the returned
116
+ * validator.
117
+ * @returns {function}
118
+ */
119
+ var reverseNullSafeChainJoinErrors = exports.reverseNullSafeChainJoinErrors = function reverseNullSafeChainJoinErrors(baseValidator, newValidator, additionalMethods) {
120
+ return (0, _assign.default)(callSequentiallyJoinErrors(skipIfNull(newValidator), baseValidator), baseValidator, additionalMethods);
121
+ };
122
+
123
+ /**
124
+ * Throws an error if the value is not valid.
125
+ *
126
+ * @param {boolean} isValid - Whether or not the value is valid.
127
+ * @param {*} value - The value to validate.
128
+ * @param {string} path - The path to the value.
129
+ * @param {string} message - The expected part of the error message.
130
+ * @throws {Error} - Throws an error if the value is not valid.
131
+ * @returns {void}
132
+ */
133
+ var assertValid = exports.assertValid = function assertValid(isValid, value, path, message) {
134
+ if (!isValid) {
135
+ throw new Error("'" + path + "': Expected " + message + ", but got " + JSON.stringify(value) + ".");
136
+ }
137
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ /*
5
+ Copyright 2019 Adobe. All rights reserved.
6
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License. You may obtain a copy
8
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under
11
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12
+ OF ANY KIND, either express or implied. See the License for the specific language
13
+ governing permissions and limitations under the License.
14
+ */
15
+ /**
16
+ * Returns an array whose items are the provided object's own enumerable
17
+ * property values.
18
+ * @param {Object} obj
19
+ * @returns {Array}
20
+ */
21
+ var _default = exports.default = function _default(obj) {
22
+ return Object.keys(obj).map(function (key) {
23
+ return obj[key];
24
+ });
25
+ };
@@ -0,0 +1,61 @@
1
+ /*
2
+ Copyright 2019 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
+
13
+ /* eslint no-param-reassign: 0 */
14
+ /* eslint no-underscore-dangle: 0 */
15
+ /* eslint prefer-rest-params: 0 */
16
+ /* eslint no-var: 0 */
17
+ /* eslint-disable func-names */
18
+
19
+ /**
20
+ * This is the code, once minified, that an Alloy consumer copies and pastes
21
+ * into their website's HTML. It sets up any global functions the consumer will
22
+ * use to interact with Alloy. It also provides a queuing mechanism whereby
23
+ * any function calls made by the consumer before the Alloy library file
24
+ * loads will be enqueued and later processed by Alloy once the Alloy library
25
+ * file has loaded. Because each call may be asynchronously processed, a promise
26
+ * will always be returned to the consumer any time the consumer attempts to
27
+ * execute a command.
28
+ *
29
+ * Along with this base code, a script tag (not shown here) will also be added
30
+ * to the consumer website's HTML that will load the Alloy library file.
31
+ *
32
+ * Take particular care to write well-minifiable code, as consumers are
33
+ * particularly sensitive to base code size.
34
+ */
35
+
36
+ export default ((window, instanceNames) => {
37
+ instanceNames.forEach(function (instanceName) {
38
+ if (!window[instanceName]) {
39
+ // __alloyNS stores a name of each "instance", or in other words, each
40
+ // global function created that the consumer will use. This array is
41
+ // what the Alloy library will consult once it is loaded to determine
42
+ // which global functions have been set up so that is can connect them to
43
+ // the library's command processing pipeline.
44
+ (window.__alloyNS = window.__alloyNS || []).push(instanceName);
45
+ window[instanceName] = function () {
46
+ var userProvidedArgs = arguments;
47
+ // Always return a promise, because the command may be executed
48
+ // asynchronously, especially if the Alloy library has not yet loaded.
49
+ return new Promise(function (resolve, reject) {
50
+ // Push required call information into the queue. Once the Alloy
51
+ // library is loaded, it will process this queue and resolve/reject
52
+ // the promise we just returned to the consumer. If the Alloy
53
+ // library has already loaded, then it will have already overridden
54
+ // q.push and will therefore process the call immediately.
55
+ window[instanceName].q.push([resolve, reject, userProvidedArgs]);
56
+ });
57
+ };
58
+ window[instanceName].q = [];
59
+ }
60
+ });
61
+ });
@@ -0,0 +1,52 @@
1
+ /*
2
+ Copyright 2022 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
+
13
+ import { noop } from "../../utils/index.js";
14
+ const createClickHandler = ({
15
+ eventManager,
16
+ lifecycle,
17
+ handleError
18
+ }) => {
19
+ return clickEvent => {
20
+ // TODO: Consider safeguarding from the same object being clicked multiple times in rapid succession?
21
+ const clickedElement = clickEvent.target;
22
+ const event = eventManager.createEvent();
23
+ // this is to make sure a exit link personalization metric use send beacon
24
+ event.documentMayUnload();
25
+ return lifecycle.onClick({
26
+ event,
27
+ clickedElement
28
+ }).then(() => {
29
+ if (event.isEmpty()) {
30
+ return Promise.resolve();
31
+ }
32
+ return eventManager.sendEvent(event);
33
+ })
34
+ // eventManager.sendEvent() will return a promise resolved to an
35
+ // object and we want to avoid returning any value to the customer
36
+ .then(noop).catch(error => {
37
+ handleError(error, "click collection");
38
+ });
39
+ };
40
+ };
41
+ export default (({
42
+ eventManager,
43
+ lifecycle,
44
+ handleError
45
+ }) => {
46
+ const clickHandler = createClickHandler({
47
+ eventManager,
48
+ lifecycle,
49
+ handleError
50
+ });
51
+ document.addEventListener("click", clickHandler, true);
52
+ });
@@ -0,0 +1,19 @@
1
+ /*
2
+ Copyright 2019 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
+
13
+ import { boolean, callback, objectOf, string } from "../../utils/validation/index.js";
14
+ export const downloadLinkQualifier = string().regexp().default("\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$");
15
+ export default objectOf({
16
+ clickCollectionEnabled: boolean().default(true),
17
+ onBeforeLinkClickSend: callback(),
18
+ downloadLinkQualifier
19
+ });