@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
|
@@ -33,95 +33,94 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
33
33
|
governing permissions and limitations under the License.
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
const createIdentity = ({
|
|
37
|
+
config,
|
|
38
|
+
logger,
|
|
39
|
+
consent,
|
|
40
|
+
fireReferrerHideableImage,
|
|
41
|
+
sendEdgeNetworkRequest,
|
|
42
|
+
apexDomain
|
|
43
|
+
}) => {
|
|
44
|
+
const {
|
|
45
|
+
orgId,
|
|
46
|
+
thirdPartyCookiesEnabled,
|
|
47
|
+
edgeConfigOverrides: globalConfigOverrides
|
|
48
|
+
} = config;
|
|
49
|
+
const getEcidFromVisitor = (0, _injectGetEcidFromVisitor.default)({
|
|
50
|
+
logger,
|
|
51
|
+
orgId,
|
|
49
52
|
awaitVisitorOptIn: _awaitVisitorOptIn.default
|
|
50
53
|
});
|
|
51
|
-
|
|
52
|
-
logger
|
|
54
|
+
const loggingCookieJar = (0, _index.createLoggingCookieJar)({
|
|
55
|
+
logger,
|
|
53
56
|
cookieJar: _index.cookieJar
|
|
54
57
|
});
|
|
55
|
-
|
|
56
|
-
config
|
|
57
|
-
getEcidFromVisitor
|
|
58
|
-
apexDomain
|
|
58
|
+
const legacyIdentity = (0, _createLegacyIdentity.default)({
|
|
59
|
+
config,
|
|
60
|
+
getEcidFromVisitor,
|
|
61
|
+
apexDomain,
|
|
59
62
|
cookieJar: loggingCookieJar,
|
|
60
63
|
isPageSsl: window.location.protocol === "https:"
|
|
61
64
|
});
|
|
62
|
-
|
|
63
|
-
orgId
|
|
65
|
+
const doesIdentityCookieExist = (0, _index.injectDoesIdentityCookieExist)({
|
|
66
|
+
orgId
|
|
64
67
|
});
|
|
65
|
-
|
|
66
|
-
sendEdgeNetworkRequest
|
|
68
|
+
const getIdentity = (0, _createGetIdentity.default)({
|
|
69
|
+
sendEdgeNetworkRequest,
|
|
67
70
|
createIdentityRequestPayload: _createIdentityRequestPayload.default,
|
|
68
71
|
createIdentityRequest: _createIdentityRequest.default,
|
|
69
|
-
globalConfigOverrides
|
|
72
|
+
globalConfigOverrides
|
|
70
73
|
});
|
|
71
|
-
|
|
72
|
-
thirdPartyCookiesEnabled
|
|
74
|
+
const setDomainForInitialIdentityPayload = (0, _injectSetDomainForInitialIdentityPayload.default)({
|
|
75
|
+
thirdPartyCookiesEnabled,
|
|
73
76
|
areThirdPartyCookiesSupportedByDefault: _index.areThirdPartyCookiesSupportedByDefault
|
|
74
77
|
});
|
|
75
|
-
|
|
78
|
+
const addLegacyEcidToPayload = (0, _injectAddLegacyEcidToPayload.default)({
|
|
76
79
|
getLegacyEcid: legacyIdentity.getEcid,
|
|
77
80
|
addEcidToPayload: _addEcidToPayload.default
|
|
78
81
|
});
|
|
79
|
-
|
|
82
|
+
const addQueryStringIdentityToPayload = (0, _injectAddQueryStringIdentityToPayload.default)({
|
|
80
83
|
locationSearch: window.document.location.search,
|
|
81
|
-
dateProvider:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
orgId: orgId,
|
|
85
|
-
logger: logger
|
|
84
|
+
dateProvider: () => new Date(),
|
|
85
|
+
orgId,
|
|
86
|
+
logger
|
|
86
87
|
});
|
|
87
|
-
|
|
88
|
-
doesIdentityCookieExist
|
|
89
|
-
orgId
|
|
90
|
-
logger
|
|
88
|
+
const awaitIdentityCookie = (0, _injectAwaitIdentityCookie.default)({
|
|
89
|
+
doesIdentityCookieExist,
|
|
90
|
+
orgId,
|
|
91
|
+
logger
|
|
91
92
|
});
|
|
92
|
-
|
|
93
|
-
doesIdentityCookieExist
|
|
94
|
-
setDomainForInitialIdentityPayload
|
|
95
|
-
addLegacyEcidToPayload
|
|
96
|
-
awaitIdentityCookie
|
|
97
|
-
logger
|
|
93
|
+
const ensureSingleIdentity = (0, _injectEnsureSingleIdentity.default)({
|
|
94
|
+
doesIdentityCookieExist,
|
|
95
|
+
setDomainForInitialIdentityPayload,
|
|
96
|
+
addLegacyEcidToPayload,
|
|
97
|
+
awaitIdentityCookie,
|
|
98
|
+
logger
|
|
98
99
|
});
|
|
99
|
-
|
|
100
|
-
fireReferrerHideableImage
|
|
101
|
-
logger
|
|
100
|
+
const processIdSyncs = (0, _injectProcessIdSyncs.default)({
|
|
101
|
+
fireReferrerHideableImage,
|
|
102
|
+
logger
|
|
102
103
|
});
|
|
103
|
-
|
|
104
|
-
processIdSyncs
|
|
104
|
+
const handleResponseForIdSyncs = (0, _injectHandleResponseForIdSyncs.default)({
|
|
105
|
+
processIdSyncs
|
|
105
106
|
});
|
|
106
|
-
|
|
107
|
-
dateProvider:
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
orgId: orgId,
|
|
111
|
-
globalConfigOverrides: globalConfigOverrides
|
|
107
|
+
const appendIdentityToUrl = (0, _injectAppendIdentityToUrl.default)({
|
|
108
|
+
dateProvider: () => new Date(),
|
|
109
|
+
orgId,
|
|
110
|
+
globalConfigOverrides
|
|
112
111
|
});
|
|
113
112
|
return (0, _createComponent.default)({
|
|
114
113
|
addEcidQueryToPayload: _addEcidQueryToPayload.default,
|
|
115
|
-
addQueryStringIdentityToPayload
|
|
116
|
-
ensureSingleIdentity
|
|
114
|
+
addQueryStringIdentityToPayload,
|
|
115
|
+
ensureSingleIdentity,
|
|
117
116
|
setLegacyEcid: legacyIdentity.setEcid,
|
|
118
|
-
handleResponseForIdSyncs
|
|
117
|
+
handleResponseForIdSyncs,
|
|
119
118
|
getEcidFromResponse: _getEcidFromResponse.default,
|
|
120
|
-
getIdentity
|
|
121
|
-
consent
|
|
122
|
-
appendIdentityToUrl
|
|
123
|
-
logger
|
|
124
|
-
config
|
|
119
|
+
getIdentity,
|
|
120
|
+
consent,
|
|
121
|
+
appendIdentityToUrl,
|
|
122
|
+
logger,
|
|
123
|
+
config
|
|
125
124
|
});
|
|
126
125
|
};
|
|
127
126
|
createIdentity.namespace = "Identity";
|
|
@@ -13,19 +13,21 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
var _default = ({
|
|
17
|
+
getLegacyEcid,
|
|
18
|
+
addEcidToPayload
|
|
19
|
+
}) => {
|
|
20
|
+
return payload => {
|
|
20
21
|
if (payload.hasIdentity(_ecidNamespace.default)) {
|
|
21
22
|
// don't get the legacy identity if we already have the query string identity or if
|
|
22
23
|
// the user specified it in the identity map
|
|
23
24
|
return Promise.resolve();
|
|
24
25
|
}
|
|
25
|
-
return getLegacyEcid().then(
|
|
26
|
+
return getLegacyEcid().then(ecidToMigrate => {
|
|
26
27
|
if (ecidToMigrate) {
|
|
27
28
|
addEcidToPayload(payload, ecidToMigrate);
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
31
|
};
|
|
31
|
-
};
|
|
32
|
+
};
|
|
33
|
+
exports.default = _default;
|
|
@@ -4,12 +4,7 @@ exports.default = void 0;
|
|
|
4
4
|
var _index = require("../../utils/index.js");
|
|
5
5
|
var _queryStringIdentityParam = require("../../constants/queryStringIdentityParam.js");
|
|
6
6
|
var _ecidNamespace = require("../../constants/ecidNamespace.js");
|
|
7
|
-
|
|
8
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
-
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; } }
|
|
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; }
|
|
11
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
7
|
+
/*
|
|
13
8
|
Copyright 2023 Adobe. All rights reserved.
|
|
14
9
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
15
10
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -19,50 +14,49 @@ Unless required by applicable law or agreed to in writing, software distributed
|
|
|
19
14
|
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
20
15
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
21
16
|
governing permissions and limitations under the License.
|
|
22
|
-
*/
|
|
17
|
+
*/
|
|
18
|
+
// Example: adobe_mc=TS%3D1641432103%7CMCMID%3D77094828402023918047117570965393734545%7CMCORGID%3DFAF554945B90342F0A495E2C%40AdobeOrg
|
|
23
19
|
// Decoded: adobe_mc=TS=1641432103|MCMID=77094828402023918047117570965393734545|MCORGID=FAF554945B90342F0A495E2C@AdobeOrg
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
};
|
|
68
|
-
};
|
|
20
|
+
|
|
21
|
+
const LINK_TTL_SECONDS = 300; // 5 minute link time to live
|
|
22
|
+
var _default = ({
|
|
23
|
+
locationSearch,
|
|
24
|
+
dateProvider,
|
|
25
|
+
orgId,
|
|
26
|
+
logger
|
|
27
|
+
}) => payload => {
|
|
28
|
+
if (payload.hasIdentity(_ecidNamespace.default)) {
|
|
29
|
+
// don't overwrite a user provided ecid identity
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const parsedQueryString = _index.queryString.parse(locationSearch);
|
|
33
|
+
let queryStringValue = parsedQueryString[_queryStringIdentityParam.default];
|
|
34
|
+
if (queryStringValue === undefined) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (Array.isArray(queryStringValue)) {
|
|
38
|
+
logger.warn("Found multiple adobe_mc query string paramters, only using the last one.");
|
|
39
|
+
queryStringValue = queryStringValue[queryStringValue.length - 1];
|
|
40
|
+
}
|
|
41
|
+
const properties = queryStringValue.split("|").reduce((memo, keyValue) => {
|
|
42
|
+
const [key, value] = keyValue.split("=");
|
|
43
|
+
memo[key] = value;
|
|
44
|
+
return memo;
|
|
45
|
+
}, {});
|
|
46
|
+
// We are using MCMID and MCORGID to be compatible with Visitor.
|
|
47
|
+
const ts = parseInt(properties.TS, 10);
|
|
48
|
+
const mcmid = properties.MCMID;
|
|
49
|
+
const mcorgid = decodeURIComponent(properties.MCORGID);
|
|
50
|
+
if (
|
|
51
|
+
// When TS is not specified or not a number, the following inequality returns false.
|
|
52
|
+
// All inequalities with NaN variables are false.
|
|
53
|
+
dateProvider().getTime() / 1000 <= ts + LINK_TTL_SECONDS && mcorgid === orgId && mcmid) {
|
|
54
|
+
logger.info("Found valid ECID identity " + mcmid + " from the adobe_mc query string parameter.");
|
|
55
|
+
payload.addIdentity(_ecidNamespace.default, {
|
|
56
|
+
id: mcmid
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
logger.info("Detected invalid or expired adobe_mc query string parameter.");
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.default = _default;
|
|
@@ -12,20 +12,22 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
12
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
13
|
governing permissions and limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
var _default =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
var _default = ({
|
|
16
|
+
doesIdentityCookieExist,
|
|
17
|
+
orgId,
|
|
18
|
+
logger
|
|
19
|
+
}) => {
|
|
19
20
|
/**
|
|
20
21
|
* Returns a promise that will be resolved once an identity cookie exists.
|
|
21
22
|
* If an identity cookie doesn't already exist, it should always exist after
|
|
22
23
|
* the first response.
|
|
23
24
|
*/
|
|
24
|
-
return
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
return ({
|
|
26
|
+
onResponse,
|
|
27
|
+
onRequestFailure
|
|
28
|
+
}) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
onResponse(() => {
|
|
29
31
|
if (doesIdentityCookieExist()) {
|
|
30
32
|
resolve();
|
|
31
33
|
} else {
|
|
@@ -38,7 +40,7 @@ var _default = exports.default = function _default(_ref) {
|
|
|
38
40
|
reject(new Error("Identity cookie not found."));
|
|
39
41
|
}
|
|
40
42
|
});
|
|
41
|
-
onRequestFailure(
|
|
43
|
+
onRequestFailure(() => {
|
|
42
44
|
if (doesIdentityCookieExist()) {
|
|
43
45
|
resolve();
|
|
44
46
|
} else {
|
|
@@ -49,4 +51,5 @@ var _default = exports.default = function _default(_ref) {
|
|
|
49
51
|
});
|
|
50
52
|
});
|
|
51
53
|
};
|
|
52
|
-
};
|
|
54
|
+
};
|
|
55
|
+
exports.default = _default;
|
|
@@ -13,14 +13,15 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
13
13
|
governing permissions and limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
// TO-DOCUMENT: We queue subsequent requests until we have an identity cookie.
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
var _default = ({
|
|
17
|
+
doesIdentityCookieExist,
|
|
18
|
+
setDomainForInitialIdentityPayload,
|
|
19
|
+
addLegacyEcidToPayload,
|
|
20
|
+
awaitIdentityCookie,
|
|
21
|
+
logger
|
|
22
|
+
}) => {
|
|
23
|
+
let obtainedIdentityPromise;
|
|
24
|
+
const allowRequestToGoWithoutIdentity = request => {
|
|
24
25
|
setDomainForInitialIdentityPayload(request);
|
|
25
26
|
return addLegacyEcidToPayload(request.getPayload());
|
|
26
27
|
};
|
|
@@ -44,10 +45,11 @@ var _default = exports.default = function _default(_ref) {
|
|
|
44
45
|
* an identity is to prevent a single malformed request causing all other
|
|
45
46
|
* requests to never send.
|
|
46
47
|
*/
|
|
47
|
-
return
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
return ({
|
|
49
|
+
request,
|
|
50
|
+
onResponse,
|
|
51
|
+
onRequestFailure
|
|
52
|
+
}) => {
|
|
51
53
|
if (doesIdentityCookieExist()) {
|
|
52
54
|
request.setIsIdentityEstablished();
|
|
53
55
|
return Promise.resolve();
|
|
@@ -58,27 +60,27 @@ var _default = exports.default = function _default(_ref) {
|
|
|
58
60
|
// response. We will hold up this request until the previous request
|
|
59
61
|
// returns and awaitIdentityCookie confirms the identity was set.
|
|
60
62
|
logger.info("Delaying request while retrieving ECID from server.");
|
|
61
|
-
|
|
63
|
+
const previousObtainedIdentityPromise = obtainedIdentityPromise;
|
|
62
64
|
|
|
63
65
|
// This promise resolves when we have an identity cookie. Additional
|
|
64
66
|
// requests are chained together so that only one is sent at a time
|
|
65
67
|
// until we have the identity cookie.
|
|
66
|
-
obtainedIdentityPromise = previousObtainedIdentityPromise.catch(
|
|
68
|
+
obtainedIdentityPromise = previousObtainedIdentityPromise.catch(() => {
|
|
67
69
|
return awaitIdentityCookie({
|
|
68
|
-
onResponse
|
|
69
|
-
onRequestFailure
|
|
70
|
+
onResponse,
|
|
71
|
+
onRequestFailure
|
|
70
72
|
});
|
|
71
73
|
});
|
|
72
74
|
|
|
73
75
|
// When this returned promise resolves, the request will go out.
|
|
74
|
-
return previousObtainedIdentityPromise.then(
|
|
76
|
+
return previousObtainedIdentityPromise.then(() => {
|
|
75
77
|
logger.info("Resuming previously delayed request.");
|
|
76
78
|
request.setIsIdentityEstablished();
|
|
77
79
|
})
|
|
78
80
|
// If Konductor did not set the identity cookie on the previous
|
|
79
81
|
// request, then awaitIdentityCookie will reject its promise.
|
|
80
82
|
// Catch the rejection here and allow this request to go out.
|
|
81
|
-
.catch(
|
|
83
|
+
.catch(() => {
|
|
82
84
|
return allowRequestToGoWithoutIdentity(request);
|
|
83
85
|
});
|
|
84
86
|
}
|
|
@@ -88,13 +90,12 @@ var _default = exports.default = function _default(_ref) {
|
|
|
88
90
|
// be sent in parallel, we'll let this request go out to fetch the
|
|
89
91
|
// cookie
|
|
90
92
|
obtainedIdentityPromise = awaitIdentityCookie({
|
|
91
|
-
onResponse
|
|
92
|
-
onRequestFailure
|
|
93
|
+
onResponse,
|
|
94
|
+
onRequestFailure
|
|
93
95
|
});
|
|
94
96
|
// This prevents an un-caught promise in the console when the identity isn't set.
|
|
95
|
-
obtainedIdentityPromise.catch(
|
|
96
|
-
return undefined;
|
|
97
|
-
});
|
|
97
|
+
obtainedIdentityPromise.catch(() => undefined);
|
|
98
98
|
return allowRequestToGoWithoutIdentity(request);
|
|
99
99
|
};
|
|
100
|
-
};
|
|
100
|
+
};
|
|
101
|
+
exports.default = _default;
|
|
@@ -12,9 +12,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
12
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
13
|
governing permissions and limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
var _default =
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
var _default = ({
|
|
16
|
+
processIdSyncs
|
|
17
|
+
}) => {
|
|
18
|
+
return response => {
|
|
18
19
|
return processIdSyncs(response.getPayloadsByType("identity:exchange"));
|
|
19
20
|
};
|
|
20
|
-
};
|
|
21
|
+
};
|
|
22
|
+
exports.default = _default;
|
|
@@ -14,28 +14,26 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
const createResultLogMessage = (idSync, success) => {
|
|
18
18
|
return "ID sync " + (success ? "succeeded" : "failed") + ": " + idSync.spec.url;
|
|
19
19
|
};
|
|
20
|
-
var _default =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
var _default = ({
|
|
21
|
+
fireReferrerHideableImage,
|
|
22
|
+
logger
|
|
23
|
+
}) => idSyncs => {
|
|
24
|
+
const urlIdSyncs = idSyncs.filter(idSync => idSync.type === "url");
|
|
25
|
+
if (!urlIdSyncs.length) {
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
return Promise.all(urlIdSyncs.map(idSync => {
|
|
29
|
+
return fireReferrerHideableImage(idSync.spec).then(() => {
|
|
30
|
+
logger.info(createResultLogMessage(idSync, true));
|
|
31
|
+
}).catch(() => {
|
|
32
|
+
// We intentionally do not throw an error if id syncs fail. We
|
|
33
|
+
// consider it a non-critical failure and therefore do not want it to
|
|
34
|
+
// reject the promise handed back to the customer.
|
|
35
|
+
logger.error(createResultLogMessage(idSync, false));
|
|
26
36
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return Promise.all(urlIdSyncs.map(function (idSync) {
|
|
31
|
-
return fireReferrerHideableImage(idSync.spec).then(function () {
|
|
32
|
-
logger.info(createResultLogMessage(idSync, true));
|
|
33
|
-
}).catch(function () {
|
|
34
|
-
// We intentionally do not throw an error if id syncs fail. We
|
|
35
|
-
// consider it a non-critical failure and therefore do not want it to
|
|
36
|
-
// reject the promise handed back to the customer.
|
|
37
|
-
logger.error(createResultLogMessage(idSync, false));
|
|
38
|
-
});
|
|
39
|
-
})).then(_index.noop);
|
|
40
|
-
};
|
|
41
|
-
};
|
|
37
|
+
})).then(_index.noop);
|
|
38
|
+
};
|
|
39
|
+
exports.default = _default;
|
|
@@ -13,10 +13,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
var _default = ({
|
|
17
|
+
thirdPartyCookiesEnabled,
|
|
18
|
+
areThirdPartyCookiesSupportedByDefault
|
|
19
|
+
}) => {
|
|
20
|
+
return request => {
|
|
20
21
|
if (thirdPartyCookiesEnabled && areThirdPartyCookiesSupportedByDefault((0, _getBrowser.default)(window))) {
|
|
21
22
|
// If third-party cookies are enabled by the customer and
|
|
22
23
|
// supported by the browser, we will send the request to a
|
|
@@ -30,4 +31,5 @@ var _default = exports.default = function _default(_ref) {
|
|
|
30
31
|
request.setUseIdThirdPartyDomain();
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
|
-
};
|
|
34
|
+
};
|
|
35
|
+
exports.default = _default;
|
|
@@ -13,13 +13,14 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
var _default = ({
|
|
17
|
+
logger
|
|
18
|
+
}) => {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
19
20
|
if ((0, _index.isObject)(window.adobe) && (0, _index.isObject)(window.adobe.optIn)) {
|
|
20
|
-
|
|
21
|
+
const optInOld = window.adobe.optIn;
|
|
21
22
|
logger.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server.");
|
|
22
|
-
optInOld.fetchPermissions(
|
|
23
|
+
optInOld.fetchPermissions(() => {
|
|
23
24
|
if (optInOld.isApproved([optInOld.Categories.ECID])) {
|
|
24
25
|
logger.info("Received legacy opt-in approval to let Visitor retrieve ECID from server.");
|
|
25
26
|
resolve();
|
|
@@ -31,4 +32,5 @@ var _default = exports.default = function _default(_ref) {
|
|
|
31
32
|
resolve();
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
|
-
};
|
|
35
|
+
};
|
|
36
|
+
exports.default = _default;
|
|
@@ -13,7 +13,8 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
16
|
+
var _default = window => {
|
|
17
|
+
const Visitor = window.Visitor;
|
|
18
18
|
return (0, _index.isFunction)(Visitor) && (0, _index.isFunction)(Visitor.getInstance) && Visitor;
|
|
19
|
-
};
|
|
19
|
+
};
|
|
20
|
+
exports.default = _default;
|
|
@@ -13,27 +13,28 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
var _default = ({
|
|
17
|
+
logger,
|
|
18
|
+
orgId,
|
|
19
|
+
awaitVisitorOptIn
|
|
20
|
+
}) => {
|
|
21
|
+
return () => {
|
|
22
|
+
const Visitor = (0, _getVisitor.default)(window);
|
|
22
23
|
if (Visitor) {
|
|
23
24
|
// Need to explicitly wait for optIn because visitor will call callback
|
|
24
25
|
// with invalid values prior to optIn being approved
|
|
25
26
|
return awaitVisitorOptIn({
|
|
26
|
-
logger
|
|
27
|
-
}).then(
|
|
27
|
+
logger
|
|
28
|
+
}).then(() => {
|
|
28
29
|
logger.info("Delaying request while using Visitor to retrieve ECID from server.");
|
|
29
|
-
return new Promise(
|
|
30
|
-
|
|
31
|
-
visitor.getMarketingCloudVisitorID(
|
|
30
|
+
return new Promise(resolve => {
|
|
31
|
+
const visitor = Visitor.getInstance(orgId, {});
|
|
32
|
+
visitor.getMarketingCloudVisitorID(ecid => {
|
|
32
33
|
logger.info("Resuming previously delayed request that was waiting for ECID from Visitor.");
|
|
33
34
|
resolve(ecid);
|
|
34
35
|
}, true);
|
|
35
36
|
});
|
|
36
|
-
}).catch(
|
|
37
|
+
}).catch(error => {
|
|
37
38
|
// If consent was denied, get the ECID from experience edge. OptIn and AEP Web SDK
|
|
38
39
|
// consent should operate independently, but during id migration AEP Web SDK needs
|
|
39
40
|
// to wait for optIn object consent resolution so that only one ECID is generated.
|
|
@@ -46,4 +47,5 @@ var _default = exports.default = function _default(_ref) {
|
|
|
46
47
|
}
|
|
47
48
|
return Promise.resolve();
|
|
48
49
|
};
|
|
49
|
-
};
|
|
50
|
+
};
|
|
51
|
+
exports.default = _default;
|