@adobe/alloy 2.18.0 → 2.19.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +25 -35
- package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
- package/libEs5/components/DataCollector/validateUserEventOptions.js +5 -6
- 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 +1 -1
- package/libEs5/components/Personalization/constants/surface.js +1 -1
- package/libEs5/components/Personalization/createApplyPropositions.js +47 -49
- package/libEs5/components/Personalization/createClickStorage.js +1 -10
- package/libEs5/components/Personalization/createCollect.js +5 -15
- package/libEs5/components/Personalization/createComponent.js +40 -42
- package/libEs5/components/Personalization/createFetchDataHandler.js +81 -26
- package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
- package/libEs5/components/Personalization/createOnClickHandler.js +8 -18
- package/libEs5/components/Personalization/{utils/composePersonalizationResultingObject.js → createPendingNotificationsHandler.js} +9 -18
- package/libEs5/components/Personalization/createPersonalizationDetails.js +24 -30
- package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
- package/libEs5/components/Personalization/createViewCacheManager.js +54 -28
- package/libEs5/components/Personalization/createViewChangeHandler.js +25 -37
- package/libEs5/components/Personalization/dom-actions/action.js +6 -37
- 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 +16 -27
- package/{libEs6/components/Personalization/utils/composePersonalizationResultingObject.js → libEs5/components/Personalization/dom-actions/createPreprocess.js} +14 -14
- 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 +1 -10
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +2 -14
- 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 +5 -15
- 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 +54 -0
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +38 -0
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +195 -0
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +42 -0
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +118 -0
- package/libEs5/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -5
- package/libEs5/components/Personalization/index.js +72 -80
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
- package/libEs5/components/Personalization/utils/createAsyncArray.js +39 -0
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
- package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
- package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +5 -8
- 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 +41 -32
- package/libEs5/core/createEventManager.js +27 -33
- 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 +32 -0
- 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 +7 -55
- 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 +5 -12
- package/libEs6/components/DataCollector/validateApplyResponse.js +6 -1
- package/libEs6/components/DataCollector/validateUserEventOptions.js +6 -2
- 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 +1 -0
- package/libEs6/components/Personalization/constants/surface.js +1 -0
- package/libEs6/components/Personalization/createApplyPropositions.js +31 -34
- package/libEs6/components/Personalization/createClickStorage.js +1 -8
- package/libEs6/components/Personalization/createCollect.js +0 -5
- package/libEs6/components/Personalization/createComponent.js +23 -21
- package/libEs6/components/Personalization/createFetchDataHandler.js +61 -10
- package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
- package/libEs6/components/Personalization/createOnClickHandler.js +4 -7
- package/{libEs5/components/Personalization/dom-actions/click.js → libEs6/components/Personalization/createPendingNotificationsHandler.js} +11 -15
- package/libEs6/components/Personalization/createPersonalizationDetails.js +9 -22
- package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
- package/libEs6/components/Personalization/createViewCacheManager.js +50 -24
- package/libEs6/components/Personalization/createViewChangeHandler.js +25 -29
- package/libEs6/components/Personalization/dom-actions/action.js +5 -14
- 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 +2 -14
- package/libEs6/components/Personalization/dom-actions/{click.js → createPreprocess.js} +7 -11
- 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 +2 -2
- package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +4 -7
- 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 +4 -6
- 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 +48 -0
- package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +34 -0
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +175 -0
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +38 -0
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +113 -0
- package/libEs6/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -3
- package/libEs6/components/Personalization/index.js +61 -42
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
- package/libEs6/components/Personalization/utils/createAsyncArray.js +35 -0
- package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
- package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
- package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
- package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +4 -4
- 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 +25 -31
- package/libEs6/core/createEventManager.js +8 -10
- 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 +23 -0
- 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 +2 -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 +2 -2
- package/libEs5/components/Personalization/createAutoRenderingHandler.js +0 -92
- package/libEs5/components/Personalization/createExecuteDecisions.js +0 -89
- package/libEs5/components/Personalization/createNonRenderingHandler.js +0 -66
- package/libEs5/components/Personalization/createOnResponseHandler.js +0 -73
- package/libEs5/components/Personalization/createRedirectHandler.js +0 -58
- package/libEs5/components/Personalization/dom-actions/executeActions.js +0 -75
- package/libEs5/components/Personalization/groupDecisions.js +0 -160
- package/libEs6/components/Personalization/createAutoRenderingHandler.js +0 -84
- package/libEs6/components/Personalization/createExecuteDecisions.js +0 -77
- package/libEs6/components/Personalization/createNonRenderingHandler.js +0 -56
- package/libEs6/components/Personalization/createOnResponseHandler.js +0 -68
- package/libEs6/components/Personalization/createRedirectHandler.js +0 -57
- package/libEs6/components/Personalization/dom-actions/executeActions.js +0 -66
- package/libEs6/components/Personalization/groupDecisions.js +0 -131
|
@@ -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
|
// TO-DOCUMENT: We queue subsequent requests until we have an identity cookie.
|
|
13
14
|
export default (({
|
|
14
15
|
doesIdentityCookieExist,
|
|
@@ -18,11 +19,11 @@ export default (({
|
|
|
18
19
|
logger
|
|
19
20
|
}) => {
|
|
20
21
|
let obtainedIdentityPromise;
|
|
21
|
-
|
|
22
22
|
const allowRequestToGoWithoutIdentity = request => {
|
|
23
23
|
setDomainForInitialIdentityPayload(request);
|
|
24
24
|
return addLegacyEcidToPayload(request.getPayload());
|
|
25
25
|
};
|
|
26
|
+
|
|
26
27
|
/**
|
|
27
28
|
* Ensures that if no identity cookie exists, we only let one request at a
|
|
28
29
|
* time without an identity until its response returns. In the meantime,
|
|
@@ -42,8 +43,6 @@ export default (({
|
|
|
42
43
|
* an identity is to prevent a single malformed request causing all other
|
|
43
44
|
* requests to never send.
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
46
|
return ({
|
|
48
47
|
request,
|
|
49
48
|
onResponse,
|
|
@@ -53,7 +52,6 @@ export default (({
|
|
|
53
52
|
request.setIsIdentityEstablished();
|
|
54
53
|
return Promise.resolve();
|
|
55
54
|
}
|
|
56
|
-
|
|
57
55
|
if (obtainedIdentityPromise) {
|
|
58
56
|
// We don't have an identity cookie, but at least one request has
|
|
59
57
|
// been sent to get it. Konductor may set the identity cookie in the
|
|
@@ -61,32 +59,35 @@ export default (({
|
|
|
61
59
|
// requiring identity returns and awaitIdentityCookie confirms the
|
|
62
60
|
// identity was set.
|
|
63
61
|
logger.info("Delaying request while retrieving ECID from server.");
|
|
64
|
-
const previousObtainedIdentityPromise = obtainedIdentityPromise;
|
|
62
|
+
const previousObtainedIdentityPromise = obtainedIdentityPromise;
|
|
63
|
+
|
|
64
|
+
// This promise resolves when we have an identity cookie. Additional
|
|
65
65
|
// requests are chained together so that only one is sent at a time
|
|
66
66
|
// until we have the identity cookie.
|
|
67
|
-
|
|
68
67
|
obtainedIdentityPromise = previousObtainedIdentityPromise.catch(() => {
|
|
69
68
|
return awaitIdentityCookie({
|
|
70
69
|
onResponse,
|
|
71
70
|
onRequestFailure
|
|
72
71
|
});
|
|
73
|
-
});
|
|
72
|
+
});
|
|
74
73
|
|
|
74
|
+
// When this returned promise resolves, the request will go out.
|
|
75
75
|
return previousObtainedIdentityPromise.then(() => {
|
|
76
76
|
logger.info("Resuming previously delayed request.");
|
|
77
77
|
request.setIsIdentityEstablished();
|
|
78
|
-
})
|
|
78
|
+
})
|
|
79
|
+
// If Konductor did not set the identity cookie on the previous
|
|
79
80
|
// request, then awaitIdentityCookie will reject its promise.
|
|
80
81
|
// Catch the rejection here and allow this request to go out.
|
|
81
82
|
.catch(() => {
|
|
82
83
|
return allowRequestToGoWithoutIdentity(request);
|
|
83
84
|
});
|
|
84
|
-
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// For Alloy+Konductor communication to be as robust as possible and
|
|
85
88
|
// to ensure we don't mint new ECIDs for requests that would otherwise
|
|
86
89
|
// be sent in parallel, we'll let this request go out to fetch the
|
|
87
90
|
// cookie
|
|
88
|
-
|
|
89
|
-
|
|
90
91
|
obtainedIdentityPromise = awaitIdentityCookie({
|
|
91
92
|
onResponse,
|
|
92
93
|
onRequestFailure
|
|
@@ -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
|
processIdSyncs
|
|
14
15
|
}) => {
|
|
@@ -10,21 +10,17 @@ 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
|
import { noop } from "../../utils";
|
|
13
|
-
|
|
14
13
|
const createResultLogMessage = (idSync, success) => {
|
|
15
14
|
return `ID sync ${success ? "succeeded" : "failed"}: ${idSync.spec.url}`;
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
export default (({
|
|
19
17
|
fireReferrerHideableImage,
|
|
20
18
|
logger
|
|
21
19
|
}) => idSyncs => {
|
|
22
20
|
const urlIdSyncs = idSyncs.filter(idSync => idSync.type === "url");
|
|
23
|
-
|
|
24
21
|
if (!urlIdSyncs.length) {
|
|
25
22
|
return Promise.resolve();
|
|
26
23
|
}
|
|
27
|
-
|
|
28
24
|
return Promise.all(urlIdSyncs.map(idSync => {
|
|
29
25
|
return fireReferrerHideableImage(idSync.spec).then(() => {
|
|
30
26
|
logger.info(createResultLogMessage(idSync, 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
|
import getBrowser from "../../utils/getBrowser";
|
|
13
14
|
export default (({
|
|
14
15
|
thirdPartyCookiesEnabled,
|
|
@@ -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 { isObject } from "../../../utils";
|
|
13
14
|
export default (({
|
|
14
15
|
logger
|
|
@@ -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 { isFunction } from "../../../utils";
|
|
13
14
|
export default (window => {
|
|
14
15
|
const Visitor = window.Visitor;
|
|
@@ -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 getVisitor from "./getVisitor";
|
|
13
14
|
export default (({
|
|
14
15
|
logger,
|
|
@@ -17,7 +18,6 @@ export default (({
|
|
|
17
18
|
}) => {
|
|
18
19
|
return () => {
|
|
19
20
|
const Visitor = getVisitor(window);
|
|
20
|
-
|
|
21
21
|
if (Visitor) {
|
|
22
22
|
// Need to explicitly wait for optIn because visitor will call callback
|
|
23
23
|
// with invalid values prior to optIn being approved
|
|
@@ -43,7 +43,6 @@ export default (({
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
|
|
47
46
|
return Promise.resolve();
|
|
48
47
|
};
|
|
49
48
|
});
|
|
@@ -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
|
+
|
|
12
13
|
import libraryVersion from "../../constants/libraryVersion";
|
|
13
14
|
import { CONFIGURE, SET_DEBUG } from "../../constants/coreCommands";
|
|
14
|
-
|
|
15
15
|
const prepareLibraryInfo = ({
|
|
16
16
|
config,
|
|
17
17
|
componentRegistry
|
|
18
18
|
}) => {
|
|
19
19
|
const allCommands = [...componentRegistry.getCommandNames(), CONFIGURE, SET_DEBUG].sort();
|
|
20
|
-
const resultConfig = {
|
|
20
|
+
const resultConfig = {
|
|
21
|
+
...config
|
|
21
22
|
};
|
|
22
23
|
Object.keys(config).forEach(key => {
|
|
23
24
|
const value = config[key];
|
|
24
|
-
|
|
25
25
|
if (typeof value !== "function") {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
28
|
resultConfig[key] = value.toString();
|
|
30
29
|
});
|
|
31
30
|
return {
|
|
@@ -34,7 +33,6 @@ const prepareLibraryInfo = ({
|
|
|
34
33
|
commands: allCommands
|
|
35
34
|
};
|
|
36
35
|
};
|
|
37
|
-
|
|
38
36
|
const createLibraryInfo = ({
|
|
39
37
|
config,
|
|
40
38
|
componentRegistry
|
|
@@ -55,6 +53,5 @@ const createLibraryInfo = ({
|
|
|
55
53
|
}
|
|
56
54
|
};
|
|
57
55
|
};
|
|
58
|
-
|
|
59
56
|
createLibraryInfo.namespace = "LibraryInfo";
|
|
60
57
|
export default createLibraryInfo;
|
|
@@ -9,8 +9,8 @@ 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 processResponse from "./processResponse";
|
|
13
12
|
|
|
13
|
+
import processResponse from "./processResponse";
|
|
14
14
|
const createMachineLearning = () => {
|
|
15
15
|
return {
|
|
16
16
|
lifecycle: {
|
|
@@ -19,6 +19,5 @@ const createMachineLearning = () => {
|
|
|
19
19
|
commands: {}
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
-
|
|
23
22
|
createMachineLearning.namespace = "MachineLearning";
|
|
24
23
|
export default createMachineLearning;
|
|
@@ -8,6 +8,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
8
8
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
9
9
|
governing permissions and limitations under the License.
|
|
10
10
|
*/
|
|
11
|
+
|
|
11
12
|
export default (({
|
|
12
13
|
response
|
|
13
14
|
}) => {
|
|
@@ -9,5 +9,6 @@ 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 DISPLAY = "decisioning.propositionDisplay";
|
|
13
14
|
export const INTERACT = "decisioning.propositionInteract";
|
|
@@ -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 PropositionEventType = {
|
|
13
14
|
DISPLAY: "display",
|
|
14
15
|
INTERACT: "interact"
|
|
@@ -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 DEFAULT_CONTENT_ITEM = "https://ns.adobe.com/personalization/default-content-item";
|
|
13
14
|
export const DOM_ACTION = "https://ns.adobe.com/personalization/dom-action";
|
|
14
15
|
export const HTML_CONTENT_ITEM = "https://ns.adobe.com/personalization/html-content-item";
|
|
@@ -9,4 +9,5 @@ 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 VIEW_SCOPE_TYPE = "view";
|
|
@@ -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 WEB = "web";
|
|
13
14
|
export const WEBAPP = "webapp";
|
|
14
15
|
export const SURFACE_TYPE_DELIMITER = "://";
|
|
@@ -9,44 +9,44 @@ 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
13
|
import { isNonEmptyArray, isObject } from "../../utils";
|
|
14
14
|
import { DOM_ACTION, HTML_CONTENT_ITEM } from "./constants/schema";
|
|
15
15
|
import PAGE_WIDE_SCOPE from "../../constants/pageWideScope";
|
|
16
|
-
|
|
17
|
-
export const SUPPORTED_SCHEMAS = [DOM_ACTION, HTML_CONTENT_ITEM];
|
|
16
|
+
const SUPPORTED_SCHEMAS = [DOM_ACTION, HTML_CONTENT_ITEM];
|
|
18
17
|
export default (({
|
|
19
|
-
|
|
18
|
+
processPropositions,
|
|
19
|
+
createProposition,
|
|
20
|
+
pendingDisplayNotifications,
|
|
21
|
+
viewCache
|
|
20
22
|
}) => {
|
|
21
23
|
const filterItemsPredicate = item => SUPPORTED_SCHEMAS.indexOf(item.schema) > -1;
|
|
22
|
-
|
|
23
24
|
const updatePropositionItems = ({
|
|
24
25
|
items,
|
|
25
26
|
metadataForScope
|
|
26
27
|
}) => {
|
|
27
28
|
return items.filter(filterItemsPredicate).map(item => {
|
|
28
29
|
if (item.schema !== HTML_CONTENT_ITEM) {
|
|
29
|
-
return {
|
|
30
|
+
return {
|
|
31
|
+
...item
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
|
-
|
|
33
34
|
if (isObject(metadataForScope)) {
|
|
34
|
-
return {
|
|
35
|
-
|
|
35
|
+
return {
|
|
36
|
+
...item,
|
|
37
|
+
data: {
|
|
38
|
+
...item.data,
|
|
36
39
|
selector: metadataForScope.selector,
|
|
37
40
|
type: metadataForScope.actionType
|
|
38
41
|
}
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
|
-
|
|
42
44
|
return undefined;
|
|
43
45
|
}).filter(item => item);
|
|
44
46
|
};
|
|
45
|
-
|
|
46
47
|
const filterPropositionsPredicate = proposition => {
|
|
47
48
|
return !(proposition.scope === PAGE_WIDE_SCOPE && proposition.renderAttempted);
|
|
48
49
|
};
|
|
49
|
-
|
|
50
50
|
const preparePropositions = ({
|
|
51
51
|
propositions,
|
|
52
52
|
metadata
|
|
@@ -68,35 +68,32 @@ export default (({
|
|
|
68
68
|
})
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
|
|
72
71
|
return proposition;
|
|
73
72
|
}).filter(proposition => isNonEmptyArray(proposition.items));
|
|
74
73
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
return ({
|
|
75
|
+
propositions = [],
|
|
76
|
+
metadata = {},
|
|
77
|
+
viewName
|
|
79
78
|
}) => {
|
|
80
79
|
const propositionsToExecute = preparePropositions({
|
|
81
80
|
propositions,
|
|
82
81
|
metadata
|
|
82
|
+
}).map(proposition => createProposition(proposition));
|
|
83
|
+
return Promise.resolve().then(() => {
|
|
84
|
+
if (viewName) {
|
|
85
|
+
return viewCache.getView(viewName);
|
|
86
|
+
}
|
|
87
|
+
return [];
|
|
88
|
+
}).then(additionalPropositions => {
|
|
89
|
+
const {
|
|
90
|
+
render,
|
|
91
|
+
returnedPropositions
|
|
92
|
+
} = processPropositions([...propositionsToExecute, ...additionalPropositions]);
|
|
93
|
+
pendingDisplayNotifications.concat(render());
|
|
94
|
+
return {
|
|
95
|
+
propositions: returnedPropositions
|
|
96
|
+
};
|
|
83
97
|
});
|
|
84
|
-
return executeDecisions(propositionsToExecute).then(() => {
|
|
85
|
-
return composePersonalizationResultingObject(propositionsToExecute, true);
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return ({
|
|
90
|
-
propositions,
|
|
91
|
-
metadata = {}
|
|
92
|
-
}) => {
|
|
93
|
-
if (isNonEmptyArray(propositions)) {
|
|
94
|
-
return applyPropositions({
|
|
95
|
-
propositions,
|
|
96
|
-
metadata
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return Promise.resolve(EMPTY_PROPOSITIONS);
|
|
101
98
|
};
|
|
102
99
|
});
|
|
@@ -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
|
const metasToArray = metas => {
|
|
13
14
|
return Object.keys(metas).map(key => {
|
|
14
15
|
return {
|
|
@@ -19,36 +20,28 @@ const metasToArray = metas => {
|
|
|
19
20
|
};
|
|
20
21
|
});
|
|
21
22
|
};
|
|
22
|
-
|
|
23
23
|
export default (() => {
|
|
24
24
|
const clickStorage = {};
|
|
25
|
-
|
|
26
25
|
const storeClickMetrics = value => {
|
|
27
26
|
if (!clickStorage[value.selector]) {
|
|
28
27
|
clickStorage[value.selector] = {};
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
clickStorage[value.selector][value.meta.id] = {
|
|
32
30
|
scope: value.meta.scope,
|
|
33
31
|
scopeDetails: value.meta.scopeDetails,
|
|
34
32
|
trackingLabel: value.meta.trackingLabel
|
|
35
33
|
};
|
|
36
34
|
};
|
|
37
|
-
|
|
38
35
|
const getClickSelectors = () => {
|
|
39
36
|
return Object.keys(clickStorage);
|
|
40
37
|
};
|
|
41
|
-
|
|
42
38
|
const getClickMetasBySelector = selector => {
|
|
43
39
|
const metas = clickStorage[selector];
|
|
44
|
-
|
|
45
40
|
if (!metas) {
|
|
46
41
|
return {};
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
return metasToArray(clickStorage[selector]);
|
|
50
44
|
};
|
|
51
|
-
|
|
52
45
|
return {
|
|
53
46
|
storeClickMetrics,
|
|
54
47
|
getClickSelectors,
|
|
@@ -26,7 +26,6 @@ export default (({
|
|
|
26
26
|
const data = {
|
|
27
27
|
eventType: DISPLAY
|
|
28
28
|
};
|
|
29
|
-
|
|
30
29
|
if (viewName) {
|
|
31
30
|
data.web = {
|
|
32
31
|
webPageDetails: {
|
|
@@ -34,17 +33,13 @@ export default (({
|
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
35
|
}
|
|
37
|
-
|
|
38
36
|
if (isNonEmptyArray(decisionsMeta)) {
|
|
39
37
|
mergeDecisionsMeta(event, decisionsMeta, PropositionEventType.DISPLAY);
|
|
40
38
|
}
|
|
41
|
-
|
|
42
39
|
event.mergeXdm(data);
|
|
43
|
-
|
|
44
40
|
if (documentMayUnload) {
|
|
45
41
|
event.documentMayUnload();
|
|
46
42
|
}
|
|
47
|
-
|
|
48
43
|
return eventManager.sendEvent(event);
|
|
49
44
|
};
|
|
50
45
|
});
|
|
@@ -9,7 +9,8 @@ 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 { noop } from "../../utils";
|
|
13
14
|
import createPersonalizationDetails from "./createPersonalizationDetails";
|
|
14
15
|
import { AUTHORING_ENABLED } from "./constants/loggerMessage";
|
|
15
16
|
import validateApplyPropositionsOptions from "./validateApplyPropositionsOptions";
|
|
@@ -24,7 +25,8 @@ export default (({
|
|
|
24
25
|
viewCache,
|
|
25
26
|
showContainers,
|
|
26
27
|
applyPropositions,
|
|
27
|
-
setTargetMigration
|
|
28
|
+
setTargetMigration,
|
|
29
|
+
pendingNotificationsHandler
|
|
28
30
|
}) => {
|
|
29
31
|
return {
|
|
30
32
|
lifecycle: {
|
|
@@ -34,7 +36,6 @@ export default (({
|
|
|
34
36
|
setTargetMigration(request);
|
|
35
37
|
return Promise.resolve();
|
|
36
38
|
},
|
|
37
|
-
|
|
38
39
|
onBeforeEvent({
|
|
39
40
|
event,
|
|
40
41
|
renderDecisions,
|
|
@@ -48,50 +49,52 @@ export default (({
|
|
|
48
49
|
propositions: []
|
|
49
50
|
}));
|
|
50
51
|
onRequestFailure(() => showContainers());
|
|
51
|
-
|
|
52
52
|
if (isAuthoringModeEnabled()) {
|
|
53
|
-
logger.warn(AUTHORING_ENABLED);
|
|
53
|
+
logger.warn(AUTHORING_ENABLED);
|
|
54
54
|
|
|
55
|
+
// If we are in authoring mode we disable personalization
|
|
55
56
|
mergeQuery(event, {
|
|
56
57
|
enabled: false
|
|
57
58
|
});
|
|
58
|
-
return;
|
|
59
|
+
return Promise.resolve();
|
|
59
60
|
}
|
|
60
|
-
|
|
61
61
|
const personalizationDetails = createPersonalizationDetails({
|
|
62
62
|
getPageLocation,
|
|
63
63
|
renderDecisions,
|
|
64
64
|
decisionScopes,
|
|
65
65
|
personalization,
|
|
66
66
|
event,
|
|
67
|
-
viewCache,
|
|
67
|
+
isCacheInitialized: viewCache.isInitialized(),
|
|
68
68
|
logger
|
|
69
69
|
});
|
|
70
|
-
|
|
70
|
+
const handlerPromises = [];
|
|
71
|
+
if (personalizationDetails.shouldAddPendingDisplayNotifications()) {
|
|
72
|
+
handlerPromises.push(pendingNotificationsHandler({
|
|
73
|
+
event
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
71
76
|
if (personalizationDetails.shouldFetchData()) {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
onRequestFailure(() => decisionsDeferred.reject());
|
|
77
|
+
const cacheUpdate = viewCache.createCacheUpdate(personalizationDetails.getViewName());
|
|
78
|
+
onRequestFailure(() => cacheUpdate.cancel());
|
|
75
79
|
fetchDataHandler({
|
|
76
|
-
|
|
80
|
+
cacheUpdate,
|
|
77
81
|
personalizationDetails,
|
|
78
82
|
event,
|
|
79
83
|
onResponse
|
|
80
84
|
});
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (personalizationDetails.shouldUseCachedData()) {
|
|
85
|
+
} else if (personalizationDetails.shouldUseCachedData()) {
|
|
85
86
|
// eslint-disable-next-line consistent-return
|
|
86
|
-
|
|
87
|
+
handlerPromises.push(viewChangeHandler({
|
|
87
88
|
personalizationDetails,
|
|
88
89
|
event,
|
|
89
90
|
onResponse,
|
|
90
91
|
onRequestFailure
|
|
91
|
-
});
|
|
92
|
+
}));
|
|
92
93
|
}
|
|
94
|
+
// We can wait for personalization to be applied and for
|
|
95
|
+
// the fetch data request to complete in parallel.
|
|
96
|
+
return Promise.all(handlerPromises);
|
|
93
97
|
},
|
|
94
|
-
|
|
95
98
|
onClick({
|
|
96
99
|
event,
|
|
97
100
|
clickedElement
|
|
@@ -101,7 +104,6 @@ export default (({
|
|
|
101
104
|
clickedElement
|
|
102
105
|
});
|
|
103
106
|
}
|
|
104
|
-
|
|
105
107
|
},
|
|
106
108
|
commands: {
|
|
107
109
|
applyPropositions: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright
|
|
2
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
3
3
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
5
|
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -9,14 +9,20 @@ 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 { defer, groupBy } from "../../utils";
|
|
13
|
+
const DECISIONS_HANDLE = "personalization:decisions";
|
|
12
14
|
export default (({
|
|
13
15
|
prehidingStyle,
|
|
14
|
-
|
|
16
|
+
showContainers,
|
|
15
17
|
hideContainers,
|
|
16
|
-
mergeQuery
|
|
18
|
+
mergeQuery,
|
|
19
|
+
collect,
|
|
20
|
+
processPropositions,
|
|
21
|
+
createProposition,
|
|
22
|
+
pendingDisplayNotifications
|
|
17
23
|
}) => {
|
|
18
24
|
return ({
|
|
19
|
-
|
|
25
|
+
cacheUpdate,
|
|
20
26
|
personalizationDetails,
|
|
21
27
|
event,
|
|
22
28
|
onResponse
|
|
@@ -24,14 +30,59 @@ export default (({
|
|
|
24
30
|
if (personalizationDetails.isRenderDecisions()) {
|
|
25
31
|
hideContainers(prehidingStyle);
|
|
26
32
|
}
|
|
27
|
-
|
|
28
33
|
mergeQuery(event, personalizationDetails.createQueryDetails());
|
|
34
|
+
let handleNotifications;
|
|
35
|
+
if (personalizationDetails.isSendDisplayNotifications()) {
|
|
36
|
+
handleNotifications = decisionsMeta => {
|
|
37
|
+
if (decisionsMeta.length > 0) {
|
|
38
|
+
collect({
|
|
39
|
+
decisionsMeta,
|
|
40
|
+
viewName: personalizationDetails.getViewName()
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
} else {
|
|
45
|
+
const displayNotificationsDeferred = defer();
|
|
46
|
+
pendingDisplayNotifications.concat(displayNotificationsDeferred.promise);
|
|
47
|
+
handleNotifications = displayNotificationsDeferred.resolve;
|
|
48
|
+
}
|
|
29
49
|
onResponse(({
|
|
30
50
|
response
|
|
31
|
-
}) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
51
|
+
}) => {
|
|
52
|
+
const handles = response.getPayloadsByType(DECISIONS_HANDLE);
|
|
53
|
+
const propositions = handles.map(handle => createProposition(handle));
|
|
54
|
+
const {
|
|
55
|
+
page: pagePropositions = [],
|
|
56
|
+
view: viewPropositions = [],
|
|
57
|
+
proposition: nonRenderedPropositions = []
|
|
58
|
+
} = groupBy(propositions, p => p.getScopeType());
|
|
59
|
+
const currentViewPropositions = cacheUpdate.update(viewPropositions);
|
|
60
|
+
let render;
|
|
61
|
+
let returnedPropositions;
|
|
62
|
+
let returnedDecisions;
|
|
63
|
+
if (personalizationDetails.isRenderDecisions()) {
|
|
64
|
+
({
|
|
65
|
+
render,
|
|
66
|
+
returnedPropositions,
|
|
67
|
+
returnedDecisions
|
|
68
|
+
} = processPropositions([...pagePropositions, ...currentViewPropositions], nonRenderedPropositions));
|
|
69
|
+
render().then(decisionsMeta => {
|
|
70
|
+
showContainers();
|
|
71
|
+
handleNotifications(decisionsMeta);
|
|
72
|
+
}).catch(e => {
|
|
73
|
+
showContainers();
|
|
74
|
+
throw e;
|
|
75
|
+
});
|
|
76
|
+
} else {
|
|
77
|
+
({
|
|
78
|
+
returnedPropositions,
|
|
79
|
+
returnedDecisions
|
|
80
|
+
} = processPropositions([], [...pagePropositions, ...currentViewPropositions, ...nonRenderedPropositions]));
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
propositions: returnedPropositions,
|
|
84
|
+
decisions: returnedDecisions
|
|
85
|
+
};
|
|
86
|
+
});
|
|
36
87
|
};
|
|
37
88
|
});
|
|
@@ -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
|
window
|
|
14
15
|
}) => () => {
|