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
@@ -7,11 +7,16 @@ import {
7
7
  } from 'modules/jwplayerVideoProvider';
8
8
 
9
9
  import {
10
- PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE
10
+ PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE, AD_POSITION
11
11
  } from 'libraries/video/constants/ortb.js';
12
12
 
13
+ import { JWPLAYER_VENDOR } from 'libraries/video/constants/vendorCodes.js';
14
+
13
15
  import {
14
- SETUP_COMPLETE, SETUP_FAILED, PLAY, AD_IMPRESSION, AD_STARTED, SEEK_END, videoEvents
16
+ SETUP_COMPLETE, SETUP_FAILED, DESTROYED, AD_REQUEST, AD_BREAK_START, AD_LOADED, AD_STARTED, AD_IMPRESSION, AD_PLAY,
17
+ AD_TIME, AD_PAUSE, AD_CLICK, AD_SKIPPED, AD_ERROR, AD_COMPLETE, AD_BREAK_END, PLAYLIST, PLAYBACK_REQUEST,
18
+ AUTOSTART_BLOCKED, PLAY_ATTEMPT_FAILED, CONTENT_LOADED, PLAY, PAUSE, BUFFER, TIME, SEEK_START, SEEK_END, MUTE, VOLUME,
19
+ RENDITION_UPDATE, ERROR, COMPLETE, PLAYLIST_COMPLETE, FULLSCREEN, PLAYER_RESIZE, VIEWABLE, CAST, videoEvents
15
20
  } from 'libraries/video/constants/events.js';
16
21
 
17
22
  import { PLAYBACK_MODE } from 'libraries/video/constants/constants.js';
@@ -30,8 +35,12 @@ function getPlayerMock() {
30
35
  getWidth: function () {},
31
36
  getFullscreen: function () {},
32
37
  getPlaylistItem: function () {},
38
+ getDuration: function () {},
33
39
  playAd: function () {},
34
- on: function () { return this; },
40
+ loadAdXml: function () {},
41
+ on: function (eventName, handler) {
42
+ return this;
43
+ },
35
44
  off: function () { return this; },
36
45
  remove: function () {},
37
46
  getAudioTracks: function () {},
@@ -61,7 +70,7 @@ function getUtilsMock() {
61
70
  getPlaybackMethod: function () {},
62
71
  isOmidSupported: function () {},
63
72
  getSkipParams: function () {},
64
- getJwEvent: event => event,
73
+ getJwEvent: utils.getJwEvent,
65
74
  getIsoLanguageCode: function () {},
66
75
  getSegments: function () {},
67
76
  getContentDatum: function () {}
@@ -370,207 +379,1558 @@ describe('JWPlayerProvider', function () {
370
379
  const eventName = offSpy.args[0][0];
371
380
  expect(eventName).to.be.equal('adViewableImpression');
372
381
  });
373
- });
374
382
 
375
- describe('destroy', function () {
376
- it('should remove and null the player', function () {
383
+ it('should handle setup complete callbacks', function () {
377
384
  const player = getPlayerMock();
378
- const removeSpy = player.remove = sinon.spy();
379
- player.remove = removeSpy;
385
+ player.getState = () => 'idle';
380
386
  const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
387
+ const setupComplete = sinon.spy();
388
+ provider.onEvent(SETUP_COMPLETE, setupComplete, {});
381
389
  provider.init();
382
- provider.destroy();
383
- provider.destroy();
384
- expect(removeSpy.calledOnce).to.be.true;
390
+ expect(setupComplete.calledOnce).to.be.true;
391
+ const payload = setupComplete.args[0][1];
392
+ expect(payload.type).to.be.equal(SETUP_COMPLETE);
393
+ expect(payload.divId).to.be.equal('test');
385
394
  });
386
- });
387
- });
388
395
 
389
- describe('adStateFactory', function () {
390
- const adState = adStateFactory();
396
+ it('should handle setup failed callbacks', function () {
397
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
398
+ const setupFailed = sinon.spy();
399
+ provider.onEvent(SETUP_FAILED, setupFailed, {});
400
+ provider.init();
401
+ expect(setupFailed.calledOnce).to.be.true;
402
+ const payload = setupFailed.args[0][1];
403
+ expect(payload.type).to.be.equal(SETUP_FAILED);
404
+ expect(payload.divId).to.be.equal('test');
405
+ });
391
406
 
392
- beforeEach(() => {
393
- adState.clearState();
394
- });
407
+ it('should not throw when onEvent is called and player is null', function () {
408
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
409
+ const callback = () => {};
410
+ provider.onEvent(PLAY, callback, {});
411
+ });
395
412
 
396
- it('should update state for ad events', function () {
397
- const tag = 'tag';
398
- const adPosition = 'adPosition';
399
- const timeLoading = 'timeLoading';
400
- const id = 'id';
401
- const description = 'description';
402
- const adsystem = 'adsystem';
403
- const adtitle = 'adtitle';
404
- const advertiserId = 'advertiserId';
405
- const advertiser = 'advertiser';
406
- const dealId = 'dealId';
407
- const linear = 'linear';
408
- const vastversion = 'vastversion';
409
- const mediaFile = 'mediaFile';
410
- const adId = 'adId';
411
- const universalAdId = 'universalAdId';
412
- const creativeAdId = 'creativeAdId';
413
- const creativetype = 'creativetype';
414
- const clickThroughUrl = 'clickThroughUrl';
415
- const witem = 'witem';
416
- const wcount = 'wcount';
417
- const podcount = 'podcount';
418
- const sequence = 'sequence';
413
+ it('should handle AD_REQUEST event payload', function () {
414
+ const player = getPlayerMock();
415
+ const onSpy = sinon.spy();
416
+ player.on = onSpy;
419
417
 
420
- adState.updateForEvent({
421
- tag,
422
- adPosition,
423
- timeLoading,
424
- id,
425
- description,
426
- adsystem,
427
- adtitle,
428
- advertiserId,
429
- advertiser,
430
- dealId,
431
- linear,
432
- vastversion,
433
- mediaFile,
434
- adId,
435
- universalAdId,
436
- creativeAdId,
437
- creativetype,
438
- clickThroughUrl,
439
- witem,
440
- wcount,
441
- podcount,
442
- sequence
418
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
419
+ provider.init();
420
+ const callback = sinon.spy();
421
+ provider.onEvent(AD_REQUEST, callback, {});
422
+
423
+ expect(onSpy.calledOnce).to.be.true;
424
+ expect(onSpy.args[0][0]).to.equal(AD_REQUEST); // event name
425
+
426
+ const eventHandler = onSpy.args[0][1];
427
+
428
+ // Simulate the player calling the event handler
429
+ const mockEvent = { tag: 'test-ad-tag' };
430
+ eventHandler(mockEvent);
431
+
432
+ expect(callback.calledOnce).to.be.true;
433
+ const payload = callback.args[0][1];
434
+ expect(payload.adTagUrl).to.be.equal('test-ad-tag');
443
435
  });
444
436
 
445
- const state = adState.getState();
446
- expect(state.adTagUrl).to.equal(tag);
447
- expect(state.offset).to.equal(adPosition);
448
- expect(state.loadTime).to.equal(timeLoading);
449
- expect(state.vastAdId).to.equal(id);
450
- expect(state.adDescription).to.equal(description);
451
- expect(state.adServer).to.equal(adsystem);
452
- expect(state.adTitle).to.equal(adtitle);
453
- expect(state.advertiserId).to.equal(advertiserId);
454
- expect(state.dealId).to.equal(dealId);
455
- expect(state.linear).to.equal(linear);
456
- expect(state.vastVersion).to.equal(vastversion);
457
- expect(state.creativeUrl).to.equal(mediaFile);
458
- expect(state.adId).to.equal(adId);
459
- expect(state.universalAdId).to.equal(universalAdId);
460
- expect(state.creativeId).to.equal(creativeAdId);
461
- expect(state.creativeType).to.equal(creativetype);
462
- expect(state.redirectUrl).to.equal(clickThroughUrl);
463
- expect(state).to.have.property('adPlacementType');
464
- expect(state.adPlacementType).to.be.undefined;
465
- expect(state.waterfallIndex).to.equal(witem);
466
- expect(state.waterfallCount).to.equal(wcount);
467
- expect(state.adPodCount).to.equal(podcount);
468
- expect(state.adPodIndex).to.equal(sequence);
469
- });
437
+ it('should handle AD_BREAK_START event payload', function () {
438
+ const player = getPlayerMock();
439
+ const onSpy = sinon.spy();
440
+ player.on = onSpy;
470
441
 
471
- it('should convert placement to oRTB value', function () {
472
- adState.updateForEvent({
473
- placement: 'instream'
442
+ const timeState = {
443
+ clearState: sinon.spy(),
444
+ getState: () => ({})
445
+ };
446
+
447
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
448
+ provider.init();
449
+ const callback = sinon.spy();
450
+ provider.onEvent(AD_BREAK_START, callback, {});
451
+
452
+ expect(onSpy.calledOnce).to.be.true;
453
+ expect(onSpy.args[0][0]).to.equal(AD_BREAK_START);
454
+
455
+ const eventHandler = onSpy.args[0][1];
456
+
457
+ // Simulate the player calling the event handler
458
+ const mockEvent = { adPosition: 'pre' };
459
+ eventHandler(mockEvent);
460
+
461
+ expect(callback.calledOnce).to.be.true;
462
+ const payload = callback.args[0][1];
463
+ expect(payload.offset).to.be.equal('pre');
474
464
  });
475
465
 
476
- let state = adState.getState();
477
- expect(state.adPlacementType).to.be.equal(PLACEMENT.INSTREAM);
466
+ it('should handle AD_LOADED event payload', function () {
467
+ const player = getPlayerMock();
468
+ const onSpy = sinon.spy();
469
+ player.on = onSpy;
470
+
471
+ const expectedAdState = {
472
+ adTagUrl: 'test-ad-tag',
473
+ vastAdId: 'ad-123',
474
+ skip: 1,
475
+ skipmin: 7,
476
+ skipafter: 5
477
+ };
478
478
 
479
- adState.updateForEvent({
480
- placement: 'banner'
479
+ const adState = {
480
+ updateForEvent: sinon.spy(),
481
+ updateState: sinon.spy(),
482
+ getState: () => expectedAdState
483
+ };
484
+
485
+ player.getConfig = () => ({ advertising: { skipoffset: 5 } });
486
+
487
+ const utils = getUtilsMock();
488
+ utils.getSkipParams = () => ({ skip: 1, skipmin: 7, skipafter: 5 });
489
+
490
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);
491
+ provider.init();
492
+ const callback = sinon.spy();
493
+ provider.onEvent(AD_LOADED, callback, {});
494
+
495
+ expect(onSpy.calledOnce).to.be.true;
496
+ expect(onSpy.args[0][0]).to.equal(AD_LOADED);
497
+
498
+ const eventHandler = onSpy.args[0][1];
499
+
500
+ // Simulate the player calling the event handler
501
+ const mockEvent = { tag: 'test-ad-tag', id: 'ad-123' };
502
+ eventHandler(mockEvent);
503
+
504
+ expect(callback.calledOnce).to.be.true;
505
+ const payload = callback.args[0][1];
506
+ expect(payload).to.deep.equal(expectedAdState);
481
507
  });
482
508
 
483
- state = adState.getState();
484
- expect(state.adPlacementType).to.be.equal(PLACEMENT.BANNER);
509
+ it('should handle AD_STARTED event payload', function () {
510
+ const player = getPlayerMock();
511
+ const onSpy = sinon.spy();
512
+ player.on = onSpy;
485
513
 
486
- adState.updateForEvent({
487
- placement: 'article'
514
+ const expectedAdState = {
515
+ adTagUrl: 'test-ad-tag',
516
+ vastAdId: 'ad-123'
517
+ };
518
+
519
+ const adState = {
520
+ getState: () => expectedAdState
521
+ };
522
+
523
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
524
+ provider.init();
525
+ const callback = sinon.spy();
526
+ provider.onEvent(AD_STARTED, callback, {});
527
+
528
+ expect(onSpy.calledOnce).to.be.true;
529
+ expect(onSpy.args[0][0]).to.equal(AD_IMPRESSION); // AD_STARTED maps to AD_IMPRESSION
530
+
531
+ const eventHandler = onSpy.args[0][1];
532
+
533
+ // Simulate the player calling the event handler
534
+ eventHandler({});
535
+
536
+ expect(callback.calledOnce).to.be.true;
537
+ const payload = callback.args[0][1];
538
+ expect(payload).to.deep.equal(expectedAdState);
488
539
  });
489
540
 
490
- state = adState.getState();
491
- expect(state.adPlacementType).to.be.equal(PLACEMENT.ARTICLE);
541
+ it('should handle AD_IMPRESSION event payload', function () {
542
+ const player = getPlayerMock();
492
543
 
493
- adState.updateForEvent({
494
- placement: 'feed'
544
+ const expectedAdState = {
545
+ adTagUrl: 'test-ad-tag',
546
+ vastAdId: 'ad-123'
547
+ };
548
+
549
+ const expectedTimeState = {
550
+ time: 15,
551
+ duration: 30
552
+ };
553
+
554
+ const adState = {
555
+ getState: () => expectedAdState
556
+ };
557
+
558
+ const timeState = {
559
+ getState: () => expectedTimeState
560
+ };
561
+
562
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
563
+ provider.init();
564
+ const callback = sinon.spy();
565
+
566
+ const onSpy = sinon.spy();
567
+ player.on = onSpy;
568
+
569
+ provider.onEvent(AD_IMPRESSION, callback, {});
570
+
571
+ expect(onSpy.calledOnce).to.be.true;
572
+ expect(onSpy.args[0][0]).to.equal('adViewableImpression'); // AD_IMPRESSION maps to 'adViewableImpression'
573
+
574
+ const eventHandler = onSpy.args[0][1];
575
+
576
+ // Simulate the player calling the event handler
577
+ eventHandler({});
578
+
579
+ expect(callback.calledOnce).to.be.true;
580
+ const payload = callback.args[0][1];
581
+ expect(payload).to.deep.equal({ ...expectedAdState, ...expectedTimeState });
495
582
  });
496
583
 
497
- state = adState.getState();
498
- expect(state.adPlacementType).to.be.equal(PLACEMENT.FEED);
584
+ it('should handle AD_TIME event payload', function () {
585
+ const player = getPlayerMock();
499
586
 
500
- adState.updateForEvent({
501
- placement: 'interstitial'
587
+ const timeState = {
588
+ updateForEvent: sinon.spy(),
589
+ getState: () => ({})
590
+ };
591
+
592
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
593
+ provider.init();
594
+ const callback = sinon.spy();
595
+
596
+ const onSpy = sinon.spy();
597
+ player.on = onSpy;
598
+
599
+ provider.onEvent(AD_TIME, callback, {});
600
+
601
+ expect(onSpy.calledOnce).to.be.true;
602
+ expect(onSpy.args[0][0]).to.equal(AD_TIME);
603
+
604
+ const eventHandler = onSpy.args[0][1];
605
+
606
+ // Simulate the player calling the event handler
607
+ const mockEvent = { tag: 'test-ad-tag', position: 10, duration: 30 };
608
+ eventHandler(mockEvent);
609
+
610
+ expect(callback.calledOnce).to.be.true;
611
+ const payload = callback.args[0][1];
612
+ expect(payload.adTagUrl).to.be.equal('test-ad-tag');
613
+ expect(payload.time).to.be.equal(10);
614
+ expect(payload.duration).to.be.equal(30);
502
615
  });
503
616
 
504
- state = adState.getState();
505
- expect(state.adPlacementType).to.be.equal(PLACEMENT.INTERSTITIAL);
617
+ it('should handle AD_SKIPPED event payload', function () {
618
+ const player = getPlayerMock();
506
619
 
507
- adState.updateForEvent({
508
- placement: 'slider'
620
+ const adState = {
621
+ clearState: sinon.spy()
622
+ };
623
+
624
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
625
+ provider.init();
626
+ const callback = sinon.spy();
627
+
628
+ const onSpy = sinon.spy();
629
+ player.on = onSpy;
630
+
631
+ provider.onEvent(AD_SKIPPED, callback, {});
632
+
633
+ expect(onSpy.calledOnce).to.be.true;
634
+ expect(onSpy.args[0][0]).to.equal(AD_SKIPPED);
635
+
636
+ const eventHandler = onSpy.args[0][1];
637
+
638
+ // Simulate the player calling the event handler
639
+ const mockEvent = { position: 15, duration: 30 };
640
+ eventHandler(mockEvent);
641
+
642
+ expect(callback.calledOnce).to.be.true;
643
+ const payload = callback.args[0][1];
644
+ expect(payload.time).to.be.equal(15);
645
+ expect(payload.duration).to.be.equal(30);
509
646
  });
510
647
 
511
- state = adState.getState();
512
- expect(state.adPlacementType).to.be.equal(PLACEMENT.SLIDER);
648
+ it('should handle AD_ERROR event payload', function () {
649
+ const player = getPlayerMock();
513
650
 
514
- adState.updateForEvent({
515
- placement: 'floating'
651
+ const expectedAdState = {
652
+ adTagUrl: 'test-ad-tag',
653
+ vastAdId: 'ad-123'
654
+ };
655
+
656
+ const expectedTimeState = {
657
+ time: 15,
658
+ duration: 30
659
+ };
660
+
661
+ const adState = {
662
+ clearState: sinon.spy(),
663
+ getState: () => expectedAdState
664
+ };
665
+
666
+ const timeState = {
667
+ getState: () => expectedTimeState
668
+ };
669
+
670
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
671
+ provider.init();
672
+ const callback = sinon.spy();
673
+
674
+ const onSpy = sinon.spy();
675
+ player.on = onSpy;
676
+
677
+ provider.onEvent(AD_ERROR, callback, {});
678
+
679
+ expect(onSpy.calledOnce).to.be.true;
680
+ expect(onSpy.args[0][0]).to.equal(AD_ERROR);
681
+
682
+ const eventHandler = onSpy.args[0][1];
683
+
684
+ // Simulate the player calling the event handler
685
+ const mockEvent = {
686
+ sourceError: new Error('Player Ad error'),
687
+ adErrorCode: 2001,
688
+ code: 3001,
689
+ message: 'Ad playback error occurred'
690
+ };
691
+ eventHandler(mockEvent);
692
+
693
+ expect(callback.calledOnce).to.be.true;
694
+ const payload = callback.args[0][1];
695
+ expect(payload.sourceError).to.be.equal(mockEvent.sourceError);
696
+ expect(payload.playerErrorCode).to.be.equal(2001);
697
+ expect(payload.vastErrorCode).to.be.equal(3001);
698
+ expect(payload.errorMessage).to.be.equal('Ad playback error occurred');
699
+ expect(payload.adTagUrl).to.be.equal('test-ad-tag');
700
+ expect(payload.vastAdId).to.be.equal('ad-123');
701
+ expect(payload.time).to.be.equal(15);
702
+ expect(payload.duration).to.be.equal(30);
516
703
  });
517
704
 
518
- state = adState.getState();
519
- expect(state.adPlacementType).to.be.equal(PLACEMENT.FLOATING);
520
- });
521
- });
705
+ it('should handle AD_COMPLETE event payload', function () {
706
+ const player = getPlayerMock();
522
707
 
523
- describe('timeStateFactory', function () {
524
- const timeState = timeStateFactory();
708
+ const adState = {
709
+ clearState: sinon.spy()
710
+ };
525
711
 
526
- beforeEach(() => {
527
- timeState.clearState();
528
- });
712
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adState, timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
713
+ provider.init();
714
+ const callback = sinon.spy();
529
715
 
530
- it('should update state for VOD time event', function() {
531
- const position = 5;
532
- const test_duration = 30;
716
+ const onSpy = sinon.spy();
717
+ player.on = onSpy;
718
+
719
+ provider.onEvent(AD_COMPLETE, callback, {});
720
+
721
+ expect(onSpy.calledOnce).to.be.true;
722
+ expect(onSpy.args[0][0]).to.equal(AD_COMPLETE);
723
+
724
+ const eventHandler = onSpy.args[0][1];
725
+
726
+ // Simulate the player calling the event handler
727
+ const mockEvent = { tag: 'test-ad-tag' };
728
+ eventHandler(mockEvent);
729
+
730
+ expect(callback.calledOnce).to.be.true;
731
+ const payload = callback.args[0][1];
732
+ expect(payload.adTagUrl).to.be.equal('test-ad-tag');
733
+ });
734
+
735
+ it('should handle AD_BREAK_END event payload', function () {
736
+ const player = getPlayerMock();
737
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
738
+ provider.init();
739
+ const callback = sinon.spy();
740
+
741
+ const onSpy = sinon.spy();
742
+ player.on = onSpy;
743
+
744
+ provider.onEvent(AD_BREAK_END, callback, {});
745
+
746
+ // Verify player.on was called
747
+ expect(onSpy.calledOnce).to.be.true;
748
+ expect(onSpy.args[0][0]).to.equal(AD_BREAK_END);
749
+
750
+ // Get the event handler that was passed to player.on
751
+ const eventHandler = onSpy.args[0][1];
752
+
753
+ // Simulate the player calling the event handler
754
+ const mockEvent = { adPosition: 'post' };
755
+ eventHandler(mockEvent);
756
+
757
+ expect(callback.calledOnce).to.be.true;
758
+ const payload = callback.args[0][1];
759
+ expect(payload.offset).to.be.equal('post');
760
+ });
761
+
762
+ it('should handle PLAYLIST event payload', function () {
763
+ const player = getPlayerMock();
764
+ player.getConfig = () => ({ autostart: true });
765
+
766
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
767
+ provider.init();
768
+ const callback = sinon.spy();
769
+
770
+ const onSpy = sinon.spy();
771
+ player.on = onSpy;
772
+
773
+ provider.onEvent(PLAYLIST, callback, {});
774
+
775
+ // Verify player.on was called
776
+ expect(onSpy.calledOnce).to.be.true;
777
+ expect(onSpy.args[0][0]).to.equal(PLAYLIST);
778
+
779
+ // Get the event handler that was passed to player.on
780
+ const eventHandler = onSpy.args[0][1];
781
+
782
+ // Simulate the player calling the event handler
783
+ const mockEvent = { playlist: [{}, {}, {}] };
784
+ eventHandler(mockEvent);
785
+
786
+ expect(callback.calledOnce).to.be.true;
787
+ const payload = callback.args[0][1];
788
+ expect(payload.playlistItemCount).to.be.equal(3);
789
+ expect(payload.autostart).to.be.true;
790
+ });
791
+
792
+ it('should handle PLAYBACK_REQUEST event payload', function () {
793
+ const player = getPlayerMock();
794
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
795
+ provider.init();
796
+ const callback = sinon.spy();
797
+
798
+ const onSpy = sinon.spy();
799
+ player.on = onSpy;
800
+
801
+ provider.onEvent(PLAYBACK_REQUEST, callback, {});
802
+
803
+ // Verify player.on was called
804
+ expect(onSpy.calledOnce).to.be.true;
805
+ expect(onSpy.args[0][0]).to.equal('playAttempt'); // PLAYBACK_REQUEST maps to 'playAttempt'
806
+
807
+ // Get the event handler that was passed to player.on
808
+ const eventHandler = onSpy.args[0][1];
809
+
810
+ // Simulate the player calling the event handler
811
+ const mockEvent = { playReason: 'user-interaction' };
812
+ eventHandler(mockEvent);
813
+
814
+ expect(callback.calledOnce).to.be.true;
815
+ const payload = callback.args[0][1];
816
+ expect(payload.playReason).to.be.equal('user-interaction');
817
+ });
818
+
819
+ it('should handle AUTOSTART_BLOCKED event payload', function () {
820
+ const player = getPlayerMock();
821
+ const onSpy = sinon.spy();
822
+ player.on = onSpy;
823
+
824
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
825
+ provider.init();
826
+ const callback = sinon.spy();
827
+ provider.onEvent(AUTOSTART_BLOCKED, callback, {});
828
+
829
+ expect(onSpy.calledOnce).to.be.true;
830
+ expect(onSpy.args[0][0]).to.equal('autostartNotAllowed'); // AUTOSTART_BLOCKED maps to 'autostartNotAllowed'
831
+
832
+ const eventHandler = onSpy.args[0][1];
833
+ const mockEvent = {
834
+ error: new Error('Autostart blocked'),
835
+ code: 1001,
836
+ message: 'User interaction required'
837
+ };
838
+ eventHandler(mockEvent);
839
+
840
+ expect(callback.calledOnce).to.be.true;
841
+ const payload = callback.args[0][1];
842
+ expect(payload.sourceError).to.be.equal(mockEvent.error);
843
+ expect(payload.errorCode).to.be.equal(1001);
844
+ expect(payload.errorMessage).to.be.equal('User interaction required');
845
+ });
846
+
847
+ it('should handle PLAY_ATTEMPT_FAILED event payload', function () {
848
+ const player = getPlayerMock();
849
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
850
+ provider.init();
851
+ const callback = sinon.spy();
852
+
853
+ const onSpy = sinon.spy();
854
+ player.on = onSpy;
855
+
856
+ provider.onEvent(PLAY_ATTEMPT_FAILED, callback, {});
857
+
858
+ expect(onSpy.calledOnce).to.be.true;
859
+ expect(onSpy.args[0][0]).to.equal(PLAY_ATTEMPT_FAILED);
860
+
861
+ const eventHandler = onSpy.args[0][1];
862
+ const mockEvent = {
863
+ playReason: 'autoplay',
864
+ sourceError: new Error('Play failed'),
865
+ code: 2001,
866
+ message: 'Media not supported'
867
+ };
868
+ eventHandler(mockEvent);
869
+
870
+ expect(callback.calledOnce).to.be.true;
871
+ const payload = callback.args[0][1];
872
+ expect(payload.playReason).to.be.equal('autoplay');
873
+ expect(payload.sourceError).to.be.equal(mockEvent.sourceError);
874
+ expect(payload.errorCode).to.be.equal(2001);
875
+ expect(payload.errorMessage).to.be.equal('Media not supported');
876
+ });
877
+
878
+ it('should handle CONTENT_LOADED event payload', function () {
879
+ const player = getPlayerMock();
880
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
881
+ provider.init();
882
+ const callback = sinon.spy();
883
+
884
+ const onSpy = sinon.spy();
885
+ player.on = onSpy;
886
+
887
+ provider.onEvent(CONTENT_LOADED, callback, {});
888
+
889
+ expect(onSpy.calledOnce).to.be.true;
890
+ expect(onSpy.args[0][0]).to.equal('playlistItem'); // CONTENT_LOADED maps to 'playlistItem'
891
+
892
+ const eventHandler = onSpy.args[0][1];
893
+ const mockEvent = {
894
+ item: {
895
+ mediaid: 'content-123',
896
+ file: 'video.mp4',
897
+ title: 'Test Video',
898
+ description: 'Test Description',
899
+ tags: ['tag1', 'tag2']
900
+ },
901
+ index: 0
902
+ };
903
+ eventHandler(mockEvent);
904
+
905
+ expect(callback.calledOnce).to.be.true;
906
+ const payload = callback.args[0][1];
907
+ expect(payload.contentId).to.be.equal('content-123');
908
+ expect(payload.contentUrl).to.be.equal('video.mp4');
909
+ expect(payload.title).to.be.equal('Test Video');
910
+ expect(payload.description).to.be.equal('Test Description');
911
+ expect(payload.playlistIndex).to.be.equal(0);
912
+ expect(payload.contentTags).to.deep.equal(['tag1', 'tag2']);
913
+ });
914
+
915
+ it('should handle BUFFER event payload', function () {
916
+ const player = getPlayerMock();
917
+ const onSpy = sinon.spy();
918
+ player.on = onSpy;
919
+
920
+ const expectedTimeState = {
921
+ time: 15,
922
+ duration: 30
923
+ };
924
+
925
+ const timeState = {
926
+ getState: () => expectedTimeState
927
+ };
928
+
929
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
930
+ provider.init();
931
+ const callback = sinon.spy();
932
+ provider.onEvent(BUFFER, callback, {});
933
+
934
+ expect(onSpy.calledOnce).to.be.true;
935
+ expect(onSpy.args[0][0]).to.equal(BUFFER);
936
+
937
+ const eventHandler = onSpy.args[0][1];
938
+ eventHandler({});
939
+
940
+ expect(callback.calledOnce).to.be.true;
941
+ const payload = callback.args[0][1];
942
+ expect(payload).to.deep.equal(expectedTimeState);
943
+ });
944
+
945
+ it('should handle TIME event payload', function () {
946
+ const player = getPlayerMock();
947
+ const onSpy = sinon.spy();
948
+ player.on = onSpy;
949
+
950
+ const timeState = {
951
+ updateForEvent: sinon.spy(),
952
+ getState: () => ({})
953
+ };
954
+
955
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
956
+ provider.init();
957
+ const callback = sinon.spy();
958
+ provider.onEvent(TIME, callback, {});
959
+
960
+ expect(onSpy.calledOnce).to.be.true;
961
+ expect(onSpy.args[0][0]).to.equal(TIME);
962
+
963
+ const eventHandler = onSpy.args[0][1];
964
+ const mockEvent = { position: 25, duration: 120 };
965
+ eventHandler(mockEvent);
966
+
967
+ expect(callback.calledOnce).to.be.true;
968
+ const payload = callback.args[0][1];
969
+ expect(payload.position).to.be.equal(25);
970
+ expect(payload.duration).to.be.equal(120);
971
+ });
972
+
973
+ it('should handle SEEK_START event payload', function () {
974
+ const player = getPlayerMock();
975
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
976
+ provider.init();
977
+ const callback = sinon.spy();
978
+
979
+ const onSpy = sinon.spy();
980
+ player.on = onSpy;
981
+
982
+ provider.onEvent(SEEK_START, callback, {});
983
+
984
+ expect(onSpy.calledOnce).to.be.true;
985
+ expect(onSpy.args[0][0]).to.equal('seek'); // SEEK_START maps to 'seek'
986
+
987
+ const eventHandler = onSpy.args[0][1];
988
+ const mockEvent = { position: 10, offset: 30, duration: 120 };
989
+ eventHandler(mockEvent);
990
+
991
+ expect(callback.calledOnce).to.be.true;
992
+ const payload = callback.args[0][1];
993
+ expect(payload.position).to.be.equal(10);
994
+ expect(payload.destination).to.be.equal(30);
995
+ expect(payload.duration).to.be.equal(120);
996
+ });
997
+
998
+ it('should handle SEEK_END event payload', function () {
999
+ const player = getPlayerMock();
1000
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1001
+ provider.init();
1002
+ const callback = sinon.spy();
1003
+
1004
+ const onSpy = sinon.spy();
1005
+ player.on = onSpy;
1006
+
1007
+ provider.onEvent(SEEK_END, callback, {});
1008
+
1009
+ expect(onSpy.calledOnce).to.be.true;
1010
+ expect(onSpy.args[0][0]).to.equal('seeked'); // SEEK_END maps to 'seeked'
1011
+
1012
+ const eventHandler = onSpy.args[0][1];
1013
+
1014
+ // First trigger a seek start to set pendingSeek
1015
+ const seekStartCallback = sinon.spy();
1016
+ const seekStartOnSpy = sinon.spy();
1017
+ player.on = seekStartOnSpy;
1018
+ provider.onEvent(SEEK_START, seekStartCallback, {});
1019
+ const seekStartHandler = seekStartOnSpy.args[0][1];
1020
+ seekStartHandler({ position: 10, offset: 30, duration: 120 });
1021
+
1022
+ // Now trigger seek end
1023
+ eventHandler({});
1024
+
1025
+ expect(callback.calledOnce).to.be.true;
1026
+ const payload = callback.args[0][1];
1027
+ expect(payload.position).to.be.equal(30);
1028
+ expect(payload.duration).to.be.equal(120);
1029
+ });
1030
+
1031
+ it('should handle MUTE event payload', function () {
1032
+ const player = getPlayerMock();
1033
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1034
+ provider.init();
1035
+ const callback = sinon.spy();
1036
+
1037
+ const onSpy = sinon.spy();
1038
+ player.on = onSpy;
1039
+
1040
+ provider.onEvent(MUTE, callback, {});
1041
+
1042
+ expect(onSpy.calledOnce).to.be.true;
1043
+ expect(onSpy.args[0][0]).to.equal(MUTE);
1044
+
1045
+ const eventHandler = onSpy.args[0][1];
1046
+ const mockEvent = { mute: true };
1047
+ eventHandler(mockEvent);
1048
+
1049
+ expect(callback.calledOnce).to.be.true;
1050
+ const payload = callback.args[0][1];
1051
+ expect(payload.mute).to.be.true;
1052
+ });
1053
+
1054
+ it('should handle VOLUME event payload', function () {
1055
+ const player = getPlayerMock();
1056
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1057
+ provider.init();
1058
+ const callback = sinon.spy();
1059
+
1060
+ const onSpy = sinon.spy();
1061
+ player.on = onSpy;
1062
+
1063
+ provider.onEvent(VOLUME, callback, {});
1064
+
1065
+ expect(onSpy.calledOnce).to.be.true;
1066
+ expect(onSpy.args[0][0]).to.equal(VOLUME);
1067
+
1068
+ const eventHandler = onSpy.args[0][1];
1069
+ const mockEvent = { volume: 75 };
1070
+ eventHandler(mockEvent);
1071
+
1072
+ expect(callback.calledOnce).to.be.true;
1073
+ const payload = callback.args[0][1];
1074
+ expect(payload.volumePercentage).to.be.equal(75);
1075
+ });
1076
+
1077
+ it('should handle RENDITION_UPDATE event payload', function () {
1078
+ const player = getPlayerMock();
1079
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1080
+ provider.init();
1081
+ const callback = sinon.spy();
1082
+
1083
+ const onSpy = sinon.spy();
1084
+ player.on = onSpy;
1085
+
1086
+ provider.onEvent(RENDITION_UPDATE, callback, {});
1087
+
1088
+ expect(onSpy.calledOnce).to.be.true;
1089
+ expect(onSpy.args[0][0]).to.equal('visualQuality'); // RENDITION_UPDATE maps to 'visualQuality'
1090
+
1091
+ const eventHandler = onSpy.args[0][1];
1092
+ const mockEvent = {
1093
+ bitrate: 2000000,
1094
+ level: { width: 1920, height: 1080 },
1095
+ frameRate: 30
1096
+ };
1097
+ eventHandler(mockEvent);
1098
+
1099
+ expect(callback.calledOnce).to.be.true;
1100
+ const payload = callback.args[0][1];
1101
+ expect(payload.videoReportedBitrate).to.be.equal(2000000);
1102
+ expect(payload.audioReportedBitrate).to.be.equal(2000000);
1103
+ expect(payload.encodedVideoWidth).to.be.equal(1920);
1104
+ expect(payload.encodedVideoHeight).to.be.equal(1080);
1105
+ expect(payload.videoFramerate).to.be.equal(30);
1106
+ });
1107
+
1108
+ it('should handle ERROR event payload', function () {
1109
+ const player = getPlayerMock();
1110
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1111
+ provider.init();
1112
+ const callback = sinon.spy();
1113
+
1114
+ const onSpy = sinon.spy();
1115
+ player.on = onSpy;
1116
+
1117
+ provider.onEvent(ERROR, callback, {});
1118
+
1119
+ expect(onSpy.calledOnce).to.be.true;
1120
+ expect(onSpy.args[0][0]).to.equal(ERROR);
1121
+
1122
+ const eventHandler = onSpy.args[0][1];
1123
+ const mockEvent = {
1124
+ sourceError: new Error('Player error'),
1125
+ code: 3001,
1126
+ message: 'Media error occurred'
1127
+ };
1128
+ eventHandler(mockEvent);
1129
+
1130
+ expect(callback.calledOnce).to.be.true;
1131
+ const payload = callback.args[0][1];
1132
+ expect(payload.sourceError).to.be.equal(mockEvent.sourceError);
1133
+ expect(payload.errorCode).to.be.equal(3001);
1134
+ expect(payload.errorMessage).to.be.equal('Media error occurred');
1135
+ });
1136
+
1137
+ it('should handle COMPLETE event payload', function () {
1138
+ const player = getPlayerMock();
1139
+ const onSpy = sinon.spy();
1140
+ player.on = onSpy;
1141
+
1142
+ const timeState = {
1143
+ clearState: sinon.spy()
1144
+ };
1145
+
1146
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
1147
+ provider.init();
1148
+ const callback = sinon.spy();
1149
+ provider.onEvent(COMPLETE, callback, {});
1150
+
1151
+ expect(onSpy.calledOnce).to.be.true;
1152
+ expect(onSpy.args[0][0]).to.equal(COMPLETE);
1153
+
1154
+ const eventHandler = onSpy.args[0][1];
1155
+ eventHandler({});
1156
+
1157
+ expect(callback.calledOnce).to.be.true;
1158
+ });
1159
+
1160
+ it('should handle FULLSCREEN event payload', function () {
1161
+ const player = getPlayerMock();
1162
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1163
+ provider.init();
1164
+ const callback = sinon.spy();
1165
+
1166
+ const onSpy = sinon.spy();
1167
+ player.on = onSpy;
1168
+
1169
+ provider.onEvent(FULLSCREEN, callback, {});
1170
+
1171
+ expect(onSpy.calledOnce).to.be.true;
1172
+ expect(onSpy.args[0][0]).to.equal(FULLSCREEN);
1173
+
1174
+ const eventHandler = onSpy.args[0][1];
1175
+ const mockEvent = { fullscreen: true };
1176
+ eventHandler(mockEvent);
1177
+
1178
+ expect(callback.calledOnce).to.be.true;
1179
+ const payload = callback.args[0][1];
1180
+ expect(payload.fullscreen).to.be.true;
1181
+ });
1182
+
1183
+ it('should handle PLAYER_RESIZE event payload', function () {
1184
+ const player = getPlayerMock();
1185
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1186
+ provider.init();
1187
+ const callback = sinon.spy();
1188
+
1189
+ const onSpy = sinon.spy();
1190
+ player.on = onSpy;
1191
+
1192
+ provider.onEvent(PLAYER_RESIZE, callback, {});
1193
+
1194
+ expect(onSpy.calledOnce).to.be.true;
1195
+ expect(onSpy.args[0][0]).to.equal('resize'); // PLAYER_RESIZE maps to 'resize'
1196
+
1197
+ const eventHandler = onSpy.args[0][1];
1198
+ const mockEvent = { height: 480, width: 640 };
1199
+ eventHandler(mockEvent);
1200
+
1201
+ expect(callback.calledOnce).to.be.true;
1202
+ const payload = callback.args[0][1];
1203
+ expect(payload.height).to.be.equal(480);
1204
+ expect(payload.width).to.be.equal(640);
1205
+ });
1206
+
1207
+ it('should handle VIEWABLE event payload', function () {
1208
+ const player = getPlayerMock();
1209
+ player.getPercentViewable = () => 0.75;
1210
+
1211
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1212
+ provider.init();
1213
+ const callback = sinon.spy();
1214
+
1215
+ const onSpy = sinon.spy();
1216
+ player.on = onSpy;
1217
+
1218
+ provider.onEvent(VIEWABLE, callback, {});
1219
+
1220
+ expect(onSpy.calledOnce).to.be.true;
1221
+ expect(onSpy.args[0][0]).to.equal(VIEWABLE);
1222
+
1223
+ const eventHandler = onSpy.args[0][1];
1224
+ const mockEvent = { viewable: true };
1225
+ eventHandler(mockEvent);
1226
+
1227
+ expect(callback.calledOnce).to.be.true;
1228
+ const payload = callback.args[0][1];
1229
+ expect(payload.viewable).to.be.true;
1230
+ expect(payload.viewabilityPercentage).to.be.equal(75);
1231
+ });
1232
+
1233
+ it('should handle CAST event payload', function () {
1234
+ const player = getPlayerMock();
1235
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1236
+ provider.init();
1237
+ const callback = sinon.spy();
1238
+
1239
+ const onSpy = sinon.spy();
1240
+ player.on = onSpy;
1241
+
1242
+ provider.onEvent(CAST, callback, {});
1243
+
1244
+ expect(onSpy.calledOnce).to.be.true;
1245
+ expect(onSpy.args[0][0]).to.equal(CAST);
1246
+
1247
+ const eventHandler = onSpy.args[0][1];
1248
+ const mockEvent = { active: true };
1249
+ eventHandler(mockEvent);
1250
+
1251
+ expect(callback.calledOnce).to.be.true;
1252
+ const payload = callback.args[0][1];
1253
+ expect(payload.casting).to.be.true;
1254
+ });
1255
+
1256
+ it('should handle unknown events', function () {
1257
+ const player = getPlayerMock();
1258
+ const onSpy = sinon.spy(player, 'on');
1259
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1260
+ provider.init();
1261
+ const callback = sinon.spy();
1262
+ provider.onEvent('UNKNOWN_EVENT', callback, {});
1263
+
1264
+ expect(onSpy.called).to.be.false;
1265
+ });
1266
+
1267
+ it('should handle offEvent without callback', function () {
1268
+ const player = getPlayerMock();
1269
+ const offSpy = player.off = sinon.spy();
1270
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1271
+ provider.init();
1272
+ provider.offEvent(AD_IMPRESSION);
1273
+ expect(offSpy.calledOnce).to.be.true;
1274
+ });
1275
+
1276
+ it('should handle offEvent with non-existent callback', function () {
1277
+ const player = getPlayerMock();
1278
+ const offSpy = player.off = sinon.spy();
1279
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1280
+ provider.init();
1281
+ const callback = () => {};
1282
+ provider.offEvent(AD_IMPRESSION, callback);
1283
+ expect(offSpy.called).to.be.false;
1284
+ });
1285
+ });
1286
+
1287
+ describe('destroy', function () {
1288
+ it('should remove and null the player', function () {
1289
+ const player = getPlayerMock();
1290
+ const removeSpy = player.remove = sinon.spy();
1291
+ player.remove = removeSpy;
1292
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1293
+ provider.init();
1294
+ provider.destroy();
1295
+ provider.destroy();
1296
+ expect(removeSpy.calledOnce).to.be.true;
1297
+ });
1298
+
1299
+ it('should not throw when destroy is called and player is null', function () {
1300
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1301
+ provider.destroy();
1302
+ });
1303
+ });
1304
+
1305
+ describe('setupPlayer', function () {
1306
+ it('should setup player with config', function () {
1307
+ const player = getPlayerMock();
1308
+ const setupSpy = player.setup = sinon.spy(() => player);
1309
+ const onSpy = player.on = sinon.spy(() => player);
1310
+
1311
+ const config = { divId: 'test', playerConfig: { file: 'video.mp4' } };
1312
+ const utils = getUtilsMock();
1313
+ utils.getJwConfig = () => ({ file: 'video.mp4', autostart: false });
1314
+
1315
+ const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);
1316
+ provider.init();
1317
+
1318
+ expect(setupSpy.calledOnce).to.be.true;
1319
+ expect(setupSpy.args[0][0]).to.deep.equal({ file: 'video.mp4', autostart: false });
1320
+ expect(onSpy.calledTwice).to.be.true;
1321
+ expect(onSpy.args[0][0]).to.be.equal('ready');
1322
+ expect(onSpy.args[1][0]).to.be.equal('setupError');
1323
+ });
1324
+
1325
+ it('should handle setup without config', function () {
1326
+ const player = getPlayerMock();
1327
+ const setupSpy = player.setup = sinon.spy();
1328
+
1329
+ const config = { divId: 'test' };
1330
+ const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1331
+ provider.init();
1332
+
1333
+ expect(setupSpy.called).to.be.false;
1334
+ });
1335
+ });
1336
+
1337
+ describe('getOrtbVideo edge cases', function () {
1338
+ it('should handle missing player', function () {
1339
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1340
+ const result = provider.getOrtbVideo();
1341
+ expect(result).to.be.undefined;
1342
+ });
1343
+
1344
+ it('should not throw when missing config', function () {
1345
+ const player = getPlayerMock();
1346
+ player.getConfig = () => null;
1347
+
1348
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1349
+ provider.init();
1350
+ const result = provider.getOrtbVideo();
1351
+ expect(result).to.be.an('object');
1352
+ });
1353
+
1354
+ it('should not throw when missing advertising config', function () {
1355
+ const player = getPlayerMock();
1356
+ player.getConfig = () => ({});
1357
+
1358
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1359
+ provider.init();
1360
+ const result = provider.getOrtbVideo();
1361
+ expect(result).to.be.an('object');
1362
+ });
1363
+
1364
+ it('should calculate size from aspect ratio when height and width are null', function () {
1365
+ const player = getPlayerMock();
1366
+ player.getConfig = () => ({
1367
+ advertising: { battr: 'test' },
1368
+ aspectratio: '16:9',
1369
+ width: '100%'
1370
+ });
1371
+ player.getContainer = () => ({ clientWidth: 800, clientHeight: 600 });
1372
+
1373
+ const utils = getUtilsMock();
1374
+ utils.getPlayerHeight = () => null;
1375
+ utils.getPlayerWidth = () => null;
1376
+ utils.getPlayerSizeFromAspectRatio = () => ({ height: 450, width: 800 });
1377
+ utils.getSupportedMediaTypes = () => [VIDEO_MIME_TYPE.MP4];
1378
+ utils.getStartDelay = () => 0;
1379
+ utils.getPlacement = () => PLACEMENT.INSTREAM;
1380
+ utils.getPlaybackMethod = () => PLAYBACK_METHODS.CLICK_TO_PLAY;
1381
+ utils.isOmidSupported = () => false;
1382
+ utils.getSkipParams = () => ({});
1383
+
1384
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);
1385
+ provider.init();
1386
+ const result = provider.getOrtbVideo();
1387
+
1388
+ expect(result.h).to.be.equal(450);
1389
+ expect(result.w).to.be.equal(800);
1390
+ });
1391
+ });
1392
+
1393
+ describe('getOrtbContent edge cases', function () {
1394
+ it('should handle missing player', function () {
1395
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1396
+ const result = provider.getOrtbContent();
1397
+ expect(result).to.be.undefined;
1398
+ });
1399
+
1400
+ it('should handle missing playlist item', function () {
1401
+ const player = getPlayerMock();
1402
+ player.getPlaylistItem = () => null;
1403
+ player.getDuration = () => 120;
1404
+
1405
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1406
+ provider.init();
1407
+ const result = provider.getOrtbContent();
1408
+ expect(result).to.be.an('object');
1409
+ expect(result.url).to.be.undefined;
1410
+ expect(result.len).to.be.equal(120);
1411
+ });
1412
+
1413
+ it('should handle missing duration in timeState', function () {
1414
+ const player = getPlayerMock();
1415
+ player.getPlaylistItem = () => ({ mediaid: 'test' });
1416
+ player.getDuration = () => 120;
1417
+
1418
+ const timeState = timeStateFactory();
1419
+ timeState.getState = () => ({ duration: undefined });
1420
+
1421
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
1422
+ provider.init();
1423
+ const result = provider.getOrtbContent();
1424
+
1425
+ expect(result.len).to.be.equal(120);
1426
+ });
1427
+
1428
+ it('should handle missing mediaId', function () {
1429
+ const player = getPlayerMock();
1430
+ player.getPlaylistItem = () => ({ file: 'video.mp4' });
1431
+
1432
+ const timeState = timeStateFactory();
1433
+ timeState.getState = () => ({ duration: 120 });
1434
+
1435
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), getUtilsMock(), sharedUtils);
1436
+ provider.init();
1437
+ const result = provider.getOrtbContent();
1438
+
1439
+ expect(result).to.not.have.property('id');
1440
+ });
1441
+
1442
+ it('should handle missing jwpseg', function () {
1443
+ const player = getPlayerMock();
1444
+ player.getPlaylistItem = () => ({ mediaid: 'test', file: 'video.mp4' });
1445
+
1446
+ const timeState = timeStateFactory();
1447
+ timeState.getState = () => ({ duration: 120 });
1448
+
1449
+ const utils = getUtilsMock();
1450
+ utils.getSegments = () => undefined;
1451
+ utils.getContentDatum = () => undefined;
1452
+ utils.getIsoLanguageCode = () => undefined;
1453
+
1454
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), utils, sharedUtils);
1455
+ provider.init();
1456
+ const result = provider.getOrtbContent();
1457
+
1458
+ expect(result).to.not.have.property('data');
1459
+ });
1460
+
1461
+ it('should handle missing language', function () {
1462
+ const player = getPlayerMock();
1463
+ player.getPlaylistItem = () => ({ mediaid: 'test', file: 'video.mp4' });
1464
+
1465
+ const timeState = timeStateFactory();
1466
+ timeState.getState = () => ({ duration: 120 });
1467
+
1468
+ const utils = getUtilsMock();
1469
+ utils.getSegments = () => undefined;
1470
+ utils.getContentDatum = () => undefined;
1471
+ utils.getIsoLanguageCode = () => undefined;
1472
+
1473
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, callbackStorageFactory(), utils, sharedUtils);
1474
+ provider.init();
1475
+ const result = provider.getOrtbContent();
1476
+
1477
+ expect(result).to.not.have.property('language');
1478
+ });
1479
+ });
1480
+
1481
+ describe('setAdTagUrl edge cases', function () {
1482
+ it('should not throw when setAdTagUrl is called and player is null', function () {
1483
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1484
+ provider.setAdTagUrl('test-url');
1485
+ });
1486
+
1487
+ it('should handle missing adTagUrl', function () {
1488
+ const player = getPlayerMock();
1489
+ const playAdSpy = player.playAd = sinon.spy();
1490
+
1491
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1492
+ provider.init();
1493
+ provider.setAdTagUrl(null, { adXml: 'test-vast' });
1494
+
1495
+ expect(playAdSpy.calledOnce).to.be.true;
1496
+ expect(playAdSpy.args[0][0]).to.be.equal('test-vast');
1497
+ });
1498
+
1499
+ it('should pass options to playAd', function () {
1500
+ const player = getPlayerMock();
1501
+ const playAdSpy = player.playAd = sinon.spy();
1502
+
1503
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1504
+ provider.init();
1505
+ const options = { adXml: '<VAST></VAST>' };
1506
+ provider.setAdTagUrl('test-url', options);
1507
+
1508
+ expect(playAdSpy.calledOnce).to.be.true;
1509
+ expect(playAdSpy.args[0][0]).to.be.equal('test-url');
1510
+ expect(playAdSpy.args[0][1]).to.be.equal(options);
1511
+ });
1512
+ });
1513
+
1514
+ describe('setAdXml edge cases', function () {
1515
+ it('should not throw when setAdXml is called and player is null', function () {
1516
+ const provider = JWPlayerProvider({ divId: 'test' }, null, adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1517
+ provider.setAdXml('<VAST></VAST>');
1518
+ });
1519
+
1520
+ it('should handle missing options', function () {
1521
+ const player = getPlayerMock();
1522
+ const loadSpy = player.loadAdXml = sinon.spy();
1523
+
1524
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
1525
+ provider.init();
1526
+ provider.setAdXml('<VAST></VAST>');
1527
+
1528
+ expect(loadSpy.calledOnce).to.be.true;
1529
+ expect(loadSpy.args[0][0]).to.be.equal('<VAST></VAST>');
1530
+ expect(loadSpy.args[0][1]).to.be.undefined;
1531
+ });
1532
+ });
1533
+ });
1534
+
1535
+ describe('adStateFactory', function () {
1536
+ let adState = adStateFactory();
1537
+
1538
+ beforeEach(() => {
1539
+ adState.clearState();
1540
+ });
1541
+
1542
+ it('should update state for ad events', function () {
1543
+ const tag = 'tag';
1544
+ const adPosition = 'adPosition';
1545
+ const timeLoading = 'timeLoading';
1546
+ const id = 'id';
1547
+ const description = 'description';
1548
+ const adsystem = 'adsystem';
1549
+ const adtitle = 'adtitle';
1550
+ const advertiserId = 'advertiserId';
1551
+ const advertiser = 'advertiser';
1552
+ const dealId = 'dealId';
1553
+ const linear = 'linear';
1554
+ const vastversion = 'vastversion';
1555
+ const mediaFile = 'mediaFile';
1556
+ const adId = 'adId';
1557
+ const universalAdId = 'universalAdId';
1558
+ const creativeAdId = 'creativeAdId';
1559
+ const creativetype = 'creativetype';
1560
+ const clickThroughUrl = 'clickThroughUrl';
1561
+ const witem = 'witem';
1562
+ const wcount = 'wcount';
1563
+ const podcount = 'podcount';
1564
+ const sequence = 'sequence';
1565
+
1566
+ adState.updateForEvent({
1567
+ tag,
1568
+ adPosition,
1569
+ timeLoading,
1570
+ id,
1571
+ description,
1572
+ adsystem,
1573
+ adtitle,
1574
+ advertiserId,
1575
+ advertiser,
1576
+ dealId,
1577
+ linear,
1578
+ vastversion,
1579
+ mediaFile,
1580
+ adId,
1581
+ universalAdId,
1582
+ creativeAdId,
1583
+ creativetype,
1584
+ clickThroughUrl,
1585
+ witem,
1586
+ wcount,
1587
+ podcount,
1588
+ sequence
1589
+ });
1590
+
1591
+ const state = adState.getState();
1592
+ expect(state.adTagUrl).to.equal(tag);
1593
+ expect(state.offset).to.equal(adPosition);
1594
+ expect(state.loadTime).to.equal(timeLoading);
1595
+ expect(state.vastAdId).to.equal(id);
1596
+ expect(state.adDescription).to.equal(description);
1597
+ expect(state.adServer).to.equal(adsystem);
1598
+ expect(state.adTitle).to.equal(adtitle);
1599
+ expect(state.advertiserId).to.equal(advertiserId);
1600
+ expect(state.dealId).to.equal(dealId);
1601
+ expect(state.linear).to.equal(linear);
1602
+ expect(state.vastVersion).to.equal(vastversion);
1603
+ expect(state.creativeUrl).to.equal(mediaFile);
1604
+ expect(state.adId).to.equal(adId);
1605
+ expect(state.universalAdId).to.equal(universalAdId);
1606
+ expect(state.creativeId).to.equal(creativeAdId);
1607
+ expect(state.creativeType).to.equal(creativetype);
1608
+ expect(state.redirectUrl).to.equal(clickThroughUrl);
1609
+ expect(state).to.have.property('adPlacementType');
1610
+ expect(state.adPlacementType).to.be.undefined;
1611
+ expect(state.waterfallIndex).to.equal(witem);
1612
+ expect(state.waterfallCount).to.equal(wcount);
1613
+ expect(state.adPodCount).to.equal(podcount);
1614
+ expect(state.adPodIndex).to.equal(sequence);
1615
+ });
1616
+
1617
+ it('should convert placement to oRTB value', function () {
1618
+ adState.updateForEvent({
1619
+ placement: 'instream'
1620
+ });
1621
+
1622
+ let state = adState.getState();
1623
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.INSTREAM);
1624
+
1625
+ adState.updateForEvent({
1626
+ placement: 'banner'
1627
+ });
1628
+
1629
+ state = adState.getState();
1630
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.BANNER);
1631
+
1632
+ adState.updateForEvent({
1633
+ placement: 'article'
1634
+ });
1635
+
1636
+ state = adState.getState();
1637
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.ARTICLE);
1638
+
1639
+ adState.updateForEvent({
1640
+ placement: 'feed'
1641
+ });
1642
+
1643
+ state = adState.getState();
1644
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.FEED);
1645
+
1646
+ adState.updateForEvent({
1647
+ placement: 'interstitial'
1648
+ });
1649
+
1650
+ state = adState.getState();
1651
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.INTERSTITIAL);
1652
+
1653
+ adState.updateForEvent({
1654
+ placement: 'slider'
1655
+ });
1656
+
1657
+ state = adState.getState();
1658
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.SLIDER);
1659
+
1660
+ adState.updateForEvent({
1661
+ placement: 'floating'
1662
+ });
1663
+
1664
+ state = adState.getState();
1665
+ expect(state.adPlacementType).to.be.equal(PLACEMENT.FLOATING);
1666
+ });
1667
+
1668
+ it('should handle unknown placement values', function () {
1669
+ adState.updateForEvent({
1670
+ placement: 'unknown'
1671
+ });
1672
+
1673
+ const state = adState.getState();
1674
+ expect(state.adPlacementType).to.be.undefined;
1675
+ });
1676
+
1677
+ it('should handle missing placement', function () {
1678
+ adState.updateForEvent({});
1679
+
1680
+ const state = adState.getState();
1681
+ expect(state.adPlacementType).to.be.undefined;
1682
+ });
1683
+
1684
+ it('should handle partial event data', function () {
1685
+ adState.updateForEvent({
1686
+ tag: 'test-tag',
1687
+ id: 'test-id'
1688
+ });
1689
+
1690
+ const state = adState.getState();
1691
+ expect(state.adTagUrl).to.equal('test-tag');
1692
+ expect(state.vastAdId).to.equal('test-id');
1693
+ expect(state.adDescription).to.be.undefined;
1694
+ expect(state.adServer).to.be.undefined;
1695
+ });
1696
+
1697
+ it('should handle null and undefined values', function () {
1698
+ adState.updateForEvent({
1699
+ tag: null,
1700
+ id: undefined,
1701
+ description: null,
1702
+ adsystem: undefined
1703
+ });
1704
+
1705
+ const state = adState.getState();
1706
+ expect(state.adTagUrl).to.be.null;
1707
+ expect(state.vastAdId).to.be.undefined;
1708
+ expect(state.adDescription).to.be.null;
1709
+ expect(state.adServer).to.be.undefined;
1710
+ });
1711
+
1712
+ it('should handle googima client wrapper ad ids', function () {
1713
+ const mockImaAd = {
1714
+ ad: {
1715
+ a: {
1716
+ adWrapperIds: ['wrapper1', 'wrapper2']
1717
+ }
1718
+ }
1719
+ };
1720
+
1721
+ adState.updateForEvent({
1722
+ client: 'googima',
1723
+ ima: mockImaAd
1724
+ });
1725
+
1726
+ const state = adState.getState();
1727
+ expect(state.wrapperAdIds).to.deep.equal(['wrapper1', 'wrapper2']);
1728
+ });
1729
+
1730
+ it('should handle googima client without wrapper ad ids', function () {
1731
+ const mockImaAd = {
1732
+ ad: {}
1733
+ };
1734
+
1735
+ adState.updateForEvent({
1736
+ client: 'googima',
1737
+ ima: mockImaAd
1738
+ });
1739
+
1740
+ const state = adState.getState();
1741
+ expect(state.wrapperAdIds).to.be.undefined;
1742
+ });
1743
+
1744
+ it('should handle googima client without ima object', function () {
1745
+ adState.updateForEvent({
1746
+ client: 'googima'
1747
+ });
1748
+
1749
+ const state = adState.getState();
1750
+ expect(state.wrapperAdIds).to.be.undefined;
1751
+ });
1752
+
1753
+ it('should support wrapper ad ids for non-googima clients', function () {
1754
+ adState.updateForEvent({
1755
+ client: 'vast',
1756
+ wrapperAdIds: ['existing']
1757
+ });
1758
+
1759
+ const state = adState.getState();
1760
+ expect(state.wrapperAdIds).to.deep.equal(['existing']);
1761
+ });
1762
+
1763
+ it('should clear state when clearState is called', function () {
1764
+ adState.updateForEvent({
1765
+ tag: 'test-tag',
1766
+ id: 'test-id'
1767
+ });
1768
+
1769
+ let state = adState.getState();
1770
+ expect(state.adTagUrl).to.equal('test-tag');
1771
+ expect(state.vastAdId).to.equal('test-id');
1772
+
1773
+ adState.clearState();
1774
+ state = adState.getState();
1775
+ expect(state.adTagUrl).to.be.undefined;
1776
+ expect(state.vastAdId).to.be.undefined;
1777
+ });
1778
+
1779
+ it('should update state with additional properties', function () {
1780
+ adState.updateForEvent({
1781
+ tag: 'test-tag'
1782
+ });
1783
+
1784
+ adState.updateState({
1785
+ skip: 1,
1786
+ skipmin: 5,
1787
+ skipafter: 3
1788
+ });
1789
+
1790
+ const state = adState.getState();
1791
+ expect(state.adTagUrl).to.equal('test-tag');
1792
+ expect(state.skip).to.equal(1);
1793
+ expect(state.skipmin).to.equal(5);
1794
+ expect(state.skipafter).to.equal(3);
1795
+ });
1796
+ });
1797
+
1798
+ describe('timeStateFactory', function () {
1799
+ let timeState = timeStateFactory();
1800
+
1801
+ beforeEach(() => {
1802
+ timeState.clearState();
1803
+ });
1804
+
1805
+ it('should update state for VOD time event', function() {
1806
+ const position = 5;
1807
+ const test_duration = 30;
1808
+
1809
+ timeState.updateForEvent({
1810
+ position,
1811
+ duration: test_duration
1812
+ });
1813
+
1814
+ const { time, duration, playbackMode } = timeState.getState();
1815
+ expect(time).to.be.equal(position);
1816
+ expect(duration).to.be.equal(test_duration);
1817
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);
1818
+ });
1819
+
1820
+ it('should update state for LIVE time events', function() {
1821
+ const position = 0;
1822
+ const test_duration = 0;
1823
+
1824
+ timeState.updateForEvent({
1825
+ position,
1826
+ duration: test_duration
1827
+ });
1828
+
1829
+ const { time, duration, playbackMode } = timeState.getState();
1830
+ expect(time).to.be.equal(position);
1831
+ expect(duration).to.be.equal(test_duration);
1832
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);
1833
+ });
1834
+
1835
+ it('should update state for DVR time events', function() {
1836
+ const position = -5;
1837
+ const test_duration = -30;
1838
+
1839
+ timeState.updateForEvent({
1840
+ position,
1841
+ duration: test_duration
1842
+ });
1843
+
1844
+ const { time, duration, playbackMode } = timeState.getState();
1845
+ expect(time).to.be.equal(position);
1846
+ expect(duration).to.be.equal(test_duration);
1847
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.DVR);
1848
+ });
1849
+
1850
+ it('should handle partial event data', function() {
1851
+ timeState.updateForEvent({
1852
+ position: 10
1853
+ });
1854
+
1855
+ const { time, duration, playbackMode } = timeState.getState();
1856
+ expect(time).to.be.equal(10);
1857
+ expect(duration).to.be.undefined;
1858
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);
1859
+ });
1860
+
1861
+ it('should handle null and undefined values', function() {
1862
+ timeState.updateForEvent({
1863
+ position: null,
1864
+ duration: undefined
1865
+ });
1866
+
1867
+ const { time, duration, playbackMode } = timeState.getState();
1868
+ expect(time).to.be.null;
1869
+ expect(duration).to.be.undefined;
1870
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);
1871
+ });
1872
+
1873
+ it('should clear state when clearState is called', function() {
1874
+ timeState.updateForEvent({
1875
+ position: 15,
1876
+ duration: 60
1877
+ });
1878
+
1879
+ let state = timeState.getState();
1880
+ expect(state.time).to.be.equal(15);
1881
+ expect(state.duration).to.be.equal(60);
1882
+
1883
+ timeState.clearState();
1884
+ state = timeState.getState();
1885
+ expect(state.time).to.be.undefined;
1886
+ expect(state.duration).to.be.undefined;
1887
+ });
1888
+
1889
+ it('should update state with additional properties', function() {
1890
+ timeState.updateForEvent({
1891
+ position: 20,
1892
+ duration: 120
1893
+ });
533
1894
 
534
- timeState.updateForEvent({
535
- position,
536
- duration: test_duration
1895
+ timeState.updateState({
1896
+ playbackMode: PLAYBACK_MODE.VOD
537
1897
  });
538
1898
 
539
- const { time, duration, playbackMode } = timeState.getState();
540
- expect(time).to.be.equal(position);
541
- expect(duration).to.be.equal(test_duration);
542
- expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);
1899
+ const state = timeState.getState();
1900
+ expect(state.time).to.be.equal(20);
1901
+ expect(state.duration).to.be.equal(120);
1902
+ expect(state.playbackMode).to.be.equal(PLAYBACK_MODE.VOD);
543
1903
  });
544
1904
 
545
- it('should update state for LIVE time events', function() {
546
- const position = 0;
547
- const test_duration = 0;
548
-
1905
+ it('should handle zero duration as LIVE mode', function() {
549
1906
  timeState.updateForEvent({
550
- position,
551
- duration: test_duration
1907
+ position: 0,
1908
+ duration: 0
552
1909
  });
553
1910
 
554
- const { time, duration, playbackMode } = timeState.getState();
555
- expect(time).to.be.equal(position);
556
- expect(duration).to.be.equal(test_duration);
1911
+ const { playbackMode } = timeState.getState();
557
1912
  expect(playbackMode).to.be.equal(PLAYBACK_MODE.LIVE);
558
1913
  });
559
1914
 
560
- it('should update state for DVR time events', function() {
561
- const position = -5;
562
- const test_duration = -30;
563
-
1915
+ it('should handle negative duration as DVR mode', function() {
564
1916
  timeState.updateForEvent({
565
- position,
566
- duration: test_duration
1917
+ position: -10,
1918
+ duration: -60
567
1919
  });
568
1920
 
569
- const { time, duration, playbackMode } = timeState.getState();
570
- expect(time).to.be.equal(position);
571
- expect(duration).to.be.equal(test_duration);
1921
+ const { playbackMode } = timeState.getState();
572
1922
  expect(playbackMode).to.be.equal(PLAYBACK_MODE.DVR);
573
1923
  });
1924
+
1925
+ it('should handle positive duration as VOD mode', function() {
1926
+ timeState.updateForEvent({
1927
+ position: 30,
1928
+ duration: 180
1929
+ });
1930
+
1931
+ const { playbackMode } = timeState.getState();
1932
+ expect(playbackMode).to.be.equal(PLAYBACK_MODE.VOD);
1933
+ });
574
1934
  });
575
1935
 
576
1936
  describe('callbackStorageFactory', function () {
@@ -613,6 +1973,133 @@ describe('callbackStorageFactory', function () {
613
1973
  callbackStorage.clearStorage();
614
1974
  expect(callbackStorage.getCallback('event', callback1)).to.be.undefined;
615
1975
  });
1976
+
1977
+ it('should handle multiple events', function () {
1978
+ const callback1 = () => 'callback1';
1979
+ const eventHandler1 = () => 'eventHandler1';
1980
+ const callback2 = () => 'callback2';
1981
+ const eventHandler2 = () => 'eventHandler2';
1982
+
1983
+ callbackStorage.storeCallback('event1', eventHandler1, callback1);
1984
+ callbackStorage.storeCallback('event2', eventHandler2, callback2);
1985
+
1986
+ expect(callbackStorage.getCallback('event1', callback1)).to.be.equal(eventHandler1);
1987
+ expect(callbackStorage.getCallback('event2', callback2)).to.be.equal(eventHandler2);
1988
+ });
1989
+
1990
+ it('should handle non-existent events', function () {
1991
+ const callback = () => 'callback';
1992
+ expect(callbackStorage.getCallback('nonexistent', callback)).to.be.undefined;
1993
+ });
1994
+
1995
+ it('should handle null and undefined callbacks', function () {
1996
+ const eventHandler = () => 'eventHandler';
1997
+ callbackStorage.storeCallback('event', eventHandler, null);
1998
+ callbackStorage.storeCallback('event2', eventHandler, undefined);
1999
+
2000
+ expect(callbackStorage.getCallback('event', null)).to.be.equal(eventHandler);
2001
+ expect(callbackStorage.getCallback('event2', undefined)).to.be.equal(eventHandler);
2002
+ });
2003
+
2004
+ it('should handle multiple callbacks for same event', function () {
2005
+ const callback1 = () => 'callback1';
2006
+ const callback2 = () => 'callback2';
2007
+ const eventHandler1 = () => 'eventHandler1';
2008
+ const eventHandler2 = () => 'eventHandler2';
2009
+
2010
+ callbackStorage.storeCallback('event', eventHandler1, callback1);
2011
+ callbackStorage.storeCallback('event', eventHandler2, callback2);
2012
+
2013
+ expect(callbackStorage.getCallback('event', callback1)).to.be.equal(eventHandler1);
2014
+ expect(callbackStorage.getCallback('event', callback2)).to.be.equal(eventHandler2);
2015
+ });
2016
+
2017
+ it('should handle overwriting callbacks', function () {
2018
+ const callback = () => 'callback';
2019
+ const eventHandler1 = () => 'eventHandler1';
2020
+ const eventHandler2 = () => 'eventHandler2';
2021
+
2022
+ callbackStorage.storeCallback('event', eventHandler1, callback);
2023
+ callbackStorage.storeCallback('event', eventHandler2, callback);
2024
+
2025
+ expect(callbackStorage.getCallback('event', callback)).to.be.equal(eventHandler2);
2026
+ });
2027
+ });
2028
+
2029
+ describe('jwplayerSubmoduleFactory', function () {
2030
+ const jwplayerSubmoduleFactory = require('modules/jwplayerVideoProvider').default;
2031
+
2032
+ it('should create a provider with correct vendor code', function () {
2033
+ const config = { divId: 'test' };
2034
+ const provider = jwplayerSubmoduleFactory(config, sharedUtils);
2035
+
2036
+ expect(provider).to.be.an('object');
2037
+ expect(provider.init).to.be.a('function');
2038
+ expect(provider.getId).to.be.a('function');
2039
+ expect(provider.getOrtbVideo).to.be.a('function');
2040
+ expect(provider.getOrtbContent).to.be.a('function');
2041
+ expect(provider.setAdTagUrl).to.be.a('function');
2042
+ expect(provider.setAdXml).to.be.a('function');
2043
+ expect(provider.onEvent).to.be.a('function');
2044
+ expect(provider.offEvent).to.be.a('function');
2045
+ expect(provider.destroy).to.be.a('function');
2046
+ });
2047
+
2048
+ it('should have correct vendor code', function () {
2049
+ expect(jwplayerSubmoduleFactory.vendorCode).to.be.equal(JWPLAYER_VENDOR);
2050
+ });
2051
+
2052
+ it('should create independent state instances', function () {
2053
+ const config1 = { divId: 'test1' };
2054
+ const config2 = { divId: 'test2' };
2055
+
2056
+ const provider1 = jwplayerSubmoduleFactory(config1, sharedUtils);
2057
+ const provider2 = jwplayerSubmoduleFactory(config2, sharedUtils);
2058
+
2059
+ expect(provider1).to.not.equal(provider2);
2060
+ expect(provider1.getId()).to.equal('test1');
2061
+ expect(provider2.getId()).to.equal('test2');
2062
+ });
2063
+
2064
+ it('should handle missing jwplayer global', function () {
2065
+ const originalJwplayer = window.jwplayer;
2066
+ window.jwplayer = undefined;
2067
+
2068
+ const config = { divId: 'test' };
2069
+ const provider = jwplayerSubmoduleFactory(config, sharedUtils);
2070
+
2071
+ const setupFailed = sinon.spy();
2072
+ provider.onEvent(SETUP_FAILED, setupFailed, {});
2073
+ provider.init();
2074
+
2075
+ expect(setupFailed.calledOnce).to.be.true;
2076
+ const payload = setupFailed.args[0][1];
2077
+ expect(payload.errorCode).to.be.equal(-1);
2078
+
2079
+ // Restore original jwplayer
2080
+ window.jwplayer = originalJwplayer;
2081
+ });
2082
+
2083
+ it('should handle jwplayer with unsupported version', function () {
2084
+ const originalJwplayer = window.jwplayer;
2085
+ const mockJwplayer = () => {};
2086
+ mockJwplayer.version = '8.20.0';
2087
+ window.jwplayer = mockJwplayer;
2088
+
2089
+ const config = { divId: 'test' };
2090
+ const provider = jwplayerSubmoduleFactory(config, sharedUtils);
2091
+
2092
+ const setupFailed = sinon.spy();
2093
+ provider.onEvent(SETUP_FAILED, setupFailed, {});
2094
+ provider.init();
2095
+
2096
+ expect(setupFailed.calledOnce).to.be.true;
2097
+ const payload = setupFailed.args[0][1];
2098
+ expect(payload.errorCode).to.be.equal(-2);
2099
+
2100
+ // Restore original jwplayer
2101
+ window.jwplayer = originalJwplayer;
2102
+ });
616
2103
  });
617
2104
 
618
2105
  describe('utils', function () {
@@ -717,6 +2204,79 @@ describe('utils', function () {
717
2204
  expect(jwConfig).to.have.property('advertising');
718
2205
  expect(jwConfig.advertising).to.have.property('client', 'vast');
719
2206
  });
2207
+
2208
+ it('should set outstream to true when no file, playlist, or source is provided', function () {
2209
+ let jwConfig = getJwConfig({
2210
+ params: {
2211
+ vendorConfig: {}
2212
+ }
2213
+ });
2214
+
2215
+ expect(jwConfig.advertising.outstream).to.be.true;
2216
+ });
2217
+
2218
+ it('should not set outstream when file is provided', function () {
2219
+ let jwConfig = getJwConfig({
2220
+ params: {
2221
+ vendorConfig: {
2222
+ file: 'video.mp4'
2223
+ }
2224
+ }
2225
+ });
2226
+
2227
+ expect(jwConfig.advertising.outstream).to.be.undefined;
2228
+ });
2229
+
2230
+ it('should not set outstream when playlist is provided', function () {
2231
+ let jwConfig = getJwConfig({
2232
+ params: {
2233
+ vendorConfig: {
2234
+ playlist: [{ file: 'video.mp4' }]
2235
+ }
2236
+ }
2237
+ });
2238
+
2239
+ expect(jwConfig.advertising.outstream).to.be.undefined;
2240
+ });
2241
+
2242
+ it('should not set outstream when source is provided', function () {
2243
+ let jwConfig = getJwConfig({
2244
+ params: {
2245
+ vendorConfig: {
2246
+ source: 'video.mp4'
2247
+ }
2248
+ }
2249
+ });
2250
+
2251
+ expect(jwConfig.advertising.outstream).to.be.undefined;
2252
+ });
2253
+
2254
+ it('should set prebid bids to true', function () {
2255
+ let jwConfig = getJwConfig({
2256
+ params: {
2257
+ vendorConfig: {}
2258
+ }
2259
+ });
2260
+
2261
+ expect(jwConfig.advertising.bids.prebid).to.be.true;
2262
+ });
2263
+
2264
+ it('should preserve existing bids configuration', function () {
2265
+ let jwConfig = getJwConfig({
2266
+ params: {
2267
+ vendorConfig: {
2268
+ advertising: {
2269
+ bids: {
2270
+ existing: 'bid'
2271
+ }
2272
+ }
2273
+ }
2274
+ }
2275
+ });
2276
+
2277
+ expect(jwConfig.advertising.bids.existing).to.be.equal('bid');
2278
+ expect(jwConfig.advertising.bids.prebid).to.be.true;
2279
+ });
720
2280
  });
721
2281
 
722
2282
  describe('getPlayerHeight', function () {
@@ -733,6 +2293,16 @@ describe('utils', function () {
733
2293
  const playerMock = { getHeight: () => undefined };
734
2294
  expect(getPlayerHeight(playerMock, { height: 500 })).to.equal(expectedHeight);
735
2295
  });
2296
+
2297
+ it('should return undefined when both API and config return undefined', function () {
2298
+ const playerMock = { getHeight: () => undefined };
2299
+ expect(getPlayerHeight(playerMock, {})).to.be.undefined;
2300
+ });
2301
+
2302
+ it('should return undefined when both API and config return null', function () {
2303
+ const playerMock = { getHeight: () => null };
2304
+ expect(getPlayerHeight(playerMock, { height: null })).to.be.null;
2305
+ });
736
2306
  });
737
2307
 
738
2308
  describe('getPlayerWidth', function () {
@@ -754,6 +2324,16 @@ describe('utils', function () {
754
2324
  const playerMock = { getWidth: () => undefined };
755
2325
  expect(getPlayerWidth(playerMock, { width: '50%' })).to.be.undefined;
756
2326
  });
2327
+
2328
+ it('should return undefined when both API and config return undefined', function () {
2329
+ const playerMock = { getWidth: () => undefined };
2330
+ expect(getPlayerWidth(playerMock, {})).to.be.undefined;
2331
+ });
2332
+
2333
+ it('should return undefined when both API and config return null', function () {
2334
+ const playerMock = { getWidth: () => null };
2335
+ expect(getPlayerWidth(playerMock, { width: null })).to.be.undefined;
2336
+ });
757
2337
  });
758
2338
 
759
2339
  describe('getPlayerSizeFromAspectRatio', function () {
@@ -791,6 +2371,19 @@ describe('utils', function () {
791
2371
  it('should return the container height when smaller than the calculated height', function () {
792
2372
  expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '1:1', width: '100%'})).to.deep.equal({ height: 480, width: 640 });
793
2373
  });
2374
+
2375
+ it('should handle non-numeric aspect ratio values', function () {
2376
+ expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: 'abc:def', width: '100%'})).to.deep.equal({});
2377
+ });
2378
+
2379
+ it('should handle non-numeric width percentage', function () {
2380
+ expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '16:9', width: 'abc%'})).to.deep.equal({});
2381
+ });
2382
+
2383
+ it('should handle zero aspect ratio values', function () {
2384
+ expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '0:9', width: '100%'})).to.deep.equal({});
2385
+ expect(getPlayerSizeFromAspectRatio({ getContainer: () => testContainer }, {aspectratio: '16:0', width: '100%'})).to.deep.equal({});
2386
+ });
794
2387
  });
795
2388
 
796
2389
  describe('getSkipParams', function () {
@@ -819,6 +2412,24 @@ describe('utils', function () {
819
2412
  expect(skipParams.skipmin).to.be.equal(skipOffset + 2);
820
2413
  expect(skipParams.skipafter).to.be.equal(skipOffset);
821
2414
  });
2415
+
2416
+ it('should handle zero skip offset', function () {
2417
+ let skipParams = getSkipParams({
2418
+ skipoffset: 0
2419
+ });
2420
+ expect(skipParams.skip).to.be.equal(1);
2421
+ expect(skipParams.skipmin).to.be.equal(2);
2422
+ expect(skipParams.skipafter).to.be.equal(0);
2423
+ });
2424
+
2425
+ it('should handle large skip offset', function () {
2426
+ let skipParams = getSkipParams({
2427
+ skipoffset: 30
2428
+ });
2429
+ expect(skipParams.skip).to.be.equal(1);
2430
+ expect(skipParams.skipmin).to.be.equal(32);
2431
+ expect(skipParams.skipafter).to.be.equal(30);
2432
+ });
822
2433
  });
823
2434
 
824
2435
  describe('getSupportedMediaTypes', function () {
@@ -831,6 +2442,39 @@ describe('utils', function () {
831
2442
  supportedMediaTypes = getSupportedMediaTypes([VIDEO_MIME_TYPE.MP4]);
832
2443
  expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);
833
2444
  });
2445
+
2446
+ it('should filter supported media types', function () {
2447
+ const mockVideo = document.createElement('video');
2448
+ const originalCanPlayType = mockVideo.canPlayType;
2449
+
2450
+ // Mock canPlayType to simulate browser support
2451
+ mockVideo.canPlayType = function(type) {
2452
+ if (type === VIDEO_MIME_TYPE.MP4) return 'probably';
2453
+ if (type === VIDEO_MIME_TYPE.WEBM) return 'maybe';
2454
+ return '';
2455
+ };
2456
+
2457
+ // Temporarily replace document.createElement
2458
+ const originalCreateElement = document.createElement;
2459
+ document.createElement = function(tagName) {
2460
+ if (tagName === 'video') return mockVideo;
2461
+ return originalCreateElement.call(document, tagName);
2462
+ };
2463
+
2464
+ const supportedMediaTypes = getSupportedMediaTypes([
2465
+ VIDEO_MIME_TYPE.MP4,
2466
+ VIDEO_MIME_TYPE.WEBM,
2467
+ VIDEO_MIME_TYPE.OGG
2468
+ ]);
2469
+
2470
+ expect(supportedMediaTypes).to.include(VIDEO_MIME_TYPE.MP4);
2471
+ expect(supportedMediaTypes).to.include(VIDEO_MIME_TYPE.WEBM);
2472
+ expect(supportedMediaTypes).to.not.include(VIDEO_MIME_TYPE.OGG);
2473
+ expect(supportedMediaTypes).to.include(VPAID_MIME_TYPE);
2474
+
2475
+ // Restore original function
2476
+ document.createElement = originalCreateElement;
2477
+ });
834
2478
  });
835
2479
 
836
2480
  describe('getPlacement', function () {
@@ -877,6 +2521,25 @@ describe('utils', function () {
877
2521
  const placement = getPlacement({ outstream: true }, getPlayerMock());
878
2522
  expect(placement).to.be.undefined;
879
2523
  });
2524
+
2525
+ it('should handle case-insensitive placement values', function () {
2526
+ const player = getPlayerMock();
2527
+ player.getFloating = () => false;
2528
+
2529
+ let placement = getPlacement({placement: 'BANNER', outstream: true}, player);
2530
+ expect(placement).to.be.equal(PLACEMENT.BANNER);
2531
+
2532
+ placement = getPlacement({placement: 'Article', outstream: true}, player);
2533
+ expect(placement).to.be.equal(PLACEMENT.ARTICLE);
2534
+ });
2535
+
2536
+ it('should handle unknown placement values', function () {
2537
+ const player = getPlayerMock();
2538
+ player.getFloating = () => false;
2539
+
2540
+ const placement = getPlacement({placement: 'unknown', outstream: true}, player);
2541
+ expect(placement).to.be.undefined;
2542
+ });
880
2543
  });
881
2544
 
882
2545
  describe('getPlaybackMethod', function() {
@@ -922,6 +2585,29 @@ describe('utils', function () {
922
2585
  });
923
2586
  expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);
924
2587
  });
2588
+
2589
+ it('should prioritize mute over autoplayAdsMuted', function () {
2590
+ const playbackMethod = getPlaybackMethod({
2591
+ autoplay: true,
2592
+ mute: true,
2593
+ autoplayAdsMuted: false
2594
+ });
2595
+ expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY_MUTED);
2596
+ });
2597
+
2598
+ it('should handle undefined autoplay', function () {
2599
+ const playbackMethod = getPlaybackMethod({
2600
+ mute: false
2601
+ });
2602
+ expect(playbackMethod).to.equal(PLAYBACK_METHODS.CLICK_TO_PLAY);
2603
+ });
2604
+
2605
+ it('should handle undefined mute and autoplayAdsMuted', function () {
2606
+ const playbackMethod = getPlaybackMethod({
2607
+ autoplay: true
2608
+ });
2609
+ expect(playbackMethod).to.equal(PLAYBACK_METHODS.AUTOPLAY);
2610
+ });
925
2611
  });
926
2612
 
927
2613
  describe('isOmidSupported', function () {
@@ -949,6 +2635,16 @@ describe('utils', function () {
949
2635
  expect(isOmidSupported(null)).to.be.false;
950
2636
  expect(isOmidSupported()).to.be.false;
951
2637
  });
2638
+
2639
+ it('should be false when OmidSessionClient is null', function () {
2640
+ window.OmidSessionClient = null;
2641
+ expect(isOmidSupported('vast')).to.be.false;
2642
+ });
2643
+
2644
+ it('should be false when OmidSessionClient is undefined', function () {
2645
+ window.OmidSessionClient = undefined;
2646
+ expect(isOmidSupported('vast')).to.be.false;
2647
+ });
952
2648
  });
953
2649
 
954
2650
  describe('getIsoLanguageCode', function () {
@@ -993,6 +2689,38 @@ describe('utils', function () {
993
2689
  const languageCode = utils.getIsoLanguageCode(player);
994
2690
  expect(languageCode).to.be.equal('es');
995
2691
  });
2692
+
2693
+ it('should handle out of bounds track index', function () {
2694
+ const player = getPlayerMock();
2695
+ player.getAudioTracks = () => sampleAudioTracks;
2696
+ player.getCurrentAudioTrack = () => 10;
2697
+ const languageCode = utils.getIsoLanguageCode(player);
2698
+ expect(languageCode).to.be.undefined;
2699
+ });
2700
+
2701
+ it('should handle negative track index', function () {
2702
+ const player = getPlayerMock();
2703
+ player.getAudioTracks = () => sampleAudioTracks;
2704
+ player.getCurrentAudioTrack = () => -5;
2705
+ const languageCode = utils.getIsoLanguageCode(player);
2706
+ expect(languageCode).to.be.equal('ht');
2707
+ });
2708
+
2709
+ it('should handle audio tracks with missing language property', function () {
2710
+ const player = getPlayerMock();
2711
+ player.getAudioTracks = () => [{}, {language: 'en'}, {}];
2712
+ player.getCurrentAudioTrack = () => 0;
2713
+ const languageCode = utils.getIsoLanguageCode(player);
2714
+ expect(languageCode).to.be.undefined;
2715
+ });
2716
+
2717
+ it('should handle audio tracks with null language property', function () {
2718
+ const player = getPlayerMock();
2719
+ player.getAudioTracks = () => [{language: null}, {language: 'en'}, {}];
2720
+ player.getCurrentAudioTrack = () => 0;
2721
+ const languageCode = utils.getIsoLanguageCode(player);
2722
+ expect(languageCode).to.be.null;
2723
+ });
996
2724
  });
997
2725
 
998
2726
  describe('getJwEvent', function () {
@@ -1006,6 +2734,18 @@ describe('utils', function () {
1006
2734
  it('should return event name when not mapped', function () {
1007
2735
  expect(getJwEvent('custom')).to.equal('custom');
1008
2736
  });
2737
+
2738
+ it('should map all known event mappings', function () {
2739
+ expect(getJwEvent(SETUP_FAILED)).to.equal('setupError');
2740
+ expect(getJwEvent(DESTROYED)).to.equal('remove');
2741
+ expect(getJwEvent(AD_IMPRESSION)).to.equal('adViewableImpression');
2742
+ expect(getJwEvent(PLAYBACK_REQUEST)).to.equal('playAttempt');
2743
+ expect(getJwEvent(AUTOSTART_BLOCKED)).to.equal('autostartNotAllowed');
2744
+ expect(getJwEvent(CONTENT_LOADED)).to.equal('playlistItem');
2745
+ expect(getJwEvent(SEEK_START)).to.equal('seek');
2746
+ expect(getJwEvent(RENDITION_UPDATE)).to.equal('visualQuality');
2747
+ expect(getJwEvent(PLAYER_RESIZE)).to.equal('resize');
2748
+ });
1009
2749
  });
1010
2750
 
1011
2751
  describe('getSegments', function () {
@@ -1022,6 +2762,30 @@ describe('utils', function () {
1022
2762
  {id: 'b'}
1023
2763
  ]);
1024
2764
  });
2765
+
2766
+ it('should handle single segment', function () {
2767
+ const segs = ['single'];
2768
+ expect(getSegments(segs)).to.deep.equal([
2769
+ {id: 'single'}
2770
+ ]);
2771
+ });
2772
+
2773
+ it('should handle segments with special characters', function () {
2774
+ const segs = ['segment-1', 'segment_2', 'segment 3'];
2775
+ expect(getSegments(segs)).to.deep.equal([
2776
+ {id: 'segment-1'},
2777
+ {id: 'segment_2'},
2778
+ {id: 'segment 3'}
2779
+ ]);
2780
+ });
2781
+
2782
+ it('should handle null input', function () {
2783
+ expect(getSegments(null)).to.be.undefined;
2784
+ });
2785
+
2786
+ it('should handle undefined input', function () {
2787
+ expect(getSegments(undefined)).to.be.undefined;
2788
+ });
1025
2789
  });
1026
2790
 
1027
2791
  describe('getContentDatum', function () {
@@ -1035,6 +2799,7 @@ describe('utils', function () {
1035
2799
  expect(getContentDatum('id1', segments)).to.deep.equal({
1036
2800
  name: 'jwplayer.com',
1037
2801
  segment: segments,
2802
+ cids: ['id1'],
1038
2803
  ext: { cids: ['id1'], segtax: 502 }
1039
2804
  });
1040
2805
  });
@@ -1042,8 +2807,42 @@ describe('utils', function () {
1042
2807
  it('should set only media id when segments missing', function () {
1043
2808
  expect(getContentDatum('id2')).to.deep.equal({
1044
2809
  name: 'jwplayer.com',
2810
+ cids: ['id2'],
1045
2811
  ext: { cids: ['id2'] }
1046
2812
  });
1047
2813
  });
2814
+
2815
+ it('should set only segments when media id missing', function () {
2816
+ const segments = [{id: 'y'}];
2817
+ expect(getContentDatum(null, segments)).to.deep.equal({
2818
+ name: 'jwplayer.com',
2819
+ segment: segments,
2820
+ ext: { segtax: 502 }
2821
+ });
2822
+ });
2823
+
2824
+ it('should handle empty segments array', function () {
2825
+ expect(getContentDatum('id3', [])).to.deep.equal({
2826
+ name: 'jwplayer.com',
2827
+ cids: ['id3'],
2828
+ ext: { cids: ['id3'] }
2829
+ });
2830
+ });
2831
+
2832
+ it('should handle null media id', function () {
2833
+ expect(getContentDatum(null)).to.be.undefined;
2834
+ });
2835
+
2836
+ it('should handle empty string media id', function () {
2837
+ expect(getContentDatum('')).to.be.undefined;
2838
+ });
2839
+ });
2840
+
2841
+ describe('getStartDelay', function () {
2842
+ const getStartDelay = utils.getStartDelay;
2843
+
2844
+ it('should return undefined (not implemented)', function () {
2845
+ expect(getStartDelay()).to.be.undefined;
2846
+ });
1048
2847
  });
1049
2848
  });