@adobe/alloy 2.21.1 → 2.22.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.cjs +0 -1
- package/libEs5/baseCode/index.js +3 -2
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +23 -20
- package/libEs5/components/ActivityCollector/configValidators.js +2 -2
- package/libEs5/components/ActivityCollector/createClickActivityStorage.js +11 -9
- package/libEs5/components/ActivityCollector/createClickedElementProperties.js +39 -32
- package/libEs5/components/ActivityCollector/createGetClickedElementProperties.js +28 -20
- package/libEs5/components/ActivityCollector/createInjectClickedElementProperties.js +24 -21
- package/libEs5/components/ActivityCollector/createRecallAndInjectClickedElementProperties.js +10 -8
- package/libEs5/components/ActivityCollector/createStorePageViewProperties.js +6 -4
- package/libEs5/components/ActivityCollector/getLinkName.js +19 -18
- package/libEs5/components/ActivityCollector/getLinkRegion.js +10 -9
- package/libEs5/components/ActivityCollector/index.js +61 -45
- package/libEs5/components/ActivityCollector/utils/activityMapExtensionEnabled.js +3 -5
- package/libEs5/components/ActivityCollector/utils/createTransientStorage.js +7 -6
- package/libEs5/components/ActivityCollector/utils/determineLinkType.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/elementHasClickHandler.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/extractDomain.js +5 -4
- package/libEs5/components/ActivityCollector/utils/dom/findClickableElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/getAbsoluteUrlFromAnchorElement.js +11 -8
- package/libEs5/components/ActivityCollector/utils/dom/isButtonSubmitElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isDownloadLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isExitLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isInputSubmitElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedAnchorElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedTextNode.js +4 -3
- package/libEs5/components/ActivityCollector/utils/hasPageName.js +4 -3
- package/libEs5/components/ActivityCollector/utils/isDifferentDomains.js +5 -4
- package/libEs5/components/ActivityCollector/utils/trimQueryFromUrl.js +5 -4
- package/libEs5/components/ActivityCollector/utils/truncateWhiteSpace.js +3 -2
- package/libEs5/components/ActivityCollector/utils/urlStartsWithScheme.js +3 -2
- package/libEs5/components/Audiences/index.js +13 -12
- package/libEs5/components/Audiences/injectProcessDestinations.js +32 -35
- package/libEs5/components/Audiences/injectProcessResponse.js +19 -16
- package/libEs5/components/Context/createComponent.js +10 -13
- package/libEs5/components/Context/implementationDetails.js +5 -4
- package/libEs5/components/Context/index.js +24 -28
- package/libEs5/components/Context/injectDevice.js +23 -15
- package/libEs5/components/Context/injectEnvironment.js +17 -12
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +12 -21
- package/libEs5/components/Context/injectPlaceContext.js +8 -7
- package/libEs5/components/Context/injectTimestamp.js +6 -5
- package/libEs5/components/Context/injectWeb.js +6 -5
- package/libEs5/components/DataCollector/index.js +37 -38
- package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
- package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -4
- package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +11 -8
- package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +10 -7
- package/libEs5/components/DecisioningEngine/constants.js +3 -3
- package/libEs5/components/DecisioningEngine/createApplyResponse.js +15 -15
- package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -13
- package/libEs5/components/DecisioningEngine/createContextProvider.js +48 -44
- package/libEs5/components/DecisioningEngine/createDecisionHistory.js +7 -5
- package/libEs5/components/DecisioningEngine/createDecisionProvider.js +16 -21
- package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +39 -37
- package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +21 -19
- package/libEs5/components/DecisioningEngine/createEventRegistry.js +63 -67
- package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +23 -22
- package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +100 -55
- package/libEs5/components/DecisioningEngine/index.js +83 -54
- package/libEs5/components/DecisioningEngine/utils.js +43 -38
- package/libEs5/components/EventMerge/createComponent.js +5 -3
- package/libEs5/components/EventMerge/createEventMergeId.js +3 -2
- package/libEs5/components/EventMerge/index.js +1 -1
- package/libEs5/components/Identity/addEcidQueryToPayload.js +3 -2
- package/libEs5/components/Identity/addEcidToPayload.js +3 -2
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +13 -23
- package/libEs5/components/Identity/configValidators.js +1 -1
- package/libEs5/components/Identity/constants/authState.js +3 -3
- package/libEs5/components/Identity/createComponent.js +39 -33
- package/libEs5/components/Identity/createLegacyIdentity.js +29 -29
- package/libEs5/components/Identity/getEcidFromResponse.js +5 -7
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +17 -15
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +10 -8
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +5 -4
- package/libEs5/components/Identity/index.js +61 -62
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +8 -6
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +46 -52
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +14 -11
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +25 -24
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +6 -4
- package/libEs5/components/Identity/injectProcessIdSyncs.js +20 -22
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +7 -5
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +8 -6
- package/libEs5/components/Identity/visitorService/getVisitor.js +4 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +15 -13
- package/libEs5/components/LegacyMediaAnalytics/constants/constants.js +9 -9
- package/libEs5/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +2 -2
- package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +61 -63
- package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +38 -37
- package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +54 -52
- package/libEs5/components/LegacyMediaAnalytics/index.js +32 -33
- package/libEs5/components/LibraryInfo/index.js +23 -30
- package/libEs5/components/MachineLearning/index.js +1 -1
- package/libEs5/components/MachineLearning/processResponse.js +5 -3
- package/libEs5/components/Personalization/constants/loggerMessage.js +2 -2
- package/libEs5/components/Personalization/constants/scopeType.js +3 -3
- package/libEs5/components/Personalization/constants/surface.js +4 -4
- package/libEs5/components/Personalization/createActionsProvider.js +37 -32
- package/libEs5/components/Personalization/createApplyPropositions.js +71 -81
- package/libEs5/components/Personalization/createClickStorage.js +30 -32
- package/libEs5/components/Personalization/createComponent.js +65 -74
- package/libEs5/components/Personalization/createFetchDataHandler.js +83 -52
- package/libEs5/components/Personalization/createGetPageLocation.js +6 -6
- package/libEs5/components/Personalization/createHandleConsentFlicker.js +15 -14
- package/libEs5/components/Personalization/createInteractionStorage.js +25 -39
- package/libEs5/components/Personalization/createNotificationHandler.js +9 -10
- package/libEs5/components/Personalization/createOnClickHandler.js +29 -25
- package/libEs5/components/Personalization/createOnDecisionHandler.js +23 -21
- package/libEs5/components/Personalization/createPersonalizationDetails.js +39 -45
- package/libEs5/components/Personalization/createPreprocessors.js +7 -7
- package/libEs5/components/Personalization/createSetTargetMigration.js +6 -4
- package/libEs5/components/Personalization/createViewCacheManager.js +29 -32
- package/libEs5/components/Personalization/createViewChangeHandler.js +35 -20
- package/libEs5/components/Personalization/dom-actions/action.js +24 -25
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +12 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +8 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +28 -33
- package/libEs5/components/Personalization/dom-actions/clicks/collectInteractions.js +37 -40
- package/libEs5/components/Personalization/dom-actions/collectInteractions.js +3 -2
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +10 -11
- package/libEs5/components/Personalization/dom-actions/createRedirect.js +11 -13
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +3 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +7 -6
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +7 -7
- package/libEs5/components/Personalization/dom-actions/dom/index.js +14 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/isDomElement.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -5
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +39 -38
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +4 -3
- package/libEs5/components/Personalization/dom-actions/images.js +10 -9
- package/libEs5/components/Personalization/dom-actions/index.js +1 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +40 -25
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +9 -8
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +8 -7
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +13 -10
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +9 -7
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +14 -9
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +16 -14
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +4 -3
- package/libEs5/components/Personalization/dom-actions/scripts.js +58 -38
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +4 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +5 -4
- package/libEs5/components/Personalization/dom-actions/setStyles.js +8 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +3 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +3 -2
- package/libEs5/components/Personalization/flicker/index.js +66 -49
- package/libEs5/components/Personalization/handlers/createDecorateProposition.js +16 -13
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +45 -50
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +30 -29
- package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +35 -31
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +109 -105
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +38 -28
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +59 -67
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +3 -2
- package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +140 -121
- package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +4 -5
- package/libEs5/components/Personalization/in-app-message-actions/utils.js +23 -19
- package/libEs5/components/Personalization/index.js +120 -103
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +10 -10
- package/libEs5/components/Personalization/utils/createAsyncArray.js +10 -9
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +3 -3
- package/libEs5/components/Personalization/utils/metaUtils.js +14 -19
- package/libEs5/components/Personalization/utils/surfaceUtils.js +27 -46
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +8 -6
- package/libEs5/components/Privacy/computeConsentHash.js +9 -9
- package/libEs5/components/Privacy/createComponent.js +32 -32
- package/libEs5/components/Privacy/createConsentHashStore.js +27 -24
- package/libEs5/components/Privacy/createConsentRequest.js +10 -8
- package/libEs5/components/Privacy/createConsentRequestPayload.js +9 -8
- package/libEs5/components/Privacy/createStoredConsent.js +11 -9
- package/libEs5/components/Privacy/index.js +26 -23
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +30 -29
- package/libEs5/components/Privacy/parseConsentCookie.js +6 -14
- package/libEs5/components/StreamingMedia/createMediaEventManager.js +59 -45
- package/libEs5/components/StreamingMedia/createMediaRequest.js +8 -6
- package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +22 -17
- package/libEs5/components/StreamingMedia/createMediaSessionCacheManager.js +22 -18
- package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +30 -29
- package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +41 -36
- package/libEs5/components/StreamingMedia/createTrackMediaSession.js +25 -22
- package/libEs5/components/StreamingMedia/index.js +33 -34
- package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +9 -12
- package/libEs5/components/StreamingMedia/validateMediaSessionOptions.js +6 -4
- package/libEs5/constants/browser.js +7 -7
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +3 -3
- package/libEs5/constants/contentType.js +2 -2
- package/libEs5/constants/cookieNameKey.js +3 -3
- package/libEs5/constants/coreCommands.js +2 -2
- package/libEs5/constants/decisionProvider.js +4 -3
- package/libEs5/constants/domain.js +2 -2
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/eventType.js +5 -5
- package/libEs5/constants/handle.js +1 -1
- package/libEs5/constants/httpHeaderNames.js +2 -2
- package/libEs5/constants/httpStatusCode.js +5 -5
- package/libEs5/constants/identityMapAuthenticatedState.js +3 -3
- package/libEs5/constants/legacyCookies.js +3 -3
- package/libEs5/constants/libraryVersion.js +1 -1
- package/libEs5/constants/propositionEventType.js +18 -12
- package/libEs5/constants/propositionInteractionType.js +4 -4
- package/libEs5/constants/schema.js +11 -11
- package/libEs5/constants/sessionDataKeys.js +1 -1
- package/libEs5/constants/tagName.js +7 -7
- package/libEs5/core/buildAndValidateConfig.js +55 -69
- package/libEs5/core/componentCreators.js +70 -41
- package/libEs5/core/config/createConfig.js +4 -3
- package/libEs5/core/config/createCoreConfigs.js +11 -12
- package/libEs5/core/consent/createConsent.js +16 -14
- package/libEs5/core/consent/createConsentStateMachine.js +27 -35
- package/libEs5/core/createComponentRegistry.js +28 -27
- package/libEs5/core/createCookieTransfer.js +18 -18
- package/libEs5/core/createEvent.js +39 -44
- package/libEs5/core/createEventManager.js +64 -69
- package/libEs5/core/createInstanceFunction.js +4 -11
- package/libEs5/core/createLifecycle.js +14 -19
- package/libEs5/core/createLogController.js +30 -29
- package/libEs5/core/createLogger.js +41 -27
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +6 -5
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +29 -32
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +19 -25
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +11 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +20 -16
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +42 -38
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +8 -12
- package/libEs5/core/index.js +137 -133
- package/libEs5/core/initializeComponents.js +17 -15
- package/libEs5/core/injectCreateResponse.js +47 -53
- package/libEs5/core/injectExecuteCommand.js +39 -40
- package/libEs5/core/injectHandleError.js +19 -19
- package/libEs5/core/injectShouldTransferCookie.js +12 -12
- package/libEs5/core/network/getRequestRetryDelay.js +20 -18
- package/libEs5/core/network/injectSendNetworkRequest.js +46 -49
- package/libEs5/core/network/isRequestRetryable.js +9 -8
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +10 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +18 -19
- package/libEs5/core/requiredComponentCreators.js +23 -0
- package/libEs5/core/validateCommandOptions.js +14 -11
- package/libEs5/index.js +43 -22
- package/libEs5/standalone.js +6 -1
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +3 -5
- package/libEs5/utils/assignConcatArrayValues.js +9 -18
- package/libEs5/utils/clone.js +2 -3
- package/libEs5/utils/cookieJar.js +4 -4
- package/libEs5/utils/crc32.js +8 -8
- package/libEs5/utils/createCallbackAggregator.js +7 -11
- package/libEs5/utils/createCollect.js +52 -0
- package/libEs5/utils/createLoggingCookieJar.js +14 -16
- package/libEs5/utils/createMerger.js +9 -10
- package/libEs5/utils/createSubscription.js +48 -48
- package/libEs5/utils/createTaskQueue.js +8 -7
- package/libEs5/utils/deduplicateArray.js +7 -11
- package/libEs5/utils/deepAssign.js +7 -11
- package/libEs5/utils/defer.js +5 -4
- package/libEs5/utils/dom/appendNode.js +3 -2
- package/libEs5/utils/dom/awaitSelector.js +36 -34
- package/libEs5/utils/dom/createNode.js +10 -15
- package/libEs5/utils/dom/index.js +8 -8
- package/libEs5/utils/dom/isShadowSelector.js +2 -3
- package/libEs5/utils/dom/matchesSelector.js +3 -2
- package/libEs5/utils/dom/querySelectorAll.js +5 -13
- package/libEs5/utils/dom/removeNode.js +4 -3
- package/libEs5/utils/dom/selectNodes.js +3 -3
- package/libEs5/utils/dom/selectNodesWithShadow.js +14 -23
- package/libEs5/utils/event.js +49 -0
- package/libEs5/utils/filterObject.js +14 -12
- package/libEs5/utils/fireImage.js +10 -9
- package/libEs5/utils/flattenArray.js +4 -11
- package/libEs5/utils/flattenObject.js +8 -18
- package/libEs5/utils/getApexDomain.js +7 -6
- package/libEs5/utils/getBrowser.js +45 -12
- package/libEs5/utils/getLastArrayItems.js +2 -3
- package/libEs5/utils/getNamespacedCookieName.js +2 -3
- package/libEs5/utils/groupBy.js +6 -5
- package/libEs5/utils/index.js +50 -113
- package/libEs5/utils/injectDoesIdentityCookieExist.js +7 -7
- package/libEs5/utils/injectFireReferrerHideableImage.js +28 -34
- package/libEs5/utils/injectStorage.js +13 -15
- package/libEs5/utils/intersection.js +2 -6
- package/libEs5/utils/isBlankString.js +2 -3
- package/libEs5/utils/isBoolean.js +2 -3
- package/libEs5/utils/isEmptyObject.js +2 -3
- package/libEs5/utils/isFunction.js +2 -3
- package/libEs5/utils/isInteger.js +4 -3
- package/libEs5/utils/isNamespacedCookieName.js +2 -3
- package/libEs5/utils/isNil.js +2 -3
- package/libEs5/utils/isNonEmptyArray.js +2 -3
- package/libEs5/utils/isNonEmptyString.js +2 -3
- package/libEs5/utils/isNumber.js +2 -4
- package/libEs5/utils/isObject.js +3 -4
- package/libEs5/utils/isString.js +2 -3
- package/libEs5/utils/isUnique.js +6 -5
- package/libEs5/utils/isValidRegExp.js +3 -2
- package/libEs5/utils/memoize.js +7 -6
- package/libEs5/utils/noop.js +2 -1
- package/libEs5/utils/parseUrl.js +19 -25
- package/libEs5/utils/prepareConfigOverridesForEdge.js +6 -5
- package/libEs5/utils/request/createAddIdentity.js +4 -3
- package/libEs5/utils/request/createDataCollectionRequest.js +15 -11
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +9 -10
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +17 -15
- package/libEs5/utils/request/createHasIdentity.js +4 -5
- package/libEs5/utils/request/createRequest.js +26 -23
- package/libEs5/utils/request/createRequestParams.js +13 -13
- package/libEs5/utils/request/createRequestPayload.js +13 -12
- package/libEs5/utils/request/index.js +8 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
- package/libEs5/utils/stackError.js +8 -6
- package/libEs5/utils/stringToBoolean.js +3 -2
- package/libEs5/utils/toArray.js +3 -2
- package/libEs5/utils/toError.js +3 -2
- package/libEs5/utils/toISOStringLocal.js +29 -14
- package/libEs5/utils/toInteger.js +5 -5
- package/libEs5/utils/updateErrorMessage.js +6 -4
- package/libEs5/utils/validation/booleanValidator.js +3 -2
- package/libEs5/utils/validation/callbackValidator.js +3 -2
- package/libEs5/utils/validation/createAnyOfValidator.js +14 -17
- package/libEs5/utils/validation/createArrayOfValidator.js +16 -18
- package/libEs5/utils/validation/createDefaultValidator.js +7 -8
- package/libEs5/utils/validation/createDeprecatedValidator.js +12 -14
- package/libEs5/utils/validation/createLiteralValidator.js +5 -6
- package/libEs5/utils/validation/createMapOfValuesValidator.js +20 -22
- package/libEs5/utils/validation/createMaximumValidator.js +5 -6
- package/libEs5/utils/validation/createMinimumValidator.js +5 -6
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +13 -14
- package/libEs5/utils/validation/createNonEmptyValidator.js +9 -10
- package/libEs5/utils/validation/createObjectOfValidator.js +27 -29
- package/libEs5/utils/validation/createRenamedValidator.js +24 -27
- package/libEs5/utils/validation/createUniqueItemsValidator.js +4 -3
- package/libEs5/utils/validation/createUniqueValidator.js +5 -4
- package/libEs5/utils/validation/domainValidator.js +4 -3
- package/libEs5/utils/validation/index.js +66 -72
- package/libEs5/utils/validation/integerValidator.js +3 -2
- package/libEs5/utils/validation/matchesRegexpValidator.js +5 -6
- package/libEs5/utils/validation/numberValidator.js +3 -2
- package/libEs5/utils/validation/regexpValidator.js +3 -2
- package/libEs5/utils/validation/requiredValidator.js +3 -2
- package/libEs5/utils/validation/stringValidator.js +3 -2
- package/libEs5/utils/validation/utils.js +29 -35
- package/libEs6/components/ActivityCollector/index.js +18 -8
- package/libEs6/components/Context/createComponent.js +1 -3
- package/libEs6/components/DecisioningEngine/createApplyResponse.js +1 -1
- package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +78 -28
- package/libEs6/components/DecisioningEngine/index.js +22 -2
- package/libEs6/components/DecisioningEngine/utils.js +2 -9
- package/libEs6/components/Identity/createComponent.js +4 -2
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -3
- package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +2 -2
- package/libEs6/components/LibraryInfo/index.js +4 -5
- package/libEs6/components/Personalization/createActionsProvider.js +4 -2
- package/libEs6/components/Personalization/createComponent.js +2 -2
- package/libEs6/components/Personalization/createFetchDataHandler.js +35 -1
- package/libEs6/components/Personalization/createPersonalizationDetails.js +6 -6
- package/libEs6/components/Personalization/createViewCacheManager.js +5 -2
- package/libEs6/components/Personalization/createViewChangeHandler.js +11 -1
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +5 -2
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +1 -3
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +6 -4
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +3 -2
- package/libEs6/components/Personalization/dom-actions/scripts.js +18 -2
- package/libEs6/components/Personalization/flicker/index.js +44 -30
- package/libEs6/components/Personalization/handlers/createDecorateProposition.js +2 -2
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +29 -9
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +9 -0
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +0 -3
- package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +8 -5
- package/libEs6/components/Personalization/in-app-message-actions/utils.js +2 -2
- package/libEs6/components/Personalization/index.js +9 -5
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +4 -4
- package/libEs6/components/Personalization/utils/surfaceUtils.js +3 -3
- package/libEs6/constants/decisionProvider.js +1 -0
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/constants/schema.js +1 -1
- package/libEs6/core/buildAndValidateConfig.js +8 -5
- package/libEs6/core/componentCreators.js +14 -43
- package/libEs6/core/config/createConfig.js +3 -2
- package/libEs6/core/createCookieTransfer.js +1 -3
- package/libEs6/core/createInstanceFunction.js +1 -9
- package/libEs6/core/createLogger.js +17 -2
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +1 -7
- package/libEs6/core/index.js +11 -10
- package/libEs6/core/injectCreateResponse.js +1 -3
- package/libEs6/core/network/isRequestRetryable.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/{utils/assignIf.js → core/requiredComponentCreators.js} +4 -8
- package/libEs6/index.js +26 -6
- package/libEs6/standalone.js +7 -1
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +1 -2
- package/libEs6/utils/assignConcatArrayValues.js +1 -2
- package/libEs6/utils/cookieJar.js +4 -4
- package/libEs6/{components/Personalization → utils}/createCollect.js +3 -3
- package/libEs6/utils/createSubscription.js +20 -3
- package/libEs6/utils/dom/querySelectorAll.js +1 -10
- package/libEs6/utils/dom/selectNodesWithShadow.js +2 -12
- package/libEs6/{components/Personalization → utils}/event.js +1 -1
- package/libEs6/utils/index.js +1 -10
- package/libEs6/utils/injectStorage.js +1 -2
- package/libEs6/utils/intersection.js +1 -4
- package/libEs6/utils/isNumber.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +14 -1
- package/libEs6/utils/toInteger.js +1 -2
- package/libEs6/utils/validation/createAnyOfValidator.js +1 -2
- package/libEs6/utils/validation/utils.js +3 -6
- package/package.json +35 -37
- package/rollup.config.js +115 -7
- package/scripts/alloyBuilder.js +89 -55
- package/scripts/helpers/entryPointGeneratorBabelPlugin.js +39 -0
- package/libEs5/components/Personalization/createCollect.js +0 -53
- package/libEs5/components/Personalization/event.js +0 -49
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -50
- package/libEs5/utils/assign.js +0 -16
- package/libEs5/utils/assignIf.js +0 -21
- package/libEs5/utils/endsWith.js +0 -23
- package/libEs5/utils/find.js +0 -30
- package/libEs5/utils/flatMap.js +0 -17
- package/libEs5/utils/includes.js +0 -23
- package/libEs5/utils/padStart.js +0 -27
- package/libEs5/utils/startsWith.js +0 -23
- package/libEs5/utils/values.js +0 -25
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +0 -49
- package/libEs6/utils/assign.js +0 -14
- package/libEs6/utils/endsWith.js +0 -19
- package/libEs6/utils/find.js +0 -28
- package/libEs6/utils/flatMap.js +0 -14
- package/libEs6/utils/includes.js +0 -21
- package/libEs6/utils/padStart.js +0 -25
- package/libEs6/utils/startsWith.js +0 -19
- package/libEs6/utils/values.js +0 -21
- package/scripts/helpers/alloyComponents.js +0 -63
- package/scripts/helpers/conditionalBuildBabelPlugin.js +0 -57
|
@@ -5,18 +5,7 @@ var _index = require("../../utils/index.js");
|
|
|
5
5
|
var _schema = require("../../constants/schema.js");
|
|
6
6
|
var _pageWideScope = require("../../constants/pageWideScope.js");
|
|
7
7
|
var _initDomActionsModules = require("./dom-actions/initDomActionsModules.js");
|
|
8
|
-
|
|
9
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
10
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
13
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
14
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
-
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; }
|
|
16
|
-
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; }
|
|
17
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
|
-
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); } /*
|
|
8
|
+
/*
|
|
20
9
|
Copyright 2022 Adobe. All rights reserved.
|
|
21
10
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
22
11
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -27,66 +16,70 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
27
16
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
28
17
|
governing permissions and limitations under the License.
|
|
29
18
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}), _schema.JSON_CONTENT_ITEM, isInteractionTrackingItem), _schema.MESSAGE_IN_APP, function () {
|
|
38
|
-
return true;
|
|
39
|
-
});
|
|
40
|
-
var filterItemsPredicate = function filterItemsPredicate(schema, actionType) {
|
|
41
|
-
return typeof SUPPORTED_SCHEMAS[schema] === "function" && SUPPORTED_SCHEMAS[schema](schema, actionType);
|
|
19
|
+
|
|
20
|
+
const isInteractionTrackingItem = (schema, actionType) => schema === _schema.JSON_CONTENT_ITEM && actionType === _initDomActionsModules.DOM_ACTION_COLLECT_INTERACTIONS;
|
|
21
|
+
const SUPPORTED_SCHEMAS = {
|
|
22
|
+
[_schema.DOM_ACTION]: () => true,
|
|
23
|
+
[_schema.HTML_CONTENT_ITEM]: () => true,
|
|
24
|
+
[_schema.JSON_CONTENT_ITEM]: isInteractionTrackingItem,
|
|
25
|
+
[_schema.MESSAGE_IN_APP]: () => true
|
|
42
26
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
27
|
+
const filterItemsPredicate = (schema, actionType) => typeof SUPPORTED_SCHEMAS[schema] === "function" && SUPPORTED_SCHEMAS[schema](schema, actionType);
|
|
28
|
+
var _default = ({
|
|
29
|
+
processPropositions,
|
|
30
|
+
createProposition,
|
|
31
|
+
renderedPropositions,
|
|
32
|
+
viewCache
|
|
33
|
+
}) => {
|
|
34
|
+
const updatePropositionItems = ({
|
|
35
|
+
items,
|
|
36
|
+
metadataForScope = {}
|
|
37
|
+
}) => {
|
|
38
|
+
const {
|
|
39
|
+
actionType,
|
|
40
|
+
selector
|
|
41
|
+
} = metadataForScope;
|
|
42
|
+
return items.filter(item => filterItemsPredicate(item.schema, actionType)).map(item => {
|
|
43
|
+
const {
|
|
44
|
+
schema
|
|
45
|
+
} = item;
|
|
58
46
|
if (schema !== _schema.HTML_CONTENT_ITEM && !isInteractionTrackingItem(schema, actionType)) {
|
|
59
|
-
return
|
|
47
|
+
return {
|
|
48
|
+
...item
|
|
49
|
+
};
|
|
60
50
|
}
|
|
61
51
|
if (!(0, _index.isEmptyObject)(metadataForScope)) {
|
|
62
|
-
return
|
|
52
|
+
return {
|
|
53
|
+
...item,
|
|
63
54
|
schema: isInteractionTrackingItem(schema, actionType) ? _schema.DOM_ACTION : schema,
|
|
64
|
-
data:
|
|
65
|
-
|
|
55
|
+
data: {
|
|
56
|
+
...item.data,
|
|
57
|
+
selector,
|
|
66
58
|
type: actionType
|
|
67
|
-
}
|
|
68
|
-
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
69
61
|
}
|
|
70
62
|
return undefined;
|
|
71
|
-
}).filter(
|
|
72
|
-
return item;
|
|
73
|
-
});
|
|
63
|
+
}).filter(item => item);
|
|
74
64
|
};
|
|
75
|
-
|
|
65
|
+
const filterPropositionsPredicate = proposition => {
|
|
76
66
|
return !(proposition.scope === _pageWideScope.default && proposition.renderAttempted);
|
|
77
67
|
};
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
const preparePropositions = ({
|
|
69
|
+
propositions,
|
|
70
|
+
metadata
|
|
71
|
+
}) => {
|
|
72
|
+
return propositions.filter(filterPropositionsPredicate).map(proposition => {
|
|
82
73
|
if ((0, _index.isNonEmptyArray)(proposition.items)) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
74
|
+
const {
|
|
75
|
+
id,
|
|
76
|
+
scope,
|
|
77
|
+
scopeDetails
|
|
78
|
+
} = proposition;
|
|
86
79
|
return {
|
|
87
|
-
id
|
|
88
|
-
scope
|
|
89
|
-
scopeDetails
|
|
80
|
+
id,
|
|
81
|
+
scope,
|
|
82
|
+
scopeDetails,
|
|
90
83
|
items: updatePropositionItems({
|
|
91
84
|
items: proposition.items,
|
|
92
85
|
metadataForScope: metadata[proposition.scope]
|
|
@@ -94,39 +87,36 @@ var _default = exports.default = function _default(_ref) {
|
|
|
94
87
|
};
|
|
95
88
|
}
|
|
96
89
|
return proposition;
|
|
97
|
-
}).filter(
|
|
98
|
-
return (0, _index.isNonEmptyArray)(proposition.items);
|
|
99
|
-
});
|
|
90
|
+
}).filter(proposition => (0, _index.isNonEmptyArray)(proposition.items));
|
|
100
91
|
};
|
|
101
|
-
return
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
viewName = _ref4.viewName;
|
|
92
|
+
return ({
|
|
93
|
+
propositions = [],
|
|
94
|
+
metadata = {},
|
|
95
|
+
viewName
|
|
96
|
+
}) => {
|
|
107
97
|
// We need to immediately call concat so that subsequent sendEvent
|
|
108
98
|
// calls will wait for applyPropositions to complete before executing.
|
|
109
|
-
|
|
99
|
+
const renderedPropositionsDeferred = (0, _index.defer)();
|
|
110
100
|
renderedPropositions.concat(renderedPropositionsDeferred.promise);
|
|
111
|
-
|
|
112
|
-
propositions
|
|
113
|
-
metadata
|
|
114
|
-
}).map(
|
|
115
|
-
|
|
116
|
-
});
|
|
117
|
-
return Promise.resolve().then(function () {
|
|
101
|
+
const propositionsToExecute = preparePropositions({
|
|
102
|
+
propositions,
|
|
103
|
+
metadata
|
|
104
|
+
}).map(proposition => createProposition(proposition));
|
|
105
|
+
return Promise.resolve().then(() => {
|
|
118
106
|
if (viewName) {
|
|
119
107
|
return viewCache.getView(viewName);
|
|
120
108
|
}
|
|
121
109
|
return [];
|
|
122
|
-
}).then(
|
|
123
|
-
|
|
124
|
-
render
|
|
125
|
-
returnedPropositions
|
|
110
|
+
}).then(additionalPropositions => {
|
|
111
|
+
const {
|
|
112
|
+
render,
|
|
113
|
+
returnedPropositions
|
|
114
|
+
} = processPropositions([...propositionsToExecute, ...additionalPropositions]);
|
|
126
115
|
render().then(renderedPropositionsDeferred.resolve);
|
|
127
116
|
return {
|
|
128
117
|
propositions: returnedPropositions
|
|
129
118
|
};
|
|
130
119
|
});
|
|
131
120
|
};
|
|
132
|
-
};
|
|
121
|
+
};
|
|
122
|
+
exports.default = _default;
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
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); }
|
|
5
|
-
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; }
|
|
6
|
-
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; }
|
|
7
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
9
|
-
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); }
|
|
10
4
|
/*
|
|
11
5
|
Copyright 2020 Adobe. All rights reserved.
|
|
12
6
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -19,46 +13,50 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
19
13
|
governing permissions and limitations under the License.
|
|
20
14
|
*/
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
return Object.keys(metas).map(
|
|
24
|
-
return
|
|
25
|
-
id: key
|
|
26
|
-
|
|
16
|
+
const metasToArray = metas => {
|
|
17
|
+
return Object.keys(metas).map(key => {
|
|
18
|
+
return {
|
|
19
|
+
id: key,
|
|
20
|
+
...metas[key]
|
|
21
|
+
};
|
|
27
22
|
});
|
|
28
23
|
};
|
|
29
|
-
var _default =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
id
|
|
35
|
-
scope
|
|
36
|
-
scopeDetails
|
|
37
|
-
trackingLabel
|
|
38
|
-
scopeType
|
|
24
|
+
var _default = () => {
|
|
25
|
+
const clickStorage = {};
|
|
26
|
+
const storeClickMeta = ({
|
|
27
|
+
selector,
|
|
28
|
+
meta: {
|
|
29
|
+
id,
|
|
30
|
+
scope,
|
|
31
|
+
scopeDetails,
|
|
32
|
+
trackingLabel,
|
|
33
|
+
scopeType
|
|
34
|
+
}
|
|
35
|
+
}) => {
|
|
39
36
|
if (!clickStorage[selector]) {
|
|
40
37
|
clickStorage[selector] = {};
|
|
41
38
|
}
|
|
42
39
|
clickStorage[selector][id] = {
|
|
43
|
-
scope
|
|
44
|
-
scopeDetails
|
|
45
|
-
trackingLabel
|
|
46
|
-
scopeType
|
|
40
|
+
scope,
|
|
41
|
+
scopeDetails,
|
|
42
|
+
trackingLabel,
|
|
43
|
+
scopeType
|
|
47
44
|
};
|
|
48
45
|
};
|
|
49
|
-
|
|
46
|
+
const getClickSelectors = () => {
|
|
50
47
|
return Object.keys(clickStorage);
|
|
51
48
|
};
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
const getClickMetas = selector => {
|
|
50
|
+
const metas = clickStorage[selector];
|
|
54
51
|
if (!metas) {
|
|
55
52
|
return {};
|
|
56
53
|
}
|
|
57
54
|
return metasToArray(clickStorage[selector]);
|
|
58
55
|
};
|
|
59
56
|
return {
|
|
60
|
-
storeClickMeta
|
|
61
|
-
getClickSelectors
|
|
62
|
-
getClickMetas
|
|
57
|
+
storeClickMeta,
|
|
58
|
+
getClickSelectors,
|
|
59
|
+
getClickMetas
|
|
63
60
|
};
|
|
64
|
-
};
|
|
61
|
+
};
|
|
62
|
+
exports.default = _default;
|
|
@@ -17,53 +17,48 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
17
17
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
18
18
|
governing permissions and limitations under the License.
|
|
19
19
|
*/
|
|
20
|
-
var _default =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
var _default = ({
|
|
21
|
+
getPageLocation,
|
|
22
|
+
logger,
|
|
23
|
+
fetchDataHandler,
|
|
24
|
+
viewChangeHandler,
|
|
25
|
+
onClickHandler,
|
|
26
|
+
isAuthoringModeEnabled,
|
|
27
|
+
mergeQuery,
|
|
28
|
+
viewCache,
|
|
29
|
+
showContainers,
|
|
30
|
+
applyPropositions,
|
|
31
|
+
setTargetMigration,
|
|
32
|
+
mergeDecisionsMeta,
|
|
33
|
+
renderedPropositions,
|
|
34
|
+
onDecisionHandler,
|
|
35
|
+
handleConsentFlicker
|
|
36
|
+
}) => {
|
|
36
37
|
return {
|
|
37
38
|
lifecycle: {
|
|
38
|
-
onComponentsRegistered
|
|
39
|
+
onComponentsRegistered() {
|
|
39
40
|
handleConsentFlicker();
|
|
40
41
|
},
|
|
41
42
|
onDecision: onDecisionHandler,
|
|
42
|
-
onBeforeRequest
|
|
43
|
-
|
|
43
|
+
onBeforeRequest({
|
|
44
|
+
request
|
|
45
|
+
}) {
|
|
44
46
|
setTargetMigration(request);
|
|
45
47
|
return Promise.resolve();
|
|
46
48
|
},
|
|
47
|
-
onBeforeEvent
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
onResponse = _ref3$onResponse === void 0 ? _index.noop : _ref3$onResponse,
|
|
56
|
-
_ref3$onRequestFailur = _ref3.onRequestFailure,
|
|
57
|
-
onRequestFailure = _ref3$onRequestFailur === void 0 ? _index.noop : _ref3$onRequestFailur;
|
|
49
|
+
onBeforeEvent({
|
|
50
|
+
event,
|
|
51
|
+
renderDecisions,
|
|
52
|
+
decisionScopes = [],
|
|
53
|
+
personalization = {},
|
|
54
|
+
onResponse = _index.noop,
|
|
55
|
+
onRequestFailure = _index.noop
|
|
56
|
+
}) {
|
|
58
57
|
// Include propositions on all responses, overridden with data as needed
|
|
59
|
-
onResponse(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
onRequestFailure(function () {
|
|
65
|
-
return showContainers();
|
|
66
|
-
});
|
|
58
|
+
onResponse(() => ({
|
|
59
|
+
propositions: []
|
|
60
|
+
}));
|
|
61
|
+
onRequestFailure(() => showContainers());
|
|
67
62
|
if (isAuthoringModeEnabled()) {
|
|
68
63
|
logger.warn(_loggerMessage.AUTHORING_ENABLED);
|
|
69
64
|
|
|
@@ -73,73 +68,69 @@ var _default = exports.default = function _default(_ref) {
|
|
|
73
68
|
});
|
|
74
69
|
return Promise.resolve();
|
|
75
70
|
}
|
|
76
|
-
|
|
77
|
-
getPageLocation
|
|
78
|
-
renderDecisions
|
|
79
|
-
decisionScopes
|
|
80
|
-
personalization
|
|
81
|
-
event
|
|
71
|
+
const personalizationDetails = (0, _createPersonalizationDetails.default)({
|
|
72
|
+
getPageLocation,
|
|
73
|
+
renderDecisions,
|
|
74
|
+
decisionScopes,
|
|
75
|
+
personalization,
|
|
76
|
+
event,
|
|
82
77
|
isCacheInitialized: viewCache.isInitialized(),
|
|
83
|
-
logger
|
|
78
|
+
logger
|
|
84
79
|
});
|
|
85
|
-
|
|
80
|
+
const decisionsMetaPromises = [];
|
|
86
81
|
if (personalizationDetails.shouldIncludeRenderedPropositions()) {
|
|
87
82
|
decisionsMetaPromises.push(renderedPropositions.clear());
|
|
88
83
|
}
|
|
89
84
|
if (personalizationDetails.shouldFetchData()) {
|
|
90
|
-
|
|
91
|
-
onRequestFailure(
|
|
92
|
-
return cacheUpdate.cancel();
|
|
93
|
-
});
|
|
85
|
+
const cacheUpdate = viewCache.createCacheUpdate(personalizationDetails.getViewName());
|
|
86
|
+
onRequestFailure(() => cacheUpdate.cancel());
|
|
94
87
|
fetchDataHandler({
|
|
95
|
-
cacheUpdate
|
|
96
|
-
personalizationDetails
|
|
97
|
-
event
|
|
98
|
-
onResponse
|
|
88
|
+
cacheUpdate,
|
|
89
|
+
personalizationDetails,
|
|
90
|
+
event,
|
|
91
|
+
onResponse
|
|
99
92
|
});
|
|
100
93
|
} else if (personalizationDetails.shouldUseCachedData()) {
|
|
101
94
|
// eslint-disable-next-line consistent-return
|
|
102
95
|
decisionsMetaPromises.push(viewChangeHandler({
|
|
103
|
-
personalizationDetails
|
|
104
|
-
event
|
|
105
|
-
onResponse
|
|
106
|
-
onRequestFailure
|
|
96
|
+
personalizationDetails,
|
|
97
|
+
event,
|
|
98
|
+
onResponse,
|
|
99
|
+
onRequestFailure
|
|
107
100
|
}));
|
|
108
101
|
}
|
|
109
102
|
|
|
110
103
|
// This promise.all waits for both the pending display notifications to be resolved
|
|
111
104
|
// (i.e. the top of page call to finish rendering) and the view change handler to
|
|
112
105
|
// finish rendering anything for this view.
|
|
113
|
-
return Promise.all(decisionsMetaPromises).then(
|
|
106
|
+
return Promise.all(decisionsMetaPromises).then(decisionsMetas => {
|
|
114
107
|
// We only want to call mergeDecisionsMeta once, but we can get the propositions
|
|
115
108
|
// from two places: the pending display notifications and the view change handler.
|
|
116
|
-
|
|
117
|
-
return dms;
|
|
118
|
-
});
|
|
109
|
+
const decisionsMeta = decisionsMetas.flatMap(dms => dms);
|
|
119
110
|
if ((0, _index.isNonEmptyArray)(decisionsMeta)) {
|
|
120
111
|
mergeDecisionsMeta(event, decisionsMeta, [_propositionEventType.PropositionEventType.DISPLAY]);
|
|
121
112
|
}
|
|
122
113
|
});
|
|
123
114
|
},
|
|
124
|
-
onClick
|
|
125
|
-
|
|
126
|
-
|
|
115
|
+
onClick({
|
|
116
|
+
event,
|
|
117
|
+
clickedElement
|
|
118
|
+
}) {
|
|
127
119
|
onClickHandler({
|
|
128
|
-
event
|
|
129
|
-
clickedElement
|
|
120
|
+
event,
|
|
121
|
+
clickedElement
|
|
130
122
|
});
|
|
131
123
|
}
|
|
132
124
|
},
|
|
133
125
|
commands: {
|
|
134
126
|
applyPropositions: {
|
|
135
|
-
optionsValidator:
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
},
|
|
127
|
+
optionsValidator: options => (0, _validateApplyPropositionsOptions.default)({
|
|
128
|
+
logger,
|
|
129
|
+
options
|
|
130
|
+
}),
|
|
141
131
|
run: applyPropositions
|
|
142
132
|
}
|
|
143
133
|
}
|
|
144
134
|
};
|
|
145
|
-
};
|
|
135
|
+
};
|
|
136
|
+
exports.default = _default;
|
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _index = require("../../utils/index.js");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
8
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
9
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
10
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /*
|
|
5
|
+
var _pageWideScope = require("../../constants/pageWideScope.js");
|
|
6
|
+
/*
|
|
11
7
|
Copyright 2023 Adobe. All rights reserved.
|
|
12
8
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
13
9
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -18,24 +14,29 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
18
14
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
19
15
|
governing permissions and limitations under the License.
|
|
20
16
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
17
|
+
|
|
18
|
+
const DECISIONS_HANDLE = "personalization:decisions";
|
|
19
|
+
var _default = ({
|
|
20
|
+
logger,
|
|
21
|
+
prehidingStyle,
|
|
22
|
+
showContainers,
|
|
23
|
+
hideContainers,
|
|
24
|
+
mergeQuery,
|
|
25
|
+
processPropositions,
|
|
26
|
+
createProposition,
|
|
27
|
+
notificationHandler,
|
|
28
|
+
consent
|
|
29
|
+
}) => {
|
|
30
|
+
return ({
|
|
31
|
+
cacheUpdate,
|
|
32
|
+
personalizationDetails,
|
|
33
|
+
event,
|
|
34
|
+
onResponse
|
|
35
|
+
}) => {
|
|
36
|
+
const {
|
|
37
|
+
state,
|
|
38
|
+
wasSet
|
|
39
|
+
} = consent.current();
|
|
39
40
|
if (!(state === "out" && wasSet)) {
|
|
40
41
|
if (personalizationDetails.isRenderDecisions()) {
|
|
41
42
|
hideContainers(prehidingStyle);
|
|
@@ -47,31 +48,59 @@ var _default = exports.default = function _default(_ref) {
|
|
|
47
48
|
|
|
48
49
|
// This needs to be called before the response so that future sendEvent calls
|
|
49
50
|
// can know to wait until this request is complete for pending display notifications.
|
|
50
|
-
|
|
51
|
-
onResponse(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
51
|
+
const handleNotifications = notificationHandler(personalizationDetails.isRenderDecisions(), personalizationDetails.isSendDisplayEvent(), personalizationDetails.getViewName());
|
|
52
|
+
onResponse(({
|
|
53
|
+
response
|
|
54
|
+
}) => {
|
|
55
|
+
const handles = response.getPayloadsByType(DECISIONS_HANDLE);
|
|
56
|
+
if (!(0, _index.isNonEmptyArray)(handles)) {
|
|
57
|
+
logger.logOnContentRendering({
|
|
58
|
+
status: "no-offers",
|
|
59
|
+
message: "No offers were returned.",
|
|
60
|
+
logLevel: "info",
|
|
61
|
+
detail: {
|
|
62
|
+
query: personalizationDetails.createQueryDetails()
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
const propositions = handles.map(handle => createProposition(handle));
|
|
67
|
+
const {
|
|
68
|
+
page: pagePropositions = [],
|
|
69
|
+
view: viewPropositions = [],
|
|
70
|
+
proposition: nonRenderedPropositions = []
|
|
71
|
+
} = (0, _index.groupBy)(propositions, p => p.getScopeType());
|
|
72
|
+
const currentViewPropositions = cacheUpdate.update(viewPropositions);
|
|
73
|
+
let render;
|
|
74
|
+
let returnedPropositions;
|
|
75
|
+
let returnedDecisions;
|
|
70
76
|
if (personalizationDetails.isRenderDecisions()) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
({
|
|
78
|
+
render,
|
|
79
|
+
returnedPropositions,
|
|
80
|
+
returnedDecisions
|
|
81
|
+
} = processPropositions([...pagePropositions, ...currentViewPropositions], nonRenderedPropositions));
|
|
82
|
+
if ((0, _index.isNonEmptyArray)(pagePropositions)) {
|
|
83
|
+
logger.logOnContentRendering({
|
|
84
|
+
status: "rendering-started",
|
|
85
|
+
message: "Started rendering propositions for page-wide scope.",
|
|
86
|
+
logLevel: "info",
|
|
87
|
+
detail: {
|
|
88
|
+
scope: _pageWideScope.default,
|
|
89
|
+
propositions: pagePropositions.map(proposition => proposition.toJSON())
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if ((0, _index.isNonEmptyArray)(currentViewPropositions)) {
|
|
94
|
+
logger.logOnContentRendering({
|
|
95
|
+
status: "rendering-started",
|
|
96
|
+
message: "Rendering propositions started for view scope - " + personalizationDetails.getViewName() + ".",
|
|
97
|
+
logLevel: "info",
|
|
98
|
+
detail: {
|
|
99
|
+
scope: personalizationDetails.getViewName(),
|
|
100
|
+
propositions: currentViewPropositions.map(proposition => proposition.toJSON())
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
75
104
|
render().then(handleNotifications);
|
|
76
105
|
|
|
77
106
|
// Render could take a long time especially if one of the renders
|
|
@@ -79,9 +108,10 @@ var _default = exports.default = function _default(_ref) {
|
|
|
79
108
|
// immediately, and whatever renders quickly will not have flicker.
|
|
80
109
|
showContainers();
|
|
81
110
|
} else {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
111
|
+
({
|
|
112
|
+
returnedPropositions,
|
|
113
|
+
returnedDecisions
|
|
114
|
+
} = processPropositions([], [...pagePropositions, ...currentViewPropositions, ...nonRenderedPropositions]));
|
|
85
115
|
}
|
|
86
116
|
return {
|
|
87
117
|
propositions: returnedPropositions,
|
|
@@ -89,4 +119,5 @@ var _default = exports.default = function _default(_ref) {
|
|
|
89
119
|
};
|
|
90
120
|
});
|
|
91
121
|
};
|
|
92
|
-
};
|
|
122
|
+
};
|
|
123
|
+
exports.default = _default;
|