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
@@ -18,7 +18,7 @@
18
18
 
19
19
  import { submodule } from '../src/hook.js';
20
20
  import { ajaxBuilder } from '../src/ajax.js';
21
- import * as utils from '../src/utils.js';
21
+ import { isGptPubadsDefined, timestamp, generateUUID, logError } from '../src/utils.js';
22
22
  import find from 'core-js-pure/features/array/find.js';
23
23
 
24
24
  /** @type {Object} */
@@ -52,7 +52,7 @@ function handleAdMessage(e) {
52
52
  }
53
53
 
54
54
  if (data.type === MessageType.IMPRESSION_REQUEST) {
55
- if (utils.isGptPubadsDefined()) {
55
+ if (isGptPubadsDefined()) {
56
56
  // 1. Find the last iframed window before window.top where the tracker was injected
57
57
  // (the tracker could be injected in nested iframes)
58
58
  const adWin = getTopIFrameWin(e.source);
@@ -65,7 +65,7 @@ function handleAdMessage(e) {
65
65
  adDeliveryId = adSlot.getTargeting('RSDK_ADID');
66
66
  adDeliveryId = adDeliveryId.length
67
67
  ? adDeliveryId[0]
68
- : `${utils.timestamp()}-${utils.generateUUID()}`;
68
+ : `${timestamp()}-${generateUUID()}`;
69
69
  }
70
70
  }
71
71
  }
@@ -136,7 +136,7 @@ export function getTopIFrameWin(win, topWin) {
136
136
  * @return {Object[]} slot GoogleTag slots
137
137
  */
138
138
  function getAllSlots() {
139
- return utils.isGptPubadsDefined() && window.googletag.pubads().getSlots();
139
+ return isGptPubadsDefined() && window.googletag.pubads().getSlots();
140
140
  }
141
141
 
142
142
  /**
@@ -246,7 +246,7 @@ function getReconciliationData(adUnitsCodes) {
246
246
 
247
247
  const adSlot = getSlotByCode(adUnitCode);
248
248
  const adUnitId = adSlot ? adSlot.getAdUnitPath() : adUnitCode;
249
- const adDeliveryId = `${utils.timestamp()}-${utils.generateUUID()}`;
249
+ const adDeliveryId = `${timestamp()}-${generateUUID()}`;
250
250
 
251
251
  dataToReturn[adUnitCode] = {
252
252
  RSDK_AUID: adUnitId,
@@ -287,7 +287,7 @@ function init(moduleConfig) {
287
287
  _moduleParams = Object.assign({}, DEFAULT_PARAMS, params);
288
288
  initListeners();
289
289
  } else {
290
- utils.logError('missing params for Reconciliation provider');
290
+ logError('missing params for Reconciliation provider');
291
291
  }
292
292
  return true;
293
293
  }
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepAccess, logWarn, getBidIdParameter, parseQueryStringParameters, triggerPixel, generateUUID, isArray } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
4
  import { Renderer } from '../src/Renderer.js';
@@ -6,26 +6,26 @@ import { getStorageManager } from '../src/storageManager.js';
6
6
 
7
7
  const BIDDER_CODE = 'relaido';
8
8
  const BIDDER_DOMAIN = 'api.relaido.jp';
9
- const ADAPTER_VERSION = '1.0.5';
9
+ const ADAPTER_VERSION = '1.0.6';
10
10
  const DEFAULT_TTL = 300;
11
11
  const UUID_KEY = 'relaido_uuid';
12
12
 
13
13
  const storage = getStorageManager();
14
14
 
15
15
  function isBidRequestValid(bid) {
16
- if (!utils.deepAccess(bid, 'params.placementId')) {
17
- utils.logWarn('placementId param is reqeuired.');
16
+ if (!deepAccess(bid, 'params.placementId')) {
17
+ logWarn('placementId param is reqeuired.');
18
18
  return false;
19
19
  }
20
20
  if (hasVideoMediaType(bid) && isVideoValid(bid)) {
21
21
  return true;
22
22
  } else {
23
- utils.logWarn('Invalid mediaType video.');
23
+ logWarn('Invalid mediaType video.');
24
24
  }
25
25
  if (hasBannerMediaType(bid) && isBannerValid(bid)) {
26
26
  return true;
27
27
  } else {
28
- utils.logWarn('Invalid mediaType banner.');
28
+ logWarn('Invalid mediaType banner.');
29
29
  }
30
30
  return false;
31
31
  }
@@ -35,7 +35,7 @@ function buildRequests(validBidRequests, bidderRequest) {
35
35
 
36
36
  for (let i = 0; i < validBidRequests.length; i++) {
37
37
  const bidRequest = validBidRequests[i];
38
- const placementId = utils.getBidIdParameter('placementId', bidRequest.params);
38
+ const placementId = getBidIdParameter('placementId', bidRequest.params);
39
39
  const bidDomain = bidRequest.params.domain || BIDDER_DOMAIN;
40
40
  const bidUrl = `https://${bidDomain}/bid/v1/prebid/${placementId}`;
41
41
  const uuid = getUuid();
@@ -44,12 +44,12 @@ function buildRequests(validBidRequests, bidderRequest) {
44
44
  let height = 0;
45
45
 
46
46
  if (hasVideoMediaType(bidRequest) && isVideoValid(bidRequest)) {
47
- const playerSize = getValidSizes(utils.deepAccess(bidRequest, 'mediaTypes.video.playerSize'));
47
+ const playerSize = getValidSizes(deepAccess(bidRequest, 'mediaTypes.video.playerSize'));
48
48
  width = playerSize[0][0];
49
49
  height = playerSize[0][1];
50
50
  mediaType = VIDEO;
51
51
  } else if (hasBannerMediaType(bidRequest) && isBannerValid(bidRequest)) {
52
- const sizes = getValidSizes(utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes'));
52
+ const sizes = getValidSizes(deepAccess(bidRequest, 'mediaTypes.banner.sizes'));
53
53
  width = sizes[0][0];
54
54
  height = sizes[0][1];
55
55
  mediaType = BANNER;
@@ -68,9 +68,15 @@ function buildRequests(validBidRequests, bidderRequest) {
68
68
  media_type: mediaType,
69
69
  uuid: uuid,
70
70
  width: width,
71
- height: height
71
+ height: height,
72
+ pv: '$prebid.version$'
72
73
  };
73
74
 
75
+ const imuid = deepAccess(bidRequest, 'userId.imuid');
76
+ if (imuid) {
77
+ payload.imuid = imuid;
78
+ }
79
+
74
80
  // It may not be encoded, so add it at the end of the payload
75
81
  payload.ref = bidderRequest.refererInfo.referer;
76
82
 
@@ -136,7 +142,7 @@ function getUserSyncs(syncOptions, serverResponses) {
136
142
  }
137
143
  let syncUrl = `https://${BIDDER_DOMAIN}/tr/v1/prebid/sync.html`;
138
144
  if (serverResponses.length > 0) {
139
- syncUrl = utils.deepAccess(serverResponses, '0.body.syncUrl') || syncUrl;
145
+ syncUrl = deepAccess(serverResponses, '0.body.syncUrl') || syncUrl;
140
146
  }
141
147
  return [{
142
148
  type: 'iframe',
@@ -145,34 +151,34 @@ function getUserSyncs(syncOptions, serverResponses) {
145
151
  }
146
152
 
147
153
  function onBidWon(bid) {
148
- let query = utils.parseQueryStringParameters({
149
- placement_id: utils.deepAccess(bid, 'params.0.placementId'),
150
- creative_id: utils.deepAccess(bid, 'creativeId'),
151
- price: utils.deepAccess(bid, 'cpm'),
152
- auction_id: utils.deepAccess(bid, 'auctionId'),
153
- bid_id: utils.deepAccess(bid, 'requestId'),
154
- ad_id: utils.deepAccess(bid, 'adId'),
155
- ad_unit_code: utils.deepAccess(bid, 'adUnitCode'),
154
+ let query = parseQueryStringParameters({
155
+ placement_id: deepAccess(bid, 'params.0.placementId'),
156
+ creative_id: deepAccess(bid, 'creativeId'),
157
+ price: deepAccess(bid, 'cpm'),
158
+ auction_id: deepAccess(bid, 'auctionId'),
159
+ bid_id: deepAccess(bid, 'requestId'),
160
+ ad_id: deepAccess(bid, 'adId'),
161
+ ad_unit_code: deepAccess(bid, 'adUnitCode'),
156
162
  ref: window.location.href,
157
163
  }).replace(/\&$/, '');
158
- const bidDomain = utils.deepAccess(bid, 'params.0.domain') || BIDDER_DOMAIN;
164
+ const bidDomain = deepAccess(bid, 'params.0.domain') || BIDDER_DOMAIN;
159
165
  const burl = `https://${bidDomain}/tr/v1/prebid/win.gif?${query}`;
160
- utils.triggerPixel(burl);
166
+ triggerPixel(burl);
161
167
  }
162
168
 
163
169
  function onTimeout(data) {
164
- let query = utils.parseQueryStringParameters({
165
- placement_id: utils.deepAccess(data, '0.params.0.placementId'),
166
- timeout: utils.deepAccess(data, '0.timeout'),
167
- auction_id: utils.deepAccess(data, '0.auctionId'),
168
- bid_id: utils.deepAccess(data, '0.bidId'),
169
- ad_unit_code: utils.deepAccess(data, '0.adUnitCode'),
170
+ let query = parseQueryStringParameters({
171
+ placement_id: deepAccess(data, '0.params.0.placementId'),
172
+ timeout: deepAccess(data, '0.timeout'),
173
+ auction_id: deepAccess(data, '0.auctionId'),
174
+ bid_id: deepAccess(data, '0.bidId'),
175
+ ad_unit_code: deepAccess(data, '0.adUnitCode'),
170
176
  version: ADAPTER_VERSION,
171
177
  ref: window.location.href,
172
178
  }).replace(/\&$/, '');
173
- const bidDomain = utils.deepAccess(data, '0.params.0.domain') || BIDDER_DOMAIN;
179
+ const bidDomain = deepAccess(data, '0.params.0.domain') || BIDDER_DOMAIN;
174
180
  const timeoutUrl = `https://${bidDomain}/tr/v1/prebid/timeout.gif?${query}`;
175
- utils.triggerPixel(timeoutUrl);
181
+ triggerPixel(timeoutUrl);
176
182
  }
177
183
 
178
184
  function createPlayerTag(playerUrl) {
@@ -199,7 +205,7 @@ function newRenderer(bidId, playerUrl) {
199
205
  try {
200
206
  renderer.setRender(outstreamRender);
201
207
  } catch (err) {
202
- utils.logWarn('renderer.setRender Error', err);
208
+ logWarn('renderer.setRender Error', err);
203
209
  }
204
210
  return renderer;
205
211
  }
@@ -220,7 +226,7 @@ function isBannerValid(bid) {
220
226
  if (!isMobile()) {
221
227
  return false;
222
228
  }
223
- const sizes = getValidSizes(utils.deepAccess(bid, 'mediaTypes.banner.sizes'));
229
+ const sizes = getValidSizes(deepAccess(bid, 'mediaTypes.banner.sizes'));
224
230
  if (sizes.length > 0) {
225
231
  return true;
226
232
  }
@@ -228,9 +234,9 @@ function isBannerValid(bid) {
228
234
  }
229
235
 
230
236
  function isVideoValid(bid) {
231
- const playerSize = getValidSizes(utils.deepAccess(bid, 'mediaTypes.video.playerSize'));
237
+ const playerSize = getValidSizes(deepAccess(bid, 'mediaTypes.video.playerSize'));
232
238
  if (playerSize.length > 0) {
233
- const context = utils.deepAccess(bid, 'mediaTypes.video.context');
239
+ const context = deepAccess(bid, 'mediaTypes.video.context');
234
240
  if (context && context === 'outstream') {
235
241
  return true;
236
242
  }
@@ -241,7 +247,7 @@ function isVideoValid(bid) {
241
247
  function getUuid() {
242
248
  const id = storage.getCookie(UUID_KEY)
243
249
  if (id) return id;
244
- const newId = utils.generateUUID();
250
+ const newId = generateUUID();
245
251
  storage.setCookie(UUID_KEY, newId);
246
252
  return newId;
247
253
  }
@@ -255,18 +261,18 @@ export function isMobile() {
255
261
  }
256
262
 
257
263
  function hasBannerMediaType(bid) {
258
- return !!utils.deepAccess(bid, 'mediaTypes.banner');
264
+ return !!deepAccess(bid, 'mediaTypes.banner');
259
265
  }
260
266
 
261
267
  function hasVideoMediaType(bid) {
262
- return !!utils.deepAccess(bid, 'mediaTypes.video');
268
+ return !!deepAccess(bid, 'mediaTypes.video');
263
269
  }
264
270
 
265
271
  function getValidSizes(sizes) {
266
272
  let result = [];
267
- if (sizes && utils.isArray(sizes) && sizes.length > 0) {
273
+ if (sizes && isArray(sizes) && sizes.length > 0) {
268
274
  for (let i = 0; i < sizes.length; i++) {
269
- if (utils.isArray(sizes[i]) && sizes[i].length == 2) {
275
+ if (isArray(sizes[i]) && sizes[i].length == 2) {
270
276
  const width = sizes[i][0];
271
277
  const height = sizes[i][1];
272
278
  if (width == 1 && height == 1) {
@@ -1,8 +1,7 @@
1
1
 
2
- import * as utils from '../src/utils.js';
2
+ import { timestamp, deepAccess, getOrigin } from '../src/utils.js';
3
3
  import { config } from '../src/config.js';
4
4
  import {registerBidder} from '../src/adapters/bidderFactory.js';
5
- import {getOrigin} from '../src/utils.js';
6
5
  const BIDDER_CODE = 'resetdigital';
7
6
 
8
7
  export const spec = {
@@ -20,7 +19,7 @@ export const spec = {
20
19
  ? config.getConfig('userSync').syncsPerBidder : 5
21
20
 
22
21
  const payload = {
23
- start_time: utils.timestamp(),
22
+ start_time: timestamp(),
24
23
  language: window.navigator.userLanguage || window.navigator.language,
25
24
  site: {
26
25
  domain: getOrigin(),
@@ -51,7 +50,7 @@ export const spec = {
51
50
  imp_id: req.transactionId,
52
51
  sizes: req.sizes,
53
52
  force_bid: req.params.forceBid,
54
- media_types: utils.deepAccess(req, 'mediaTypes')
53
+ media_types: deepAccess(req, 'mediaTypes')
55
54
  });
56
55
  }
57
56
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  import {registerBidder} from '../src/adapters/bidderFactory.js';
5
5
  import { BANNER, NATIVE } from '../src/mediaTypes.js';
6
- import * as utils from '../src/utils.js';
6
+ import { triggerPixel, isFn, deepAccess, getAdUnitSizes, parseGPTSingleSizeArrayToRtbSize, _map } from '../src/utils.js';
7
7
 
8
8
  const BIDDER_CODE = 'revcontent';
9
9
  const NATIVE_PARAMS = {
@@ -160,7 +160,7 @@ export const spec = {
160
160
  },
161
161
  onBidWon: function (bid) {
162
162
  if (bid.nurl) {
163
- utils.triggerPixel(bid.nurl);
163
+ triggerPixel(bid.nurl);
164
164
  }
165
165
  return true;
166
166
  }
@@ -215,14 +215,14 @@ function extractHostname(url) {
215
215
 
216
216
  function buildImp(bid, id) {
217
217
  let bidfloor;
218
- if (utils.isFn(bid.getFloor)) {
218
+ if (isFn(bid.getFloor)) {
219
219
  bidfloor = bid.getFloor({
220
220
  currency: 'USD',
221
221
  mediaType: '*',
222
222
  size: '*'
223
223
  }).floor;
224
224
  } else {
225
- bidfloor = utils.deepAccess(bid, `params.bidfloor`) || 0.1;
225
+ bidfloor = deepAccess(bid, `params.bidfloor`) || 0.1;
226
226
  }
227
227
 
228
228
  let imp = {
@@ -236,17 +236,17 @@ function buildImp(bid, id) {
236
236
  secure: '1'
237
237
  };
238
238
 
239
- let bannerReq = utils.deepAccess(bid, `mediaTypes.banner`);
240
- let nativeReq = utils.deepAccess(bid, `mediaTypes.native`);
239
+ let bannerReq = deepAccess(bid, `mediaTypes.banner`);
240
+ let nativeReq = deepAccess(bid, `mediaTypes.native`);
241
241
  if (bannerReq) {
242
- let sizes = utils.getAdUnitSizes(bid);
242
+ let sizes = getAdUnitSizes(bid);
243
243
  imp.banner = {
244
244
  w: sizes[0][0],
245
245
  h: sizes[0][1],
246
- format: sizes.map(wh => utils.parseGPTSingleSizeArrayToRtbSize(wh)),
246
+ format: sizes.map(wh => parseGPTSingleSizeArrayToRtbSize(wh)),
247
247
  }
248
248
  } else if (nativeReq) {
249
- const assets = utils._map(bid.nativeParams, (bidParams, key) => {
249
+ const assets = _map(bid.nativeParams, (bidParams, key) => {
250
250
  const props = NATIVE_PARAMS[key];
251
251
  const asset = {
252
252
  required: bidParams.required & 1
@@ -1,6 +1,7 @@
1
+
1
2
  'use strict';
2
3
 
3
- import * as utils from '../src/utils.js';
4
+ import { deepAccess, getDNT, parseSizesInput, isArray } from '../src/utils.js';
4
5
  import {registerBidder} from '../src/adapters/bidderFactory.js';
5
6
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
6
7
 
@@ -41,13 +42,13 @@ function RhythmOneBidAdapter() {
41
42
  impObj.bidfloor = 0;
42
43
  impObj.secure = isSecure;
43
44
 
44
- if (utils.deepAccess(BRs[i], 'mediaTypes.banner') || utils.deepAccess(BRs[i], 'mediaType') === 'banner') {
45
+ if (deepAccess(BRs[i], 'mediaTypes.banner') || deepAccess(BRs[i], 'mediaType') === 'banner') {
45
46
  let banner = frameBanner(BRs[i]);
46
47
  if (banner) {
47
48
  impObj.banner = banner;
48
49
  }
49
50
  }
50
- if (utils.deepAccess(BRs[i], 'mediaTypes.video') || utils.deepAccess(BRs[i], 'mediaType') === 'video') {
51
+ if (deepAccess(BRs[i], 'mediaTypes.video') || deepAccess(BRs[i], 'mediaType') === 'video') {
51
52
  impObj.video = frameVideo(BRs[i]);
52
53
  }
53
54
  if (!(impObj.banner || impObj.video)) {
@@ -85,7 +86,7 @@ function RhythmOneBidAdapter() {
85
86
  return {
86
87
  ua: navigator.userAgent,
87
88
  ip: '', // Empty Ip string is required, server gets the ip from HTTP header
88
- dnt: utils.getDNT() ? 1 : 0,
89
+ dnt: getDNT() ? 1 : 0,
89
90
  }
90
91
  }
91
92
 
@@ -105,7 +106,7 @@ function RhythmOneBidAdapter() {
105
106
  if (adUnit.mediaTypes && adUnit.mediaTypes.banner) {
106
107
  sizeList = adUnit.mediaTypes.banner.sizes;
107
108
  }
108
- var sizeStringList = utils.parseSizesInput(sizeList);
109
+ var sizeStringList = parseSizesInput(sizeList);
109
110
  var format = [];
110
111
  sizeStringList.forEach(function(size) {
111
112
  if (size) {
@@ -129,9 +130,9 @@ function RhythmOneBidAdapter() {
129
130
 
130
131
  function frameVideo(bid) {
131
132
  var size = [];
132
- if (utils.deepAccess(bid, 'mediaTypes.video.playerSize')) {
133
+ if (deepAccess(bid, 'mediaTypes.video.playerSize')) {
133
134
  var dimensionSet = bid.mediaTypes.video.playerSize;
134
- if (utils.isArray(bid.mediaTypes.video.playerSize[0])) {
135
+ if (isArray(bid.mediaTypes.video.playerSize[0])) {
135
136
  dimensionSet = bid.mediaTypes.video.playerSize[0];
136
137
  }
137
138
  var validSize = getValidSizeSet(dimensionSet)
@@ -140,15 +141,15 @@ function RhythmOneBidAdapter() {
140
141
  }
141
142
  }
142
143
  return {
143
- mimes: utils.deepAccess(bid, 'mediaTypes.video.mimes') || SUPPORTED_VIDEO_MIMES,
144
- protocols: utils.deepAccess(bid, 'mediaTypes.video.protocols') || SUPPORTED_VIDEO_PROTOCOLS,
144
+ mimes: deepAccess(bid, 'mediaTypes.video.mimes') || SUPPORTED_VIDEO_MIMES,
145
+ protocols: deepAccess(bid, 'mediaTypes.video.protocols') || SUPPORTED_VIDEO_PROTOCOLS,
145
146
  w: size[0],
146
147
  h: size[1],
147
- startdelay: utils.deepAccess(bid, 'mediaTypes.video.startdelay') || 0,
148
- skip: utils.deepAccess(bid, 'mediaTypes.video.skip') || 0,
149
- playbackmethod: utils.deepAccess(bid, 'mediaTypes.video.playbackmethod') || SUPPORTED_VIDEO_PLAYBACK_METHODS,
150
- delivery: utils.deepAccess(bid, 'mediaTypes.video.delivery') || SUPPORTED_VIDEO_DELIVERY,
151
- api: utils.deepAccess(bid, 'mediaTypes.video.api') || SUPPORTED_VIDEO_API,
148
+ startdelay: deepAccess(bid, 'mediaTypes.video.startdelay') || 0,
149
+ skip: deepAccess(bid, 'mediaTypes.video.skip') || 0,
150
+ playbackmethod: deepAccess(bid, 'mediaTypes.video.playbackmethod') || SUPPORTED_VIDEO_PLAYBACK_METHODS,
151
+ delivery: deepAccess(bid, 'mediaTypes.video.delivery') || SUPPORTED_VIDEO_DELIVERY,
152
+ api: deepAccess(bid, 'mediaTypes.video.api') || SUPPORTED_VIDEO_API,
152
153
  }
153
154
  }
154
155
 
@@ -170,14 +171,14 @@ function RhythmOneBidAdapter() {
170
171
  device: frameDevice(),
171
172
  user: {
172
173
  ext: {
173
- consent: utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? bidderRequest.gdprConsent.consentString : ''
174
+ consent: deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? bidderRequest.gdprConsent.consentString : ''
174
175
  }
175
176
  },
176
177
  at: 1,
177
178
  tmax: 1000,
178
179
  regs: {
179
180
  ext: {
180
- gdpr: utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? Boolean(bidderRequest.gdprConsent.gdprApplies & 1) : false
181
+ gdpr: deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? Boolean(bidderRequest.gdprConsent.gdprApplies & 1) : false
181
182
  }
182
183
  }
183
184
  };
@@ -1,7 +1,7 @@
1
+ import { isEmpty, deepAccess, isStr } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
3
  import {config} from '../src/config.js';
3
4
  import {BANNER, VIDEO} from '../src/mediaTypes.js';
4
- import * as utils from '../src/utils.js';
5
5
  import { Renderer } from '../src/Renderer.js';
6
6
 
7
7
  const BIDDER_CODE = 'richaudience';
@@ -52,7 +52,7 @@ export const spec = {
52
52
  videoData: raiGetVideoInfo(bid),
53
53
  scr_rsl: raiGetResolution(),
54
54
  cpuc: (typeof window.navigator != 'undefined' ? window.navigator.hardwareConcurrency : null),
55
- kws: (!utils.isEmpty(bid.params.keywords) ? bid.params.keywords : null)
55
+ kws: (!isEmpty(bid.params.keywords) ? bid.params.keywords : null)
56
56
  };
57
57
 
58
58
  REFERER = (typeof bidderRequest.refererInfo.referer != 'undefined' ? encodeURIComponent(bidderRequest.refererInfo.referer) : null)
@@ -220,19 +220,19 @@ function raiSetEids(bid) {
220
220
  let eids = [];
221
221
 
222
222
  if (bid && bid.userId) {
223
- raiSetUserId(bid, eids, 'id5-sync.com', utils.deepAccess(bid, `userId.id5id.uid`));
224
- raiSetUserId(bid, eids, 'pubcommon', utils.deepAccess(bid, `userId.pubcid`));
225
- raiSetUserId(bid, eids, 'criteo.com', utils.deepAccess(bid, `userId.criteoId`));
226
- raiSetUserId(bid, eids, 'liveramp.com', utils.deepAccess(bid, `userId.idl_env`));
227
- raiSetUserId(bid, eids, 'liveintent.com', utils.deepAccess(bid, `userId.lipb.lipbid`));
228
- raiSetUserId(bid, eids, 'adserver.org', utils.deepAccess(bid, `userId.tdid`));
223
+ raiSetUserId(bid, eids, 'id5-sync.com', deepAccess(bid, `userId.id5id.uid`));
224
+ raiSetUserId(bid, eids, 'pubcommon', deepAccess(bid, `userId.pubcid`));
225
+ raiSetUserId(bid, eids, 'criteo.com', deepAccess(bid, `userId.criteoId`));
226
+ raiSetUserId(bid, eids, 'liveramp.com', deepAccess(bid, `userId.idl_env`));
227
+ raiSetUserId(bid, eids, 'liveintent.com', deepAccess(bid, `userId.lipb.lipbid`));
228
+ raiSetUserId(bid, eids, 'adserver.org', deepAccess(bid, `userId.tdid`));
229
229
  }
230
230
 
231
231
  return eids;
232
232
  }
233
233
 
234
234
  function raiSetUserId(bid, eids, source, value) {
235
- if (utils.isStr(value)) {
235
+ if (isStr(value)) {
236
236
  eids.push({
237
237
  userId: value,
238
238
  source: source
@@ -1,5 +1,5 @@
1
+ import { logWarn, isArray, isFn, deepAccess, isEmpty, contains, timestamp, getBidIdParameter } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
- import * as utils from '../src/utils.js';
3
3
  import {VIDEO} from '../src/mediaTypes.js';
4
4
  import {config} from '../src/config.js';
5
5
 
@@ -25,12 +25,12 @@ export const spec = {
25
25
  supportedMediaTypes: SUPPORTED_AD_TYPES,
26
26
  isBidRequestValid: function(bidRequest) {
27
27
  if (!bidRequest.params) {
28
- utils.logWarn('no params have been set to Rise adapter');
28
+ logWarn('no params have been set to Rise adapter');
29
29
  return false;
30
30
  }
31
31
 
32
32
  if (!bidRequest.params.org) {
33
- utils.logWarn('org is a mandatory param for Rise adapter');
33
+ logWarn('org is a mandatory param for Rise adapter');
34
34
  return false;
35
35
  }
36
36
 
@@ -82,7 +82,7 @@ export const spec = {
82
82
  url: response.body.userSyncURL
83
83
  });
84
84
  }
85
- if (syncOptions.pixelEnabled && utils.isArray(response.body.userSyncPixels)) {
85
+ if (syncOptions.pixelEnabled && isArray(response.body.userSyncPixels)) {
86
86
  const pixels = response.body.userSyncPixels.map(pixel => {
87
87
  return {
88
88
  type: 'image',
@@ -104,7 +104,7 @@ registerBidder(spec);
104
104
  * @returns {Number}
105
105
  */
106
106
  function getFloor(bid) {
107
- if (!utils.isFn(bid.getFloor)) {
107
+ if (!isFn(bid.getFloor)) {
108
108
  return 0;
109
109
  }
110
110
  let floorResult = bid.getFloor({
@@ -137,7 +137,7 @@ function buildVideoRequest(bid, bidderRequest) {
137
137
  * @returns {Array}
138
138
  */
139
139
  function getSizes(bid) {
140
- if (utils.deepAccess(bid, 'mediaTypes.video.sizes')) {
140
+ if (deepAccess(bid, 'mediaTypes.video.sizes')) {
141
141
  return bid.mediaTypes.video.sizes[0];
142
142
  } else if (Array.isArray(bid.sizes) && bid.sizes.length > 0) {
143
143
  return bid.sizes[0];
@@ -151,7 +151,7 @@ function getSizes(bid) {
151
151
  * @returns {string}
152
152
  */
153
153
  function getSupplyChain(schainObject) {
154
- if (utils.isEmpty(schainObject)) {
154
+ if (isEmpty(schainObject)) {
155
155
  return '';
156
156
  }
157
157
  let scStr = `${schainObject.ver},${schainObject.complete}`;
@@ -173,7 +173,7 @@ function getSupplyChain(schainObject) {
173
173
  * @returns {string}
174
174
  */
175
175
  function getEncodedValIfNotEmpty(val) {
176
- return !utils.isEmpty(val) ? encodeURIComponent(val) : '';
176
+ return !isEmpty(val) ? encodeURIComponent(val) : '';
177
177
  }
178
178
 
179
179
  /**
@@ -203,8 +203,8 @@ function isSyncMethodAllowed(syncRule, bidderCode) {
203
203
  return false;
204
204
  }
205
205
  const isInclude = syncRule.filter === 'include';
206
- const bidders = utils.isArray(syncRule.bidders) ? syncRule.bidders : [bidderCode];
207
- return isInclude && utils.contains(bidders, bidderCode);
206
+ const bidders = isArray(syncRule.bidders) ? syncRule.bidders : [bidderCode];
207
+ return isInclude && contains(bidders, bidderCode);
208
208
  }
209
209
 
210
210
  /**
@@ -263,25 +263,25 @@ function generateParameters(bid, bidderRequest) {
263
263
  wrapper_vendor: '$$PREBID_GLOBAL$$',
264
264
  wrapper_version: '$prebid.version$',
265
265
  adapter_version: ADAPTER_VERSION,
266
- auction_start: utils.timestamp(),
267
- ad_unit_code: utils.getBidIdParameter('adUnitCode', bid),
266
+ auction_start: timestamp(),
267
+ ad_unit_code: getBidIdParameter('adUnitCode', bid),
268
268
  tmax: timeout,
269
269
  width: width,
270
270
  height: height,
271
271
  publisher_id: params.org,
272
272
  floor_price: Math.max(getFloor(bid), params.floorPrice),
273
273
  ua: navigator.userAgent,
274
- bid_id: utils.getBidIdParameter('bidId', bid),
275
- bidder_request_id: utils.getBidIdParameter('bidderRequestId', bid),
276
- transaction_id: utils.getBidIdParameter('transactionId', bid),
277
- session_id: utils.getBidIdParameter('auctionId', bid),
274
+ bid_id: getBidIdParameter('bidId', bid),
275
+ bidder_request_id: getBidIdParameter('bidderRequestId', bid),
276
+ transaction_id: getBidIdParameter('transactionId', bid),
277
+ session_id: getBidIdParameter('auctionId', bid),
278
278
  publisher_name: domain,
279
279
  site_domain: domain,
280
280
  dnt: (navigator.doNotTrack == 'yes' || navigator.doNotTrack == '1' || navigator.msDoNotTrack == '1') ? 1 : 0,
281
281
  device_type: getDeviceType(navigator.userAgent)
282
282
  };
283
283
 
284
- const userIdsParam = utils.getBidIdParameter('userId', bid);
284
+ const userIdsParam = getBidIdParameter('userId', bid);
285
285
  if (userIdsParam) {
286
286
  requestParams.userIds = JSON.stringify(userIdsParam);
287
287
  }
@@ -294,31 +294,31 @@ function generateParameters(bid, bidderRequest) {
294
294
  requestParams.user_metadata = JSON.stringify(ortb2Metadata.user);
295
295
  }
296
296
 
297
- const playbackMethod = utils.deepAccess(bid, 'mediaTypes.video.playbackmethod');
297
+ const playbackMethod = deepAccess(bid, 'mediaTypes.video.playbackmethod');
298
298
  if (playbackMethod) {
299
299
  requestParams.playback_method = playbackMethod;
300
300
  }
301
- const placement = utils.deepAccess(bid, 'mediaTypes.video.placement');
301
+ const placement = deepAccess(bid, 'mediaTypes.video.placement');
302
302
  if (placement) {
303
303
  requestParams.placement = placement;
304
304
  }
305
- const pos = utils.deepAccess(bid, 'mediaTypes.video.pos');
305
+ const pos = deepAccess(bid, 'mediaTypes.video.pos');
306
306
  if (pos) {
307
307
  requestParams.pos = pos;
308
308
  }
309
- const minduration = utils.deepAccess(bid, 'mediaTypes.video.minduration');
309
+ const minduration = deepAccess(bid, 'mediaTypes.video.minduration');
310
310
  if (minduration) {
311
311
  requestParams.min_duration = minduration;
312
312
  }
313
- const maxduration = utils.deepAccess(bid, 'mediaTypes.video.maxduration');
313
+ const maxduration = deepAccess(bid, 'mediaTypes.video.maxduration');
314
314
  if (maxduration) {
315
315
  requestParams.max_duration = maxduration;
316
316
  }
317
- const skip = utils.deepAccess(bid, 'mediaTypes.video.skip');
317
+ const skip = deepAccess(bid, 'mediaTypes.video.skip');
318
318
  if (skip) {
319
319
  requestParams.skip = skip;
320
320
  }
321
- const linearity = utils.deepAccess(bid, 'mediaTypes.video.linearity');
321
+ const linearity = deepAccess(bid, 'mediaTypes.video.linearity');
322
322
  if (linearity) {
323
323
  requestParams.linearity = linearity;
324
324
  }
@@ -352,8 +352,8 @@ function generateParameters(bid, bidderRequest) {
352
352
  }
353
353
 
354
354
  if (bidderRequest && bidderRequest.refererInfo) {
355
- requestParams.referrer = utils.deepAccess(bidderRequest, 'refererInfo.referer');
356
- requestParams.page_url = config.getConfig('pageUrl') || utils.deepAccess(window, 'location.href');
355
+ requestParams.referrer = deepAccess(bidderRequest, 'refererInfo.referer');
356
+ requestParams.page_url = config.getConfig('pageUrl') || deepAccess(window, 'location.href');
357
357
  }
358
358
 
359
359
  return requestParams;
@@ -13,7 +13,7 @@ Module that connects to Rise's demand sources.
13
13
 
14
14
  The Rise adapter requires setup and approval from the Rise. Please reach out to prebid-rise-engage@risecodes.com to create an Rise account.
15
15
 
16
- The adapter supports Video(instream). For the integration, Rise returns content as vastXML and requires the publisher to define the cache url in config passed to Prebid for it to be valid in the auction.
16
+ The adapter supports Video(instream).
17
17
 
18
18
  # Bid Parameters
19
19
  ## Video
@@ -22,7 +22,6 @@ The adapter supports Video(instream). For the integration, Rise returns content
22
22
  | ---- | ----- | ---- | ----------- | -------
23
23
  | `org` | required | String | Rise publisher Id provided by your Rise representative | "56f91cd4d3e3660002000033"
24
24
  | `floorPrice` | optional | Number | Minimum price in USD. Misuse of this parameter can impact revenue | 2.00
25
- | `ifa` | optional | String | The ID for advertisers (also referred to as "IDFA") | "XXX-XXX"
26
25
  | `placementId` | optional | String | A unique placement identifier | "12345678"
27
26
  | `testMode` | optional | Boolean | This activates the test mode | false
28
27
 
@@ -43,7 +42,6 @@ var adUnits = [
43
42
  params: {
44
43
  org: '56f91cd4d3e3660002000033', // Required
45
44
  floorPrice: 2.00, // Optional
46
- ifa: 'XXX-XXX', // Optional
47
45
  placementId: '12345678', // Optional
48
46
  testMode: false // Optional
49
47
  }