@npo/player 1.29.1 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/README.md +32 -24
  2. package/dist/logErrorEvent-CJYrVUlC.js +21 -0
  3. package/dist/main-CmlOohv1.js +39047 -0
  4. package/dist/main.d.ts +1242 -0
  5. package/dist/npoplayer-audio.es.js +18 -0
  6. package/dist/npoplayer-audio.umd.js +128 -0
  7. package/package.json +72 -86
  8. package/CHANGELOG.md +0 -3
  9. package/LICENSE +0 -15
  10. package/lib/js/markers/updateLiveMarkers.d.ts +0 -9
  11. package/lib/js/markers/updateLiveMarkers.js +0 -56
  12. package/lib/js/markers/updateLiveMarkers.test.d.ts +0 -1
  13. package/lib/js/markers/updateLiveMarkers.test.js +0 -63
  14. package/lib/js/playeractions/handlers/handleoffsets.d.ts +0 -4
  15. package/lib/js/playeractions/handlers/handleoffsets.js +0 -58
  16. package/lib/js/playeractions/handlers/handleoffsets.test.d.ts +0 -1
  17. package/lib/js/playeractions/handlers/handleoffsets.test.js +0 -93
  18. package/lib/js/playeractions/handlers/mediasessionactions.d.ts +0 -7
  19. package/lib/js/playeractions/handlers/mediasessionactions.js +0 -123
  20. package/lib/js/playeractions/handlers/processplayerconfig.d.ts +0 -3
  21. package/lib/js/playeractions/handlers/processplayerconfig.js +0 -56
  22. package/lib/js/playeractions/handlers/processplayerconfig.test.d.ts +0 -1
  23. package/lib/js/playeractions/handlers/processplayerconfig.test.js +0 -116
  24. package/lib/js/playeractions/handlers/processsourceconfig.d.ts +0 -15
  25. package/lib/js/playeractions/handlers/processsourceconfig.js +0 -234
  26. package/lib/js/playeractions/handlers/processsourceconfig.test.d.ts +0 -1
  27. package/lib/js/playeractions/handlers/processsourceconfig.test.js +0 -25
  28. package/lib/js/playeractions/handlers/removereplayclass.d.ts +0 -2
  29. package/lib/js/playeractions/handlers/removereplayclass.js +0 -12
  30. package/lib/js/playeractions/handlers/removereplayclass.test.d.ts +0 -1
  31. package/lib/js/playeractions/handlers/removereplayclass.test.js +0 -33
  32. package/lib/js/playeractions/playeractions.d.ts +0 -3
  33. package/lib/js/playeractions/playeractions.js +0 -3
  34. package/lib/js/settings/localization.d.ts +0 -82
  35. package/lib/js/settings/localization.js +0 -7
  36. package/lib/js/settings/settings.user-agent.d.ts +0 -1
  37. package/lib/js/settings/settings.user-agent.js +0 -1
  38. package/lib/js/utilities/utilities.element.d.ts +0 -16
  39. package/lib/js/utilities/utilities.element.js +0 -18
  40. package/lib/js/utilities/utilities.element.test.d.ts +0 -1
  41. package/lib/js/utilities/utilities.element.test.js +0 -38
  42. package/lib/js/utilities/utilities.jwt.d.ts +0 -5
  43. package/lib/js/utilities/utilities.jwt.js +0 -44
  44. package/lib/js/utilities/utilities.jwt.test.d.ts +0 -1
  45. package/lib/js/utilities/utilities.jwt.test.js +0 -32
  46. package/lib/js/utilities/utilities.locale.d.ts +0 -2
  47. package/lib/js/utilities/utilities.locale.js +0 -4
  48. package/lib/js/utilities/utilities.locale.test.d.ts +0 -1
  49. package/lib/js/utilities/utilities.locale.test.js +0 -10
  50. package/lib/js/utilities/utilities.module.d.ts +0 -1
  51. package/lib/js/utilities/utilities.module.js +0 -4
  52. package/lib/js/utilities/utilities.module.test.d.ts +0 -1
  53. package/lib/js/utilities/utilities.module.test.js +0 -19
  54. package/lib/js/utilities/utilities.prid.d.ts +0 -6
  55. package/lib/js/utilities/utilities.prid.js +0 -8
  56. package/lib/js/utilities/utilities.prid.test.d.ts +0 -1
  57. package/lib/js/utilities/utilities.prid.test.js +0 -46
  58. package/lib/js/utilities/utilities.stream.d.ts +0 -7
  59. package/lib/js/utilities/utilities.stream.js +0 -19
  60. package/lib/js/utilities/utilities.stream.test.d.ts +0 -1
  61. package/lib/js/utilities/utilities.stream.test.js +0 -32
  62. package/lib/js/utilities/utilities.text.d.ts +0 -1
  63. package/lib/js/utilities/utilities.text.js +0 -3
  64. package/lib/js/utilities/utilities.text.test.d.ts +0 -1
  65. package/lib/js/utilities/utilities.text.test.js +0 -18
  66. package/lib/js/utilities/utilities.time.d.ts +0 -1
  67. package/lib/js/utilities/utilities.time.js +0 -3
  68. package/lib/js/utilities/utilities.time.test.d.ts +0 -1
  69. package/lib/js/utilities/utilities.time.test.js +0 -8
  70. package/lib/js/utilities/utilities.url.d.ts +0 -3
  71. package/lib/js/utilities/utilities.url.js +0 -29
  72. package/lib/js/utilities/utilities.url.test.d.ts +0 -1
  73. package/lib/js/utilities/utilities.url.test.js +0 -46
  74. package/lib/js/utilities/utilities.user-agent.d.ts +0 -3
  75. package/lib/js/utilities/utilities.user-agent.js +0 -13
  76. package/lib/js/utilities/utilities.user-agent.test.d.ts +0 -1
  77. package/lib/js/utilities/utilities.user-agent.test.js +0 -60
  78. package/lib/js/utilities/utilities.version.d.ts +0 -1
  79. package/lib/js/utilities/utilities.version.js +0 -26
  80. package/lib/js/utilities/utilities.version.test.d.ts +0 -1
  81. package/lib/js/utilities/utilities.version.test.js +0 -26
  82. package/lib/lang/nl.json +0 -77
  83. package/lib/lang/subtitleLabels/nl.json +0 -14
  84. package/lib/npoplayer.d.ts +0 -64
  85. package/lib/npoplayer.js +0 -428
  86. package/lib/npoplayer.test.d.ts +0 -1
  87. package/lib/npoplayer.test.js +0 -22
  88. package/lib/package.json +0 -105
  89. package/lib/services/a11y/setup.d.ts +0 -2
  90. package/lib/services/a11y/setup.js +0 -15
  91. package/lib/services/a11y/setup.test.d.ts +0 -1
  92. package/lib/services/a11y/setup.test.js +0 -88
  93. package/lib/services/advertHandlers/discardAdBreak.d.ts +0 -2
  94. package/lib/services/advertHandlers/discardAdBreak.js +0 -9
  95. package/lib/services/advertHandlers/discardAdBreak.test.d.ts +0 -1
  96. package/lib/services/advertHandlers/discardAdBreak.test.js +0 -40
  97. package/lib/services/advertHandlers/handlePreRolls.d.ts +0 -2
  98. package/lib/services/advertHandlers/handlePreRolls.js +0 -136
  99. package/lib/services/advertHandlers/handlePrerolls.test.d.ts +0 -1
  100. package/lib/services/advertHandlers/handlePrerolls.test.js +0 -112
  101. package/lib/services/avTypeHandlers/getAVType.d.ts +0 -2
  102. package/lib/services/avTypeHandlers/getAVType.js +0 -9
  103. package/lib/services/avTypeHandlers/getAVType.test.d.ts +0 -1
  104. package/lib/services/avTypeHandlers/getAVType.test.js +0 -18
  105. package/lib/services/backButton/backButton.d.ts +0 -2
  106. package/lib/services/backButton/backButton.js +0 -24
  107. package/lib/services/cdnProviders/cdnProviders.d.ts +0 -4
  108. package/lib/services/cdnProviders/cdnProviders.js +0 -24
  109. package/lib/services/cdnProviders/cndProviders.test.d.ts +0 -1
  110. package/lib/services/cdnProviders/cndProviders.test.js +0 -22
  111. package/lib/services/chapterHandlers/chapterHandler.d.ts +0 -35
  112. package/lib/services/chapterHandlers/chapterHandler.js +0 -230
  113. package/lib/services/drmHandlers/constants.d.ts +0 -15
  114. package/lib/services/drmHandlers/constants.js +0 -13
  115. package/lib/services/drmHandlers/decideprofile.d.ts +0 -2
  116. package/lib/services/drmHandlers/decideprofile.js +0 -57
  117. package/lib/services/drmHandlers/decideprofile.test.d.ts +0 -1
  118. package/lib/services/drmHandlers/decideprofile.test.js +0 -38
  119. package/lib/services/drmHandlers/drmhandlers.d.ts +0 -2
  120. package/lib/services/drmHandlers/drmhandlers.js +0 -2
  121. package/lib/services/drmHandlers/utils.d.ts +0 -5
  122. package/lib/services/drmHandlers/utils.js +0 -29
  123. package/lib/services/drmHandlers/utils.test.d.ts +0 -1
  124. package/lib/services/drmHandlers/utils.test.js +0 -81
  125. package/lib/services/drmHandlers/verifydrm.d.ts +0 -2
  126. package/lib/services/drmHandlers/verifydrm.js +0 -39
  127. package/lib/services/drmHandlers/verifydrm.test.d.ts +0 -1
  128. package/lib/services/drmHandlers/verifydrm.test.js +0 -112
  129. package/lib/services/errors/errorBackground.test.d.ts +0 -1
  130. package/lib/services/errors/errorBackground.test.js +0 -48
  131. package/lib/services/errors/errorHandler.d.ts +0 -5
  132. package/lib/services/errors/errorHandler.js +0 -59
  133. package/lib/services/errors/errorHandler.test.d.ts +0 -1
  134. package/lib/services/errors/errorHandler.test.js +0 -148
  135. package/lib/services/errors/errorRetryHandler.d.ts +0 -2
  136. package/lib/services/errors/errorRetryHandler.js +0 -14
  137. package/lib/services/errors/errorRetryHandler.test.d.ts +0 -1
  138. package/lib/services/errors/errorRetryHandler.test.js +0 -62
  139. package/lib/services/errors/errorText.d.ts +0 -2
  140. package/lib/services/errors/errorText.js +0 -62
  141. package/lib/services/errors/errorText.test.d.ts +0 -1
  142. package/lib/services/errors/errorText.test.js +0 -66
  143. package/lib/services/eventListenerHandlers/removeEventListeners.d.ts +0 -2
  144. package/lib/services/eventListenerHandlers/removeEventListeners.js +0 -24
  145. package/lib/services/eventListenerHandlers/removeEventListeners.test.d.ts +0 -1
  146. package/lib/services/eventListenerHandlers/removeEventListeners.test.js +0 -36
  147. package/lib/services/infoPanel/infoPanel.d.ts +0 -3
  148. package/lib/services/infoPanel/infoPanel.js +0 -35
  149. package/lib/services/infoPanel/infoPanel.test.d.ts +0 -1
  150. package/lib/services/infoPanel/infoPanel.test.js +0 -70
  151. package/lib/services/keyboardHandlers/resolvekeypress.d.ts +0 -2
  152. package/lib/services/keyboardHandlers/resolvekeypress.js +0 -63
  153. package/lib/services/keyboardHandlers/resolvekeypress.test.d.ts +0 -1
  154. package/lib/services/keyboardHandlers/resolvekeypress.test.js +0 -92
  155. package/lib/services/liveStreamHandlers/handleLiveStreamControls.d.ts +0 -6
  156. package/lib/services/liveStreamHandlers/handleLiveStreamControls.js +0 -36
  157. package/lib/services/liveStreamHandlers/handleLiveStreamControls.test.d.ts +0 -2
  158. package/lib/services/liveStreamHandlers/handleLiveStreamControls.test.js +0 -65
  159. package/lib/services/localStorageHandlers/localStorageHandlers.d.ts +0 -4
  160. package/lib/services/localStorageHandlers/localStorageHandlers.js +0 -36
  161. package/lib/services/localStorageHandlers/localStorageHandlers.test.d.ts +0 -1
  162. package/lib/services/localStorageHandlers/localStorageHandlers.test.js +0 -104
  163. package/lib/services/nicamHandlers/nicamhandler.d.ts +0 -6
  164. package/lib/services/nicamHandlers/nicamhandler.js +0 -69
  165. package/lib/services/nicamHandlers/nicamhandler.test.d.ts +0 -1
  166. package/lib/services/nicamHandlers/nicamhandler.test.js +0 -127
  167. package/lib/services/npoPlayerAPI/contants.d.ts +0 -25
  168. package/lib/services/npoPlayerAPI/contants.js +0 -11
  169. package/lib/services/npoPlayerAPI/npoPlayerAPI.d.ts +0 -53
  170. package/lib/services/npoPlayerAPI/npoPlayerAPI.js +0 -193
  171. package/lib/services/npoPlayerAPI/npoPlayerAPI.test.d.ts +0 -1
  172. package/lib/services/npoPlayerAPI/npoPlayerAPI.test.js +0 -127
  173. package/lib/services/npoPlayerAPI/playerModules.d.ts +0 -1
  174. package/lib/services/npoPlayerAPI/playerModules.js +0 -48
  175. package/lib/services/preferences/handlePreferences.d.ts +0 -2
  176. package/lib/services/preferences/handlePreferences.js +0 -47
  177. package/lib/services/preferences/handlePreferences.test.d.ts +0 -1
  178. package/lib/services/preferences/handlePreferences.test.js +0 -138
  179. package/lib/services/segmentHandlers/addSegmentEventListeners.d.ts +0 -2
  180. package/lib/services/segmentHandlers/addSegmentEventListeners.js +0 -15
  181. package/lib/services/segmentHandlers/addSegmentEventListeners.test.d.ts +0 -1
  182. package/lib/services/segmentHandlers/addSegmentEventListeners.test.js +0 -44
  183. package/lib/services/segmentHandlers/convertFragmentToSegment.d.ts +0 -2
  184. package/lib/services/segmentHandlers/convertFragmentToSegment.js +0 -8
  185. package/lib/services/segmentHandlers/convertFragmentToSegment.test.d.ts +0 -1
  186. package/lib/services/segmentHandlers/convertFragmentToSegment.test.js +0 -17
  187. package/lib/services/segmentHandlers/handleSegmentSeek.d.ts +0 -5
  188. package/lib/services/segmentHandlers/handleSegmentSeek.js +0 -15
  189. package/lib/services/segmentHandlers/handleSegmentSeek.test.d.ts +0 -1
  190. package/lib/services/segmentHandlers/handleSegmentSeek.test.js +0 -73
  191. package/lib/services/segmentHandlers/handleSegmentTimeChanged.d.ts +0 -2
  192. package/lib/services/segmentHandlers/handleSegmentTimeChanged.js +0 -21
  193. package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +0 -1
  194. package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.js +0 -43
  195. package/lib/services/segmentHandlers/initSegment.d.ts +0 -7
  196. package/lib/services/segmentHandlers/initSegment.js +0 -10
  197. package/lib/services/segmentHandlers/initSegment.test.d.ts +0 -1
  198. package/lib/services/segmentHandlers/initSegment.test.js +0 -38
  199. package/lib/services/segmentHandlers/isSegmentInBounds.d.ts +0 -2
  200. package/lib/services/segmentHandlers/isSegmentInBounds.js +0 -5
  201. package/lib/services/segmentHandlers/isSegmentInBounds.test.d.ts +0 -1
  202. package/lib/services/segmentHandlers/isSegmentInBounds.test.js +0 -27
  203. package/lib/services/segmentHandlers/setSegmentMarkers.d.ts +0 -2
  204. package/lib/services/segmentHandlers/setSegmentMarkers.js +0 -25
  205. package/lib/services/segmentHandlers/setSegmentMarkers.test.d.ts +0 -1
  206. package/lib/services/segmentHandlers/setSegmentMarkers.test.js +0 -32
  207. package/lib/services/services.d.ts +0 -34
  208. package/lib/services/services.js +0 -129
  209. package/lib/services/streamFetchHandler/fetchStream.d.ts +0 -2
  210. package/lib/services/streamFetchHandler/fetchStream.js +0 -49
  211. package/lib/services/streamFetchHandler/fetchstream.test.d.ts +0 -1
  212. package/lib/services/streamFetchHandler/fetchstream.test.js +0 -92
  213. package/lib/services/streamoptionsHandlers/streamOptionsHandler.d.ts +0 -6
  214. package/lib/services/streamoptionsHandlers/streamOptionsHandler.js +0 -80
  215. package/lib/services/streamoptionsHandlers/streamOptionsHandler.test.d.ts +0 -1
  216. package/lib/services/streamoptionsHandlers/streamOptionsHandler.test.js +0 -199
  217. package/lib/services/trackingHandlers/eventBinding.d.ts +0 -2
  218. package/lib/services/trackingHandlers/eventBinding.js +0 -129
  219. package/lib/services/trackingHandlers/eventBinding.test.d.ts +0 -1
  220. package/lib/services/trackingHandlers/eventBinding.test.js +0 -145
  221. package/lib/services/trackingHandlers/eventLogging.d.ts +0 -2
  222. package/lib/services/trackingHandlers/eventLogging.js +0 -37
  223. package/lib/services/trackingHandlers/eventLogging.test.d.ts +0 -1
  224. package/lib/services/trackingHandlers/eventLogging.test.js +0 -63
  225. package/lib/services/trackingHandlers/index.d.ts +0 -3
  226. package/lib/services/trackingHandlers/index.js +0 -3
  227. package/lib/services/trackingHandlers/playerTrackerInit.d.ts +0 -2
  228. package/lib/services/trackingHandlers/playerTrackerInit.js +0 -20
  229. package/lib/services/trackingHandlers/playerTrackerInit.test.d.ts +0 -1
  230. package/lib/services/trackingHandlers/playerTrackerInit.test.js +0 -75
  231. package/lib/services/trackingHandlers/playerTrackerStart.d.ts +0 -2
  232. package/lib/services/trackingHandlers/playerTrackerStart.js +0 -28
  233. package/lib/services/trackingHandlers/playerTrackerStart.test.d.ts +0 -1
  234. package/lib/services/trackingHandlers/playerTrackerStart.test.js +0 -76
  235. package/lib/services/trackingHandlers/streamTrackerInit.d.ts +0 -3
  236. package/lib/services/trackingHandlers/streamTrackerInit.js +0 -27
  237. package/lib/services/trackingHandlers/streamTrackerInit.test.d.ts +0 -1
  238. package/lib/services/trackingHandlers/streamTrackerInit.test.js +0 -84
  239. package/lib/services/uiHandlers/uiVisiblityHandler.d.ts +0 -3
  240. package/lib/services/uiHandlers/uiVisiblityHandler.js +0 -32
  241. package/lib/services/uiHandlers/uiVisiblityHandler.test.d.ts +0 -1
  242. package/lib/services/uiHandlers/uiVisiblityHandler.test.js +0 -62
  243. package/lib/services/verticalVideoHandlers/handleVerticalVideoControls.d.ts +0 -2
  244. package/lib/services/verticalVideoHandlers/handleVerticalVideoControls.js +0 -6
  245. package/lib/services/verticalVideoHandlers/handleVerticalVideoControls.test.d.ts +0 -1
  246. package/lib/services/verticalVideoHandlers/handleVerticalVideoControls.test.js +0 -23
  247. package/lib/services/verticalVideoHandlers/handleVerticalVideoSettings.d.ts +0 -2
  248. package/lib/services/verticalVideoHandlers/handleVerticalVideoSettings.js +0 -26
  249. package/lib/services/verticalVideoHandlers/handleVerticalVideoSettings.test.d.ts +0 -1
  250. package/lib/services/verticalVideoHandlers/handleVerticalVideoSettings.test.js +0 -73
  251. package/lib/src/js/markers/updateLiveMarkers.d.ts +0 -9
  252. package/lib/src/js/markers/updateLiveMarkers.test.d.ts +0 -1
  253. package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +0 -4
  254. package/lib/src/js/playeractions/handlers/handleoffsets.test.d.ts +0 -1
  255. package/lib/src/js/playeractions/handlers/mediasessionactions.d.ts +0 -7
  256. package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +0 -3
  257. package/lib/src/js/playeractions/handlers/processplayerconfig.test.d.ts +0 -1
  258. package/lib/src/js/playeractions/handlers/processsourceconfig.d.ts +0 -15
  259. package/lib/src/js/playeractions/handlers/processsourceconfig.test.d.ts +0 -1
  260. package/lib/src/js/playeractions/handlers/removereplayclass.d.ts +0 -2
  261. package/lib/src/js/playeractions/handlers/removereplayclass.test.d.ts +0 -1
  262. package/lib/src/js/playeractions/playeractions.d.ts +0 -3
  263. package/lib/src/js/settings/localization.d.ts +0 -82
  264. package/lib/src/js/settings/settings.user-agent.d.ts +0 -1
  265. package/lib/src/js/utilities/utilities.element.d.ts +0 -16
  266. package/lib/src/js/utilities/utilities.element.test.d.ts +0 -1
  267. package/lib/src/js/utilities/utilities.jwt.d.ts +0 -5
  268. package/lib/src/js/utilities/utilities.jwt.test.d.ts +0 -1
  269. package/lib/src/js/utilities/utilities.locale.d.ts +0 -2
  270. package/lib/src/js/utilities/utilities.locale.test.d.ts +0 -1
  271. package/lib/src/js/utilities/utilities.module.d.ts +0 -1
  272. package/lib/src/js/utilities/utilities.module.test.d.ts +0 -1
  273. package/lib/src/js/utilities/utilities.prid.d.ts +0 -6
  274. package/lib/src/js/utilities/utilities.prid.test.d.ts +0 -1
  275. package/lib/src/js/utilities/utilities.stream.d.ts +0 -7
  276. package/lib/src/js/utilities/utilities.stream.test.d.ts +0 -1
  277. package/lib/src/js/utilities/utilities.text.d.ts +0 -1
  278. package/lib/src/js/utilities/utilities.text.test.d.ts +0 -1
  279. package/lib/src/js/utilities/utilities.time.d.ts +0 -1
  280. package/lib/src/js/utilities/utilities.time.test.d.ts +0 -1
  281. package/lib/src/js/utilities/utilities.url.d.ts +0 -3
  282. package/lib/src/js/utilities/utilities.url.test.d.ts +0 -1
  283. package/lib/src/js/utilities/utilities.user-agent.d.ts +0 -3
  284. package/lib/src/js/utilities/utilities.user-agent.test.d.ts +0 -1
  285. package/lib/src/js/utilities/utilities.version.d.ts +0 -1
  286. package/lib/src/js/utilities/utilities.version.test.d.ts +0 -1
  287. package/lib/src/npoplayer.d.ts +0 -64
  288. package/lib/src/npoplayer.test.d.ts +0 -1
  289. package/lib/src/services/a11y/setup.d.ts +0 -2
  290. package/lib/src/services/a11y/setup.test.d.ts +0 -1
  291. package/lib/src/services/advertHandlers/discardAdBreak.d.ts +0 -2
  292. package/lib/src/services/advertHandlers/discardAdBreak.test.d.ts +0 -1
  293. package/lib/src/services/advertHandlers/handlePreRolls.d.ts +0 -2
  294. package/lib/src/services/advertHandlers/handlePrerolls.test.d.ts +0 -1
  295. package/lib/src/services/avTypeHandlers/getAVType.d.ts +0 -2
  296. package/lib/src/services/avTypeHandlers/getAVType.test.d.ts +0 -1
  297. package/lib/src/services/backButton/backButton.d.ts +0 -2
  298. package/lib/src/services/cdnProviders/cdnProviders.d.ts +0 -4
  299. package/lib/src/services/cdnProviders/cndProviders.test.d.ts +0 -1
  300. package/lib/src/services/chapterHandlers/chapterHandler.d.ts +0 -35
  301. package/lib/src/services/drmHandlers/constants.d.ts +0 -15
  302. package/lib/src/services/drmHandlers/decideprofile.d.ts +0 -2
  303. package/lib/src/services/drmHandlers/decideprofile.test.d.ts +0 -1
  304. package/lib/src/services/drmHandlers/drmhandlers.d.ts +0 -2
  305. package/lib/src/services/drmHandlers/utils.d.ts +0 -5
  306. package/lib/src/services/drmHandlers/utils.test.d.ts +0 -1
  307. package/lib/src/services/drmHandlers/verifydrm.d.ts +0 -2
  308. package/lib/src/services/drmHandlers/verifydrm.test.d.ts +0 -1
  309. package/lib/src/services/errors/errorBackground.test.d.ts +0 -1
  310. package/lib/src/services/errors/errorHandler.d.ts +0 -5
  311. package/lib/src/services/errors/errorHandler.test.d.ts +0 -1
  312. package/lib/src/services/errors/errorRetryHandler.d.ts +0 -2
  313. package/lib/src/services/errors/errorRetryHandler.test.d.ts +0 -1
  314. package/lib/src/services/errors/errorText.d.ts +0 -2
  315. package/lib/src/services/errors/errorText.test.d.ts +0 -1
  316. package/lib/src/services/eventListenerHandlers/removeEventListeners.d.ts +0 -2
  317. package/lib/src/services/eventListenerHandlers/removeEventListeners.test.d.ts +0 -1
  318. package/lib/src/services/infoPanel/infoPanel.d.ts +0 -3
  319. package/lib/src/services/infoPanel/infoPanel.test.d.ts +0 -1
  320. package/lib/src/services/keyboardHandlers/resolvekeypress.d.ts +0 -2
  321. package/lib/src/services/keyboardHandlers/resolvekeypress.test.d.ts +0 -1
  322. package/lib/src/services/liveStreamHandlers/handleLiveStreamControls.d.ts +0 -6
  323. package/lib/src/services/liveStreamHandlers/handleLiveStreamControls.test.d.ts +0 -2
  324. package/lib/src/services/localStorageHandlers/localStorageHandlers.d.ts +0 -4
  325. package/lib/src/services/localStorageHandlers/localStorageHandlers.test.d.ts +0 -1
  326. package/lib/src/services/nicamHandlers/nicamhandler.d.ts +0 -6
  327. package/lib/src/services/nicamHandlers/nicamhandler.test.d.ts +0 -1
  328. package/lib/src/services/npoPlayerAPI/contants.d.ts +0 -25
  329. package/lib/src/services/npoPlayerAPI/npoPlayerAPI.d.ts +0 -53
  330. package/lib/src/services/npoPlayerAPI/npoPlayerAPI.test.d.ts +0 -1
  331. package/lib/src/services/npoPlayerAPI/playerModules.d.ts +0 -1
  332. package/lib/src/services/preferences/handlePreferences.d.ts +0 -2
  333. package/lib/src/services/preferences/handlePreferences.test.d.ts +0 -1
  334. package/lib/src/services/segmentHandlers/addSegmentEventListeners.d.ts +0 -2
  335. package/lib/src/services/segmentHandlers/addSegmentEventListeners.test.d.ts +0 -1
  336. package/lib/src/services/segmentHandlers/convertFragmentToSegment.d.ts +0 -2
  337. package/lib/src/services/segmentHandlers/convertFragmentToSegment.test.d.ts +0 -1
  338. package/lib/src/services/segmentHandlers/handleSegmentSeek.d.ts +0 -5
  339. package/lib/src/services/segmentHandlers/handleSegmentSeek.test.d.ts +0 -1
  340. package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.d.ts +0 -2
  341. package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +0 -1
  342. package/lib/src/services/segmentHandlers/initSegment.d.ts +0 -7
  343. package/lib/src/services/segmentHandlers/initSegment.test.d.ts +0 -1
  344. package/lib/src/services/segmentHandlers/isSegmentInBounds.d.ts +0 -2
  345. package/lib/src/services/segmentHandlers/isSegmentInBounds.test.d.ts +0 -1
  346. package/lib/src/services/segmentHandlers/setSegmentMarkers.d.ts +0 -2
  347. package/lib/src/services/segmentHandlers/setSegmentMarkers.test.d.ts +0 -1
  348. package/lib/src/services/services.d.ts +0 -34
  349. package/lib/src/services/streamFetchHandler/fetchStream.d.ts +0 -2
  350. package/lib/src/services/streamFetchHandler/fetchstream.test.d.ts +0 -1
  351. package/lib/src/services/streamoptionsHandlers/streamOptionsHandler.d.ts +0 -6
  352. package/lib/src/services/streamoptionsHandlers/streamOptionsHandler.test.d.ts +0 -1
  353. package/lib/src/services/trackingHandlers/eventBinding.d.ts +0 -2
  354. package/lib/src/services/trackingHandlers/eventBinding.test.d.ts +0 -1
  355. package/lib/src/services/trackingHandlers/eventLogging.d.ts +0 -2
  356. package/lib/src/services/trackingHandlers/eventLogging.test.d.ts +0 -1
  357. package/lib/src/services/trackingHandlers/index.d.ts +0 -3
  358. package/lib/src/services/trackingHandlers/playerTrackerInit.d.ts +0 -2
  359. package/lib/src/services/trackingHandlers/playerTrackerInit.test.d.ts +0 -1
  360. package/lib/src/services/trackingHandlers/playerTrackerStart.d.ts +0 -2
  361. package/lib/src/services/trackingHandlers/playerTrackerStart.test.d.ts +0 -1
  362. package/lib/src/services/trackingHandlers/streamTrackerInit.d.ts +0 -3
  363. package/lib/src/services/trackingHandlers/streamTrackerInit.test.d.ts +0 -1
  364. package/lib/src/services/uiHandlers/uiVisiblityHandler.d.ts +0 -3
  365. package/lib/src/services/uiHandlers/uiVisiblityHandler.test.d.ts +0 -1
  366. package/lib/src/services/verticalVideoHandlers/handleVerticalVideoControls.d.ts +0 -2
  367. package/lib/src/services/verticalVideoHandlers/handleVerticalVideoControls.test.d.ts +0 -1
  368. package/lib/src/services/verticalVideoHandlers/handleVerticalVideoSettings.d.ts +0 -2
  369. package/lib/src/services/verticalVideoHandlers/handleVerticalVideoSettings.test.d.ts +0 -1
  370. package/lib/src/types/classes.d.ts +0 -10
  371. package/lib/src/types/events.d.ts +0 -98
  372. package/lib/src/types/interfaces.d.ts +0 -246
  373. package/lib/src/ui/components/adbutton.d.ts +0 -4
  374. package/lib/src/ui/components/adlabel.d.ts +0 -4
  375. package/lib/src/ui/components/audio/controlbar.d.ts +0 -3
  376. package/lib/src/ui/components/backButton.d.ts +0 -2
  377. package/lib/src/ui/components/buttons.d.ts +0 -42
  378. package/lib/src/ui/components/controlbar.d.ts +0 -3
  379. package/lib/src/ui/components/ctabar.d.ts +0 -4
  380. package/lib/src/ui/components/infopanel/infopanel.d.ts +0 -3
  381. package/lib/src/ui/components/infopanel/togglebutton.d.ts +0 -3
  382. package/lib/src/ui/components/playnext.d.ts +0 -4
  383. package/lib/src/ui/components/seekbar.d.ts +0 -6
  384. package/lib/src/ui/components/settingspanel.d.ts +0 -3
  385. package/lib/src/ui/components/titlebar.d.ts +0 -3
  386. package/lib/src/ui/components/topbar.d.ts +0 -3
  387. package/lib/src/ui/components/verticalvideo/controlbar.d.ts +0 -3
  388. package/lib/src/ui/components/verticalvideo/settingspanel.d.ts +0 -2
  389. package/lib/src/ui/handlers/accessibilityhandler.d.ts +0 -2
  390. package/lib/src/ui/handlers/accessibilityhandler.test.d.ts +0 -1
  391. package/lib/src/ui/handlers/domhandlers.d.ts +0 -3
  392. package/lib/src/ui/handlers/domhandlers.test.d.ts +0 -1
  393. package/lib/src/ui/handlers/listboxhandlers.d.ts +0 -19
  394. package/lib/src/ui/handlers/playnextscreen.d.ts +0 -6
  395. package/lib/src/ui/handlers/playnextscreen.test.d.ts +0 -1
  396. package/lib/src/ui/handlers/timecontrolhandlers.d.ts +0 -3
  397. package/lib/src/ui/uicontainer.d.ts +0 -3
  398. package/lib/src/ui/uicontainer.test.d.ts +0 -1
  399. package/lib/tests/jest.setup-files-after-env.d.ts +0 -0
  400. package/lib/tests/jest.setup-files-after-env.js +0 -6
  401. package/lib/tests/jest.setup-tests.d.ts +0 -1
  402. package/lib/tests/jest.setup-tests.js +0 -2
  403. package/lib/tests/mocks/mockLogEmitter.d.ts +0 -2
  404. package/lib/tests/mocks/mockLogEmitter.js +0 -20
  405. package/lib/tests/mocks/mockNpoplayer.d.ts +0 -2
  406. package/lib/tests/mocks/mockNpoplayer.js +0 -105
  407. package/lib/tests/mocks/mockPlayerAPI.d.ts +0 -3
  408. package/lib/tests/mocks/mockPlayerAPI.js +0 -195
  409. package/lib/tests/mocks/mockPlayerUi.d.ts +0 -64
  410. package/lib/tests/mocks/mockPlayerUi.js +0 -251
  411. package/lib/tests/mocks/mockStreamObject.d.ts +0 -2
  412. package/lib/tests/mocks/mockStreamObject.js +0 -21
  413. package/lib/tests/mocks/playerContextMock.d.ts +0 -7
  414. package/lib/tests/mocks/playerContextMock.js +0 -153
  415. package/lib/types/classes.d.ts +0 -10
  416. package/lib/types/classes.js +0 -15
  417. package/lib/types/events.d.ts +0 -98
  418. package/lib/types/events.js +0 -184
  419. package/lib/types/interfaces.d.ts +0 -246
  420. package/lib/types/interfaces.js +0 -20
  421. package/lib/ui/components/adbutton.d.ts +0 -4
  422. package/lib/ui/components/adbutton.js +0 -12
  423. package/lib/ui/components/adlabel.d.ts +0 -4
  424. package/lib/ui/components/adlabel.js +0 -8
  425. package/lib/ui/components/audio/controlbar.d.ts +0 -3
  426. package/lib/ui/components/audio/controlbar.js +0 -23
  427. package/lib/ui/components/backButton.d.ts +0 -2
  428. package/lib/ui/components/backButton.js +0 -8
  429. package/lib/ui/components/buttons.d.ts +0 -42
  430. package/lib/ui/components/buttons.js +0 -144
  431. package/lib/ui/components/controlbar.d.ts +0 -3
  432. package/lib/ui/components/controlbar.js +0 -40
  433. package/lib/ui/components/ctabar.d.ts +0 -4
  434. package/lib/ui/components/ctabar.js +0 -28
  435. package/lib/ui/components/infopanel/infopanel.d.ts +0 -3
  436. package/lib/ui/components/infopanel/infopanel.js +0 -42
  437. package/lib/ui/components/infopanel/togglebutton.d.ts +0 -3
  438. package/lib/ui/components/infopanel/togglebutton.js +0 -18
  439. package/lib/ui/components/playnext.d.ts +0 -4
  440. package/lib/ui/components/playnext.js +0 -10
  441. package/lib/ui/components/seekbar.d.ts +0 -6
  442. package/lib/ui/components/seekbar.js +0 -26
  443. package/lib/ui/components/settingspanel.d.ts +0 -3
  444. package/lib/ui/components/settingspanel.js +0 -159
  445. package/lib/ui/components/titlebar.d.ts +0 -3
  446. package/lib/ui/components/titlebar.js +0 -14
  447. package/lib/ui/components/topbar.d.ts +0 -3
  448. package/lib/ui/components/topbar.js +0 -36
  449. package/lib/ui/components/verticalvideo/controlbar.d.ts +0 -3
  450. package/lib/ui/components/verticalvideo/controlbar.js +0 -40
  451. package/lib/ui/components/verticalvideo/settingspanel.d.ts +0 -2
  452. package/lib/ui/components/verticalvideo/settingspanel.js +0 -25
  453. package/lib/ui/handlers/accessibilityhandler.d.ts +0 -2
  454. package/lib/ui/handlers/accessibilityhandler.js +0 -22
  455. package/lib/ui/handlers/accessibilityhandler.test.d.ts +0 -1
  456. package/lib/ui/handlers/accessibilityhandler.test.js +0 -54
  457. package/lib/ui/handlers/domhandlers.d.ts +0 -3
  458. package/lib/ui/handlers/domhandlers.js +0 -7
  459. package/lib/ui/handlers/domhandlers.test.d.ts +0 -1
  460. package/lib/ui/handlers/domhandlers.test.js +0 -31
  461. package/lib/ui/handlers/listboxhandlers.d.ts +0 -19
  462. package/lib/ui/handlers/listboxhandlers.js +0 -43
  463. package/lib/ui/handlers/playnextscreen.d.ts +0 -6
  464. package/lib/ui/handlers/playnextscreen.js +0 -28
  465. package/lib/ui/handlers/playnextscreen.test.d.ts +0 -1
  466. package/lib/ui/handlers/playnextscreen.test.js +0 -57
  467. package/lib/ui/handlers/timecontrolhandlers.d.ts +0 -3
  468. package/lib/ui/handlers/timecontrolhandlers.js +0 -17
  469. package/lib/ui/uicontainer.d.ts +0 -3
  470. package/lib/ui/uicontainer.js +0 -80
  471. package/lib/ui/uicontainer.test.d.ts +0 -1
  472. package/lib/ui/uicontainer.test.js +0 -84
  473. package/src/style/components/_advert.scss +0 -119
  474. package/src/style/components/_audio.scss +0 -4
  475. package/src/style/components/_back-button.scss +0 -42
  476. package/src/style/components/_buffering.scss +0 -69
  477. package/src/style/components/_controlbars.scss +0 -26
  478. package/src/style/components/_error.scss +0 -71
  479. package/src/style/components/_hugeplaybacktogglebutton.scss +0 -97
  480. package/src/style/components/_icons.scss +0 -177
  481. package/src/style/components/_infopanel.scss +0 -105
  482. package/src/style/components/_metadata.scss +0 -52
  483. package/src/style/components/_nicam.scss +0 -117
  484. package/src/style/components/_playnext.scss +0 -72
  485. package/src/style/components/_poster.scss +0 -3
  486. package/src/style/components/_replay.scss +0 -25
  487. package/src/style/components/_seekbar.scss +0 -114
  488. package/src/style/components/_seekbarthumbnail.scss +0 -61
  489. package/src/style/components/_settingspanel.scss +0 -290
  490. package/src/style/components/_subtitles.scss +0 -78
  491. package/src/style/components/_textbuttons.scss +0 -82
  492. package/src/style/components/_volumeslider.scss +0 -94
  493. package/src/style/components/audio/_bottombar.scss +0 -54
  494. package/src/style/components/audio/_buffering.scss +0 -8
  495. package/src/style/components/audio/_errors.scss +0 -13
  496. package/src/style/components/audio/_metadata.scss +0 -60
  497. package/src/style/components/audio/_playbutton.scss +0 -54
  498. package/src/style/components/audio/_poster.scss +0 -19
  499. package/src/style/components/audio/_replay.scss +0 -28
  500. package/src/style/components/audio/_seekbar.scss +0 -28
  501. package/src/style/components/audio/_topbar.scss +0 -35
  502. package/src/style/components/audio/_vars.scss +0 -5
  503. package/src/style/components/audio/_volumeslider.scss +0 -41
  504. package/src/style/components/vertical-video/_bottombar.scss +0 -60
  505. package/src/style/components/vertical-video/_buttons.scss +0 -25
  506. package/src/style/components/vertical-video/_hugeplaybacktogglebutton.scss +0 -34
  507. package/src/style/components/vertical-video/_seekbar.scss +0 -19
  508. package/src/style/components/vertical-video/_settingsbutton.scss +0 -7
  509. package/src/style/components/vertical-video/_settingspanel.scss +0 -31
  510. package/src/style/components/vertical-video/_shortvideo.scss +0 -14
  511. package/src/style/components/vertical-video/_subtitles.scss +0 -3
  512. package/src/style/components/vertical-video/_topbar.scss +0 -58
  513. package/src/style/components/vertical-video/_volumeslider.scss +0 -9
  514. package/src/style/npoplayer.css +0 -908
  515. package/src/style/npoplayer.scss +0 -58
  516. package/src/style/variants/_player-audio-only.scss +0 -32
  517. package/src/style/variants/_player-audio.scss +0 -55
  518. package/src/style/variants/_player-base.scss +0 -101
  519. package/src/style/variants/_player-debug.scss +0 -14
  520. package/src/style/variants/_player-large.scss +0 -99
  521. package/src/style/variants/_player-medium.scss +0 -68
  522. package/src/style/variants/_player-small.scss +0 -203
  523. package/src/style/variants/_player-vertical.scss +0 -23
  524. package/src/style/vars/_audio.scss +0 -5
  525. package/src/style/vars/_colors.scss +0 -25
  526. package/src/style/vars/_fonts.scss +0 -26
  527. package/src/style/vars/_icons.scss +0 -29
  528. package/src/style/vars/_z-index.scss +0 -1
@@ -1,129 +0,0 @@
1
- import { PlayerEvent, ViewMode } from 'bitmovin-player/modules/bitmovinplayer-core';
2
- import { logEvent } from './eventLogging';
3
- const logEventHandlers = new Map();
4
- export function bindPlayerEvents(playerContext) {
5
- const { player, streamObject, adBreakActive } = playerContext.npoPlayer;
6
- const { isLiveStream } = streamObject.stream;
7
- if (player == undefined)
8
- return;
9
- let isNewSource = true;
10
- let data = {};
11
- const timeDifference = (time) => {
12
- if (time === undefined || time === null)
13
- return;
14
- const currentUnixTime = Date.now() / 1000;
15
- const timeOffset = time > 0 ? time - currentUnixTime : time;
16
- const currentTime = isLiveStream ? timeOffset : time;
17
- data = { stream_position: +currentTime.toFixed(3) };
18
- };
19
- const logEventHandler = (event) => {
20
- return (e) => {
21
- timeDifference(e.time);
22
- logEvent({ playerContext, event, data });
23
- };
24
- };
25
- const timeShiftHandler = (e) => {
26
- const from = data.stream_position ?? 0;
27
- const currentTime = playerContext.player.getCurrentTime();
28
- const to = e.target - currentTime + from;
29
- data = {
30
- seek_from: +from.toFixed(3),
31
- stream_position: +to.toFixed(3)
32
- };
33
- logEvent({ playerContext, event: 'seek', data });
34
- };
35
- const seekHandler = (e) => {
36
- data = {
37
- seek_from: e.position,
38
- stream_position: e.seekTarget
39
- };
40
- logEvent({ playerContext, event: 'seek', data });
41
- };
42
- const handleSourceLoaded = (e) => {
43
- timeDifference(e.time);
44
- isNewSource = true;
45
- if (isLiveStream) {
46
- logEvent({ playerContext, event: 'stop', data });
47
- }
48
- };
49
- const handlePlaybackFinished = (e) => {
50
- timeDifference(e.time);
51
- logEvent({ playerContext, event: 'complete', data });
52
- logEvent({ playerContext, event: 'stop', data });
53
- isNewSource = true;
54
- };
55
- const readyHandler = (e) => {
56
- timeDifference(e.time);
57
- if (isLiveStream) {
58
- data = { stream_position: 0 };
59
- }
60
- logEvent({ playerContext, event: 'load_complete', data });
61
- };
62
- const handlePlay = (e) => {
63
- timeDifference(e.time);
64
- if (!isNewSource && e.issuer !== 'ui-seek') {
65
- logEvent({ playerContext, event: 'resume', data });
66
- }
67
- };
68
- const pausedHandler = (e) => {
69
- timeDifference(e.time);
70
- if (e.issuer !== 'ui-seek') {
71
- logEvent({ playerContext, event: 'pause', data });
72
- }
73
- };
74
- const handleTime = (e) => {
75
- timeDifference(e.time);
76
- if (isNewSource && !adBreakActive) {
77
- logEvent({ playerContext, event: 'start', data });
78
- isNewSource = false;
79
- }
80
- else {
81
- logEvent({ playerContext, event: 'time', data });
82
- }
83
- };
84
- const handleViewModeChange = (e) => {
85
- const newViewMode = player.getViewMode();
86
- timeDifference(e.time);
87
- if (newViewMode === ViewMode.Fullscreen) {
88
- logEvent({ playerContext, event: 'fullscreen', data });
89
- }
90
- else {
91
- logEvent({ playerContext, event: 'windowed', data });
92
- }
93
- };
94
- const stopBeforeUnload = (e) => {
95
- timeDifference(e.time);
96
- logEvent({ playerContext, event: 'stop', data });
97
- };
98
- const clearAllEvents = () => {
99
- for (const [key, value] of logEventHandlers) {
100
- player.off(key, value);
101
- }
102
- window.removeEventListener('beforeunload', logEventHandlers.get('stopBeforeUnload'));
103
- logEventHandlers.clear();
104
- };
105
- clearAllEvents();
106
- const playerEvents = [
107
- { event: PlayerEvent.Ready, handler: readyHandler },
108
- { event: PlayerEvent.Paused, handler: pausedHandler },
109
- { event: PlayerEvent.Play, handler: handlePlay },
110
- { event: PlayerEvent.SourceLoaded, handler: handleSourceLoaded },
111
- { event: PlayerEvent.StallStarted, name: 'buffering' },
112
- { event: PlayerEvent.StallEnded, name: 'buffering_complete' },
113
- { event: PlayerEvent.PlaybackFinished, handler: handlePlaybackFinished },
114
- { event: PlayerEvent.SourceUnloaded, name: 'stop' },
115
- { event: PlayerEvent.Seek, handler: seekHandler },
116
- { event: PlayerEvent.TimeShift, handler: timeShiftHandler },
117
- { event: PlayerEvent.TimeChanged, handler: handleTime },
118
- { event: PlayerEvent.ViewModeChanged, handler: handleViewModeChange },
119
- { event: PlayerEvent.Destroy, handler: clearAllEvents }
120
- ];
121
- for (const { event, name, handler } of playerEvents) {
122
- const effectiveName = name ?? 'unnamed_event';
123
- const eventHandler = handler || logEventHandler(effectiveName);
124
- logEventHandlers.set(event, eventHandler);
125
- player.on(event, eventHandler);
126
- }
127
- logEventHandlers.set('beforeunload', stopBeforeUnload);
128
- window.addEventListener('beforeunload', stopBeforeUnload);
129
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,145 +0,0 @@
1
- import { PlayerEvent, ViewMode } from 'bitmovin-player/modules/bitmovinplayer-core';
2
- import { bindPlayerEvents } from './eventBinding';
3
- import { logEvent } from './eventLogging';
4
- import { createPlayerContextMock } from '../../../tests/mocks/playerContextMock';
5
- jest.mock('./eventLogging', () => ({
6
- logEvent: jest.fn()
7
- }));
8
- describe('bindPlayerEvents', () => {
9
- let mockPlayer;
10
- let playerContextMock;
11
- beforeEach(() => {
12
- mockPlayer = {
13
- on: jest.fn(),
14
- off: jest.fn(),
15
- getViewMode: jest.fn().mockReturnValue(ViewMode.Inline)
16
- };
17
- playerContextMock = createPlayerContextMock({
18
- npoPlayer: {
19
- player: mockPlayer,
20
- streamObject: {
21
- stream: { isLiveStream: false }
22
- },
23
- adBreakActive: false,
24
- logEmitter: { emit: jest.fn() }
25
- }
26
- });
27
- jest.clearAllMocks();
28
- });
29
- it('should handle the "beforeunload" event correctly', () => {
30
- const addEventListenerSpy = jest.spyOn(window, 'addEventListener');
31
- bindPlayerEvents(playerContextMock);
32
- expect(addEventListenerSpy).toHaveBeenCalledWith('beforeunload', expect.any(Function));
33
- const beforeUnloadHandler = addEventListenerSpy.mock.calls.find(([event]) => event === 'beforeunload')?.[1];
34
- if (beforeUnloadHandler && typeof beforeUnloadHandler === 'function') {
35
- beforeUnloadHandler({ time: 123 });
36
- }
37
- addEventListenerSpy.mockRestore();
38
- });
39
- it('should log events when handlers are triggered', () => {
40
- bindPlayerEvents(playerContextMock);
41
- const timeChangedHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.TimeChanged)?.[1];
42
- if (timeChangedHandler && typeof timeChangedHandler === 'function') {
43
- timeChangedHandler({ time: 456 });
44
- expect(logEvent).toHaveBeenCalledWith({
45
- playerContext: playerContextMock,
46
- event: 'start',
47
- data: expect.objectContaining({ stream_position: expect.any(Number) })
48
- });
49
- }
50
- });
51
- it('should handle seek events correctly', () => {
52
- bindPlayerEvents(playerContextMock);
53
- const seekHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.Seek)?.[1];
54
- if (seekHandler && typeof seekHandler === 'function') {
55
- seekHandler({
56
- type: 'seek',
57
- position: 100,
58
- seekTarget: 200
59
- });
60
- expect(logEvent).toHaveBeenCalledWith({
61
- playerContext: playerContextMock,
62
- event: 'seek',
63
- data: {
64
- seek_from: 100,
65
- stream_position: 200
66
- }
67
- });
68
- }
69
- });
70
- it('should handle ViewModeChanged events', () => {
71
- mockPlayer.getViewMode = jest.fn().mockReturnValueOnce(ViewMode.Fullscreen).mockReturnValueOnce(ViewMode.Inline);
72
- bindPlayerEvents(playerContextMock);
73
- const viewModeChangedHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.ViewModeChanged)?.[1];
74
- if (viewModeChangedHandler && typeof viewModeChangedHandler === 'function') {
75
- viewModeChangedHandler({ time: 300 });
76
- expect(logEvent).toHaveBeenCalledWith({
77
- playerContext: playerContextMock,
78
- event: 'fullscreen',
79
- data: expect.objectContaining({ stream_position: expect.any(Number) })
80
- });
81
- viewModeChangedHandler({ time: 301 });
82
- expect(logEvent).toHaveBeenCalledWith({
83
- playerContext: playerContextMock,
84
- event: 'windowed',
85
- data: expect.objectContaining({ stream_position: expect.any(Number) })
86
- });
87
- }
88
- });
89
- it('should handle playback finished correctly', () => {
90
- bindPlayerEvents(playerContextMock);
91
- const playbackFinishedHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.PlaybackFinished)?.[1];
92
- if (playbackFinishedHandler && typeof playbackFinishedHandler === 'function') {
93
- playbackFinishedHandler({ time: 789 });
94
- expect(logEvent).toHaveBeenCalledWith({
95
- playerContext: playerContextMock,
96
- event: 'complete',
97
- data: expect.objectContaining({ stream_position: expect.any(Number) })
98
- });
99
- expect(logEvent).toHaveBeenCalledWith({
100
- playerContext: playerContextMock,
101
- event: 'stop',
102
- data: expect.objectContaining({ stream_position: expect.any(Number) })
103
- });
104
- }
105
- });
106
- it('should handle TimeShift events correctly', () => {
107
- mockPlayer.getCurrentTime = jest.fn().mockReturnValue(1000);
108
- bindPlayerEvents(playerContextMock);
109
- const timeShiftHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.TimeShift)?.[1];
110
- if (timeShiftHandler && typeof timeShiftHandler === 'function') {
111
- timeShiftHandler({
112
- target: -10
113
- });
114
- expect(logEvent).toHaveBeenCalledWith({
115
- playerContext: playerContextMock,
116
- event: 'seek',
117
- data: {
118
- seek_from: 0,
119
- stream_position: -10
120
- }
121
- });
122
- }
123
- });
124
- it('should clean up event listeners on destroy', () => {
125
- bindPlayerEvents(playerContextMock);
126
- const destroyHandler = mockPlayer.on.mock.calls.find(([event]) => event === PlayerEvent.Destroy)?.[1];
127
- if (destroyHandler && typeof destroyHandler === 'function') {
128
- destroyHandler({});
129
- expect(mockPlayer.off).toHaveBeenCalled();
130
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.Ready, expect.any(Function));
131
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.Paused, expect.any(Function));
132
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.Play, expect.any(Function));
133
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.SourceLoaded, expect.any(Function));
134
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.StallStarted, expect.any(Function));
135
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.StallEnded, expect.any(Function));
136
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.PlaybackFinished, expect.any(Function));
137
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.SourceUnloaded, expect.any(Function));
138
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.Seek, expect.any(Function));
139
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.TimeShift, expect.any(Function));
140
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.TimeChanged, expect.any(Function));
141
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.ViewModeChanged, expect.any(Function));
142
- expect(mockPlayer.off).toHaveBeenCalledWith(PlayerEvent.Destroy, expect.any(Function));
143
- }
144
- });
145
- });
@@ -1,2 +0,0 @@
1
- import { LogEventParams } from 'types/interfaces';
2
- export declare function logEvent({ playerContext, event, data }: LogEventParams): void;
@@ -1,37 +0,0 @@
1
- export function logEvent({ playerContext, event, data }) {
2
- const { npoPlayer } = playerContext;
3
- if (!npoPlayer.player)
4
- return;
5
- if (npoPlayer.adBreakActive || npoPlayer.player.isCasting())
6
- return;
7
- if (!npoPlayer.streamTracker) {
8
- console.error('No streamTracker available, no tracking will be performed.');
9
- return;
10
- }
11
- const eventData = data ?? { stream_position: 0 };
12
- const eventHandlers = {
13
- start: npoPlayer.streamTracker.start,
14
- buffering: npoPlayer.streamTracker.buffering,
15
- buffering_complete: npoPlayer.streamTracker.buffering_complete,
16
- complete: npoPlayer.streamTracker.complete,
17
- fullscreen: npoPlayer.streamTracker.fullscreen,
18
- load: npoPlayer.streamTracker.load,
19
- load_complete: npoPlayer.streamTracker.load_complete,
20
- pause: npoPlayer.streamTracker.pause,
21
- resume: npoPlayer.streamTracker.resume,
22
- stop: npoPlayer.streamTracker.stop,
23
- windowed: npoPlayer.streamTracker.windowed,
24
- time: npoPlayer.streamTracker.time,
25
- seek: () => {
26
- npoPlayer.streamTracker?.seek(eventData);
27
- }
28
- };
29
- const streamTrackerHandler = eventHandlers[event];
30
- npoPlayer.logEmitter.emit('logEvent', event, eventData);
31
- if (streamTrackerHandler) {
32
- streamTrackerHandler(eventData);
33
- }
34
- else {
35
- console.warn(`No handler found for event: ${event}`);
36
- }
37
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- import { logEvent } from './eventLogging';
2
- import { createPlayerContextMock, createMockNpoPlayerAPI } from '../../../tests/mocks/playerContextMock';
3
- describe('logEvent', () => {
4
- let playerContextMock;
5
- beforeEach(() => {
6
- playerContextMock = createPlayerContextMock({
7
- npoPlayer: {
8
- player: createMockNpoPlayerAPI(),
9
- streamTracker: {
10
- start: jest.fn(),
11
- seek: jest.fn()
12
- },
13
- logEmitter: {
14
- emit: jest.fn()
15
- },
16
- adBreakActive: false
17
- }
18
- });
19
- });
20
- it('should not log event if player is not available', () => {
21
- playerContextMock.npoPlayer.player = undefined;
22
- logEvent({ playerContext: playerContextMock, event: 'start' });
23
- expect(playerContextMock.npoPlayer.streamTracker?.start).not.toHaveBeenCalled();
24
- expect(playerContextMock.npoPlayer.logEmitter.emit).not.toHaveBeenCalled();
25
- });
26
- it('should not log event if streamTracker is not available', () => {
27
- playerContextMock.npoPlayer.streamTracker = undefined;
28
- logEvent({ playerContext: playerContextMock, event: 'start' });
29
- expect(playerContextMock.npoPlayer.logEmitter.emit).not.toHaveBeenCalled();
30
- });
31
- it('should not log event if adBreakActive is true', () => {
32
- playerContextMock.npoPlayer.adBreakActive = true;
33
- logEvent({ playerContext: playerContextMock, event: 'start' });
34
- expect(playerContextMock.npoPlayer.streamTracker?.start).not.toHaveBeenCalled();
35
- expect(playerContextMock.npoPlayer.logEmitter.emit).not.toHaveBeenCalled();
36
- });
37
- it('should log event and call the corresponding streamTracker handler', () => {
38
- logEvent({ playerContext: playerContextMock, event: 'start' });
39
- expect(playerContextMock.npoPlayer.streamTracker?.start).toHaveBeenCalledWith({ stream_position: 0 });
40
- expect(playerContextMock.npoPlayer.logEmitter.emit).toHaveBeenCalledWith('logEvent', 'start', {
41
- stream_position: 0
42
- });
43
- });
44
- it('should log event and call the seek streamTracker handler with data', () => {
45
- const data = { position: 20 };
46
- logEvent({ playerContext: playerContextMock, event: 'seek', data });
47
- expect(playerContextMock.npoPlayer.streamTracker?.seek).toHaveBeenCalledWith(data);
48
- expect(playerContextMock.npoPlayer.logEmitter.emit).toHaveBeenCalledWith('logEvent', 'seek', data);
49
- });
50
- it('should log event with default data if data is undefined', () => {
51
- logEvent({ playerContext: playerContextMock, event: 'seek' });
52
- expect(playerContextMock.npoPlayer.streamTracker?.seek).toHaveBeenCalledWith({ stream_position: 0 });
53
- expect(playerContextMock.npoPlayer.logEmitter.emit).toHaveBeenCalledWith('logEvent', 'seek', { stream_position: 0 });
54
- });
55
- it('should not throw but log a warning for unsupported events', () => {
56
- console.warn = jest.fn();
57
- logEvent({ playerContext: playerContextMock, event: 'unsupportedEvent' });
58
- expect(console.warn).toHaveBeenCalledWith('No handler found for event: unsupportedEvent');
59
- expect(playerContextMock.npoPlayer.logEmitter.emit).toHaveBeenCalledWith('logEvent', 'unsupportedEvent', {
60
- stream_position: 0
61
- });
62
- });
63
- });
@@ -1,3 +0,0 @@
1
- export { startPlayerTracker } from './playerTrackerStart';
2
- export { initPlayerTracker } from './playerTrackerInit';
3
- export { logEvent } from './eventLogging';
@@ -1,3 +0,0 @@
1
- export { startPlayerTracker } from './playerTrackerStart';
2
- export { initPlayerTracker } from './playerTrackerInit';
3
- export { logEvent } from './eventLogging';
@@ -1,2 +0,0 @@
1
- import { PlayerContext } from 'types/interfaces';
2
- export declare function initPlayerTracker(playerContext: PlayerContext): void;
@@ -1,20 +0,0 @@
1
- import { newATInternetPlugin, newGovoltePlugin, newPageTracker, newTag } from '@npotag/tag';
2
- const npoTagPlugins = [newGovoltePlugin({ maxRetryCount: 5, delayBetweenRetriesInMs: 3000 }), newATInternetPlugin()];
3
- export function initPlayerTracker(playerContext) {
4
- const { npoPlayer } = playerContext;
5
- if (!npoPlayer.npoTag) {
6
- npoPlayer.npoTag = {
7
- npoTagInstance: undefined,
8
- pageTracker: undefined,
9
- heartbeatInterval: undefined
10
- };
11
- }
12
- if (!npoPlayer.npoTag?.npoTagInstance) {
13
- npoPlayer.npoTag.npoTagInstance =
14
- npoPlayer.npoTagInstance ??
15
- (npoPlayer.npoTagInitialisation ? newTag(npoPlayer.npoTagInitialisation, npoTagPlugins) : undefined);
16
- }
17
- if (!npoPlayer.npoTag?.pageTracker && npoPlayer.npoTag?.npoTagInstance) {
18
- npoPlayer.npoTag.pageTracker = npoPlayer.npoTagPageTracker ?? newPageTracker(npoPlayer.npoTag.npoTagInstance);
19
- }
20
- }
@@ -1,75 +0,0 @@
1
- import { newPageTracker, newTag } from '@npotag/tag';
2
- import { initPlayerTracker } from './playerTrackerInit';
3
- import { createPlayerContextMock } from '../../../tests/mocks/playerContextMock';
4
- jest.mock('@npotag/tag', () => ({
5
- newATInternetPlugin: jest.fn(),
6
- newGovoltePlugin: jest.fn(),
7
- newPageTracker: jest.fn(),
8
- newTag: jest.fn()
9
- }));
10
- describe('initPlayerTracker', () => {
11
- let playerContextMock;
12
- beforeEach(() => {
13
- playerContextMock = createPlayerContextMock({
14
- npoPlayer: {
15
- npoTag: undefined,
16
- npoTagInitialisation: undefined,
17
- npoTagInstance: undefined,
18
- npoTagPageTracker: undefined
19
- }
20
- });
21
- jest.clearAllMocks();
22
- });
23
- it('should initialize npoTag if it is undefined', () => {
24
- initPlayerTracker(playerContextMock);
25
- expect(playerContextMock.npoPlayer.npoTag).toBeDefined();
26
- expect(playerContextMock.npoPlayer.npoTag?.npoTagInstance).toBeUndefined();
27
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBeUndefined();
28
- });
29
- it('should initialize npoTagInstance if npoTagInstance is already provided', () => {
30
- const mockNpoTagInstance = {};
31
- playerContextMock.npoPlayer.npoTagInstance = mockNpoTagInstance;
32
- initPlayerTracker(playerContextMock);
33
- expect(playerContextMock.npoPlayer.npoTag?.npoTagInstance).toBe(mockNpoTagInstance);
34
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBeUndefined();
35
- });
36
- it('should create a new npoTagInstance if npoTagInitialisation is provided and npoTagInstance is undefined', () => {
37
- const mockNpoTag = {};
38
- const mockNewTagInstance = {};
39
- newTag.mockReturnValue(mockNewTagInstance);
40
- playerContextMock.npoPlayer.npoTagInitialisation = mockNpoTag;
41
- initPlayerTracker(playerContextMock);
42
- expect(newTag).toHaveBeenCalledWith(mockNpoTag, expect.any(Array));
43
- expect(playerContextMock.npoPlayer.npoTag?.npoTagInstance).toBe(mockNewTagInstance);
44
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBeUndefined();
45
- });
46
- it('should initialize pageTracker if npoTagInstance is present and npoTagPageTracker is provided', () => {
47
- const mockPageTracker = {};
48
- const mockNpoTagInstance = {};
49
- playerContextMock.npoPlayer.npoTagInstance = mockNpoTagInstance;
50
- playerContextMock.npoPlayer.npoTagPageTracker = mockPageTracker;
51
- initPlayerTracker(playerContextMock);
52
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBe(mockPageTracker);
53
- });
54
- it('should create a new pageTracker if npoTagPageTracker is undefined', () => {
55
- const mockNpoTagInstance = {};
56
- const mockNewPageTracker = {};
57
- newPageTracker.mockReturnValue(mockNewPageTracker);
58
- playerContextMock.npoPlayer.npoTagInstance = mockNpoTagInstance;
59
- initPlayerTracker(playerContextMock);
60
- expect(newPageTracker).toHaveBeenCalledWith(mockNpoTagInstance);
61
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBe(mockNewPageTracker);
62
- });
63
- it('should not overwrite existing pageTracker', () => {
64
- const mockPageTracker = {};
65
- const mockNpoTagInstance = {};
66
- playerContextMock.npoPlayer.npoTag = {
67
- npoTagInstance: mockNpoTagInstance,
68
- pageTracker: mockPageTracker,
69
- heartbeatInterval: undefined
70
- };
71
- initPlayerTracker(playerContextMock);
72
- expect(playerContextMock.npoPlayer.npoTag?.pageTracker).toBe(mockPageTracker);
73
- expect(newPageTracker).not.toHaveBeenCalled();
74
- });
75
- });
@@ -1,2 +0,0 @@
1
- import { PlayerTrackerParams } from 'types/interfaces';
2
- export declare const startPlayerTracker: ({ playerContext, source, duration, afterAd }: PlayerTrackerParams) => void;
@@ -1,28 +0,0 @@
1
- import { getAnalyticsPrid } from '../../js/utilities/utilities.prid';
2
- import { getStreamDurationInSeconds } from '../../js/utilities/utilities.stream';
3
- import { initStreamTracker } from './streamTrackerInit';
4
- import { bindPlayerEvents } from './eventBinding';
5
- import { logEvent } from './eventLogging';
6
- export const startPlayerTracker = function ({ playerContext, source, duration, afterAd = false }) {
7
- const { npoPlayer } = playerContext;
8
- const { player, sourceConfig, streamObject } = npoPlayer;
9
- const playerDuration = duration ?? player?.getDuration() ?? undefined;
10
- if (!source) {
11
- throw new Error('Could not initialize streamTracker, no source specified.');
12
- }
13
- const analyticsPrid = getAnalyticsPrid({
14
- source,
15
- sourceConfig,
16
- streamObject
17
- }) || 'unknown';
18
- npoPlayer.streamTracker = initStreamTracker({
19
- playerContext: playerContext,
20
- duration: getStreamDurationInSeconds({ duration: playerDuration, durationIsInMs: !!duration }),
21
- source: analyticsPrid
22
- });
23
- bindPlayerEvents(playerContext);
24
- logEvent({ playerContext, event: 'load' });
25
- if (afterAd) {
26
- logEvent({ playerContext, event: 'load_complete' });
27
- }
28
- };
@@ -1,76 +0,0 @@
1
- import { getAnalyticsPrid } from '../../js/utilities/utilities.prid';
2
- import { getStreamDurationInSeconds } from '../../js/utilities/utilities.stream';
3
- import { startPlayerTracker } from './playerTrackerStart';
4
- import { initStreamTracker } from './streamTrackerInit';
5
- import { bindPlayerEvents } from './eventBinding';
6
- import { logEvent } from './eventLogging';
7
- import { createPlayerContextMock } from '../../../tests/mocks/playerContextMock';
8
- jest.mock('../../js/utilities/utilities.stream', () => ({
9
- getStreamDurationInSeconds: jest.fn()
10
- }));
11
- jest.mock('../../js/utilities/utilities.prid', () => ({
12
- getAnalyticsPrid: jest.fn()
13
- }));
14
- jest.mock('./streamTrackerInit', () => ({
15
- initStreamTracker: jest.fn()
16
- }));
17
- jest.mock('./eventBinding', () => ({
18
- bindPlayerEvents: jest.fn()
19
- }));
20
- jest.mock('./eventLogging', () => ({
21
- logEvent: jest.fn()
22
- }));
23
- describe('startPlayerTracker', () => {
24
- let playerContextMock;
25
- let playerMock;
26
- beforeEach(() => {
27
- playerMock = { getDuration: jest.fn().mockReturnValue(200) };
28
- playerContextMock = createPlayerContextMock({
29
- npoPlayer: {
30
- player: playerMock,
31
- sourceConfig: {},
32
- streamObject: {}
33
- }
34
- });
35
- jest.clearAllMocks();
36
- });
37
- it('should initialize the stream tracker with the provided duration', () => {
38
- const source = 'some-source';
39
- const duration = 150;
40
- getAnalyticsPrid.mockReturnValue('some-prid');
41
- getStreamDurationInSeconds.mockReturnValue(duration);
42
- startPlayerTracker({ playerContext: playerContextMock, source, duration });
43
- expect(getAnalyticsPrid).toHaveBeenCalledWith({
44
- source,
45
- sourceConfig: {},
46
- streamObject: {}
47
- });
48
- expect(getStreamDurationInSeconds).toHaveBeenCalledWith({
49
- duration,
50
- durationIsInMs: true
51
- });
52
- expect(initStreamTracker).toHaveBeenCalledWith({
53
- playerContext: playerContextMock,
54
- duration,
55
- source: 'some-prid'
56
- });
57
- expect(bindPlayerEvents).toHaveBeenCalledWith(playerContextMock);
58
- expect(logEvent).toHaveBeenCalledWith({ playerContext: playerContextMock, event: 'load' });
59
- });
60
- it('should fallback to player.getDuration() if duration is not provided', () => {
61
- const source = 'some-source';
62
- const fallbackDuration = 200;
63
- getAnalyticsPrid.mockReturnValue('some-prid');
64
- getStreamDurationInSeconds.mockReturnValue(fallbackDuration);
65
- startPlayerTracker({ playerContext: playerContextMock, source });
66
- expect(getStreamDurationInSeconds).toHaveBeenCalledWith({
67
- duration: fallbackDuration,
68
- durationIsInMs: false
69
- });
70
- expect(initStreamTracker).toHaveBeenCalledWith({
71
- playerContext: playerContextMock,
72
- duration: fallbackDuration,
73
- source: 'some-prid'
74
- });
75
- });
76
- });
@@ -1,3 +0,0 @@
1
- import { StreamTracker } from '@npotag/tag';
2
- import { PlayerTrackerParams } from 'types/interfaces';
3
- export declare function initStreamTracker({ playerContext, duration, source }: PlayerTrackerParams): StreamTracker;
@@ -1,27 +0,0 @@
1
- import { newStreamTracker } from '@npotag/tag';
2
- import { validatePrid } from '../../js/utilities/utilities.stream';
3
- export function initStreamTracker({ playerContext, duration, source }) {
4
- const { npoPlayer } = playerContext;
5
- const { npoTag, npoPlayerServices, version } = npoPlayer;
6
- if (!npoTag?.npoTagInstance) {
7
- throw new Error('No npoTagInstance available. Could not create streamtracker.');
8
- }
9
- if (!npoTag?.pageTracker) {
10
- throw new Error('No pageTracker available. Could not create streamtracker.');
11
- }
12
- if (!duration) {
13
- throw new Error('No duration specified. Could not create streamtracker.');
14
- }
15
- const streamTrackerConfig = {
16
- stream_length: duration,
17
- stream_id: validatePrid(source),
18
- player_id: 'npoplayer-web',
19
- av_type: npoPlayerServices.getAVType(npoPlayer.streamObject.stream.avType),
20
- player_version: version,
21
- sko_player_version: '1.0.0'
22
- };
23
- const isLiveStream = npoPlayer.streamObject.stream.isLiveStream || false;
24
- return newStreamTracker(npoTag.pageTracker, streamTrackerConfig, {
25
- isLive: isLiveStream
26
- });
27
- }