@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
|
@@ -18,33 +18,41 @@ export default (({
|
|
|
18
18
|
type,
|
|
19
19
|
selector
|
|
20
20
|
} = item.getData() || {};
|
|
21
|
-
|
|
22
21
|
if (!type) {
|
|
23
22
|
logger.warn("Invalid DOM action data: missing type.", item.getData());
|
|
24
|
-
return {
|
|
23
|
+
return {
|
|
24
|
+
setRenderAttempted: false,
|
|
25
|
+
includeInNotification: false
|
|
26
|
+
};
|
|
25
27
|
}
|
|
26
|
-
|
|
27
28
|
if (type === "click") {
|
|
28
29
|
if (!selector) {
|
|
29
30
|
logger.warn("Invalid DOM action data: missing selector.", item.getData());
|
|
30
|
-
return {
|
|
31
|
+
return {
|
|
32
|
+
setRenderAttempted: false,
|
|
33
|
+
includeInNotification: false
|
|
34
|
+
};
|
|
31
35
|
}
|
|
32
|
-
|
|
33
36
|
storeClickMetrics({
|
|
34
37
|
selector,
|
|
35
|
-
meta:
|
|
38
|
+
meta: {
|
|
39
|
+
...item.getProposition().getNotification(),
|
|
40
|
+
trackingLabel: item.getTrackingLabel(),
|
|
41
|
+
scopeType: item.getProposition().getScopeType()
|
|
42
|
+
}
|
|
36
43
|
});
|
|
37
44
|
return {
|
|
38
45
|
setRenderAttempted: true,
|
|
39
46
|
includeInNotification: false
|
|
40
47
|
};
|
|
41
48
|
}
|
|
42
|
-
|
|
43
49
|
if (!modules[type]) {
|
|
44
50
|
logger.warn("Invalid DOM action data: unknown type.", item.getData());
|
|
45
|
-
return {
|
|
51
|
+
return {
|
|
52
|
+
setRenderAttempted: false,
|
|
53
|
+
includeInNotification: false
|
|
54
|
+
};
|
|
46
55
|
}
|
|
47
|
-
|
|
48
56
|
return {
|
|
49
57
|
render: () => modules[type](item.getData()),
|
|
50
58
|
setRenderAttempted: true,
|
|
@@ -17,16 +17,19 @@ export default (({
|
|
|
17
17
|
type,
|
|
18
18
|
selector
|
|
19
19
|
} = item.getData() || {};
|
|
20
|
-
|
|
21
20
|
if (!selector || !type) {
|
|
22
|
-
return {
|
|
21
|
+
return {
|
|
22
|
+
setRenderAttempted: false,
|
|
23
|
+
includeInNotification: false
|
|
24
|
+
};
|
|
23
25
|
}
|
|
24
|
-
|
|
25
26
|
if (!modules[type]) {
|
|
26
27
|
logger.warn("Invalid HTML content data", item.getData());
|
|
27
|
-
return {
|
|
28
|
+
return {
|
|
29
|
+
setRenderAttempted: false,
|
|
30
|
+
includeInNotification: false
|
|
31
|
+
};
|
|
28
32
|
}
|
|
29
|
-
|
|
30
33
|
return {
|
|
31
34
|
render: () => {
|
|
32
35
|
modules[type](item.getData());
|
|
@@ -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
|
schemaProcessors,
|
|
14
15
|
logger
|
|
@@ -18,7 +19,6 @@ export default (({
|
|
|
18
19
|
if (logger.enabled) {
|
|
19
20
|
logger.info(`Action ${item.toString()} executed.`);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
22
|
return true;
|
|
23
23
|
}).catch(error => {
|
|
24
24
|
if (logger.enabled) {
|
|
@@ -26,34 +26,27 @@ export default (({
|
|
|
26
26
|
message,
|
|
27
27
|
stack
|
|
28
28
|
} = error;
|
|
29
|
-
const
|
|
30
|
-
logger.
|
|
29
|
+
const warning = `Failed to execute action ${item.toString()}. ${message} ${stack}`;
|
|
30
|
+
logger.warn(warning);
|
|
31
31
|
}
|
|
32
|
-
|
|
33
32
|
return false;
|
|
34
33
|
});
|
|
35
34
|
};
|
|
36
|
-
|
|
37
35
|
const renderItems = (renderers, meta) => Promise.all(renderers.map(renderer => renderer())).then(successes => {
|
|
38
36
|
// as long as at least one renderer succeeds, we want to add the notification
|
|
39
37
|
// to the display notifications
|
|
40
38
|
if (!successes.includes(true)) {
|
|
41
39
|
return undefined;
|
|
42
40
|
}
|
|
43
|
-
|
|
44
41
|
return meta;
|
|
45
42
|
});
|
|
46
|
-
|
|
47
43
|
const processItem = item => {
|
|
48
44
|
const processor = schemaProcessors[item.getSchema()];
|
|
49
|
-
|
|
50
45
|
if (!processor) {
|
|
51
46
|
return {};
|
|
52
47
|
}
|
|
53
|
-
|
|
54
48
|
return processor(item);
|
|
55
49
|
};
|
|
56
|
-
|
|
57
50
|
const processItems = ({
|
|
58
51
|
renderers: existingRenderers,
|
|
59
52
|
returnedPropositions: existingReturnedPropositions,
|
|
@@ -74,7 +67,6 @@ export default (({
|
|
|
74
67
|
let onlyRenderThis = false;
|
|
75
68
|
let i = 0;
|
|
76
69
|
let item;
|
|
77
|
-
|
|
78
70
|
while (items.length > i) {
|
|
79
71
|
item = items[i];
|
|
80
72
|
({
|
|
@@ -83,11 +75,9 @@ export default (({
|
|
|
83
75
|
includeInNotification,
|
|
84
76
|
onlyRenderThis
|
|
85
77
|
} = processItem(item));
|
|
86
|
-
|
|
87
78
|
if (onlyRenderThis) {
|
|
88
79
|
returnedPropositions = [];
|
|
89
80
|
returnedDecisions = [];
|
|
90
|
-
|
|
91
81
|
if (setRenderAttempted) {
|
|
92
82
|
renderedItems = [item];
|
|
93
83
|
nonRenderedItems = [];
|
|
@@ -95,45 +85,36 @@ export default (({
|
|
|
95
85
|
renderedItems = [];
|
|
96
86
|
nonRenderedItems = [item];
|
|
97
87
|
}
|
|
98
|
-
|
|
99
88
|
renderers = [];
|
|
100
89
|
itemRenderers = [render];
|
|
101
90
|
atLeastOneWithNotification = includeInNotification;
|
|
102
91
|
break;
|
|
103
92
|
}
|
|
104
|
-
|
|
105
93
|
if (render) {
|
|
106
94
|
itemRenderers.push(wrapRenderWithLogging(render, item));
|
|
107
95
|
}
|
|
108
|
-
|
|
109
96
|
if (includeInNotification) {
|
|
110
97
|
atLeastOneWithNotification = true;
|
|
111
98
|
}
|
|
112
|
-
|
|
113
99
|
if (setRenderAttempted) {
|
|
114
100
|
renderedItems.push(item);
|
|
115
101
|
} else {
|
|
116
102
|
nonRenderedItems.push(item);
|
|
117
103
|
}
|
|
118
|
-
|
|
119
104
|
i += 1;
|
|
120
105
|
}
|
|
121
|
-
|
|
122
106
|
if (itemRenderers.length > 0) {
|
|
123
107
|
const meta = atLeastOneWithNotification ? proposition.getNotification() : undefined;
|
|
124
108
|
renderers.push(() => renderItems(itemRenderers, meta));
|
|
125
109
|
} else if (atLeastOneWithNotification) {
|
|
126
110
|
renderers.push(() => proposition.getNotification());
|
|
127
111
|
}
|
|
128
|
-
|
|
129
112
|
if (renderedItems.length > 0) {
|
|
130
113
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, renderedItems, true);
|
|
131
114
|
}
|
|
132
|
-
|
|
133
115
|
if (nonRenderedItems.length > 0) {
|
|
134
116
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, nonRenderedItems, false);
|
|
135
117
|
}
|
|
136
|
-
|
|
137
118
|
return {
|
|
138
119
|
renderers,
|
|
139
120
|
returnedPropositions,
|
|
@@ -141,7 +122,6 @@ export default (({
|
|
|
141
122
|
onlyRenderThis
|
|
142
123
|
};
|
|
143
124
|
};
|
|
144
|
-
|
|
145
125
|
return (renderPropositions, nonRenderPropositions = []) => {
|
|
146
126
|
let renderers = [];
|
|
147
127
|
let returnedPropositions = [];
|
|
@@ -150,7 +130,6 @@ export default (({
|
|
|
150
130
|
let i = 0;
|
|
151
131
|
let proposition;
|
|
152
132
|
let items;
|
|
153
|
-
|
|
154
133
|
while (renderPropositions.length > i) {
|
|
155
134
|
proposition = renderPropositions[i];
|
|
156
135
|
items = proposition.getItems();
|
|
@@ -166,14 +145,11 @@ export default (({
|
|
|
166
145
|
items,
|
|
167
146
|
proposition
|
|
168
147
|
}));
|
|
169
|
-
|
|
170
148
|
if (onlyRenderThis) {
|
|
171
149
|
break;
|
|
172
150
|
}
|
|
173
|
-
|
|
174
151
|
i += 1;
|
|
175
152
|
}
|
|
176
|
-
|
|
177
153
|
if (onlyRenderThis) {
|
|
178
154
|
// if onlyRenderThis is true, that means returnedPropositions and returnedDecisions
|
|
179
155
|
// only contains the proposition that triggered only rendering this. We need to
|
|
@@ -184,15 +160,12 @@ export default (({
|
|
|
184
160
|
}
|
|
185
161
|
});
|
|
186
162
|
}
|
|
187
|
-
|
|
188
163
|
nonRenderPropositions.forEach(p => {
|
|
189
164
|
p.addToReturnValues(returnedPropositions, returnedDecisions, p.getItems(), false);
|
|
190
165
|
});
|
|
191
|
-
|
|
192
166
|
const render = () => {
|
|
193
167
|
return Promise.all(renderers.map(renderer => renderer())).then(metas => metas.filter(meta => meta));
|
|
194
168
|
};
|
|
195
|
-
|
|
196
169
|
return {
|
|
197
170
|
returnedPropositions,
|
|
198
171
|
returnedDecisions,
|
|
@@ -17,17 +17,20 @@ export default (({
|
|
|
17
17
|
const {
|
|
18
18
|
content
|
|
19
19
|
} = item.getData() || {};
|
|
20
|
-
|
|
21
20
|
if (!content) {
|
|
22
21
|
logger.warn("Invalid Redirect data", item.getData());
|
|
23
22
|
return {};
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
const render = () => {
|
|
27
25
|
return collect({
|
|
28
|
-
decisionsMeta: [item.
|
|
26
|
+
decisionsMeta: [item.getProposition().getNotification()],
|
|
27
|
+
documentMayUnload: true
|
|
29
28
|
}).then(() => {
|
|
30
|
-
executeRedirect(content);
|
|
29
|
+
return executeRedirect(content);
|
|
30
|
+
// Execute redirect will never resolve. If there are bottom of page events that are waiting
|
|
31
|
+
// for display notifications from this request, they will never run because this promise will
|
|
32
|
+
// not resolve. This is intentional because we don't want to run bottom of page events if
|
|
33
|
+
// there is a redirect.
|
|
31
34
|
});
|
|
32
35
|
};
|
|
33
36
|
|
|
@@ -9,12 +9,14 @@ 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 PAGE_WIDE_SCOPE from "../../../constants/pageWideScope";
|
|
14
|
+
import { VIEW_SCOPE_TYPE, PAGE_SCOPE_TYPE, PROPOSITION_SCOPE_TYPE } from "../constants/scopeType";
|
|
13
15
|
export default (({
|
|
14
16
|
preprocess,
|
|
15
17
|
isPageWideSurface
|
|
16
18
|
}) => {
|
|
17
|
-
const createItem = (item,
|
|
19
|
+
const createItem = (item, proposition) => {
|
|
18
20
|
const {
|
|
19
21
|
schema,
|
|
20
22
|
data,
|
|
@@ -23,39 +25,30 @@ export default (({
|
|
|
23
25
|
} = {}
|
|
24
26
|
} = item;
|
|
25
27
|
const processedData = preprocess(data);
|
|
26
|
-
|
|
27
|
-
if (trackingLabel) {
|
|
28
|
-
meta.trackingLabel = trackingLabel;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
28
|
return {
|
|
32
29
|
getSchema() {
|
|
33
30
|
return schema;
|
|
34
31
|
},
|
|
35
|
-
|
|
36
32
|
getData() {
|
|
37
33
|
return processedData;
|
|
38
34
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
getProposition() {
|
|
36
|
+
return proposition;
|
|
37
|
+
},
|
|
38
|
+
getTrackingLabel() {
|
|
39
|
+
return trackingLabel;
|
|
42
40
|
},
|
|
43
|
-
|
|
44
41
|
getOriginalItem() {
|
|
45
42
|
return item;
|
|
46
43
|
},
|
|
47
|
-
|
|
48
44
|
toString() {
|
|
49
45
|
return JSON.stringify(item);
|
|
50
46
|
},
|
|
51
|
-
|
|
52
47
|
toJSON() {
|
|
53
48
|
return item;
|
|
54
49
|
}
|
|
55
|
-
|
|
56
50
|
};
|
|
57
51
|
};
|
|
58
|
-
|
|
59
52
|
return (payload, visibleInReturnedItems = true) => {
|
|
60
53
|
const {
|
|
61
54
|
id,
|
|
@@ -73,30 +66,20 @@ export default (({
|
|
|
73
66
|
if (!scope) {
|
|
74
67
|
return scope;
|
|
75
68
|
}
|
|
76
|
-
|
|
77
69
|
return scope;
|
|
78
70
|
},
|
|
79
|
-
|
|
80
71
|
getScopeType() {
|
|
81
72
|
if (scope === PAGE_WIDE_SCOPE || isPageWideSurface(scope)) {
|
|
82
|
-
return
|
|
73
|
+
return PAGE_SCOPE_TYPE;
|
|
83
74
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return "view";
|
|
75
|
+
if (scopeType === VIEW_SCOPE_TYPE) {
|
|
76
|
+
return VIEW_SCOPE_TYPE;
|
|
87
77
|
}
|
|
88
|
-
|
|
89
|
-
return "proposition";
|
|
78
|
+
return PROPOSITION_SCOPE_TYPE;
|
|
90
79
|
},
|
|
91
|
-
|
|
92
80
|
getItems() {
|
|
93
|
-
return items.map(item => createItem(item,
|
|
94
|
-
id,
|
|
95
|
-
scope,
|
|
96
|
-
scopeDetails
|
|
97
|
-
}));
|
|
81
|
+
return items.map(item => createItem(item, this));
|
|
98
82
|
},
|
|
99
|
-
|
|
100
83
|
getNotification() {
|
|
101
84
|
return {
|
|
102
85
|
id,
|
|
@@ -104,26 +87,24 @@ export default (({
|
|
|
104
87
|
scopeDetails
|
|
105
88
|
};
|
|
106
89
|
},
|
|
107
|
-
|
|
108
90
|
toJSON() {
|
|
109
91
|
return payload;
|
|
110
92
|
},
|
|
111
|
-
|
|
112
93
|
addToReturnValues(propositions, decisions, includedItems, renderAttempted) {
|
|
113
94
|
if (visibleInReturnedItems) {
|
|
114
|
-
propositions.push({
|
|
95
|
+
propositions.push({
|
|
96
|
+
...payload,
|
|
115
97
|
items: includedItems.map(i => i.getOriginalItem()),
|
|
116
98
|
renderAttempted
|
|
117
99
|
});
|
|
118
|
-
|
|
119
100
|
if (!renderAttempted) {
|
|
120
|
-
decisions.push({
|
|
101
|
+
decisions.push({
|
|
102
|
+
...payload,
|
|
121
103
|
items: includedItems.map(i => i.getOriginalItem())
|
|
122
104
|
});
|
|
123
105
|
}
|
|
124
106
|
}
|
|
125
107
|
}
|
|
126
|
-
|
|
127
108
|
};
|
|
128
109
|
};
|
|
129
110
|
});
|
|
@@ -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, boolean, objectOf } from "../../utils/validation";
|
|
13
14
|
import createComponent from "./createComponent";
|
|
14
15
|
import { initDomActionsModules } from "./dom-actions";
|
|
@@ -30,7 +31,6 @@ import remapHeadOffers from "./dom-actions/remapHeadOffers";
|
|
|
30
31
|
import createPreprocess from "./dom-actions/createPreprocess";
|
|
31
32
|
import injectCreateProposition from "./handlers/injectCreateProposition";
|
|
32
33
|
import createAsyncArray from "./utils/createAsyncArray";
|
|
33
|
-
import createPendingNotificationsHandler from "./createPendingNotificationsHandler";
|
|
34
34
|
import * as schema from "./constants/schema";
|
|
35
35
|
import processDefaultContent from "./handlers/processDefaultContent";
|
|
36
36
|
import { isPageWideSurface } from "./utils/surfaceUtils";
|
|
@@ -38,7 +38,7 @@ import createProcessDomAction from "./handlers/createProcessDomAction";
|
|
|
38
38
|
import createProcessHtmlContent from "./handlers/createProcessHtmlContent";
|
|
39
39
|
import createProcessRedirect from "./handlers/createProcessRedirect";
|
|
40
40
|
import createProcessPropositions from "./handlers/createProcessPropositions";
|
|
41
|
-
|
|
41
|
+
import createRedirect from "./dom-actions/createRedirect";
|
|
42
42
|
const createPersonalization = ({
|
|
43
43
|
config,
|
|
44
44
|
logger,
|
|
@@ -69,6 +69,7 @@ const createPersonalization = ({
|
|
|
69
69
|
const viewCache = createViewCacheManager({
|
|
70
70
|
createProposition
|
|
71
71
|
});
|
|
72
|
+
const executeRedirect = createRedirect(window);
|
|
72
73
|
const schemaProcessors = {
|
|
73
74
|
[schema.DEFAULT_CONTENT_ITEM]: processDefaultContent,
|
|
74
75
|
[schema.DOM_ACTION]: createProcessDomAction({
|
|
@@ -82,7 +83,7 @@ const createPersonalization = ({
|
|
|
82
83
|
}),
|
|
83
84
|
[schema.REDIRECT_ITEM]: createProcessRedirect({
|
|
84
85
|
logger,
|
|
85
|
-
executeRedirect
|
|
86
|
+
executeRedirect,
|
|
86
87
|
collect
|
|
87
88
|
})
|
|
88
89
|
};
|
|
@@ -90,11 +91,7 @@ const createPersonalization = ({
|
|
|
90
91
|
schemaProcessors,
|
|
91
92
|
logger
|
|
92
93
|
});
|
|
93
|
-
const
|
|
94
|
-
const pendingNotificationsHandler = createPendingNotificationsHandler({
|
|
95
|
-
pendingDisplayNotifications,
|
|
96
|
-
mergeDecisionsMeta
|
|
97
|
-
});
|
|
94
|
+
const renderedPropositions = createAsyncArray();
|
|
98
95
|
const fetchDataHandler = createFetchDataHandler({
|
|
99
96
|
prehidingStyle,
|
|
100
97
|
showContainers,
|
|
@@ -103,7 +100,7 @@ const createPersonalization = ({
|
|
|
103
100
|
collect,
|
|
104
101
|
processPropositions,
|
|
105
102
|
createProposition,
|
|
106
|
-
|
|
103
|
+
renderedPropositions
|
|
107
104
|
});
|
|
108
105
|
const onClickHandler = createOnClickHandler({
|
|
109
106
|
mergeDecisionsMeta,
|
|
@@ -112,14 +109,13 @@ const createPersonalization = ({
|
|
|
112
109
|
getClickMetasBySelector
|
|
113
110
|
});
|
|
114
111
|
const viewChangeHandler = createViewChangeHandler({
|
|
115
|
-
mergeDecisionsMeta,
|
|
116
112
|
processPropositions,
|
|
117
113
|
viewCache
|
|
118
114
|
});
|
|
119
115
|
const applyPropositions = createApplyPropositions({
|
|
120
116
|
processPropositions,
|
|
121
117
|
createProposition,
|
|
122
|
-
|
|
118
|
+
renderedPropositions,
|
|
123
119
|
viewCache
|
|
124
120
|
});
|
|
125
121
|
const setTargetMigration = createSetTargetMigration({
|
|
@@ -137,10 +133,10 @@ const createPersonalization = ({
|
|
|
137
133
|
showContainers,
|
|
138
134
|
applyPropositions,
|
|
139
135
|
setTargetMigration,
|
|
140
|
-
|
|
136
|
+
mergeDecisionsMeta,
|
|
137
|
+
renderedPropositions
|
|
141
138
|
});
|
|
142
139
|
};
|
|
143
|
-
|
|
144
140
|
createPersonalization.namespace = "Personalization";
|
|
145
141
|
createPersonalization.configValidators = objectOf({
|
|
146
142
|
prehidingStyle: string().nonEmpty(),
|
|
@@ -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 { assign } from "../../../utils";
|
|
13
14
|
export default (({
|
|
14
15
|
decisions,
|
|
@@ -21,7 +21,6 @@ export default (() => {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
},
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
25
|
* Clears the saved propositions, waiting until the next propositions are resolved and available.
|
|
27
26
|
*
|
|
@@ -32,6 +31,5 @@ export default (() => {
|
|
|
32
31
|
latest = Promise.resolve([]);
|
|
33
32
|
return oldLatest;
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
};
|
|
37
35
|
});
|
|
@@ -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 ((doc = document) => {
|
|
13
14
|
return doc.location.href.indexOf("adobe_authoring_enabled") !== -1;
|
|
14
15
|
});
|
|
@@ -9,29 +9,23 @@ 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 { WEB, WEBAPP, SURFACE_TYPE_DELIMITER, FRAGMENT_DELIMITER } from "../constants/surface";
|
|
13
14
|
import { startsWith, isNil, isNonEmptyString, includes } from "../../../utils";
|
|
14
15
|
const SURFACE_REGEX = /^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/;
|
|
15
16
|
const AUTHORITY_REGEX = /^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/;
|
|
16
17
|
const PATH_REGEX = /^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/;
|
|
17
18
|
const FRAGMENT_REGEX = /^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/;
|
|
18
|
-
|
|
19
19
|
const normalizePath = (path = "/") => {
|
|
20
20
|
let end = path.length;
|
|
21
|
-
|
|
22
21
|
while (end > 0 && "/".indexOf(path.charAt(end - 1)) !== -1) {
|
|
23
22
|
end -= 1;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return path.substring(0, end) || "/";
|
|
27
25
|
};
|
|
28
|
-
|
|
29
26
|
const getSurfaceType = surfaceTypeMatch => isNonEmptyString(surfaceTypeMatch) ? surfaceTypeMatch.toLowerCase() : "";
|
|
30
|
-
|
|
31
27
|
const getAuthority = authorityMatch => isNonEmptyString(authorityMatch) ? authorityMatch.toLowerCase() : "";
|
|
32
|
-
|
|
33
28
|
const getPath = pathMatch => isNonEmptyString(pathMatch) ? normalizePath(pathMatch) : "/";
|
|
34
|
-
|
|
35
29
|
const parseSurface = surfaceString => {
|
|
36
30
|
const matched = surfaceString.match(SURFACE_REGEX);
|
|
37
31
|
return matched ? {
|
|
@@ -41,53 +35,40 @@ const parseSurface = surfaceString => {
|
|
|
41
35
|
fragment: matched[4]
|
|
42
36
|
} : null;
|
|
43
37
|
};
|
|
44
|
-
|
|
45
38
|
const stringifySurface = surface => `${surface.surfaceType}${SURFACE_TYPE_DELIMITER}${surface.authority}${surface.path || ""}${surface.fragment || ""}`;
|
|
46
|
-
|
|
47
39
|
export const buildPageSurface = getPageLocation => {
|
|
48
40
|
const location = getPageLocation();
|
|
49
41
|
const host = location.host.toLowerCase();
|
|
50
42
|
const path = location.pathname;
|
|
51
43
|
return WEB + SURFACE_TYPE_DELIMITER + host + normalizePath(path);
|
|
52
44
|
};
|
|
53
|
-
|
|
54
45
|
const expandFragmentSurface = (surface, getPageLocation) => startsWith(surface, FRAGMENT_DELIMITER) ? buildPageSurface(getPageLocation) + surface : surface;
|
|
55
|
-
|
|
56
46
|
const validateSurface = (surface, getPageLocation, logger) => {
|
|
57
47
|
const invalidateSurface = validationError => {
|
|
58
48
|
logger.warn(validationError);
|
|
59
49
|
return null;
|
|
60
50
|
};
|
|
61
|
-
|
|
62
51
|
if (!isNonEmptyString(surface)) {
|
|
63
52
|
return invalidateSurface(`Invalid surface: ${surface}`);
|
|
64
53
|
}
|
|
65
|
-
|
|
66
54
|
const expanded = expandFragmentSurface(surface, getPageLocation);
|
|
67
55
|
const parsed = parseSurface(expanded);
|
|
68
|
-
|
|
69
56
|
if (parsed === null) {
|
|
70
57
|
return invalidateSurface(`Invalid surface: ${surface}`);
|
|
71
58
|
}
|
|
72
|
-
|
|
73
59
|
if (!includes([WEB, WEBAPP], parsed.surfaceType)) {
|
|
74
60
|
return invalidateSurface(`Unsupported surface type ${parsed.surfaceType} in surface: ${surface}`);
|
|
75
61
|
}
|
|
76
|
-
|
|
77
62
|
if (!parsed.authority || !AUTHORITY_REGEX.test(parsed.authority)) {
|
|
78
63
|
return invalidateSurface(`Invalid authority ${parsed.authority} in surface: ${surface}`);
|
|
79
64
|
}
|
|
80
|
-
|
|
81
65
|
if (parsed.path && !PATH_REGEX.test(parsed.path)) {
|
|
82
66
|
return invalidateSurface(`Invalid path ${parsed.path} in surface: ${surface}`);
|
|
83
67
|
}
|
|
84
|
-
|
|
85
68
|
if (parsed.fragment && !FRAGMENT_REGEX.test(parsed.fragment)) {
|
|
86
69
|
return invalidateSurface(`Invalid fragment ${parsed.fragment} in surface: ${surface}`);
|
|
87
70
|
}
|
|
88
|
-
|
|
89
71
|
return parsed;
|
|
90
72
|
};
|
|
91
|
-
|
|
92
73
|
export const isPageWideSurface = scope => !!scope && scope.indexOf(WEB + SURFACE_TYPE_DELIMITER) === 0 && scope.indexOf(FRAGMENT_DELIMITER) === -1;
|
|
93
74
|
export const normalizeSurfaces = (surfaces = [], getPageLocation, logger) => surfaces.map(surface => validateSurface(surface, getPageLocation, logger)).filter(surface => !isNil(surface)).map(stringifySurface);
|
|
@@ -9,23 +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
|
-
import { crc32 } from "../../utils"; // serialize an object with a consistent ordering
|
|
13
12
|
|
|
13
|
+
import { crc32 } from "../../utils";
|
|
14
|
+
|
|
15
|
+
// serialize an object with a consistent ordering
|
|
14
16
|
const serialize = obj => {
|
|
15
17
|
if (Array.isArray(obj)) {
|
|
16
18
|
return obj.map(i => serialize(i));
|
|
17
19
|
}
|
|
18
|
-
|
|
19
20
|
if (typeof obj === "object" && obj !== null) {
|
|
20
21
|
return Object.keys(obj).sort().reduce((memo, key) => {
|
|
21
22
|
memo[key] = serialize(obj[key]);
|
|
22
23
|
return memo;
|
|
23
24
|
}, {});
|
|
24
25
|
}
|
|
25
|
-
|
|
26
26
|
return obj;
|
|
27
27
|
};
|
|
28
|
-
|
|
29
28
|
export default (obj => {
|
|
30
29
|
return crc32(JSON.stringify(serialize(obj)));
|
|
31
30
|
});
|
|
@@ -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 { GENERAL } from "../../constants/consentPurpose";
|
|
13
14
|
export default (({
|
|
14
15
|
storedConsent,
|
|
@@ -26,31 +27,26 @@ export default (({
|
|
|
26
27
|
let storedConsentByPurpose = storedConsent.read();
|
|
27
28
|
const identityCookieExists = doesIdentityCookieExist();
|
|
28
29
|
const consentCookieExists = storedConsentByPurpose[GENERAL] !== undefined;
|
|
29
|
-
|
|
30
30
|
if (!identityCookieExists || !consentCookieExists) {
|
|
31
31
|
consentHashStore.clear();
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
|
+
// If the identity cookie is gone, remove the consent cookie because the
|
|
33
34
|
// consent info is tied to the identity.
|
|
34
|
-
|
|
35
|
-
|
|
36
35
|
if (!identityCookieExists) {
|
|
37
36
|
storedConsent.clear();
|
|
38
37
|
storedConsentByPurpose = {};
|
|
39
38
|
}
|
|
40
|
-
|
|
41
39
|
consent.initializeConsent(defaultConsentByPurpose, storedConsentByPurpose);
|
|
42
|
-
|
|
43
40
|
const readCookieIfQueueEmpty = () => {
|
|
44
41
|
if (taskQueue.length === 0) {
|
|
45
|
-
const storedConsentObject = storedConsent.read();
|
|
42
|
+
const storedConsentObject = storedConsent.read();
|
|
43
|
+
// Only read cookies when there are no outstanding setConsent
|
|
46
44
|
// requests. This helps with race conditions.
|
|
47
|
-
|
|
48
45
|
if (storedConsentObject[GENERAL] !== undefined) {
|
|
49
46
|
consent.setConsent(storedConsentObject);
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
49
|
};
|
|
53
|
-
|
|
54
50
|
return {
|
|
55
51
|
commands: {
|
|
56
52
|
setConsent: {
|
|
@@ -70,7 +66,6 @@ export default (({
|
|
|
70
66
|
edgeConfigOverrides
|
|
71
67
|
});
|
|
72
68
|
}
|
|
73
|
-
|
|
74
69
|
return Promise.resolve();
|
|
75
70
|
}).then(() => consentHashes.save()).finally(readCookieIfQueueEmpty);
|
|
76
71
|
}
|