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
@@ -0,0 +1,348 @@
1
+ # Overview
2
+
3
+
4
+ **Module Name**: AFP Bidder Adapter
5
+ **Module Type**: Bidder Adapter
6
+ **Maintainer**: devops@astraone.io
7
+
8
+ # Description
9
+
10
+ You can use this adapter to get a bid from AFP.
11
+ Please reach out to your AFP account team before using this plugin to get placeId.
12
+ The code below returns a demo ad.
13
+
14
+ About us: https://afp.ai
15
+
16
+ # Test Parameters
17
+ ```js
18
+ var adUnits = [{
19
+ code: 'iib-target',
20
+ mediaTypes: {
21
+ banner: {
22
+ sizes: [[0, 0]],
23
+ }
24
+ },
25
+ bids: [{
26
+ bidder: "afp",
27
+ params: {
28
+ placeType: "In-image",
29
+ placeId: "613221112871613d1517d181", // id from personal account
30
+ placeContainer: '#iib-container',
31
+ imageUrl: "https://rtbinsight.ru/content/images/size/w1000/2021/05/ximage-30.png.pagespeed.ic.IfuX4zAEPP.png",
32
+ imageWidth: 1000,
33
+ imageHeight: 524,
34
+ }
35
+ }]
36
+ }];
37
+
38
+ var adUnits = [{
39
+ code: 'iimb-target',
40
+ mediaTypes: {
41
+ banner: {
42
+ sizes: [[0, 0]],
43
+ }
44
+ },
45
+ bids: [{
46
+ bidder: "afp",
47
+ params: {
48
+ placeType: "In-image Max",
49
+ placeId: "6139ae472871613d1517dedd", // id from personal account
50
+ placeContainer: '#iimb-container',
51
+ imageUrl: "https://rtbinsight.ru/content/images/size/w1000/2021/05/ximage-30.png.pagespeed.ic.IfuX4zAEPP.png",
52
+ imageWidth: 1000,
53
+ imageHeight: 524,
54
+ }
55
+ }]
56
+ }];
57
+
58
+ var adUnits = [{
59
+ code: 'icb-target',
60
+ mediaTypes: {
61
+ banner: {
62
+ sizes: [[0, 0]],
63
+ }
64
+ },
65
+ bids: [{
66
+ bidder: "afp",
67
+ params: {
68
+ placeType: "In-content Banner",
69
+ placeId: "6139ae082871613d1517dec0", // id from personal account
70
+ placeContainer: '#icb-container',
71
+ }
72
+ }]
73
+ }];
74
+
75
+ var adUnits = [{
76
+ code: 'ics-target',
77
+ mediaTypes: {
78
+ banner: {
79
+ sizes: [[0, 0]],
80
+ }
81
+ },
82
+ bids: [{
83
+ bidder: "afp",
84
+ params: {
85
+ placeType: "In-content Stories",
86
+ placeId: "6139ae292871613d1517ded3", // id from personal account
87
+ placeContainer: '#ics-container',
88
+ }
89
+ }]
90
+ }];
91
+
92
+ var adUnits = [{
93
+ code: 'as-target',
94
+ mediaTypes: {
95
+ banner: {
96
+ sizes: [[0, 0]],
97
+ }
98
+ },
99
+ bids: [{
100
+ bidder: "afp",
101
+ params: {
102
+ placeType: "Action Scroller",
103
+ placeId: "6139adc12871613d1517deb0", // id from personal account
104
+ placeContainer: '#as-container',
105
+ }
106
+ }]
107
+ }];
108
+
109
+ var adUnits = [{
110
+ code: 'asl-target',
111
+ mediaTypes: {
112
+ banner: {
113
+ sizes: [[0, 0]],
114
+ }
115
+ },
116
+ bids: [{
117
+ bidder: "afp",
118
+ params: {
119
+ placeType: "Action Scroller Light",
120
+ placeId: "6139adda2871613d1517deb8", // id from personal account
121
+ placeContainer: '#asl-container',
122
+ }
123
+ }]
124
+ }];
125
+
126
+ var adUnits = [{
127
+ code: 'jb-target',
128
+ mediaTypes: {
129
+ banner: {
130
+ sizes: [[300, 250]],
131
+ }
132
+ },
133
+ bids: [{
134
+ bidder: "afp",
135
+ params: {
136
+ placeType: "Just Banner",
137
+ placeId: "6139ae832871613d1517dee9", // id from personal account
138
+ placeContainer: '#jb-container',
139
+ }
140
+ }]
141
+ }];
142
+
143
+ var adUnits = [{
144
+ code: 'icv-target',
145
+ mediaTypes: {
146
+ video: {
147
+ playerSize: [[480, 320]],
148
+ }
149
+ },
150
+ bids: [{
151
+ bidder: "afp",
152
+ params: {
153
+ placeType: "In-content Video",
154
+ placeId: "6139ae182871613d1517deca", // id from personal account
155
+ placeContainer: '#icv-container',
156
+ }
157
+ }]
158
+ }];
159
+
160
+ var adUnits = [{
161
+ code: 'ocv-target',
162
+ mediaTypes: {
163
+ video: {
164
+ playerSize: [[480, 320]],
165
+ }
166
+ },
167
+ bids: [{
168
+ bidder: "afp",
169
+ params: {
170
+ placeType: "Out-content Video",
171
+ placeId: "6139ae5b2871613d1517dee2", // id from personal account
172
+ placeContainer: '#ocv-container', // only the "body" tag is used as a container
173
+ }
174
+ }]
175
+ }];
176
+ ```
177
+
178
+ # Example page
179
+
180
+ ```html
181
+ <!DOCTYPE html>
182
+ <html lang="en">
183
+ <head>
184
+ <meta charset="UTF-8">
185
+ <title>Prebid.js In-image Example</title>
186
+ <script async src="prebid.js"></script>
187
+ <script>
188
+ var adUnits = [{
189
+ code: 'iib-target',
190
+ mediaTypes: {
191
+ banner: {
192
+ sizes: [0, 0],
193
+ }
194
+ },
195
+ bids: [{
196
+ bidder: "afp",
197
+ params: {
198
+ placeType: "In-image",
199
+ placeId: "613221112871613d1517d181",
200
+ placeContainer: '#iib-container',
201
+ imageUrl: "https://rtbinsight.ru/content/images/size/w1000/2021/05/ximage-30.png.pagespeed.ic.IfuX4zAEPP.png",
202
+ imageWidth: 1000,
203
+ imageHeight: 524,
204
+ }
205
+ }]
206
+ },{
207
+ code: 'jb-target',
208
+ mediaTypes: {
209
+ banner: {
210
+ sizes: [[300, 250]],
211
+ }
212
+ },
213
+ bids: [{
214
+ bidder: "afp",
215
+ params: {
216
+ placeType: "Just Banner",
217
+ placeId: "6139ae832871613d1517dee9", // id from personal account
218
+ placeContainer: '#jb-container',
219
+ }
220
+ }]
221
+ }];
222
+
223
+ var pbjs = pbjs || {};
224
+ pbjs.que = pbjs.que || [];
225
+
226
+ pbjs.que.push(function() {
227
+ pbjs.addAdUnits(adUnits);
228
+ pbjs.requestBids({
229
+ bidsBackHandler: function (e) {
230
+ if (pbjs.adserverRequestSent) return;
231
+ pbjs.adserverRequestSent = true;
232
+ var params = pbjs.getAdserverTargetingForAdUnitCode("iib-target");
233
+ var iframe = document.getElementById("iib-target");
234
+
235
+ if (params && params['hb_adid']) {
236
+ pbjs.renderAd(iframe.contentDocument, params['hb_adid']);
237
+ }
238
+
239
+ params = pbjs.getAdserverTargetingForAdUnitCode("jb-target");
240
+ iframe = document.getElementById("jb-target");
241
+
242
+ if (params && params['hb_adid']) {
243
+ pbjs.renderAd(iframe.contentDocument, params['hb_adid']);
244
+ }
245
+ }
246
+ });
247
+ });
248
+ </script>
249
+ </head>
250
+ <body>
251
+ <h2>In-image</h2>
252
+ <div class="container-wrapper">
253
+ <div id="iib-container" style="max-width: 600px;">
254
+ <img src="https://creative.astraone.io/files/default_image-1-600x400.jpg" width="100%" />
255
+ </div>
256
+ <iframe id="iib-target" style="display: none;"></iframe>
257
+ </div>
258
+
259
+ <h2>Just Banner</h2>
260
+ <div class="container-wrapper">
261
+ <div id="jb-container"></div>
262
+ <iframe id="jb-target" style="display: none;"></iframe>
263
+ </div>
264
+ </body>
265
+ </html>
266
+
267
+ ```
268
+ # Example page with GPT
269
+
270
+ ```html
271
+ <!DOCTYPE html>
272
+ <html lang="en">
273
+ <head>
274
+ <meta charset="UTF-8">
275
+ <title>Prebid.js In-image Example</title>
276
+ <script async src="https://www.googletagservices.com/tag/js/gpt.js"></script>
277
+ <script async src="prebid.js"></script>
278
+ <script>
279
+ var adUnits = [{
280
+ code: 'div-gpt-ad-1574864639578-0',
281
+ mediaTypes: {
282
+ banner: {
283
+ sizes: [0, 0],
284
+ }
285
+ },
286
+ bids: [{
287
+ bidder: "afp",
288
+ params: {
289
+ placeType: "In-image",
290
+ placeId: "613221112871613d1517d181",
291
+ placeContainer: '#iib-container',
292
+ imageUrl: "https://rtbinsight.ru/content/images/size/w1000/2021/05/ximage-30.png.pagespeed.ic.IfuX4zAEPP.png",
293
+ imageWidth: 600,
294
+ imageHeight: 400,
295
+ }
296
+ }]
297
+ }];
298
+
299
+ var pbjs = pbjs || {};
300
+ pbjs.que = pbjs.que || [];
301
+
302
+ var googletag = googletag || {};
303
+ googletag.cmd = googletag.cmd || [];
304
+
305
+ googletag.cmd.push(() => {
306
+ googletag.pubads().disableInitialLoad();
307
+ });
308
+
309
+ pbjs.que.push(() => {
310
+ pbjs.addAdUnits(adUnits);
311
+ pbjs.requestBids({ bidsBackHandler: sendAdServerRequest });
312
+ });
313
+
314
+ function sendAdServerRequest() {
315
+ googletag.cmd.push(() => {
316
+ pbjs.que.push(() => {
317
+ pbjs.setTargetingForGPTAsync('div-gpt-ad-1574864639578-0');
318
+ googletag.pubads().refresh();
319
+ });
320
+ });
321
+ }
322
+
323
+ googletag.cmd.push(() => {
324
+ googletag
325
+ .defineSlot('/19968336/header-bid-tag-0', [300, 250], 'div-gpt-ad-1574864639578-0')
326
+ .addService(googletag.pubads());
327
+ googletag.pubads().enableSingleRequest();
328
+ googletag.enableServices();
329
+ });
330
+ </script>
331
+ </head>
332
+ <body>
333
+ <h2>In-image</h2>
334
+ <div class="container-wrapper">
335
+ <div id="iib-container" style="max-width: 600px;">
336
+ <img src="https://creative.astraone.io/files/default_image-1-600x400.jpg" width="100%" />
337
+ </div>
338
+ <div id="div-gpt-ad-1574864639578-0">
339
+ <script type="text/javascript">
340
+ googletag.cmd.push(function() {
341
+ googletag.display('div-gpt-ad-1574864639578-0');
342
+ });
343
+ </script>
344
+ </div>
345
+ </div>
346
+ </body>
347
+ </html>
348
+ ```
@@ -1,5 +1,5 @@
1
+ import { getBidIdParameter, tryAppendQueryString, createTrackPixelHtml, logError, logWarn } from '../src/utils.js';
1
2
  import { Renderer } from '../src/Renderer.js';
2
- import * as utils from '../src/utils.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
4
  import { VIDEO, BANNER, NATIVE } from '../src/mediaTypes.js';
5
5
 
@@ -42,20 +42,20 @@ export const spec = {
42
42
  const bidRequest = validBidRequests[i];
43
43
  let queryString = '';
44
44
 
45
- const asi = utils.getBidIdParameter('asi', bidRequest.params);
46
- queryString = utils.tryAppendQueryString(queryString, 'asi', asi);
47
- queryString = utils.tryAppendQueryString(queryString, 'skt', SDK_TYPE);
48
- queryString = utils.tryAppendQueryString(queryString, 'tid', bidRequest.transactionId)
49
- queryString = utils.tryAppendQueryString(queryString, 'prebid_id', bidRequest.bidId);
50
- queryString = utils.tryAppendQueryString(queryString, 'prebid_ver', '$prebid.version$');
45
+ const asi = getBidIdParameter('asi', bidRequest.params);
46
+ queryString = tryAppendQueryString(queryString, 'asi', asi);
47
+ queryString = tryAppendQueryString(queryString, 'skt', SDK_TYPE);
48
+ queryString = tryAppendQueryString(queryString, 'tid', bidRequest.transactionId)
49
+ queryString = tryAppendQueryString(queryString, 'prebid_id', bidRequest.bidId);
50
+ queryString = tryAppendQueryString(queryString, 'prebid_ver', '$prebid.version$');
51
51
 
52
52
  if (pageUrl) {
53
- queryString = utils.tryAppendQueryString(queryString, 'page_url', pageUrl);
53
+ queryString = tryAppendQueryString(queryString, 'page_url', pageUrl);
54
54
  }
55
55
 
56
56
  const eids = bidRequest.userIdAsEids;
57
57
  if (eids && eids.length) {
58
- queryString = utils.tryAppendQueryString(queryString, 'eids', JSON.stringify({
58
+ queryString = tryAppendQueryString(queryString, 'eids', JSON.stringify({
59
59
  'eids': eids,
60
60
  }))
61
61
  }
@@ -114,11 +114,11 @@ export const spec = {
114
114
  });
115
115
  try {
116
116
  bannerAd.imps.forEach(impTracker => {
117
- const tracker = utils.createTrackPixelHtml(impTracker);
117
+ const tracker = createTrackPixelHtml(impTracker);
118
118
  bid.ad += tracker;
119
119
  });
120
120
  } catch (error) {
121
- utils.logError('Error appending tracking pixel', error);
121
+ logError('Error appending tracking pixel', error);
122
122
  }
123
123
 
124
124
  Array.prototype.push.apply(bid.meta.advertiserDomains, bannerAd.adomain)
@@ -207,7 +207,7 @@ function newRenderer(bidderResponse) {
207
207
  try {
208
208
  renderer.setRender(outstreamRender);
209
209
  } catch (err) {
210
- utils.logWarn('Prebid Error calling setRender on newRenderer', err);
210
+ logWarn('Prebid Error calling setRender on newRenderer', err);
211
211
  }
212
212
 
213
213
  return renderer;
@@ -5,7 +5,7 @@
5
5
  * @requires module:modules/userId
6
6
  */
7
7
 
8
- import * as utils from '../src/utils.js'
8
+ import { logMessage, logError } 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';
@@ -29,7 +29,7 @@ export const akamaiDAPIdSubmodule = {
29
29
  * @returns {{dapId:string}}
30
30
  */
31
31
  decode(value) {
32
- utils.logMessage('akamaiDAPId [decode] value=', value);
32
+ logMessage('akamaiDAPId [decode] value=', value);
33
33
  return { dapId: value };
34
34
  },
35
35
 
@@ -43,23 +43,23 @@ export const akamaiDAPIdSubmodule = {
43
43
  getId(config, consentData) {
44
44
  const configParams = (config && config.params);
45
45
  if (!configParams) {
46
- utils.logError('User ID - akamaiDAPId submodule requires a valid configParams');
46
+ logError('User ID - akamaiDAPId submodule requires a valid configParams');
47
47
  return;
48
48
  } else if (typeof configParams.apiHostname !== 'string') {
49
- utils.logError('User ID - akamaiDAPId submodule requires a valid configParams.apiHostname');
49
+ logError('User ID - akamaiDAPId submodule requires a valid configParams.apiHostname');
50
50
  return;
51
51
  } else if (typeof configParams.domain !== 'string') {
52
- utils.logError('User ID - akamaiDAPId submodule requires a valid configParams.domain');
52
+ logError('User ID - akamaiDAPId submodule requires a valid configParams.domain');
53
53
  return;
54
54
  } else if (typeof configParams.type !== 'string') {
55
- utils.logError('User ID - akamaiDAPId submodule requires a valid configParams.type');
55
+ logError('User ID - akamaiDAPId submodule requires a valid configParams.type');
56
56
  return;
57
57
  }
58
58
  const hasGdpr = (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) ? 1 : 0;
59
59
  const gdprConsentString = hasGdpr ? consentData.consentString : '';
60
60
  const uspConsent = uspDataHandler.getConsentData();
61
61
  if (hasGdpr && (!gdprConsentString || gdprConsentString === '')) {
62
- utils.logError('User ID - akamaiDAPId submodule requires consent string to call API');
62
+ logError('User ID - akamaiDAPId submodule requires consent string to call API');
63
63
  return;
64
64
  }
65
65
  // XXX: retrieve first-party data here if needed
@@ -99,14 +99,14 @@ export const akamaiDAPIdSubmodule = {
99
99
  storage.setDataInLocalStorage(STORAGE_KEY, token);
100
100
  },
101
101
  error: error => {
102
- utils.logError('akamaiDAPId [getId:ajax.error] failed to retrieve ' + tokenName, error);
102
+ logError('akamaiDAPId [getId:ajax.error] failed to retrieve ' + tokenName, error);
103
103
  }
104
104
  };
105
105
 
106
106
  ajax(url, cb, JSON.stringify(postData), { contentType: 'application/json' });
107
107
 
108
108
  let token = storage.getDataFromLocalStorage(STORAGE_KEY);
109
- utils.logMessage('akamaiDAPId [getId] returning', token);
109
+ logMessage('akamaiDAPId [getId] returning', token);
110
110
 
111
111
  return { id: token };
112
112
  }
@@ -1,7 +1,7 @@
1
1
  import { VIDEO, BANNER } from '../src/mediaTypes.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { Renderer } from '../src/Renderer.js';
4
- import * as utils from '../src/utils.js';
4
+ import { logError } from '../src/utils.js';
5
5
 
6
6
  const BIDDER_CODE = 'aniview';
7
7
  const GVLID = 780;
@@ -224,7 +224,7 @@ function interpretResponse(serverResponse, bidRequest) {
224
224
  });
225
225
  bidResponse.vastUrl = window.URL.createObjectURL(blob);
226
226
  } catch (ex) {
227
- utils.logError('Aniview Debug create vastXml error:\n\n' + ex);
227
+ logError('Aniview Debug create vastXml error:\n\n' + ex);
228
228
  }
229
229
  bidResponse.vastXml = xmlStr;
230
230
  if (bidRequest.bidRequest && bidRequest.bidRequest.mediaTypes && bidRequest.bidRequest.mediaTypes.video && bidRequest.bidRequest.mediaTypes.video.context === 'outstream') {
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { isInteger, logError, isEmpty, logWarn, getUniqueIdentifierStr, _each, deepSetValue } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER } from '../src/mediaTypes.js';
4
4
 
@@ -38,7 +38,8 @@ const SUPPORTED_USER_ID_SOURCES = [
38
38
  'liveintent.com',
39
39
  'quantcast.com',
40
40
  'verizonmedia.com',
41
- 'liveramp.com'
41
+ 'liveramp.com',
42
+ 'yahoo.com'
42
43
  ];
43
44
 
44
45
  const pubapiTemplate = template`${'host'}/pubapi/3.0/${'network'}/${'placement'}/${'pageid'}/${'sizeid'}/ADTECH;v=2;cmd=bid;cors=yes;alias=${'alias'};misc=${'misc'};${'dynamicParams'}`;
@@ -64,7 +65,7 @@ function template(strings, ...keys) {
64
65
  let dict = values[values.length - 1] || {};
65
66
  let result = [strings[0]];
66
67
  keys.forEach(function (key, i) {
67
- let value = utils.isInteger(key) ? values[key] : dict[key];
68
+ let value = isInteger(key) ? values[key] : dict[key];
68
69
  result.push(value, strings[i + 1]);
69
70
  });
70
71
  return result.join('');
@@ -147,7 +148,7 @@ export const spec = {
147
148
  },
148
149
  interpretResponse({ body }, bidRequest) {
149
150
  if (!body) {
150
- utils.logError('Empty bid response', bidRequest.bidderCode, body);
151
+ logError('Empty bid response', bidRequest.bidderCode, body);
151
152
  } else {
152
153
  let bid = this._parseBidResponse(body, bidRequest);
153
154
 
@@ -157,7 +158,7 @@ export const spec = {
157
158
  }
158
159
  },
159
160
  getUserSyncs(options, serverResponses) {
160
- const bidResponse = !utils.isEmpty(serverResponses) && serverResponses[0].body;
161
+ const bidResponse = !isEmpty(serverResponses) && serverResponses[0].body;
161
162
 
162
163
  if (bidResponse && bidResponse.ext && bidResponse.ext.pixels) {
163
164
  return this.parsePixelItems(bidResponse.ext.pixels);
@@ -215,7 +216,7 @@ export const spec = {
215
216
  let server;
216
217
 
217
218
  if (!MP_SERVER_MAP.hasOwnProperty(regionParam)) {
218
- utils.logWarn(`Unknown region '${regionParam}' for AOL bidder.`);
219
+ logWarn(`Unknown region '${regionParam}' for AOL bidder.`);
219
220
  regionParam = 'us'; // Default region.
220
221
  }
221
222
 
@@ -234,7 +235,7 @@ export const spec = {
234
235
  placement: parseInt(params.placement),
235
236
  pageid: params.pageId || 0,
236
237
  sizeid: params.sizeId || 0,
237
- alias: params.alias || utils.getUniqueIdentifierStr(),
238
+ alias: params.alias || getUniqueIdentifierStr(),
238
239
  misc: new Date().getTime(), // cache busting
239
240
  dynamicParams: this.formatMarketplaceDynamicParams(params, consentData)
240
241
  }));
@@ -273,7 +274,7 @@ export const spec = {
273
274
  Object.assign(queryParams, this.formatConsentData(consentData));
274
275
 
275
276
  let paramsFormatted = '';
276
- utils._each(queryParams, (value, key) => {
277
+ _each(queryParams, (value, key) => {
277
278
  paramsFormatted += `${key}=${encodeURIComponent(value)};`;
278
279
  });
279
280
 
@@ -287,7 +288,7 @@ export const spec = {
287
288
  Object.assign(params, this.formatConsentData(consentData));
288
289
 
289
290
  let paramsFormatted = '';
290
- utils._each(params, (value, key) => {
291
+ _each(params, (value, key) => {
291
292
  paramsFormatted += `&${key}=${encodeURIComponent(value)}`;
292
293
  });
293
294
 
@@ -300,14 +301,14 @@ export const spec = {
300
301
  };
301
302
 
302
303
  if (this.isEUConsentRequired(consentData)) {
303
- utils.deepSetValue(openRtbObject, 'regs.ext.gdpr', NUMERIC_VALUES.TRUE);
304
+ deepSetValue(openRtbObject, 'regs.ext.gdpr', NUMERIC_VALUES.TRUE);
304
305
  if (consentData.gdpr.consentString) {
305
- utils.deepSetValue(openRtbObject, 'user.ext.consent', consentData.gdpr.consentString);
306
+ deepSetValue(openRtbObject, 'user.ext.consent', consentData.gdpr.consentString);
306
307
  }
307
308
  }
308
309
 
309
310
  if (consentData.uspConsent) {
310
- utils.deepSetValue(openRtbObject, 'regs.ext.us_privacy', consentData.uspConsent);
311
+ deepSetValue(openRtbObject, 'regs.ext.us_privacy', consentData.uspConsent);
311
312
  }
312
313
 
313
314
  if (typeof bid.userId === 'object') {
@@ -328,7 +329,7 @@ export const spec = {
328
329
  formatKeyValues(keyValues) {
329
330
  let keyValuesHash = {};
330
331
 
331
- utils._each(keyValues, (value, key) => {
332
+ _each(keyValues, (value, key) => {
332
333
  keyValuesHash[`kv${key}`] = value;
333
334
  });
334
335
 
@@ -394,7 +395,7 @@ export const spec = {
394
395
  cpm = bidData.price;
395
396
 
396
397
  if (cpm === null || isNaN(cpm)) {
397
- utils.logError('Invalid price in bid response', AOL_BIDDERS_CODES.AOL, bidData);
398
+ logError('Invalid price in bid response', AOL_BIDDERS_CODES.AOL, bidData);
398
399
  return;
399
400
  }
400
401
  }