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,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepAccess, isStr, replaceAuctionPrice, triggerPixel, isArray, parseQueryStringParameters, getWindowSelf } from '../src/utils.js';
2
2
  import {config} from '../src/config.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
  import {BANNER} from '../src/mediaTypes.js';
@@ -60,34 +60,34 @@ export const interpretResponse = function (serverResponse) {
60
60
  export const onBidWon = function (bid) {
61
61
  const cpm = bid.cpm || 0;
62
62
  const cpmCurrency = bid.currency || SUPPORTED_CURRENCY;
63
- const adServerPrice = utils.deepAccess(bid, 'adserverTargeting.hb_pb', 0);
63
+ const adServerPrice = deepAccess(bid, 'adserverTargeting.hb_pb', 0);
64
64
  const adServerPriceCurrency = config.getConfig('currency.adServerCurrency') || SUPPORTED_CURRENCY;
65
- if (utils.isStr(bid.nurl) && bid.nurl !== '') {
66
- const winNotificationUrl = utils.replaceAuctionPrice(bid.nurl, cpm)
65
+ if (isStr(bid.nurl) && bid.nurl !== '') {
66
+ const winNotificationUrl = replaceAuctionPrice(bid.nurl, cpm)
67
67
  .replace(/\${AUCTION_PRICE_CURRENCY}/g, cpmCurrency)
68
68
  .replace(/\${AD_SERVER_PRICE}/g, adServerPrice)
69
69
  .replace(/\${AD_SERVER_PRICE_CURRENCY}/g, adServerPriceCurrency);
70
- utils.triggerPixel(winNotificationUrl);
70
+ triggerPixel(winNotificationUrl);
71
71
  }
72
72
  };
73
73
 
74
74
  export const onTimeout = function (timeoutDataArray) {
75
- if (utils.isArray(timeoutDataArray)) {
75
+ if (isArray(timeoutDataArray)) {
76
76
  const refererInfo = getRefererInfo();
77
77
  const pageUrl = (refererInfo && refererInfo.referer)
78
78
  ? refererInfo.referer
79
79
  : window.location.href;
80
80
  timeoutDataArray.forEach(timeoutData => {
81
- const query = utils.parseQueryStringParameters({
81
+ const query = parseQueryStringParameters({
82
82
  ad_unit_code: timeoutData.adUnitCode,
83
83
  auction_id: timeoutData.auctionId,
84
84
  bid_id: timeoutData.bidId,
85
85
  timeout: timeoutData.timeout,
86
- placement_id: utils.deepAccess(timeoutData, 'params.0.placementId'),
86
+ placement_id: deepAccess(timeoutData, 'params.0.placementId'),
87
87
  page_url: pageUrl,
88
88
  });
89
89
  const timeoutNotificationUrl = `${TIMEOUT_NOTIFICATION_ENDPOINT}?${query}`;
90
- utils.triggerPixel(timeoutNotificationUrl);
90
+ triggerPixel(timeoutNotificationUrl);
91
91
  });
92
92
  }
93
93
  };
@@ -143,7 +143,7 @@ function buildOpenRtbImpObject(validBidRequest) {
143
143
  }
144
144
 
145
145
  function getDevice() {
146
- const ws = utils.getWindowSelf();
146
+ const ws = getWindowSelf();
147
147
  const ua = ws.navigator.userAgent;
148
148
 
149
149
  if (/(tablet|ipad|playbook|silk|android 3.0|xoom|sch-i800|kindle)|(android(?!.*mobi))/i
@@ -171,8 +171,8 @@ function getTest(validBidRequest) {
171
171
  }
172
172
 
173
173
  function getSizes(validBidRequest) {
174
- const sizes = utils.deepAccess(validBidRequest, 'mediaTypes.banner.sizes', validBidRequest.sizes);
175
- if (utils.isArray(sizes) && sizes.length > 0) {
174
+ const sizes = deepAccess(validBidRequest, 'mediaTypes.banner.sizes', validBidRequest.sizes);
175
+ if (isArray(sizes) && sizes.length > 0) {
176
176
  return sizes;
177
177
  }
178
178
 
@@ -1,7 +1,7 @@
1
+ import { parseSizesInput, logError, uniques } from '../src/utils.js';
1
2
  import { ajax } from '../src/ajax.js';
2
3
  import adapter from '../src/AnalyticsAdapter.js';
3
4
  import adapterManager from '../src/adapterManager.js';
4
- import * as utils from '../src/utils.js';
5
5
  import { targeting } from '../src/targeting.js';
6
6
  import { config } from '../src/config.js';
7
7
  import CONSTANTS from '../src/constants.json';
@@ -84,7 +84,7 @@ const konduitAnalyticsAdapter = Object.assign(
84
84
  );
85
85
 
86
86
  function obtainBidTimeoutInfo (args) {
87
- return args.map(item => item.bidder).filter(utils.uniques);
87
+ return args.map(item => item.bidder).filter(uniques);
88
88
  }
89
89
 
90
90
  function obtainAuctionInfo (auction) {
@@ -109,7 +109,7 @@ function obtainBidRequestsInfo (bidRequests) {
109
109
  adUnitCode: bid.adUnitCode,
110
110
  bidId: bid.bidId,
111
111
  startTime: bid.startTime,
112
- sizes: utils.parseSizesInput(bid.sizes).toString(),
112
+ sizes: parseSizesInput(bid.sizes).toString(),
113
113
  params: bid.params
114
114
  };
115
115
  }),
@@ -208,7 +208,7 @@ konduitAnalyticsAdapter.enableAnalytics = function (analyticsConfig) {
208
208
  const konduitId = config.getConfig('konduit.konduitId');
209
209
 
210
210
  if (!konduitId) {
211
- utils.logError('A konduitId in config is required to use konduitAnalyticsAdapter');
211
+ logError('A konduitId in config is required to use konduitAnalyticsAdapter');
212
212
  return;
213
213
  }
214
214
 
@@ -1,6 +1,6 @@
1
+ import { logInfo, logError, isNumber, isStr, isEmpty } from '../src/utils.js';
1
2
  import { registerVideoSupport } from '../src/adServerManager.js';
2
3
  import { targeting } from '../src/targeting.js';
3
- import * as utils from '../src/utils.js';
4
4
  import { config } from '../src/config.js';
5
5
  import { ajaxBuilder } from '../src/ajax.js';
6
6
  import { getPriceBucketString } from '../src/cpmBucketManager.js';
@@ -49,12 +49,12 @@ function addLogLabel(args) {
49
49
  return args;
50
50
  }
51
51
 
52
- function logInfo() {
53
- utils.logInfo(...addLogLabel(arguments));
52
+ function _logInfo() {
53
+ logInfo(...addLogLabel(arguments));
54
54
  }
55
55
 
56
- function logError() {
57
- utils.logError(...addLogLabel(arguments));
56
+ function _logError() {
57
+ logError(...addLogLabel(arguments));
58
58
  }
59
59
 
60
60
  function sendRequest ({ host = SERVER_HOST, protocol = SERVER_PROTOCOL, method = 'GET', path, payload, callbacks, timeout }) {
@@ -113,7 +113,7 @@ function setDefaultKCpmToBid(bid, winnerBid, priceGranularity) {
113
113
  }
114
114
 
115
115
  function addKCpmToBid(kCpm, bid, winnerBid, priceGranularity) {
116
- if (utils.isNumber(kCpm)) {
116
+ if (isNumber(kCpm)) {
117
117
  bid.kCpm = kCpm;
118
118
  const priceStringsObj = getPriceBucketString(
119
119
  kCpm,
@@ -134,7 +134,7 @@ function addKCpmToBid(kCpm, bid, winnerBid, priceGranularity) {
134
134
  }
135
135
 
136
136
  function addKonduitCacheKeyToBid(cacheKey, bid, winnerBid) {
137
- if (utils.isStr(cacheKey)) {
137
+ if (isStr(cacheKey)) {
138
138
  bid.konduitCacheKey = cacheKey;
139
139
 
140
140
  if (config.getConfig(SEND_ALL_BIDS_CONFIG)) {
@@ -163,7 +163,7 @@ export function processBids(options = {}) {
163
163
  options = options || {};
164
164
 
165
165
  if (!konduitId) {
166
- logError(errorMessages.NO_KONDUIT_ID);
166
+ _logError(errorMessages.NO_KONDUIT_ID);
167
167
 
168
168
  if (options.callback) {
169
169
  options.callback(new Error(errorMessages.NO_KONDUIT_ID), []);
@@ -184,7 +184,7 @@ export function processBids(options = {}) {
184
184
  }
185
185
 
186
186
  if (!bids.length) {
187
- logError(errorMessages.NO_BIDS);
187
+ _logError(errorMessages.NO_BIDS);
188
188
 
189
189
  if (options.callback) {
190
190
  options.callback(new Error(errorMessages.NO_BIDS), []);
@@ -216,11 +216,11 @@ export function processBids(options = {}) {
216
216
  callbacks: {
217
217
  success: (data) => {
218
218
  let error = null;
219
- logInfo('Bids processed successfully ', data);
219
+ _logInfo('Bids processed successfully ', data);
220
220
  try {
221
221
  const { kCpmData, cacheData } = JSON.parse(data);
222
222
 
223
- if (utils.isEmpty(cacheData)) {
223
+ if (isEmpty(cacheData)) {
224
224
  throw new Error(errorMessages.CACHE_FAILURE);
225
225
  }
226
226
 
@@ -234,7 +234,7 @@ export function processBids(options = {}) {
234
234
  })
235
235
  } catch (err) {
236
236
  error = err;
237
- logError('Error parsing JSON response for bidsProcessor data: ', err)
237
+ _logError('Error parsing JSON response for bidsProcessor data: ', err)
238
238
  }
239
239
 
240
240
  if (options.callback) {
@@ -242,9 +242,9 @@ export function processBids(options = {}) {
242
242
  }
243
243
  },
244
244
  error: (error) => {
245
- logError('Bids were not processed successfully ', error);
245
+ _logError('Bids were not processed successfully ', error);
246
246
  if (options.callback) {
247
- options.callback(utils.isStr(error) ? new Error(error) : error, bids);
247
+ options.callback(isStr(error) ? new Error(error) : error, bids);
248
248
  }
249
249
  }
250
250
  }
@@ -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
 
5
5
  const BIDDER_CODE = 'krushmedia';
6
6
  const AD_URL = 'https://ads4.krushmedia.com/?c=rtb&m=hb';
@@ -24,8 +24,8 @@ function isBidResponseValid(bid) {
24
24
  }
25
25
 
26
26
  function getBidFloor(bid) {
27
- if (!utils.isFn(bid.getFloor)) {
28
- return utils.deepAccess(bid, 'params.bidfloor', 0);
27
+ if (!isFn(bid.getFloor)) {
28
+ return deepAccess(bid, 'params.bidfloor', 0);
29
29
  }
30
30
 
31
31
  try {
@@ -56,7 +56,7 @@ export const spec = {
56
56
  winTop = window.top;
57
57
  } catch (e) {
58
58
  location = winTop.location;
59
- utils.logMessage(e);
59
+ logMessage(e);
60
60
  };
61
61
 
62
62
  const placements = [];
@@ -1,6 +1,6 @@
1
+ import { isArray, deepAccess } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
3
  import {BANNER, VIDEO} from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
 
5
5
  const BIDDER_CODE = 'kubient';
6
6
  const END_POINT = 'https://kssp.kbntx.ch/kubprebidjs';
@@ -96,7 +96,7 @@ export const spec = {
96
96
  ad: bid.adm,
97
97
  meta: {}
98
98
  };
99
- if (bid.meta && bid.meta.adomain && utils.isArray(bid.meta.adomain)) {
99
+ if (bid.meta && bid.meta.adomain && isArray(bid.meta.adomain)) {
100
100
  bidResponse.meta.advertiserDomains = bid.meta.adomain;
101
101
  }
102
102
  if (bid.mediaType === VIDEO) {
@@ -137,13 +137,13 @@ export const spec = {
137
137
  function kubientGetConsentGiven(gdprConsent) {
138
138
  let consentGiven = 0;
139
139
  if (typeof gdprConsent !== 'undefined') {
140
- let apiVersion = utils.deepAccess(gdprConsent, `apiVersion`);
140
+ let apiVersion = deepAccess(gdprConsent, `apiVersion`);
141
141
  switch (apiVersion) {
142
142
  case 1:
143
- consentGiven = utils.deepAccess(gdprConsent, `vendorData.vendorConsents.${VENDOR_ID}`) ? 1 : 0;
143
+ consentGiven = deepAccess(gdprConsent, `vendorData.vendorConsents.${VENDOR_ID}`) ? 1 : 0;
144
144
  break;
145
145
  case 2:
146
- consentGiven = utils.deepAccess(gdprConsent, `vendorData.vendor.consents.${VENDOR_ID}`) ? 1 : 0;
146
+ consentGiven = deepAccess(gdprConsent, `vendorData.vendor.consents.${VENDOR_ID}`) ? 1 : 0;
147
147
  break;
148
148
  }
149
149
  }
@@ -1,7 +1,7 @@
1
+ import { logMessage, groupBy, uniques } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
3
4
  import {ajax} from '../src/ajax.js';
4
- import * as utils from '../src/utils.js';
5
5
 
6
6
  const BIDDER_CODE = 'limelightDigital';
7
7
 
@@ -51,10 +51,10 @@ export const spec = {
51
51
  winTop = window.top;
52
52
  winTop.location.toString();
53
53
  } catch (e) {
54
- utils.logMessage(e);
54
+ logMessage(e);
55
55
  winTop = window;
56
56
  }
57
- const placements = utils.groupBy(validBidRequests.map(bidRequest => buildPlacement(bidRequest)), 'host')
57
+ const placements = groupBy(validBidRequests.map(bidRequest => buildPlacement(bidRequest)), 'host')
58
58
  return Object.keys(placements)
59
59
  .map(host => buildRequest(winTop, host, placements[host].map(placement => placement.adUnit)));
60
60
  },
@@ -125,7 +125,7 @@ function buildPlacement(bidRequest) {
125
125
  break;
126
126
  }
127
127
  }
128
- sizes = (sizes || []).concat(bidRequest.sizes || []).filter(utils.uniques);
128
+ sizes = (sizes || []).concat(bidRequest.sizes || []).filter(uniques);
129
129
  return {
130
130
  host: bidRequest.params.host,
131
131
  adUnit: {
@@ -4,8 +4,7 @@
4
4
  * @module modules/liveIntentIdSystem
5
5
  * @requires module:modules/userId
6
6
  */
7
- import * as utils from '../src/utils.js';
8
- import { triggerPixel } from '../src/utils.js';
7
+ import { triggerPixel, logError } from '../src/utils.js';
9
8
  import { ajaxBuilder } from '../src/ajax.js';
10
9
  import { submodule } from '../src/hook.js';
11
10
  import { LiveConnect } from 'live-connect-js/esm/initializer.js';
@@ -93,8 +92,8 @@ function initializeLiveConnect(configParams) {
93
92
  liveConnectConfig.gdprConsent = gdprConsent.consentString;
94
93
  }
95
94
 
96
- // The second param is the storage object, LS & Cookie manipulation uses PBJS utils.
97
- // The third param is the ajax and pixel object, the ajax and pixel use PBJS utils.
95
+ // The second param is the storage object, LS & Cookie manipulation uses PBJS
96
+ // The third param is the ajax and pixel object, the ajax and pixel use PBJS
98
97
  liveConnect = liveIntentIdSubmodule.getInitializer()(liveConnectConfig, storage, calls);
99
98
  if (configParams.emailHash) {
100
99
  liveConnect.push({ hash: configParams.emailHash })
@@ -169,7 +168,7 @@ export const liveIntentIdSubmodule = {
169
168
  callback(response);
170
169
  },
171
170
  error => {
172
- utils.logError(`${MODULE_NAME}: ID fetch encountered an error: `, error);
171
+ logError(`${MODULE_NAME}: ID fetch encountered an error: `, error);
173
172
  callback();
174
173
  }
175
174
  )
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { timestamp, logInfo, getWindowTop } from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
3
  import adapter from '../src/AnalyticsAdapter.js';
4
4
  import CONSTANTS from '../src/constants.json';
@@ -21,22 +21,25 @@ const cache = {
21
21
 
22
22
  let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE}), {
23
23
  track({eventType, args}) {
24
- const time = utils.timestamp();
25
- utils.logInfo('LIVEWRAPPED_EVENT:', [eventType, args]);
24
+ const time = timestamp();
25
+ logInfo('LIVEWRAPPED_EVENT:', [eventType, args]);
26
26
 
27
27
  switch (eventType) {
28
28
  case CONSTANTS.EVENTS.AUCTION_INIT:
29
- utils.logInfo('LIVEWRAPPED_AUCTION_INIT:', args);
29
+ logInfo('LIVEWRAPPED_AUCTION_INIT:', args);
30
30
  cache.auctions[args.auctionId] = {bids: {}, bidAdUnits: {}};
31
31
  break;
32
32
  case CONSTANTS.EVENTS.BID_REQUESTED:
33
- utils.logInfo('LIVEWRAPPED_BID_REQUESTED:', args);
33
+ logInfo('LIVEWRAPPED_BID_REQUESTED:', args);
34
34
  cache.auctions[args.auctionId].timeStamp = args.start;
35
35
 
36
36
  args.bids.forEach(function(bidRequest) {
37
37
  cache.auctions[args.auctionId].gdprApplies = args.gdprConsent ? args.gdprConsent.gdprApplies : undefined;
38
38
  cache.auctions[args.auctionId].gdprConsent = args.gdprConsent ? args.gdprConsent.consentString : undefined;
39
39
  let lwFloor;
40
+ let container = document.getElementById(bidRequest.adUnitCode);
41
+ let adUnitId = container ? container.getAttribute('data-adunitid') : undefined;
42
+ adUnitId = adUnitId != null ? adUnitId : undefined;
40
43
 
41
44
  if (bidRequest.lwflr) {
42
45
  lwFloor = bidRequest.lwflr.flr;
@@ -49,6 +52,7 @@ let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE
49
52
  cache.auctions[args.auctionId].bids[bidRequest.bidId] = {
50
53
  bidder: bidRequest.bidder,
51
54
  adUnit: bidRequest.adUnitCode,
55
+ adUnitId: adUnitId,
52
56
  isBid: false,
53
57
  won: false,
54
58
  timeout: false,
@@ -62,12 +66,12 @@ let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE
62
66
  lw: bidRequest.lw
63
67
  }
64
68
 
65
- utils.logInfo(bidRequest);
69
+ logInfo(bidRequest);
66
70
  })
67
- utils.logInfo(livewrappedAnalyticsAdapter.requestEvents);
71
+ logInfo(livewrappedAnalyticsAdapter.requestEvents);
68
72
  break;
69
73
  case CONSTANTS.EVENTS.BID_RESPONSE:
70
- utils.logInfo('LIVEWRAPPED_BID_RESPONSE:', args);
74
+ logInfo('LIVEWRAPPED_BID_RESPONSE:', args);
71
75
 
72
76
  let bidResponse = cache.auctions[args.auctionId].bids[args.requestId];
73
77
  bidResponse.isBid = args.getStatusCode() === CONSTANTS.STATUS.GOOD;
@@ -77,6 +81,7 @@ let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE
77
81
  bidResponse.ttr = args.timeToRespond;
78
82
  bidResponse.readyToSend = 1;
79
83
  bidResponse.mediaType = args.mediaType == 'native' ? 2 : (args.mediaType == 'video' ? 4 : 1);
84
+ bidResponse.floorData = args.floorData;
80
85
  if (!bidResponse.ttr) {
81
86
  bidResponse.ttr = time - bidResponse.start;
82
87
  }
@@ -85,12 +90,13 @@ let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE
85
90
  {
86
91
  sent: 0,
87
92
  lw: bidResponse.lw,
93
+ adUnitId: bidResponse.adUnitId,
88
94
  timeStamp: cache.auctions[args.auctionId].timeStamp
89
95
  };
90
96
  }
91
97
  break;
92
98
  case CONSTANTS.EVENTS.BIDDER_DONE:
93
- utils.logInfo('LIVEWRAPPED_BIDDER_DONE:', args);
99
+ logInfo('LIVEWRAPPED_BIDDER_DONE:', args);
94
100
  args.bids.forEach(doneBid => {
95
101
  let bid = cache.auctions[doneBid.auctionId].bids[doneBid.bidId || doneBid.requestId];
96
102
  if (!bid.ttr) {
@@ -100,21 +106,22 @@ let livewrappedAnalyticsAdapter = Object.assign(adapter({EMPTYURL, ANALYTICSTYPE
100
106
  });
101
107
  break;
102
108
  case CONSTANTS.EVENTS.BID_WON:
103
- utils.logInfo('LIVEWRAPPED_BID_WON:', args);
109
+ logInfo('LIVEWRAPPED_BID_WON:', args);
104
110
  let wonBid = cache.auctions[args.auctionId].bids[args.requestId];
105
111
  wonBid.won = true;
112
+ wonBid.floorData = args.floorData;
106
113
  if (wonBid.sendStatus != 0) {
107
114
  livewrappedAnalyticsAdapter.sendEvents();
108
115
  }
109
116
  break;
110
117
  case CONSTANTS.EVENTS.BID_TIMEOUT:
111
- utils.logInfo('LIVEWRAPPED_BID_TIMEOUT:', args);
118
+ logInfo('LIVEWRAPPED_BID_TIMEOUT:', args);
112
119
  args.forEach(timeout => {
113
120
  cache.auctions[timeout.auctionId].bids[timeout.bidId].timeout = true;
114
121
  });
115
122
  break;
116
123
  case CONSTANTS.EVENTS.AUCTION_END:
117
- utils.logInfo('LIVEWRAPPED_AUCTION_END:', args);
124
+ logInfo('LIVEWRAPPED_AUCTION_END:', args);
118
125
  setTimeout(() => {
119
126
  livewrappedAnalyticsAdapter.sendEvents();
120
127
  }, BID_WON_TIMEOUT);
@@ -159,7 +166,7 @@ livewrappedAnalyticsAdapter.sendEvents = function() {
159
166
 
160
167
  function getAdblockerRecovered() {
161
168
  try {
162
- return utils.getWindowTop().I12C && utils.getWindowTop().I12C.Morph === 1;
169
+ return getWindowTop().I12C && getWindowTop().I12C.Morph === 1;
163
170
  } catch (e) {}
164
171
  }
165
172
 
@@ -181,6 +188,7 @@ function getSentRequests() {
181
188
  sentRequests.push({
182
189
  timeStamp: auction.timeStamp,
183
190
  adUnit: bid.adUnit,
191
+ adUnitId: bid.adUnitId,
184
192
  bidder: bid.bidder,
185
193
  gdpr: gdprPos,
186
194
  floor: bid.lwFloor,
@@ -211,6 +219,7 @@ function getResponses(gdpr, auctionIds) {
211
219
  responses.push({
212
220
  timeStamp: auction.timeStamp,
213
221
  adUnit: bid.adUnit,
222
+ adUnitId: bid.adUnitId,
214
223
  bidder: bid.bidder,
215
224
  width: bid.width,
216
225
  height: bid.height,
@@ -219,7 +228,7 @@ function getResponses(gdpr, auctionIds) {
219
228
  IsBid: bid.isBid,
220
229
  mediaType: bid.mediaType,
221
230
  gdpr: gdprPos,
222
- floor: bid.floorData ? bid.floorData.floorValue : bid.lwFloor,
231
+ floor: bid.lwFloor ? bid.lwFloor : (bid.floorData ? bid.floorData.floorValue : undefined),
223
232
  floorCur: bid.floorData ? bid.floorData.floorCurrency : undefined,
224
233
  auctionId: auctionIdPos,
225
234
  auc: bid.auc,
@@ -249,13 +258,14 @@ function getWins(gdpr, auctionIds) {
249
258
  wins.push({
250
259
  timeStamp: auction.timeStamp,
251
260
  adUnit: bid.adUnit,
261
+ adUnitId: bid.adUnitId,
252
262
  bidder: bid.bidder,
253
263
  width: bid.width,
254
264
  height: bid.height,
255
265
  cpm: bid.cpm,
256
266
  mediaType: bid.mediaType,
257
267
  gdpr: gdprPos,
258
- floor: bid.floorData ? bid.floorData.floorValue : bid.lwFloor,
268
+ floor: bid.lwFloor ? bid.lwFloor : (bid.floorData ? bid.floorData.floorValue : undefined),
259
269
  floorCur: bid.floorData ? bid.floorData.floorCurrency : undefined,
260
270
  auctionId: auctionIdPos,
261
271
  auc: bid.auc,
@@ -314,6 +324,7 @@ function getTimeouts(auctionIds) {
314
324
  timeouts.push({
315
325
  bidder: bid.bidder,
316
326
  adUnit: bid.adUnit,
327
+ adUnitId: bid.adUnitId,
317
328
  timeStamp: auction.timeStamp,
318
329
  auctionId: auctionIdPos,
319
330
  auc: bid.auc,
@@ -339,6 +350,7 @@ function getbidAdUnits() {
339
350
 
340
351
  bidAdUnits.push({
341
352
  adUnit: adUnit,
353
+ adUnitId: bidAdUnit.adUnitId,
342
354
  timeStamp: bidAdUnit.timeStamp,
343
355
  lw: bidAdUnit.lw
344
356
  });
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { isSafariBrowser, deepAccess, getWindowTop } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { config } from '../src/config.js';
4
4
  import find from 'core-js-pure/features/array/find.js';
@@ -83,7 +83,7 @@ export const spec = {
83
83
  gdprConsent: bidderRequest.gdprConsent ? bidderRequest.gdprConsent.consentString : undefined,
84
84
  coppa: getCoppa(),
85
85
  usPrivacy: bidderRequest.uspConsent,
86
- cookieSupport: !utils.isSafariBrowser() && storage.cookiesAreEnabled(),
86
+ cookieSupport: !isSafariBrowser() && storage.cookiesAreEnabled(),
87
87
  rcv: getAdblockerRecovered(),
88
88
  adRequests: [...adRequests],
89
89
  rtbData: handleEids(bidRequests),
@@ -228,11 +228,11 @@ function bidToAdRequest(bid) {
228
228
  adRequest.auc = bid.auc;
229
229
  }
230
230
 
231
- adRequest.native = utils.deepAccess(bid, 'mediaTypes.native');
231
+ adRequest.native = deepAccess(bid, 'mediaTypes.native');
232
232
 
233
- adRequest.video = utils.deepAccess(bid, 'mediaTypes.video');
233
+ adRequest.video = deepAccess(bid, 'mediaTypes.video');
234
234
 
235
- if ((adRequest.native || adRequest.video) && utils.deepAccess(bid, 'mediaTypes.banner')) {
235
+ if ((adRequest.native || adRequest.video) && deepAccess(bid, 'mediaTypes.banner')) {
236
236
  adRequest.banner = true;
237
237
  }
238
238
 
@@ -240,7 +240,7 @@ function bidToAdRequest(bid) {
240
240
  }
241
241
 
242
242
  function getSizes(bid) {
243
- if (utils.deepAccess(bid, 'mediaTypes.banner.sizes')) {
243
+ if (deepAccess(bid, 'mediaTypes.banner.sizes')) {
244
244
  return bid.mediaTypes.banner.sizes;
245
245
  } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0) {
246
246
  return bid.sizes;
@@ -257,7 +257,7 @@ function sizeToFormat(size) {
257
257
 
258
258
  function getAdblockerRecovered() {
259
259
  try {
260
- return utils.getWindowTop().I12C && utils.getWindowTop().I12C.Morph === 1;
260
+ return getWindowTop().I12C && getWindowTop().I12C.Morph === 1;
261
261
  } catch (e) {}
262
262
  }
263
263
 
@@ -1,7 +1,7 @@
1
+ import { logError } from '../src/utils.js';
1
2
  import adapter from '../src/AnalyticsAdapter.js';
2
3
  import adapterManager from '../src/adapterManager.js';
3
4
  import CONSTANTS from '../src/constants.json';
4
- import * as utils from '../src/utils.js';
5
5
 
6
6
  const {
7
7
  EVENTS: { BID_REQUESTED, BID_TIMEOUT, BID_RESPONSE, BID_WON }
@@ -198,7 +198,7 @@ const liveyield = Object.assign(adapter({ analyticsType: 'bundle' }), {
198
198
  args.bidderCode
199
199
  );
200
200
  } catch (e) {
201
- utils.logError(e);
201
+ logError(e);
202
202
  }
203
203
  });
204
204
  break;
@@ -220,7 +220,7 @@ const liveyield = Object.assign(adapter({ analyticsType: 'bundle' }), {
220
220
  args.statusMessage !== 'Bid available'
221
221
  );
222
222
  } catch (e) {
223
- utils.logError(e);
223
+ logError(e);
224
224
  }
225
225
  break;
226
226
  case BID_TIMEOUT:
@@ -243,7 +243,7 @@ const liveyield = Object.assign(adapter({ analyticsType: 'bundle' }), {
243
243
  )
244
244
  );
245
245
  if (!ad) {
246
- utils.logError(
246
+ logError(
247
247
  'Cannot find ad by unit name: ' +
248
248
  liveyield.instanceConfig.getAdUnitName(
249
249
  liveyield.instanceConfig.getPlacementOrAdUnitCode(
@@ -255,7 +255,7 @@ const liveyield = Object.assign(adapter({ analyticsType: 'bundle' }), {
255
255
  break;
256
256
  }
257
257
  if (!args.bidderCode || !args.cpm) {
258
- utils.logError('Bidder code or cpm is not valid');
258
+ logError('Bidder code or cpm is not valid');
259
259
  break;
260
260
  }
261
261
  const resolution = { targetings: [] };
@@ -280,7 +280,7 @@ const liveyield = Object.assign(adapter({ analyticsType: 'bundle' }), {
280
280
  resolutionToUse
281
281
  );
282
282
  } catch (e) {
283
- utils.logError(e);
283
+ logError(e);
284
284
  }
285
285
  break;
286
286
  }
@@ -310,27 +310,27 @@ liveyield.originEnableAnalytics = liveyield.enableAnalytics;
310
310
  */
311
311
  liveyield.enableAnalytics = function(config) {
312
312
  if (!config || !config.provider || config.provider !== 'liveyield') {
313
- utils.logError('expected config.provider to equal liveyield');
313
+ logError('expected config.provider to equal liveyield');
314
314
  return;
315
315
  }
316
316
  if (!config.options) {
317
- utils.logError('options must be defined');
317
+ logError('options must be defined');
318
318
  return;
319
319
  }
320
320
  if (!config.options.customerId) {
321
- utils.logError('options.customerId is required');
321
+ logError('options.customerId is required');
322
322
  return;
323
323
  }
324
324
  if (!config.options.customerName) {
325
- utils.logError('options.customerName is required');
325
+ logError('options.customerName is required');
326
326
  return;
327
327
  }
328
328
  if (!config.options.customerSite) {
329
- utils.logError('options.customerSite is required');
329
+ logError('options.customerSite is required');
330
330
  return;
331
331
  }
332
332
  if (!config.options.sessionTimezoneOffset) {
333
- utils.logError('options.sessionTimezoneOffset is required');
333
+ logError('options.sessionTimezoneOffset is required');
334
334
  return;
335
335
  }
336
336
  liveyield.instanceConfig = Object.assign(
@@ -340,7 +340,7 @@ liveyield.enableAnalytics = function(config) {
340
340
  );
341
341
 
342
342
  if (typeof window[liveyield.instanceConfig.rtaFunctionName] !== 'function') {
343
- utils.logError(
343
+ logError(
344
344
  `Function ${liveyield.instanceConfig.rtaFunctionName} is not defined.` +
345
345
  `Make sure that LiveYield snippet in included before the Prebid Analytics configuration.`
346
346
  );
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { getBidIdParameter } from '../src/utils.js';
2
2
  import {BANNER} from '../src/mediaTypes.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
 
@@ -16,7 +16,7 @@ export const spec = {
16
16
  return {
17
17
  requestId: bid.bidId,
18
18
  adUnitCode: bid.adUnitCode,
19
- adUnitId: utils.getBidIdParameter('adUnitId', bid.params),
19
+ adUnitId: getBidIdParameter('adUnitId', bid.params),
20
20
  sizes: bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes
21
21
  };
22
22
  });