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 { logWarn, isArray, isStr, triggerPixel, deepAccess, deepSetValue, isPlainObject, generateUUID, parseUrl, isFn, getDNT, logError } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { config } from '../src/config.js';
4
4
  import { BANNER, VIDEO, NATIVE } from '../src/mediaTypes.js';
@@ -70,27 +70,27 @@ export const spec = {
70
70
  */
71
71
  isBidRequestValid: function (bid) {
72
72
  if (!bid) {
73
- utils.logWarn(BIDDER_CODE, 'Invalid bid,', bid);
73
+ logWarn(BIDDER_CODE, 'Invalid bid,', bid);
74
74
  return false;
75
75
  }
76
76
 
77
77
  if (!bid.params) {
78
- utils.logWarn(BIDDER_CODE, 'bid.params is required.')
78
+ logWarn(BIDDER_CODE, 'bid.params is required.')
79
79
  return false;
80
80
  }
81
81
 
82
82
  if (!bid.params.placementId) {
83
- utils.logWarn(BIDDER_CODE, 'bid.params.placementId is required.')
83
+ logWarn(BIDDER_CODE, 'bid.params.placementId is required.')
84
84
  return false;
85
85
  }
86
86
 
87
87
  if (!bid.params.endpointId) {
88
- utils.logWarn(BIDDER_CODE, 'bid.params.endpointId is required.')
88
+ logWarn(BIDDER_CODE, 'bid.params.endpointId is required.')
89
89
  return false;
90
90
  }
91
91
 
92
92
  if (!bid.params.publisherId) {
93
- utils.logWarn(BIDDER_CODE, 'bid.params.publisherId is required.')
93
+ logWarn(BIDDER_CODE, 'bid.params.publisherId is required.')
94
94
  return false;
95
95
  }
96
96
 
@@ -118,9 +118,9 @@ export const spec = {
118
118
  let bidResponses = [];
119
119
 
120
120
  let serverBody;
121
- if ((serverBody = serverResponse.body) && serverBody.seatbid && utils.isArray(serverBody.seatbid)) {
121
+ if ((serverBody = serverResponse.body) && serverBody.seatbid && isArray(serverBody.seatbid)) {
122
122
  serverBody.seatbid.forEach((seatbidder) => {
123
- if (seatbidder.bid && utils.isArray(seatbidder.bid)) {
123
+ if (seatbidder.bid && isArray(seatbidder.bid)) {
124
124
  bidResponses = seatbidder.bid.map((bid) => buildBidResponse(bid, bidRequest.originalBidRequest, serverBody));
125
125
  }
126
126
  });
@@ -153,7 +153,7 @@ export const spec = {
153
153
  * @param {Bid} bid The bid that won the auction
154
154
  */
155
155
  onBidWon: function (bid) {
156
- if (!bid || !utils.isStr(bid.nurl)) {
156
+ if (!bid || !isStr(bid.nurl)) {
157
157
  return;
158
158
  }
159
159
 
@@ -166,7 +166,7 @@ export const spec = {
166
166
  winCurr = bid.currency;
167
167
  }
168
168
 
169
- utils.triggerPixel(
169
+ triggerPixel(
170
170
  bid.nurl
171
171
  .replace(/\$\{AUCTION_PRICE\}/g, winCpm)
172
172
  .replace(/\$\{AUCTION_CURRENCY\}/g, winCurr)
@@ -189,7 +189,7 @@ export const spec = {
189
189
  * @returns {Request}
190
190
  */
191
191
  function buildOpenRtbBidRequest(bidRequest, bidderRequest) {
192
- const pageReferrer = utils.deepAccess(bidderRequest, 'refererInfo.referer');
192
+ const pageReferrer = deepAccess(bidderRequest, 'refererInfo.referer');
193
193
 
194
194
  // build OpenRTB request body
195
195
  const payload = {
@@ -199,7 +199,7 @@ function buildOpenRtbBidRequest(bidRequest, bidderRequest) {
199
199
  imp: createImp(bidRequest),
200
200
  device: getDevice(),
201
201
  site: {
202
- id: String(utils.deepAccess(bidRequest, 'params.publisherId')),
202
+ id: String(deepAccess(bidRequest, 'params.publisherId')),
203
203
  domain: getDomain(pageReferrer),
204
204
  page: pageReferrer,
205
205
  ref: window.self === window.top ? document.referrer : '',
@@ -216,26 +216,26 @@ function buildOpenRtbBidRequest(bidRequest, bidderRequest) {
216
216
  }
217
217
  }
218
218
 
219
- const gdprConsent = utils.deepAccess(bidderRequest, 'gdprConsent');
219
+ const gdprConsent = deepAccess(bidderRequest, 'gdprConsent');
220
220
  if (!!gdprConsent && gdprConsent.gdprApplies) {
221
- utils.deepSetValue(payload, 'regs.ext.gdpr', 1);
222
- utils.deepSetValue(payload, 'user.ext.consent', gdprConsent.consentString);
221
+ deepSetValue(payload, 'regs.ext.gdpr', 1);
222
+ deepSetValue(payload, 'user.ext.consent', gdprConsent.consentString);
223
223
  }
224
224
 
225
- const uspConsent = utils.deepAccess(bidderRequest, 'uspConsent');
225
+ const uspConsent = deepAccess(bidderRequest, 'uspConsent');
226
226
  if (uspConsent) {
227
- utils.deepSetValue(payload, 'regs.ext.us_privacy', uspConsent);
227
+ deepSetValue(payload, 'regs.ext.us_privacy', uspConsent);
228
228
  }
229
229
 
230
- const eids = utils.deepAccess(bidRequest, 'userIdAsEids', []);
230
+ const eids = deepAccess(bidRequest, 'userIdAsEids', []);
231
231
  if (eids.length > 0) {
232
- utils.deepSetValue(payload, 'user.eids', eids);
232
+ deepSetValue(payload, 'user.eids', eids);
233
233
  }
234
234
 
235
235
  return {
236
236
  method: 'POST',
237
- url: ENDPOINT + String(utils.deepAccess(bidRequest, 'params.publisherId')) +
238
- '?ep=' + String(utils.deepAccess(bidRequest, 'params.endpointId')),
237
+ url: ENDPOINT + String(deepAccess(bidRequest, 'params.publisherId')) +
238
+ '?ep=' + String(deepAccess(bidRequest, 'params.endpointId')),
239
239
  data: JSON.stringify(payload),
240
240
  options: {
241
241
  contentType: 'application/json',
@@ -272,7 +272,7 @@ function buildBidResponse(bid, bidRequest, responseBody) {
272
272
 
273
273
  // OpenRtb Markup Response Object
274
274
  // https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-Native-Ads-Specification-1-1_2016.pdf#5.1
275
- if (markup && utils.isPlainObject(markup.native)) {
275
+ if (markup && isPlainObject(markup.native)) {
276
276
  mediaType = NATIVE;
277
277
  nativeResponse = markup.native;
278
278
  }
@@ -281,7 +281,7 @@ function buildBidResponse(bid, bidRequest, responseBody) {
281
281
  const currency = responseBody.cur || DEFAULT_CURRENCY;
282
282
  const cpm = (parseFloat(bid.price) || 0).toFixed(2);
283
283
 
284
- const categories = utils.deepAccess(bid, 'cat', []);
284
+ const categories = deepAccess(bid, 'cat', []);
285
285
 
286
286
  const bidResponse = {
287
287
  requestId: bid.impid,
@@ -300,14 +300,14 @@ function buildBidResponse(bid, bidRequest, responseBody) {
300
300
  }
301
301
  };
302
302
 
303
- if (bid.adomain && utils.isArray(bid.adomain) && bid.adomain.length > 0) {
303
+ if (bid.adomain && isArray(bid.adomain) && bid.adomain.length > 0) {
304
304
  bidResponse.meta.advertiserDomains = bid.adomain;
305
305
  bidResponse.meta.clickUrl = bid.adomain[0];
306
306
  }
307
307
 
308
308
  switch (mediaType) {
309
309
  case VIDEO: {
310
- const playerSize = utils.deepAccess(bidRequest, 'mediaTypes.video.playerSize', VIDEO_DEFAULTS.SIZE);
310
+ const playerSize = deepAccess(bidRequest, 'mediaTypes.video.playerSize', VIDEO_DEFAULTS.SIZE);
311
311
  const size = canonicalizeSizesArray(playerSize)[0];
312
312
 
313
313
  bidResponse.vastXml = bid.adm;
@@ -315,7 +315,7 @@ function buildBidResponse(bid, bidRequest, responseBody) {
315
315
  bidResponse.width = bid.w || size[0];
316
316
  bidResponse.height = bid.h || size[1];
317
317
 
318
- const context = utils.deepAccess(bidRequest, 'mediaTypes.video.context');
318
+ const context = deepAccess(bidRequest, 'mediaTypes.video.context');
319
319
 
320
320
  // if outstream video, add a default render for it.
321
321
  if (context === OUTSTREAM) {
@@ -358,13 +358,13 @@ function interpretNativeAd(nativeResponse, currency, cpm) {
358
358
 
359
359
  // OpenRtb Link Object
360
360
  // https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-Native-Ads-Specification-1-1_2016.pdf#5.7
361
- const clickUrl = utils.deepAccess(nativeResponse, 'link.url');
362
- if (clickUrl && utils.isStr(clickUrl)) {
361
+ const clickUrl = deepAccess(nativeResponse, 'link.url');
362
+ if (clickUrl && isStr(clickUrl)) {
363
363
  native.clickUrl = decodeURIComponent(clickUrl);
364
364
  }
365
365
 
366
- const clickTrackers = utils.deepAccess(nativeResponse, 'link.clicktrackers');
367
- if (clickTrackers && utils.isArray(clickTrackers)) {
366
+ const clickTrackers = deepAccess(nativeResponse, 'link.clicktrackers');
367
+ if (clickTrackers && isArray(clickTrackers)) {
368
368
  native.clickTrackers = clickTrackers
369
369
  .filter(Boolean)
370
370
  .map(
@@ -374,7 +374,7 @@ function interpretNativeAd(nativeResponse, currency, cpm) {
374
374
  );
375
375
  }
376
376
 
377
- if (nativeResponse.imptrackers && utils.isArray(nativeResponse.imptrackers)) {
377
+ if (nativeResponse.imptrackers && isArray(nativeResponse.imptrackers)) {
378
378
  native.impressionTrackers = nativeResponse.imptrackers
379
379
  .filter(Boolean)
380
380
  .map(
@@ -384,16 +384,16 @@ function interpretNativeAd(nativeResponse, currency, cpm) {
384
384
  );
385
385
  }
386
386
 
387
- if (nativeResponse.jstracker && utils.isStr(nativeResponse.jstracker)) {
387
+ if (nativeResponse.jstracker && isStr(nativeResponse.jstracker)) {
388
388
  native.javascriptTrackers = [nativeResponse.jstracker];
389
389
  }
390
390
 
391
391
  let assets;
392
- if ((assets = nativeResponse.assets) && utils.isArray(assets)) {
392
+ if ((assets = nativeResponse.assets) && isArray(assets)) {
393
393
  assets.forEach((asset) => {
394
394
  switch (asset.id) {
395
395
  case NATIVE_DEFAULTS.ASSET_ID.TITLE: {
396
- const title = utils.deepAccess(asset, 'title.text');
396
+ const title = deepAccess(asset, 'title.text');
397
397
  if (title) {
398
398
  native.title = title;
399
399
  }
@@ -420,21 +420,21 @@ function interpretNativeAd(nativeResponse, currency, cpm) {
420
420
  break;
421
421
  }
422
422
  case NATIVE_DEFAULTS.ASSET_ID.BODY: {
423
- const body = utils.deepAccess(asset, 'data.value');
423
+ const body = deepAccess(asset, 'data.value');
424
424
  if (body) {
425
425
  native.body = body;
426
426
  }
427
427
  break;
428
428
  }
429
429
  case NATIVE_DEFAULTS.ASSET_ID.SPONSORED: {
430
- const sponsoredBy = utils.deepAccess(asset, 'data.value');
430
+ const sponsoredBy = deepAccess(asset, 'data.value');
431
431
  if (sponsoredBy) {
432
432
  native.sponsoredBy = sponsoredBy;
433
433
  }
434
434
  break;
435
435
  }
436
436
  case NATIVE_DEFAULTS.ASSET_ID.CTA: {
437
- const cta = utils.deepAccess(asset, 'data.value');
437
+ const cta = deepAccess(asset, 'data.value');
438
438
  if (cta) {
439
439
  native.cta = cta;
440
440
  }
@@ -459,13 +459,13 @@ function createImp(bidRequest) {
459
459
 
460
460
  const impItem = {
461
461
  id: bidRequest.bidId,
462
- tagid: String(utils.deepAccess(bidRequest, 'params.placementId')),
462
+ tagid: String(deepAccess(bidRequest, 'params.placementId')),
463
463
  };
464
464
 
465
465
  let mediaType, size;
466
466
  let bannerReq, videoReq, nativeReq;
467
467
 
468
- if ((bannerReq = utils.deepAccess(bidRequest, 'mediaTypes.banner'))) {
468
+ if ((bannerReq = deepAccess(bidRequest, 'mediaTypes.banner'))) {
469
469
  size = canonicalizeSizesArray(bannerReq.sizes || BANNER_DEFAULTS.SIZE)[0];
470
470
 
471
471
  impItem.banner = {
@@ -475,7 +475,7 @@ function createImp(bidRequest) {
475
475
  };
476
476
 
477
477
  mediaType = BANNER;
478
- } else if ((videoReq = utils.deepAccess(bidRequest, 'mediaTypes.video'))) {
478
+ } else if ((videoReq = deepAccess(bidRequest, 'mediaTypes.video'))) {
479
479
  size = canonicalizeSizesArray(videoReq.playerSize || VIDEO_DEFAULTS.SIZE)[0];
480
480
 
481
481
  impItem.video = {
@@ -493,7 +493,7 @@ function createImp(bidRequest) {
493
493
  };
494
494
 
495
495
  mediaType = VIDEO;
496
- } else if ((nativeReq = utils.deepAccess(bidRequest, 'mediaTypes.native'))) {
496
+ } else if ((nativeReq = deepAccess(bidRequest, 'mediaTypes.native'))) {
497
497
  const params = bidRequest.nativeParams || nativeReq;
498
498
 
499
499
  const request = {
@@ -533,7 +533,7 @@ function createImp(bidRequest) {
533
533
  * @returns {Size[][]}
534
534
  */
535
535
  function canonicalizeSizesArray(sizes) {
536
- if (sizes.length === 2 && !utils.isArray(sizes[0])) {
536
+ if (sizes.length === 2 && !isArray(sizes[0])) {
537
537
  return [sizes];
538
538
  }
539
539
  return sizes;
@@ -645,19 +645,19 @@ function mapNativeImage(image, type) {
645
645
  * @returns {String} userId
646
646
  */
647
647
  function getUserId(bidRequest) {
648
- let sharedId = utils.deepAccess(bidRequest, 'userId.sharedid.id');
648
+ let sharedId = deepAccess(bidRequest, 'userId.sharedid.id');
649
649
  if (sharedId) {
650
650
  return sharedId;
651
651
  }
652
652
 
653
653
  for (const idModule of ['pubcid', 'tdid']) {
654
- let userId = utils.deepAccess(bidRequest, `userId.${idModule}`);
654
+ let userId = deepAccess(bidRequest, `userId.${idModule}`);
655
655
  if (userId) {
656
656
  return userId;
657
657
  }
658
658
  }
659
659
 
660
- return utils.generateUUID();
660
+ return generateUUID();
661
661
  }
662
662
 
663
663
  /**
@@ -670,7 +670,7 @@ function getDomain(referer) {
670
670
  let domain;
671
671
 
672
672
  if (!(domain = config.getConfig('publisherDomain'))) {
673
- const u = utils.parseUrl(referer);
673
+ const u = parseUrl(referer);
674
674
  domain = u.hostname;
675
675
  }
676
676
 
@@ -685,14 +685,14 @@ function getDomain(referer) {
685
685
  * @returns {Floor} floor price
686
686
  */
687
687
  function getBidFloor(bid, {mediaType = '*', size = '*'}) {
688
- if (utils.isFn(bid.getFloor)) {
688
+ if (isFn(bid.getFloor)) {
689
689
  const floorInfo = bid.getFloor({
690
690
  currency: DEFAULT_CURRENCY,
691
691
  mediaType,
692
692
  size
693
693
  });
694
694
 
695
- if (utils.isPlainObject(floorInfo) && !isNaN(floorInfo.floor)) {
695
+ if (isPlainObject(floorInfo) && !isNaN(floorInfo.floor)) {
696
696
  return {
697
697
  currency: floorInfo.currency || DEFAULT_CURRENCY,
698
698
  floor: floorInfo.floor
@@ -715,7 +715,7 @@ function getBidFloor(bid, {mediaType = '*', size = '*'}) {
715
715
  function getBcat(bidRequest) {
716
716
  let bcat = [];
717
717
 
718
- const pBcat = utils.deepAccess(bidRequest, 'params.bcat');
718
+ const pBcat = deepAccess(bidRequest, 'params.bcat');
719
719
  if (pBcat) {
720
720
  bcat = bcat.concat(pBcat);
721
721
  }
@@ -736,7 +736,7 @@ function getDevice() {
736
736
  device.ua = device.ua || navigator.userAgent;
737
737
  device.language = device.language || getLanguage();
738
738
  device.dnt = typeof device.dnt === 'number'
739
- ? device.dnt : (utils.getDNT() ? 1 : 0);
739
+ ? device.dnt : (getDNT() ? 1 : 0);
740
740
 
741
741
  return device;
742
742
  }
@@ -759,8 +759,8 @@ function getLanguage() {
759
759
  * @returns
760
760
  */
761
761
  function createRenderer(bidRequest) {
762
- const globalRenderer = utils.deepAccess(bidRequest, 'renderer');
763
- const currentRenderer = utils.deepAccess(bidRequest, 'mediaTypes.video.renderer');
762
+ const globalRenderer = deepAccess(bidRequest, 'renderer');
763
+ const currentRenderer = deepAccess(bidRequest, 'mediaTypes.video.renderer');
764
764
 
765
765
  let url = OUTSTREAM_RENDERER_URL;
766
766
  let config = {};
@@ -795,7 +795,7 @@ function createRenderer(bidRequest) {
795
795
  try {
796
796
  renderer.setRender(render);
797
797
  } catch (e) {
798
- utils.logError(BIDDER_CODE, 'Error calling setRender on renderer', e);
798
+ logError(BIDDER_CODE, 'Error calling setRender on renderer', e);
799
799
  }
800
800
  return renderer;
801
801
  }
@@ -18,7 +18,7 @@
18
18
  * @property {string} device
19
19
  */
20
20
 
21
- import * as utils from '../src/utils.js';
21
+ import { logInfo, logError } from '../src/utils.js';
22
22
  import { submodule } from '../src/hook.js';
23
23
  import { ajaxBuilder } from '../src/ajax.js';
24
24
 
@@ -74,7 +74,7 @@ export let fetchScoreFile = true;
74
74
  * Make the request for the Score File.
75
75
  */
76
76
  export function scoreFileRequest() {
77
- utils.logInfo('Fetch Optimera score file.');
77
+ logInfo('Fetch Optimera score file.');
78
78
  const ajax = ajaxBuilder();
79
79
  ajax(scoresURL,
80
80
  {
@@ -83,14 +83,14 @@ export function scoreFileRequest() {
83
83
  try {
84
84
  setScores(res);
85
85
  } catch (err) {
86
- utils.logError('Unable to parse Optimera Score File.', err);
86
+ logError('Unable to parse Optimera Score File.', err);
87
87
  }
88
88
  } else if (req.status === 403) {
89
- utils.logError('Unable to fetch the Optimera Score File - 403');
89
+ logError('Unable to fetch the Optimera Score File - 403');
90
90
  }
91
91
  },
92
92
  error: () => {
93
- utils.logError('Unable to fetch the Optimera Score File.');
93
+ logError('Unable to fetch the Optimera Score File.');
94
94
  }
95
95
  });
96
96
  }
@@ -108,9 +108,9 @@ export function returnTargetingData(adUnits, config) {
108
108
  }
109
109
  });
110
110
  } catch (err) {
111
- utils.logError('error', err);
111
+ logError('error', err);
112
112
  }
113
- utils.logInfo('Apply Optimera targeting');
113
+ logInfo('Apply Optimera targeting');
114
114
  return targeting;
115
115
  }
116
116
 
@@ -143,7 +143,7 @@ export function init(moduleConfig) {
143
143
  return true;
144
144
  } else {
145
145
  if (!_moduleParams.clientID) {
146
- utils.logError('Optimera clientID is missing in the Optimera RTD configuration.');
146
+ logError('Optimera clientID is missing in the Optimera RTD configuration.');
147
147
  }
148
148
  return false;
149
149
  }
@@ -185,7 +185,7 @@ export function setScores(result) {
185
185
  scores = scores.device[device];
186
186
  }
187
187
  } catch (e) {
188
- utils.logError('Optimera score file could not be parsed.');
188
+ logError('Optimera score file could not be parsed.');
189
189
  }
190
190
  optimeraTargeting = scores;
191
191
  }
@@ -1,11 +1,11 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepAccess } from '../src/utils.js';
2
2
  import {config} from '../src/config.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
 
5
5
  const BIDDER_CODE = 'optout';
6
6
 
7
7
  function getDomain(bidderRequest) {
8
- return utils.deepAccess(bidderRequest, 'refererInfo.canonicalUrl') || utils.deepAccess(window, 'location.href');
8
+ return deepAccess(bidderRequest, 'refererInfo.canonicalUrl') || deepAccess(window, 'location.href');
9
9
  }
10
10
 
11
11
  function getCurrency() {
@@ -23,7 +23,7 @@ function hasPurpose1Consent(bidderRequest) {
23
23
  let result = false;
24
24
  if (bidderRequest && bidderRequest.gdprConsent) {
25
25
  if (bidderRequest.gdprConsent.apiVersion === 2) {
26
- result = !!(utils.deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true);
26
+ result = !!(deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true);
27
27
  }
28
28
  }
29
29
  return result;
@@ -1,7 +1,7 @@
1
+ import { 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, NATIVE } from '../src/mediaTypes.js';
4
- import * as utils from '../src/utils.js';
5
5
 
6
6
  const storageManager = getStorageManager();
7
7
 
@@ -146,7 +146,7 @@ export const spec = {
146
146
  * @returns {float||undefined}
147
147
  */
148
148
  function getBidFloor(bid) {
149
- if (!utils.isFn(bid.getFloor)) {
149
+ if (!isFn(bid.getFloor)) {
150
150
  return bid.params.bidfloor;
151
151
  }
152
152
 
@@ -155,7 +155,7 @@ function getBidFloor(bid) {
155
155
  mediaType: '*',
156
156
  size: '*'
157
157
  });
158
- if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'EUR') {
158
+ if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'EUR') {
159
159
  return floor.floor;
160
160
  }
161
161
  return undefined;
@@ -5,7 +5,7 @@ import {
5
5
  registerBidder
6
6
  } from '../src/adapters/bidderFactory.js';
7
7
  import { NATIVE, BANNER } from '../src/mediaTypes.js';
8
- import * as utils from '../src/utils.js';
8
+ import { deepAccess, deepSetValue, replaceAuctionPrice, _map, isArray } from '../src/utils.js';
9
9
  import { ajax } from '../src/ajax.js';
10
10
  import { config } from '../src/config.js';
11
11
 
@@ -29,7 +29,7 @@ export const spec = {
29
29
  isBidRequestValid: (bid) => {
30
30
  return (
31
31
  !!config.getConfig('outbrain.bidderUrl') &&
32
- !!utils.deepAccess(bid, 'params.publisher.id') &&
32
+ !!deepAccess(bid, 'params.publisher.id') &&
33
33
  !!(bid.nativeParams || bid.sizes)
34
34
  );
35
35
  },
@@ -94,15 +94,15 @@ export const spec = {
94
94
  request.test = 1;
95
95
  }
96
96
 
97
- if (utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies')) {
98
- utils.deepSetValue(request, 'user.ext.consent', bidderRequest.gdprConsent.consentString)
99
- utils.deepSetValue(request, 'regs.ext.gdpr', bidderRequest.gdprConsent.gdprApplies & 1)
97
+ if (deepAccess(bidderRequest, 'gdprConsent.gdprApplies')) {
98
+ deepSetValue(request, 'user.ext.consent', bidderRequest.gdprConsent.consentString)
99
+ deepSetValue(request, 'regs.ext.gdpr', bidderRequest.gdprConsent.gdprApplies & 1)
100
100
  }
101
101
  if (bidderRequest.uspConsent) {
102
- utils.deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent)
102
+ deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent)
103
103
  }
104
104
  if (config.getConfig('coppa') === true) {
105
- utils.deepSetValue(request, 'regs.coppa', config.getConfig('coppa') & 1)
105
+ deepSetValue(request, 'regs.coppa', config.getConfig('coppa') & 1)
106
106
  }
107
107
 
108
108
  return {
@@ -177,7 +177,7 @@ export const spec = {
177
177
  // for native requests we put the nurl as an imp tracker, otherwise if the auction takes place on prebid server
178
178
  // the server JS adapter puts the nurl in the adm as a tracking pixel and removes the attribute
179
179
  if (bid.nurl) {
180
- ajax(utils.replaceAuctionPrice(bid.nurl, bid.originalCpm))
180
+ ajax(replaceAuctionPrice(bid.nurl, bid.originalCpm))
181
181
  }
182
182
  }
183
183
  };
@@ -216,7 +216,7 @@ function parseNative(bid) {
216
216
 
217
217
  function setOnAny(collection, key) {
218
218
  for (let i = 0, result; i < collection.length; i++) {
219
- result = utils.deepAccess(collection[i], key);
219
+ result = deepAccess(collection[i], key);
220
220
  if (result) {
221
221
  return result;
222
222
  }
@@ -228,7 +228,7 @@ function flatten(arr) {
228
228
  }
229
229
 
230
230
  function getNativeAssets(bid) {
231
- return utils._map(bid.nativeParams, (bidParams, key) => {
231
+ return _map(bid.nativeParams, (bidParams, key) => {
232
232
  const props = NATIVE_PARAMS[key];
233
233
  const asset = {
234
234
  required: bidParams.required & 1,
@@ -266,16 +266,16 @@ function getNativeAssets(bid) {
266
266
 
267
267
  /* Turn bid request sizes into ut-compatible format */
268
268
  function transformSizes(requestSizes) {
269
- if (!utils.isArray(requestSizes)) {
269
+ if (!isArray(requestSizes)) {
270
270
  return [];
271
271
  }
272
272
 
273
- if (requestSizes.length === 2 && !utils.isArray(requestSizes[0])) {
273
+ if (requestSizes.length === 2 && !isArray(requestSizes[0])) {
274
274
  return [{
275
275
  w: parseInt(requestSizes[0], 10),
276
276
  h: parseInt(requestSizes[1], 10)
277
277
  }];
278
- } else if (utils.isArray(requestSizes[0])) {
278
+ } else if (isArray(requestSizes[0])) {
279
279
  return requestSizes.map(item =>
280
280
  ({
281
281
  w: parseInt(item[0], 10),