@adobe/alloy 2.19.0-beta.0 → 2.19.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/libEs5/baseCode/index.js +2 -12
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
- package/libEs5/components/ActivityCollector/configValidators.js +1 -4
- package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
- package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
- package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
- package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
- package/libEs5/components/ActivityCollector/index.js +8 -18
- package/libEs5/components/ActivityCollector/utils.js +3 -40
- package/libEs5/components/Audiences/index.js +2 -8
- package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
- package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
- package/libEs5/components/Context/createComponent.js +0 -4
- package/libEs5/components/Context/implementationDetails.js +0 -5
- package/libEs5/components/Context/index.js +12 -19
- package/libEs5/components/Context/injectDevice.js +3 -20
- package/libEs5/components/Context/injectEnvironment.js +1 -8
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
- package/libEs5/components/Context/injectPlaceContext.js +2 -8
- package/libEs5/components/Context/injectTimestamp.js +0 -3
- package/libEs5/components/Context/injectWeb.js +0 -3
- package/libEs5/components/DataCollector/index.js +24 -45
- package/libEs5/components/DataCollector/validateApplyResponse.js +2 -5
- package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -9
- package/libEs5/components/EventMerge/createComponent.js +0 -2
- package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
- package/libEs5/components/EventMerge/index.js +1 -4
- package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
- package/libEs5/components/Identity/addEcidToPayload.js +0 -3
- package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
- package/libEs5/components/Identity/configValidators.js +1 -2
- package/libEs5/components/Identity/constants/authState.js +1 -1
- package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
- package/libEs5/components/Identity/createComponent.js +16 -22
- package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
- package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
- package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
- package/libEs5/components/Identity/index.js +8 -29
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
- package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
- package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
- package/libEs5/components/LibraryInfo/index.js +13 -21
- package/libEs5/components/MachineLearning/index.js +1 -3
- package/libEs5/components/MachineLearning/processResponse.js +0 -2
- package/libEs5/components/Personalization/constants/eventType.js +1 -1
- package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
- package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
- package/libEs5/components/Personalization/constants/schema.js +1 -1
- package/libEs5/components/Personalization/constants/scopeType.js +7 -3
- package/libEs5/components/Personalization/constants/surface.js +1 -1
- package/libEs5/components/Personalization/createApplyPropositions.js +29 -40
- package/libEs5/components/Personalization/createClickStorage.js +22 -23
- package/libEs5/components/Personalization/createCollect.js +5 -15
- package/libEs5/components/Personalization/createComponent.js +43 -42
- package/libEs5/components/Personalization/createFetchDataHandler.js +41 -50
- package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
- package/libEs5/components/Personalization/createOnClickHandler.js +9 -20
- package/libEs5/components/Personalization/createPersonalizationDetails.js +23 -35
- package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
- package/libEs5/components/Personalization/createViewCacheManager.js +13 -26
- package/libEs5/components/Personalization/createViewChangeHandler.js +3 -15
- package/libEs5/components/Personalization/dom-actions/action.js +3 -19
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +46 -37
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +0 -4
- package/libEs5/components/Personalization/{utils/isPageWideScope.js → dom-actions/createRedirect.js} +10 -9
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
- package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
- package/libEs5/components/Personalization/dom-actions/images.js +1 -11
- package/libEs5/components/Personalization/dom-actions/index.js +0 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +0 -4
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -16
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
- package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
- package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
- package/libEs5/components/Personalization/event.js +2 -10
- package/libEs5/components/Personalization/flicker/index.js +17 -31
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +23 -15
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +11 -10
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +8 -53
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +10 -9
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +32 -40
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +0 -2
- package/libEs5/components/Personalization/index.js +25 -55
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
- package/libEs5/components/Personalization/utils/createAsyncArray.js +0 -3
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
- package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +2 -6
- package/libEs5/components/Privacy/computeConsentHash.js +11 -8
- package/libEs5/components/Privacy/createComponent.js +24 -26
- package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
- package/libEs5/components/Privacy/createConsentRequest.js +1 -4
- package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
- package/libEs5/components/Privacy/createStoredConsent.js +2 -6
- package/libEs5/components/Privacy/index.js +5 -15
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
- package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
- package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
- package/libEs5/constants/apiVersion.js +0 -1
- package/libEs5/constants/browser.js +1 -1
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +1 -1
- package/libEs5/constants/cookieNameKey.js +1 -1
- package/libEs5/constants/cookieNamePrefix.js +0 -1
- package/libEs5/constants/coreCommands.js +1 -1
- package/libEs5/constants/debugQueryParam.js +0 -1
- package/libEs5/constants/domain.js +1 -1
- package/libEs5/constants/ecidNamespace.js +0 -1
- package/libEs5/constants/edgeBasePath.js +0 -1
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
- package/libEs5/constants/httpHeaderNames.js +1 -1
- package/libEs5/constants/httpStatusCode.js +1 -1
- package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
- package/libEs5/constants/legacyCookies.js +1 -1
- package/libEs5/constants/libraryName.js +0 -1
- package/libEs5/constants/libraryVersion.js +1 -2
- package/libEs5/constants/namespace.js +0 -1
- package/libEs5/constants/pageWideScope.js +0 -1
- package/libEs5/constants/queryStringIdentityParam.js +0 -1
- package/libEs5/constants/shadowSeparator.js +0 -1
- package/libEs5/constants/tagName.js +1 -1
- package/libEs5/core/buildAndValidateConfig.js +21 -32
- package/libEs5/core/componentCreators.js +0 -12
- package/libEs5/core/config/createConfig.js +1 -3
- package/libEs5/core/config/createCoreConfigs.js +0 -7
- package/libEs5/core/consent/createConsent.js +1 -11
- package/libEs5/core/consent/createConsentStateMachine.js +1 -18
- package/libEs5/core/createComponentRegistry.js +4 -14
- package/libEs5/core/createCookieTransfer.js +9 -18
- package/libEs5/core/createEvent.js +25 -34
- package/libEs5/core/createEventManager.js +39 -53
- package/libEs5/core/createInstanceFunction.js +0 -2
- package/libEs5/core/createLifecycle.js +14 -14
- package/libEs5/core/createLogController.js +5 -17
- package/libEs5/core/createLogger.js +3 -17
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
- package/libEs5/core/index.js +12 -54
- package/libEs5/core/initializeComponents.js +5 -10
- package/libEs5/core/injectCreateResponse.js +8 -16
- package/libEs5/core/injectExecuteCommand.js +8 -19
- package/libEs5/core/injectHandleError.js +4 -8
- package/libEs5/core/injectShouldTransferCookie.js +1 -5
- package/libEs5/core/network/getRequestRetryDelay.js +10 -17
- package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
- package/libEs5/core/network/isRequestRetryable.js +5 -7
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
- package/libEs5/core/validateCommandOptions.js +5 -9
- package/libEs5/index.js +7 -15
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
- package/libEs5/utils/assign.js +0 -2
- package/libEs5/utils/assignIf.js +0 -4
- package/libEs5/utils/clone.js +0 -3
- package/libEs5/utils/cookieJar.js +0 -2
- package/libEs5/utils/crc32.js +0 -8
- package/libEs5/utils/createCallbackAggregator.js +0 -4
- package/libEs5/utils/createLoggingCookieJar.js +1 -6
- package/libEs5/utils/createMerger.js +0 -4
- package/libEs5/utils/createTaskQueue.js +0 -7
- package/libEs5/utils/deduplicateArray.js +0 -5
- package/libEs5/utils/deepAssign.js +2 -10
- package/libEs5/utils/defer.js +0 -3
- package/libEs5/utils/dom/appendNode.js +0 -2
- package/libEs5/utils/dom/awaitSelector.js +1 -29
- package/libEs5/utils/dom/createNode.js +1 -5
- package/libEs5/utils/dom/index.js +0 -8
- package/libEs5/utils/dom/isShadowSelector.js +0 -3
- package/libEs5/utils/dom/matchesSelector.js +2 -5
- package/libEs5/utils/dom/querySelectorAll.js +3 -6
- package/libEs5/utils/dom/removeNode.js +0 -4
- package/libEs5/utils/dom/selectNodes.js +0 -8
- package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
- package/libEs5/utils/endsWith.js +0 -3
- package/libEs5/utils/filterObject.js +13 -17
- package/libEs5/utils/find.js +0 -5
- package/libEs5/utils/fireImage.js +2 -7
- package/libEs5/utils/flatMap.js +0 -2
- package/libEs5/utils/getApexDomain.js +4 -8
- package/libEs5/utils/getBrowser.js +11 -11
- package/libEs5/utils/getLastArrayItems.js +0 -3
- package/libEs5/utils/getNamespacedCookieName.js +0 -4
- package/libEs5/utils/groupBy.js +0 -5
- package/libEs5/utils/includes.js +0 -3
- package/libEs5/utils/index.js +0 -56
- package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
- package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
- package/libEs5/utils/injectStorage.js +1 -7
- package/libEs5/utils/intersection.js +0 -4
- package/libEs5/utils/isBlankString.js +0 -4
- package/libEs5/utils/isBoolean.js +0 -3
- package/libEs5/utils/isEmptyObject.js +0 -4
- package/libEs5/utils/isFunction.js +0 -3
- package/libEs5/utils/isInteger.js +0 -4
- package/libEs5/utils/isNamespacedCookieName.js +0 -5
- package/libEs5/utils/isNil.js +0 -3
- package/libEs5/utils/isNonEmptyArray.js +0 -3
- package/libEs5/utils/isNonEmptyString.js +0 -4
- package/libEs5/utils/isNumber.js +0 -3
- package/libEs5/utils/isObject.js +11 -5
- package/libEs5/utils/isString.js +0 -3
- package/libEs5/utils/isUnique.js +0 -7
- package/libEs5/utils/isValidRegExp.js +0 -3
- package/libEs5/utils/memoize.js +0 -5
- package/libEs5/utils/noop.js +0 -3
- package/libEs5/utils/padStart.js +0 -6
- package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
- package/libEs5/utils/querystring.js +0 -2
- package/libEs5/utils/request/createAddIdentity.js +0 -2
- package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
- package/libEs5/utils/request/createHasIdentity.js +0 -2
- package/libEs5/utils/request/createRequest.js +3 -6
- package/libEs5/utils/request/createRequestParams.js +4 -12
- package/libEs5/utils/request/createRequestPayload.js +2 -7
- package/libEs5/utils/request/index.js +0 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
- package/libEs5/utils/stackError.js +1 -6
- package/libEs5/utils/startsWith.js +0 -3
- package/libEs5/utils/stringToBoolean.js +0 -3
- package/libEs5/utils/toArray.js +0 -4
- package/libEs5/utils/toError.js +0 -3
- package/libEs5/utils/toISOStringLocal.js +3 -7
- package/libEs5/utils/toInteger.js +2 -8
- package/libEs5/utils/updateErrorMessage.js +3 -5
- package/libEs5/utils/uuid.js +0 -2
- package/libEs5/utils/validateConfigOverride.js +0 -3
- package/libEs5/utils/validateIdentityMap.js +0 -4
- package/libEs5/utils/validation/booleanValidator.js +0 -4
- package/libEs5/utils/validation/callbackValidator.js +0 -4
- package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
- package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
- package/libEs5/utils/validation/createDefaultValidator.js +0 -3
- package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
- package/libEs5/utils/validation/createLiteralValidator.js +0 -3
- package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
- package/libEs5/utils/validation/createMinimumValidator.js +0 -3
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
- package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
- package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
- package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
- package/libEs5/utils/validation/createUniqueValidator.js +0 -3
- package/libEs5/utils/validation/domainValidator.js +1 -4
- package/libEs5/utils/validation/index.js +76 -59
- package/libEs5/utils/validation/integerValidator.js +0 -4
- package/libEs5/utils/validation/numberValidator.js +0 -4
- package/libEs5/utils/validation/regexpValidator.js +0 -4
- package/libEs5/utils/validation/requiredValidator.js +0 -3
- package/libEs5/utils/validation/stringValidator.js +0 -4
- package/libEs5/utils/validation/utils.js +7 -21
- package/libEs5/utils/values.js +0 -3
- package/libEs6/baseCode/index.js +3 -8
- package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
- package/libEs6/components/ActivityCollector/configValidators.js +1 -0
- package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
- package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
- package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
- package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
- package/libEs6/components/ActivityCollector/index.js +3 -6
- package/libEs6/components/ActivityCollector/utils.js +2 -29
- package/libEs6/components/Audiences/index.js +1 -2
- package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
- package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
- package/libEs6/components/Context/createComponent.js +1 -2
- package/libEs6/components/Context/index.js +3 -3
- package/libEs6/components/Context/injectDevice.js +1 -16
- package/libEs6/components/Context/injectEnvironment.js +1 -4
- package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
- package/libEs6/components/Context/injectPlaceContext.js +2 -5
- package/libEs6/components/Context/injectTimestamp.js +1 -0
- package/libEs6/components/Context/injectWeb.js +1 -0
- package/libEs6/components/DataCollector/index.js +8 -25
- package/libEs6/components/DataCollector/validateApplyResponse.js +2 -2
- package/libEs6/components/DataCollector/validateUserEventOptions.js +7 -5
- package/libEs6/components/EventMerge/createComponent.js +1 -0
- package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
- package/libEs6/components/EventMerge/index.js +1 -2
- package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
- package/libEs6/components/Identity/addEcidToPayload.js +1 -0
- package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
- package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
- package/libEs6/components/Identity/configValidators.js +1 -0
- package/libEs6/components/Identity/constants/authState.js +1 -0
- package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
- package/libEs6/components/Identity/createComponent.js +5 -7
- package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
- package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
- package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
- package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
- package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
- package/libEs6/components/Identity/index.js +1 -2
- package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
- package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
- package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
- package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
- package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
- package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
- package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
- package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
- package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
- package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
- package/libEs6/components/LibraryInfo/index.js +3 -6
- package/libEs6/components/MachineLearning/index.js +1 -2
- package/libEs6/components/MachineLearning/processResponse.js +1 -0
- package/libEs6/components/Personalization/constants/eventType.js +1 -0
- package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
- package/libEs6/components/Personalization/constants/schema.js +1 -0
- package/libEs6/components/Personalization/constants/scopeType.js +4 -1
- package/libEs6/components/Personalization/constants/surface.js +1 -0
- package/libEs6/components/Personalization/createApplyPropositions.js +14 -14
- package/libEs6/components/Personalization/createClickStorage.js +19 -18
- package/libEs6/components/Personalization/createCollect.js +0 -5
- package/libEs6/components/Personalization/createComponent.js +23 -20
- package/libEs6/components/Personalization/createFetchDataHandler.js +13 -17
- package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
- package/libEs6/components/Personalization/createOnClickHandler.js +6 -10
- package/libEs6/components/Personalization/createPersonalizationDetails.js +7 -28
- package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
- package/libEs6/components/Personalization/createViewCacheManager.js +11 -22
- package/libEs6/components/Personalization/createViewChangeHandler.js +1 -7
- package/libEs6/components/Personalization/dom-actions/action.js +1 -2
- package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
- package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +30 -26
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +0 -1
- package/libEs6/components/Personalization/{utils/isPageWideScope.js → dom-actions/createRedirect.js} +8 -4
- package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
- package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
- package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
- package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
- package/libEs6/components/Personalization/dom-actions/images.js +1 -1
- package/libEs6/components/Personalization/dom-actions/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
- package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
- package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +1 -7
- package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
- package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
- package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
- package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
- package/libEs6/components/Personalization/event.js +4 -4
- package/libEs6/components/Personalization/flicker/index.js +9 -12
- package/libEs6/components/Personalization/handlers/createProcessDomAction.js +17 -9
- package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +8 -5
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +3 -30
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +7 -4
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +17 -36
- package/libEs6/components/Personalization/index.js +9 -13
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
- package/libEs6/components/Personalization/utils/createAsyncArray.js +0 -2
- package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
- package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
- package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +0 -1
- package/libEs6/components/Privacy/computeConsentHash.js +3 -4
- package/libEs6/components/Privacy/createComponent.js +5 -10
- package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
- package/libEs6/components/Privacy/createConsentRequest.js +1 -3
- package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
- package/libEs6/components/Privacy/createStoredConsent.js +1 -2
- package/libEs6/components/Privacy/index.js +1 -2
- package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
- package/libEs6/constants/browser.js +1 -0
- package/libEs6/constants/consentPurpose.js +1 -0
- package/libEs6/constants/consentStatus.js +1 -0
- package/libEs6/constants/cookieNameKey.js +1 -0
- package/libEs6/constants/cookieNamePrefix.js +1 -0
- package/libEs6/constants/coreCommands.js +1 -0
- package/libEs6/constants/debugQueryParam.js +1 -0
- package/libEs6/constants/domain.js +1 -0
- package/libEs6/constants/ecidNamespace.js +1 -0
- package/libEs6/constants/elementAttribute.js +1 -0
- package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
- package/libEs6/constants/httpHeaderNames.js +1 -0
- package/libEs6/constants/httpStatusCode.js +1 -0
- package/libEs6/constants/legacyCookies.js +1 -0
- package/libEs6/constants/libraryName.js +1 -0
- package/libEs6/constants/libraryVersion.js +3 -1
- package/libEs6/constants/namespace.js +1 -0
- package/libEs6/constants/pageWideScope.js +1 -0
- package/libEs6/constants/queryStringIdentityParam.js +1 -0
- package/libEs6/constants/shadowSeparator.js +1 -0
- package/libEs6/constants/tagName.js +1 -0
- package/libEs6/core/buildAndValidateConfig.js +4 -10
- package/libEs6/core/componentCreators.js +3 -3
- package/libEs6/core/config/createConfig.js +1 -2
- package/libEs6/core/config/createCoreConfigs.js +1 -0
- package/libEs6/core/consent/createConsent.js +1 -9
- package/libEs6/core/consent/createConsentStateMachine.js +1 -20
- package/libEs6/core/createComponentRegistry.js +3 -15
- package/libEs6/core/createCookieTransfer.js +6 -12
- package/libEs6/core/createEvent.js +15 -37
- package/libEs6/core/createEventManager.js +14 -27
- package/libEs6/core/createInstanceFunction.js +1 -0
- package/libEs6/core/createLifecycle.js +14 -10
- package/libEs6/core/createLogController.js +1 -7
- package/libEs6/core/createLogger.js +1 -17
- package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
- package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
- package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
- package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
- package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
- package/libEs6/core/index.js +4 -10
- package/libEs6/core/initializeComponents.js +3 -4
- package/libEs6/core/injectCreateResponse.js +3 -7
- package/libEs6/core/injectExecuteCommand.js +5 -11
- package/libEs6/core/injectHandleError.js +4 -3
- package/libEs6/core/injectShouldTransferCookie.js +1 -0
- package/libEs6/core/network/getRequestRetryDelay.js +11 -13
- package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
- package/libEs6/core/network/isRequestRetryable.js +4 -2
- package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
- package/libEs6/core/validateCommandOptions.js +1 -2
- package/libEs6/index.js +5 -3
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
- package/libEs6/utils/assign.js +1 -0
- package/libEs6/utils/assignIf.js +1 -1
- package/libEs6/utils/cookieJar.js +1 -0
- package/libEs6/utils/crc32.js +0 -7
- package/libEs6/utils/createCallbackAggregator.js +0 -2
- package/libEs6/utils/createLoggingCookieJar.js +3 -3
- package/libEs6/utils/createMerger.js +2 -1
- package/libEs6/utils/createTaskQueue.js +0 -4
- package/libEs6/utils/deduplicateArray.js +0 -3
- package/libEs6/utils/deepAssign.js +2 -5
- package/libEs6/utils/dom/appendNode.js +1 -0
- package/libEs6/utils/dom/awaitSelector.js +1 -14
- package/libEs6/utils/dom/createNode.js +1 -2
- package/libEs6/utils/dom/index.js +1 -0
- package/libEs6/utils/dom/isShadowSelector.js +1 -0
- package/libEs6/utils/dom/matchesSelector.js +2 -2
- package/libEs6/utils/dom/querySelectorAll.js +3 -2
- package/libEs6/utils/dom/removeNode.js +1 -2
- package/libEs6/utils/dom/selectNodes.js +2 -2
- package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
- package/libEs6/utils/filterObject.js +8 -12
- package/libEs6/utils/find.js +0 -2
- package/libEs6/utils/fireImage.js +2 -1
- package/libEs6/utils/getApexDomain.js +4 -4
- package/libEs6/utils/getBrowser.js +1 -7
- package/libEs6/utils/getNamespacedCookieName.js +1 -0
- package/libEs6/utils/groupBy.js +0 -2
- package/libEs6/utils/index.js +1 -0
- package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
- package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
- package/libEs6/utils/injectStorage.js +1 -5
- package/libEs6/utils/intersection.js +2 -1
- package/libEs6/utils/isBlankString.js +2 -1
- package/libEs6/utils/isEmptyObject.js +2 -1
- package/libEs6/utils/isInteger.js +2 -1
- package/libEs6/utils/isNamespacedCookieName.js +2 -1
- package/libEs6/utils/isNonEmptyString.js +2 -1
- package/libEs6/utils/isObject.js +2 -1
- package/libEs6/utils/isUnique.js +0 -5
- package/libEs6/utils/memoize.js +0 -2
- package/libEs6/utils/padStart.js +1 -4
- package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
- package/libEs6/utils/querystring.js +1 -0
- package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
- package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
- package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
- package/libEs6/utils/request/createHasIdentity.js +1 -0
- package/libEs6/utils/request/createRequest.js +3 -9
- package/libEs6/utils/request/createRequestParams.js +0 -3
- package/libEs6/utils/request/createRequestPayload.js +4 -4
- package/libEs6/utils/request/index.js +1 -0
- package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
- package/libEs6/utils/stackError.js +2 -1
- package/libEs6/utils/toArray.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +4 -3
- package/libEs6/utils/toInteger.js +4 -4
- package/libEs6/utils/updateErrorMessage.js +3 -1
- package/libEs6/utils/uuid.js +1 -0
- package/libEs6/utils/validateConfigOverride.js +1 -0
- package/libEs6/utils/validateIdentityMap.js +1 -0
- package/libEs6/utils/validation/booleanValidator.js +1 -0
- package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
- package/libEs6/utils/validation/createDefaultValidator.js +1 -1
- package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
- package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
- package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
- package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
- package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
- package/libEs6/utils/validation/createUniqueValidator.js +1 -0
- package/libEs6/utils/validation/index.js +14 -32
- package/libEs6/utils/validation/integerValidator.js +1 -0
- package/libEs6/utils/validation/numberValidator.js +1 -0
- package/libEs6/utils/validation/regexpValidator.js +1 -0
- package/libEs6/utils/validation/requiredValidator.js +1 -1
- package/libEs6/utils/validation/utils.js +8 -12
- package/package.json +3 -3
- package/libEs5/components/Personalization/createPendingNotificationsHandler.js +0 -29
- package/libEs6/components/Personalization/createPendingNotificationsHandler.js +0 -22
|
@@ -9,46 +9,37 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
import { deepAssign, isFunction, toInteger } from "../../utils";
|
|
13
12
|
|
|
13
|
+
import { deepAssign, isFunction, toInteger } from "../../utils";
|
|
14
14
|
const getScreenOrientationViaProperty = window => {
|
|
15
15
|
const {
|
|
16
16
|
screen: {
|
|
17
17
|
orientation
|
|
18
18
|
}
|
|
19
19
|
} = window;
|
|
20
|
-
|
|
21
20
|
if (orientation == null || orientation.type == null) {
|
|
22
21
|
return null;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
const parts = orientation.type.split("-");
|
|
26
|
-
|
|
27
24
|
if (parts.length === 0) {
|
|
28
25
|
return null;
|
|
29
26
|
}
|
|
30
|
-
|
|
31
27
|
if (parts[0] !== "portrait" && parts[0] !== "landscape") {
|
|
32
28
|
return null;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
return parts[0];
|
|
36
31
|
};
|
|
37
|
-
|
|
38
32
|
const getScreenOrientationViaMediaQuery = window => {
|
|
39
33
|
if (isFunction(window.matchMedia)) {
|
|
40
34
|
if (window.matchMedia("(orientation: portrait)").matches) {
|
|
41
35
|
return "portrait";
|
|
42
36
|
}
|
|
43
|
-
|
|
44
37
|
if (window.matchMedia("(orientation: landscape)").matches) {
|
|
45
38
|
return "landscape";
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
|
-
|
|
49
41
|
return null;
|
|
50
42
|
};
|
|
51
|
-
|
|
52
43
|
export default (window => {
|
|
53
44
|
return xdm => {
|
|
54
45
|
const {
|
|
@@ -59,23 +50,17 @@ export default (window => {
|
|
|
59
50
|
} = window;
|
|
60
51
|
const device = {};
|
|
61
52
|
const screenHeight = toInteger(height);
|
|
62
|
-
|
|
63
53
|
if (screenHeight >= 0) {
|
|
64
54
|
device.screenHeight = screenHeight;
|
|
65
55
|
}
|
|
66
|
-
|
|
67
56
|
const screenWidth = toInteger(width);
|
|
68
|
-
|
|
69
57
|
if (screenWidth >= 0) {
|
|
70
58
|
device.screenWidth = screenWidth;
|
|
71
59
|
}
|
|
72
|
-
|
|
73
60
|
const orientation = getScreenOrientationViaProperty(window) || getScreenOrientationViaMediaQuery(window);
|
|
74
|
-
|
|
75
61
|
if (orientation) {
|
|
76
62
|
device.screenOrientation = orientation;
|
|
77
63
|
}
|
|
78
|
-
|
|
79
64
|
if (Object.keys(device).length > 0) {
|
|
80
65
|
deepAssign(xdm, {
|
|
81
66
|
device
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { deepAssign, toInteger } from "../../utils";
|
|
13
14
|
export default (window => {
|
|
14
15
|
return xdm => {
|
|
@@ -24,20 +25,16 @@ export default (window => {
|
|
|
24
25
|
type: "browser"
|
|
25
26
|
};
|
|
26
27
|
const viewportWidth = toInteger(clientWidth);
|
|
27
|
-
|
|
28
28
|
if (viewportWidth >= 0) {
|
|
29
29
|
environment.browserDetails = {
|
|
30
30
|
viewportWidth
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
|
|
34
33
|
const viewportHeight = toInteger(clientHeight);
|
|
35
|
-
|
|
36
34
|
if (viewportHeight >= 0) {
|
|
37
35
|
environment.browserDetails = environment.browserDetails || {};
|
|
38
36
|
environment.browserDetails.viewportHeight = viewportHeight;
|
|
39
37
|
}
|
|
40
|
-
|
|
41
38
|
deepAssign(xdm, {
|
|
42
39
|
environment
|
|
43
40
|
});
|
|
@@ -9,25 +9,22 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { deepAssign, noop } from "../../utils";
|
|
13
14
|
import highEntropyUserAgentHints from "../../constants/highEntropyUserAgentClientHints";
|
|
14
|
-
|
|
15
15
|
const browserSupportsUserAgentClientHints = navigator => {
|
|
16
16
|
return typeof navigator.userAgentData !== "undefined";
|
|
17
17
|
};
|
|
18
|
-
|
|
19
18
|
export default (navigator => {
|
|
20
19
|
if (!browserSupportsUserAgentClientHints(navigator)) {
|
|
21
20
|
return noop;
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
return (xdm, logger) => {
|
|
25
23
|
try {
|
|
26
24
|
return navigator.userAgentData.getHighEntropyValues(highEntropyUserAgentHints.map(hint => hint[0])).then(hints => {
|
|
27
25
|
const userAgentClientHints = {};
|
|
28
26
|
highEntropyUserAgentHints.forEach(([hintName, hintType]) => {
|
|
29
|
-
if (Object.prototype.hasOwnProperty.call(hints, hintName) &&
|
|
30
|
-
/* eslint-disable-next-line valid-typeof */
|
|
27
|
+
if (Object.prototype.hasOwnProperty.call(hints, hintName) && /* eslint-disable-next-line valid-typeof */
|
|
31
28
|
typeof hints[hintName] === hintType) {
|
|
32
29
|
userAgentClientHints[hintName] = hints[hintName];
|
|
33
30
|
}
|
|
@@ -15,16 +15,13 @@ export default (dateProvider => {
|
|
|
15
15
|
const date = dateProvider();
|
|
16
16
|
const placeContext = {};
|
|
17
17
|
const localTimezoneOffset = toInteger(date.getTimezoneOffset());
|
|
18
|
-
|
|
19
18
|
if (localTimezoneOffset !== undefined) {
|
|
20
19
|
placeContext.localTimezoneOffset = localTimezoneOffset;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
}
|
|
21
|
+
// make sure the timezone offset only uses two digits
|
|
24
22
|
if (localTimezoneOffset === undefined || Math.abs(localTimezoneOffset) < 6000) {
|
|
25
23
|
placeContext.localTime = toISOStringLocal(date);
|
|
26
24
|
}
|
|
27
|
-
|
|
28
25
|
deepAssign(xdm, {
|
|
29
26
|
placeContext
|
|
30
27
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { deepAssign } from "../../utils";
|
|
13
14
|
export default (dateProvider => {
|
|
14
15
|
return xdm => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { deepAssign } from "../../utils";
|
|
13
14
|
export default (window => {
|
|
14
15
|
return xdm => {
|
|
@@ -9,10 +9,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import validateUserEventOptions from "./validateUserEventOptions";
|
|
13
14
|
import validateApplyResponse from "./validateApplyResponse";
|
|
14
15
|
import { deepAssign } from "../../utils";
|
|
15
|
-
|
|
16
16
|
const createDataCollector = ({
|
|
17
17
|
eventManager,
|
|
18
18
|
logger
|
|
@@ -30,51 +30,36 @@ const createDataCollector = ({
|
|
|
30
30
|
const {
|
|
31
31
|
xdm,
|
|
32
32
|
data,
|
|
33
|
-
documentUnloading
|
|
33
|
+
documentUnloading,
|
|
34
34
|
type,
|
|
35
35
|
mergeId,
|
|
36
|
-
renderDecisions = false,
|
|
37
|
-
decisionScopes = [],
|
|
38
|
-
// Note: this option will soon be deprecated, please use personalization.decisionScopes instead
|
|
39
|
-
personalization = {},
|
|
40
36
|
datasetId,
|
|
41
|
-
edgeConfigOverrides
|
|
37
|
+
edgeConfigOverrides,
|
|
38
|
+
...eventManagerOptions
|
|
42
39
|
} = options;
|
|
43
40
|
const event = eventManager.createEvent();
|
|
44
|
-
|
|
45
41
|
if (documentUnloading) {
|
|
46
42
|
event.documentMayUnload();
|
|
47
43
|
}
|
|
48
|
-
|
|
49
44
|
event.setUserXdm(xdm);
|
|
50
45
|
event.setUserData(data);
|
|
51
|
-
|
|
52
46
|
if (type) {
|
|
53
47
|
event.mergeXdm({
|
|
54
48
|
eventType: type
|
|
55
49
|
});
|
|
56
50
|
}
|
|
57
|
-
|
|
58
51
|
if (mergeId) {
|
|
59
52
|
event.mergeXdm({
|
|
60
53
|
eventMergeId: mergeId
|
|
61
54
|
});
|
|
62
55
|
}
|
|
63
|
-
|
|
64
|
-
const sendEventOptions = {
|
|
65
|
-
renderDecisions,
|
|
66
|
-
decisionScopes,
|
|
67
|
-
personalization
|
|
68
|
-
};
|
|
69
|
-
|
|
70
56
|
if (edgeConfigOverrides) {
|
|
71
|
-
|
|
57
|
+
eventManagerOptions.edgeConfigOverrides = edgeConfigOverrides;
|
|
72
58
|
}
|
|
73
|
-
|
|
74
59
|
if (datasetId) {
|
|
75
60
|
logger.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead.");
|
|
76
|
-
|
|
77
|
-
deepAssign(
|
|
61
|
+
eventManagerOptions.edgeConfigOverrides = edgeConfigOverrides || {};
|
|
62
|
+
deepAssign(eventManagerOptions.edgeConfigOverrides, {
|
|
78
63
|
com_adobe_experience_platform: {
|
|
79
64
|
datasets: {
|
|
80
65
|
event: {
|
|
@@ -84,8 +69,7 @@ const createDataCollector = ({
|
|
|
84
69
|
}
|
|
85
70
|
});
|
|
86
71
|
}
|
|
87
|
-
|
|
88
|
-
return eventManager.sendEvent(event, sendEventOptions);
|
|
72
|
+
return eventManager.sendEvent(event, eventManagerOptions);
|
|
89
73
|
}
|
|
90
74
|
},
|
|
91
75
|
applyResponse: {
|
|
@@ -116,6 +100,5 @@ const createDataCollector = ({
|
|
|
116
100
|
}
|
|
117
101
|
};
|
|
118
102
|
};
|
|
119
|
-
|
|
120
103
|
createDataCollector.namespace = "DataCollector";
|
|
121
104
|
export default createDataCollector;
|
|
@@ -23,9 +23,9 @@ export default (({
|
|
|
23
23
|
})).required()
|
|
24
24
|
}).required(),
|
|
25
25
|
personalization: objectOf({
|
|
26
|
-
|
|
26
|
+
sendDisplayEvent: boolean().default(true)
|
|
27
27
|
}).default({
|
|
28
|
-
|
|
28
|
+
sendDisplayEvent: true
|
|
29
29
|
})
|
|
30
30
|
}).noUnknownFields();
|
|
31
31
|
return validator(options);
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { string, objectOf, boolean, arrayOf } from "../../utils/validation";
|
|
13
14
|
import { validateConfigOverride, validateIdentityMap } from "../../utils";
|
|
14
15
|
/**
|
|
@@ -16,7 +17,6 @@ import { validateConfigOverride, validateIdentityMap } from "../../utils";
|
|
|
16
17
|
* @param {*} options The user event options to validate
|
|
17
18
|
* @returns {*} Validated options
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
export default (({
|
|
21
21
|
options
|
|
22
22
|
}) => {
|
|
@@ -33,14 +33,16 @@ export default (({
|
|
|
33
33
|
personalization: objectOf({
|
|
34
34
|
decisionScopes: arrayOf(string()).uniqueItems(),
|
|
35
35
|
surfaces: arrayOf(string()).uniqueItems(),
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
sendDisplayEvent: boolean().default(true),
|
|
37
|
+
includeRenderedPropositions: boolean().default(false),
|
|
38
|
+
requestPersonalization: boolean()
|
|
38
39
|
}).default({
|
|
39
|
-
|
|
40
|
+
sendDisplayEvent: true
|
|
40
41
|
}),
|
|
41
42
|
datasetId: string(),
|
|
42
43
|
mergeId: string(),
|
|
43
|
-
edgeConfigOverrides: validateConfigOverride
|
|
44
|
+
edgeConfigOverrides: validateConfigOverride,
|
|
45
|
+
initializePersonalization: boolean()
|
|
44
46
|
}).required().noUnknownFields();
|
|
45
47
|
return eventOptionsValidator(options);
|
|
46
48
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (({
|
|
13
14
|
createEventMergeId
|
|
14
15
|
}) => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { uuid } from "../../utils";
|
|
13
14
|
export default (() => {
|
|
14
15
|
return {
|
|
@@ -9,14 +9,13 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import createEventMergeId from "./createEventMergeId";
|
|
13
14
|
import createComponent from "./createComponent";
|
|
14
|
-
|
|
15
15
|
const createEventMerge = () => {
|
|
16
16
|
return createComponent({
|
|
17
17
|
createEventMergeId
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
|
-
|
|
21
20
|
createEventMerge.namespace = "EventMerge";
|
|
22
21
|
export default createEventMerge;
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import ecidNamespace from "../../constants/ecidNamespace";
|
|
13
14
|
export default (payload => {
|
|
14
15
|
payload.mergeQuery({
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import ecidNamespace from "../../constants/ecidNamespace";
|
|
13
14
|
export default ((payload, ecid) => {
|
|
14
15
|
payload.addIdentity(ecidNamespace, {
|
package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js
CHANGED
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { validateConfigOverride } from "../../../utils";
|
|
13
14
|
import { objectOf, string } from "../../../utils/validation";
|
|
14
15
|
/**
|
|
@@ -16,7 +17,6 @@ import { objectOf, string } from "../../../utils/validation";
|
|
|
16
17
|
* @param {*} options The user event options to validate
|
|
17
18
|
* @returns {*} Validated options
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
export default objectOf({
|
|
21
21
|
url: string().required().nonEmpty(),
|
|
22
22
|
edgeConfigOverrides: validateConfigOverride
|
|
@@ -10,19 +10,15 @@ OF ANY KIND, either express or implied. See the License for the specific languag
|
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
const URL_REGEX = /^([^?#]*)(\??[^#]*)(#?.*)$/;
|
|
13
|
-
|
|
14
13
|
const getSeparator = queryString => {
|
|
15
14
|
if (queryString === "") {
|
|
16
15
|
return "?";
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
if (queryString === "?") {
|
|
20
18
|
return "";
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
return "&";
|
|
24
21
|
};
|
|
25
|
-
|
|
26
22
|
export default (({
|
|
27
23
|
dateProvider,
|
|
28
24
|
orgId
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { boolean, objectOf } from "../../utils/validation";
|
|
13
14
|
const configValidators = objectOf({
|
|
14
15
|
thirdPartyCookiesEnabled: boolean().default(true),
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export const AMBIGUOUS = "ambiguous";
|
|
13
14
|
export const AUTHENTICATED = "authenticated";
|
|
14
15
|
export const LOGGED_OUT = "loggedOut";
|
|
@@ -43,25 +43,23 @@ export default (({
|
|
|
43
43
|
onRequestFailure
|
|
44
44
|
});
|
|
45
45
|
},
|
|
46
|
-
|
|
47
46
|
onResponse({
|
|
48
47
|
response
|
|
49
48
|
}) {
|
|
50
49
|
if (!ecid) {
|
|
51
|
-
ecid = getEcidFromResponse(response);
|
|
52
|
-
// https://jira.corp.adobe.com/browse/EXEG-1234
|
|
50
|
+
ecid = getEcidFromResponse(response);
|
|
53
51
|
|
|
52
|
+
// Only data collection calls will have an ECID in the response.
|
|
53
|
+
// https://jira.corp.adobe.com/browse/EXEG-1234
|
|
54
54
|
if (ecid) {
|
|
55
55
|
setLegacyEcid(ecid);
|
|
56
56
|
}
|
|
57
|
-
}
|
|
57
|
+
}
|
|
58
|
+
// For sendBeacon requests, getEdge() will return {}, so we are using assign here
|
|
58
59
|
// so that sendBeacon requests don't override the edge info from before.
|
|
59
|
-
|
|
60
|
-
|
|
61
60
|
edge = assign(edge, response.getEdge());
|
|
62
61
|
return handleResponseForIdSyncs(response);
|
|
63
62
|
}
|
|
64
|
-
|
|
65
63
|
},
|
|
66
64
|
commands: {
|
|
67
65
|
getIdentity: {
|
|
@@ -25,40 +25,31 @@ export default (({
|
|
|
25
25
|
orgId
|
|
26
26
|
} = config;
|
|
27
27
|
const amcvCookieName = `AMCV_${orgId}`;
|
|
28
|
-
|
|
29
28
|
const getEcidFromLegacyCookies = () => {
|
|
30
29
|
let ecid = null;
|
|
31
30
|
const secidCookieName = "s_ecid";
|
|
32
31
|
const legacyEcidCookieValue = cookieJar.get(secidCookieName) || cookieJar.get(amcvCookieName);
|
|
33
|
-
|
|
34
32
|
if (legacyEcidCookieValue) {
|
|
35
33
|
const reg = /(^|\|)MCMID\|(\d+)($|\|)/;
|
|
36
34
|
const matches = legacyEcidCookieValue.match(reg);
|
|
37
|
-
|
|
38
35
|
if (matches) {
|
|
39
36
|
// Destructuring arrays breaks in IE
|
|
40
37
|
ecid = matches[2];
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
|
|
44
40
|
return ecid;
|
|
45
41
|
};
|
|
46
|
-
|
|
47
42
|
return {
|
|
48
43
|
getEcid() {
|
|
49
44
|
if (idMigrationEnabled) {
|
|
50
45
|
const ecid = getEcidFromLegacyCookies();
|
|
51
|
-
|
|
52
46
|
if (ecid) {
|
|
53
47
|
return Promise.resolve(ecid);
|
|
54
48
|
}
|
|
55
|
-
|
|
56
49
|
return getEcidFromVisitor();
|
|
57
50
|
}
|
|
58
|
-
|
|
59
51
|
return Promise.resolve();
|
|
60
52
|
},
|
|
61
|
-
|
|
62
53
|
setEcid(ecid) {
|
|
63
54
|
if (idMigrationEnabled && getEcidFromLegacyCookies() !== ecid) {
|
|
64
55
|
const extraOptions = isPageSsl ? {
|
|
@@ -74,6 +65,5 @@ export default (({
|
|
|
74
65
|
});
|
|
75
66
|
}
|
|
76
67
|
}
|
|
77
|
-
|
|
78
68
|
};
|
|
79
69
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { find } from "../../utils";
|
|
13
14
|
import ecidNamespace from "../../constants/ecidNamespace";
|
|
14
15
|
export default (response => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { createRequestParams } from "../../../utils/request";
|
|
13
14
|
export default (({
|
|
14
15
|
sendEdgeNetworkRequest,
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { createRequest } from "../../../utils/request";
|
|
13
14
|
export default (({
|
|
14
15
|
payload,
|
|
@@ -17,14 +18,11 @@ export default (({
|
|
|
17
18
|
return createRequest({
|
|
18
19
|
payload,
|
|
19
20
|
datastreamIdOverride,
|
|
20
|
-
|
|
21
21
|
getAction() {
|
|
22
22
|
return "identity/acquire";
|
|
23
23
|
},
|
|
24
|
-
|
|
25
24
|
getUseSendBeacon() {
|
|
26
25
|
return false;
|
|
27
26
|
}
|
|
28
|
-
|
|
29
27
|
});
|
|
30
28
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { createAddIdentity, createHasIdentity, createRequestPayload } from "../../../utils/request";
|
|
13
14
|
export default (namespaces => {
|
|
14
15
|
const content = {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { validateConfigOverride } from "../../../utils";
|
|
13
14
|
import { objectOf, literal, arrayOf } from "../../../utils/validation";
|
|
14
15
|
/**
|
|
@@ -16,7 +17,6 @@ import { objectOf, literal, arrayOf } from "../../../utils/validation";
|
|
|
16
17
|
* @param {*} options The user event options to validate
|
|
17
18
|
* @returns {*} Validated options
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
export default objectOf({
|
|
21
21
|
namespaces: arrayOf(literal("ECID")).nonEmpty().uniqueItems().default(["ECID"]),
|
|
22
22
|
edgeConfigOverrides: validateConfigOverride
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { areThirdPartyCookiesSupportedByDefault, injectDoesIdentityCookieExist, createLoggingCookieJar, cookieJar } from "../../utils";
|
|
13
14
|
import injectProcessIdSyncs from "./injectProcessIdSyncs";
|
|
14
15
|
import configValidators from "./configValidators";
|
|
@@ -29,7 +30,6 @@ import createGetIdentity from "./getIdentity/createGetIdentity";
|
|
|
29
30
|
import createIdentityRequest from "./getIdentity/createIdentityRequest";
|
|
30
31
|
import createIdentityRequestPayload from "./getIdentity/createIdentityRequestPayload";
|
|
31
32
|
import injectAppendIdentityToUrl from "./appendIdentityToUrl/injectAppendIdentityToUrl";
|
|
32
|
-
|
|
33
33
|
const createIdentity = ({
|
|
34
34
|
config,
|
|
35
35
|
logger,
|
|
@@ -119,7 +119,6 @@ const createIdentity = ({
|
|
|
119
119
|
config
|
|
120
120
|
});
|
|
121
121
|
};
|
|
122
|
-
|
|
123
122
|
createIdentity.namespace = "Identity";
|
|
124
123
|
createIdentity.configValidators = configValidators;
|
|
125
124
|
export default createIdentity;
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import ecidNamespace from "../../constants/ecidNamespace";
|
|
13
14
|
export default (({
|
|
14
15
|
getLegacyEcid,
|
|
@@ -20,7 +21,6 @@ export default (({
|
|
|
20
21
|
// the user specified it in the identity map
|
|
21
22
|
return Promise.resolve();
|
|
22
23
|
}
|
|
23
|
-
|
|
24
24
|
return getLegacyEcid().then(ecidToMigrate => {
|
|
25
25
|
if (ecidToMigrate) {
|
|
26
26
|
addEcidToPayload(payload, ecidToMigrate);
|
|
@@ -11,6 +11,7 @@ governing permissions and limitations under the License.
|
|
|
11
11
|
*/
|
|
12
12
|
// Example: adobe_mc=TS%3D1641432103%7CMCMID%3D77094828402023918047117570965393734545%7CMCORGID%3DFAF554945B90342F0A495E2C%40AdobeOrg
|
|
13
13
|
// Decoded: adobe_mc=TS=1641432103|MCMID=77094828402023918047117570965393734545|MCORGID=FAF554945B90342F0A495E2C@AdobeOrg
|
|
14
|
+
|
|
14
15
|
import { queryString } from "../../utils";
|
|
15
16
|
import queryStringIdentityParam from "../../constants/queryStringIdentityParam";
|
|
16
17
|
import ecidNamespace from "../../constants/ecidNamespace";
|
|
@@ -26,25 +27,22 @@ export default (({
|
|
|
26
27
|
// don't overwrite a user provided ecid identity
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
|
-
|
|
30
30
|
const parsedQueryString = queryString.parse(locationSearch);
|
|
31
31
|
const queryStringValue = parsedQueryString[queryStringIdentityParam];
|
|
32
|
-
|
|
33
32
|
if (queryStringValue === undefined) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
|
-
|
|
37
35
|
const properties = queryStringValue.split("|").reduce((memo, keyValue) => {
|
|
38
36
|
const [key, value] = keyValue.split("=");
|
|
39
37
|
memo[key] = value;
|
|
40
38
|
return memo;
|
|
41
|
-
}, {});
|
|
42
|
-
|
|
39
|
+
}, {});
|
|
40
|
+
// We are using MCMID and MCORGID to be compatible with Visitor.
|
|
43
41
|
const ts = parseInt(properties.TS, 10);
|
|
44
42
|
const mcmid = properties.MCMID;
|
|
45
43
|
const mcorgid = decodeURIComponent(properties.MCORGID);
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
if (
|
|
45
|
+
// When TS is not specified or not a number, the following inequality returns false.
|
|
48
46
|
// All inequalities with NaN variables are false.
|
|
49
47
|
dateProvider().getTime() / 1000 <= ts + LINK_TTL_SECONDS && mcorgid === orgId && mcmid) {
|
|
50
48
|
logger.info(`Found valid ECID identity ${mcmid} from the adobe_mc query string parameter.`);
|