prebid.js 10.2.0 → 10.4.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 (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"jwplayerVideoProvider_spec.js","names":["JWPlayerProvider","adStateFactory","timeStateFactory","callbackStorageFactory","utils","PROTOCOLS","API_FRAMEWORKS","VIDEO_MIME_TYPE","PLAYBACK_METHODS","PLACEMENT","VPAID_MIME_TYPE","SETUP_COMPLETE","SETUP_FAILED","PLAY","AD_IMPRESSION","AD_STARTED","SEEK_END","videoEvents","PLAYBACK_MODE","getPlayerMock","makePlayerFactoryMock","getState","setup","getViewable","getPercentViewable","getMute","getVolume","getConfig","getHeight","getContainer","getWidth","getFullscreen","getPlaylistItem","playAd","on","off","remove","getAudioTracks","getCurrentAudioTrack","getPlugin","getFloating","playerMock_","playerFactory","version","getUtilsMock","getJwConfig","getPlayerHeight","getPlayerWidth","getPlayerSizeFromAspectRatio","getSupportedMediaTypes","getStartDelay","getPlacement","getPlaybackMethod","isOmidSupported","getSkipParams","getJwEvent","event","getIsoLanguageCode","getSegments","getContentDatum","sharedUtils","addDiv","div","document","createElement","setAttribute","body","appendChild","removeDiv","getElementById","describe","beforeEach","afterEach","config","adState","timeState","callbackStorage","utilsMock","divId","it","provider","setupFailed","sinon","spy","onEvent","init","expect","calledOnce","to","be","true","payload","args","errorCode","equal","jwplayerMock","player","playerConfig","setupSpy","setupComplete","setupComplete2","called","false","undefined","getId","test_media_type","MP4","test_height","test_width","test_start_delay","test_placement","ARTICLE","test_battr","test_playback_method","CLICK_TO_PLAY","test_skip","advertising","battr","skip","video","getOrtbVideo","mimes","include","protocols","members","VAST_2_0","VAST_3_0","VAST_4_0","VAST_2_0_WRAPPER","VAST_3_0_WRAPPER","VAST_4_0_WRAPPER","h","w","startdelay","placement","maxextended","boxingallowed","playbackmethod","playbackend","api","have","length","VPAID_2_0","OMID_1_0","pos","not","property","test_item","mediaid","file","title","iabCategories","tags","test_duration","test_playback_mode","VOD","duration","playbackMode","content","getOrtbContent","id","url","cat","keywords","len","livestream","LIVE","DVR","playAdSpy","setAdTagUrl","argument","loadSpy","loadAdXml","setAdXml","xml","options","foo","calledOnceWith","onSpy","callback","eventName","offSpy","offEvent","removeSpy","destroy","clearState","tag","adPosition","timeLoading","description","adsystem","adtitle","advertiserId","advertiser","dealId","linear","vastversion","mediaFile","adId","universalAdId","creativeAdId","creativetype","clickThroughUrl","witem","wcount","podcount","sequence","updateForEvent","state","adTagUrl","offset","loadTime","vastAdId","adDescription","adServer","adTitle","vastVersion","creativeUrl","creativeId","creativeType","redirectUrl","adPlacementType","waterfallIndex","waterfallCount","adPodCount","adPodIndex","INSTREAM","BANNER","FEED","INTERSTITIAL","SLIDER","FLOATING","position","time","clearStorage","callback1","eventHandler1","storeCallback","callback2","eventHandler2","callback3","getCallback","jwConfig","params","vendorConfig","test","test_2","mute","autoStart","licenseKey","autostart","key","setupAds","expectedHeight","playerMock","height","expectedWidth","width","testContainer","clientWidth","clientHeight","deep","aspectratio","skipParams","empty","skipoffset","skipmin","skipafter","skipOffset","supportedMediaTypes","adConfig","outstream","playbackMethod","autoplay","AUTOPLAY","AUTOPLAY_MUTED","autoplayAdsMuted","initialOmidSessionClient","window","OmidSessionClient","sampleAudioTracks","language","languageCode","segs","segments","name","segment","ext","cids","segtax"],"sourceRoot":"../../../../../../..","sources":["test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js"],"sourcesContent":["import {\n JWPlayerProvider,\n adStateFactory,\n timeStateFactory,\n callbackStorageFactory,\n utils\n} from 'modules/jwplayerVideoProvider';\n\nimport {\n PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE\n} from 'libraries/video/constants/ortb.js';\n\nimport {\n SETUP_COMPLETE, SETUP_FAILED, PLAY, AD_IMPRESSION, AD_STARTED, SEEK_END, videoEvents\n} from 'libraries/video/constants/events.js';\n\nimport { PLAYBACK_MODE } from 'libraries/video/constants/constants.js';\n\nfunction getPlayerMock() {\n return makePlayerFactoryMock({\n getState: function () {},\n setup: function () { return this; },\n getViewable: function () {},\n getPercentViewable: function () {},\n getMute: function () {},\n getVolume: function () {},\n getConfig: function () {},\n getHeight: function () {},\n getContainer: function () {},\n getWidth: function () {},\n getFullscreen: function () {},\n getPlaylistItem: function () {},\n playAd: function () {},\n on: function () { return this; },\n off: function () { return this; },\n remove: function () {},\n getAudioTracks: function () {},\n getCurrentAudioTrack: function () {},\n getPlugin: function () {},\n getFloating: function () {}\n })();\n}\n\nfunction makePlayerFactoryMock(playerMock_) {\n const playerFactory = function () {\n return playerMock_;\n }\n playerFactory.version = '8.21.0';\n return playerFactory;\n}\n\nfunction getUtilsMock() {\n return {\n getJwConfig: function () {},\n getPlayerHeight: function () {},\n getPlayerWidth: function () {},\n getPlayerSizeFromAspectRatio: function () {},\n getSupportedMediaTypes: function () {},\n getStartDelay: function () {},\n getPlacement: function () {},\n getPlaybackMethod: function () {},\n isOmidSupported: function () {},\n getSkipParams: function () {},\n getJwEvent: event => event,\n getIsoLanguageCode: function () {},\n getSegments: function () {},\n getContentDatum: function () {}\n };\n}\n\nconst sharedUtils = { videoEvents };\n\nfunction addDiv() {\n const div = document.createElement('div');\n div.setAttribute('id', 'test');\n document.body.appendChild(div);\n}\n\nfunction removeDiv() {\n const div = document.getElementById('test');\n if (div) {\n div.remove();\n }\n}\n\ndescribe('JWPlayerProvider', function () {\n beforeEach(() => {\n addDiv();\n });\n\n afterEach(() => {\n removeDiv();\n });\n\n describe('init', function () {\n let config;\n let adState;\n let timeState;\n let callbackStorage;\n let utilsMock;\n\n beforeEach(() => {\n config = { divId: 'test' };\n adState = adStateFactory();\n timeState = timeStateFactory();\n callbackStorage = callbackStorageFactory();\n utilsMock = getUtilsMock();\n });\n\n it('should trigger failure when jwplayer is missing', function () {\n const provider = JWPlayerProvider(config, null, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-1);\n });\n\n it('should trigger failure when jwplayer version is under min supported version', function () {\n const jwplayerMock = () => {};\n jwplayerMock.version = '8.20.0';\n const provider = JWPlayerProvider(config, jwplayerMock, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-2);\n });\n\n it('should trigger failure when div is missing', function () {\n removeDiv();\n const jwplayerMock = () => {};\n const provider = JWPlayerProvider(config, jwplayerMock, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-3);\n addDiv();\n addDiv();\n });\n\n it('should instantiate the player when uninstantiated', function () {\n const player = getPlayerMock();\n config.playerConfig = {};\n const setupSpy = player.setup = sinon.spy(player.setup);\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n provider.init();\n expect(setupSpy.calledOnce).to.be.true;\n });\n\n it('should trigger setup complete when player is already instantiated', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupComplete = sinon.spy();\n provider.onEvent(SETUP_COMPLETE, setupComplete, {});\n provider.init();\n expect(setupComplete.calledOnce).to.be.true;\n });\n\n it('should support multiple setup complete event handlers', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupComplete = sinon.spy();\n const setupComplete2 = sinon.spy();\n provider.onEvent(SETUP_COMPLETE, setupComplete, {});\n provider.onEvent(SETUP_COMPLETE, setupComplete2, {});\n provider.init();\n expect(setupComplete.calledOnce).to.be.true;\n expect(setupComplete2.calledOnce).to.be.true;\n });\n\n it('should not reinstantiate player', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const setupSpy = player.setup = sinon.spy();\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n provider.init();\n expect(setupSpy.called).to.be.false;\n });\n });\n\n describe('getId', function () {\n it('should return configured div id', function () {\n const provider = JWPlayerProvider({ divId: 'test_id' }, undefined, undefined, undefined, undefined, undefined, sharedUtils);\n expect(provider.getId()).to.be.equal('test_id');\n });\n });\n\n describe('getOrtbVideo', function () {\n it('should populate oRTB Video params', function () {\n const test_media_type = VIDEO_MIME_TYPE.MP4;\n const test_height = 100;\n const test_width = 200;\n const test_start_delay = 5;\n const test_placement = PLACEMENT.ARTICLE;\n const test_battr = 'battr';\n const test_playback_method = PLAYBACK_METHODS.CLICK_TO_PLAY;\n const test_skip = 0;\n\n const config = { divId: 'test' };\n const player = getPlayerMock();\n const utils = getUtilsMock();\n\n player.getConfig = () => ({\n advertising: {\n battr: test_battr\n }\n });\n player.getHeight = () => test_height;\n player.getWidth = () => test_width;\n player.getFullscreen = () => true; //\n\n utils.getPlayerHeight = () => 100;\n utils.getPlayerWidth = () => 200;\n utils.getSupportedMediaTypes = () => [test_media_type];\n utils.getStartDelay = () => test_start_delay;\n utils.getPlacement = () => test_placement;\n utils.getPlaybackMethod = () => test_playback_method;\n utils.isOmidSupported = () => true; //\n utils.getSkipParams = () => ({ skip: test_skip });\n\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), {}, {}, utils, sharedUtils);\n provider.init();\n let video = provider.getOrtbVideo();\n\n expect(video.mimes).to.include(VIDEO_MIME_TYPE.MP4);\n expect(video.protocols).to.include.members([\n PROTOCOLS.VAST_2_0,\n PROTOCOLS.VAST_3_0,\n PROTOCOLS.VAST_4_0,\n PROTOCOLS.VAST_2_0_WRAPPER,\n PROTOCOLS.VAST_3_0_WRAPPER,\n PROTOCOLS.VAST_4_0_WRAPPER\n ]);\n expect(video.h).to.equal(test_height);\n expect(video.w).to.equal(test_width);\n expect(video.startdelay).to.equal(test_start_delay);\n expect(video.placement).to.equal(test_placement);\n expect(video.battr).to.equal(test_battr);\n expect(video.maxextended).to.equal(-1);\n expect(video.boxingallowed).to.equal(1);\n expect(video.playbackmethod).to.include(test_playback_method);\n expect(video.playbackend).to.equal(1);\n expect(video.api).to.have.length(2);\n expect(video.api).to.include.members([API_FRAMEWORKS.VPAID_2_0, API_FRAMEWORKS.OMID_1_0]); //\n expect(video.skip).to.equal(test_skip);\n expect(video.pos).to.equal(7); //\n\n player.getFullscreen = () => false;\n utils.isOmidSupported = () => false;\n\n video = provider.getOrtbVideo();\n expect(video).to.not.have.property('pos');\n expect(video.api).to.have.length(1);\n expect(video.api).to.include(API_FRAMEWORKS.VPAID_2_0);\n expect(video.api).to.not.include(API_FRAMEWORKS.OMID_1_0);\n });\n });\n\n describe('getOrtbContent', function () {\n it('should populate oRTB Content params', function () {\n const test_item = {\n mediaid: 'id',\n file: 'file',\n title: 'title',\n iabCategories: 'iabCategories',\n tags: 'keywords',\n };\n const test_duration = 30;\n let test_playback_mode = PLAYBACK_MODE.VOD;//\n\n const player = getPlayerMock();\n player.getPlaylistItem = () => test_item;\n const utils = getUtilsMock();\n\n const timeState = {\n getState: () => ({\n duration: test_duration,\n playbackMode: test_playback_mode\n })\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, {}, utils, sharedUtils);\n provider.init();\n\n let content = provider.getOrtbContent();\n expect(content.id).to.be.equal('jw_' + test_item.mediaid);\n expect(content.url).to.be.equal(test_item.file);\n expect(content.title).to.be.equal(test_item.title);\n expect(content.cat).to.be.equal(test_item.iabCategories);\n expect(content.keywords).to.be.equal(test_item.tags);\n expect(content.len).to.be.equal(test_duration);\n expect(content.livestream).to.be.equal(0);//\n\n test_playback_mode = PLAYBACK_MODE.LIVE;\n\n content = provider.getOrtbContent();\n expect(content.livestream).to.be.equal(1);\n\n test_playback_mode = PLAYBACK_MODE.DVR;\n\n content = provider.getOrtbContent();\n expect(content.livestream).to.be.equal(1);\n });\n });\n\n describe('setAdTagUrl', function () {\n it('should call playAd', function () {\n const player = getPlayerMock();\n const playAdSpy = player.playAd = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n provider.setAdTagUrl('tag');\n expect(playAdSpy.called).to.be.true;\n const argument = playAdSpy.args[0][0];\n expect(argument).to.be.equal('tag');\n });\n });\n\n describe('setAdXml', function () {\n it('should not call loadAdXml when xml is missing', function () {\n const player = getPlayerMock();\n const loadSpy = player.loadAdXml = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n provider.setAdXml();\n expect(loadSpy.called).to.be.false;\n });\n\n it('should call loadAdXml with xml and options', function () {\n const player = getPlayerMock();\n const loadSpy = player.loadAdXml = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n const xml = '<VAST></VAST>';\n const options = {foo: 'bar'};\n provider.setAdXml(xml, options);\n expect(loadSpy.calledOnceWith(xml, options)).to.be.true;\n });\n });\n\n describe('events', function () {\n it('should register event listener on player', function () {\n const player = getPlayerMock();\n const onSpy = player.on = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = () => {};\n provider.onEvent(PLAY, callback, {});\n expect(onSpy.calledOnce).to.be.true;\n const eventName = onSpy.args[0][0];\n expect(eventName).to.be.equal('play');\n });\n\n it('should remove event listener on player', function () {\n const player = getPlayerMock();\n const offSpy = player.off = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const callback = () => {};\n provider.onEvent(AD_IMPRESSION, callback, {});\n provider.offEvent(AD_IMPRESSION, callback);\n expect(offSpy.calledOnce).to.be.true;\n const eventName = offSpy.args[0][0];\n expect(eventName).to.be.equal('adViewableImpression');\n });\n });\n\n describe('destroy', function () {\n it('should remove and null the player', function () {\n const player = getPlayerMock();\n const removeSpy = player.remove = sinon.spy();\n player.remove = removeSpy;\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n provider.destroy();\n provider.destroy();\n expect(removeSpy.calledOnce).to.be.true;\n });\n });\n});\n\ndescribe('adStateFactory', function () {\n const adState = adStateFactory();\n\n beforeEach(() => {\n adState.clearState();\n });\n\n it('should update state for ad events', function () {\n const tag = 'tag';\n const adPosition = 'adPosition';\n const timeLoading = 'timeLoading';\n const id = 'id';\n const description = 'description';\n const adsystem = 'adsystem';\n const adtitle = 'adtitle';\n const advertiserId = 'advertiserId';\n const advertiser = 'advertiser';\n const dealId = 'dealId';\n const linear = 'linear';\n const vastversion = 'vastversion';\n const mediaFile = 'mediaFile';\n const adId = 'adId';\n const universalAdId = 'universalAdId';\n const creativeAdId = 'creativeAdId';\n const creativetype = 'creativetype';\n const clickThroughUrl = 'clickThroughUrl';\n const witem = 'witem';\n const wcount = 'wcount';\n const podcount = 'podcount';\n const sequence = 'sequence';\n\n adState.updateForEvent({\n tag,\n adPosition,\n timeLoading,\n id,\n description,\n adsystem,\n adtitle,\n advertiserId,\n advertiser,\n dealId,\n linear,\n vastversion,\n mediaFile,\n adId,\n universalAdId,\n creativeAdId,\n creativetype,\n clickThroughUrl,\n witem,\n wcount,\n podcount,\n sequence\n });\n\n const state = adState.getState();\n expect(state.adTagUrl).to.equal(tag);\n expect(state.offset).to.equal(adPosition);\n expect(state.loadTime).to.equal(timeLoading);\n expect(state.vastAdId).to.equal(id);\n expect(state.adDescription).to.equal(description);\n expect(state.adServer).to.equal(adsystem);\n expect(state.adTitle).to.equal(adtitle);\n expect(state.advertiserId).to.equal(advertiserId);\n expect(state.dealId).to.equal(dealId);\n expect(state.linear).to.equal(linear);\n expect(state.vastVersion).to.equal(vastversion);\n expect(state.creativeUrl).to.equal(mediaFile);\n expect(state.adId).to.equal(adId);\n expect(state.universalAdId).to.equal(universalAdId);\n expect(state.creativeId).to.equal(creativeAdId);\n expect(state.creativeType).to.equal(creativetype);\n expect(state.redirectUrl).to.equal(clickThroughUrl);\n expect(state).to.have.property('adPlacementType');\n expect(state.adPlacementType).to.be.undefined;\n expect(state.waterfallIndex).to.equal(witem);\n expect(state.waterfallCount).to.equal(wcount);\n expect(state.adPodCount).to.equal(podcount);\n expect(state.adPodIndex).to.equal(sequence);\n });\n\n it('should convert placement to oRTB value', function () {\n adState.updateForEvent({\n placement: 'instream'\n });\n\n let state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.INSTREAM);\n\n adState.updateForEvent({\n placement: 'banner'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.BANNER);\n\n adState.updateForEvent({\n placement: 'article'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.ARTICLE);\n\n adState.updateForEvent({\n placement: 'feed'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.FEED);\n\n adState.updateForEvent({\n placement: 'interstitial'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.INTERSTITIAL);\n\n adState.updateForEvent({\n placement: 'slider'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.SLIDER);\n\n adState.updateForEvent({\n placement: 'floating'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.FLOATING);\n });\n});\n\ndescribe('timeStateFactory', function () {\n const timeState = timeStateFactory();\n\n beforeEach(() => {\n timeState.clearState();\n });\n\n it('should update state for VOD time event', function() {\n const position = 5;\n const test_duration = 30;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);\n });\n\n it('should update state for LIVE time events', function() {\n const position = 0;\n const test_duration = 0;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);\n });\n\n it('should update state for DVR time events', function() {\n const position = -5;\n const test_duration = -30;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.DVR);\n });\n});\n\ndescribe('callbackStorageFactory', function () {\n const callbackStorage = callbackStorageFactory();\n\n beforeEach(() => {\n callbackStorage.clearStorage();\n });\n\n it('should store callbacks', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n const callback2 = () => 'callback2';\n const eventHandler2 = () => 'eventHandler2';\n callbackStorage.storeCallback('event', eventHandler2, callback2);\n\n const callback3 = () => 'callback3';\n\n expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event', callback2)).to.be.equal(eventHandler2);\n expect(callbackStorage.getCallback('event', callback3)).to.be.undefined;\n });\n\n it('should remove callbacks after retrieval', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event', callback1)).to.be.undefined;\n });\n\n it('should clear callbacks', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n callbackStorage.clearStorage();\n expect(callbackStorage.getCallback('event', callback1)).to.be.undefined;\n });\n});\n\ndescribe('utils', function () {\n describe('getJwConfig', function () {\n const getJwConfig = utils.getJwConfig;\n it('should return undefined when no config is provided', function () {\n let jwConfig = getJwConfig();\n expect(jwConfig).to.be.undefined;\n\n jwConfig = getJwConfig(null);\n expect(jwConfig).to.be.undefined;\n });\n\n it('should set vendor config params to top level', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n 'test': 'a',\n 'test_2': 'b'\n }\n }\n });\n expect(jwConfig.test).to.be.equal('a');\n expect(jwConfig.test_2).to.be.equal('b');\n });\n\n it('should convert video module params', function () {\n const jwConfig = getJwConfig({\n mute: true,\n autoStart: true,\n licenseKey: 'key'\n });\n\n expect(jwConfig.mute).to.be.true;\n expect(jwConfig.autostart).to.be.true;\n expect(jwConfig.key).to.be.equal('key');\n });\n\n it('should apply video module params only when absent from vendor config', function () {\n const jwConfig = getJwConfig({\n mute: true,\n autoStart: true,\n licenseKey: 'key',\n params: {\n vendorConfig: {\n mute: false,\n autostart: false,\n key: 'other_key'\n }\n }\n });\n\n expect(jwConfig.mute).to.be.false;\n expect(jwConfig.autostart).to.be.false;\n expect(jwConfig.key).to.be.equal('other_key');\n });\n\n it('should not convert undefined properties', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n test: 'a'\n }\n }\n });\n\n expect(jwConfig).to.not.have.property('mute');\n expect(jwConfig).to.not.have.property('autostart');\n expect(jwConfig).to.not.have.property('key');\n });\n\n it('should exclude fallback ad block when setupAds is explicitly disabled', function () {\n const jwConfig = getJwConfig({\n setupAds: false,\n params: {\n\n vendorConfig: {}\n }\n });\n\n expect(jwConfig).to.not.have.property('advertising');\n });\n\n it('should set advertising block when setupAds is allowed', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n advertising: {\n tag: 'test_tag'\n }\n }\n }\n });\n\n expect(jwConfig).to.have.property('advertising');\n expect(jwConfig.advertising).to.have.property('tag', 'test_tag');\n });\n\n it('should fallback to vast plugin', function () {\n const jwConfig = getJwConfig({});\n\n expect(jwConfig).to.have.property('advertising');\n expect(jwConfig.advertising).to.have.property('client', 'vast');\n });\n });\n\n describe('getPlayerHeight', function () {\n const getPlayerHeight = utils.getPlayerHeight;\n\n it('should return height from API when defined', function () {\n const expectedHeight = 500;\n const playerMock = { getHeight: () => expectedHeight };\n expect(getPlayerHeight(playerMock, {})).to.equal(expectedHeight);\n });\n\n it('should return height from config when API returns undefined', function () {\n const expectedHeight = 500;\n const playerMock = { getHeight: () => undefined };\n expect(getPlayerHeight(playerMock, { height: 500 })).to.equal(expectedHeight);\n });\n });\n\n describe('getPlayerWidth', function () {\n const getPlayerWidth = utils.getPlayerWidth;\n\n it('should return width from API when defined', function () {\n const expectedWidth = 1000;\n const playerMock = { getWidth: () => expectedWidth };\n expect(getPlayerWidth(playerMock, {})).to.equal(expectedWidth);\n });\n\n it('should return width from config when API returns undefined', function () {\n const expectedWidth = 1000;\n const playerMock = { getWidth: () => undefined };\n expect(getPlayerWidth(playerMock, { width: expectedWidth })).to.equal(expectedWidth);\n });\n\n it('should return undefined when width is string', function () {\n const playerMock = { getWidth: () => undefined };\n expect(getPlayerWidth(playerMock, { width: '50%' })).to.be.undefined;\n });\n });\n\n describe('getPlayerSizeFromAspectRatio', function () {\n const getPlayerSizeFromAspectRatio = utils.getPlayerSizeFromAspectRatio;\n const testContainer = {\n clientWidth: 640,\n clientHeight: 480\n };\n\n it('should return an empty object when width and aspectratio are not strings', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {width: 100})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:2', width: 100})).to.deep.equal({});\n });\n\n it('should return an empty object when aspectratio is malformed', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '0.5', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1-2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: ':2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: ':', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:2:3', width: '100%'})).to.deep.equal({});\n });\n\n it('should return an empty object when player container cannot be obtained', function () {\n expect(getPlayerSizeFromAspectRatio({}, {aspectratio: '1:2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => undefined }, {aspectratio: '1:2', width: '100%'})).to.deep.equal({});\n });\n\n it('should calculate the size given the width percentage and aspect ratio', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '2:1', width: '100%'})).to.deep.equal({ height: 320, width: 640 });\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '4:1', width: '70%'})).to.deep.equal({ height: 112, width: 448 });\n });\n\n it('should return the container height when smaller than the calculated height', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:1', width: '100%'})).to.deep.equal({ height: 480, width: 640 });\n });\n });\n\n describe('getSkipParams', function () {\n const getSkipParams = utils.getSkipParams;\n\n it('should return an empty object when skip is not configured', function () {\n const skipParams = getSkipParams({});\n expect(skipParams).to.be.empty;\n });\n\n it('should set skip to false when explicitly configured', function () {\n const skipParams = getSkipParams({\n skipoffset: -1\n });\n expect(skipParams.skip).to.be.equal(0);\n expect(skipParams.skipmin).to.be.undefined;\n expect(skipParams.skipafter).to.be.undefined;\n });\n\n it('should be skippable when skip offset is set', function () {\n const skipOffset = 3;\n const skipParams = getSkipParams({\n skipoffset: skipOffset\n });\n expect(skipParams.skip).to.be.equal(1);\n expect(skipParams.skipmin).to.be.equal(skipOffset + 2);\n expect(skipParams.skipafter).to.be.equal(skipOffset);\n });\n });\n\n describe('getSupportedMediaTypes', function () {\n const getSupportedMediaTypes = utils.getSupportedMediaTypes;\n\n it('should always support VPAID', function () {\n let supportedMediaTypes = getSupportedMediaTypes([]);\n expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);\n\n supportedMediaTypes = getSupportedMediaTypes([VIDEO_MIME_TYPE.MP4]);\n expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);\n });\n });\n\n describe('getPlacement', function () {\n const getPlacement = utils.getPlacement;\n\n it('should be INSTREAM when not configured for outstream', function () {\n let adConfig = {};\n let placement = getPlacement(adConfig);\n expect(placement).to.be.equal(PLACEMENT.INSTREAM);\n\n adConfig = { outstream: false };\n placement = getPlacement(adConfig);\n expect(placement).to.be.equal(PLACEMENT.INSTREAM);\n });\n\n it('should be FLOATING when player is floating', function () {\n const player = getPlayerMock();\n player.getFloating = () => true;\n const placement = getPlacement({outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.FLOATING);\n });\n\n it('should be the value defined in the ad config', function () {\n const player = getPlayerMock();\n player.getFloating = () => false;\n\n let placement = getPlacement({placement: 'banner', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.BANNER);\n\n placement = getPlacement({placement: 'article', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.ARTICLE);\n\n placement = getPlacement({placement: 'feed', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.FEED);\n\n placement = getPlacement({placement: 'interstitial', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.INTERSTITIAL);\n\n placement = getPlacement({placement: 'slider', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.SLIDER);\n });\n\n it('should be undefined when undetermined', function () {\n const placement = getPlacement({ outstream: true }, getPlayerMock());\n expect(placement).to.be.undefined;\n });\n });\n\n describe('getPlaybackMethod', function() {\n const getPlaybackMethod = utils.getPlaybackMethod;\n\n it('should return autoplay with sound', function() {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n mute: false\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY);\n });\n\n it('should return autoplay muted', function() {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n mute: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);\n });\n\n it('should treat autoplayAdsMuted as mute', function () {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n autoplayAdsMuted: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);\n });\n\n it('should return click to play', function() {\n let playbackMethod = getPlaybackMethod({ autoplay: false });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n\n playbackMethod = getPlaybackMethod({\n autoplay: false,\n autoplayAdsMuted: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n\n playbackMethod = getPlaybackMethod({\n autoplay: false,\n mute: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n });\n });\n\n describe('isOmidSupported', function () {\n const isOmidSupported = utils.isOmidSupported;\n const initialOmidSessionClient = window.OmidSessionClient;\n afterEach(() => {\n window.OmidSessionClient = initialOmidSessionClient;\n });\n\n it('should be true when Omid is loaded and client is VAST', function () {\n window.OmidSessionClient = {};\n expect(isOmidSupported('vast')).to.be.true;\n });\n\n it('should be false when Omid is not present', function () {\n expect(isOmidSupported('vast')).to.be.false;\n });\n\n it('should be false when client is not Vast', function () {\n window.OmidSessionClient = {};\n expect(isOmidSupported('googima')).to.be.false;\n expect(isOmidSupported('freewheel')).to.be.false;\n expect(isOmidSupported('googimadai')).to.be.false;\n expect(isOmidSupported('')).to.be.false;\n expect(isOmidSupported(null)).to.be.false;\n expect(isOmidSupported()).to.be.false;\n });\n });\n\n describe('getIsoLanguageCode', function () {\n const sampleAudioTracks = [{language: 'ht'}, {language: 'fr'}, {language: 'es'}, {language: 'pt'}];\n\n it('should return undefined when audio tracks are unavailable', function () {\n const player = getPlayerMock();\n let languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n player.getAudioTracks = () => [];\n languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns undefined', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns null', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => null;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns -1', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => -1;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the right audio track language code', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => 2;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('es');\n });\n });\n\n describe('getJwEvent', function () {\n const getJwEvent = utils.getJwEvent;\n it('should map known events', function () {\n expect(getJwEvent(SETUP_COMPLETE)).to.equal('ready');\n expect(getJwEvent(SEEK_END)).to.equal('seeked');\n expect(getJwEvent(AD_STARTED)).to.equal(AD_IMPRESSION);\n });\n\n it('should return event name when not mapped', function () {\n expect(getJwEvent('custom')).to.equal('custom');\n });\n });\n\n describe('getSegments', function () {\n const getSegments = utils.getSegments;\n it('should return undefined for empty input', function () {\n expect(getSegments()).to.be.undefined;\n expect(getSegments([])).to.be.undefined;\n });\n\n it('should convert segments to objects', function () {\n const segs = ['a', 'b'];\n expect(getSegments(segs)).to.deep.equal([\n {id: 'a'},\n {id: 'b'}\n ]);\n });\n });\n\n describe('getContentDatum', function () {\n const getContentDatum = utils.getContentDatum;\n it('should return undefined when no data provided', function () {\n expect(getContentDatum()).to.be.undefined;\n });\n\n it('should set media id and segments', function () {\n const segments = [{id: 'x'}];\n expect(getContentDatum('id1', segments)).to.deep.equal({\n name: 'jwplayer.com',\n segment: segments,\n ext: { cids: ['id1'], segtax: 502 }\n });\n });\n\n it('should set only media id when segments missing', function () {\n expect(getContentDatum('id2')).to.deep.equal({\n name: 'jwplayer.com',\n ext: { cids: ['id2'] }\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"jwplayerVideoProvider_spec.js","names":["JWPlayerProvider","adStateFactory","timeStateFactory","callbackStorageFactory","utils","PROTOCOLS","API_FRAMEWORKS","VIDEO_MIME_TYPE","PLAYBACK_METHODS","PLACEMENT","VPAID_MIME_TYPE","AD_POSITION","JWPLAYER_VENDOR","SETUP_COMPLETE","SETUP_FAILED","DESTROYED","AD_REQUEST","AD_BREAK_START","AD_LOADED","AD_STARTED","AD_IMPRESSION","AD_PLAY","AD_TIME","AD_PAUSE","AD_CLICK","AD_SKIPPED","AD_ERROR","AD_COMPLETE","AD_BREAK_END","PLAYLIST","PLAYBACK_REQUEST","AUTOSTART_BLOCKED","PLAY_ATTEMPT_FAILED","CONTENT_LOADED","PLAY","PAUSE","BUFFER","TIME","SEEK_START","SEEK_END","MUTE","VOLUME","RENDITION_UPDATE","ERROR","COMPLETE","PLAYLIST_COMPLETE","FULLSCREEN","PLAYER_RESIZE","VIEWABLE","CAST","videoEvents","PLAYBACK_MODE","getPlayerMock","makePlayerFactoryMock","getState","setup","getViewable","getPercentViewable","getMute","getVolume","getConfig","getHeight","getContainer","getWidth","getFullscreen","getPlaylistItem","getDuration","playAd","loadAdXml","on","eventName","handler","off","remove","getAudioTracks","getCurrentAudioTrack","getPlugin","getFloating","playerMock_","playerFactory","version","getUtilsMock","getJwConfig","getPlayerHeight","getPlayerWidth","getPlayerSizeFromAspectRatio","getSupportedMediaTypes","getStartDelay","getPlacement","getPlaybackMethod","isOmidSupported","getSkipParams","getJwEvent","getIsoLanguageCode","getSegments","getContentDatum","sharedUtils","addDiv","div","document","createElement","setAttribute","body","appendChild","removeDiv","getElementById","describe","beforeEach","afterEach","config","adState","timeState","callbackStorage","utilsMock","divId","it","provider","setupFailed","sinon","spy","onEvent","init","expect","calledOnce","to","be","true","payload","args","errorCode","equal","jwplayerMock","player","playerConfig","setupSpy","setupComplete","setupComplete2","called","false","undefined","getId","test_media_type","MP4","test_height","test_width","test_start_delay","test_placement","ARTICLE","test_battr","test_playback_method","CLICK_TO_PLAY","test_skip","advertising","battr","skip","video","getOrtbVideo","mimes","include","protocols","members","VAST_2_0","VAST_3_0","VAST_4_0","VAST_2_0_WRAPPER","VAST_3_0_WRAPPER","VAST_4_0_WRAPPER","h","w","startdelay","placement","maxextended","boxingallowed","playbackmethod","playbackend","api","have","length","VPAID_2_0","OMID_1_0","pos","not","property","test_item","mediaid","file","title","iabCategories","tags","test_duration","test_playback_mode","VOD","duration","playbackMode","content","getOrtbContent","id","url","cat","keywords","len","livestream","LIVE","DVR","playAdSpy","setAdTagUrl","argument","loadSpy","setAdXml","xml","options","foo","calledOnceWith","onSpy","callback","offSpy","offEvent","type","eventHandler","mockEvent","tag","adTagUrl","clearState","adPosition","offset","expectedAdState","vastAdId","skipmin","skipafter","updateForEvent","updateState","skipoffset","deep","expectedTimeState","time","position","sourceError","Error","adErrorCode","code","message","playerErrorCode","vastErrorCode","errorMessage","autostart","playlist","playlistItemCount","playReason","error","item","description","index","contentId","contentUrl","playlistIndex","contentTags","destination","seekStartCallback","seekStartOnSpy","seekStartHandler","mute","volume","volumePercentage","bitrate","level","width","height","frameRate","videoReportedBitrate","audioReportedBitrate","encodedVideoWidth","encodedVideoHeight","videoFramerate","fullscreen","viewable","viewabilityPercentage","active","casting","removeSpy","destroy","calledTwice","result","an","aspectratio","clientWidth","clientHeight","INSTREAM","adXml","timeLoading","adsystem","adtitle","advertiserId","advertiser","dealId","linear","vastversion","mediaFile","adId","universalAdId","creativeAdId","creativetype","clickThroughUrl","witem","wcount","podcount","sequence","state","loadTime","adDescription","adServer","adTitle","vastVersion","creativeUrl","creativeId","creativeType","redirectUrl","adPlacementType","waterfallIndex","waterfallCount","adPodCount","adPodIndex","BANNER","FEED","INTERSTITIAL","SLIDER","FLOATING","null","mockImaAd","ad","a","adWrapperIds","client","ima","wrapperAdIds","clearStorage","callback1","eventHandler1","storeCallback","callback2","eventHandler2","callback3","getCallback","jwplayerSubmoduleFactory","require","default","vendorCode","config1","config2","provider1","provider2","originalJwplayer","window","jwplayer","mockJwplayer","jwConfig","params","vendorConfig","test","test_2","autoStart","licenseKey","key","setupAds","outstream","source","bids","prebid","existing","expectedHeight","playerMock","expectedWidth","testContainer","skipParams","empty","skipOffset","supportedMediaTypes","mockVideo","originalCanPlayType","canPlayType","WEBM","originalCreateElement","tagName","call","OGG","adConfig","playbackMethod","autoplay","AUTOPLAY","AUTOPLAY_MUTED","autoplayAdsMuted","initialOmidSessionClient","OmidSessionClient","sampleAudioTracks","language","languageCode","segs","segments","name","segment","cids","ext","segtax"],"sourceRoot":"../../../../../../..","sources":["test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js"],"sourcesContent":["import {\n JWPlayerProvider,\n adStateFactory,\n timeStateFactory,\n callbackStorageFactory,\n utils\n} from 'modules/jwplayerVideoProvider';\n\nimport {\n PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE, AD_POSITION\n} from 'libraries/video/constants/ortb.js';\n\nimport { JWPLAYER_VENDOR } from 'libraries/video/constants/vendorCodes.js';\n\nimport {\n SETUP_COMPLETE, SETUP_FAILED, DESTROYED, AD_REQUEST, AD_BREAK_START, AD_LOADED, AD_STARTED, AD_IMPRESSION, AD_PLAY,\n AD_TIME, AD_PAUSE, AD_CLICK, AD_SKIPPED, AD_ERROR, AD_COMPLETE, AD_BREAK_END, PLAYLIST, PLAYBACK_REQUEST,\n AUTOSTART_BLOCKED, PLAY_ATTEMPT_FAILED, CONTENT_LOADED, PLAY, PAUSE, BUFFER, TIME, SEEK_START, SEEK_END, MUTE, VOLUME,\n RENDITION_UPDATE, ERROR, COMPLETE, PLAYLIST_COMPLETE, FULLSCREEN, PLAYER_RESIZE, VIEWABLE, CAST, videoEvents\n} from 'libraries/video/constants/events.js';\n\nimport { PLAYBACK_MODE } from 'libraries/video/constants/constants.js';\n\nfunction getPlayerMock() {\n return makePlayerFactoryMock({\n getState: function () {},\n setup: function () { return this; },\n getViewable: function () {},\n getPercentViewable: function () {},\n getMute: function () {},\n getVolume: function () {},\n getConfig: function () {},\n getHeight: function () {},\n getContainer: function () {},\n getWidth: function () {},\n getFullscreen: function () {},\n getPlaylistItem: function () {},\n getDuration: function () {},\n playAd: function () {},\n loadAdXml: function () {},\n on: function (eventName, handler) {\n return this;\n },\n off: function () { return this; },\n remove: function () {},\n getAudioTracks: function () {},\n getCurrentAudioTrack: function () {},\n getPlugin: function () {},\n getFloating: function () {}\n })();\n}\n\nfunction makePlayerFactoryMock(playerMock_) {\n const playerFactory = function () {\n return playerMock_;\n }\n playerFactory.version = '8.21.0';\n return playerFactory;\n}\n\nfunction getUtilsMock() {\n return {\n getJwConfig: function () {},\n getPlayerHeight: function () {},\n getPlayerWidth: function () {},\n getPlayerSizeFromAspectRatio: function () {},\n getSupportedMediaTypes: function () {},\n getStartDelay: function () {},\n getPlacement: function () {},\n getPlaybackMethod: function () {},\n isOmidSupported: function () {},\n getSkipParams: function () {},\n getJwEvent: utils.getJwEvent,\n getIsoLanguageCode: function () {},\n getSegments: function () {},\n getContentDatum: function () {}\n };\n}\n\nconst sharedUtils = { videoEvents };\n\nfunction addDiv() {\n const div = document.createElement('div');\n div.setAttribute('id', 'test');\n document.body.appendChild(div);\n}\n\nfunction removeDiv() {\n const div = document.getElementById('test');\n if (div) {\n div.remove();\n }\n}\n\ndescribe('JWPlayerProvider', function () {\n beforeEach(() => {\n addDiv();\n });\n\n afterEach(() => {\n removeDiv();\n });\n\n describe('init', function () {\n let config;\n let adState;\n let timeState;\n let callbackStorage;\n let utilsMock;\n\n beforeEach(() => {\n config = { divId: 'test' };\n adState = adStateFactory();\n timeState = timeStateFactory();\n callbackStorage = callbackStorageFactory();\n utilsMock = getUtilsMock();\n });\n\n it('should trigger failure when jwplayer is missing', function () {\n const provider = JWPlayerProvider(config, null, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-1);\n });\n\n it('should trigger failure when jwplayer version is under min supported version', function () {\n const jwplayerMock = () => {};\n jwplayerMock.version = '8.20.0';\n const provider = JWPlayerProvider(config, jwplayerMock, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-2);\n });\n\n it('should trigger failure when div is missing', function () {\n removeDiv();\n const jwplayerMock = () => {};\n const provider = JWPlayerProvider(config, jwplayerMock, adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-3);\n addDiv();\n addDiv();\n });\n\n it('should instantiate the player when uninstantiated', function () {\n const player = getPlayerMock();\n config.playerConfig = {};\n const setupSpy = player.setup = sinon.spy(player.setup);\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n provider.init();\n expect(setupSpy.calledOnce).to.be.true;\n });\n\n it('should trigger setup complete when player is already instantiated', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupComplete = sinon.spy();\n provider.onEvent(SETUP_COMPLETE, setupComplete, {});\n provider.init();\n expect(setupComplete.calledOnce).to.be.true;\n });\n\n it('should support multiple setup complete event handlers', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n const setupComplete = sinon.spy();\n const setupComplete2 = sinon.spy();\n provider.onEvent(SETUP_COMPLETE, setupComplete, {});\n provider.onEvent(SETUP_COMPLETE, setupComplete2, {});\n provider.init();\n expect(setupComplete.calledOnce).to.be.true;\n expect(setupComplete2.calledOnce).to.be.true;\n });\n\n it('should not reinstantiate player', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const setupSpy = player.setup = sinon.spy();\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);\n provider.init();\n expect(setupSpy.called).to.be.false;\n });\n });\n\n describe('getId', function () {\n it('should return configured div id', function () {\n const provider = JWPlayerProvider({ divId: 'test_id' }, undefined, undefined, undefined, undefined, undefined, sharedUtils);\n expect(provider.getId()).to.be.equal('test_id');\n });\n });\n\n describe('getOrtbVideo', function () {\n it('should populate oRTB Video params', function () {\n const test_media_type = VIDEO_MIME_TYPE.MP4;\n const test_height = 100;\n const test_width = 200;\n const test_start_delay = 5;\n const test_placement = PLACEMENT.ARTICLE;\n const test_battr = 'battr';\n const test_playback_method = PLAYBACK_METHODS.CLICK_TO_PLAY;\n const test_skip = 0;\n\n const config = { divId: 'test' };\n const player = getPlayerMock();\n const utils = getUtilsMock();\n\n player.getConfig = () => ({\n advertising: {\n battr: test_battr\n }\n });\n player.getHeight = () => test_height;\n player.getWidth = () => test_width;\n player.getFullscreen = () => true; //\n\n utils.getPlayerHeight = () => 100;\n utils.getPlayerWidth = () => 200;\n utils.getSupportedMediaTypes = () => [test_media_type];\n utils.getStartDelay = () => test_start_delay;\n utils.getPlacement = () => test_placement;\n utils.getPlaybackMethod = () => test_playback_method;\n utils.isOmidSupported = () => true; //\n utils.getSkipParams = () => ({ skip: test_skip });\n\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), {}, {}, utils, sharedUtils);\n provider.init();\n let video = provider.getOrtbVideo();\n\n expect(video.mimes).to.include(VIDEO_MIME_TYPE.MP4);\n expect(video.protocols).to.include.members([\n PROTOCOLS.VAST_2_0,\n PROTOCOLS.VAST_3_0,\n PROTOCOLS.VAST_4_0,\n PROTOCOLS.VAST_2_0_WRAPPER,\n PROTOCOLS.VAST_3_0_WRAPPER,\n PROTOCOLS.VAST_4_0_WRAPPER\n ]);\n expect(video.h).to.equal(test_height);\n expect(video.w).to.equal(test_width);\n expect(video.startdelay).to.equal(test_start_delay);\n expect(video.placement).to.equal(test_placement);\n expect(video.battr).to.equal(test_battr);\n expect(video.maxextended).to.equal(-1);\n expect(video.boxingallowed).to.equal(1);\n expect(video.playbackmethod).to.include(test_playback_method);\n expect(video.playbackend).to.equal(1);\n expect(video.api).to.have.length(2);\n expect(video.api).to.include.members([API_FRAMEWORKS.VPAID_2_0, API_FRAMEWORKS.OMID_1_0]); //\n expect(video.skip).to.equal(test_skip);\n expect(video.pos).to.equal(7); //\n\n player.getFullscreen = () => false;\n utils.isOmidSupported = () => false;\n\n video = provider.getOrtbVideo();\n expect(video).to.not.have.property('pos');\n expect(video.api).to.have.length(1);\n expect(video.api).to.include(API_FRAMEWORKS.VPAID_2_0);\n expect(video.api).to.not.include(API_FRAMEWORKS.OMID_1_0);\n });\n });\n\n describe('getOrtbContent', function () {\n it('should populate oRTB Content params', function () {\n const test_item = {\n mediaid: 'id',\n file: 'file',\n title: 'title',\n iabCategories: 'iabCategories',\n tags: 'keywords',\n };\n const test_duration = 30;\n let test_playback_mode = PLAYBACK_MODE.VOD;//\n\n const player = getPlayerMock();\n player.getPlaylistItem = () => test_item;\n const utils = getUtilsMock();\n\n const timeState = {\n getState: () => ({\n duration: test_duration,\n playbackMode: test_playback_mode\n })\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, {}, utils, sharedUtils);\n provider.init();\n\n let content = provider.getOrtbContent();\n expect(content.id).to.be.equal('jw_' + test_item.mediaid);\n expect(content.url).to.be.equal(test_item.file);\n expect(content.title).to.be.equal(test_item.title);\n expect(content.cat).to.be.equal(test_item.iabCategories);\n expect(content.keywords).to.be.equal(test_item.tags);\n expect(content.len).to.be.equal(test_duration);\n expect(content.livestream).to.be.equal(0);//\n\n test_playback_mode = PLAYBACK_MODE.LIVE;\n\n content = provider.getOrtbContent();\n expect(content.livestream).to.be.equal(1);\n\n test_playback_mode = PLAYBACK_MODE.DVR;\n\n content = provider.getOrtbContent();\n expect(content.livestream).to.be.equal(1);\n });\n });\n\n describe('setAdTagUrl', function () {\n it('should call playAd', function () {\n const player = getPlayerMock();\n const playAdSpy = player.playAd = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n provider.setAdTagUrl('tag');\n expect(playAdSpy.called).to.be.true;\n const argument = playAdSpy.args[0][0];\n expect(argument).to.be.equal('tag');\n });\n });\n\n describe('setAdXml', function () {\n it('should not call loadAdXml when xml is missing', function () {\n const player = getPlayerMock();\n const loadSpy = player.loadAdXml = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n provider.setAdXml();\n expect(loadSpy.called).to.be.false;\n });\n\n it('should call loadAdXml with xml and options', function () {\n const player = getPlayerMock();\n const loadSpy = player.loadAdXml = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);\n provider.init();\n const xml = '<VAST></VAST>';\n const options = {foo: 'bar'};\n provider.setAdXml(xml, options);\n expect(loadSpy.calledOnceWith(xml, options)).to.be.true;\n });\n });\n\n describe('events', function () {\n it('should register event listener on player', function () {\n const player = getPlayerMock();\n const onSpy = player.on = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = () => {};\n provider.onEvent(PLAY, callback, {});\n expect(onSpy.calledOnce).to.be.true;\n const eventName = onSpy.args[0][0];\n expect(eventName).to.be.equal('play');\n });\n\n it('should remove event listener on player', function () {\n const player = getPlayerMock();\n const offSpy = player.off = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const callback = () => {};\n provider.onEvent(AD_IMPRESSION, callback, {});\n provider.offEvent(AD_IMPRESSION, callback);\n expect(offSpy.calledOnce).to.be.true;\n const eventName = offSpy.args[0][0];\n expect(eventName).to.be.equal('adViewableImpression');\n });\n\n it('should handle setup complete callbacks', function () {\n const player = getPlayerMock();\n player.getState = () => 'idle';\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n const setupComplete = sinon.spy();\n provider.onEvent(SETUP_COMPLETE, setupComplete, {});\n provider.init();\n expect(setupComplete.calledOnce).to.be.true;\n const payload = setupComplete.args[0][1];\n expect(payload.type).to.be.equal(SETUP_COMPLETE);\n expect(payload.divId).to.be.equal('test');\n });\n\n it('should handle setup failed callbacks', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.type).to.be.equal(SETUP_FAILED);\n expect(payload.divId).to.be.equal('test');\n });\n\n it('should not throw when onEvent is called and player is null', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n const callback = () => {};\n provider.onEvent(PLAY, callback, {});\n });\n\n it('should handle AD_REQUEST event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(AD_REQUEST, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_REQUEST); // event name\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { tag: 'test-ad-tag' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.adTagUrl).to.be.equal('test-ad-tag');\n });\n\n it('should handle AD_BREAK_START event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const timeState = {\n clearState: sinon.spy(),\n getState: () => ({})\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(AD_BREAK_START, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_BREAK_START);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { adPosition: 'pre' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.offset).to.be.equal('pre');\n });\n\n it('should handle AD_LOADED event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const expectedAdState = {\n adTagUrl: 'test-ad-tag',\n vastAdId: 'ad-123',\n skip: 1,\n skipmin: 7,\n skipafter: 5\n };\n\n const adState = {\n updateForEvent: sinon.spy(),\n updateState: sinon.spy(),\n getState: () => expectedAdState\n };\n\n player.getConfig = () => ({ advertising: { skipoffset: 5 } });\n\n const utils = getUtilsMock();\n utils.getSkipParams = () => ({ skip: 1, skipmin: 7, skipafter: 5 });\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(AD_LOADED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_LOADED);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { tag: 'test-ad-tag', id: 'ad-123' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload).to.deep.equal(expectedAdState);\n });\n\n it('should handle AD_STARTED event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const expectedAdState = {\n adTagUrl: 'test-ad-tag',\n vastAdId: 'ad-123'\n };\n\n const adState = {\n getState: () => expectedAdState\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(AD_STARTED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_IMPRESSION); // AD_STARTED maps to AD_IMPRESSION\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n eventHandler({});\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload).to.deep.equal(expectedAdState);\n });\n\n it('should handle AD_IMPRESSION event payload', function () {\n const player = getPlayerMock();\n\n const expectedAdState = {\n adTagUrl: 'test-ad-tag',\n vastAdId: 'ad-123'\n };\n\n const expectedTimeState = {\n time: 15,\n duration: 30\n };\n\n const adState = {\n getState: () => expectedAdState\n };\n\n const timeState = {\n getState: () => expectedTimeState\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_IMPRESSION, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('adViewableImpression'); // AD_IMPRESSION maps to 'adViewableImpression'\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n eventHandler({});\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload).to.deep.equal({ ...expectedAdState, ...expectedTimeState });\n });\n\n it('should handle AD_TIME event payload', function () {\n const player = getPlayerMock();\n\n const timeState = {\n updateForEvent: sinon.spy(),\n getState: () => ({})\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_TIME, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_TIME);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { tag: 'test-ad-tag', position: 10, duration: 30 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.adTagUrl).to.be.equal('test-ad-tag');\n expect(payload.time).to.be.equal(10);\n expect(payload.duration).to.be.equal(30);\n });\n\n it('should handle AD_SKIPPED event payload', function () {\n const player = getPlayerMock();\n\n const adState = {\n clearState: sinon.spy()\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_SKIPPED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_SKIPPED);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { position: 15, duration: 30 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.time).to.be.equal(15);\n expect(payload.duration).to.be.equal(30);\n });\n\n it('should handle AD_ERROR event payload', function () {\n const player = getPlayerMock();\n\n const expectedAdState = {\n adTagUrl: 'test-ad-tag',\n vastAdId: 'ad-123'\n };\n\n const expectedTimeState = {\n time: 15,\n duration: 30\n };\n\n const adState = {\n clearState: sinon.spy(),\n getState: () => expectedAdState\n };\n\n const timeState = {\n getState: () => expectedTimeState\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_ERROR, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_ERROR);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = {\n sourceError: new Error('Player Ad error'),\n adErrorCode: 2001,\n code: 3001,\n message: 'Ad playback error occurred'\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.sourceError).to.be.equal(mockEvent.sourceError);\n expect(payload.playerErrorCode).to.be.equal(2001);\n expect(payload.vastErrorCode).to.be.equal(3001);\n expect(payload.errorMessage).to.be.equal('Ad playback error occurred');\n expect(payload.adTagUrl).to.be.equal('test-ad-tag');\n expect(payload.vastAdId).to.be.equal('ad-123');\n expect(payload.time).to.be.equal(15);\n expect(payload.duration).to.be.equal(30);\n });\n\n it('should handle AD_COMPLETE event payload', function () {\n const player = getPlayerMock();\n\n const adState = {\n clearState: sinon.spy()\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_COMPLETE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_COMPLETE);\n\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { tag: 'test-ad-tag' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.adTagUrl).to.be.equal('test-ad-tag');\n });\n\n it('should handle AD_BREAK_END event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(AD_BREAK_END, callback, {});\n\n // Verify player.on was called\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(AD_BREAK_END);\n\n // Get the event handler that was passed to player.on\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { adPosition: 'post' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.offset).to.be.equal('post');\n });\n\n it('should handle PLAYLIST event payload', function () {\n const player = getPlayerMock();\n player.getConfig = () => ({ autostart: true });\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(PLAYLIST, callback, {});\n\n // Verify player.on was called\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(PLAYLIST);\n\n // Get the event handler that was passed to player.on\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { playlist: [{}, {}, {}] };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.playlistItemCount).to.be.equal(3);\n expect(payload.autostart).to.be.true;\n });\n\n it('should handle PLAYBACK_REQUEST event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(PLAYBACK_REQUEST, callback, {});\n\n // Verify player.on was called\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('playAttempt'); // PLAYBACK_REQUEST maps to 'playAttempt'\n\n // Get the event handler that was passed to player.on\n const eventHandler = onSpy.args[0][1];\n\n // Simulate the player calling the event handler\n const mockEvent = { playReason: 'user-interaction' };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.playReason).to.be.equal('user-interaction');\n });\n\n it('should handle AUTOSTART_BLOCKED event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(AUTOSTART_BLOCKED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('autostartNotAllowed'); // AUTOSTART_BLOCKED maps to 'autostartNotAllowed'\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = {\n error: new Error('Autostart blocked'),\n code: 1001,\n message: 'User interaction required'\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.sourceError).to.be.equal(mockEvent.error);\n expect(payload.errorCode).to.be.equal(1001);\n expect(payload.errorMessage).to.be.equal('User interaction required');\n });\n\n it('should handle PLAY_ATTEMPT_FAILED event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(PLAY_ATTEMPT_FAILED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(PLAY_ATTEMPT_FAILED);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = {\n playReason: 'autoplay',\n sourceError: new Error('Play failed'),\n code: 2001,\n message: 'Media not supported'\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.playReason).to.be.equal('autoplay');\n expect(payload.sourceError).to.be.equal(mockEvent.sourceError);\n expect(payload.errorCode).to.be.equal(2001);\n expect(payload.errorMessage).to.be.equal('Media not supported');\n });\n\n it('should handle CONTENT_LOADED event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(CONTENT_LOADED, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('playlistItem'); // CONTENT_LOADED maps to 'playlistItem'\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = {\n item: {\n mediaid: 'content-123',\n file: 'video.mp4',\n title: 'Test Video',\n description: 'Test Description',\n tags: ['tag1', 'tag2']\n },\n index: 0\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.contentId).to.be.equal('content-123');\n expect(payload.contentUrl).to.be.equal('video.mp4');\n expect(payload.title).to.be.equal('Test Video');\n expect(payload.description).to.be.equal('Test Description');\n expect(payload.playlistIndex).to.be.equal(0);\n expect(payload.contentTags).to.deep.equal(['tag1', 'tag2']);\n });\n\n it('should handle BUFFER event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const expectedTimeState = {\n time: 15,\n duration: 30\n };\n\n const timeState = {\n getState: () => expectedTimeState\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(BUFFER, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(BUFFER);\n\n const eventHandler = onSpy.args[0][1];\n eventHandler({});\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload).to.deep.equal(expectedTimeState);\n });\n\n it('should handle TIME event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const timeState = {\n updateForEvent: sinon.spy(),\n getState: () => ({})\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(TIME, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(TIME);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { position: 25, duration: 120 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.position).to.be.equal(25);\n expect(payload.duration).to.be.equal(120);\n });\n\n it('should handle SEEK_START event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(SEEK_START, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('seek'); // SEEK_START maps to 'seek'\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { position: 10, offset: 30, duration: 120 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.position).to.be.equal(10);\n expect(payload.destination).to.be.equal(30);\n expect(payload.duration).to.be.equal(120);\n });\n\n it('should handle SEEK_END event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(SEEK_END, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('seeked'); // SEEK_END maps to 'seeked'\n\n const eventHandler = onSpy.args[0][1];\n\n // First trigger a seek start to set pendingSeek\n const seekStartCallback = sinon.spy();\n const seekStartOnSpy = sinon.spy();\n player.on = seekStartOnSpy;\n provider.onEvent(SEEK_START, seekStartCallback, {});\n const seekStartHandler = seekStartOnSpy.args[0][1];\n seekStartHandler({ position: 10, offset: 30, duration: 120 });\n\n // Now trigger seek end\n eventHandler({});\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.position).to.be.equal(30);\n expect(payload.duration).to.be.equal(120);\n });\n\n it('should handle MUTE event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(MUTE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(MUTE);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { mute: true };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.mute).to.be.true;\n });\n\n it('should handle VOLUME event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(VOLUME, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(VOLUME);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { volume: 75 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.volumePercentage).to.be.equal(75);\n });\n\n it('should handle RENDITION_UPDATE event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(RENDITION_UPDATE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('visualQuality'); // RENDITION_UPDATE maps to 'visualQuality'\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = {\n bitrate: 2000000,\n level: { width: 1920, height: 1080 },\n frameRate: 30\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.videoReportedBitrate).to.be.equal(2000000);\n expect(payload.audioReportedBitrate).to.be.equal(2000000);\n expect(payload.encodedVideoWidth).to.be.equal(1920);\n expect(payload.encodedVideoHeight).to.be.equal(1080);\n expect(payload.videoFramerate).to.be.equal(30);\n });\n\n it('should handle ERROR event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(ERROR, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(ERROR);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = {\n sourceError: new Error('Player error'),\n code: 3001,\n message: 'Media error occurred'\n };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.sourceError).to.be.equal(mockEvent.sourceError);\n expect(payload.errorCode).to.be.equal(3001);\n expect(payload.errorMessage).to.be.equal('Media error occurred');\n });\n\n it('should handle COMPLETE event payload', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n const timeState = {\n clearState: sinon.spy()\n };\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent(COMPLETE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(COMPLETE);\n\n const eventHandler = onSpy.args[0][1];\n eventHandler({});\n\n expect(callback.calledOnce).to.be.true;\n });\n\n it('should handle FULLSCREEN event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(FULLSCREEN, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(FULLSCREEN);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { fullscreen: true };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.fullscreen).to.be.true;\n });\n\n it('should handle PLAYER_RESIZE event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(PLAYER_RESIZE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal('resize'); // PLAYER_RESIZE maps to 'resize'\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { height: 480, width: 640 };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.height).to.be.equal(480);\n expect(payload.width).to.be.equal(640);\n });\n\n it('should handle VIEWABLE event payload', function () {\n const player = getPlayerMock();\n player.getPercentViewable = () => 0.75;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(VIEWABLE, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(VIEWABLE);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { viewable: true };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.viewable).to.be.true;\n expect(payload.viewabilityPercentage).to.be.equal(75);\n });\n\n it('should handle CAST event payload', function () {\n const player = getPlayerMock();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n\n const onSpy = sinon.spy();\n player.on = onSpy;\n\n provider.onEvent(CAST, callback, {});\n\n expect(onSpy.calledOnce).to.be.true;\n expect(onSpy.args[0][0]).to.equal(CAST);\n\n const eventHandler = onSpy.args[0][1];\n const mockEvent = { active: true };\n eventHandler(mockEvent);\n\n expect(callback.calledOnce).to.be.true;\n const payload = callback.args[0][1];\n expect(payload.casting).to.be.true;\n });\n\n it('should handle unknown events', function () {\n const player = getPlayerMock();\n const onSpy = sinon.spy(player, 'on');\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = sinon.spy();\n provider.onEvent('UNKNOWN_EVENT', callback, {});\n\n expect(onSpy.called).to.be.false;\n });\n\n it('should handle offEvent without callback', function () {\n const player = getPlayerMock();\n const offSpy = player.off = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n provider.offEvent(AD_IMPRESSION);\n expect(offSpy.calledOnce).to.be.true;\n });\n\n it('should handle offEvent with non-existent callback', function () {\n const player = getPlayerMock();\n const offSpy = player.off = sinon.spy();\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const callback = () => {};\n provider.offEvent(AD_IMPRESSION, callback);\n expect(offSpy.called).to.be.false;\n });\n });\n\n describe('destroy', function () {\n it('should remove and null the player', function () {\n const player = getPlayerMock();\n const removeSpy = player.remove = sinon.spy();\n player.remove = removeSpy;\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n provider.destroy();\n provider.destroy();\n expect(removeSpy.calledOnce).to.be.true;\n });\n\n it('should not throw when destroy is called and player is null', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.destroy();\n });\n });\n\n describe('setupPlayer', function () {\n it('should setup player with config', function () {\n const player = getPlayerMock();\n const setupSpy = player.setup = sinon.spy(() => player);\n const onSpy = player.on = sinon.spy(() => player);\n\n const config = { divId: 'test', playerConfig: { file: 'video.mp4' } };\n const utils = getUtilsMock();\n utils.getJwConfig = () => ({ file: 'video.mp4', autostart: false });\n\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n\n expect(setupSpy.calledOnce).to.be.true;\n expect(setupSpy.args[0][0]).to.deep.equal({ file: 'video.mp4', autostart: false });\n expect(onSpy.calledTwice).to.be.true;\n expect(onSpy.args[0][0]).to.be.equal('ready');\n expect(onSpy.args[1][0]).to.be.equal('setupError');\n });\n\n it('should handle setup without config', function () {\n const player = getPlayerMock();\n const setupSpy = player.setup = sinon.spy();\n\n const config = { divId: 'test' };\n const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n\n expect(setupSpy.called).to.be.false;\n });\n });\n\n describe('getOrtbVideo edge cases', function () {\n it('should handle missing player', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n const result = provider.getOrtbVideo();\n expect(result).to.be.undefined;\n });\n\n it('should not throw when missing config', function () {\n const player = getPlayerMock();\n player.getConfig = () => null;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const result = provider.getOrtbVideo();\n expect(result).to.be.an('object');\n });\n\n it('should not throw when missing advertising config', function () {\n const player = getPlayerMock();\n player.getConfig = () => ({});\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const result = provider.getOrtbVideo();\n expect(result).to.be.an('object');\n });\n\n it('should calculate size from aspect ratio when height and width are null', function () {\n const player = getPlayerMock();\n player.getConfig = () => ({\n advertising: { battr: 'test' },\n aspectratio: '16:9',\n width: '100%'\n });\n player.getContainer = () => ({ clientWidth: 800, clientHeight: 600 });\n\n const utils = getUtilsMock();\n utils.getPlayerHeight = () => null;\n utils.getPlayerWidth = () => null;\n utils.getPlayerSizeFromAspectRatio = () => ({ height: 450, width: 800 });\n utils.getSupportedMediaTypes = () => [VIDEO_MIME_TYPE.MP4];\n utils.getStartDelay = () => 0;\n utils.getPlacement = () => PLACEMENT.INSTREAM;\n utils.getPlaybackMethod = () => PLAYBACK_METHODS.CLICK_TO_PLAY;\n utils.isOmidSupported = () => false;\n utils.getSkipParams = () => ({});\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const result = provider.getOrtbVideo();\n\n expect(result.h).to.be.equal(450);\n expect(result.w).to.be.equal(800);\n });\n });\n\n describe('getOrtbContent edge cases', function () {\n it('should handle missing player', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n const result = provider.getOrtbContent();\n expect(result).to.be.undefined;\n });\n\n it('should handle missing playlist item', function () {\n const player = getPlayerMock();\n player.getPlaylistItem = () => null;\n player.getDuration = () => 120;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const result = provider.getOrtbContent();\n expect(result).to.be.an('object');\n expect(result.url).to.be.undefined;\n expect(result.len).to.be.equal(120);\n });\n\n it('should handle missing duration in timeState', function () {\n const player = getPlayerMock();\n player.getPlaylistItem = () => ({ mediaid: 'test' });\n player.getDuration = () => 120;\n\n const timeState = timeStateFactory();\n timeState.getState = () => ({ duration: undefined });\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const result = provider.getOrtbContent();\n\n expect(result.len).to.be.equal(120);\n });\n\n it('should handle missing mediaId', function () {\n const player = getPlayerMock();\n player.getPlaylistItem = () => ({ file: 'video.mp4' });\n\n const timeState = timeStateFactory();\n timeState.getState = () => ({ duration: 120 });\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const result = provider.getOrtbContent();\n\n expect(result).to.not.have.property('id');\n });\n\n it('should handle missing jwpseg', function () {\n const player = getPlayerMock();\n player.getPlaylistItem = () => ({ mediaid: 'test', file: 'video.mp4' });\n\n const timeState = timeStateFactory();\n timeState.getState = () => ({ duration: 120 });\n\n const utils = getUtilsMock();\n utils.getSegments = () => undefined;\n utils.getContentDatum = () => undefined;\n utils.getIsoLanguageCode = () => undefined;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const result = provider.getOrtbContent();\n\n expect(result).to.not.have.property('data');\n });\n\n it('should handle missing language', function () {\n const player = getPlayerMock();\n player.getPlaylistItem = () => ({ mediaid: 'test', file: 'video.mp4' });\n\n const timeState = timeStateFactory();\n timeState.getState = () => ({ duration: 120 });\n\n const utils = getUtilsMock();\n utils.getSegments = () => undefined;\n utils.getContentDatum = () => undefined;\n utils.getIsoLanguageCode = () => undefined;\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), utils, sharedUtils);\n provider.init();\n const result = provider.getOrtbContent();\n\n expect(result).to.not.have.property('language');\n });\n });\n\n describe('setAdTagUrl edge cases', function () {\n it('should not throw when setAdTagUrl is called and player is null', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.setAdTagUrl('test-url');\n });\n\n it('should handle missing adTagUrl', function () {\n const player = getPlayerMock();\n const playAdSpy = player.playAd = sinon.spy();\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n provider.setAdTagUrl(null, { adXml: 'test-vast' });\n\n expect(playAdSpy.calledOnce).to.be.true;\n expect(playAdSpy.args[0][0]).to.be.equal('test-vast');\n });\n\n it('should pass options to playAd', function () {\n const player = getPlayerMock();\n const playAdSpy = player.playAd = sinon.spy();\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n const options = { adXml: '<VAST></VAST>' };\n provider.setAdTagUrl('test-url', options);\n\n expect(playAdSpy.calledOnce).to.be.true;\n expect(playAdSpy.args[0][0]).to.be.equal('test-url');\n expect(playAdSpy.args[0][1]).to.be.equal(options);\n });\n });\n\n describe('setAdXml edge cases', function () {\n it('should not throw when setAdXml is called and player is null', function () {\n const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.setAdXml('<VAST></VAST>');\n });\n\n it('should handle missing options', function () {\n const player = getPlayerMock();\n const loadSpy = player.loadAdXml = sinon.spy();\n\n const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);\n provider.init();\n provider.setAdXml('<VAST></VAST>');\n\n expect(loadSpy.calledOnce).to.be.true;\n expect(loadSpy.args[0][0]).to.be.equal('<VAST></VAST>');\n expect(loadSpy.args[0][1]).to.be.undefined;\n });\n });\n});\n\ndescribe('adStateFactory', function () {\n let adState = adStateFactory();\n\n beforeEach(() => {\n adState.clearState();\n });\n\n it('should update state for ad events', function () {\n const tag = 'tag';\n const adPosition = 'adPosition';\n const timeLoading = 'timeLoading';\n const id = 'id';\n const description = 'description';\n const adsystem = 'adsystem';\n const adtitle = 'adtitle';\n const advertiserId = 'advertiserId';\n const advertiser = 'advertiser';\n const dealId = 'dealId';\n const linear = 'linear';\n const vastversion = 'vastversion';\n const mediaFile = 'mediaFile';\n const adId = 'adId';\n const universalAdId = 'universalAdId';\n const creativeAdId = 'creativeAdId';\n const creativetype = 'creativetype';\n const clickThroughUrl = 'clickThroughUrl';\n const witem = 'witem';\n const wcount = 'wcount';\n const podcount = 'podcount';\n const sequence = 'sequence';\n\n adState.updateForEvent({\n tag,\n adPosition,\n timeLoading,\n id,\n description,\n adsystem,\n adtitle,\n advertiserId,\n advertiser,\n dealId,\n linear,\n vastversion,\n mediaFile,\n adId,\n universalAdId,\n creativeAdId,\n creativetype,\n clickThroughUrl,\n witem,\n wcount,\n podcount,\n sequence\n });\n\n const state = adState.getState();\n expect(state.adTagUrl).to.equal(tag);\n expect(state.offset).to.equal(adPosition);\n expect(state.loadTime).to.equal(timeLoading);\n expect(state.vastAdId).to.equal(id);\n expect(state.adDescription).to.equal(description);\n expect(state.adServer).to.equal(adsystem);\n expect(state.adTitle).to.equal(adtitle);\n expect(state.advertiserId).to.equal(advertiserId);\n expect(state.dealId).to.equal(dealId);\n expect(state.linear).to.equal(linear);\n expect(state.vastVersion).to.equal(vastversion);\n expect(state.creativeUrl).to.equal(mediaFile);\n expect(state.adId).to.equal(adId);\n expect(state.universalAdId).to.equal(universalAdId);\n expect(state.creativeId).to.equal(creativeAdId);\n expect(state.creativeType).to.equal(creativetype);\n expect(state.redirectUrl).to.equal(clickThroughUrl);\n expect(state).to.have.property('adPlacementType');\n expect(state.adPlacementType).to.be.undefined;\n expect(state.waterfallIndex).to.equal(witem);\n expect(state.waterfallCount).to.equal(wcount);\n expect(state.adPodCount).to.equal(podcount);\n expect(state.adPodIndex).to.equal(sequence);\n });\n\n it('should convert placement to oRTB value', function () {\n adState.updateForEvent({\n placement: 'instream'\n });\n\n let state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.INSTREAM);\n\n adState.updateForEvent({\n placement: 'banner'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.BANNER);\n\n adState.updateForEvent({\n placement: 'article'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.ARTICLE);\n\n adState.updateForEvent({\n placement: 'feed'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.FEED);\n\n adState.updateForEvent({\n placement: 'interstitial'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.INTERSTITIAL);\n\n adState.updateForEvent({\n placement: 'slider'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.SLIDER);\n\n adState.updateForEvent({\n placement: 'floating'\n });\n\n state = adState.getState();\n expect(state.adPlacementType).to.be.equal(PLACEMENT.FLOATING);\n });\n\n it('should handle unknown placement values', function () {\n adState.updateForEvent({\n placement: 'unknown'\n });\n\n const state = adState.getState();\n expect(state.adPlacementType).to.be.undefined;\n });\n\n it('should handle missing placement', function () {\n adState.updateForEvent({});\n\n const state = adState.getState();\n expect(state.adPlacementType).to.be.undefined;\n });\n\n it('should handle partial event data', function () {\n adState.updateForEvent({\n tag: 'test-tag',\n id: 'test-id'\n });\n\n const state = adState.getState();\n expect(state.adTagUrl).to.equal('test-tag');\n expect(state.vastAdId).to.equal('test-id');\n expect(state.adDescription).to.be.undefined;\n expect(state.adServer).to.be.undefined;\n });\n\n it('should handle null and undefined values', function () {\n adState.updateForEvent({\n tag: null,\n id: undefined,\n description: null,\n adsystem: undefined\n });\n\n const state = adState.getState();\n expect(state.adTagUrl).to.be.null;\n expect(state.vastAdId).to.be.undefined;\n expect(state.adDescription).to.be.null;\n expect(state.adServer).to.be.undefined;\n });\n\n it('should handle googima client wrapper ad ids', function () {\n const mockImaAd = {\n ad: {\n a: {\n adWrapperIds: ['wrapper1', 'wrapper2']\n }\n }\n };\n\n adState.updateForEvent({\n client: 'googima',\n ima: mockImaAd\n });\n\n const state = adState.getState();\n expect(state.wrapperAdIds).to.deep.equal(['wrapper1', 'wrapper2']);\n });\n\n it('should handle googima client without wrapper ad ids', function () {\n const mockImaAd = {\n ad: {}\n };\n\n adState.updateForEvent({\n client: 'googima',\n ima: mockImaAd\n });\n\n const state = adState.getState();\n expect(state.wrapperAdIds).to.be.undefined;\n });\n\n it('should handle googima client without ima object', function () {\n adState.updateForEvent({\n client: 'googima'\n });\n\n const state = adState.getState();\n expect(state.wrapperAdIds).to.be.undefined;\n });\n\n it('should support wrapper ad ids for non-googima clients', function () {\n adState.updateForEvent({\n client: 'vast',\n wrapperAdIds: ['existing']\n });\n\n const state = adState.getState();\n expect(state.wrapperAdIds).to.deep.equal(['existing']);\n });\n\n it('should clear state when clearState is called', function () {\n adState.updateForEvent({\n tag: 'test-tag',\n id: 'test-id'\n });\n\n let state = adState.getState();\n expect(state.adTagUrl).to.equal('test-tag');\n expect(state.vastAdId).to.equal('test-id');\n\n adState.clearState();\n state = adState.getState();\n expect(state.adTagUrl).to.be.undefined;\n expect(state.vastAdId).to.be.undefined;\n });\n\n it('should update state with additional properties', function () {\n adState.updateForEvent({\n tag: 'test-tag'\n });\n\n adState.updateState({\n skip: 1,\n skipmin: 5,\n skipafter: 3\n });\n\n const state = adState.getState();\n expect(state.adTagUrl).to.equal('test-tag');\n expect(state.skip).to.equal(1);\n expect(state.skipmin).to.equal(5);\n expect(state.skipafter).to.equal(3);\n });\n});\n\ndescribe('timeStateFactory', function () {\n let timeState = timeStateFactory();\n\n beforeEach(() => {\n timeState.clearState();\n });\n\n it('should update state for VOD time event', function() {\n const position = 5;\n const test_duration = 30;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);\n });\n\n it('should update state for LIVE time events', function() {\n const position = 0;\n const test_duration = 0;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);\n });\n\n it('should update state for DVR time events', function() {\n const position = -5;\n const test_duration = -30;\n\n timeState.updateForEvent({\n position,\n duration: test_duration\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(position);\n expect(duration).to.be.equal(test_duration);\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.DVR);\n });\n\n it('should handle partial event data', function() {\n timeState.updateForEvent({\n position: 10\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.equal(10);\n expect(duration).to.be.undefined;\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);\n });\n\n it('should handle null and undefined values', function() {\n timeState.updateForEvent({\n position: null,\n duration: undefined\n });\n\n const { time, duration, playbackMode } = timeState.getState();\n expect(time).to.be.null;\n expect(duration).to.be.undefined;\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);\n });\n\n it('should clear state when clearState is called', function() {\n timeState.updateForEvent({\n position: 15,\n duration: 60\n });\n\n let state = timeState.getState();\n expect(state.time).to.be.equal(15);\n expect(state.duration).to.be.equal(60);\n\n timeState.clearState();\n state = timeState.getState();\n expect(state.time).to.be.undefined;\n expect(state.duration).to.be.undefined;\n });\n\n it('should update state with additional properties', function() {\n timeState.updateForEvent({\n position: 20,\n duration: 120\n });\n\n timeState.updateState({\n playbackMode: PLAYBACK_MODE.VOD\n });\n\n const state = timeState.getState();\n expect(state.time).to.be.equal(20);\n expect(state.duration).to.be.equal(120);\n expect(state.playbackMode).to.be.equal(PLAYBACK_MODE.VOD);\n });\n\n it('should handle zero duration as LIVE mode', function() {\n timeState.updateForEvent({\n position: 0,\n duration: 0\n });\n\n const { playbackMode } = timeState.getState();\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);\n });\n\n it('should handle negative duration as DVR mode', function() {\n timeState.updateForEvent({\n position: -10,\n duration: -60\n });\n\n const { playbackMode } = timeState.getState();\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.DVR);\n });\n\n it('should handle positive duration as VOD mode', function() {\n timeState.updateForEvent({\n position: 30,\n duration: 180\n });\n\n const { playbackMode } = timeState.getState();\n expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);\n });\n});\n\ndescribe('callbackStorageFactory', function () {\n const callbackStorage = callbackStorageFactory();\n\n beforeEach(() => {\n callbackStorage.clearStorage();\n });\n\n it('should store callbacks', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n const callback2 = () => 'callback2';\n const eventHandler2 = () => 'eventHandler2';\n callbackStorage.storeCallback('event', eventHandler2, callback2);\n\n const callback3 = () => 'callback3';\n\n expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event', callback2)).to.be.equal(eventHandler2);\n expect(callbackStorage.getCallback('event', callback3)).to.be.undefined;\n });\n\n it('should remove callbacks after retrieval', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event', callback1)).to.be.undefined;\n });\n\n it('should clear callbacks', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n\n callbackStorage.clearStorage();\n expect(callbackStorage.getCallback('event', callback1)).to.be.undefined;\n });\n\n it('should handle multiple events', function () {\n const callback1 = () => 'callback1';\n const eventHandler1 = () => 'eventHandler1';\n const callback2 = () => 'callback2';\n const eventHandler2 = () => 'eventHandler2';\n\n callbackStorage.storeCallback('event1', eventHandler1, callback1);\n callbackStorage.storeCallback('event2', eventHandler2, callback2);\n\n expect(callbackStorage.getCallback('event1', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event2', callback2)).to.be.equal(eventHandler2);\n });\n\n it('should handle non-existent events', function () {\n const callback = () => 'callback';\n expect(callbackStorage.getCallback('nonexistent', callback)).to.be.undefined;\n });\n\n it('should handle null and undefined callbacks', function () {\n const eventHandler = () => 'eventHandler';\n callbackStorage.storeCallback('event', eventHandler, null);\n callbackStorage.storeCallback('event2', eventHandler, undefined);\n\n expect(callbackStorage.getCallback('event', null)).to.be.equal(eventHandler);\n expect(callbackStorage.getCallback('event2', undefined)).to.be.equal(eventHandler);\n });\n\n it('should handle multiple callbacks for same event', function () {\n const callback1 = () => 'callback1';\n const callback2 = () => 'callback2';\n const eventHandler1 = () => 'eventHandler1';\n const eventHandler2 = () => 'eventHandler2';\n\n callbackStorage.storeCallback('event', eventHandler1, callback1);\n callbackStorage.storeCallback('event', eventHandler2, callback2);\n\n expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);\n expect(callbackStorage.getCallback('event', callback2)).to.be.equal(eventHandler2);\n });\n\n it('should handle overwriting callbacks', function () {\n const callback = () => 'callback';\n const eventHandler1 = () => 'eventHandler1';\n const eventHandler2 = () => 'eventHandler2';\n\n callbackStorage.storeCallback('event', eventHandler1, callback);\n callbackStorage.storeCallback('event', eventHandler2, callback);\n\n expect(callbackStorage.getCallback('event', callback)).to.be.equal(eventHandler2);\n });\n});\n\ndescribe('jwplayerSubmoduleFactory', function () {\n const jwplayerSubmoduleFactory = require('modules/jwplayerVideoProvider').default;\n\n it('should create a provider with correct vendor code', function () {\n const config = { divId: 'test' };\n const provider = jwplayerSubmoduleFactory(config, sharedUtils);\n\n expect(provider).to.be.an('object');\n expect(provider.init).to.be.a('function');\n expect(provider.getId).to.be.a('function');\n expect(provider.getOrtbVideo).to.be.a('function');\n expect(provider.getOrtbContent).to.be.a('function');\n expect(provider.setAdTagUrl).to.be.a('function');\n expect(provider.setAdXml).to.be.a('function');\n expect(provider.onEvent).to.be.a('function');\n expect(provider.offEvent).to.be.a('function');\n expect(provider.destroy).to.be.a('function');\n });\n\n it('should have correct vendor code', function () {\n expect(jwplayerSubmoduleFactory.vendorCode).to.be.equal(JWPLAYER_VENDOR);\n });\n\n it('should create independent state instances', function () {\n const config1 = { divId: 'test1' };\n const config2 = { divId: 'test2' };\n\n const provider1 = jwplayerSubmoduleFactory(config1, sharedUtils);\n const provider2 = jwplayerSubmoduleFactory(config2, sharedUtils);\n\n expect(provider1).to.not.equal(provider2);\n expect(provider1.getId()).to.equal('test1');\n expect(provider2.getId()).to.equal('test2');\n });\n\n it('should handle missing jwplayer global', function () {\n const originalJwplayer = window.jwplayer;\n window.jwplayer = undefined;\n\n const config = { divId: 'test' };\n const provider = jwplayerSubmoduleFactory(config, sharedUtils);\n\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-1);\n\n // Restore original jwplayer\n window.jwplayer = originalJwplayer;\n });\n\n it('should handle jwplayer with unsupported version', function () {\n const originalJwplayer = window.jwplayer;\n const mockJwplayer = () => {};\n mockJwplayer.version = '8.20.0';\n window.jwplayer = mockJwplayer;\n\n const config = { divId: 'test' };\n const provider = jwplayerSubmoduleFactory(config, sharedUtils);\n\n const setupFailed = sinon.spy();\n provider.onEvent(SETUP_FAILED, setupFailed, {});\n provider.init();\n\n expect(setupFailed.calledOnce).to.be.true;\n const payload = setupFailed.args[0][1];\n expect(payload.errorCode).to.be.equal(-2);\n\n // Restore original jwplayer\n window.jwplayer = originalJwplayer;\n });\n});\n\ndescribe('utils', function () {\n describe('getJwConfig', function () {\n const getJwConfig = utils.getJwConfig;\n it('should return undefined when no config is provided', function () {\n let jwConfig = getJwConfig();\n expect(jwConfig).to.be.undefined;\n\n jwConfig = getJwConfig(null);\n expect(jwConfig).to.be.undefined;\n });\n\n it('should set vendor config params to top level', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n 'test': 'a',\n 'test_2': 'b'\n }\n }\n });\n expect(jwConfig.test).to.be.equal('a');\n expect(jwConfig.test_2).to.be.equal('b');\n });\n\n it('should convert video module params', function () {\n const jwConfig = getJwConfig({\n mute: true,\n autoStart: true,\n licenseKey: 'key'\n });\n\n expect(jwConfig.mute).to.be.true;\n expect(jwConfig.autostart).to.be.true;\n expect(jwConfig.key).to.be.equal('key');\n });\n\n it('should apply video module params only when absent from vendor config', function () {\n const jwConfig = getJwConfig({\n mute: true,\n autoStart: true,\n licenseKey: 'key',\n params: {\n vendorConfig: {\n mute: false,\n autostart: false,\n key: 'other_key'\n }\n }\n });\n\n expect(jwConfig.mute).to.be.false;\n expect(jwConfig.autostart).to.be.false;\n expect(jwConfig.key).to.be.equal('other_key');\n });\n\n it('should not convert undefined properties', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n test: 'a'\n }\n }\n });\n\n expect(jwConfig).to.not.have.property('mute');\n expect(jwConfig).to.not.have.property('autostart');\n expect(jwConfig).to.not.have.property('key');\n });\n\n it('should exclude fallback ad block when setupAds is explicitly disabled', function () {\n const jwConfig = getJwConfig({\n setupAds: false,\n params: {\n\n vendorConfig: {}\n }\n });\n\n expect(jwConfig).to.not.have.property('advertising');\n });\n\n it('should set advertising block when setupAds is allowed', function () {\n const jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n advertising: {\n tag: 'test_tag'\n }\n }\n }\n });\n\n expect(jwConfig).to.have.property('advertising');\n expect(jwConfig.advertising).to.have.property('tag', 'test_tag');\n });\n\n it('should fallback to vast plugin', function () {\n const jwConfig = getJwConfig({});\n\n expect(jwConfig).to.have.property('advertising');\n expect(jwConfig.advertising).to.have.property('client', 'vast');\n });\n\n it('should set outstream to true when no file, playlist, or source is provided', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {}\n }\n });\n\n expect(jwConfig.advertising.outstream).to.be.true;\n });\n\n it('should not set outstream when file is provided', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n file: 'video.mp4'\n }\n }\n });\n\n expect(jwConfig.advertising.outstream).to.be.undefined;\n });\n\n it('should not set outstream when playlist is provided', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n playlist: [{ file: 'video.mp4' }]\n }\n }\n });\n\n expect(jwConfig.advertising.outstream).to.be.undefined;\n });\n\n it('should not set outstream when source is provided', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n source: 'video.mp4'\n }\n }\n });\n\n expect(jwConfig.advertising.outstream).to.be.undefined;\n });\n\n it('should set prebid bids to true', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {}\n }\n });\n\n expect(jwConfig.advertising.bids.prebid).to.be.true;\n });\n\n it('should preserve existing bids configuration', function () {\n let jwConfig = getJwConfig({\n params: {\n vendorConfig: {\n advertising: {\n bids: {\n existing: 'bid'\n }\n }\n }\n }\n });\n\n expect(jwConfig.advertising.bids.existing).to.be.equal('bid');\n expect(jwConfig.advertising.bids.prebid).to.be.true;\n });\n });\n\n describe('getPlayerHeight', function () {\n const getPlayerHeight = utils.getPlayerHeight;\n\n it('should return height from API when defined', function () {\n const expectedHeight = 500;\n const playerMock = { getHeight: () => expectedHeight };\n expect(getPlayerHeight(playerMock, {})).to.equal(expectedHeight);\n });\n\n it('should return height from config when API returns undefined', function () {\n const expectedHeight = 500;\n const playerMock = { getHeight: () => undefined };\n expect(getPlayerHeight(playerMock, { height: 500 })).to.equal(expectedHeight);\n });\n\n it('should return undefined when both API and config return undefined', function () {\n const playerMock = { getHeight: () => undefined };\n expect(getPlayerHeight(playerMock, {})).to.be.undefined;\n });\n\n it('should return undefined when both API and config return null', function () {\n const playerMock = { getHeight: () => null };\n expect(getPlayerHeight(playerMock, { height: null })).to.be.null;\n });\n });\n\n describe('getPlayerWidth', function () {\n const getPlayerWidth = utils.getPlayerWidth;\n\n it('should return width from API when defined', function () {\n const expectedWidth = 1000;\n const playerMock = { getWidth: () => expectedWidth };\n expect(getPlayerWidth(playerMock, {})).to.equal(expectedWidth);\n });\n\n it('should return width from config when API returns undefined', function () {\n const expectedWidth = 1000;\n const playerMock = { getWidth: () => undefined };\n expect(getPlayerWidth(playerMock, { width: expectedWidth })).to.equal(expectedWidth);\n });\n\n it('should return undefined when width is string', function () {\n const playerMock = { getWidth: () => undefined };\n expect(getPlayerWidth(playerMock, { width: '50%' })).to.be.undefined;\n });\n\n it('should return undefined when both API and config return undefined', function () {\n const playerMock = { getWidth: () => undefined };\n expect(getPlayerWidth(playerMock, {})).to.be.undefined;\n });\n\n it('should return undefined when both API and config return null', function () {\n const playerMock = { getWidth: () => null };\n expect(getPlayerWidth(playerMock, { width: null })).to.be.undefined;\n });\n });\n\n describe('getPlayerSizeFromAspectRatio', function () {\n const getPlayerSizeFromAspectRatio = utils.getPlayerSizeFromAspectRatio;\n const testContainer = {\n clientWidth: 640,\n clientHeight: 480\n };\n\n it('should return an empty object when width and aspectratio are not strings', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {width: 100})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:2', width: 100})).to.deep.equal({});\n });\n\n it('should return an empty object when aspectratio is malformed', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '0.5', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1-2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: ':2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: ':', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:2:3', width: '100%'})).to.deep.equal({});\n });\n\n it('should return an empty object when player container cannot be obtained', function () {\n expect(getPlayerSizeFromAspectRatio({}, {aspectratio: '1:2', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => undefined }, {aspectratio: '1:2', width: '100%'})).to.deep.equal({});\n });\n\n it('should calculate the size given the width percentage and aspect ratio', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '2:1', width: '100%'})).to.deep.equal({ height: 320, width: 640 });\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '4:1', width: '70%'})).to.deep.equal({ height: 112, width: 448 });\n });\n\n it('should return the container height when smaller than the calculated height', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:1', width: '100%'})).to.deep.equal({ height: 480, width: 640 });\n });\n\n it('should handle non-numeric aspect ratio values', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: 'abc:def', width: '100%'})).to.deep.equal({});\n });\n\n it('should handle non-numeric width percentage', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '16:9', width: 'abc%'})).to.deep.equal({});\n });\n\n it('should handle zero aspect ratio values', function () {\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '0:9', width: '100%'})).to.deep.equal({});\n expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '16:0', width: '100%'})).to.deep.equal({});\n });\n });\n\n describe('getSkipParams', function () {\n const getSkipParams = utils.getSkipParams;\n\n it('should return an empty object when skip is not configured', function () {\n const skipParams = getSkipParams({});\n expect(skipParams).to.be.empty;\n });\n\n it('should set skip to false when explicitly configured', function () {\n const skipParams = getSkipParams({\n skipoffset: -1\n });\n expect(skipParams.skip).to.be.equal(0);\n expect(skipParams.skipmin).to.be.undefined;\n expect(skipParams.skipafter).to.be.undefined;\n });\n\n it('should be skippable when skip offset is set', function () {\n const skipOffset = 3;\n const skipParams = getSkipParams({\n skipoffset: skipOffset\n });\n expect(skipParams.skip).to.be.equal(1);\n expect(skipParams.skipmin).to.be.equal(skipOffset + 2);\n expect(skipParams.skipafter).to.be.equal(skipOffset);\n });\n\n it('should handle zero skip offset', function () {\n let skipParams = getSkipParams({\n skipoffset: 0\n });\n expect(skipParams.skip).to.be.equal(1);\n expect(skipParams.skipmin).to.be.equal(2);\n expect(skipParams.skipafter).to.be.equal(0);\n });\n\n it('should handle large skip offset', function () {\n let skipParams = getSkipParams({\n skipoffset: 30\n });\n expect(skipParams.skip).to.be.equal(1);\n expect(skipParams.skipmin).to.be.equal(32);\n expect(skipParams.skipafter).to.be.equal(30);\n });\n });\n\n describe('getSupportedMediaTypes', function () {\n const getSupportedMediaTypes = utils.getSupportedMediaTypes;\n\n it('should always support VPAID', function () {\n let supportedMediaTypes = getSupportedMediaTypes([]);\n expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);\n\n supportedMediaTypes = getSupportedMediaTypes([VIDEO_MIME_TYPE.MP4]);\n expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);\n });\n\n it('should filter supported media types', function () {\n const mockVideo = document.createElement('video');\n const originalCanPlayType = mockVideo.canPlayType;\n\n // Mock canPlayType to simulate browser support\n mockVideo.canPlayType = function(type) {\n if (type === VIDEO_MIME_TYPE.MP4) return 'probably';\n if (type === VIDEO_MIME_TYPE.WEBM) return 'maybe';\n return '';\n };\n\n // Temporarily replace document.createElement\n const originalCreateElement = document.createElement;\n document.createElement = function(tagName) {\n if (tagName === 'video') return mockVideo;\n return originalCreateElement.call(document, tagName);\n };\n\n const supportedMediaTypes = getSupportedMediaTypes([\n VIDEO_MIME_TYPE.MP4,\n VIDEO_MIME_TYPE.WEBM,\n VIDEO_MIME_TYPE.OGG\n ]);\n\n expect(supportedMediaTypes).to.include(VIDEO_MIME_TYPE.MP4);\n expect(supportedMediaTypes).to.include(VIDEO_MIME_TYPE.WEBM);\n expect(supportedMediaTypes).to.not.include(VIDEO_MIME_TYPE.OGG);\n expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);\n\n // Restore original function\n document.createElement = originalCreateElement;\n });\n });\n\n describe('getPlacement', function () {\n const getPlacement = utils.getPlacement;\n\n it('should be INSTREAM when not configured for outstream', function () {\n let adConfig = {};\n let placement = getPlacement(adConfig);\n expect(placement).to.be.equal(PLACEMENT.INSTREAM);\n\n adConfig = { outstream: false };\n placement = getPlacement(adConfig);\n expect(placement).to.be.equal(PLACEMENT.INSTREAM);\n });\n\n it('should be FLOATING when player is floating', function () {\n const player = getPlayerMock();\n player.getFloating = () => true;\n const placement = getPlacement({outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.FLOATING);\n });\n\n it('should be the value defined in the ad config', function () {\n const player = getPlayerMock();\n player.getFloating = () => false;\n\n let placement = getPlacement({placement: 'banner', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.BANNER);\n\n placement = getPlacement({placement: 'article', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.ARTICLE);\n\n placement = getPlacement({placement: 'feed', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.FEED);\n\n placement = getPlacement({placement: 'interstitial', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.INTERSTITIAL);\n\n placement = getPlacement({placement: 'slider', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.SLIDER);\n });\n\n it('should be undefined when undetermined', function () {\n const placement = getPlacement({ outstream: true }, getPlayerMock());\n expect(placement).to.be.undefined;\n });\n\n it('should handle case-insensitive placement values', function () {\n const player = getPlayerMock();\n player.getFloating = () => false;\n\n let placement = getPlacement({placement: 'BANNER', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.BANNER);\n\n placement = getPlacement({placement: 'Article', outstream: true}, player);\n expect(placement).to.be.equal(PLACEMENT.ARTICLE);\n });\n\n it('should handle unknown placement values', function () {\n const player = getPlayerMock();\n player.getFloating = () => false;\n\n const placement = getPlacement({placement: 'unknown', outstream: true}, player);\n expect(placement).to.be.undefined;\n });\n });\n\n describe('getPlaybackMethod', function() {\n const getPlaybackMethod = utils.getPlaybackMethod;\n\n it('should return autoplay with sound', function() {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n mute: false\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY);\n });\n\n it('should return autoplay muted', function() {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n mute: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);\n });\n\n it('should treat autoplayAdsMuted as mute', function () {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n autoplayAdsMuted: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);\n });\n\n it('should return click to play', function() {\n let playbackMethod = getPlaybackMethod({ autoplay: false });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n\n playbackMethod = getPlaybackMethod({\n autoplay: false,\n autoplayAdsMuted: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n\n playbackMethod = getPlaybackMethod({\n autoplay: false,\n mute: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n });\n\n it('should prioritize mute over autoplayAdsMuted', function () {\n const playbackMethod = getPlaybackMethod({\n autoplay: true,\n mute: true,\n autoplayAdsMuted: false\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);\n });\n\n it('should handle undefined autoplay', function () {\n const playbackMethod = getPlaybackMethod({\n mute: false\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);\n });\n\n it('should handle undefined mute and autoplayAdsMuted', function () {\n const playbackMethod = getPlaybackMethod({\n autoplay: true\n });\n expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY);\n });\n });\n\n describe('isOmidSupported', function () {\n const isOmidSupported = utils.isOmidSupported;\n const initialOmidSessionClient = window.OmidSessionClient;\n afterEach(() => {\n window.OmidSessionClient = initialOmidSessionClient;\n });\n\n it('should be true when Omid is loaded and client is VAST', function () {\n window.OmidSessionClient = {};\n expect(isOmidSupported('vast')).to.be.true;\n });\n\n it('should be false when Omid is not present', function () {\n expect(isOmidSupported('vast')).to.be.false;\n });\n\n it('should be false when client is not Vast', function () {\n window.OmidSessionClient = {};\n expect(isOmidSupported('googima')).to.be.false;\n expect(isOmidSupported('freewheel')).to.be.false;\n expect(isOmidSupported('googimadai')).to.be.false;\n expect(isOmidSupported('')).to.be.false;\n expect(isOmidSupported(null)).to.be.false;\n expect(isOmidSupported()).to.be.false;\n });\n\n it('should be false when OmidSessionClient is null', function () {\n window.OmidSessionClient = null;\n expect(isOmidSupported('vast')).to.be.false;\n });\n\n it('should be false when OmidSessionClient is undefined', function () {\n window.OmidSessionClient = undefined;\n expect(isOmidSupported('vast')).to.be.false;\n });\n });\n\n describe('getIsoLanguageCode', function () {\n const sampleAudioTracks = [{language: 'ht'}, {language: 'fr'}, {language: 'es'}, {language: 'pt'}];\n\n it('should return undefined when audio tracks are unavailable', function () {\n const player = getPlayerMock();\n let languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n player.getAudioTracks = () => [];\n languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns undefined', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns null', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => null;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the first audio track language code if the getCurrentAudioTrack returns -1', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => -1;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should return the right audio track language code', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => 2;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('es');\n });\n\n it('should handle out of bounds track index', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => 10;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n });\n\n it('should handle negative track index', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => sampleAudioTracks;\n player.getCurrentAudioTrack = () => -5;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.equal('ht');\n });\n\n it('should handle audio tracks with missing language property', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => [{}, {language: 'en'}, {}];\n player.getCurrentAudioTrack = () => 0;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.undefined;\n });\n\n it('should handle audio tracks with null language property', function () {\n const player = getPlayerMock();\n player.getAudioTracks = () => [{language: null}, {language: 'en'}, {}];\n player.getCurrentAudioTrack = () => 0;\n const languageCode = utils.getIsoLanguageCode(player);\n expect(languageCode).to.be.null;\n });\n });\n\n describe('getJwEvent', function () {\n const getJwEvent = utils.getJwEvent;\n it('should map known events', function () {\n expect(getJwEvent(SETUP_COMPLETE)).to.equal('ready');\n expect(getJwEvent(SEEK_END)).to.equal('seeked');\n expect(getJwEvent(AD_STARTED)).to.equal(AD_IMPRESSION);\n });\n\n it('should return event name when not mapped', function () {\n expect(getJwEvent('custom')).to.equal('custom');\n });\n\n it('should map all known event mappings', function () {\n expect(getJwEvent(SETUP_FAILED)).to.equal('setupError');\n expect(getJwEvent(DESTROYED)).to.equal('remove');\n expect(getJwEvent(AD_IMPRESSION)).to.equal('adViewableImpression');\n expect(getJwEvent(PLAYBACK_REQUEST)).to.equal('playAttempt');\n expect(getJwEvent(AUTOSTART_BLOCKED)).to.equal('autostartNotAllowed');\n expect(getJwEvent(CONTENT_LOADED)).to.equal('playlistItem');\n expect(getJwEvent(SEEK_START)).to.equal('seek');\n expect(getJwEvent(RENDITION_UPDATE)).to.equal('visualQuality');\n expect(getJwEvent(PLAYER_RESIZE)).to.equal('resize');\n });\n });\n\n describe('getSegments', function () {\n const getSegments = utils.getSegments;\n it('should return undefined for empty input', function () {\n expect(getSegments()).to.be.undefined;\n expect(getSegments([])).to.be.undefined;\n });\n\n it('should convert segments to objects', function () {\n const segs = ['a', 'b'];\n expect(getSegments(segs)).to.deep.equal([\n {id: 'a'},\n {id: 'b'}\n ]);\n });\n\n it('should handle single segment', function () {\n const segs = ['single'];\n expect(getSegments(segs)).to.deep.equal([\n {id: 'single'}\n ]);\n });\n\n it('should handle segments with special characters', function () {\n const segs = ['segment-1', 'segment_2', 'segment 3'];\n expect(getSegments(segs)).to.deep.equal([\n {id: 'segment-1'},\n {id: 'segment_2'},\n {id: 'segment 3'}\n ]);\n });\n\n it('should handle null input', function () {\n expect(getSegments(null)).to.be.undefined;\n });\n\n it('should handle undefined input', function () {\n expect(getSegments(undefined)).to.be.undefined;\n });\n });\n\n describe('getContentDatum', function () {\n const getContentDatum = utils.getContentDatum;\n it('should return undefined when no data provided', function () {\n expect(getContentDatum()).to.be.undefined;\n });\n\n it('should set media id and segments', function () {\n const segments = [{id: 'x'}];\n expect(getContentDatum('id1', segments)).to.deep.equal({\n name: 'jwplayer.com',\n segment: segments,\n cids: ['id1'],\n ext: { cids: ['id1'], segtax: 502 }\n });\n });\n\n it('should set only media id when segments missing', function () {\n expect(getContentDatum('id2')).to.deep.equal({\n name: 'jwplayer.com',\n cids: ['id2'],\n ext: { cids: ['id2'] }\n });\n });\n\n it('should set only segments when media id missing', function () {\n const segments = [{id: 'y'}];\n expect(getContentDatum(null, segments)).to.deep.equal({\n name: 'jwplayer.com',\n segment: segments,\n ext: { segtax: 502 }\n });\n });\n\n it('should handle empty segments array', function () {\n expect(getContentDatum('id3', [])).to.deep.equal({\n name: 'jwplayer.com',\n cids: ['id3'],\n ext: { cids: ['id3'] }\n });\n });\n\n it('should handle null media id', function () {\n expect(getContentDatum(null)).to.be.undefined;\n });\n\n it('should handle empty string media id', function () {\n expect(getContentDatum('')).to.be.undefined;\n });\n });\n\n describe('getStartDelay', function () {\n const getStartDelay = utils.getStartDelay;\n\n it('should return undefined (not implemented)', function () {\n expect(getStartDelay()).to.be.undefined;\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}