@adobe/alloy 2.21.1 → 2.22.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.cjs +0 -1
- package/libEs5/baseCode/index.js +3 -2
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +23 -20
- package/libEs5/components/ActivityCollector/configValidators.js +2 -2
- package/libEs5/components/ActivityCollector/createClickActivityStorage.js +11 -9
- package/libEs5/components/ActivityCollector/createClickedElementProperties.js +39 -32
- package/libEs5/components/ActivityCollector/createGetClickedElementProperties.js +28 -20
- package/libEs5/components/ActivityCollector/createInjectClickedElementProperties.js +24 -21
- package/libEs5/components/ActivityCollector/createRecallAndInjectClickedElementProperties.js +10 -8
- package/libEs5/components/ActivityCollector/createStorePageViewProperties.js +6 -4
- package/libEs5/components/ActivityCollector/getLinkName.js +19 -18
- package/libEs5/components/ActivityCollector/getLinkRegion.js +10 -9
- package/libEs5/components/ActivityCollector/index.js +61 -45
- package/libEs5/components/ActivityCollector/utils/activityMapExtensionEnabled.js +3 -5
- package/libEs5/components/ActivityCollector/utils/createTransientStorage.js +7 -6
- package/libEs5/components/ActivityCollector/utils/determineLinkType.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/elementHasClickHandler.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/extractDomain.js +5 -4
- package/libEs5/components/ActivityCollector/utils/dom/findClickableElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/getAbsoluteUrlFromAnchorElement.js +11 -8
- package/libEs5/components/ActivityCollector/utils/dom/isButtonSubmitElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isDownloadLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isExitLink.js +6 -5
- package/libEs5/components/ActivityCollector/utils/dom/isInputSubmitElement.js +4 -3
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedAnchorElement.js +3 -2
- package/libEs5/components/ActivityCollector/utils/dom/isSupportedTextNode.js +4 -3
- package/libEs5/components/ActivityCollector/utils/hasPageName.js +4 -3
- package/libEs5/components/ActivityCollector/utils/isDifferentDomains.js +5 -4
- package/libEs5/components/ActivityCollector/utils/trimQueryFromUrl.js +5 -4
- package/libEs5/components/ActivityCollector/utils/truncateWhiteSpace.js +3 -2
- package/libEs5/components/ActivityCollector/utils/urlStartsWithScheme.js +3 -2
- package/libEs5/components/Audiences/index.js +13 -12
- package/libEs5/components/Audiences/injectProcessDestinations.js +32 -35
- package/libEs5/components/Audiences/injectProcessResponse.js +19 -16
- package/libEs5/components/Context/createComponent.js +10 -13
- package/libEs5/components/Context/implementationDetails.js +5 -4
- package/libEs5/components/Context/index.js +24 -28
- package/libEs5/components/Context/injectDevice.js +23 -15
- package/libEs5/components/Context/injectEnvironment.js +17 -12
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +12 -21
- package/libEs5/components/Context/injectPlaceContext.js +8 -7
- package/libEs5/components/Context/injectTimestamp.js +6 -5
- package/libEs5/components/Context/injectWeb.js +6 -5
- package/libEs5/components/DataCollector/index.js +37 -38
- package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
- package/libEs5/components/DataCollector/validateUserEventOptions.js +6 -4
- package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +11 -8
- package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +10 -7
- package/libEs5/components/DecisioningEngine/constants.js +3 -3
- package/libEs5/components/DecisioningEngine/createApplyResponse.js +15 -15
- package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -13
- package/libEs5/components/DecisioningEngine/createContextProvider.js +48 -44
- package/libEs5/components/DecisioningEngine/createDecisionHistory.js +7 -5
- package/libEs5/components/DecisioningEngine/createDecisionProvider.js +16 -21
- package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +39 -37
- package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +21 -19
- package/libEs5/components/DecisioningEngine/createEventRegistry.js +63 -67
- package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +23 -22
- package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +100 -55
- package/libEs5/components/DecisioningEngine/index.js +83 -54
- package/libEs5/components/DecisioningEngine/utils.js +43 -38
- package/libEs5/components/EventMerge/createComponent.js +5 -3
- package/libEs5/components/EventMerge/createEventMergeId.js +3 -2
- package/libEs5/components/EventMerge/index.js +1 -1
- package/libEs5/components/Identity/addEcidQueryToPayload.js +3 -2
- package/libEs5/components/Identity/addEcidToPayload.js +3 -2
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +13 -23
- package/libEs5/components/Identity/configValidators.js +1 -1
- package/libEs5/components/Identity/constants/authState.js +3 -3
- package/libEs5/components/Identity/createComponent.js +39 -33
- package/libEs5/components/Identity/createLegacyIdentity.js +29 -29
- package/libEs5/components/Identity/getEcidFromResponse.js +5 -7
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +17 -15
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +10 -8
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +5 -4
- package/libEs5/components/Identity/index.js +61 -62
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +8 -6
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +46 -52
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +14 -11
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +25 -24
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +6 -4
- package/libEs5/components/Identity/injectProcessIdSyncs.js +20 -22
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +7 -5
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +8 -6
- package/libEs5/components/Identity/visitorService/getVisitor.js +4 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +15 -13
- package/libEs5/components/LegacyMediaAnalytics/constants/constants.js +9 -9
- package/libEs5/components/LegacyMediaAnalytics/constants/mediaKeysToXdmConverter.js +2 -2
- package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +61 -63
- package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +38 -37
- package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +54 -52
- package/libEs5/components/LegacyMediaAnalytics/index.js +32 -33
- package/libEs5/components/LibraryInfo/index.js +23 -30
- package/libEs5/components/MachineLearning/index.js +1 -1
- package/libEs5/components/MachineLearning/processResponse.js +5 -3
- package/libEs5/components/Personalization/constants/loggerMessage.js +2 -2
- package/libEs5/components/Personalization/constants/scopeType.js +3 -3
- package/libEs5/components/Personalization/constants/surface.js +4 -4
- package/libEs5/components/Personalization/createActionsProvider.js +37 -32
- package/libEs5/components/Personalization/createApplyPropositions.js +71 -81
- package/libEs5/components/Personalization/createClickStorage.js +30 -32
- package/libEs5/components/Personalization/createComponent.js +65 -74
- package/libEs5/components/Personalization/createFetchDataHandler.js +83 -52
- package/libEs5/components/Personalization/createGetPageLocation.js +6 -6
- package/libEs5/components/Personalization/createHandleConsentFlicker.js +15 -14
- package/libEs5/components/Personalization/createInteractionStorage.js +25 -39
- package/libEs5/components/Personalization/createNotificationHandler.js +9 -10
- package/libEs5/components/Personalization/createOnClickHandler.js +29 -25
- package/libEs5/components/Personalization/createOnDecisionHandler.js +23 -21
- package/libEs5/components/Personalization/createPersonalizationDetails.js +39 -45
- package/libEs5/components/Personalization/createPreprocessors.js +7 -7
- package/libEs5/components/Personalization/createSetTargetMigration.js +6 -4
- package/libEs5/components/Personalization/createViewCacheManager.js +29 -32
- package/libEs5/components/Personalization/createViewChangeHandler.js +35 -20
- package/libEs5/components/Personalization/dom-actions/action.js +24 -25
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +12 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +8 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +28 -33
- package/libEs5/components/Personalization/dom-actions/clicks/collectInteractions.js +37 -40
- package/libEs5/components/Personalization/dom-actions/collectInteractions.js +3 -2
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +10 -11
- package/libEs5/components/Personalization/dom-actions/createRedirect.js +11 -13
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +6 -3
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +3 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +7 -6
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +7 -7
- package/libEs5/components/Personalization/dom-actions/dom/index.js +14 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +4 -3
- package/libEs5/components/Personalization/dom-actions/dom/isDomElement.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -5
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +39 -38
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +3 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +4 -3
- package/libEs5/components/Personalization/dom-actions/images.js +10 -9
- package/libEs5/components/Personalization/dom-actions/index.js +1 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +40 -25
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +9 -8
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +8 -7
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +13 -10
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +9 -7
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +14 -9
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +16 -14
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +4 -3
- package/libEs5/components/Personalization/dom-actions/scripts.js +58 -38
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +4 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +5 -4
- package/libEs5/components/Personalization/dom-actions/setStyles.js +8 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +3 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +3 -2
- package/libEs5/components/Personalization/flicker/index.js +66 -49
- package/libEs5/components/Personalization/handlers/createDecorateProposition.js +16 -13
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +45 -50
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +30 -29
- package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +35 -31
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +109 -105
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +38 -28
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +59 -67
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +3 -2
- package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +140 -121
- package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +4 -5
- package/libEs5/components/Personalization/in-app-message-actions/utils.js +23 -19
- package/libEs5/components/Personalization/index.js +120 -103
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +10 -10
- package/libEs5/components/Personalization/utils/createAsyncArray.js +10 -9
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +3 -3
- package/libEs5/components/Personalization/utils/metaUtils.js +14 -19
- package/libEs5/components/Personalization/utils/surfaceUtils.js +27 -46
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +8 -6
- package/libEs5/components/Privacy/computeConsentHash.js +9 -9
- package/libEs5/components/Privacy/createComponent.js +32 -32
- package/libEs5/components/Privacy/createConsentHashStore.js +27 -24
- package/libEs5/components/Privacy/createConsentRequest.js +10 -8
- package/libEs5/components/Privacy/createConsentRequestPayload.js +9 -8
- package/libEs5/components/Privacy/createStoredConsent.js +11 -9
- package/libEs5/components/Privacy/index.js +26 -23
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +30 -29
- package/libEs5/components/Privacy/parseConsentCookie.js +6 -14
- package/libEs5/components/StreamingMedia/createMediaEventManager.js +59 -45
- package/libEs5/components/StreamingMedia/createMediaRequest.js +8 -6
- package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +22 -17
- package/libEs5/components/StreamingMedia/createMediaSessionCacheManager.js +22 -18
- package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +30 -29
- package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +41 -36
- package/libEs5/components/StreamingMedia/createTrackMediaSession.js +25 -22
- package/libEs5/components/StreamingMedia/index.js +33 -34
- package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +9 -12
- package/libEs5/components/StreamingMedia/validateMediaSessionOptions.js +6 -4
- package/libEs5/constants/browser.js +7 -7
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +3 -3
- package/libEs5/constants/contentType.js +2 -2
- package/libEs5/constants/cookieNameKey.js +3 -3
- package/libEs5/constants/coreCommands.js +2 -2
- package/libEs5/constants/decisionProvider.js +4 -3
- package/libEs5/constants/domain.js +2 -2
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/eventType.js +5 -5
- package/libEs5/constants/handle.js +1 -1
- package/libEs5/constants/httpHeaderNames.js +2 -2
- package/libEs5/constants/httpStatusCode.js +5 -5
- package/libEs5/constants/identityMapAuthenticatedState.js +3 -3
- package/libEs5/constants/legacyCookies.js +3 -3
- package/libEs5/constants/libraryVersion.js +1 -1
- package/libEs5/constants/propositionEventType.js +18 -12
- package/libEs5/constants/propositionInteractionType.js +4 -4
- package/libEs5/constants/schema.js +11 -11
- package/libEs5/constants/sessionDataKeys.js +1 -1
- package/libEs5/constants/tagName.js +7 -7
- package/libEs5/core/buildAndValidateConfig.js +55 -69
- package/libEs5/core/componentCreators.js +70 -41
- package/libEs5/core/config/createConfig.js +4 -3
- package/libEs5/core/config/createCoreConfigs.js +11 -12
- package/libEs5/core/consent/createConsent.js +16 -14
- package/libEs5/core/consent/createConsentStateMachine.js +27 -35
- package/libEs5/core/createComponentRegistry.js +28 -27
- package/libEs5/core/createCookieTransfer.js +18 -18
- package/libEs5/core/createEvent.js +39 -44
- package/libEs5/core/createEventManager.js +64 -69
- package/libEs5/core/createInstanceFunction.js +4 -11
- package/libEs5/core/createLifecycle.js +14 -19
- package/libEs5/core/createLogController.js +30 -29
- package/libEs5/core/createLogger.js +41 -27
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +6 -5
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +29 -32
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +19 -25
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +11 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +20 -16
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +42 -38
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +8 -12
- package/libEs5/core/index.js +137 -133
- package/libEs5/core/initializeComponents.js +17 -15
- package/libEs5/core/injectCreateResponse.js +47 -53
- package/libEs5/core/injectExecuteCommand.js +39 -40
- package/libEs5/core/injectHandleError.js +19 -19
- package/libEs5/core/injectShouldTransferCookie.js +12 -12
- package/libEs5/core/network/getRequestRetryDelay.js +20 -18
- package/libEs5/core/network/injectSendNetworkRequest.js +46 -49
- package/libEs5/core/network/isRequestRetryable.js +9 -8
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +10 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +18 -19
- package/libEs5/core/requiredComponentCreators.js +23 -0
- package/libEs5/core/validateCommandOptions.js +14 -11
- package/libEs5/index.js +43 -22
- package/libEs5/standalone.js +6 -1
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +3 -5
- package/libEs5/utils/assignConcatArrayValues.js +9 -18
- package/libEs5/utils/clone.js +2 -3
- package/libEs5/utils/cookieJar.js +4 -4
- package/libEs5/utils/crc32.js +8 -8
- package/libEs5/utils/createCallbackAggregator.js +7 -11
- package/libEs5/utils/createCollect.js +52 -0
- package/libEs5/utils/createLoggingCookieJar.js +14 -16
- package/libEs5/utils/createMerger.js +9 -10
- package/libEs5/utils/createSubscription.js +48 -48
- package/libEs5/utils/createTaskQueue.js +8 -7
- package/libEs5/utils/deduplicateArray.js +7 -11
- package/libEs5/utils/deepAssign.js +7 -11
- package/libEs5/utils/defer.js +5 -4
- package/libEs5/utils/dom/appendNode.js +3 -2
- package/libEs5/utils/dom/awaitSelector.js +36 -34
- package/libEs5/utils/dom/createNode.js +10 -15
- package/libEs5/utils/dom/index.js +8 -8
- package/libEs5/utils/dom/isShadowSelector.js +2 -3
- package/libEs5/utils/dom/matchesSelector.js +3 -2
- package/libEs5/utils/dom/querySelectorAll.js +5 -13
- package/libEs5/utils/dom/removeNode.js +4 -3
- package/libEs5/utils/dom/selectNodes.js +3 -3
- package/libEs5/utils/dom/selectNodesWithShadow.js +14 -23
- package/libEs5/utils/event.js +49 -0
- package/libEs5/utils/filterObject.js +14 -12
- package/libEs5/utils/fireImage.js +10 -9
- package/libEs5/utils/flattenArray.js +4 -11
- package/libEs5/utils/flattenObject.js +8 -18
- package/libEs5/utils/getApexDomain.js +7 -6
- package/libEs5/utils/getBrowser.js +45 -12
- package/libEs5/utils/getLastArrayItems.js +2 -3
- package/libEs5/utils/getNamespacedCookieName.js +2 -3
- package/libEs5/utils/groupBy.js +6 -5
- package/libEs5/utils/index.js +50 -113
- package/libEs5/utils/injectDoesIdentityCookieExist.js +7 -7
- package/libEs5/utils/injectFireReferrerHideableImage.js +28 -34
- package/libEs5/utils/injectStorage.js +13 -15
- package/libEs5/utils/intersection.js +2 -6
- package/libEs5/utils/isBlankString.js +2 -3
- package/libEs5/utils/isBoolean.js +2 -3
- package/libEs5/utils/isEmptyObject.js +2 -3
- package/libEs5/utils/isFunction.js +2 -3
- package/libEs5/utils/isInteger.js +4 -3
- package/libEs5/utils/isNamespacedCookieName.js +2 -3
- package/libEs5/utils/isNil.js +2 -3
- package/libEs5/utils/isNonEmptyArray.js +2 -3
- package/libEs5/utils/isNonEmptyString.js +2 -3
- package/libEs5/utils/isNumber.js +2 -4
- package/libEs5/utils/isObject.js +3 -4
- package/libEs5/utils/isString.js +2 -3
- package/libEs5/utils/isUnique.js +6 -5
- package/libEs5/utils/isValidRegExp.js +3 -2
- package/libEs5/utils/memoize.js +7 -6
- package/libEs5/utils/noop.js +2 -1
- package/libEs5/utils/parseUrl.js +19 -25
- package/libEs5/utils/prepareConfigOverridesForEdge.js +6 -5
- package/libEs5/utils/request/createAddIdentity.js +4 -3
- package/libEs5/utils/request/createDataCollectionRequest.js +15 -11
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +9 -10
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +17 -15
- package/libEs5/utils/request/createHasIdentity.js +4 -5
- package/libEs5/utils/request/createRequest.js +26 -23
- package/libEs5/utils/request/createRequestParams.js +13 -13
- package/libEs5/utils/request/createRequestPayload.js +13 -12
- package/libEs5/utils/request/index.js +8 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
- package/libEs5/utils/stackError.js +8 -6
- package/libEs5/utils/stringToBoolean.js +3 -2
- package/libEs5/utils/toArray.js +3 -2
- package/libEs5/utils/toError.js +3 -2
- package/libEs5/utils/toISOStringLocal.js +29 -14
- package/libEs5/utils/toInteger.js +5 -5
- package/libEs5/utils/updateErrorMessage.js +6 -4
- package/libEs5/utils/validation/booleanValidator.js +3 -2
- package/libEs5/utils/validation/callbackValidator.js +3 -2
- package/libEs5/utils/validation/createAnyOfValidator.js +14 -17
- package/libEs5/utils/validation/createArrayOfValidator.js +16 -18
- package/libEs5/utils/validation/createDefaultValidator.js +7 -8
- package/libEs5/utils/validation/createDeprecatedValidator.js +12 -14
- package/libEs5/utils/validation/createLiteralValidator.js +5 -6
- package/libEs5/utils/validation/createMapOfValuesValidator.js +20 -22
- package/libEs5/utils/validation/createMaximumValidator.js +5 -6
- package/libEs5/utils/validation/createMinimumValidator.js +5 -6
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +13 -14
- package/libEs5/utils/validation/createNonEmptyValidator.js +9 -10
- package/libEs5/utils/validation/createObjectOfValidator.js +27 -29
- package/libEs5/utils/validation/createRenamedValidator.js +24 -27
- package/libEs5/utils/validation/createUniqueItemsValidator.js +4 -3
- package/libEs5/utils/validation/createUniqueValidator.js +5 -4
- package/libEs5/utils/validation/domainValidator.js +4 -3
- package/libEs5/utils/validation/index.js +66 -72
- package/libEs5/utils/validation/integerValidator.js +3 -2
- package/libEs5/utils/validation/matchesRegexpValidator.js +5 -6
- package/libEs5/utils/validation/numberValidator.js +3 -2
- package/libEs5/utils/validation/regexpValidator.js +3 -2
- package/libEs5/utils/validation/requiredValidator.js +3 -2
- package/libEs5/utils/validation/stringValidator.js +3 -2
- package/libEs5/utils/validation/utils.js +29 -35
- package/libEs6/components/ActivityCollector/index.js +18 -8
- package/libEs6/components/Context/createComponent.js +1 -3
- package/libEs6/components/DecisioningEngine/createApplyResponse.js +1 -1
- package/libEs6/components/DecisioningEngine/createSubscribeRulesetItems.js +78 -28
- package/libEs6/components/DecisioningEngine/index.js +22 -2
- package/libEs6/components/DecisioningEngine/utils.js +2 -9
- package/libEs6/components/Identity/createComponent.js +4 -2
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -3
- package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +2 -2
- package/libEs6/components/LibraryInfo/index.js +4 -5
- package/libEs6/components/Personalization/createActionsProvider.js +4 -2
- package/libEs6/components/Personalization/createComponent.js +2 -2
- package/libEs6/components/Personalization/createFetchDataHandler.js +35 -1
- package/libEs6/components/Personalization/createPersonalizationDetails.js +6 -6
- package/libEs6/components/Personalization/createViewCacheManager.js +5 -2
- package/libEs6/components/Personalization/createViewChangeHandler.js +11 -1
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +5 -2
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +1 -3
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +6 -4
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +3 -2
- package/libEs6/components/Personalization/dom-actions/scripts.js +18 -2
- package/libEs6/components/Personalization/flicker/index.js +44 -30
- package/libEs6/components/Personalization/handlers/createDecorateProposition.js +2 -2
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +29 -9
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +9 -0
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +0 -3
- package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +8 -5
- package/libEs6/components/Personalization/in-app-message-actions/utils.js +2 -2
- package/libEs6/components/Personalization/index.js +9 -5
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +4 -4
- package/libEs6/components/Personalization/utils/surfaceUtils.js +3 -3
- package/libEs6/constants/decisionProvider.js +1 -0
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/constants/schema.js +1 -1
- package/libEs6/core/buildAndValidateConfig.js +8 -5
- package/libEs6/core/componentCreators.js +14 -43
- package/libEs6/core/config/createConfig.js +3 -2
- package/libEs6/core/createCookieTransfer.js +1 -3
- package/libEs6/core/createInstanceFunction.js +1 -9
- package/libEs6/core/createLogger.js +17 -2
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +1 -7
- package/libEs6/core/index.js +11 -10
- package/libEs6/core/injectCreateResponse.js +1 -3
- package/libEs6/core/network/isRequestRetryable.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/{utils/assignIf.js → core/requiredComponentCreators.js} +4 -8
- package/libEs6/index.js +26 -6
- package/libEs6/standalone.js +7 -1
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +1 -2
- package/libEs6/utils/assignConcatArrayValues.js +1 -2
- package/libEs6/utils/cookieJar.js +4 -4
- package/libEs6/{components/Personalization → utils}/createCollect.js +3 -3
- package/libEs6/utils/createSubscription.js +20 -3
- package/libEs6/utils/dom/querySelectorAll.js +1 -10
- package/libEs6/utils/dom/selectNodesWithShadow.js +2 -12
- package/libEs6/{components/Personalization → utils}/event.js +1 -1
- package/libEs6/utils/index.js +1 -10
- package/libEs6/utils/injectStorage.js +1 -2
- package/libEs6/utils/intersection.js +1 -4
- package/libEs6/utils/isNumber.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +14 -1
- package/libEs6/utils/toInteger.js +1 -2
- package/libEs6/utils/validation/createAnyOfValidator.js +1 -2
- package/libEs6/utils/validation/utils.js +3 -6
- package/package.json +35 -37
- package/rollup.config.js +115 -7
- package/scripts/alloyBuilder.js +89 -55
- package/scripts/helpers/entryPointGeneratorBabelPlugin.js +39 -0
- package/libEs5/components/Personalization/createCollect.js +0 -53
- package/libEs5/components/Personalization/event.js +0 -49
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -50
- package/libEs5/utils/assign.js +0 -16
- package/libEs5/utils/assignIf.js +0 -21
- package/libEs5/utils/endsWith.js +0 -23
- package/libEs5/utils/find.js +0 -30
- package/libEs5/utils/flatMap.js +0 -17
- package/libEs5/utils/includes.js +0 -23
- package/libEs5/utils/padStart.js +0 -27
- package/libEs5/utils/startsWith.js +0 -23
- package/libEs5/utils/values.js +0 -25
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +0 -49
- package/libEs6/utils/assign.js +0 -14
- package/libEs6/utils/endsWith.js +0 -19
- package/libEs6/utils/find.js +0 -28
- package/libEs6/utils/flatMap.js +0 -14
- package/libEs6/utils/includes.js +0 -21
- package/libEs6/utils/padStart.js +0 -25
- package/libEs6/utils/startsWith.js +0 -19
- package/libEs6/utils/values.js +0 -21
- package/scripts/helpers/alloyComponents.js +0 -63
- package/scripts/helpers/conditionalBuildBabelPlugin.js +0 -57
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _createDecorateProposition = require("./createDecorateProposition.js");
|
|
5
5
|
var _initDomActionsModules = require("../dom-actions/initDomActionsModules.js");
|
|
6
|
-
|
|
7
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
11
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
6
|
+
/*
|
|
12
7
|
Copyright 2023 Adobe. All rights reserved.
|
|
13
8
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
14
9
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -19,57 +14,57 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
19
14
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
20
15
|
governing permissions and limitations under the License.
|
|
21
16
|
*/
|
|
22
|
-
var _default =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
17
|
+
var _default = ({
|
|
18
|
+
modules,
|
|
19
|
+
logger,
|
|
20
|
+
storeInteractionMeta,
|
|
21
|
+
storeClickMeta,
|
|
22
|
+
autoCollectPropositionInteractions
|
|
23
|
+
}) => item => {
|
|
24
|
+
const {
|
|
25
|
+
type,
|
|
26
|
+
selector
|
|
27
|
+
} = item.getData() || {};
|
|
28
|
+
if (!type) {
|
|
29
|
+
logger.warn("Invalid DOM action data: missing type.", item.getData());
|
|
30
|
+
return {
|
|
31
|
+
setRenderAttempted: false,
|
|
32
|
+
includeInNotification: false
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (type === _initDomActionsModules.DOM_ACTION_CLICK) {
|
|
36
|
+
if (!selector) {
|
|
37
|
+
logger.warn("Invalid DOM action data: missing selector.", item.getData());
|
|
34
38
|
return {
|
|
35
39
|
setRenderAttempted: false,
|
|
36
40
|
includeInNotification: false
|
|
37
41
|
};
|
|
38
42
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
43
|
+
storeClickMeta({
|
|
44
|
+
selector,
|
|
45
|
+
meta: {
|
|
46
|
+
...item.getProposition().getNotification(),
|
|
47
|
+
trackingLabel: item.getTrackingLabel(),
|
|
48
|
+
scopeType: item.getProposition().getScopeType()
|
|
46
49
|
}
|
|
47
|
-
|
|
48
|
-
selector: selector,
|
|
49
|
-
meta: _objectSpread(_objectSpread({}, item.getProposition().getNotification()), {}, {
|
|
50
|
-
trackingLabel: item.getTrackingLabel(),
|
|
51
|
-
scopeType: item.getProposition().getScopeType()
|
|
52
|
-
})
|
|
53
|
-
});
|
|
54
|
-
return {
|
|
55
|
-
setRenderAttempted: true,
|
|
56
|
-
includeInNotification: false
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
if (!modules[type]) {
|
|
60
|
-
logger.warn("Invalid DOM action data: unknown type.", item.getData());
|
|
61
|
-
return {
|
|
62
|
-
setRenderAttempted: false,
|
|
63
|
-
includeInNotification: false
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
var decorateProposition = (0, _createDecorateProposition.default)(autoCollectPropositionInteractions, type, item.getProposition().getId(), item.getId(), item.getTrackingLabel(), item.getProposition().getScopeType(), item.getProposition().getNotification(), storeInteractionMeta);
|
|
50
|
+
});
|
|
67
51
|
return {
|
|
68
|
-
render: function render() {
|
|
69
|
-
return modules[type](item.getData(), decorateProposition);
|
|
70
|
-
},
|
|
71
52
|
setRenderAttempted: true,
|
|
72
|
-
includeInNotification:
|
|
53
|
+
includeInNotification: false
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (!modules[type]) {
|
|
57
|
+
logger.warn("Invalid DOM action data: unknown type.", item.getData());
|
|
58
|
+
return {
|
|
59
|
+
setRenderAttempted: false,
|
|
60
|
+
includeInNotification: false
|
|
73
61
|
};
|
|
62
|
+
}
|
|
63
|
+
const decorateProposition = (0, _createDecorateProposition.default)(autoCollectPropositionInteractions, type, item.getProposition().getId(), item.getId(), item.getTrackingLabel(), item.getProposition().getScopeType(), item.getProposition().getNotification(), storeInteractionMeta);
|
|
64
|
+
return {
|
|
65
|
+
render: () => modules[type](item.getData(), decorateProposition),
|
|
66
|
+
setRenderAttempted: true,
|
|
67
|
+
includeInNotification: true
|
|
74
68
|
};
|
|
75
|
-
};
|
|
69
|
+
};
|
|
70
|
+
exports.default = _default;
|
|
@@ -13,35 +13,36 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
setRenderAttempted: false,
|
|
28
|
-
includeInNotification: false
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
if (!modules[type]) {
|
|
32
|
-
logger.warn("Invalid HTML content data", item.getData());
|
|
33
|
-
return {
|
|
34
|
-
setRenderAttempted: false,
|
|
35
|
-
includeInNotification: false
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
var decorateProposition = (0, _createDecorateProposition.default)(autoCollectPropositionInteractions, type, item.getProposition().getId(), item.getId(), item.getTrackingLabel(), item.getProposition().getScopeType(), item.getProposition().getNotification(), storeInteractionMeta);
|
|
16
|
+
var _default = ({
|
|
17
|
+
modules,
|
|
18
|
+
logger,
|
|
19
|
+
storeInteractionMeta,
|
|
20
|
+
autoCollectPropositionInteractions
|
|
21
|
+
}) => item => {
|
|
22
|
+
const {
|
|
23
|
+
type,
|
|
24
|
+
selector
|
|
25
|
+
} = item.getData() || {};
|
|
26
|
+
if (!selector || !type) {
|
|
39
27
|
return {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
setRenderAttempted: true,
|
|
44
|
-
includeInNotification: true
|
|
28
|
+
setRenderAttempted: false,
|
|
29
|
+
includeInNotification: false
|
|
45
30
|
};
|
|
31
|
+
}
|
|
32
|
+
if (!modules[type]) {
|
|
33
|
+
logger.warn("Invalid HTML content data", item.getData());
|
|
34
|
+
return {
|
|
35
|
+
setRenderAttempted: false,
|
|
36
|
+
includeInNotification: false
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const decorateProposition = (0, _createDecorateProposition.default)(autoCollectPropositionInteractions, type, item.getProposition().getId(), item.getId(), item.getTrackingLabel(), item.getProposition().getScopeType(), item.getProposition().getNotification(), storeInteractionMeta);
|
|
40
|
+
return {
|
|
41
|
+
render: () => {
|
|
42
|
+
return modules[type](item.getData(), decorateProposition);
|
|
43
|
+
},
|
|
44
|
+
setRenderAttempted: true,
|
|
45
|
+
includeInNotification: true
|
|
46
46
|
};
|
|
47
|
-
};
|
|
47
|
+
};
|
|
48
|
+
exports.default = _default;
|
|
@@ -2,12 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
4
|
var _contentType = require("../../../constants/contentType.js");
|
|
5
|
-
|
|
6
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
9
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
10
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
5
|
+
/*
|
|
11
6
|
Copyright 2023 Adobe. All rights reserved.
|
|
12
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
13
8
|
you may not use this file except in compliance with the License. You may obtain a copy
|
|
@@ -18,42 +13,49 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
18
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
19
14
|
governing permissions and limitations under the License.
|
|
20
15
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
|
|
17
|
+
const DEFAULT_CONTENT = "defaultContent";
|
|
18
|
+
const expectedProps = ["content", "contentType"];
|
|
19
|
+
const expectedContentProps = ["mobileParameters", "webParameters", "html"];
|
|
20
|
+
const isValidInAppMessage = (data, logger) => {
|
|
21
|
+
for (let i = 0; i < expectedProps.length; i += 1) {
|
|
22
|
+
const prop = expectedProps[i];
|
|
27
23
|
if (!Object.prototype.hasOwnProperty.call(data, prop)) {
|
|
28
24
|
logger.warn("Invalid in-app message data: missing property '" + prop + "'.", data);
|
|
29
25
|
return false;
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
const {
|
|
29
|
+
content,
|
|
30
|
+
contentType
|
|
31
|
+
} = data;
|
|
34
32
|
if (contentType === _contentType.APPLICATION_JSON) {
|
|
35
|
-
for (
|
|
36
|
-
|
|
37
|
-
if (!Object.prototype.hasOwnProperty.call(content,
|
|
38
|
-
logger.warn("Invalid in-app message data.content: missing property '" +
|
|
33
|
+
for (let i = 0; i < expectedContentProps.length; i += 1) {
|
|
34
|
+
const prop = expectedContentProps[i];
|
|
35
|
+
if (!Object.prototype.hasOwnProperty.call(content, prop)) {
|
|
36
|
+
logger.warn("Invalid in-app message data.content: missing property '" + prop + "'.", data);
|
|
39
37
|
return false;
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
41
|
return true;
|
|
44
42
|
};
|
|
45
|
-
var _default =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
var _default = ({
|
|
44
|
+
modules,
|
|
45
|
+
logger
|
|
46
|
+
}) => {
|
|
47
|
+
return item => {
|
|
48
|
+
const data = item.getData();
|
|
49
|
+
const meta = {
|
|
50
|
+
...item.getProposition().getNotification()
|
|
51
|
+
};
|
|
51
52
|
if (!data) {
|
|
52
53
|
logger.warn("Invalid in-app message data: undefined.", data);
|
|
53
54
|
return {};
|
|
54
55
|
}
|
|
55
|
-
|
|
56
|
-
type =
|
|
56
|
+
const {
|
|
57
|
+
type = DEFAULT_CONTENT
|
|
58
|
+
} = data;
|
|
57
59
|
if (!modules[type]) {
|
|
58
60
|
logger.warn("Invalid in-app message data: unknown type.", data);
|
|
59
61
|
return {};
|
|
@@ -66,13 +68,15 @@ var _default = exports.default = function _default(_ref) {
|
|
|
66
68
|
return {};
|
|
67
69
|
}
|
|
68
70
|
return {
|
|
69
|
-
render:
|
|
70
|
-
return modules[type](
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
render: () => {
|
|
72
|
+
return modules[type]({
|
|
73
|
+
...data,
|
|
74
|
+
meta
|
|
75
|
+
});
|
|
73
76
|
},
|
|
74
77
|
setRenderAttempted: true,
|
|
75
78
|
includeInNotification: true
|
|
76
79
|
};
|
|
77
80
|
};
|
|
78
|
-
};
|
|
81
|
+
};
|
|
82
|
+
exports.default = _default;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
|
|
5
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
7
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
8
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
9
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4
|
+
var _index = require("../../../utils/index.js");
|
|
10
5
|
/*
|
|
11
6
|
Copyright 2023 Adobe. All rights reserved.
|
|
12
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -18,72 +13,78 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
18
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
19
14
|
governing permissions and limitations under the License.
|
|
20
15
|
*/
|
|
21
|
-
var _default =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
return true;
|
|
31
|
-
}).catch(function (error) {
|
|
32
|
-
if (logger.enabled) {
|
|
33
|
-
var message = error.message,
|
|
34
|
-
stack = error.stack;
|
|
35
|
-
var warning = "Failed to execute action " + item.toString() + ". " + message + " " + stack;
|
|
36
|
-
logger.warn(warning);
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
var renderItems = function renderItems(renderers, meta) {
|
|
43
|
-
return Promise.all(renderers.map(function (renderer) {
|
|
44
|
-
return renderer();
|
|
45
|
-
})).then(function (successes) {
|
|
46
|
-
// as long as at least one renderer succeeds, we want to add the notification
|
|
47
|
-
// to the display notifications
|
|
48
|
-
if (!successes.includes(true)) {
|
|
49
|
-
return undefined;
|
|
16
|
+
var _default = ({
|
|
17
|
+
schemaProcessors,
|
|
18
|
+
logger
|
|
19
|
+
}) => {
|
|
20
|
+
const wrapRenderWithLogging = (render, item) => () => {
|
|
21
|
+
return Promise.resolve().then(render).then(() => {
|
|
22
|
+
if (logger.enabled) {
|
|
23
|
+
logger.info("Action " + item.toString() + " executed.");
|
|
50
24
|
}
|
|
51
|
-
return
|
|
25
|
+
return true;
|
|
26
|
+
}).catch(error => {
|
|
27
|
+
const {
|
|
28
|
+
message,
|
|
29
|
+
stack
|
|
30
|
+
} = error;
|
|
31
|
+
const warning = "Failed to execute action " + item.toString() + ". " + message + " " + stack;
|
|
32
|
+
logger.logOnContentRendering({
|
|
33
|
+
status: "rendering-failed",
|
|
34
|
+
detail: {
|
|
35
|
+
propositionDetails: item.getProposition().getNotification(),
|
|
36
|
+
item: item.toJSON()
|
|
37
|
+
},
|
|
38
|
+
error,
|
|
39
|
+
message: warning,
|
|
40
|
+
logLevel: "warn"
|
|
41
|
+
});
|
|
42
|
+
return false;
|
|
52
43
|
});
|
|
53
44
|
};
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
const renderItems = (renderers, meta) => Promise.all(renderers.map(renderer => renderer())).then(successes => {
|
|
46
|
+
// as long as at least one renderer succeeds, we want to add the notification
|
|
47
|
+
// to the display notifications
|
|
48
|
+
if (!successes.includes(true)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return meta;
|
|
52
|
+
});
|
|
53
|
+
const processItem = item => {
|
|
54
|
+
const processor = schemaProcessors[item.getSchema()];
|
|
56
55
|
if (!processor) {
|
|
57
56
|
return {};
|
|
58
57
|
}
|
|
59
58
|
return processor(item);
|
|
60
59
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
60
|
+
const processItems = ({
|
|
61
|
+
renderers: existingRenderers,
|
|
62
|
+
returnedPropositions: existingReturnedPropositions,
|
|
63
|
+
returnedDecisions: existingReturnedDecisions,
|
|
64
|
+
items,
|
|
65
|
+
proposition
|
|
66
|
+
}) => {
|
|
67
|
+
let renderers = [...existingRenderers];
|
|
68
|
+
let returnedPropositions = [...existingReturnedPropositions];
|
|
69
|
+
let returnedDecisions = [...existingReturnedDecisions];
|
|
70
|
+
let renderedItems = [];
|
|
71
|
+
let nonRenderedItems = [];
|
|
72
|
+
let itemRenderers = [];
|
|
73
|
+
let atLeastOneWithNotification = false;
|
|
74
|
+
let render;
|
|
75
|
+
let setRenderAttempted;
|
|
76
|
+
let includeInNotification;
|
|
77
|
+
let onlyRenderThis = false;
|
|
78
|
+
let i = 0;
|
|
79
|
+
let item;
|
|
80
80
|
while (items.length > i) {
|
|
81
81
|
item = items[i];
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
({
|
|
83
|
+
render,
|
|
84
|
+
setRenderAttempted,
|
|
85
|
+
includeInNotification,
|
|
86
|
+
onlyRenderThis
|
|
87
|
+
} = processItem(item));
|
|
87
88
|
if (onlyRenderThis) {
|
|
88
89
|
returnedPropositions = [];
|
|
89
90
|
returnedDecisions = [];
|
|
@@ -113,14 +114,10 @@ var _default = exports.default = function _default(_ref) {
|
|
|
113
114
|
i += 1;
|
|
114
115
|
}
|
|
115
116
|
if (itemRenderers.length > 0) {
|
|
116
|
-
|
|
117
|
-
renderers.push(
|
|
118
|
-
return renderItems(itemRenderers, meta);
|
|
119
|
-
});
|
|
117
|
+
const meta = atLeastOneWithNotification ? proposition.getNotification() : undefined;
|
|
118
|
+
renderers.push(() => renderItems(itemRenderers, meta));
|
|
120
119
|
} else if (atLeastOneWithNotification) {
|
|
121
|
-
renderers.push(
|
|
122
|
-
return Promise.resolve(proposition.getNotification());
|
|
123
|
-
});
|
|
120
|
+
renderers.push(() => Promise.resolve(proposition.getNotification()));
|
|
124
121
|
}
|
|
125
122
|
if (renderedItems.length > 0) {
|
|
126
123
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, renderedItems, true);
|
|
@@ -129,35 +126,35 @@ var _default = exports.default = function _default(_ref) {
|
|
|
129
126
|
proposition.addToReturnValues(returnedPropositions, returnedDecisions, nonRenderedItems, false);
|
|
130
127
|
}
|
|
131
128
|
return {
|
|
132
|
-
renderers
|
|
133
|
-
returnedPropositions
|
|
134
|
-
returnedDecisions
|
|
135
|
-
onlyRenderThis
|
|
129
|
+
renderers,
|
|
130
|
+
returnedPropositions,
|
|
131
|
+
returnedDecisions,
|
|
132
|
+
onlyRenderThis
|
|
136
133
|
};
|
|
137
134
|
};
|
|
138
|
-
return
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
var items;
|
|
135
|
+
return (renderPropositions, nonRenderPropositions = []) => {
|
|
136
|
+
let renderers = [];
|
|
137
|
+
let returnedPropositions = [];
|
|
138
|
+
let returnedDecisions = [];
|
|
139
|
+
let onlyRenderThis;
|
|
140
|
+
let i = 0;
|
|
141
|
+
let proposition;
|
|
142
|
+
let items;
|
|
147
143
|
while (renderPropositions.length > i) {
|
|
148
144
|
proposition = renderPropositions[i];
|
|
149
145
|
items = proposition.getItems();
|
|
150
|
-
|
|
151
|
-
renderers
|
|
152
|
-
returnedPropositions
|
|
153
|
-
returnedDecisions
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
146
|
+
({
|
|
147
|
+
renderers,
|
|
148
|
+
returnedPropositions,
|
|
149
|
+
returnedDecisions,
|
|
150
|
+
onlyRenderThis
|
|
151
|
+
} = processItems({
|
|
152
|
+
renderers,
|
|
153
|
+
returnedPropositions,
|
|
154
|
+
returnedDecisions,
|
|
155
|
+
items,
|
|
156
|
+
proposition
|
|
157
|
+
}));
|
|
161
158
|
if (onlyRenderThis) {
|
|
162
159
|
break;
|
|
163
160
|
}
|
|
@@ -167,28 +164,35 @@ var _default = exports.default = function _default(_ref) {
|
|
|
167
164
|
// if onlyRenderThis is true, that means returnedPropositions and returnedDecisions
|
|
168
165
|
// only contains the proposition that triggered only rendering this. We need to
|
|
169
166
|
// add the other propositions to the returnedPropositions and returnedDecisions.
|
|
170
|
-
renderPropositions.forEach(
|
|
167
|
+
renderPropositions.forEach((p, index) => {
|
|
171
168
|
if (index !== i) {
|
|
172
169
|
p.addToReturnValues(returnedPropositions, returnedDecisions, p.getItems(), false);
|
|
173
170
|
}
|
|
174
171
|
});
|
|
175
172
|
}
|
|
176
|
-
nonRenderPropositions.forEach(
|
|
173
|
+
nonRenderPropositions.forEach(p => {
|
|
177
174
|
p.addToReturnValues(returnedPropositions, returnedDecisions, p.getItems(), false);
|
|
178
175
|
});
|
|
179
|
-
|
|
180
|
-
return Promise.all(renderers.map(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
176
|
+
const render = () => {
|
|
177
|
+
return Promise.all(renderers.map(renderer => renderer())).then(metas => {
|
|
178
|
+
const renderedPropositions = metas.filter(meta => meta);
|
|
179
|
+
const propsByScope = (0, _index.groupBy)(renderedPropositions, p => p.scope);
|
|
180
|
+
logger.logOnContentRendering({
|
|
181
|
+
status: "rendering-succeeded",
|
|
182
|
+
detail: {
|
|
183
|
+
...propsByScope
|
|
184
|
+
},
|
|
185
|
+
message: "Scopes: " + propsByScope + " successfully executed.",
|
|
186
|
+
logLevel: "info"
|
|
185
187
|
});
|
|
188
|
+
return renderedPropositions;
|
|
186
189
|
});
|
|
187
190
|
};
|
|
188
191
|
return {
|
|
189
|
-
returnedPropositions
|
|
190
|
-
returnedDecisions
|
|
191
|
-
render
|
|
192
|
+
returnedPropositions,
|
|
193
|
+
returnedDecisions,
|
|
194
|
+
render
|
|
192
195
|
};
|
|
193
196
|
};
|
|
194
|
-
};
|
|
197
|
+
};
|
|
198
|
+
exports.default = _default;
|
|
@@ -12,33 +12,43 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
12
12
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
13
|
governing permissions and limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
var _default =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
var _default = ({
|
|
16
|
+
logger,
|
|
17
|
+
executeRedirect,
|
|
18
|
+
collect
|
|
19
|
+
}) => item => {
|
|
20
|
+
const {
|
|
21
|
+
content
|
|
22
|
+
} = item.getData() || {};
|
|
23
|
+
if (!content) {
|
|
24
|
+
logger.warn("Invalid Redirect data", item.getData());
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
const render = () => {
|
|
28
|
+
return collect({
|
|
29
|
+
decisionsMeta: [item.getProposition().getNotification()],
|
|
30
|
+
documentMayUnload: true
|
|
31
|
+
}).then(() => {
|
|
32
|
+
logger.logOnContentRendering({
|
|
33
|
+
status: "rendering-redirect",
|
|
34
|
+
detail: {
|
|
35
|
+
propositionDetails: item.getProposition().getNotification(),
|
|
36
|
+
redirect: content
|
|
37
|
+
},
|
|
38
|
+
message: "Redirect action " + item.toString() + " executed.",
|
|
39
|
+
logLevel: "info"
|
|
36
40
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
};
|
|
41
|
+
return executeRedirect(content);
|
|
42
|
+
// Execute redirect will never resolve. If there are bottom of page events that are waiting
|
|
43
|
+
// for display notifications from this request, they will never run because this promise will
|
|
44
|
+
// not resolve. This is intentional because we don't want to run bottom of page events if
|
|
45
|
+
// there is a redirect.
|
|
46
|
+
});
|
|
43
47
|
};
|
|
44
|
-
|
|
48
|
+
return {
|
|
49
|
+
render,
|
|
50
|
+
setRenderAttempted: true,
|
|
51
|
+
onlyRenderThis: true
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
exports.default = _default;
|