@adobe/alloy 2.20.0-alpha.1 → 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.
Files changed (392) hide show
  1. package/libEs5/baseCode/index.js +2 -3
  2. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +2 -3
  3. package/libEs5/components/ActivityCollector/configValidators.js +3 -5
  4. package/libEs5/components/ActivityCollector/createGetLinkDetails.js +2 -3
  5. package/libEs5/components/ActivityCollector/createLinkClick.js +2 -3
  6. package/libEs5/components/ActivityCollector/getLinkName.js +2 -3
  7. package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -3
  8. package/libEs5/components/ActivityCollector/index.js +1 -2
  9. package/libEs5/components/ActivityCollector/utils.js +11 -21
  10. package/libEs5/components/Audiences/index.js +1 -2
  11. package/libEs5/components/Audiences/injectProcessDestinations.js +18 -16
  12. package/libEs5/components/Audiences/injectProcessResponse.js +2 -3
  13. package/libEs5/components/Context/createComponent.js +2 -3
  14. package/libEs5/components/Context/implementationDetails.js +2 -3
  15. package/libEs5/components/Context/index.js +17 -15
  16. package/libEs5/components/Context/injectDevice.js +2 -3
  17. package/libEs5/components/Context/injectEnvironment.js +6 -7
  18. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +15 -16
  19. package/libEs5/components/Context/injectPlaceContext.js +2 -3
  20. package/libEs5/components/Context/injectTimestamp.js +2 -3
  21. package/libEs5/components/Context/injectWeb.js +2 -3
  22. package/libEs5/components/DataCollector/index.js +1 -2
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +2 -3
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +2 -3
  25. package/libEs5/components/DecisioningEngine/consequenceAdapters/inAppMessageConsequenceAdapter.js +2 -3
  26. package/libEs5/components/DecisioningEngine/consequenceAdapters/schemaTypeConsequenceAdapter.js +2 -3
  27. package/libEs5/components/DecisioningEngine/constants.js +4 -7
  28. package/libEs5/components/DecisioningEngine/createApplyResponse.js +2 -3
  29. package/libEs5/components/DecisioningEngine/createConsequenceAdapter.js +17 -16
  30. package/libEs5/components/DecisioningEngine/createContextProvider.js +18 -16
  31. package/libEs5/components/DecisioningEngine/createDecisionHistory.js +2 -3
  32. package/libEs5/components/DecisioningEngine/createDecisionProvider.js +2 -3
  33. package/libEs5/components/DecisioningEngine/createEvaluableRulesetPayload.js +18 -16
  34. package/libEs5/components/DecisioningEngine/createEvaluateRulesetsCommand.js +2 -3
  35. package/libEs5/components/DecisioningEngine/createEventRegistry.js +20 -20
  36. package/libEs5/components/DecisioningEngine/createOnResponseHandler.js +18 -16
  37. package/libEs5/components/DecisioningEngine/createSubscribeRulesetItems.js +18 -16
  38. package/libEs5/components/DecisioningEngine/index.js +19 -19
  39. package/libEs5/components/DecisioningEngine/utils.js +10 -18
  40. package/libEs5/components/EventMerge/createComponent.js +2 -3
  41. package/libEs5/components/EventMerge/createEventMergeId.js +2 -3
  42. package/libEs5/components/EventMerge/index.js +1 -2
  43. package/libEs5/components/Identity/addEcidQueryToPayload.js +2 -3
  44. package/libEs5/components/Identity/addEcidToPayload.js +2 -3
  45. package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +2 -3
  46. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +4 -5
  47. package/libEs5/components/Identity/configValidators.js +1 -2
  48. package/libEs5/components/Identity/constants/authState.js +3 -6
  49. package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -2
  50. package/libEs5/components/Identity/createComponent.js +2 -3
  51. package/libEs5/components/Identity/createLegacyIdentity.js +8 -6
  52. package/libEs5/components/Identity/getEcidFromResponse.js +2 -3
  53. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +2 -3
  54. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +2 -3
  55. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +2 -3
  56. package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +2 -3
  57. package/libEs5/components/Identity/index.js +3 -3
  58. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +2 -3
  59. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +18 -15
  60. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +9 -14
  61. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +8 -6
  62. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +2 -3
  63. package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -3
  64. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +2 -3
  65. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +2 -3
  66. package/libEs5/components/Identity/visitorService/getVisitor.js +2 -3
  67. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -3
  68. package/libEs5/components/LegacyMediaAnalytics/{media → constants}/constants.js +15 -25
  69. package/libEs5/components/LegacyMediaAnalytics/{media → constants}/mediaKeysToXdmConverter.js +3 -5
  70. package/libEs5/components/LegacyMediaAnalytics/createGetInstance.js +246 -0
  71. package/libEs5/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +87 -0
  72. package/libEs5/components/LegacyMediaAnalytics/createMediaHelper.js +7 -14
  73. package/libEs5/components/LegacyMediaAnalytics/index.js +43 -20
  74. package/libEs5/components/LibraryInfo/index.js +21 -17
  75. package/libEs5/components/MachineLearning/index.js +1 -2
  76. package/libEs5/components/MachineLearning/processResponse.js +2 -3
  77. package/libEs5/components/Personalization/constants/loggerMessage.js +2 -4
  78. package/libEs5/components/Personalization/constants/scopeType.js +3 -6
  79. package/libEs5/components/Personalization/constants/surface.js +4 -8
  80. package/libEs5/components/Personalization/createActionsProvider.js +2 -3
  81. package/libEs5/components/Personalization/createApplyPropositions.js +19 -17
  82. package/libEs5/components/Personalization/createClickStorage.js +8 -6
  83. package/libEs5/components/Personalization/createCollect.js +2 -3
  84. package/libEs5/components/Personalization/createComponent.js +7 -4
  85. package/libEs5/components/Personalization/createFetchDataHandler.js +28 -20
  86. package/libEs5/components/Personalization/createGetPageLocation.js +2 -3
  87. package/libEs5/{utils/debounce.js → components/Personalization/createHandleConsentFlicker.js} +13 -14
  88. package/libEs5/components/Personalization/createNotificationHandler.js +10 -5
  89. package/libEs5/components/Personalization/createOnClickHandler.js +2 -3
  90. package/libEs5/components/Personalization/createOnDecisionHandler.js +3 -4
  91. package/libEs5/components/Personalization/createPersonalizationDetails.js +13 -14
  92. package/libEs5/components/Personalization/createPreprocessors.js +16 -14
  93. package/libEs5/components/Personalization/createSetTargetMigration.js +2 -3
  94. package/libEs5/components/Personalization/createViewCacheManager.js +2 -3
  95. package/libEs5/components/Personalization/createViewChangeHandler.js +2 -3
  96. package/libEs5/components/Personalization/dom-actions/action.js +2 -3
  97. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +2 -3
  98. package/libEs5/components/Personalization/dom-actions/appendHtml.js +2 -3
  99. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +3 -4
  100. package/libEs5/components/Personalization/dom-actions/createPreprocess.js +2 -3
  101. package/libEs5/components/Personalization/dom-actions/createRedirect.js +2 -3
  102. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +2 -3
  103. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +2 -3
  104. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +2 -3
  105. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +2 -3
  106. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +2 -3
  107. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +2 -3
  108. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +2 -3
  109. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +3 -5
  110. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +2 -3
  111. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +3 -5
  112. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +2 -3
  113. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +2 -3
  114. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +2 -3
  115. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +2 -3
  116. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -19
  117. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +2 -3
  118. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +2 -3
  119. package/libEs5/components/Personalization/dom-actions/images.js +4 -7
  120. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +2 -3
  121. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +2 -3
  122. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +2 -3
  123. package/libEs5/components/Personalization/dom-actions/prependHtml.js +2 -3
  124. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +2 -3
  125. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -3
  126. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -3
  127. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +2 -3
  128. package/libEs5/components/Personalization/dom-actions/scripts.js +22 -24
  129. package/libEs5/components/Personalization/dom-actions/setAttributes.js +2 -3
  130. package/libEs5/components/Personalization/dom-actions/setHtml.js +2 -3
  131. package/libEs5/components/Personalization/dom-actions/setStyles.js +2 -3
  132. package/libEs5/components/Personalization/dom-actions/setText.js +2 -3
  133. package/libEs5/components/Personalization/dom-actions/swapImage.js +2 -3
  134. package/libEs5/components/Personalization/event.js +19 -18
  135. package/libEs5/components/Personalization/flicker/index.js +21 -22
  136. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +8 -6
  137. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +2 -3
  138. package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +18 -16
  139. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +3 -4
  140. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +2 -4
  141. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +24 -22
  142. package/libEs5/components/Personalization/handlers/processDefaultContent.js +2 -3
  143. package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +25 -29
  144. package/libEs5/components/Personalization/in-app-message-actions/initInAppMessageActionsModules.js +2 -3
  145. package/libEs5/components/Personalization/in-app-message-actions/utils.js +3 -5
  146. package/libEs5/components/Personalization/index.js +31 -22
  147. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +2 -3
  148. package/libEs5/components/Personalization/utils/createAsyncArray.js +2 -3
  149. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +2 -3
  150. package/libEs5/components/Personalization/utils/surfaceUtils.js +4 -7
  151. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +3 -5
  152. package/libEs5/components/Privacy/computeConsentHash.js +13 -14
  153. package/libEs5/components/Privacy/createComponent.js +16 -14
  154. package/libEs5/components/Privacy/createConsentHashStore.js +2 -3
  155. package/libEs5/components/Privacy/createConsentRequest.js +2 -3
  156. package/libEs5/components/Privacy/createConsentRequestPayload.js +2 -3
  157. package/libEs5/components/Privacy/createStoredConsent.js +2 -3
  158. package/libEs5/components/Privacy/index.js +1 -2
  159. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +2 -3
  160. package/libEs5/components/Privacy/parseConsentCookie.js +4 -5
  161. package/libEs5/components/Privacy/validateSetConsentOptions.js +2 -3
  162. package/libEs5/components/StreamingMedia/configValidators.js +24 -0
  163. package/libEs5/components/{MediaCollection → StreamingMedia}/constants/eventTypes.js +14 -5
  164. package/{libEs6/utils/debounce.js → libEs5/components/StreamingMedia/constants/playbackState.js} +9 -12
  165. package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaEventManager.js +27 -24
  166. package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaRequest.js +2 -3
  167. package/libEs5/components/StreamingMedia/createMediaResponseHandler.js +57 -0
  168. package/libEs5/components/{MediaCollection → StreamingMedia}/createMediaSessionCacheManager.js +21 -25
  169. package/libEs5/components/StreamingMedia/createStreamingMediaComponent.js +72 -0
  170. package/libEs5/components/StreamingMedia/createTrackMediaEvent.js +90 -0
  171. package/libEs5/components/StreamingMedia/createTrackMediaSession.js +52 -0
  172. package/libEs5/components/StreamingMedia/index.js +69 -0
  173. package/libEs5/components/StreamingMedia/validateMediaEventOptions.js +40 -0
  174. package/libEs5/components/{MediaCollection → StreamingMedia}/validateMediaSessionOptions.js +3 -4
  175. package/libEs5/constants/apiVersion.js +1 -2
  176. package/libEs5/constants/browser.js +7 -14
  177. package/libEs5/constants/consentPurpose.js +1 -2
  178. package/libEs5/constants/consentStatus.js +3 -6
  179. package/libEs5/constants/contentType.js +2 -4
  180. package/libEs5/constants/cookieNameKey.js +3 -6
  181. package/libEs5/constants/cookieNamePrefix.js +1 -2
  182. package/libEs5/constants/coreCommands.js +2 -4
  183. package/libEs5/constants/debugQueryParam.js +1 -2
  184. package/libEs5/constants/decisionProvider.js +1 -2
  185. package/libEs5/constants/domain.js +2 -4
  186. package/libEs5/constants/ecidNamespace.js +1 -2
  187. package/libEs5/constants/edgeBasePath.js +1 -2
  188. package/libEs5/constants/elementAttribute.js +1 -2
  189. package/libEs5/constants/eventType.js +5 -10
  190. package/libEs5/constants/handle.js +1 -2
  191. package/libEs5/constants/highEntropyUserAgentClientHints.js +1 -2
  192. package/libEs5/constants/httpHeaderNames.js +2 -4
  193. package/libEs5/constants/httpStatusCode.js +5 -10
  194. package/libEs5/constants/identityMapAuthenticatedState.js +3 -6
  195. package/libEs5/constants/legacyCookies.js +3 -6
  196. package/libEs5/constants/libraryName.js +1 -2
  197. package/libEs5/constants/libraryVersion.js +1 -2
  198. package/libEs5/constants/namespace.js +1 -2
  199. package/libEs5/constants/pageWideScope.js +1 -2
  200. package/libEs5/constants/propositionEventType.js +20 -21
  201. package/libEs5/constants/queryStringIdentityParam.js +1 -2
  202. package/libEs5/constants/schema.js +10 -20
  203. package/libEs5/constants/shadowSeparator.js +1 -2
  204. package/libEs5/constants/tagName.js +7 -14
  205. package/libEs5/core/buildAndValidateConfig.js +19 -17
  206. package/libEs5/core/componentCreators.js +9 -4
  207. package/libEs5/core/config/createConfig.js +1 -2
  208. package/libEs5/core/config/createCoreConfigs.js +2 -3
  209. package/libEs5/core/consent/createConsent.js +5 -3
  210. package/libEs5/core/consent/createConsentStateMachine.js +41 -13
  211. package/libEs5/core/createComponentRegistry.js +5 -3
  212. package/libEs5/core/createCookieTransfer.js +2 -3
  213. package/libEs5/core/createEvent.js +13 -14
  214. package/libEs5/core/createEventManager.js +8 -6
  215. package/libEs5/core/createInstanceFunction.js +2 -3
  216. package/libEs5/core/createLifecycle.js +2 -3
  217. package/libEs5/core/createLogController.js +2 -3
  218. package/libEs5/core/createLogger.js +2 -3
  219. package/libEs5/core/edgeNetwork/handleRequestFailure.js +2 -3
  220. package/libEs5/core/edgeNetwork/injectApplyResponse.js +2 -3
  221. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +2 -3
  222. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +2 -3
  223. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +2 -3
  224. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +2 -3
  225. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +13 -14
  226. package/libEs5/core/index.js +3 -5
  227. package/libEs5/core/initializeComponents.js +2 -3
  228. package/libEs5/core/injectCreateResponse.js +2 -3
  229. package/libEs5/core/injectExecuteCommand.js +2 -3
  230. package/libEs5/core/injectHandleError.js +2 -3
  231. package/libEs5/core/injectShouldTransferCookie.js +2 -3
  232. package/libEs5/core/network/getRequestRetryDelay.js +2 -3
  233. package/libEs5/core/network/injectSendNetworkRequest.js +18 -16
  234. package/libEs5/core/network/isRequestRetryable.js +2 -3
  235. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +2 -3
  236. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +2 -3
  237. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +2 -3
  238. package/libEs5/core/validateCommandOptions.js +2 -3
  239. package/libEs5/index.js +2 -3
  240. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +2 -3
  241. package/libEs5/utils/assign.js +1 -2
  242. package/libEs5/utils/assignConcatArrayValues.js +13 -14
  243. package/libEs5/utils/assignIf.js +2 -3
  244. package/libEs5/utils/clone.js +2 -3
  245. package/libEs5/utils/cookieJar.js +2 -3
  246. package/libEs5/utils/crc32.js +1 -2
  247. package/libEs5/utils/createCallbackAggregator.js +2 -3
  248. package/libEs5/utils/createLoggingCookieJar.js +8 -6
  249. package/libEs5/utils/createMerger.js +2 -3
  250. package/libEs5/utils/createSubscription.js +12 -13
  251. package/libEs5/utils/createTaskQueue.js +2 -3
  252. package/libEs5/utils/deduplicateArray.js +2 -3
  253. package/libEs5/utils/deepAssign.js +2 -3
  254. package/libEs5/utils/defer.js +2 -3
  255. package/libEs5/utils/dom/appendNode.js +2 -3
  256. package/libEs5/utils/dom/awaitSelector.js +7 -13
  257. package/libEs5/utils/dom/createNode.js +2 -3
  258. package/libEs5/utils/dom/isShadowSelector.js +2 -3
  259. package/libEs5/utils/dom/matchesSelector.js +2 -3
  260. package/libEs5/utils/dom/querySelectorAll.js +2 -3
  261. package/libEs5/utils/dom/removeNode.js +2 -3
  262. package/libEs5/utils/dom/selectNodes.js +2 -3
  263. package/libEs5/utils/dom/selectNodesWithShadow.js +2 -3
  264. package/libEs5/utils/endsWith.js +2 -3
  265. package/libEs5/utils/filterObject.js +17 -15
  266. package/libEs5/utils/find.js +2 -3
  267. package/libEs5/utils/fireImage.js +2 -3
  268. package/libEs5/utils/flatMap.js +2 -3
  269. package/libEs5/utils/flattenArray.js +2 -3
  270. package/libEs5/utils/flattenObject.js +4 -5
  271. package/libEs5/utils/getApexDomain.js +2 -3
  272. package/libEs5/utils/getBrowser.js +17 -16
  273. package/libEs5/utils/getLastArrayItems.js +2 -3
  274. package/libEs5/utils/getNamespacedCookieName.js +2 -3
  275. package/libEs5/utils/groupBy.js +2 -3
  276. package/libEs5/utils/includes.js +2 -3
  277. package/libEs5/utils/injectDoesIdentityCookieExist.js +2 -3
  278. package/libEs5/utils/injectFireReferrerHideableImage.js +14 -15
  279. package/libEs5/utils/injectStorage.js +2 -3
  280. package/libEs5/utils/intersection.js +2 -3
  281. package/libEs5/utils/isBlankString.js +2 -3
  282. package/libEs5/utils/isBoolean.js +2 -3
  283. package/libEs5/utils/isEmptyObject.js +2 -3
  284. package/libEs5/utils/isFunction.js +2 -3
  285. package/libEs5/utils/isInteger.js +2 -3
  286. package/libEs5/utils/isNamespacedCookieName.js +2 -3
  287. package/libEs5/utils/isNil.js +2 -3
  288. package/libEs5/utils/isNonEmptyArray.js +2 -3
  289. package/libEs5/utils/isNonEmptyString.js +2 -3
  290. package/libEs5/utils/isNumber.js +2 -3
  291. package/libEs5/utils/isObject.js +13 -14
  292. package/libEs5/utils/isString.js +2 -3
  293. package/libEs5/utils/isUnique.js +2 -3
  294. package/libEs5/utils/isValidRegExp.js +2 -3
  295. package/libEs5/utils/memoize.js +2 -3
  296. package/libEs5/utils/noop.js +1 -2
  297. package/libEs5/utils/padStart.js +2 -3
  298. package/libEs5/utils/parseUrl.js +17 -15
  299. package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -14
  300. package/libEs5/utils/querystring.js +1 -2
  301. package/libEs5/utils/request/createAddIdentity.js +2 -3
  302. package/libEs5/utils/request/createDataCollectionRequest.js +2 -3
  303. package/libEs5/utils/request/createDataCollectionRequestPayload.js +2 -3
  304. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -3
  305. package/libEs5/utils/request/createHasIdentity.js +2 -3
  306. package/libEs5/utils/request/createRequest.js +2 -3
  307. package/libEs5/utils/request/createRequestParams.js +2 -3
  308. package/libEs5/utils/request/createRequestPayload.js +2 -3
  309. package/libEs5/utils/sanitizeOrgIdForCookieName.js +2 -3
  310. package/libEs5/utils/stackError.js +2 -3
  311. package/libEs5/utils/startsWith.js +2 -3
  312. package/libEs5/utils/stringToBoolean.js +2 -3
  313. package/libEs5/utils/toArray.js +2 -3
  314. package/libEs5/utils/toError.js +2 -3
  315. package/libEs5/utils/toISOStringLocal.js +2 -3
  316. package/libEs5/utils/toInteger.js +2 -3
  317. package/libEs5/utils/updateErrorMessage.js +2 -3
  318. package/libEs5/utils/uuid.js +1 -2
  319. package/libEs5/utils/validateConfigOverride.js +1 -2
  320. package/libEs5/utils/validateIdentityMap.js +2 -3
  321. package/libEs5/utils/validation/booleanValidator.js +2 -3
  322. package/libEs5/utils/validation/callbackValidator.js +2 -3
  323. package/libEs5/utils/validation/createAnyOfValidator.js +2 -3
  324. package/libEs5/utils/validation/createArrayOfValidator.js +2 -3
  325. package/libEs5/utils/validation/createDefaultValidator.js +2 -3
  326. package/libEs5/utils/validation/createDeprecatedValidator.js +18 -19
  327. package/libEs5/utils/validation/createLiteralValidator.js +2 -3
  328. package/libEs5/utils/validation/createMapOfValuesValidator.js +2 -3
  329. package/libEs5/utils/validation/createMaximumValidator.js +2 -3
  330. package/libEs5/utils/validation/createMinimumValidator.js +2 -3
  331. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +2 -3
  332. package/libEs5/utils/validation/createNonEmptyValidator.js +2 -3
  333. package/libEs5/utils/validation/createObjectOfValidator.js +2 -3
  334. package/libEs5/utils/validation/createUniqueItemsValidator.js +2 -3
  335. package/libEs5/utils/validation/createUniqueValidator.js +2 -3
  336. package/libEs5/utils/validation/domainValidator.js +2 -3
  337. package/libEs5/utils/validation/index.js +84 -92
  338. package/libEs5/utils/validation/integerValidator.js +2 -3
  339. package/libEs5/utils/validation/matchesRegexpValidator.js +2 -3
  340. package/libEs5/utils/validation/numberValidator.js +2 -3
  341. package/libEs5/utils/validation/regexpValidator.js +2 -3
  342. package/libEs5/utils/validation/requiredValidator.js +2 -3
  343. package/libEs5/utils/validation/stringValidator.js +2 -3
  344. package/libEs5/utils/validation/utils.js +5 -9
  345. package/libEs5/utils/values.js +2 -3
  346. package/libEs6/components/ActivityCollector/index.js +0 -1
  347. package/libEs6/components/Identity/index.js +2 -1
  348. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -1
  349. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +7 -11
  350. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +4 -3
  351. package/libEs6/components/LegacyMediaAnalytics/{media → constants}/constants.js +3 -2
  352. package/libEs6/components/LegacyMediaAnalytics/createGetInstance.js +240 -0
  353. package/libEs6/components/LegacyMediaAnalytics/createLegacyMediaComponent.js +85 -0
  354. package/libEs6/components/LegacyMediaAnalytics/createMediaHelper.js +5 -11
  355. package/libEs6/components/LegacyMediaAnalytics/index.js +40 -18
  356. package/libEs6/components/LibraryInfo/index.js +3 -1
  357. package/libEs6/components/Personalization/createComponent.js +5 -1
  358. package/libEs6/components/Personalization/createFetchDataHandler.js +16 -6
  359. package/libEs6/components/Personalization/createHandleConsentFlicker.js +26 -0
  360. package/libEs6/components/Personalization/createNotificationHandler.js +6 -2
  361. package/libEs6/components/Personalization/createOnDecisionHandler.js +1 -1
  362. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +0 -1
  363. package/libEs6/components/Personalization/index.js +11 -3
  364. package/libEs6/components/StreamingMedia/configValidators.js +22 -0
  365. package/libEs6/components/StreamingMedia/constants/eventTypes.js +31 -0
  366. package/libEs6/components/{MediaCollection/constants/eventTypes.js → StreamingMedia/constants/playbackState.js} +4 -9
  367. package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaEventManager.js +23 -16
  368. package/libEs6/components/StreamingMedia/createMediaResponseHandler.js +58 -0
  369. package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaSessionCacheManager.js +15 -19
  370. package/libEs6/components/StreamingMedia/createStreamingMediaComponent.js +69 -0
  371. package/libEs6/components/StreamingMedia/createTrackMediaEvent.js +88 -0
  372. package/libEs6/components/StreamingMedia/createTrackMediaSession.js +51 -0
  373. package/libEs6/components/StreamingMedia/index.js +64 -0
  374. package/libEs6/components/{MediaCollection → StreamingMedia}/validateMediaEventOptions.js +4 -3
  375. package/libEs6/components/{MediaCollection → StreamingMedia}/validateMediaSessionOptions.js +1 -1
  376. package/libEs6/constants/libraryVersion.js +1 -1
  377. package/libEs6/core/componentCreators.js +19 -3
  378. package/libEs6/core/consent/createConsent.js +3 -0
  379. package/libEs6/core/consent/createConsentStateMachine.js +34 -0
  380. package/libEs6/core/createComponentRegistry.js +3 -0
  381. package/package.json +19 -4
  382. package/libEs5/components/LegacyMediaAnalytics/createMediaAnalyticsTracker.js +0 -272
  383. package/libEs5/components/MediaCollection/createHeartbeatEngine.js +0 -63
  384. package/libEs5/components/MediaCollection/createUpdateMediaSessionState.js +0 -31
  385. package/libEs5/components/MediaCollection/index.js +0 -165
  386. package/libEs5/components/MediaCollection/validateMediaEventOptions.js +0 -35
  387. package/libEs6/components/LegacyMediaAnalytics/createMediaAnalyticsTracker.js +0 -276
  388. package/libEs6/components/MediaCollection/createHeartbeatEngine.js +0 -64
  389. package/libEs6/components/MediaCollection/createUpdateMediaSessionState.js +0 -30
  390. package/libEs6/components/MediaCollection/index.js +0 -164
  391. /package/libEs6/components/LegacyMediaAnalytics/{media → constants}/mediaKeysToXdmConverter.js +0 -0
  392. /package/libEs6/components/{MediaCollection → StreamingMedia}/createMediaRequest.js +0 -0
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
 
3
- exports.VIDEO_METADATA_KEYS = exports.STREAM_TYPE = exports.PLAYER_STATE = exports.MEDIA_TYPE = exports.MEDIA_OBJECT_KEYS = exports.MEDIA_EVENTS = exports.EVENT = exports.AUDIO_METADATA_KEYS = exports.AD_METADATA_KEYS = void 0;
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ exports.VIDEO_METADATA_KEYS = exports.STREAM_TYPE = exports.PLAYER_STATE = exports.MEDIA_TYPE = exports.MEDIA_OBJECT_KEYS = exports.MEDIA_EVENTS_INTERNAL = exports.EVENT = exports.AUDIO_METADATA_KEYS = exports.AD_METADATA_KEYS = void 0;
7
4
  /*
8
5
  Copyright 2023 Adobe. All rights reserved.
9
6
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -16,12 +13,11 @@ OF ANY KIND, either express or implied. See the License for the specific languag
16
13
  governing permissions and limitations under the License.
17
14
  */
18
15
 
19
- var MEDIA_TYPE = {
16
+ var MEDIA_TYPE = exports.MEDIA_TYPE = {
20
17
  Video: "video",
21
18
  Audio: "audio"
22
19
  };
23
- exports.MEDIA_TYPE = MEDIA_TYPE;
24
- var STREAM_TYPE = {
20
+ var STREAM_TYPE = exports.STREAM_TYPE = {
25
21
  VOD: "vod",
26
22
  Live: "live",
27
23
  Linear: "linear",
@@ -29,16 +25,14 @@ var STREAM_TYPE = {
29
25
  Audiobook: "audiobook",
30
26
  AOD: "aod"
31
27
  };
32
- exports.STREAM_TYPE = STREAM_TYPE;
33
- var PLAYER_STATE = {
28
+ var PLAYER_STATE = exports.PLAYER_STATE = {
34
29
  FullScreen: "fullScreen",
35
30
  ClosedCaption: "closedCaptioning",
36
31
  Mute: "mute",
37
32
  PictureInPicture: "pictureInPicture",
38
33
  InFocus: "inFocus"
39
34
  };
40
- exports.PLAYER_STATE = PLAYER_STATE;
41
- var EVENT = {
35
+ var EVENT = exports.EVENT = {
42
36
  /**
43
37
  * Constant defining event type for AdBreak start
44
38
  */
@@ -100,21 +94,20 @@ var EVENT = {
100
94
  */
101
95
  StateEnd: "stateEnd"
102
96
  };
103
- exports.EVENT = EVENT;
104
- var MEDIA_EVENTS = _objectSpread({
97
+ var MEDIA_EVENTS_INTERNAL = exports.MEDIA_EVENTS_INTERNAL = {
105
98
  SessionStart: "sessionStart",
106
99
  SessionEnd: "sessionEnd",
107
100
  SessionComplete: "sessionComplete",
108
101
  Play: "play",
109
- Pause: "pauseStart"
110
- }, EVENT);
111
- exports.MEDIA_EVENTS = MEDIA_EVENTS;
112
- var MEDIA_OBJECT_KEYS = {
102
+ Pause: "pauseStart",
103
+ Error: "error",
104
+ StateUpdate: "statesUpdate"
105
+ };
106
+ var MEDIA_OBJECT_KEYS = exports.MEDIA_OBJECT_KEYS = {
113
107
  MediaResumed: "media.resumed",
114
108
  GranularAdTracking: "media.granularadtracking"
115
109
  };
116
- exports.MEDIA_OBJECT_KEYS = MEDIA_OBJECT_KEYS;
117
- var VIDEO_METADATA_KEYS = {
110
+ var VIDEO_METADATA_KEYS = exports.VIDEO_METADATA_KEYS = {
118
111
  Show: "a.media.show",
119
112
  Season: "a.media.season",
120
113
  Episode: "a.media.episode",
@@ -133,8 +126,7 @@ var VIDEO_METADATA_KEYS = {
133
126
  Feed: "a.media.feed",
134
127
  StreamFormat: "a.media.format"
135
128
  };
136
- exports.VIDEO_METADATA_KEYS = VIDEO_METADATA_KEYS;
137
- var AUDIO_METADATA_KEYS = {
129
+ var AUDIO_METADATA_KEYS = exports.AUDIO_METADATA_KEYS = {
138
130
  Artist: "a.media.artist",
139
131
  Album: "a.media.album",
140
132
  Label: "a.media.label",
@@ -142,13 +134,11 @@ var AUDIO_METADATA_KEYS = {
142
134
  Station: "a.media.station",
143
135
  Publisher: "a.media.publisher"
144
136
  };
145
- exports.AUDIO_METADATA_KEYS = AUDIO_METADATA_KEYS;
146
- var AD_METADATA_KEYS = {
137
+ var AD_METADATA_KEYS = exports.AD_METADATA_KEYS = {
147
138
  Advertiser: "a.media.ad.advertiser",
148
139
  CampaignId: "a.media.ad.campaign",
149
140
  CreativeId: "a.media.ad.creative",
150
141
  PlacementId: "a.media.ad.placement",
151
142
  SiteId: "a.media.ad.site",
152
143
  CreativeUrl: "a.media.ad.creativeURL"
153
- };
154
- exports.AD_METADATA_KEYS = AD_METADATA_KEYS;
144
+ };
@@ -13,7 +13,7 @@ OF ANY KIND, either express or implied. See the License for the specific languag
13
13
  governing permissions and limitations under the License.
14
14
  */
15
15
 
16
- var mediaToXdmKeys = {
16
+ var mediaToXdmKeys = exports.mediaToXdmKeys = {
17
17
  "a.media.show": "show",
18
18
  "a.media.season": "season",
19
19
  "a.media.episode": "episode",
@@ -39,13 +39,11 @@ var mediaToXdmKeys = {
39
39
  "a.media.publisher": "publisher",
40
40
  "media.resumed": "hasResume"
41
41
  };
42
- exports.mediaToXdmKeys = mediaToXdmKeys;
43
- var adsToXdmKeys = {
42
+ var adsToXdmKeys = exports.adsToXdmKeys = {
44
43
  "a.media.ad.advertiser": "advertiser",
45
44
  "a.media.ad.campaign": "campaignID",
46
45
  "a.media.ad.creative": "creativeID",
47
46
  "a.media.ad.placement": "placementID",
48
47
  "a.media.ad.site": "siteID",
49
48
  "a.media.ad.creativeURL": "creativeURL"
50
- };
51
- exports.adsToXdmKeys = adsToXdmKeys;
49
+ };
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _constants = require("./constants/constants");
5
+ var _utils = require("../../utils");
6
+ var _mediaKeysToXdmConverter = require("./constants/mediaKeysToXdmConverter");
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ 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; }
9
+ 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; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ 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); } /*
13
+ Copyright 2024 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
+ var _default = exports.default = function _default(_ref) {
24
+ var logger = _ref.logger,
25
+ trackMediaSession = _ref.trackMediaSession,
26
+ trackMediaEvent = _ref.trackMediaEvent,
27
+ uuid = _ref.uuid;
28
+ var trackerState = {
29
+ qoe: null,
30
+ lastPlayhead: 0,
31
+ playerId: uuid()
32
+ };
33
+ var getEventType = function getEventType(_ref2) {
34
+ var eventType = _ref2.eventType;
35
+ if (eventType === _constants.EVENT.BufferComplete || eventType === _constants.EVENT.SeekComplete) {
36
+ return _constants.MEDIA_EVENTS_INTERNAL.Play;
37
+ }
38
+ if (eventType === _constants.EVENT.StateStart || eventType === _constants.EVENT.StateEnd) {
39
+ return _constants.MEDIA_EVENTS_INTERNAL.StateUpdate;
40
+ }
41
+ if (eventType === _constants.EVENT.SeekStart) {
42
+ return _constants.MEDIA_EVENTS_INTERNAL.Pause;
43
+ }
44
+ return eventType;
45
+ };
46
+ var createXdmObject = function createXdmObject(_ref3) {
47
+ var eventType = _ref3.eventType,
48
+ _ref3$mediaDetails = _ref3.mediaDetails,
49
+ mediaDetails = _ref3$mediaDetails === void 0 ? {} : _ref3$mediaDetails,
50
+ _ref3$contextData = _ref3.contextData,
51
+ contextData = _ref3$contextData === void 0 ? [] : _ref3$contextData;
52
+ var action = getEventType({
53
+ eventType: eventType
54
+ });
55
+ if (eventType === _constants.EVENT.StateStart) {
56
+ var _xdm = {
57
+ eventType: "media." + action,
58
+ mediaCollection: {
59
+ statesStart: [mediaDetails]
60
+ }
61
+ };
62
+ return _xdm;
63
+ }
64
+ if (eventType === _constants.EVENT.StateEnd) {
65
+ var _xdm2 = {
66
+ eventType: "media." + action,
67
+ mediaCollection: {
68
+ statesEnd: [mediaDetails]
69
+ }
70
+ };
71
+ return _xdm2;
72
+ }
73
+ var xdm = {
74
+ eventType: "media." + action,
75
+ mediaCollection: _objectSpread({}, mediaDetails)
76
+ };
77
+ var customMetadata = [];
78
+ Object.keys(contextData).forEach(function (key) {
79
+ if (_mediaKeysToXdmConverter.mediaToXdmKeys[key]) {
80
+ xdm.mediaCollection.sessionDetails[_mediaKeysToXdmConverter.mediaToXdmKeys[key]] = contextData[key];
81
+ } else if (_mediaKeysToXdmConverter.adsToXdmKeys[key]) {
82
+ xdm.mediaCollection.advertisingDetails[_mediaKeysToXdmConverter.adsToXdmKeys[key]] = contextData[key];
83
+ } else {
84
+ customMetadata.push({
85
+ name: key,
86
+ value: contextData[key]
87
+ });
88
+ }
89
+ });
90
+ if ((0, _utils.isNonEmptyArray)(customMetadata)) {
91
+ xdm.mediaCollection.customMetadata = customMetadata;
92
+ }
93
+ return xdm;
94
+ };
95
+ return {
96
+ trackSessionStart: function trackSessionStart(mediaObject) {
97
+ var contextData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
98
+ if ((0, _utils.isEmptyObject)(mediaObject)) {
99
+ logger.warn("Invalid media object");
100
+ return {};
101
+ }
102
+ if (trackerState === null) {
103
+ logger.warn("The Media Session was completed. Restarting a new session.");
104
+ trackerState = {
105
+ qoe: null,
106
+ lastPlayhead: 0,
107
+ playerId: uuid()
108
+ };
109
+ }
110
+ var xdm = createXdmObject({
111
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.SessionStart,
112
+ mediaDetails: mediaObject,
113
+ contextData: contextData
114
+ });
115
+ return trackMediaSession({
116
+ playerId: trackerState.playerId,
117
+ getPlayerDetails: function getPlayerDetails() {
118
+ return {
119
+ playhead: trackerState.lastPlayhead,
120
+ qoeDataDetails: trackerState.qoe
121
+ };
122
+ },
123
+ xdm: xdm
124
+ });
125
+ },
126
+ trackPlay: function trackPlay() {
127
+ if (trackerState === null) {
128
+ logger.warn("The Media Session was completed.");
129
+ return {};
130
+ }
131
+ var xdm = createXdmObject({
132
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.Play
133
+ });
134
+ return trackMediaEvent({
135
+ playerId: trackerState.playerId,
136
+ xdm: xdm
137
+ });
138
+ },
139
+ trackPause: function trackPause() {
140
+ if (trackerState === null) {
141
+ logger.warn("The Media Session was completed.");
142
+ return {};
143
+ }
144
+ var xdm = createXdmObject({
145
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.Pause
146
+ });
147
+ return trackMediaEvent({
148
+ playerId: trackerState.playerId,
149
+ xdm: xdm
150
+ });
151
+ },
152
+ trackSessionEnd: function trackSessionEnd() {
153
+ if (trackerState === null) {
154
+ logger.warn("The Media Session was completed.");
155
+ return {};
156
+ }
157
+ var xdm = createXdmObject({
158
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.SessionEnd
159
+ });
160
+ return trackMediaEvent({
161
+ playerId: trackerState.playerId,
162
+ xdm: xdm
163
+ });
164
+ },
165
+ trackComplete: function trackComplete() {
166
+ if (trackerState === null) {
167
+ logger.warn("The Media Session was completed.");
168
+ return {};
169
+ }
170
+ var xdm = createXdmObject({
171
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.SessionComplete
172
+ });
173
+ return trackMediaEvent({
174
+ playerId: trackerState.playerId,
175
+ xdm: xdm
176
+ });
177
+ },
178
+ trackError: function trackError(errorId) {
179
+ logger.warn("trackError(" + errorId + ")");
180
+ if (trackerState === null) {
181
+ logger.warn("The Media Session was completed.");
182
+ return {};
183
+ }
184
+ var errorDetails = {
185
+ name: errorId,
186
+ source: "player"
187
+ };
188
+ var xdm = createXdmObject({
189
+ eventType: _constants.MEDIA_EVENTS_INTERNAL.Error,
190
+ mediaDetails: {
191
+ errorDetails: errorDetails
192
+ }
193
+ });
194
+ return trackMediaEvent({
195
+ playerId: trackerState.playerId,
196
+ xdm: xdm
197
+ });
198
+ },
199
+ trackEvent: function trackEvent(eventType, info, context) {
200
+ if ((0, _utils.isEmptyObject)(info)) {
201
+ logger.warn("Invalid media object.");
202
+ return {};
203
+ }
204
+ if (trackerState === null) {
205
+ logger.warn("The Media Session was completed.");
206
+ return {};
207
+ }
208
+ if (!(0, _utils.includes)(Object.values(_constants.EVENT), eventType)) {
209
+ logger.warn("Invalid event type");
210
+ return {};
211
+ }
212
+ var xdm = createXdmObject({
213
+ eventType: eventType,
214
+ mediaDetails: info,
215
+ contextData: context
216
+ });
217
+ return trackMediaEvent({
218
+ playerId: trackerState.playerId,
219
+ xdm: xdm
220
+ });
221
+ },
222
+ updatePlayhead: function updatePlayhead(time) {
223
+ if (trackerState === null) {
224
+ logger.warn("The Media Session was completed.");
225
+ return;
226
+ }
227
+ if ((0, _utils.isNumber)(time)) {
228
+ trackerState.lastPlayhead = parseInt(time, 10);
229
+ }
230
+ },
231
+ updateQoEObject: function updateQoEObject(qoeObject) {
232
+ if (trackerState === null) {
233
+ logger.warn("The Media Session was completed.");
234
+ return;
235
+ }
236
+ if (!qoeObject) {
237
+ return;
238
+ }
239
+ trackerState.qoe = qoeObject;
240
+ },
241
+ destroy: function destroy() {
242
+ logger.warn("Destroy called, destroying the tracker.");
243
+ trackerState = null;
244
+ }
245
+ };
246
+ };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _utils = require("../../utils");
5
+ var _constants = require("./constants/constants");
6
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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); } /*
12
+ Copyright 2024 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 trackMediaEvent = _ref.trackMediaEvent,
24
+ trackMediaSession = _ref.trackMediaSession,
25
+ mediaResponseHandler = _ref.mediaResponseHandler,
26
+ logger = _ref.logger,
27
+ createMediaHelper = _ref.createMediaHelper,
28
+ createGetInstance = _ref.createGetInstance,
29
+ config = _ref.config;
30
+ return {
31
+ lifecycle: {
32
+ onBeforeEvent: function onBeforeEvent(_ref2) {
33
+ var mediaOptions = _ref2.mediaOptions,
34
+ _ref2$onResponse = _ref2.onResponse,
35
+ onResponse = _ref2$onResponse === void 0 ? _utils.noop : _ref2$onResponse;
36
+ if (!mediaOptions) {
37
+ return;
38
+ }
39
+ var legacy = mediaOptions.legacy,
40
+ playerId = mediaOptions.playerId,
41
+ getPlayerDetails = mediaOptions.getPlayerDetails;
42
+ if (!legacy) {
43
+ return;
44
+ }
45
+ onResponse(function (_ref3) {
46
+ var response = _ref3.response;
47
+ return mediaResponseHandler({
48
+ playerId: playerId,
49
+ getPlayerDetails: getPlayerDetails,
50
+ response: response
51
+ });
52
+ });
53
+ }
54
+ },
55
+ commands: {
56
+ getMediaAnalyticsTracker: {
57
+ run: function run() {
58
+ if (!config.streamingMedia) {
59
+ return Promise.reject(new Error("Streaming media is not configured."));
60
+ }
61
+ logger.info("Streaming media is configured in legacy mode.");
62
+ var mediaAnalyticsHelper = createMediaHelper({
63
+ logger: logger
64
+ });
65
+ return Promise.resolve(_objectSpread({
66
+ getInstance: function getInstance() {
67
+ return createGetInstance({
68
+ logger: logger,
69
+ trackMediaEvent: trackMediaEvent,
70
+ trackMediaSession: trackMediaSession,
71
+ uuid: _utils.uuid
72
+ });
73
+ },
74
+ Event: _constants.EVENT,
75
+ MediaType: _constants.MEDIA_TYPE,
76
+ PlayerState: _constants.PLAYER_STATE,
77
+ StreamType: _constants.STREAM_TYPE,
78
+ MediaObjectKey: _constants.MEDIA_OBJECT_KEYS,
79
+ VideoMetadataKeys: _constants.VIDEO_METADATA_KEYS,
80
+ AudioMetadataKeys: _constants.AUDIO_METADATA_KEYS,
81
+ AdMetadataKeys: _constants.AD_METADATA_KEYS
82
+ }, mediaAnalyticsHelper));
83
+ }
84
+ }
85
+ }
86
+ };
87
+ };
@@ -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 logger = _ref.logger;
18
18
  var createMediaObject = function createMediaObject(friendlyName, name, length, contentType, streamType) {
19
19
  var mediaObject = {
@@ -132,15 +132,12 @@ var _default = function _default(_ref) {
132
132
  }
133
133
  };
134
134
  var createStateObject = function createStateObject(stateName) {
135
- var STATE_NAME_REGEX = "^[a-zA-Z0-9_]{1,64}$";
135
+ var STATE_NAME_REGEX = new RegExp("^[a-zA-Z0-9_]{1,64}$");
136
136
  var validator = (0, _validation.string)().matches(STATE_NAME_REGEX, "This is not a valid state name.");
137
137
  try {
138
138
  var result = validator(stateName);
139
- var stateDetails = {
140
- name: result
141
- };
142
139
  return {
143
- stateDetails: stateDetails
140
+ name: result
144
141
  };
145
142
  } catch (error) {
146
143
  logger.warn("An error occurred while creating the State Object.", error);
@@ -162,14 +159,11 @@ var _default = function _default(_ref) {
162
159
  });
163
160
  try {
164
161
  var result = validator(qoeObject);
165
- var qoeDetails = {
162
+ return {
166
163
  bitrate: result.bitrate,
167
164
  droppedFrames: result.droppedFrames,
168
- fps: result.fps,
169
- startupTime: result.startupTime
170
- };
171
- return {
172
- qoeDetails: qoeDetails
165
+ framesPerSecond: result.fps,
166
+ timeToStart: result.startupTime
173
167
  };
174
168
  } catch (error) {
175
169
  logger.warn("An error occurred while creating the QOE Object.", error);
@@ -184,5 +178,4 @@ var _default = function _default(_ref) {
184
178
  createStateObject: createStateObject,
185
179
  createQoEObject: createQoEObject
186
180
  };
187
- };
188
- exports.default = _default;
181
+ };
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
- var _createMediaAnalyticsTracker = require("./createMediaAnalyticsTracker");
5
- var _createMediaEventManager = require("../MediaCollection/createMediaEventManager");
4
+ var _createMediaEventManager = require("../StreamingMedia/createMediaEventManager");
5
+ var _createMediaSessionCacheManager = require("../StreamingMedia/createMediaSessionCacheManager");
6
+ var _createTrackMediaEvent = require("../StreamingMedia/createTrackMediaEvent");
7
+ var _createTrackMediaSession = require("../StreamingMedia/createTrackMediaSession");
8
+ var _createMediaResponseHandler = require("../StreamingMedia/createMediaResponseHandler");
9
+ var _createLegacyMediaComponent = require("./createLegacyMediaComponent");
10
+ var _createMediaHelper = require("./createMediaHelper");
11
+ var _createGetInstance = require("./createGetInstance");
12
+ var _injectTimestamp = require("../Context/injectTimestamp");
6
13
  /*
7
- Copyright 2023 Adobe. All rights reserved.
14
+ Copyright 2024 Adobe. All rights reserved.
8
15
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
16
  you may not use this file except in compliance with the License. You may obtain a copy
10
17
  of the License at http://www.apache.org/licenses/LICENSE-2.0
@@ -22,27 +29,43 @@ var createLegacyMediaAnalytics = function createLegacyMediaAnalytics(_ref) {
22
29
  config = _ref.config,
23
30
  logger = _ref.logger,
24
31
  consent = _ref.consent;
32
+ var mediaSessionCacheManager = (0, _createMediaSessionCacheManager.default)({
33
+ config: config
34
+ });
25
35
  var mediaEventManager = (0, _createMediaEventManager.default)({
26
36
  sendEdgeNetworkRequest: sendEdgeNetworkRequest,
27
37
  config: config,
28
- logger: logger,
29
38
  consent: consent,
30
- eventManager: eventManager
39
+ eventManager: eventManager,
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
+ legacy: true
54
+ });
55
+ var mediaResponseHandler = (0, _createMediaResponseHandler.default)({
56
+ mediaSessionCacheManager: mediaSessionCacheManager,
57
+ config: config,
58
+ trackMediaEvent: trackMediaEvent
59
+ });
60
+ return (0, _createLegacyMediaComponent.default)({
61
+ mediaResponseHandler: mediaResponseHandler,
62
+ trackMediaSession: trackMediaSession,
63
+ trackMediaEvent: trackMediaEvent,
64
+ createMediaHelper: _createMediaHelper.default,
65
+ createGetInstance: _createGetInstance.default,
66
+ logger: logger,
67
+ config: config
31
68
  });
32
- return {
33
- commands: {
34
- getMediaAnalyticsTracker: {
35
- run: function run() {
36
- return (0, _createMediaAnalyticsTracker.createMediaAnalyticsTracker)({
37
- config: config,
38
- logger: logger,
39
- mediaEventManager: mediaEventManager
40
- });
41
- }
42
- }
43
- }
44
- };
45
69
  };
46
70
  createLegacyMediaAnalytics.namespace = "Legacy Media Analytics";
47
- var _default = createLegacyMediaAnalytics;
48
- exports.default = _default;
71
+ var _default = exports.default = createLegacyMediaAnalytics;
@@ -1,27 +1,30 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  exports.default = void 0;
4
5
  var _libraryVersion = require("../../constants/libraryVersion");
5
6
  var _coreCommands = require("../../constants/coreCommands");
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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); }
9
12
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
13
  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."); }
11
14
  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); }
12
15
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
13
16
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
- 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; } /*
15
- Copyright 2019 Adobe. All rights reserved.
16
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
17
- you may not use this file except in compliance with the License. You may obtain a copy
18
- of the License at http://www.apache.org/licenses/LICENSE-2.0
19
-
20
- Unless required by applicable law or agreed to in writing, software distributed under
21
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
22
- OF ANY KIND, either express or implied. See the License for the specific language
23
- governing permissions and limitations under the License.
24
- */
17
+ 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; } /*
18
+ Copyright 2019 Adobe. All rights reserved.
19
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
20
+ you may not use this file except in compliance with the License. You may obtain a copy
21
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
22
+
23
+ Unless required by applicable law or agreed to in writing, software distributed under
24
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
25
+ OF ANY KIND, either express or implied. See the License for the specific language
26
+ governing permissions and limitations under the License.
27
+ */
25
28
  var prepareLibraryInfo = function prepareLibraryInfo(_ref) {
26
29
  var config = _ref.config,
27
30
  componentRegistry = _ref.componentRegistry;
@@ -34,10 +37,12 @@ var prepareLibraryInfo = function prepareLibraryInfo(_ref) {
34
37
  }
35
38
  resultConfig[key] = value.toString();
36
39
  });
40
+ var components = componentRegistry.getComponentNames();
37
41
  return {
38
42
  version: _libraryVersion.default,
39
43
  configs: resultConfig,
40
- commands: allCommands
44
+ commands: allCommands,
45
+ components: components
41
46
  };
42
47
  };
43
48
  var createLibraryInfo = function createLibraryInfo(_ref2) {
@@ -60,5 +65,4 @@ var createLibraryInfo = function createLibraryInfo(_ref2) {
60
65
  };
61
66
  };
62
67
  createLibraryInfo.namespace = "LibraryInfo";
63
- var _default = createLibraryInfo;
64
- exports.default = _default;
68
+ var _default = exports.default = createLibraryInfo;