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,7 +1,7 @@
1
- import * as utils from '../src/utils.js';
1
+ import { isArray, deepAccess, logWarn, parseUrl } from '../src/utils.js';
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
- import { BANNER } from '../src/mediaTypes.js';
4
+ import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
5
5
  import strIncludes from 'core-js-pure/features/string/includes.js';
6
6
 
7
7
  const BIDDER_CODE = 'sspBC';
@@ -9,7 +9,7 @@ const BIDDER_URL = 'https://ssp.wp.pl/bidder/';
9
9
  const SYNC_URL = 'https://ssp.wp.pl/bidder/usersync';
10
10
  const NOTIFY_URL = 'https://ssp.wp.pl/bidder/notify';
11
11
  const TMAX = 450;
12
- const BIDDER_VERSION = '5.0';
12
+ const BIDDER_VERSION = '5.2';
13
13
  const W = window;
14
14
  const { navigator } = W;
15
15
  const oneCodeDetection = {};
@@ -22,7 +22,7 @@ var consentApiVersion;
22
22
  */
23
23
  const getNotificationPayload = bidData => {
24
24
  if (bidData) {
25
- const bids = utils.isArray(bidData) ? bidData : [bidData];
25
+ const bids = isArray(bidData) ? bidData : [bidData];
26
26
  if (bids.length > 0) {
27
27
  const result = {
28
28
  requestId: undefined,
@@ -31,7 +31,7 @@ const getNotificationPayload = bidData => {
31
31
  slotId: [],
32
32
  }
33
33
  bids.forEach(bid => {
34
- let params = utils.isArray(bid.params) ? bid.params[0] : bid.params;
34
+ let params = isArray(bid.params) ? bid.params[0] : bid.params;
35
35
  params = params || {};
36
36
 
37
37
  // check for stored detection
@@ -122,7 +122,7 @@ const applyGdpr = (bidderRequest, ortbRequest) => {
122
122
  /**
123
123
  * Get value for first occurence of key within the collection
124
124
  */
125
- const setOnAny = (collection, key) => collection.reduce((prev, next) => prev || utils.deepAccess(next, key), false);
125
+ const setOnAny = (collection, key) => collection.reduce((prev, next) => prev || deepAccess(next, key), false);
126
126
 
127
127
  /**
128
128
  * Send payload to notification endpoint
@@ -141,7 +141,7 @@ const sendNotification = payload => {
141
141
  */
142
142
  const mapBanner = slot => {
143
143
  if (slot.mediaType === 'banner' ||
144
- utils.deepAccess(slot, 'mediaTypes.banner') ||
144
+ deepAccess(slot, 'mediaTypes.banner') ||
145
145
  (!slot.mediaType && !slot.mediaTypes)) {
146
146
  const format = slot.sizes.map(size => ({
147
147
  w: size[0],
@@ -155,6 +155,108 @@ const mapBanner = slot => {
155
155
  }
156
156
  }
157
157
 
158
+ /**
159
+ * @param {string} paramName Native parameter name
160
+ * @param {object} paramValue Native parameter value
161
+ * @returns {object} native asset object that conforms to ortb native ads spec
162
+ */
163
+ const mapAsset = (paramName, paramValue) => {
164
+ let asset;
165
+ switch (paramName) {
166
+ case 'title':
167
+ asset = {
168
+ id: 0,
169
+ required: paramValue.required,
170
+ title: { len: paramValue.len }
171
+ }
172
+ break;
173
+ case 'cta':
174
+ asset = {
175
+ id: 1,
176
+ required: paramValue.required,
177
+ data: { type: 12 }
178
+ }
179
+ break;
180
+ case 'icon':
181
+ asset = {
182
+ id: 2,
183
+ required: paramValue.required,
184
+ img: { type: 1, w: paramValue.sizes[0], h: paramValue.sizes[1] }
185
+ }
186
+ break;
187
+ case 'image':
188
+ asset = {
189
+ id: 3,
190
+ required: paramValue.required,
191
+ img: { type: 3, w: paramValue.sizes[0], h: paramValue.sizes[1] }
192
+ }
193
+ break;
194
+ case 'body':
195
+ asset = {
196
+ id: 4,
197
+ required: paramValue.required,
198
+ data: { type: 2 }
199
+ }
200
+ break;
201
+ case 'sponsoredBy':
202
+ asset = {
203
+ id: 5,
204
+ required: paramValue.required,
205
+ data: { type: 1 }
206
+ }
207
+ break;
208
+ }
209
+ return asset;
210
+ }
211
+
212
+ /**
213
+ * @param {object} slot Ad Unit Params by Prebid
214
+ * @returns {object} native object that conforms to ortb native ads spec
215
+ */
216
+ const mapNative = slot => {
217
+ const native = deepAccess(slot, 'mediaTypes.native');
218
+ let assets;
219
+ if (native) {
220
+ const nativeParams = Object.keys(native);
221
+ assets = [];
222
+ nativeParams.forEach(par => {
223
+ const newAsset = mapAsset(par, native[par]);
224
+ if (newAsset) { assets.push(newAsset) };
225
+ });
226
+ }
227
+ return assets ? { request: JSON.stringify({ native: { assets } }) } : undefined;
228
+ }
229
+
230
+ var mapVideo = slot => {
231
+ var video = deepAccess(slot, 'mediaTypes.video');
232
+ var videoParamsUsed = ['api', 'context', 'linearity', 'maxduration', 'mimes', 'protocols'];
233
+ var videoAssets;
234
+
235
+ if (video) {
236
+ var videoParams = Object.keys(video);
237
+ var playerSize = video.playerSize;
238
+ videoAssets = {}; // player width / height
239
+
240
+ if (playerSize) {
241
+ var maxSize = playerSize.reduce(function (prev, next) {
242
+ return next[0] >= prev[0] && next[1] >= prev[1] ? next : prev;
243
+ }, [1, 1]);
244
+ videoAssets.w = maxSize[0];
245
+ videoAssets.h = maxSize[1];
246
+ } // remaining supported params
247
+
248
+ videoParams.forEach(function (par) {
249
+ if (videoParamsUsed.indexOf(par) >= 0) {
250
+ videoAssets[par] = video[par];
251
+ }
252
+
253
+ ;
254
+ });
255
+ }
256
+
257
+ return videoAssets;
258
+ };
259
+
158
260
  const mapImpression = slot => {
159
261
  const { adUnitCode, bidId, params = {}, ortb2Imp = {} } = slot;
160
262
  const { id, siteId } = params;
@@ -165,32 +267,100 @@ const mapImpression = slot => {
165
267
  send this info as ext.pbsize
166
268
  */
167
269
  const slotSize = slot.sizes.length ? slot.sizes.reduce((prev, next) => prev[0] * prev[1] <= next[0] * next[1] ? next : prev).join('x') : '1x1';
168
- adSizesCalled[slotSize] = adSizesCalled[slotSize] ? adSizesCalled[slotSize] + 1 : 1;
270
+ adSizesCalled[slotSize] = adSizesCalled[slotSize] ? adSizesCalled[slotSize] += 1 : 1;
169
271
  ext.data = Object.assign({ pbsize: `${slotSize}_${adSizesCalled[slotSize]}` }, ext.data);
170
272
 
171
273
  const imp = {
172
274
  id: id && siteId ? id : 'bidid-' + bidId,
173
275
  banner: mapBanner(slot),
174
- // native: mapNative(slot),
276
+ native: mapNative(slot),
277
+ video: mapVideo(slot),
175
278
  tagid: adUnitCode,
176
279
  ext,
177
280
  };
178
281
 
179
282
  // Check floorprices for this imp
180
283
  if (typeof slot.getFloor === 'function') {
181
- let bannerFloor = 0;
182
- // sspBC adapter accepts only floor per imp - check for maximum value for requested ad types and sizes
284
+ var bannerFloor = 0;
285
+ var nativeFloor = 0;
286
+ var videoFloor = 0; // sspBC adapter accepts only floor per imp - check for maximum value for requested ad types and sizes
287
+
183
288
  if (slot.sizes.length) {
184
- bannerFloor = slot.sizes.reduce((prev, next) => {
185
- const currentFloor = slot.getFloor({ mediaType: 'banner', size: next }).floor;
289
+ bannerFloor = slot.sizes.reduce(function (prev, next) {
290
+ var currentFloor = slot.getFloor({
291
+ mediaType: 'banner',
292
+ size: next
293
+ }).floor;
186
294
  return prev > currentFloor ? prev : currentFloor;
187
295
  }, 0);
188
296
  }
189
- imp.bidfloor = bannerFloor;
297
+
298
+ nativeFloor = slot.getFloor({
299
+ mediaType: 'native'
300
+ });
301
+ videoFloor = slot.getFloor({
302
+ mediaType: 'video'
303
+ });
304
+ imp.bidfloor = Math.max(bannerFloor, nativeFloor, videoFloor);
190
305
  }
191
306
  return imp;
192
307
  }
193
308
 
309
+ const isVideoAd = bid => {
310
+ const xmlTester = new RegExp(/^<\?xml/);
311
+ return bid.adm && bid.adm.match(xmlTester);
312
+ }
313
+
314
+ const isNativeAd = bid => {
315
+ const xmlTester = new RegExp(/^{['"]native['"]/);
316
+
317
+ return bid.adm && bid.adm.match(xmlTester);
318
+ }
319
+
320
+ const parseNative = nativeData => {
321
+ const result = {};
322
+ nativeData.assets.forEach(asset => {
323
+ const id = parseInt(asset.id);
324
+ switch (id) {
325
+ case 0:
326
+ result.title = asset.title.text;
327
+ break;
328
+ case 2:
329
+ result.icon = {
330
+ url: asset.img.url,
331
+ width: asset.img.w,
332
+ height: asset.img.h,
333
+ };
334
+ break;
335
+ case 3:
336
+ result.image = {
337
+ url: asset.img.url,
338
+ width: asset.img.w,
339
+ height: asset.img.h,
340
+ };
341
+ break;
342
+ case 4:
343
+ result.body = asset.data.value;
344
+ break;
345
+ case 5:
346
+ result.sponsoredBy = asset.data.value;
347
+ break;
348
+
349
+ default:
350
+ logWarn('Unrecognized native asset', asset);
351
+ }
352
+ });
353
+ result.clickUrl = nativeData.link.url;
354
+ result.impressionTrackers = nativeData.imptrackers;
355
+
356
+ if (isArray(nativeData.jstracker)) {
357
+ result.javascriptTrackers = nativeData.jstracker;
358
+ } else if (nativeData.jstracker) {
359
+ result.javascriptTrackers = [nativeData.jstracker];
360
+ }
361
+ return result;
362
+ }
363
+
194
364
  const renderCreative = (site, auctionId, bid, seat, request) => {
195
365
  let gam;
196
366
 
@@ -225,7 +395,7 @@ const renderCreative = (site, auctionId, bid, seat, request) => {
225
395
  gam.targeting = {};
226
396
  }
227
397
  } catch (err) {
228
- utils.logWarn('Could not parse adm data', bid.adm);
398
+ logWarn('Could not parse adm data', bid.adm);
229
399
  }
230
400
  }
231
401
 
@@ -243,6 +413,7 @@ const renderCreative = (site, auctionId, bid, seat, request) => {
243
413
  <script>
244
414
  window.rekid = ${site.id};
245
415
  window.slot = ${parseInt(site.slot, 10)};
416
+ window.responseTimestamp = ${Date.now()};
246
417
  window.wp_sn = "${site.sn}";
247
418
  window.mcad = JSON.parse(decodeURI(atob("${mcbase}")));
248
419
  window.gdpr = ${JSON.stringify(request.gdprConsent)};
@@ -268,7 +439,7 @@ const renderCreative = (site, auctionId, bid, seat, request) => {
268
439
  const spec = {
269
440
  code: BIDDER_CODE,
270
441
  aliases: [],
271
- supportedMediaTypes: [BANNER],
442
+ supportedMediaTypes: [BANNER, NATIVE, VIDEO],
272
443
  isBidRequestValid(bid) {
273
444
  // as per OneCode integration, bids without params are valid
274
445
  return true;
@@ -281,7 +452,7 @@ const spec = {
281
452
  const siteId = setOnAny(validBidRequests, 'params.siteId');
282
453
  const publisherId = setOnAny(validBidRequests, 'params.publisherId');
283
454
  const page = setOnAny(validBidRequests, 'params.page') || bidderRequest.refererInfo.referer;
284
- const domain = setOnAny(validBidRequests, 'params.domain') || utils.parseUrl(page).hostname;
455
+ const domain = setOnAny(validBidRequests, 'params.domain') || parseUrl(page).hostname;
285
456
  const tmax = setOnAny(validBidRequests, 'params.tmax') ? parseInt(setOnAny(validBidRequests, 'params.tmax'), 10) : TMAX;
286
457
  const pbver = '$prebid.version$';
287
458
  const testMode = setOnAny(validBidRequests, 'params.test') ? 1 : undefined;
@@ -377,20 +548,44 @@ const spec = {
377
548
  width: w,
378
549
  height: h,
379
550
  bidderCode: BIDDER_CODE,
380
- mediaType: 'banner',
381
551
  meta: {
382
552
  advertiserDomains: adomain,
383
553
  networkName: seat,
384
554
  },
385
555
  netRevenue: true,
386
- ad: renderCreative(site, response.id, serverBid, seat, bidderRequest),
387
556
  };
388
557
 
558
+ // mediaType and ad data for instream / native / banner
559
+ if (isVideoAd(serverBid)) {
560
+ // video
561
+ bid.adType = 'instream';
562
+ bid.mediaType = 'video';
563
+ bid.vastXml = serverBid.adm;
564
+ bid.vastContent = serverBid.adm;
565
+ } else if (isNativeAd(serverBid)) {
566
+ // native
567
+ bid.mediaType = 'native';
568
+ // check native object
569
+ try {
570
+ const nativeData = JSON.parse(serverBid.adm).native;
571
+ bid.native = parseNative(nativeData);
572
+ bid.width = 1;
573
+ bid.height = 1;
574
+ } catch (err) {
575
+ logWarn('Could not parse native data', serverBid.adm);
576
+ bid.cpm = 0;
577
+ }
578
+ } else {
579
+ // banner ad (default)
580
+ bid.mediaType = 'banner';
581
+ bid.ad = renderCreative(site, response.id, serverBid, seat, bidderRequest);
582
+ }
583
+
389
584
  if (bid.cpm > 0) {
390
585
  bids.push(bid);
391
586
  }
392
587
  } else {
393
- utils.logWarn('Discarding response - no matching request / site id', serverBid.impid);
588
+ logWarn('Discarding response - no matching request / site id', serverBid.impid);
394
589
  }
395
590
  });
396
591
  });
@@ -405,7 +600,7 @@ const spec = {
405
600
  url: `${SYNC_URL}?tcf=${consentApiVersion}`,
406
601
  }];
407
602
  } else {
408
- utils.logWarn('sspBC adapter requires iframe based user sync.');
603
+ logWarn('sspBC adapter requires iframe based user sync.');
409
604
  }
410
605
  },
411
606
 
@@ -7,7 +7,7 @@ Maintainer: wojciech.bialy@grupawp.pl
7
7
  # Description
8
8
 
9
9
  Module that connects to Wirtualna Polska Media header bidding endpoint to fetch bids.
10
- Only banner format is supported.
10
+ Supports Banner, Video (instream) and Native formats
11
11
  Supported currencies: USD, EUR, PLN
12
12
 
13
13
  Required parameters:
@@ -1,8 +1,8 @@
1
+ import { logInfo, logError, parseUrl, _each } from '../src/utils.js';
1
2
  import adapter from '../src/AnalyticsAdapter.js';
2
3
  import CONSTANTS from '../src/constants.json';
3
4
  import adapterManager from '../src/adapterManager.js';
4
5
  import { getRefererInfo } from '../src/refererDetection.js';
5
- import * as utils from '../src/utils.js';
6
6
  import { ajax } from '../src/ajax.js';
7
7
  import { getStorageManager } from '../src/storageManager.js';
8
8
 
@@ -94,14 +94,14 @@ analyticsAdapter.context = {};
94
94
  analyticsAdapter.originEnableAnalytics = analyticsAdapter.enableAnalytics;
95
95
 
96
96
  analyticsAdapter.enableAnalytics = (config) => {
97
- utils.logInfo('Enabling STAQ Adapter');
97
+ logInfo('Enabling STAQ Adapter');
98
98
  staqAdapterRefWin = getRefererInfo(window);
99
99
  if (!config.options.connId) {
100
- utils.logError('ConnId is not defined. STAQ Analytics won\'t work');
100
+ logError('ConnId is not defined. STAQ Analytics won\'t work');
101
101
  return;
102
102
  }
103
103
  if (!config.options.url) {
104
- utils.logError('URL is not defined. STAQ Analytics won\'t work');
104
+ logError('URL is not defined. STAQ Analytics won\'t work');
105
105
  return;
106
106
  }
107
107
  analyticsAdapter.context = {
@@ -133,7 +133,7 @@ function sendAll() {
133
133
  }
134
134
 
135
135
  analyticsAdapter.ajaxCall = function ajaxCall(data) {
136
- utils.logInfo('SENDING DATA: ' + data);
136
+ logInfo('SENDING DATA: ' + data);
137
137
  ajax(`https://${analyticsAdapter.context.url}/prebid/${analyticsAdapter.context.connectionId}`, () => {}, data, { contentType: 'text/plain' });
138
138
  };
139
139
 
@@ -248,7 +248,7 @@ export function getUmtSource(pageUrl, referrer) {
248
248
  if (se) {
249
249
  return asUtm(se, ORGANIC, ORGANIC);
250
250
  }
251
- let parsedUrl = utils.parseUrl(pageUrl);
251
+ let parsedUrl = parseUrl(pageUrl);
252
252
  let [refHost, refPath] = getReferrer(referrer);
253
253
  if (refHost && refHost !== parsedUrl.hostname) {
254
254
  return asUtm(refHost, REFERRAL, REFERRAL, '', refPath);
@@ -275,17 +275,17 @@ export function getUmtSource(pageUrl, referrer) {
275
275
  }
276
276
 
277
277
  function getReferrer(referrer) {
278
- let ref = utils.parseUrl(referrer);
278
+ let ref = parseUrl(referrer);
279
279
  return [ref.hostname, ref.pathname];
280
280
  }
281
281
 
282
282
  function getUTM(pageUrl) {
283
- let urlParameters = utils.parseUrl(pageUrl).search;
283
+ let urlParameters = parseUrl(pageUrl).search;
284
284
  if (!urlParameters['utm_campaign'] || !urlParameters['utm_source']) {
285
285
  return;
286
286
  }
287
287
  let utmArgs = [];
288
- utils._each(UTM_TAGS, (utmTagName) => {
288
+ _each(UTM_TAGS, (utmTagName) => {
289
289
  let utmValue = urlParameters[utmTagName] || '';
290
290
  utmArgs.push(utmValue);
291
291
  });
@@ -1,6 +1,6 @@
1
+ import { getWindowSelf, getWindowTop, buildUrl, logError, isStr, isEmpty, deepAccess } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
3
  import {BANNER} from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
 
5
5
  const GVL_ID = 136;
6
6
  const BIDDER_CODE = 'stroeerCore';
@@ -10,22 +10,22 @@ const DEFAULT_PORT = '';
10
10
  const FIVE_MINUTES_IN_SECONDS = 300;
11
11
  const USER_SYNC_IFRAME_URL = 'https://js.adscale.de/pbsync.html';
12
12
 
13
- const isSecureWindow = () => utils.getWindowSelf().location.protocol === 'https:';
14
- const isMainPageAccessible = () => getMostAccessibleTopWindow() === utils.getWindowTop();
13
+ const isSecureWindow = () => getWindowSelf().location.protocol === 'https:';
14
+ const isMainPageAccessible = () => getMostAccessibleTopWindow() === getWindowTop();
15
15
 
16
16
  function getTopWindowReferrer() {
17
17
  try {
18
- return utils.getWindowTop().document.referrer;
18
+ return getWindowTop().document.referrer;
19
19
  } catch (e) {
20
- return utils.getWindowSelf().referrer;
20
+ return getWindowSelf().referrer;
21
21
  }
22
22
  }
23
23
 
24
24
  function getMostAccessibleTopWindow() {
25
- let res = utils.getWindowSelf();
25
+ let res = getWindowSelf();
26
26
 
27
27
  try {
28
- while (utils.getWindowTop().top !== res && res.parent.location.href.length) {
28
+ while (getWindowTop().top !== res && res.parent.location.href.length) {
29
29
  res = res.parent;
30
30
  }
31
31
  } catch (ignore) {
@@ -36,7 +36,7 @@ function getMostAccessibleTopWindow() {
36
36
 
37
37
  function elementInView(elementId) {
38
38
  const resolveElement = (elId) => {
39
- const win = utils.getWindowSelf();
39
+ const win = getWindowSelf();
40
40
 
41
41
  return win.document.getElementById(elId);
42
42
  };
@@ -53,19 +53,19 @@ function elementInView(elementId) {
53
53
  };
54
54
 
55
55
  try {
56
- return visibleInWindow(resolveElement(elementId), utils.getWindowSelf());
56
+ return visibleInWindow(resolveElement(elementId), getWindowSelf());
57
57
  } catch (e) {
58
58
  // old browser, element not found, cross-origin etc.
59
59
  }
60
60
  return undefined;
61
61
  }
62
62
 
63
- function buildUrl({host: hostname = DEFAULT_HOST, port = DEFAULT_PORT, securePort, path: pathname = DEFAULT_PATH}) {
63
+ function _buildUrl({host: hostname = DEFAULT_HOST, port = DEFAULT_PORT, securePort, path: pathname = DEFAULT_PATH}) {
64
64
  if (securePort) {
65
65
  port = securePort;
66
66
  }
67
67
 
68
- return utils.buildUrl({protocol: 'https', hostname, port, pathname});
68
+ return buildUrl({protocol: 'https', hostname, port, pathname});
69
69
  }
70
70
 
71
71
  function getGdprParams(gdprConsent) {
@@ -92,7 +92,7 @@ export const spec = {
92
92
  if (checkFn(bidRequest)) {
93
93
  return true;
94
94
  } else {
95
- utils.logError(`invalid bid: ${errorMsgFn(bidRequest)}`, 'ERROR');
95
+ logError(`invalid bid: ${errorMsgFn(bidRequest)}`, 'ERROR');
96
96
  return false;
97
97
  }
98
98
  }
@@ -108,7 +108,7 @@ export const spec = {
108
108
  bidReq => `bid request ${bidReq.bidId} is not a banner`));
109
109
  validators.push(createValidator((bidReq) => typeof bidReq.params === 'object',
110
110
  bidReq => `bid request ${bidReq.bidId} does not have custom params`));
111
- validators.push(createValidator((bidReq) => utils.isStr(bidReq.params.sid),
111
+ validators.push(createValidator((bidReq) => isStr(bidReq.params.sid),
112
112
  bidReq => `bid request ${bidReq.bidId} does not have a sid string field`));
113
113
 
114
114
  return function (bidRequest) {
@@ -130,7 +130,7 @@ export const spec = {
130
130
 
131
131
  const userIds = anyBid.userId;
132
132
 
133
- if (!utils.isEmpty(userIds)) {
133
+ if (!isEmpty(userIds)) {
134
134
  payload.user = {
135
135
  euids: userIds
136
136
  };
@@ -145,7 +145,7 @@ export const spec = {
145
145
  }
146
146
 
147
147
  function bidSizes(bid) {
148
- return utils.deepAccess(bid, 'mediaTypes.banner.sizes') || bid.sizes /* for prebid < 3 */ || [];
148
+ return deepAccess(bid, 'mediaTypes.banner.sizes') || bid.sizes /* for prebid < 3 */ || [];
149
149
  }
150
150
 
151
151
  validBidRequests.forEach(bid => {
@@ -155,7 +155,7 @@ export const spec = {
155
155
  });
156
156
 
157
157
  return {
158
- method: 'POST', url: buildUrl(anyBid.params), data: payload
158
+ method: 'POST', url: _buildUrl(anyBid.params), data: payload
159
159
  }
160
160
  },
161
161
 
@@ -1,6 +1,6 @@
1
+ import { logInfo, generateUUID, formatQS, triggerPixel, deepAccess } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { config } from '../src/config.js';
3
- import * as utils from '../src/utils.js';
4
4
 
5
5
  const BIDDER_CODE = 'sublime';
6
6
  const BIDDER_GVLID = 114;
@@ -43,7 +43,7 @@ function isValidNotifyId(value) {
43
43
  * @param {Object=} obj
44
44
  */
45
45
  export function log(msg, obj) {
46
- utils.logInfo('SublimeBidAdapter - ' + msg, obj);
46
+ logInfo('SublimeBidAdapter - ' + msg, obj);
47
47
  }
48
48
 
49
49
  // Default state
@@ -73,7 +73,7 @@ function getNotifyId(params) {
73
73
 
74
74
  let notifyId = params.notifyId || sublime.notifyId;
75
75
  if (!notifyId) {
76
- notifyId = utils.generateUUID();
76
+ notifyId = generateUUID();
77
77
  log('generating a notifyId', notifyId);
78
78
  }
79
79
  if (!sublime.notifyId) {
@@ -110,8 +110,8 @@ export function sendEvent(eventName, sspName) {
110
110
 
111
111
  log('Sending pixel for event: ' + eventName, eventObject);
112
112
 
113
- const queryString = utils.formatQS(eventObject);
114
- utils.triggerPixel('https://' + SUBLIME_ANTENNA + '/?' + queryString);
113
+ const queryString = formatQS(eventObject);
114
+ triggerPixel('https://' + SUBLIME_ANTENNA + '/?' + queryString);
115
115
  }
116
116
 
117
117
  /**
@@ -280,7 +280,7 @@ function onBidWon(bid) {
280
280
  function onTimeout(timeoutData) {
281
281
  log('Timeout from adapter', timeoutData);
282
282
 
283
- const timeout = utils.deepAccess(timeoutData, '0.timeout');
283
+ const timeout = deepAccess(timeoutData, '0.timeout');
284
284
  if (timeout) {
285
285
  // Set timeout to the one we got from the bid
286
286
  setState({ timeout });