prebid.js 5.14.0 → 5.18.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 (397) hide show
  1. package/.devcontainer/Dockerfile +11 -0
  2. package/.devcontainer/devcontainer.json +27 -0
  3. package/.devcontainer/postCreate.sh +6 -0
  4. package/allowedModules.js +2 -1
  5. package/integrationExamples/gpt/afpExample.html +242 -0
  6. package/integrationExamples/gpt/afpGamExample.html +152 -0
  7. package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
  8. package/modules/.submodules.json +29 -27
  9. package/modules/33acrossBidAdapter.js +23 -20
  10. package/modules/a4gBidAdapter.js +3 -3
  11. package/modules/ablidaBidAdapter.js +2 -2
  12. package/modules/adWMGBidAdapter.js +4 -4
  13. package/modules/adagioAnalyticsAdapter.js +4 -4
  14. package/modules/adagioBidAdapter.js +85 -82
  15. package/modules/adbookpspBidAdapter.js +56 -54
  16. package/modules/adfBidAdapter.js +24 -16
  17. package/modules/adgenerationBidAdapter.js +42 -18
  18. package/modules/adhashBidAdapter.js +105 -0
  19. package/modules/adhashBidAdapter.md +1 -1
  20. package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
  21. package/modules/adkernelAdnBidAdapter.js +23 -23
  22. package/modules/adkernelBidAdapter.js +49 -44
  23. package/modules/adlooxAdServerVideo.js +26 -26
  24. package/modules/adlooxAnalyticsAdapter.js +38 -35
  25. package/modules/adlooxRtdProvider.js +49 -46
  26. package/modules/admanBidAdapter.js +4 -4
  27. package/modules/admixerBidAdapter.js +13 -2
  28. package/modules/admixerIdSystem.js +4 -4
  29. package/modules/adnowBidAdapter.js +4 -4
  30. package/modules/adnuntiusBidAdapter.js +6 -5
  31. package/modules/adoceanBidAdapter.js +10 -10
  32. package/modules/adpartnerBidAdapter.js +3 -3
  33. package/modules/adpod.js +45 -42
  34. package/modules/adprimeBidAdapter.js +4 -4
  35. package/modules/adqueryBidAdapter.js +204 -0
  36. package/modules/adqueryBidAdapter.md +32 -0
  37. package/modules/adrelevantisBidAdapter.js +30 -27
  38. package/modules/adriverBidAdapter.js +13 -13
  39. package/modules/adtargetBidAdapter.js +24 -24
  40. package/modules/adtelligentBidAdapter.js +29 -29
  41. package/modules/adtrueBidAdapter.js +35 -35
  42. package/modules/aduptechBidAdapter.js +10 -10
  43. package/modules/advangelistsBidAdapter.js +14 -14
  44. package/modules/adxcgAnalyticsAdapter.js +5 -5
  45. package/modules/adxcgBidAdapter.js +56 -56
  46. package/modules/adxpremiumAnalyticsAdapter.js +17 -17
  47. package/modules/adyoulikeBidAdapter.js +11 -11
  48. package/modules/afpBidAdapter.js +166 -0
  49. package/modules/afpBidAdapter.md +348 -0
  50. package/modules/ajaBidAdapter.js +12 -12
  51. package/modules/akamaiDAPIdSystem.js +9 -9
  52. package/modules/aniviewBidAdapter.js +2 -2
  53. package/modules/aolBidAdapter.js +15 -14
  54. package/modules/apacdexBidAdapter.js +16 -16
  55. package/modules/appnexusBidAdapter.js +59 -59
  56. package/modules/apstreamBidAdapter.js +5 -5
  57. package/modules/asoBidAdapter.js +30 -30
  58. package/modules/astraoneBidAdapter.js +2 -2
  59. package/modules/atsAnalyticsAdapter.js +35 -30
  60. package/modules/audiencerunBidAdapter.js +15 -15
  61. package/modules/automatadBidAdapter.js +2 -2
  62. package/modules/axonixBidAdapter.js +7 -7
  63. package/modules/beachfrontBidAdapter.js +23 -23
  64. package/modules/beopBidAdapter.js +22 -22
  65. package/modules/bidViewabilityIO.js +7 -7
  66. package/modules/bidglassBidAdapter.js +8 -8
  67. package/modules/bidscubeBidAdapter.js +3 -3
  68. package/modules/bizzclickBidAdapter.js +10 -10
  69. package/modules/bliinkBidAdapter.js +58 -32
  70. package/modules/bliinkBidAdapter.md +29 -6
  71. package/modules/bluebillywigBidAdapter.js +30 -30
  72. package/modules/boldwinBidAdapter.js +4 -4
  73. package/modules/braveBidAdapter.js +5 -5
  74. package/modules/bridgewellBidAdapter.js +5 -5
  75. package/modules/brightMountainMediaBidAdapter.js +10 -10
  76. package/modules/brightcomBidAdapter.js +18 -18
  77. package/modules/britepoolIdSystem.js +7 -7
  78. package/modules/browsiRtdProvider.js +8 -8
  79. package/modules/bucksenseBidAdapter.js +9 -9
  80. package/modules/buzzoolaBidAdapter.js +4 -4
  81. package/modules/byDataAnalyticsAdapter.js +12 -12
  82. package/modules/ccxBidAdapter.js +38 -38
  83. package/modules/cleanmedianetBidAdapter.js +9 -9
  84. package/modules/clickforceBidAdapter.js +4 -4
  85. package/modules/cointrafficBidAdapter.js +4 -4
  86. package/modules/coinzillaBidAdapter.js +2 -2
  87. package/modules/colossussspBidAdapter.js +7 -3
  88. package/modules/concertAnalyticsAdapter.js +3 -3
  89. package/modules/concertBidAdapter.js +16 -17
  90. package/modules/connectadBidAdapter.js +13 -13
  91. package/modules/consentManagement.js +29 -28
  92. package/modules/consentManagementUsp.js +14 -14
  93. package/modules/consumableBidAdapter.js +3 -3
  94. package/modules/contentexchangeBidAdapter.js +5 -5
  95. package/modules/conversantBidAdapter.js +32 -31
  96. package/modules/cpmstarBidAdapter.js +8 -9
  97. package/modules/craftBidAdapter.js +10 -10
  98. package/modules/criteoBidAdapter.js +16 -16
  99. package/modules/criteoIdSystem.js +5 -5
  100. package/modules/currency.js +18 -18
  101. package/modules/cwireBidAdapter.js +272 -0
  102. package/modules/cwireBidAdapter.md +43 -0
  103. package/modules/datablocksBidAdapter.js +12 -12
  104. package/modules/deepintentBidAdapter.js +13 -13
  105. package/modules/dgkeywordRtdProvider.js +10 -11
  106. package/modules/districtmDMXBidAdapter.js +15 -15
  107. package/modules/dmdIdSystem.js +5 -5
  108. package/modules/docereeBidAdapter.js +9 -9
  109. package/modules/dspxBidAdapter.js +5 -5
  110. package/modules/ebdrBidAdapter.js +9 -9
  111. package/modules/emx_digitalBidAdapter.js +23 -23
  112. package/modules/enrichmentFpdModule.js +10 -9
  113. package/modules/eplanningAnalyticsAdapter.js +2 -2
  114. package/modules/eplanningBidAdapter.js +10 -10
  115. package/modules/etargetBidAdapter.js +4 -4
  116. package/modules/express.js +9 -10
  117. package/modules/fabrickIdSystem.js +6 -6
  118. package/modules/feedadBidAdapter.js +5 -5
  119. package/modules/fintezaAnalyticsAdapter.js +4 -4
  120. package/modules/flocIdSystem.js +5 -5
  121. package/modules/fluctBidAdapter.js +6 -5
  122. package/modules/freewheel-sspBidAdapter.js +6 -6
  123. package/modules/gamoshiBidAdapter.js +22 -22
  124. package/modules/gdprEnforcement.js +13 -14
  125. package/modules/getintentBidAdapter.js +3 -4
  126. package/modules/glimpseBidAdapter.js +160 -48
  127. package/modules/glimpseBidAdapter.md +11 -74
  128. package/modules/gmosspBidAdapter.js +17 -17
  129. package/modules/gnetBidAdapter.js +5 -5
  130. package/modules/googleAnalyticsAdapter.js +6 -6
  131. package/modules/gothamadsBidAdapter.js +9 -9
  132. package/modules/gptPreAuction.js +7 -7
  133. package/modules/gridBidAdapter.js +15 -16
  134. package/modules/gridNMBidAdapter.js +214 -63
  135. package/modules/growadvertisingBidAdapter.js +7 -8
  136. package/modules/gumgumBidAdapter.js +19 -13
  137. package/modules/h12mediaBidAdapter.js +12 -12
  138. package/modules/haloIdSystem.js +8 -8
  139. package/modules/hybridBidAdapter.js +7 -7
  140. package/modules/iasRtdProvider.js +79 -63
  141. package/modules/id5IdSystem.js +24 -24
  142. package/modules/idImportLibrary.js +35 -35
  143. package/modules/idxIdSystem.js +3 -3
  144. package/modules/impactifyBidAdapter.js +10 -10
  145. package/modules/improvedigitalBidAdapter.js +36 -36
  146. package/modules/imuIdSystem.js +6 -6
  147. package/modules/inmarBidAdapter.js +2 -2
  148. package/modules/innityBidAdapter.js +3 -3
  149. package/modules/inskinBidAdapter.js +14 -2
  150. package/modules/inskinBidAdapter.md +5 -4
  151. package/modules/instreamTracking.js +5 -5
  152. package/modules/integr8BidAdapter.js +4 -4
  153. package/modules/intentIqIdSystem.js +7 -7
  154. package/modules/interactiveOffersBidAdapter.js +5 -5
  155. package/modules/invibesBidAdapter.js +53 -19
  156. package/modules/invisiblyAnalyticsAdapter.js +5 -5
  157. package/modules/iqmBidAdapter.js +19 -19
  158. package/modules/iqzoneBidAdapter.js +5 -5
  159. package/modules/ixBidAdapter.js +73 -73
  160. package/modules/jixieBidAdapter.js +6 -6
  161. package/modules/justpremiumBidAdapter.js +5 -1
  162. package/modules/kargoBidAdapter.js +16 -9
  163. package/modules/kargoBidAdapter.md +20 -0
  164. package/modules/kinessoIdSystem.js +8 -8
  165. package/modules/koblerBidAdapter.js +12 -12
  166. package/modules/konduitAnalyticsAdapter.js +4 -4
  167. package/modules/konduitWrapper.js +14 -14
  168. package/modules/krushmediaBidAdapter.js +4 -4
  169. package/modules/kubientBidAdapter.js +5 -5
  170. package/modules/limelightDigitalBidAdapter.js +4 -4
  171. package/modules/liveIntentIdSystem.js +4 -5
  172. package/modules/livewrappedAnalyticsAdapter.js +27 -15
  173. package/modules/livewrappedBidAdapter.js +7 -7
  174. package/modules/liveyieldAnalyticsAdapter.js +13 -13
  175. package/modules/lockerdomeBidAdapter.js +2 -2
  176. package/modules/loganBidAdapter.js +4 -4
  177. package/modules/lotamePanoramaIdSystem.js +13 -13
  178. package/modules/lunamediahbBidAdapter.js +2 -2
  179. package/modules/madvertiseBidAdapter.js +3 -3
  180. package/modules/marsmediaBidAdapter.js +26 -26
  181. package/modules/mathildeadsBidAdapter.js +5 -5
  182. package/modules/mediaforceBidAdapter.js +11 -11
  183. package/modules/mediakeysBidAdapter.js +444 -53
  184. package/modules/mediakeysBidAdapter.md +108 -0
  185. package/modules/medianetAnalyticsAdapter.js +48 -125
  186. package/modules/medianetBidAdapter.js +38 -33
  187. package/modules/medianetRtdProvider.js +7 -7
  188. package/modules/merkleIdSystem.js +19 -19
  189. package/modules/mgidBidAdapter.js +50 -50
  190. package/modules/microadBidAdapter.js +3 -3
  191. package/modules/multibid/index.js +15 -13
  192. package/modules/mwOpenLinkIdSystem.js +7 -7
  193. package/modules/mytargetBidAdapter.js +112 -0
  194. package/modules/nativoBidAdapter.js +46 -31
  195. package/modules/nativoBidAdapter.md +0 -1
  196. package/modules/naveggIdSystem.js +3 -3
  197. package/modules/nextMillenniumBidAdapter.js +6 -6
  198. package/modules/nextrollBidAdapter.js +375 -0
  199. package/modules/nobidBidAdapter.js +12 -11
  200. package/modules/novatiqIdSystem.js +8 -8
  201. package/modules/oguryBidAdapter.js +22 -6
  202. package/modules/oneVideoBidAdapter.js +20 -20
  203. package/modules/onomagicBidAdapter.js +16 -16
  204. package/modules/ooloAnalyticsAdapter.js +13 -13
  205. package/modules/openwebBidAdapter.js +26 -26
  206. package/modules/openxAnalyticsAdapter.js +33 -33
  207. package/modules/openxBidAdapter.js +29 -29
  208. package/modules/operaadsBidAdapter.js +53 -53
  209. package/modules/optimeraRtdProvider.js +9 -9
  210. package/modules/optoutBidAdapter.js +3 -3
  211. package/modules/orbidderBidAdapter.js +3 -3
  212. package/modules/outbrainBidAdapter.js +13 -13
  213. package/modules/ozoneBidAdapter.js +131 -131
  214. package/modules/padsquadBidAdapter.js +4 -4
  215. package/modules/parrableIdSystem.js +17 -17
  216. package/modules/pixfutureBidAdapter.js +45 -25
  217. package/modules/pixfutureBidAdapter.md +127 -0
  218. package/modules/prebidServerBidAdapter/index.js +109 -105
  219. package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
  220. package/modules/priceFloors.js +47 -47
  221. package/modules/proxistoreBidAdapter.js +6 -8
  222. package/modules/pubCommonId.js +11 -11
  223. package/modules/pubProvidedIdSystem.js +3 -3
  224. package/modules/publinkIdSystem.js +23 -7
  225. package/modules/publinkIdSystem.md +7 -2
  226. package/modules/pubmaticAnalyticsAdapter.js +16 -16
  227. package/modules/pubmaticBidAdapter.js +109 -93
  228. package/modules/pubmaticBidAdapter.md +1 -1
  229. package/modules/pubperfAnalyticsAdapter.js +3 -3
  230. package/modules/pubwiseAnalyticsAdapter.js +6 -6
  231. package/modules/pubwiseBidAdapter.js +23 -23
  232. package/modules/pubxBidAdapter.js +2 -2
  233. package/modules/pubxaiAnalyticsAdapter.js +7 -7
  234. package/modules/pulsepointBidAdapter.js +13 -13
  235. package/modules/pxyzBidAdapter.js +7 -7
  236. package/modules/quantcastBidAdapter.js +16 -16
  237. package/modules/radsBidAdapter.js +5 -5
  238. package/modules/realvuAnalyticsAdapter.js +5 -7
  239. package/modules/reconciliationRtdProvider.js +6 -6
  240. package/modules/relaidoBidAdapter.js +44 -38
  241. package/modules/resetdigitalBidAdapter.js +3 -4
  242. package/modules/revcontentBidAdapter.js +9 -9
  243. package/modules/rhythmoneBidAdapter.js +17 -16
  244. package/modules/richaudienceBidAdapter.js +9 -9
  245. package/modules/riseBidAdapter.js +26 -26
  246. package/modules/riseBidAdapter.md +1 -3
  247. package/modules/roxotAnalyticsAdapter.js +14 -14
  248. package/modules/rtbhouseBidAdapter.js +7 -7
  249. package/modules/rtbsapeBidAdapter.js +3 -4
  250. package/modules/rtdModule/index.js +3 -3
  251. package/modules/rubiconAnalyticsAdapter.js +82 -82
  252. package/modules/rubiconBidAdapter.js +72 -68
  253. package/modules/scaleableAnalyticsAdapter.js +2 -2
  254. package/modules/seedingAllianceBidAdapter.js +231 -0
  255. package/modules/seedtagBidAdapter.js +10 -10
  256. package/modules/sharedIdSystem.js +11 -11
  257. package/modules/sharethroughAnalyticsAdapter.js +8 -8
  258. package/modules/sharethroughBidAdapter.js +20 -27
  259. package/modules/showheroes-bsBidAdapter.js +23 -23
  260. package/modules/sigmoidAnalyticsAdapter.js +4 -5
  261. package/modules/sirdataRtdProvider.js +34 -34
  262. package/modules/sizeMappingV2.js +39 -39
  263. package/modules/slimcutBidAdapter.js +121 -0
  264. package/modules/smaatoBidAdapter.js +44 -44
  265. package/modules/smartadserverBidAdapter.js +7 -7
  266. package/modules/smartxBidAdapter.js +72 -72
  267. package/modules/smartyadsBidAdapter.js +2 -2
  268. package/modules/smilewantedBidAdapter.js +6 -6
  269. package/modules/sonobiAnalyticsAdapter.js +23 -23
  270. package/modules/sortableAnalyticsAdapter.js +5 -5
  271. package/modules/sortableBidAdapter.js +28 -28
  272. package/modules/sovrnAnalyticsAdapter.js +5 -5
  273. package/modules/sovrnBidAdapter.js +22 -22
  274. package/modules/spotxBidAdapter.js +97 -83
  275. package/modules/sspBCBidAdapter.js +216 -21
  276. package/modules/sspBCBidAdapter.md +1 -1
  277. package/modules/staqAnalyticsAdapter.js +9 -9
  278. package/modules/stroeerCoreBidAdapter.js +16 -16
  279. package/modules/sublimeBidAdapter.js +6 -6
  280. package/modules/talkadsBidAdapter.js +129 -0
  281. package/modules/talkadsBidAdapter.md +60 -0
  282. package/modules/tapadIdSystem.js +3 -3
  283. package/modules/tappxBidAdapter.js +63 -64
  284. package/modules/teadsBidAdapter.js +20 -20
  285. package/modules/telariaBidAdapter.js +17 -17
  286. package/modules/temedyaBidAdapter.js +4 -4
  287. package/modules/terceptAnalyticsAdapter.js +4 -4
  288. package/modules/theAdxBidAdapter.js +16 -16
  289. package/modules/timeoutRtdProvider.js +15 -15
  290. package/modules/tpmnBidAdapter.js +3 -3
  291. package/modules/trionBidAdapter.js +15 -15
  292. package/modules/tripleliftBidAdapter.js +27 -24
  293. package/modules/truereachBidAdapter.js +4 -4
  294. package/modules/trustxBidAdapter.js +22 -18
  295. package/modules/ucfunnelBidAdapter.js +3 -3
  296. package/modules/uid2IdSystem.js +6 -6
  297. package/modules/underdogmediaBidAdapter.js +4 -4
  298. package/modules/unicornBidAdapter.js +15 -15
  299. package/modules/unifiedIdSystem.js +4 -4
  300. package/modules/unrulyBidAdapter.js +16 -16
  301. package/modules/userId/eids.js +9 -9
  302. package/modules/userId/index.js +37 -35
  303. package/modules/validationFpdModule/index.js +15 -15
  304. package/modules/vdoaiBidAdapter.js +2 -2
  305. package/modules/verizonMediaIdSystem.js +5 -5
  306. package/modules/vidazooBidAdapter.js +5 -5
  307. package/modules/videobyteBidAdapter.js +24 -24
  308. package/modules/videoreachBidAdapter.js +7 -7
  309. package/modules/vidoomyBidAdapter.js +105 -22
  310. package/modules/viewdeosDXBidAdapter.js +17 -17
  311. package/modules/visxBidAdapter.js +21 -29
  312. package/modules/voxBidAdapter.js +7 -7
  313. package/modules/vuukleBidAdapter.js +2 -2
  314. package/modules/waardexBidAdapter.js +26 -26
  315. package/modules/weboramaRtdProvider.js +174 -0
  316. package/modules/weboramaRtdProvider.md +70 -0
  317. package/modules/winrBidAdapter.js +27 -27
  318. package/modules/wipesBidAdapter.js +2 -2
  319. package/modules/yahoosspBidAdapter.js +637 -0
  320. package/modules/yahoosspBidAdapter.md +795 -0
  321. package/modules/yieldlabBidAdapter.js +57 -12
  322. package/modules/yieldlabBidAdapter.md +16 -1
  323. package/modules/yieldliftBidAdapter.js +9 -9
  324. package/modules/yieldmoBidAdapter.js +64 -50
  325. package/modules/yieldoneAnalyticsAdapter.js +6 -6
  326. package/modules/yieldoneBidAdapter.js +11 -11
  327. package/modules/yuktamediaAnalyticsAdapter.js +15 -15
  328. package/modules/zeotapIdPlusIdSystem.js +2 -2
  329. package/modules/zetaBidAdapter.js +6 -6
  330. package/modules/zeta_global_sspBidAdapter.js +14 -14
  331. package/package.json +1 -1
  332. package/src/AnalyticsAdapter.js +6 -6
  333. package/src/Renderer.js +10 -8
  334. package/src/adapterManager.js +45 -42
  335. package/src/adloader.js +6 -6
  336. package/src/ajax.js +8 -9
  337. package/src/auction.js +26 -23
  338. package/src/bidfactory.js +2 -2
  339. package/src/config.js +52 -50
  340. package/src/cpmBucketManager.js +2 -2
  341. package/src/prebid.js +85 -81
  342. package/src/storageManager.js +5 -5
  343. package/src/targeting.js +25 -26
  344. package/src/userSync.js +35 -22
  345. package/src/videoCache.js +2 -2
  346. package/test/.eslintrc.js +2 -1
  347. package/test/spec/modules/adfBidAdapter_spec.js +55 -0
  348. package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
  349. package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
  351. package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
  352. package/test/spec/modules/afpBidAdapter_spec.js +306 -0
  353. package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
  354. package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
  355. package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
  356. package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
  357. package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
  358. package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
  359. package/test/spec/modules/gridBidAdapter_spec.js +38 -2
  360. package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
  361. package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
  362. package/test/spec/modules/iasRtdProvider_spec.js +71 -6
  363. package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
  364. package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
  365. package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
  366. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
  367. package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
  368. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
  369. package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
  370. package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
  371. package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
  372. package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
  373. package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
  374. package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
  375. package/test/spec/modules/publinkIdSystem_spec.js +42 -12
  376. package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
  377. package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
  378. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
  379. package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
  380. package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
  381. package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
  382. package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
  383. package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
  384. package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
  385. package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
  386. package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
  387. package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
  388. package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
  389. package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
  390. package/test/spec/modules/visxBidAdapter_spec.js +48 -4
  391. package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
  392. package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
  393. package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
  394. package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
  395. package/test/spec/unit/pbjs_api_spec.js +4 -0
  396. package/test/spec/userSync_spec.js +30 -2
  397. package/modules/turktelekomBidAdapter.md +0 -49
@@ -1,8 +1,8 @@
1
+ import { deepClone, getBidRequest, deepAccess } from '../src/utils.js';
1
2
  import { config } from '../src/config.js';
2
3
  import { auctionManager } from '../src/auctionManager.js';
3
4
  import { INSTREAM } from '../src/video.js';
4
5
  import * as events from '../src/events.js';
5
- import * as utils from '../src/utils.js';
6
6
  import { BID_STATUS, EVENTS, TARGETING_KEYS } from '../src/constants.json';
7
7
 
8
8
  const {CACHE_ID, UUID} = TARGETING_KEYS;
@@ -17,7 +17,7 @@ const INSTREAM_TRACKING_DEFAULT_CONFIG = {
17
17
 
18
18
  // Set instreamTracking default values
19
19
  config.setDefaults({
20
- 'instreamTracking': utils.deepClone(INSTREAM_TRACKING_DEFAULT_CONFIG)
20
+ 'instreamTracking': deepClone(INSTREAM_TRACKING_DEFAULT_CONFIG)
21
21
  });
22
22
 
23
23
  const whitelistedResources = /video|fetch|xmlhttprequest|other/;
@@ -50,8 +50,8 @@ export function trackInstreamDeliveredImpressions({adUnits, bidsReceived, bidder
50
50
 
51
51
  // filter for video bids
52
52
  const instreamBids = bidsReceived.filter(bid => {
53
- const bidderRequest = utils.getBidRequest(bid.requestId, bidderRequests);
54
- return bidderRequest && utils.deepAccess(bidderRequest, 'mediaTypes.video.context') === INSTREAM && bid.videoCacheKey;
53
+ const bidderRequest = getBidRequest(bid.requestId, bidderRequests);
54
+ return bidderRequest && deepAccess(bidderRequest, 'mediaTypes.video.context') === INSTREAM && bid.videoCacheKey;
55
55
  });
56
56
  if (!instreamBids.length) {
57
57
  return false;
@@ -60,7 +60,7 @@ export function trackInstreamDeliveredImpressions({adUnits, bidsReceived, bidder
60
60
  // find unique instream ad units
61
61
  const instreamAdUnitMap = {};
62
62
  adUnits.forEach(adUnit => {
63
- if (!instreamAdUnitMap[adUnit.code] && utils.deepAccess(adUnit, 'mediaTypes.video.context') === INSTREAM) {
63
+ if (!instreamAdUnitMap[adUnit.code] && deepAccess(adUnit, 'mediaTypes.video.context') === INSTREAM) {
64
64
  instreamAdUnitMap[adUnit.code] = true;
65
65
  }
66
66
  });
@@ -1,7 +1,7 @@
1
+ import { deepAccess, isFn, isPlainObject } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { getStorageManager } from '../src/storageManager.js';
3
4
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
- import * as utils from '../src/utils.js';
5
5
 
6
6
  const BIDDER_CODE = 'integr8';
7
7
  const ENDPOINT_URL = 'https://integr8.central.gjirafa.tech/bid';
@@ -62,7 +62,7 @@ export const spec = {
62
62
  placementId: bidRequest.params.placementId,
63
63
  bidid: bidRequest.bidId,
64
64
  count: bidRequest.params.count,
65
- skipTime: utils.deepAccess(bidRequest, 'mediaTypes.video.skipafter', bidRequest.params.skipTime),
65
+ skipTime: deepAccess(bidRequest, 'mediaTypes.video.skipafter', bidRequest.params.skipTime),
66
66
  floor: getBidFloor(bidRequest)
67
67
  };
68
68
  });
@@ -130,7 +130,7 @@ function generateSizeParam(sizes) {
130
130
  }
131
131
 
132
132
  export function getBidFloor(bid) {
133
- if (!utils.isFn(bid.getFloor)) {
133
+ if (!isFn(bid.getFloor)) {
134
134
  return null;
135
135
  }
136
136
 
@@ -140,7 +140,7 @@ export function getBidFloor(bid) {
140
140
  size: '*'
141
141
  });
142
142
 
143
- if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'EUR') {
143
+ if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'EUR') {
144
144
  return floor.floor;
145
145
  }
146
146
 
@@ -5,7 +5,7 @@
5
5
  * @requires module:modules/userId
6
6
  */
7
7
 
8
- import * as utils from '../src/utils.js'
8
+ import { logError, logInfo } from '../src/utils.js';
9
9
  import {ajax} from '../src/ajax.js';
10
10
  import {submodule} from '../src/hook.js'
11
11
  import {getStorageManager} from '../src/storageManager.js';
@@ -47,7 +47,7 @@ export function readData(key) {
47
47
  return storage.getCookie(key);
48
48
  }
49
49
  } catch (error) {
50
- utils.logError(error);
50
+ logError(error);
51
51
  }
52
52
  }
53
53
 
@@ -59,7 +59,7 @@ export function readData(key) {
59
59
  */
60
60
  function storeData(key, value) {
61
61
  try {
62
- utils.logInfo(MODULE_NAME + ': storing data: key=' + key + ' value=' + value);
62
+ logInfo(MODULE_NAME + ': storing data: key=' + key + ' value=' + value);
63
63
 
64
64
  if (value) {
65
65
  if (storage.hasLocalStorage()) {
@@ -71,7 +71,7 @@ function storeData(key, value) {
71
71
  }
72
72
  }
73
73
  } catch (error) {
74
- utils.logError(error);
74
+ logError(error);
75
75
  }
76
76
  }
77
77
 
@@ -84,7 +84,7 @@ function tryParse(data) {
84
84
  try {
85
85
  return JSON.parse(data);
86
86
  } catch (err) {
87
- utils.logError(err);
87
+ logError(err);
88
88
  return null;
89
89
  }
90
90
  }
@@ -114,7 +114,7 @@ export const intentIqIdSubmodule = {
114
114
  getId(config) {
115
115
  const configParams = (config && config.params) || {};
116
116
  if (!configParams || typeof configParams.partner !== 'number') {
117
- utils.logError('User ID - intentIqId submodule requires a valid partner to be defined');
117
+ logError('User ID - intentIqId submodule requires a valid partner to be defined');
118
118
  return;
119
119
  }
120
120
 
@@ -155,7 +155,7 @@ export const intentIqIdSubmodule = {
155
155
  }
156
156
  },
157
157
  error: error => {
158
- utils.logError(MODULE_NAME + ': ID fetch encountered an error', error);
158
+ logError(MODULE_NAME + ': ID fetch encountered an error', error);
159
159
  callback();
160
160
  }
161
161
  };
@@ -1,7 +1,7 @@
1
+ import { logWarn, isNumber } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
3
  import {BANNER} from '../src/mediaTypes.js';
3
4
  import {config} from '../src/config.js';
4
- import * as utils from '../src/utils.js';
5
5
 
6
6
  const BIDDER_CODE = 'interactiveOffers';
7
7
  const ENDPOINT = 'https://prebid.ioadx.com/bidRequest/?partnerId=';
@@ -36,15 +36,15 @@ export const spec = {
36
36
  let ret = true;
37
37
  if (bid && bid.params) {
38
38
  if (!bid.params.partnerId) {
39
- utils.logWarn('partnerId must be a valid ID');
39
+ logWarn('partnerId must be a valid ID');
40
40
  ret = false;
41
41
  }
42
- if (bid.params.tmax && !utils.isNumber(bid.params.tmax)) {
43
- utils.logWarn('tmax must be a valid numeric ID');
42
+ if (bid.params.tmax && !isNumber(bid.params.tmax)) {
43
+ logWarn('tmax must be a valid numeric ID');
44
44
  ret = false;
45
45
  }
46
46
  } else {
47
- utils.logWarn('invalid request');
47
+ logWarn('invalid request');
48
48
  ret = false;
49
49
  }
50
50
  return ret;
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { logInfo } from '../src/utils.js';
2
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
3
3
  import {getStorageManager} from '../src/storageManager.js';
4
4
 
@@ -8,7 +8,7 @@ const CONSTANTS = {
8
8
  SYNC_ENDPOINT: 'https://k.r66net.com/GetUserSync',
9
9
  TIME_TO_LIVE: 300,
10
10
  DEFAULT_CURRENCY: 'EUR',
11
- PREBID_VERSION: 6,
11
+ PREBID_VERSION: 7,
12
12
  METHOD: 'GET',
13
13
  INVIBES_VENDOR_ID: 436,
14
14
  USERID_PROVIDERS: ['pubcid', 'pubProvidedId', 'uid2', 'zeotapIdPlus', 'id5id'],
@@ -57,14 +57,11 @@ const topWin = getTopMostWindow();
57
57
  let invibes = topWin.invibes = topWin.invibes || {};
58
58
  invibes.purposes = invibes.purposes || [false, false, false, false, false, false, false, false, false, false];
59
59
  invibes.legitimateInterests = invibes.legitimateInterests || [false, false, false, false, false, false, false, false, false, false];
60
+ invibes.placementBids = invibes.placementBids || [];
61
+ invibes.pushedCids = invibes.pushedCids || {};
60
62
  let _customUserSync;
61
63
 
62
64
  function isBidRequestValid(bid) {
63
- if (invibes && typeof invibes.bidResponse === 'object') {
64
- utils.logInfo('Invibes Adapter - Bid response already received. Invibes only responds to one bid request per user visit');
65
- return false;
66
- }
67
-
68
65
  if (typeof bid.params !== 'object') {
69
66
  return false;
70
67
  }
@@ -117,6 +114,7 @@ function buildRequest(bidRequests, bidderRequest) {
117
114
 
118
115
  bidParamsJson: JSON.stringify(bidParamsJson),
119
116
  capCounts: getCappedCampaignsAsString(),
117
+ pcids: Object.keys(invibes.pushedCids).join(','),
120
118
 
121
119
  vId: invibes.visitId,
122
120
  width: topWin.innerWidth,
@@ -157,12 +155,12 @@ function buildRequest(bidRequests, bidderRequest) {
157
155
 
158
156
  function handleResponse(responseObj, bidRequests) {
159
157
  if (bidRequests == null || bidRequests.length === 0) {
160
- utils.logInfo('Invibes Adapter - No bids have been requested');
158
+ logInfo('Invibes Adapter - No bids have been requested');
161
159
  return [];
162
160
  }
163
161
 
164
162
  if (!responseObj) {
165
- utils.logInfo('Invibes Adapter - Bid response is empty');
163
+ logInfo('Invibes Adapter - Bid response is empty');
166
164
  return [];
167
165
  }
168
166
 
@@ -170,16 +168,25 @@ function handleResponse(responseObj, bidRequests) {
170
168
  responseObj = responseObj.videoAdContentResult || responseObj;
171
169
 
172
170
  if (typeof invibes.bidResponse === 'object') {
173
- utils.logInfo('Invibes Adapter - Bid response already received. Invibes only responds to one bid request per user visit');
174
- return [];
171
+ if (responseObj.MultipositionEnabled === true) {
172
+ invibes.bidResponse.AdPlacements = invibes.bidResponse.AdPlacements.concat(responseObj.AdPlacements);
173
+ } else {
174
+ logInfo('Invibes Adapter - Bid response already received. Invibes only responds to one bid request per user visit');
175
+ return [];
176
+ }
177
+ } else {
178
+ invibes.bidResponse = responseObj;
175
179
  }
176
180
 
177
- invibes.bidResponse = responseObj;
178
-
179
181
  const bidResponses = [];
180
182
  for (let i = 0; i < bidRequests.length; i++) {
181
183
  let bidRequest = bidRequests[i];
182
184
 
185
+ if (invibes.placementBids.indexOf(bidRequest.params.placementId) > -1) {
186
+ logInfo('Invibes Adapter - Placement was previously bid on ' + bidRequest.params.placementId);
187
+ continue;
188
+ }
189
+
183
190
  let requestPlacement = null;
184
191
  if (responseObj.AdPlacements != null) {
185
192
  for (let j = 0; j < responseObj.AdPlacements.length; j++) {
@@ -196,8 +203,9 @@ function handleResponse(responseObj, bidRequests) {
196
203
  }
197
204
  }
198
205
 
199
- let bid = createBid(bidRequest, requestPlacement);
206
+ let bid = createBid(bidRequest, requestPlacement, responseObj.MultipositionEnabled);
200
207
  if (bid !== null) {
208
+ invibes.placementBids.push(bidRequest.params.placementId);
201
209
  bidResponses.push(bid);
202
210
  }
203
211
  }
@@ -205,9 +213,9 @@ function handleResponse(responseObj, bidRequests) {
205
213
  return bidResponses;
206
214
  }
207
215
 
208
- function createBid(bidRequest, requestPlacement) {
216
+ function createBid(bidRequest, requestPlacement, multipositionEnabled) {
209
217
  if (requestPlacement === null || requestPlacement.BidModel === null) {
210
- utils.logInfo('Invibes Adapter - Placement not configured for bidding ' + bidRequest.params.placementId);
218
+ logInfo('Invibes Adapter - Placement not configured for bidding ' + bidRequest.params.placementId);
211
219
  return null;
212
220
  }
213
221
 
@@ -215,18 +223,42 @@ function createBid(bidRequest, requestPlacement) {
215
223
  let ads = requestPlacement.Ads;
216
224
  if (!Array.isArray(ads) || ads.length < 1) {
217
225
  if (requestPlacement.AdReason != null) {
218
- utils.logInfo('Invibes Adapter - No ads ' + requestPlacement.AdReason);
226
+ logInfo('Invibes Adapter - No ads ' + requestPlacement.AdReason);
219
227
  }
220
228
 
221
- utils.logInfo('Invibes Adapter - No ads available');
229
+ logInfo('Invibes Adapter - No ads available');
222
230
  return null;
223
231
  }
224
232
 
225
233
  let ad = ads[0];
226
234
  let size = getBiggerSize(bidRequest.sizes);
227
235
 
236
+ if (multipositionEnabled === true) {
237
+ if (Object.keys(invibes.pushedCids).length > 0) {
238
+ if (ad.Blcids != null && ad.Blcids.length > 0) {
239
+ let blacklistsPushedCids = Object.keys(invibes.pushedCids).some(function(pushedCid) {
240
+ return ad.Blcids.indexOf(parseInt(pushedCid)) > -1;
241
+ });
242
+
243
+ if (blacklistsPushedCids) {
244
+ logInfo('Invibes Adapter - Ad blacklists pushed ids');
245
+ return null;
246
+ }
247
+ }
248
+
249
+ let isBlacklisted = Object.keys(invibes.pushedCids).some(function(pushedCid) {
250
+ return invibes.pushedCids[pushedCid].indexOf(ad.Cid) > -1;
251
+ });
252
+ if (isBlacklisted) {
253
+ logInfo('Invibes Adapter - Ad is blacklisted');
254
+ return null;
255
+ }
256
+ }
257
+ }
258
+
259
+ invibes.pushedCids[ad.Cid] = ad.Blcids || [];
228
260
  const now = Date.now();
229
- utils.logInfo('Bid auction started at ' + bidModel.AuctionStartTime + ' . Invibes registered the bid at ' + now + ' ; bid request took a total of ' + (now - bidModel.AuctionStartTime) + ' ms.');
261
+ logInfo('Bid auction started at ' + bidModel.AuctionStartTime + ' . Invibes registered the bid at ' + now + ' ; bid request took a total of ' + (now - bidModel.AuctionStartTime) + ' ms.');
230
262
 
231
263
  return {
232
264
  requestId: bidRequest.bidId,
@@ -660,6 +692,8 @@ export function resetInvibes() {
660
692
  invibes.dom = undefined;
661
693
  invibes.bidResponse = undefined;
662
694
  invibes.domainOptions = undefined;
695
+ invibes.placementBids = [];
696
+ invibes.pushedCids = {};
663
697
  }
664
698
 
665
699
  export function stubDomainOptions(persistence) {
@@ -5,11 +5,11 @@ import { ajaxBuilder } from '../src/ajax.js';
5
5
  import adapter from '../src/AnalyticsAdapter.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
 
8
+ import { generateUUID, logInfo } from '../src/utils.js';
9
+
8
10
  const DEFAULT_EVENT_URL = 'https://api.pymx5.com/v1/' + 'sites/events';
9
11
  const analyticsType = 'endpoint';
10
12
  const analyticsName = 'Invisibly Analytics Adapter:';
11
-
12
- const utils = require('../src/utils.js');
13
13
  const CONSTANTS = require('../src/constants.json');
14
14
  const ajax = ajaxBuilder(0);
15
15
 
@@ -33,7 +33,7 @@ const {
33
33
  } = CONSTANTS;
34
34
 
35
35
  const _VERSION = 1;
36
- const _pageViewId = utils.generateUUID();
36
+ const _pageViewId = generateUUID();
37
37
  let initOptions = null;
38
38
  let _startAuction = 0;
39
39
  let _bidRequestTimeout = 0;
@@ -122,7 +122,7 @@ function flush() {
122
122
  };
123
123
  ajax(
124
124
  initOptions.url,
125
- () => utils.logInfo(`${analyticsName} sent events batch`),
125
+ () => logInfo(`${analyticsName} sent events batch`),
126
126
  JSON.stringify(payload),
127
127
  {
128
128
  contentType: 'application/json',
@@ -206,7 +206,7 @@ function handleEvent(eventType, eventArgs) {
206
206
 
207
207
  function sendEvent(event) {
208
208
  _eventQueue.push(event);
209
- utils.logInfo(`${analyticsName}Event ${event.eventType}:`, event);
209
+ logInfo(`${analyticsName}Event ${event.eventType}:`, event);
210
210
 
211
211
  if (event.eventType === AUCTION_END) {
212
212
  flush();
@@ -1,6 +1,6 @@
1
+ import { deepAccess, getBidIdParameter, isArray, _each, getWindowTop, parseUrl } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
3
  import {config} from '../src/config.js';
3
- import * as utils from '../src/utils.js';
4
4
  import {BANNER, VIDEO} from '../src/mediaTypes.js';
5
5
  import {INSTREAM} from '../src/video.js';
6
6
 
@@ -28,11 +28,11 @@ export const spec = {
28
28
  * @return boolean True if this is a valid bid, and false otherwise.
29
29
  */
30
30
  isBidRequestValid: function (bid) {
31
- const banner = utils.deepAccess(bid, 'mediaTypes.banner');
32
- const videoMediaType = utils.deepAccess(bid, 'mediaTypes.video');
33
- const context = utils.deepAccess(bid, 'mediaTypes.video.context');
31
+ const banner = deepAccess(bid, 'mediaTypes.banner');
32
+ const videoMediaType = deepAccess(bid, 'mediaTypes.video');
33
+ const context = deepAccess(bid, 'mediaTypes.video.context');
34
34
  if ((videoMediaType && context === INSTREAM)) {
35
- const videoBidderParams = utils.deepAccess(bid, 'params.video', {});
35
+ const videoBidderParams = deepAccess(bid, 'params.video', {});
36
36
 
37
37
  if (!Array.isArray(videoMediaType.playerSize)) {
38
38
  return false;
@@ -85,7 +85,7 @@ export const spec = {
85
85
  buildRequests: function (validBidRequests, bidderRequest) {
86
86
  return validBidRequests.map(bid => {
87
87
  var finalRequest = {};
88
- let bidfloor = utils.getBidIdParameter('bidfloor', bid.params);
88
+ let bidfloor = getBidIdParameter('bidfloor', bid.params);
89
89
 
90
90
  const imp = {
91
91
  id: bid.bidId,
@@ -95,10 +95,10 @@ export const spec = {
95
95
  displaymanagerver: VERSION,
96
96
 
97
97
  }
98
- if (utils.deepAccess(bid, 'mediaTypes.banner')) {
98
+ if (deepAccess(bid, 'mediaTypes.banner')) {
99
99
  imp.banner = getSize(bid.sizes);
100
100
  imp.mediatype = 'banner';
101
- } else if (utils.deepAccess(bid, 'mediaTypes.video')) {
101
+ } else if (deepAccess(bid, 'mediaTypes.video')) {
102
102
  imp.video = _buildVideoORTB(bid);
103
103
  imp.mediatype = 'video';
104
104
  }
@@ -107,8 +107,8 @@ export const spec = {
107
107
  finalRequest = {
108
108
  sizes: bid.sizes,
109
109
  id: bid.bidId,
110
- publisherId: utils.getBidIdParameter('publisherId', bid.params),
111
- placementId: utils.getBidIdParameter('placementId', bid.params),
110
+ publisherId: getBidIdParameter('publisherId', bid.params),
111
+ placementId: getBidIdParameter('placementId', bid.params),
112
112
  device: device,
113
113
  site: site,
114
114
  imp: imp,
@@ -138,9 +138,9 @@ export const spec = {
138
138
  interpretResponse: function (serverResponse, bidRequest) {
139
139
  const bidResponses = [];
140
140
  serverResponse = serverResponse.body;
141
- if (serverResponse && utils.isArray(serverResponse.seatbid)) {
142
- utils._each(serverResponse.seatbid, function (bidList) {
143
- utils._each(bidList.bid, function (bid) {
141
+ if (serverResponse && isArray(serverResponse.seatbid)) {
142
+ _each(serverResponse.seatbid, function (bidList) {
143
+ _each(bidList.bid, function (bid) {
144
144
  const responseCPM = parseFloat(bid.price);
145
145
  if (responseCPM > 0.0 && bid.impid) {
146
146
  const bidResponse = {
@@ -228,16 +228,16 @@ function getSite(bidderRequest) {
228
228
  const {refererInfo} = bidderRequest;
229
229
 
230
230
  if (canAccessTopWindow()) {
231
- const wt = utils.getWindowTop();
231
+ const wt = getWindowTop();
232
232
  domain = wt.location.hostname;
233
233
  page = wt.location.href;
234
234
  referrer = wt.document.referrer || '';
235
235
  } else if (refererInfo.reachedTop) {
236
- const url = utils.parseUrl(refererInfo.referer);
236
+ const url = parseUrl(refererInfo.referer);
237
237
  domain = url.hostname;
238
238
  page = refererInfo.referer;
239
239
  } else if (refererInfo.stack && refererInfo.stack.length && refererInfo.stack[0]) {
240
- const url = utils.parseUrl(refererInfo.stack[0]);
240
+ const url = parseUrl(refererInfo.stack[0]);
241
241
  domain = url.hostname;
242
242
  }
243
243
 
@@ -251,7 +251,7 @@ function getSite(bidderRequest) {
251
251
 
252
252
  function canAccessTopWindow() {
253
253
  try {
254
- if (utils.getWindowTop().location.href) {
254
+ if (getWindowTop().location.href) {
255
255
  return true;
256
256
  }
257
257
  } catch (error) {
@@ -260,8 +260,8 @@ function canAccessTopWindow() {
260
260
  }
261
261
 
262
262
  function _buildVideoORTB(bidRequest) {
263
- const videoAdUnit = utils.deepAccess(bidRequest, 'mediaTypes.video');
264
- const videoBidderParams = utils.deepAccess(bidRequest, 'params.video', {});
263
+ const videoAdUnit = deepAccess(bidRequest, 'mediaTypes.video');
264
+ const videoBidderParams = deepAccess(bidRequest, 'params.video', {});
265
265
  const video = {}
266
266
 
267
267
  const videoParams = {
@@ -1,6 +1,6 @@
1
+ import { isFn, deepAccess, logMessage } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
  import { config } from '../src/config.js';
5
5
 
6
6
  const BIDDER_CODE = 'iqzone';
@@ -66,8 +66,8 @@ function getPlacementReqData(bid) {
66
66
  }
67
67
 
68
68
  function getBidFloor(bid) {
69
- if (!utils.isFn(bid.getFloor)) {
70
- return utils.deepAccess(bid, 'params.bidfloor', 0);
69
+ if (!isFn(bid.getFloor)) {
70
+ return deepAccess(bid, 'params.bidfloor', 0);
71
71
  }
72
72
 
73
73
  try {
@@ -113,7 +113,7 @@ export const spec = {
113
113
  deviceHeight = winTop.screen.height;
114
114
  winLocation = winTop.location;
115
115
  } catch (e) {
116
- utils.logMessage(e);
116
+ logMessage(e);
117
117
  winLocation = window.location;
118
118
  }
119
119
 
@@ -122,7 +122,7 @@ export const spec = {
122
122
  try {
123
123
  refferLocation = refferUrl && new URL(refferUrl);
124
124
  } catch (e) {
125
- utils.logMessage(e);
125
+ logMessage(e);
126
126
  }
127
127
 
128
128
  let location = refferLocation || winLocation;