@adobe/alloy 2.20.0-alpha.0 → 2.20.0-beta.0
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 -3
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +2 -3
- package/libEs5/components/ActivityCollector/configValidators.js +3 -5
- package/libEs5/components/ActivityCollector/createGetLinkDetails.js +2 -3
- package/libEs5/components/ActivityCollector/createLinkClick.js +2 -3
- package/libEs5/components/ActivityCollector/getLinkName.js +2 -3
- package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -3
- package/libEs5/components/ActivityCollector/index.js +1 -2
- package/libEs5/components/ActivityCollector/utils.js +11 -21
- package/libEs5/components/Audiences/index.js +1 -2
- package/libEs5/components/Audiences/injectProcessDestinations.js +18 -16
- package/libEs5/components/Audiences/injectProcessResponse.js +2 -3
- package/libEs5/components/Context/createComponent.js +2 -3
- package/libEs5/components/Context/implementationDetails.js +2 -3
- package/libEs5/components/Context/index.js +17 -15
- package/libEs5/components/Context/injectDevice.js +2 -3
- package/libEs5/components/Context/injectEnvironment.js +6 -7
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +15 -16
- package/libEs5/components/Context/injectPlaceContext.js +2 -3
- package/libEs5/components/Context/injectTimestamp.js +2 -3
- package/libEs5/components/Context/injectWeb.js +2 -3
- package/libEs5/components/DataCollector/index.js +1 -2
- package/libEs5/components/DataCollector/validateApplyResponse.js +2 -3
- package/libEs5/components/DataCollector/validateUserEventOptions.js +2 -3
- package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +2 -3
- package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +2 -3
- package/libEs5/components/DecisioningEngine/constants.js +4 -7
- package/libEs5/components/DecisioningEngine/createApplyResponse.js +2 -3
- package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -16
- package/libEs5/components/DecisioningEngine/createContextProvider.js +18 -16
- package/libEs5/components/DecisioningEngine/createDecisionHistory.js +2 -3
- package/libEs5/components/DecisioningEngine/createDecisionProvider.js +2 -3
- package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +18 -16
- package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +2 -3
- package/libEs5/components/DecisioningEngine/createEventRegistry.js +20 -20
- package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +18 -16
- package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +18 -16
- package/libEs5/components/DecisioningEngine/index.js +19 -19
- package/libEs5/components/DecisioningEngine/utils.js +10 -18
- package/libEs5/components/EventMerge/createComponent.js +2 -3
- package/libEs5/components/EventMerge/createEventMergeId.js +2 -3
- package/libEs5/components/EventMerge/index.js +1 -2
- package/libEs5/components/Identity/addEcidQueryToPayload.js +2 -3
- package/libEs5/components/Identity/addEcidToPayload.js +2 -3
- package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +2 -3
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +4 -5
- package/libEs5/components/Identity/configValidators.js +1 -2
- package/libEs5/components/Identity/constants/authState.js +3 -6
- package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -2
- package/libEs5/components/Identity/createComponent.js +2 -3
- package/libEs5/components/Identity/createLegacyIdentity.js +8 -6
- package/libEs5/components/Identity/getEcidFromResponse.js +2 -3
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +2 -3
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +2 -3
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +2 -3
- package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +2 -3
- package/libEs5/components/Identity/index.js +3 -3
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +2 -3
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +18 -15
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +9 -14
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +8 -6
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +2 -3
- package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -3
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +2 -3
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +2 -3
- package/libEs5/components/Identity/visitorService/getVisitor.js +2 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -3
- package/libEs5/components/LegacyMediaAnalytics/{media → constants}/constants.js +15 -25
- package/libEs5/components/LegacyMediaAnalytics/{media → constants}/mediaKeysToXdmConverter.js +3 -5
- package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +246 -0
- package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +87 -0
- package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +157 -158
- package/libEs5/components/LegacyMediaAnalytics/index.js +43 -20
- package/libEs5/components/LibraryInfo/index.js +21 -17
- package/libEs5/components/MachineLearning/index.js +1 -2
- package/libEs5/components/MachineLearning/processResponse.js +2 -3
- package/libEs5/components/Personalization/constants/loggerMessage.js +2 -4
- package/libEs5/components/Personalization/constants/scopeType.js +3 -6
- package/libEs5/components/Personalization/constants/surface.js +4 -8
- package/libEs5/components/Personalization/createActionsProvider.js +2 -3
- package/libEs5/components/Personalization/createApplyPropositions.js +19 -17
- package/libEs5/components/Personalization/createClickStorage.js +8 -6
- package/libEs5/components/Personalization/createCollect.js +2 -3
- package/libEs5/components/Personalization/createComponent.js +7 -4
- package/libEs5/components/Personalization/createFetchDataHandler.js +28 -20
- package/libEs5/components/Personalization/createGetPageLocation.js +2 -3
- package/libEs5/{utils/debounce.js → components/Personalization/createHandleConsentFlicker.js} +13 -14
- package/libEs5/components/Personalization/createNotificationHandler.js +10 -5
- package/libEs5/components/Personalization/createOnClickHandler.js +2 -3
- package/libEs5/components/Personalization/createOnDecisionHandler.js +3 -4
- package/libEs5/components/Personalization/createPersonalizationDetails.js +13 -14
- package/libEs5/components/Personalization/createPreprocessors.js +16 -14
- package/libEs5/components/Personalization/createSetTargetMigration.js +2 -3
- package/libEs5/components/Personalization/createViewCacheManager.js +2 -3
- package/libEs5/components/Personalization/createViewChangeHandler.js +2 -3
- package/libEs5/components/Personalization/dom-actions/action.js +2 -3
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +2 -3
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +2 -3
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +3 -4
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +2 -3
- package/libEs5/components/Personalization/dom-actions/createRedirect.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +3 -5
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +3 -5
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -19
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +2 -3
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +2 -3
- package/libEs5/components/Personalization/dom-actions/images.js +4 -7
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +2 -3
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +2 -3
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +2 -3
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +2 -3
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +2 -3
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -3
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -3
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +2 -3
- package/libEs5/components/Personalization/dom-actions/scripts.js +22 -24
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +2 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +2 -3
- package/libEs5/components/Personalization/dom-actions/setStyles.js +2 -3
- package/libEs5/components/Personalization/dom-actions/setText.js +2 -3
- package/libEs5/components/Personalization/dom-actions/swapImage.js +2 -3
- package/libEs5/components/Personalization/event.js +19 -18
- package/libEs5/components/Personalization/flicker/index.js +21 -22
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +8 -6
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +2 -3
- package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +18 -16
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +3 -4
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +2 -4
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +24 -22
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +2 -3
- package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +25 -29
- package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +2 -3
- package/libEs5/components/Personalization/in-app-message-actions/utils.js +3 -5
- package/libEs5/components/Personalization/index.js +31 -22
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +2 -3
- package/libEs5/components/Personalization/utils/createAsyncArray.js +2 -3
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +2 -3
- package/libEs5/components/Personalization/utils/surfaceUtils.js +4 -7
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +3 -5
- package/libEs5/components/Privacy/computeConsentHash.js +13 -14
- package/libEs5/components/Privacy/createComponent.js +16 -14
- package/libEs5/components/Privacy/createConsentHashStore.js +2 -3
- package/libEs5/components/Privacy/createConsentRequest.js +2 -3
- package/libEs5/components/Privacy/createConsentRequestPayload.js +2 -3
- package/libEs5/components/Privacy/createStoredConsent.js +2 -3
- package/libEs5/components/Privacy/index.js +1 -2
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +2 -3
- package/libEs5/components/Privacy/parseConsentCookie.js +4 -5
- package/libEs5/components/Privacy/validateSetConsentOptions.js +2 -3
- package/libEs5/components/{MediaCollection/createMediaRequestPayload.js → StreamingMedia/configValidators.js} +11 -16
- package/libEs5/components/StreamingMedia/constants/eventTypes.js +34 -0
- package/libEs5/components/StreamingMedia/constants/playbackState.js +19 -0
- package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaEventManager.js +46 -53
- package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaRequest.js +2 -3
- package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +57 -0
- package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaSessionCacheManager.js +23 -27
- package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +72 -0
- package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +90 -0
- package/libEs5/components/StreamingMedia/createTrackMediaSession.js +52 -0
- package/libEs5/components/StreamingMedia/index.js +69 -0
- package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +40 -0
- package/libEs5/components/{MediaCollection → StreamingMedia}/validateMediaSessionOptions.js +3 -4
- package/libEs5/constants/apiVersion.js +1 -2
- package/libEs5/constants/browser.js +7 -14
- package/libEs5/constants/consentPurpose.js +1 -2
- package/libEs5/constants/consentStatus.js +3 -6
- package/libEs5/constants/contentType.js +2 -4
- package/libEs5/constants/cookieNameKey.js +3 -6
- package/libEs5/constants/cookieNamePrefix.js +1 -2
- package/libEs5/constants/coreCommands.js +2 -4
- package/libEs5/constants/debugQueryParam.js +1 -2
- package/libEs5/constants/decisionProvider.js +1 -2
- package/libEs5/constants/domain.js +2 -4
- package/libEs5/constants/ecidNamespace.js +1 -2
- package/libEs5/constants/edgeBasePath.js +1 -2
- package/libEs5/constants/elementAttribute.js +1 -2
- package/libEs5/constants/eventType.js +5 -10
- package/libEs5/constants/handle.js +1 -2
- package/libEs5/constants/highEntropyUserAgentClientHints.js +1 -2
- package/libEs5/constants/httpHeaderNames.js +2 -4
- package/libEs5/constants/httpStatusCode.js +5 -10
- package/libEs5/constants/identityMapAuthenticatedState.js +3 -6
- package/libEs5/constants/legacyCookies.js +3 -6
- package/libEs5/constants/libraryName.js +1 -2
- package/libEs5/constants/libraryVersion.js +1 -2
- package/libEs5/constants/namespace.js +1 -2
- package/libEs5/constants/pageWideScope.js +1 -2
- package/libEs5/constants/propositionEventType.js +20 -21
- package/libEs5/constants/queryStringIdentityParam.js +1 -2
- package/libEs5/constants/schema.js +10 -20
- package/libEs5/constants/shadowSeparator.js +1 -2
- package/libEs5/constants/tagName.js +7 -14
- package/libEs5/core/buildAndValidateConfig.js +19 -17
- package/libEs5/core/componentCreators.js +9 -4
- package/libEs5/core/config/createConfig.js +1 -2
- package/libEs5/core/config/createCoreConfigs.js +2 -3
- package/libEs5/core/consent/createConsent.js +5 -3
- package/libEs5/core/consent/createConsentStateMachine.js +41 -13
- package/libEs5/core/createComponentRegistry.js +5 -3
- package/libEs5/core/createCookieTransfer.js +2 -3
- package/libEs5/core/createEvent.js +13 -14
- package/libEs5/core/createEventManager.js +8 -6
- package/libEs5/core/createInstanceFunction.js +2 -3
- package/libEs5/core/createLifecycle.js +2 -3
- package/libEs5/core/createLogController.js +2 -3
- package/libEs5/core/createLogger.js +2 -3
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +2 -3
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +2 -3
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +2 -3
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +2 -3
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +2 -3
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +2 -3
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +13 -14
- package/libEs5/core/index.js +3 -5
- package/libEs5/core/initializeComponents.js +2 -3
- package/libEs5/core/injectCreateResponse.js +2 -3
- package/libEs5/core/injectExecuteCommand.js +2 -3
- package/libEs5/core/injectHandleError.js +2 -3
- package/libEs5/core/injectShouldTransferCookie.js +2 -3
- package/libEs5/core/network/getRequestRetryDelay.js +2 -3
- package/libEs5/core/network/injectSendNetworkRequest.js +18 -16
- package/libEs5/core/network/isRequestRetryable.js +2 -3
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +2 -3
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +2 -3
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +2 -3
- package/libEs5/core/validateCommandOptions.js +2 -3
- package/libEs5/index.js +2 -3
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +2 -3
- package/libEs5/utils/assign.js +1 -2
- package/libEs5/utils/assignConcatArrayValues.js +13 -14
- package/libEs5/utils/assignIf.js +2 -3
- package/libEs5/utils/clone.js +2 -3
- package/libEs5/utils/cookieJar.js +2 -3
- package/libEs5/utils/crc32.js +1 -2
- package/libEs5/utils/createCallbackAggregator.js +2 -3
- package/libEs5/utils/createLoggingCookieJar.js +8 -6
- package/libEs5/utils/createMerger.js +2 -3
- package/libEs5/utils/createSubscription.js +12 -13
- package/libEs5/utils/createTaskQueue.js +2 -3
- package/libEs5/utils/deduplicateArray.js +2 -3
- package/libEs5/utils/deepAssign.js +2 -3
- package/libEs5/utils/defer.js +2 -3
- package/libEs5/utils/dom/appendNode.js +2 -3
- package/libEs5/utils/dom/awaitSelector.js +7 -13
- package/libEs5/utils/dom/createNode.js +2 -3
- package/libEs5/utils/dom/isShadowSelector.js +2 -3
- package/libEs5/utils/dom/matchesSelector.js +2 -3
- package/libEs5/utils/dom/querySelectorAll.js +2 -3
- package/libEs5/utils/dom/removeNode.js +2 -3
- package/libEs5/utils/dom/selectNodes.js +2 -3
- package/libEs5/utils/dom/selectNodesWithShadow.js +2 -3
- package/libEs5/utils/endsWith.js +2 -3
- package/libEs5/utils/filterObject.js +17 -15
- package/libEs5/utils/find.js +2 -3
- package/libEs5/utils/fireImage.js +2 -3
- package/libEs5/utils/flatMap.js +2 -3
- package/libEs5/utils/flattenArray.js +2 -3
- package/libEs5/utils/flattenObject.js +4 -5
- package/libEs5/utils/getApexDomain.js +2 -3
- package/libEs5/utils/getBrowser.js +17 -16
- package/libEs5/utils/getLastArrayItems.js +2 -3
- package/libEs5/utils/getNamespacedCookieName.js +2 -3
- package/libEs5/utils/groupBy.js +2 -3
- package/libEs5/utils/includes.js +2 -3
- package/libEs5/utils/injectDoesIdentityCookieExist.js +2 -3
- package/libEs5/utils/injectFireReferrerHideableImage.js +14 -15
- package/libEs5/utils/injectStorage.js +2 -3
- package/libEs5/utils/intersection.js +2 -3
- 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 +2 -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 -3
- package/libEs5/utils/isObject.js +13 -14
- package/libEs5/utils/isString.js +2 -3
- package/libEs5/utils/isUnique.js +2 -3
- package/libEs5/utils/isValidRegExp.js +2 -3
- package/libEs5/utils/memoize.js +2 -3
- package/libEs5/utils/noop.js +1 -2
- package/libEs5/utils/padStart.js +2 -3
- package/libEs5/utils/parseUrl.js +17 -15
- package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -14
- package/libEs5/utils/querystring.js +1 -2
- package/libEs5/utils/request/createAddIdentity.js +2 -3
- package/libEs5/utils/request/createDataCollectionRequest.js +2 -3
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +2 -3
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -3
- package/libEs5/utils/request/createHasIdentity.js +2 -3
- package/libEs5/utils/request/createRequest.js +2 -3
- package/libEs5/utils/request/createRequestParams.js +2 -3
- package/libEs5/utils/request/createRequestPayload.js +2 -3
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
- package/libEs5/utils/stackError.js +2 -3
- package/libEs5/utils/startsWith.js +2 -3
- package/libEs5/utils/stringToBoolean.js +2 -3
- package/libEs5/utils/toArray.js +2 -3
- package/libEs5/utils/toError.js +2 -3
- package/libEs5/utils/toISOStringLocal.js +2 -3
- package/libEs5/utils/toInteger.js +2 -3
- package/libEs5/utils/updateErrorMessage.js +2 -3
- package/libEs5/utils/uuid.js +1 -2
- package/libEs5/utils/validateConfigOverride.js +1 -2
- package/libEs5/utils/validateIdentityMap.js +2 -3
- package/libEs5/utils/validation/booleanValidator.js +2 -3
- package/libEs5/utils/validation/callbackValidator.js +2 -3
- package/libEs5/utils/validation/createAnyOfValidator.js +2 -3
- package/libEs5/utils/validation/createArrayOfValidator.js +2 -3
- package/libEs5/utils/validation/createDefaultValidator.js +2 -3
- package/libEs5/utils/validation/createDeprecatedValidator.js +18 -19
- package/libEs5/utils/validation/createLiteralValidator.js +2 -3
- package/libEs5/utils/validation/createMapOfValuesValidator.js +2 -3
- package/libEs5/utils/validation/createMaximumValidator.js +2 -3
- package/libEs5/utils/validation/createMinimumValidator.js +2 -3
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +2 -3
- package/libEs5/utils/validation/createNonEmptyValidator.js +2 -3
- package/libEs5/utils/validation/createObjectOfValidator.js +2 -3
- package/libEs5/utils/validation/createUniqueItemsValidator.js +2 -3
- package/libEs5/utils/validation/createUniqueValidator.js +2 -3
- package/libEs5/utils/validation/domainValidator.js +2 -3
- package/libEs5/utils/validation/index.js +90 -93
- package/libEs5/utils/validation/integerValidator.js +2 -3
- package/{libEs6/components/MediaCollection/createMediaRequestPayload.js → libEs5/utils/validation/matchesRegexpValidator.js} +9 -14
- package/libEs5/utils/validation/numberValidator.js +2 -3
- package/libEs5/utils/validation/regexpValidator.js +2 -3
- package/libEs5/utils/validation/requiredValidator.js +2 -3
- package/libEs5/utils/validation/stringValidator.js +2 -3
- package/libEs5/utils/validation/utils.js +5 -9
- package/libEs5/utils/values.js +2 -3
- package/libEs6/components/ActivityCollector/index.js +0 -1
- package/libEs6/components/Identity/index.js +2 -1
- package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -1
- package/libEs6/components/Identity/injectAwaitIdentityCookie.js +7 -11
- package/libEs6/components/Identity/injectEnsureSingleIdentity.js +4 -3
- package/libEs6/components/LegacyMediaAnalytics/{media → constants}/constants.js +11 -10
- package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +240 -0
- package/libEs6/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +85 -0
- package/libEs6/components/LegacyMediaAnalytics/createMediaHelper.js +157 -150
- package/libEs6/components/LegacyMediaAnalytics/index.js +40 -18
- package/libEs6/components/LibraryInfo/index.js +3 -1
- package/libEs6/components/Personalization/createComponent.js +5 -1
- package/libEs6/components/Personalization/createFetchDataHandler.js +16 -6
- package/libEs6/components/{MediaCollection/createUpdateMediaSessionState.js → Personalization/createHandleConsentFlicker.js} +14 -24
- package/libEs6/components/Personalization/createNotificationHandler.js +6 -2
- package/libEs6/components/Personalization/createOnDecisionHandler.js +1 -1
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +0 -1
- package/libEs6/components/Personalization/index.js +11 -3
- package/libEs6/components/StreamingMedia/configValidators.js +22 -0
- package/libEs6/components/StreamingMedia/constants/eventTypes.js +31 -0
- package/libEs6/components/StreamingMedia/constants/playbackState.js +16 -0
- package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaEventManager.js +44 -44
- package/libEs6/components/StreamingMedia/createMediaResponseHandler.js +58 -0
- package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaSessionCacheManager.js +17 -21
- package/libEs6/components/StreamingMedia/createStreamingMediaComponent.js +69 -0
- package/libEs6/components/StreamingMedia/createTrackMediaEvent.js +88 -0
- package/libEs6/components/StreamingMedia/createTrackMediaSession.js +51 -0
- package/libEs6/components/StreamingMedia/index.js +64 -0
- package/libEs6/components/{MediaCollection → StreamingMedia}/validateMediaEventOptions.js +4 -3
- package/libEs6/components/{MediaCollection → StreamingMedia}/validateMediaSessionOptions.js +1 -1
- package/libEs6/constants/libraryVersion.js +1 -1
- package/libEs6/core/componentCreators.js +19 -3
- package/libEs6/core/consent/createConsent.js +3 -0
- package/libEs6/core/consent/createConsentStateMachine.js +34 -0
- package/libEs6/core/createComponentRegistry.js +3 -0
- package/libEs6/utils/validation/index.js +6 -1
- package/libEs6/utils/{debounce.js → validation/matchesRegexpValidator.js} +5 -10
- package/package.json +19 -4
- package/libEs5/components/LegacyMediaAnalytics/createMediaAnalyticsTracker.js +0 -272
- package/libEs5/components/MediaCollection/createHeartbeatEngine.js +0 -55
- package/libEs5/components/MediaCollection/createUpdateMediaSessionState.js +0 -35
- package/libEs5/components/MediaCollection/index.js +0 -159
- package/libEs5/components/MediaCollection/mediaConstants/mediaEvents.js +0 -13
- package/libEs5/components/MediaCollection/validateMediaEventOptions.js +0 -35
- package/libEs6/components/LegacyMediaAnalytics/createMediaAnalyticsTracker.js +0 -276
- package/libEs6/components/MediaCollection/createHeartbeatEngine.js +0 -57
- package/libEs6/components/MediaCollection/index.js +0 -158
- package/libEs6/components/MediaCollection/mediaConstants/mediaEvents.js +0 -9
- /package/libEs6/components/LegacyMediaAnalytics/{media → constants}/mediaKeysToXdmConverter.js +0 -0
- /package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaRequest.js +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
-
var
|
|
5
|
-
var _createMediaRequestPayload = require("./createMediaRequestPayload");
|
|
4
|
+
var _eventTypes = require("./constants/eventTypes");
|
|
6
5
|
var _createMediaRequest = require("./createMediaRequest");
|
|
7
|
-
var _injectTimestamp = require("../Context/injectTimestamp");
|
|
8
6
|
var _utils = require("../../utils");
|
|
7
|
+
var _request = require("../../utils/request");
|
|
9
8
|
/*
|
|
10
9
|
Copyright 2023 Adobe. All rights reserved.
|
|
11
10
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -17,40 +16,46 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
17
16
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
18
17
|
governing permissions and limitations under the License.
|
|
19
18
|
*/
|
|
20
|
-
|
|
21
|
-
var _default = function _default(_ref) {
|
|
19
|
+
var _default = exports.default = function _default(_ref) {
|
|
22
20
|
var config = _ref.config,
|
|
23
21
|
eventManager = _ref.eventManager,
|
|
24
22
|
consent = _ref.consent,
|
|
25
|
-
sendEdgeNetworkRequest = _ref.sendEdgeNetworkRequest
|
|
23
|
+
sendEdgeNetworkRequest = _ref.sendEdgeNetworkRequest,
|
|
24
|
+
setTimestamp = _ref.setTimestamp;
|
|
26
25
|
return {
|
|
27
26
|
createMediaEvent: function createMediaEvent(_ref2) {
|
|
28
27
|
var options = _ref2.options;
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
var event = eventManager.createEvent();
|
|
29
|
+
var xdm = options.xdm;
|
|
30
|
+
setTimestamp(xdm);
|
|
31
|
+
event.setUserXdm(xdm);
|
|
32
|
+
if (xdm.eventType === _eventTypes.default.AD_START) {
|
|
33
|
+
var advertisingDetails = options.xdm.mediaCollection.advertisingDetails;
|
|
34
|
+
event.mergeXdm({
|
|
35
|
+
mediaCollection: {
|
|
36
|
+
advertisingDetails: {
|
|
37
|
+
playerName: advertisingDetails.playerName || config.streamingMedia.playerName
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
38
42
|
return event;
|
|
39
43
|
},
|
|
40
44
|
createMediaSession: function createMediaSession(options) {
|
|
41
|
-
var _config$
|
|
42
|
-
playerName = _config$
|
|
43
|
-
channel = _config$
|
|
44
|
-
|
|
45
|
+
var _config$streamingMedi = config.streamingMedia,
|
|
46
|
+
playerName = _config$streamingMedi.playerName,
|
|
47
|
+
channel = _config$streamingMedi.channel,
|
|
48
|
+
appVersion = _config$streamingMedi.appVersion;
|
|
45
49
|
var event = eventManager.createEvent();
|
|
50
|
+
var sessionDetails = options.xdm.mediaCollection.sessionDetails;
|
|
46
51
|
event.setUserXdm(options.xdm);
|
|
47
52
|
event.mergeXdm({
|
|
48
|
-
eventType:
|
|
53
|
+
eventType: _eventTypes.default.SESSION_START,
|
|
49
54
|
mediaCollection: {
|
|
50
55
|
sessionDetails: {
|
|
51
|
-
playerName:
|
|
52
|
-
channel:
|
|
53
|
-
appVersion:
|
|
56
|
+
playerName: sessionDetails.playerName || playerName,
|
|
57
|
+
channel: sessionDetails.channel || channel,
|
|
58
|
+
appVersion: sessionDetails.appVersion || appVersion
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
});
|
|
@@ -59,53 +64,42 @@ var _default = function _default(_ref) {
|
|
|
59
64
|
augmentMediaEvent: function augmentMediaEvent(_ref3) {
|
|
60
65
|
var event = _ref3.event,
|
|
61
66
|
playerId = _ref3.playerId,
|
|
62
|
-
|
|
67
|
+
getPlayerDetails = _ref3.getPlayerDetails,
|
|
63
68
|
sessionID = _ref3.sessionID;
|
|
64
|
-
if (!playerId || !
|
|
69
|
+
if (!playerId || !getPlayerDetails) {
|
|
65
70
|
return event;
|
|
66
71
|
}
|
|
67
|
-
var
|
|
72
|
+
var _getPlayerDetails = getPlayerDetails({
|
|
68
73
|
playerId: playerId
|
|
69
74
|
}),
|
|
70
|
-
playhead =
|
|
71
|
-
qoeDataDetails =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
return event;
|
|
80
|
-
}
|
|
81
|
-
return (0, _utils.deepAssign)(event, {
|
|
82
|
-
xdm: {
|
|
83
|
-
mediaCollection: {
|
|
84
|
-
playhead: (0, _utils.toInteger)(playhead),
|
|
85
|
-
qoeDataDetails: qoeDataDetails,
|
|
86
|
-
sessionID: sessionID
|
|
87
|
-
}
|
|
75
|
+
playhead = _getPlayerDetails.playhead,
|
|
76
|
+
qoeDataDetails = _getPlayerDetails.qoeDataDetails;
|
|
77
|
+
event.mergeXdm({
|
|
78
|
+
mediaCollection: {
|
|
79
|
+
playhead: (0, _utils.toInteger)(playhead),
|
|
80
|
+
qoeDataDetails: qoeDataDetails,
|
|
81
|
+
sessionID: sessionID
|
|
88
82
|
}
|
|
89
83
|
});
|
|
84
|
+
return event;
|
|
90
85
|
},
|
|
91
86
|
trackMediaSession: function trackMediaSession(_ref4) {
|
|
92
87
|
var event = _ref4.event,
|
|
93
|
-
|
|
94
|
-
onBeforeMediaEvent = _ref4.onBeforeMediaEvent;
|
|
88
|
+
mediaOptions = _ref4.mediaOptions;
|
|
95
89
|
return eventManager.sendEvent(event, {
|
|
96
|
-
|
|
97
|
-
onBeforeMediaEvent: onBeforeMediaEvent
|
|
90
|
+
mediaOptions: mediaOptions
|
|
98
91
|
});
|
|
99
92
|
},
|
|
100
93
|
trackMediaEvent: function trackMediaEvent(_ref5) {
|
|
101
|
-
var event = _ref5.event
|
|
102
|
-
|
|
103
|
-
var mediaRequestPayload = (0,
|
|
94
|
+
var event = _ref5.event,
|
|
95
|
+
action = _ref5.action;
|
|
96
|
+
var mediaRequestPayload = (0, _request.createDataCollectionRequestPayload)();
|
|
104
97
|
var request = (0, _createMediaRequest.default)({
|
|
105
98
|
mediaRequestPayload: mediaRequestPayload,
|
|
106
99
|
action: action
|
|
107
100
|
});
|
|
108
101
|
mediaRequestPayload.addEvent(event);
|
|
102
|
+
event.finalize();
|
|
109
103
|
return consent.awaitConsent().then(function () {
|
|
110
104
|
return sendEdgeNetworkRequest({
|
|
111
105
|
request: request
|
|
@@ -115,5 +109,4 @@ var _default = function _default(_ref) {
|
|
|
115
109
|
});
|
|
116
110
|
}
|
|
117
111
|
};
|
|
118
|
-
};
|
|
119
|
-
exports.default = _default;
|
|
112
|
+
};
|
|
@@ -13,7 +13,7 @@ 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 = function _default(_ref) {
|
|
16
|
+
var _default = exports.default = function _default(_ref) {
|
|
17
17
|
var mediaRequestPayload = _ref.mediaRequestPayload,
|
|
18
18
|
action = _ref.action;
|
|
19
19
|
return (0, _request.createRequest)({
|
|
@@ -26,5 +26,4 @@ var _default = function _default(_ref) {
|
|
|
26
26
|
return false;
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
};
|
|
30
|
-
exports.default = _default;
|
|
29
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _isBlankString = require("../../utils/isBlankString");
|
|
5
|
+
var _eventTypes = require("./constants/eventTypes");
|
|
6
|
+
var _utils = require("../../utils");
|
|
7
|
+
var _playbackState = require("./constants/playbackState");
|
|
8
|
+
/*
|
|
9
|
+
Copyright 2024 Adobe. All rights reserved.
|
|
10
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
12
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
|
|
14
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
15
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
16
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
17
|
+
governing permissions and limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
var _default = exports.default = function _default(_ref) {
|
|
20
|
+
var mediaSessionCacheManager = _ref.mediaSessionCacheManager,
|
|
21
|
+
config = _ref.config,
|
|
22
|
+
trackMediaEvent = _ref.trackMediaEvent;
|
|
23
|
+
return function (_ref2) {
|
|
24
|
+
var response = _ref2.response,
|
|
25
|
+
playerId = _ref2.playerId,
|
|
26
|
+
getPlayerDetails = _ref2.getPlayerDetails;
|
|
27
|
+
var mediaPayload = response.getPayloadsByType("media-analytics:new-session");
|
|
28
|
+
if ((0, _utils.isNonEmptyArray)(mediaPayload)) {
|
|
29
|
+
var sessionId = mediaPayload[0].sessionId;
|
|
30
|
+
if ((0, _isBlankString.default)(sessionId)) {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
if (!playerId || !getPlayerDetails) {
|
|
34
|
+
return {
|
|
35
|
+
sessionId: sessionId
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var pingId = setTimeout(function () {
|
|
39
|
+
trackMediaEvent({
|
|
40
|
+
playerId: playerId,
|
|
41
|
+
xdm: {
|
|
42
|
+
eventType: _eventTypes.default.PING
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}, config.streamingMedia.mainPingInterval * 1000);
|
|
46
|
+
mediaSessionCacheManager.savePing({
|
|
47
|
+
playerId: playerId,
|
|
48
|
+
pingId: pingId,
|
|
49
|
+
playbackState: _playbackState.default.MAIN
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
sessionId: sessionId
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return {};
|
|
56
|
+
};
|
|
57
|
+
};
|
package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaSessionCacheManager.js
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.default = void 0;
|
|
4
|
+
var _playbackState = require("./constants/playbackState");
|
|
4
5
|
/*
|
|
5
6
|
Copyright 2023 Adobe. All rights reserved.
|
|
6
7
|
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -12,40 +13,37 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
12
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
13
14
|
governing permissions and limitations under the License.
|
|
14
15
|
*/
|
|
15
|
-
var _default = function _default() {
|
|
16
|
+
var _default = exports.default = function _default() {
|
|
16
17
|
var mediaSessionCache;
|
|
17
18
|
var getSession = function getSession(playerId) {
|
|
18
19
|
return mediaSessionCache[playerId] || {};
|
|
19
20
|
};
|
|
20
|
-
var
|
|
21
|
+
var savePing = function savePing(_ref) {
|
|
21
22
|
var playerId = _ref.playerId,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!
|
|
23
|
+
pingId = _ref.pingId,
|
|
24
|
+
playbackState = _ref.playbackState;
|
|
25
|
+
if (!mediaSessionCache[playerId]) {
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var stopHeartbeat = function stopHeartbeat(_ref2) {
|
|
30
|
-
var playerId = _ref2.playerId;
|
|
31
|
-
var mediaSession = mediaSessionCache[playerId];
|
|
32
|
-
if (!mediaSession) {
|
|
33
|
-
return;
|
|
28
|
+
if (mediaSessionCache[playerId].pingId) {
|
|
29
|
+
clearTimeout(mediaSessionCache[playerId].pingId);
|
|
34
30
|
}
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
mediaSessionCache[playerId].pingId = pingId;
|
|
32
|
+
mediaSessionCache[playerId].playbackState = playbackState;
|
|
37
33
|
};
|
|
38
|
-
var
|
|
39
|
-
var playerId =
|
|
40
|
-
var
|
|
41
|
-
if (!
|
|
34
|
+
var stopPing = function stopPing(_ref2) {
|
|
35
|
+
var playerId = _ref2.playerId;
|
|
36
|
+
var sessionDetails = mediaSessionCache[playerId];
|
|
37
|
+
if (!sessionDetails) {
|
|
42
38
|
return;
|
|
43
39
|
}
|
|
44
|
-
|
|
40
|
+
clearTimeout(sessionDetails.pingId);
|
|
41
|
+
sessionDetails.pingId = null;
|
|
42
|
+
sessionDetails.playbackState = _playbackState.default.COMPLETED;
|
|
45
43
|
};
|
|
46
|
-
var storeSession = function storeSession(
|
|
47
|
-
var playerId =
|
|
48
|
-
sessionDetails =
|
|
44
|
+
var storeSession = function storeSession(_ref3) {
|
|
45
|
+
var playerId = _ref3.playerId,
|
|
46
|
+
sessionDetails = _ref3.sessionDetails;
|
|
49
47
|
if (mediaSessionCache === undefined) {
|
|
50
48
|
mediaSessionCache = {};
|
|
51
49
|
}
|
|
@@ -53,10 +51,8 @@ var _default = function _default() {
|
|
|
53
51
|
};
|
|
54
52
|
return {
|
|
55
53
|
getSession: getSession,
|
|
56
|
-
stopHeartbeat: stopHeartbeat,
|
|
57
|
-
updateLastTriggeredEventTS: updateLastTriggeredEventTS,
|
|
58
54
|
storeSession: storeSession,
|
|
59
|
-
|
|
55
|
+
stopPing: stopPing,
|
|
56
|
+
savePing: savePing
|
|
60
57
|
};
|
|
61
|
-
};
|
|
62
|
-
exports.default = _default;
|
|
58
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _utils = require("../../utils");
|
|
5
|
+
var _validateMediaSessionOptions = require("./validateMediaSessionOptions");
|
|
6
|
+
var _validateMediaEventOptions = require("./validateMediaEventOptions");
|
|
7
|
+
/*
|
|
8
|
+
Copyright 2024 Adobe. All rights reserved.
|
|
9
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
11
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
14
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
15
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
16
|
+
governing permissions and limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
var _default = exports.default = function _default(_ref) {
|
|
19
|
+
var config = _ref.config,
|
|
20
|
+
trackMediaEvent = _ref.trackMediaEvent,
|
|
21
|
+
trackMediaSession = _ref.trackMediaSession,
|
|
22
|
+
mediaResponseHandler = _ref.mediaResponseHandler;
|
|
23
|
+
return {
|
|
24
|
+
lifecycle: {
|
|
25
|
+
onBeforeEvent: function onBeforeEvent(_ref2) {
|
|
26
|
+
var mediaOptions = _ref2.mediaOptions,
|
|
27
|
+
_ref2$onResponse = _ref2.onResponse,
|
|
28
|
+
onResponse = _ref2$onResponse === void 0 ? _utils.noop : _ref2$onResponse;
|
|
29
|
+
if (!mediaOptions) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
var legacy = mediaOptions.legacy,
|
|
33
|
+
playerId = mediaOptions.playerId,
|
|
34
|
+
getPlayerDetails = mediaOptions.getPlayerDetails;
|
|
35
|
+
if (legacy) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
onResponse(function (_ref3) {
|
|
39
|
+
var response = _ref3.response;
|
|
40
|
+
return mediaResponseHandler({
|
|
41
|
+
playerId: playerId,
|
|
42
|
+
getPlayerDetails: getPlayerDetails,
|
|
43
|
+
response: response
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
commands: {
|
|
49
|
+
createMediaSession: {
|
|
50
|
+
optionsValidator: function optionsValidator(options) {
|
|
51
|
+
return (0, _validateMediaSessionOptions.default)({
|
|
52
|
+
options: options
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
run: trackMediaSession
|
|
56
|
+
},
|
|
57
|
+
sendMediaEvent: {
|
|
58
|
+
optionsValidator: function optionsValidator(options) {
|
|
59
|
+
return (0, _validateMediaEventOptions.default)({
|
|
60
|
+
options: options
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
run: function run(options) {
|
|
64
|
+
if (!config.streamingMedia) {
|
|
65
|
+
return Promise.reject(new Error("Streaming media is not configured."));
|
|
66
|
+
}
|
|
67
|
+
return trackMediaEvent(options);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _eventTypes = require("./constants/eventTypes");
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2024 Adobe. All rights reserved.
|
|
7
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
9
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
12
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
13
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
|
+
governing permissions and limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var getContentState = function getContentState(eventType, sessionContentState) {
|
|
18
|
+
if (eventType === _eventTypes.default.AD_START || eventType === _eventTypes.default.Ad_BREAK_START || eventType === _eventTypes.default.AD_SKIP || eventType === _eventTypes.default.AD_COMPLETE) {
|
|
19
|
+
return "ad";
|
|
20
|
+
}
|
|
21
|
+
if (eventType === _eventTypes.default.AD_BREAK_COMPLETE || eventType === _eventTypes.default.CHAPTER_COMPLETE || eventType === _eventTypes.default.CHAPTER_START || eventType === _eventTypes.default.CHAPTER_SKIP || eventType === _eventTypes.default.SESSION_START) {
|
|
22
|
+
return "main";
|
|
23
|
+
}
|
|
24
|
+
if (eventType === _eventTypes.default.SESSION_END || eventType === _eventTypes.default.SESSION_COMPLETE) {
|
|
25
|
+
return "completed";
|
|
26
|
+
}
|
|
27
|
+
return sessionContentState;
|
|
28
|
+
};
|
|
29
|
+
var _default = exports.default = function _default(_ref) {
|
|
30
|
+
var mediaEventManager = _ref.mediaEventManager,
|
|
31
|
+
mediaSessionCacheManager = _ref.mediaSessionCacheManager,
|
|
32
|
+
config = _ref.config;
|
|
33
|
+
var sendMediaEvent = function sendMediaEvent(options) {
|
|
34
|
+
var event = mediaEventManager.createMediaEvent({
|
|
35
|
+
options: options
|
|
36
|
+
});
|
|
37
|
+
var playerId = options.playerId,
|
|
38
|
+
xdm = options.xdm;
|
|
39
|
+
var eventType = xdm.eventType;
|
|
40
|
+
var action = eventType.split(".")[1];
|
|
41
|
+
var _mediaSessionCacheMan = mediaSessionCacheManager.getSession(playerId),
|
|
42
|
+
getPlayerDetails = _mediaSessionCacheMan.getPlayerDetails,
|
|
43
|
+
sessionPromise = _mediaSessionCacheMan.sessionPromise,
|
|
44
|
+
playbackState = _mediaSessionCacheMan.playbackState;
|
|
45
|
+
return sessionPromise.then(function (result) {
|
|
46
|
+
mediaEventManager.augmentMediaEvent({
|
|
47
|
+
event: event,
|
|
48
|
+
eventType: eventType,
|
|
49
|
+
playerId: playerId,
|
|
50
|
+
getPlayerDetails: getPlayerDetails,
|
|
51
|
+
sessionID: result.sessionId
|
|
52
|
+
});
|
|
53
|
+
return mediaEventManager.trackMediaEvent({
|
|
54
|
+
event: event,
|
|
55
|
+
action: action
|
|
56
|
+
}).then(function () {
|
|
57
|
+
if (playerId) {
|
|
58
|
+
if (eventType === _eventTypes.default.SESSION_COMPLETE || eventType === _eventTypes.default.SESSION_END) {
|
|
59
|
+
mediaSessionCacheManager.stopPing({
|
|
60
|
+
playerId: playerId
|
|
61
|
+
});
|
|
62
|
+
} else {
|
|
63
|
+
var sessionPlaybackState = getContentState(eventType, playbackState);
|
|
64
|
+
if (sessionPlaybackState === "completed") {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
var interval = sessionPlaybackState === "ad" ? config.streamingMedia.adPingInterval : config.streamingMedia.mainPingInterval;
|
|
68
|
+
var pingId = setTimeout(function () {
|
|
69
|
+
var pingOptions = {
|
|
70
|
+
playerId: playerId,
|
|
71
|
+
xdm: {
|
|
72
|
+
eventType: _eventTypes.default.PING
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
sendMediaEvent(pingOptions);
|
|
76
|
+
}, interval * 1000);
|
|
77
|
+
mediaSessionCacheManager.savePing({
|
|
78
|
+
playerId: playerId,
|
|
79
|
+
pingId: pingId,
|
|
80
|
+
playbackState: sessionPlaybackState
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
return function (options) {
|
|
88
|
+
return sendMediaEvent(options);
|
|
89
|
+
};
|
|
90
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _playbackState = require("./constants/playbackState");
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2024 Adobe. All rights reserved.
|
|
7
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
9
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
12
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
13
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
|
+
governing permissions and limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
var _default = exports.default = function _default(_ref) {
|
|
17
|
+
var config = _ref.config,
|
|
18
|
+
mediaEventManager = _ref.mediaEventManager,
|
|
19
|
+
mediaSessionCacheManager = _ref.mediaSessionCacheManager,
|
|
20
|
+
_ref$legacy = _ref.legacy,
|
|
21
|
+
legacy = _ref$legacy === void 0 ? false : _ref$legacy;
|
|
22
|
+
return function (options) {
|
|
23
|
+
if (!config.streamingMedia) {
|
|
24
|
+
return Promise.reject(new Error("Streaming media is not configured."));
|
|
25
|
+
}
|
|
26
|
+
var playerId = options.playerId,
|
|
27
|
+
getPlayerDetails = options.getPlayerDetails;
|
|
28
|
+
var event = mediaEventManager.createMediaSession(options);
|
|
29
|
+
mediaEventManager.augmentMediaEvent({
|
|
30
|
+
event: event,
|
|
31
|
+
playerId: playerId,
|
|
32
|
+
getPlayerDetails: getPlayerDetails
|
|
33
|
+
});
|
|
34
|
+
var sessionPromise = mediaEventManager.trackMediaSession({
|
|
35
|
+
event: event,
|
|
36
|
+
mediaOptions: {
|
|
37
|
+
playerId: playerId,
|
|
38
|
+
getPlayerDetails: getPlayerDetails,
|
|
39
|
+
legacy: legacy
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
mediaSessionCacheManager.storeSession({
|
|
43
|
+
playerId: playerId,
|
|
44
|
+
sessionDetails: {
|
|
45
|
+
sessionPromise: sessionPromise,
|
|
46
|
+
getPlayerDetails: getPlayerDetails,
|
|
47
|
+
playbackState: _playbackState.default.MAIN
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return sessionPromise;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _createMediaSessionCacheManager = require("./createMediaSessionCacheManager");
|
|
5
|
+
var _createMediaEventManager = require("./createMediaEventManager");
|
|
6
|
+
var _createTrackMediaEvent = require("./createTrackMediaEvent");
|
|
7
|
+
var _configValidators = require("./configValidators");
|
|
8
|
+
var _createStreamingMediaComponent = require("./createStreamingMediaComponent");
|
|
9
|
+
var _createTrackMediaSession = require("./createTrackMediaSession");
|
|
10
|
+
var _createMediaResponseHandler = require("./createMediaResponseHandler");
|
|
11
|
+
var _injectTimestamp = require("../Context/injectTimestamp");
|
|
12
|
+
/*
|
|
13
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
14
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
16
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
|
|
18
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
19
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
20
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
21
|
+
governing permissions and limitations under the License.
|
|
22
|
+
*/
|
|
23
|
+
/* eslint-disable import/no-restricted-paths */
|
|
24
|
+
|
|
25
|
+
var createStreamingMedia = function createStreamingMedia(_ref) {
|
|
26
|
+
var config = _ref.config,
|
|
27
|
+
logger = _ref.logger,
|
|
28
|
+
eventManager = _ref.eventManager,
|
|
29
|
+
sendEdgeNetworkRequest = _ref.sendEdgeNetworkRequest,
|
|
30
|
+
consent = _ref.consent;
|
|
31
|
+
var mediaSessionCacheManager = (0, _createMediaSessionCacheManager.default)({
|
|
32
|
+
config: config
|
|
33
|
+
});
|
|
34
|
+
var mediaEventManager = (0, _createMediaEventManager.default)({
|
|
35
|
+
config: config,
|
|
36
|
+
eventManager: eventManager,
|
|
37
|
+
logger: logger,
|
|
38
|
+
consent: consent,
|
|
39
|
+
sendEdgeNetworkRequest: sendEdgeNetworkRequest,
|
|
40
|
+
setTimestamp: (0, _injectTimestamp.default)(function () {
|
|
41
|
+
return new Date();
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
var trackMediaEvent = (0, _createTrackMediaEvent.default)({
|
|
45
|
+
mediaSessionCacheManager: mediaSessionCacheManager,
|
|
46
|
+
mediaEventManager: mediaEventManager,
|
|
47
|
+
config: config
|
|
48
|
+
});
|
|
49
|
+
var trackMediaSession = (0, _createTrackMediaSession.default)({
|
|
50
|
+
config: config,
|
|
51
|
+
mediaEventManager: mediaEventManager,
|
|
52
|
+
mediaSessionCacheManager: mediaSessionCacheManager
|
|
53
|
+
});
|
|
54
|
+
var mediaResponseHandler = (0, _createMediaResponseHandler.default)({
|
|
55
|
+
mediaSessionCacheManager: mediaSessionCacheManager,
|
|
56
|
+
config: config,
|
|
57
|
+
trackMediaEvent: trackMediaEvent
|
|
58
|
+
});
|
|
59
|
+
return (0, _createStreamingMediaComponent.default)({
|
|
60
|
+
config: config,
|
|
61
|
+
trackMediaEvent: trackMediaEvent,
|
|
62
|
+
mediaEventManager: mediaEventManager,
|
|
63
|
+
mediaResponseHandler: mediaResponseHandler,
|
|
64
|
+
trackMediaSession: trackMediaSession
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
createStreamingMedia.namespace = "Streaming media";
|
|
68
|
+
createStreamingMedia.configValidators = _configValidators.default;
|
|
69
|
+
var _default = exports.default = createStreamingMedia;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
var _validation = require("../../utils/validation");
|
|
5
|
+
var _eventTypes = require("./constants/eventTypes");
|
|
6
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
7
|
+
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."); }
|
|
8
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
10
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /*
|
|
12
|
+
Copyright 2023 Adobe. All rights reserved.
|
|
13
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
14
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
15
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
|
|
17
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
18
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
19
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
20
|
+
governing permissions and limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
var _default = exports.default = function _default(_ref) {
|
|
23
|
+
var options = _ref.options;
|
|
24
|
+
var validator = (0, _validation.anyOf)([(0, _validation.objectOf)({
|
|
25
|
+
playerId: (0, _validation.string)().required(),
|
|
26
|
+
xdm: (0, _validation.objectOf)({
|
|
27
|
+
eventType: _validation.enumOf.apply(void 0, _toConsumableArray(Object.values(_eventTypes.default))).required(),
|
|
28
|
+
mediaCollection: (0, _validation.objectOf)((0, _validation.anything)())
|
|
29
|
+
}).required()
|
|
30
|
+
}).required(), (0, _validation.objectOf)({
|
|
31
|
+
xdm: (0, _validation.objectOf)({
|
|
32
|
+
eventType: _validation.enumOf.apply(void 0, _toConsumableArray(Object.values(_eventTypes.default))).required(),
|
|
33
|
+
mediaCollection: (0, _validation.objectOf)({
|
|
34
|
+
playhead: (0, _validation.number)().integer().required(),
|
|
35
|
+
sessionID: (0, _validation.string)().required()
|
|
36
|
+
}).required()
|
|
37
|
+
}).required()
|
|
38
|
+
}).required()], "Error validating the sendMediaEvent command options.");
|
|
39
|
+
return validator(options);
|
|
40
|
+
};
|
|
@@ -13,11 +13,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
13
13
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
14
14
|
governing permissions and limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var _default = function _default(_ref) {
|
|
16
|
+
var _default = exports.default = function _default(_ref) {
|
|
17
17
|
var options = _ref.options;
|
|
18
18
|
var sessionValidator = (0, _validation.anyOf)([(0, _validation.objectOf)({
|
|
19
19
|
playerId: (0, _validation.string)().required(),
|
|
20
|
-
|
|
20
|
+
getPlayerDetails: (0, _validation.callback)().required(),
|
|
21
21
|
xdm: (0, _validation.objectOf)({
|
|
22
22
|
mediaCollection: (0, _validation.objectOf)({
|
|
23
23
|
sessionDetails: (0, _validation.objectOf)((0, _validation.anything)()).required()
|
|
@@ -32,5 +32,4 @@ var _default = function _default(_ref) {
|
|
|
32
32
|
})
|
|
33
33
|
}).required()], "Error validating the createMediaSession command options.");
|
|
34
34
|
return sessionValidator(options);
|
|
35
|
-
};
|
|
36
|
-
exports.default = _default;
|
|
35
|
+
};
|
|
@@ -12,5 +12,4 @@ 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 = "v1";
|
|
16
|
-
exports.default = _default;
|
|
15
|
+
var _default = exports.default = "v1";
|