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,5 +1,5 @@
1
+ import { _each, deepAccess, logWarn, tryAppendQueryString, inIframe, getWindowTop, parseUrl, parseSizesInput, isFn, getDNT, deepSetValue } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
- import * as utils from '../src/utils.js';
3
3
  import {config} from '../src/config.js';
4
4
  import {BANNER, VIDEO} from '../src/mediaTypes.js';
5
5
  import {Renderer} from '../src/Renderer.js';
@@ -22,16 +22,16 @@ export const spec = {
22
22
  buildRequests: (validBidRequests, bidderRequest) => {
23
23
  let serverRequests = [];
24
24
 
25
- utils._each(validBidRequests, bidRequest => {
25
+ _each(validBidRequests, bidRequest => {
26
26
  const payload = createBasePayload(bidRequest, bidderRequest);
27
27
 
28
- const bannerParams = utils.deepAccess(bidRequest, 'mediaTypes.banner');
29
- const videoParams = utils.deepAccess(bidRequest, 'mediaTypes.video');
28
+ const bannerParams = deepAccess(bidRequest, 'mediaTypes.banner');
29
+ const videoParams = deepAccess(bidRequest, 'mediaTypes.video');
30
30
 
31
31
  let imp;
32
32
 
33
33
  if (bannerParams && videoParams) {
34
- utils.logWarn('Please note, multiple mediaTypes are not supported. The only banner will be used.')
34
+ logWarn('Please note, multiple mediaTypes are not supported. The only banner will be used.')
35
35
  }
36
36
 
37
37
  if (bannerParams) {
@@ -93,7 +93,7 @@ export const spec = {
93
93
  bid.ad = serverBid.adm;
94
94
  } else if (bid.mediaType === VIDEO) {
95
95
  bid.vastXml = serverBid.adm;
96
- if (utils.deepAccess(bidRequest, 'mediaTypes.video.context') === 'outstream') {
96
+ if (deepAccess(bidRequest, 'mediaTypes.video.context') === 'outstream') {
97
97
  bid.adResponse = {
98
98
  content: bid.vastXml,
99
99
  };
@@ -112,25 +112,25 @@ export const spec = {
112
112
  if (serverResponses && serverResponses.length !== 0) {
113
113
  let query = '';
114
114
  if (gdprConsent) {
115
- query = utils.tryAppendQueryString(query, 'gdpr', (gdprConsent.gdprApplies ? 1 : 0));
116
- query = utils.tryAppendQueryString(query, 'consents_str', gdprConsent.consentString);
115
+ query = tryAppendQueryString(query, 'gdpr', (gdprConsent.gdprApplies ? 1 : 0));
116
+ query = tryAppendQueryString(query, 'consents_str', gdprConsent.consentString);
117
117
  const consentsIds = getConsentsIds(gdprConsent);
118
118
  if (consentsIds) {
119
- query = utils.tryAppendQueryString(query, 'consents', consentsIds);
119
+ query = tryAppendQueryString(query, 'consents', consentsIds);
120
120
  }
121
121
  }
122
122
 
123
123
  if (uspConsent) {
124
- query = utils.tryAppendQueryString(query, 'us_privacy', uspConsent);
124
+ query = tryAppendQueryString(query, 'us_privacy', uspConsent);
125
125
  }
126
126
 
127
- utils._each(serverResponses, resp => {
128
- const userSyncs = utils.deepAccess(resp, 'body.ext.user_syncs');
127
+ _each(serverResponses, resp => {
128
+ const userSyncs = deepAccess(resp, 'body.ext.user_syncs');
129
129
  if (!userSyncs) {
130
130
  return;
131
131
  }
132
132
 
133
- utils._each(userSyncs, us => {
133
+ _each(userSyncs, us => {
134
134
  urls.push({
135
135
  type: us.type,
136
136
  url: us.url + (query ? '?' + query : '')
@@ -159,7 +159,7 @@ function createRenderer(bid, url) {
159
159
  id: bid.bidId,
160
160
  url: url,
161
161
  loaded: false,
162
- config: utils.deepAccess(bid, 'renderer.options'),
162
+ config: deepAccess(bid, 'renderer.options'),
163
163
  adUnitCode: bid.adUnitCode
164
164
  });
165
165
  renderer.setRender(outstreamRender);
@@ -172,16 +172,16 @@ function getUrlsInfo(bidderRequest) {
172
172
 
173
173
  const {refererInfo} = bidderRequest;
174
174
 
175
- if (utils.inIframe()) {
175
+ if (inIframe()) {
176
176
  page = refererInfo.referer;
177
177
  } else {
178
- const w = utils.getWindowTop();
178
+ const w = getWindowTop();
179
179
  page = w.location.href;
180
180
  referrer = w.document.referrer || '';
181
181
  }
182
182
 
183
183
  page = config.getConfig('pageUrl') || page;
184
- const url = utils.parseUrl(page);
184
+ const url = parseUrl(page);
185
185
  const domain = url.hostname;
186
186
 
187
187
  return {
@@ -192,7 +192,7 @@ function getUrlsInfo(bidderRequest) {
192
192
  }
193
193
 
194
194
  function getSize(paramSizes) {
195
- const parsedSizes = utils.parseSizesInput(paramSizes);
195
+ const parsedSizes = parseSizesInput(paramSizes);
196
196
  const sizes = parsedSizes.map(size => {
197
197
  const [width, height] = size.split('x');
198
198
  const w = parseInt(width, 10);
@@ -204,7 +204,7 @@ function getSize(paramSizes) {
204
204
  }
205
205
 
206
206
  function getBidFloor(bidRequest, size) {
207
- if (!utils.isFn(bidRequest.getFloor)) {
207
+ if (!isFn(bidRequest.getFloor)) {
208
208
  return null;
209
209
  }
210
210
 
@@ -245,7 +245,7 @@ function createBannerImp(bidRequest, bannerParams) {
245
245
  imp.banner = {
246
246
  w: size.w,
247
247
  h: size.h,
248
- topframe: utils.inIframe() ? 0 : 1
248
+ topframe: inIframe() ? 0 : 1
249
249
  }
250
250
 
251
251
  return imp;
@@ -284,7 +284,7 @@ function getEnpoint(bidRequest) {
284
284
  }
285
285
 
286
286
  function getConsentsIds(gdprConsent) {
287
- const consents = utils.deepAccess(gdprConsent, 'vendorData.purpose.consents', []);
287
+ const consents = deepAccess(gdprConsent, 'vendorData.purpose.consents', []);
288
288
  let consentsIds = [];
289
289
 
290
290
  Object.keys(consents).forEach(function (key) {
@@ -310,7 +310,7 @@ function createBasePayload(bidRequest, bidderRequest) {
310
310
  ref: urlsInfo.referrer
311
311
  },
312
312
  device: {
313
- dnt: utils.getDNT() ? 1 : 0,
313
+ dnt: getDNT() ? 1 : 0,
314
314
  h: window.innerHeight,
315
315
  w: window.innerWidth,
316
316
  },
@@ -320,29 +320,29 @@ function createBasePayload(bidRequest, bidderRequest) {
320
320
  };
321
321
 
322
322
  if (bidRequest.params.attr) {
323
- utils.deepSetValue(payload, 'site.ext.attr', bidRequest.params.attr);
323
+ deepSetValue(payload, 'site.ext.attr', bidRequest.params.attr);
324
324
  }
325
325
 
326
326
  if (bidderRequest.gdprConsent) {
327
- utils.deepSetValue(payload, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
327
+ deepSetValue(payload, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
328
328
  const consentsIds = getConsentsIds(bidderRequest.gdprConsent);
329
329
  if (consentsIds) {
330
- utils.deepSetValue(payload, 'user.ext.consents', consentsIds);
330
+ deepSetValue(payload, 'user.ext.consents', consentsIds);
331
331
  }
332
- utils.deepSetValue(payload, 'regs.ext.gdpr', bidderRequest.gdprConsent.gdprApplies & 1);
332
+ deepSetValue(payload, 'regs.ext.gdpr', bidderRequest.gdprConsent.gdprApplies & 1);
333
333
  }
334
334
 
335
335
  if (bidderRequest.uspConsent) {
336
- utils.deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent);
336
+ deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent);
337
337
  }
338
338
 
339
339
  if (config.getConfig('coppa')) {
340
- utils.deepSetValue(payload, 'regs.coppa', 1);
340
+ deepSetValue(payload, 'regs.coppa', 1);
341
341
  }
342
342
 
343
- const eids = utils.deepAccess(bidRequest, 'userIdAsEids');
343
+ const eids = deepAccess(bidRequest, 'userIdAsEids');
344
344
  if (eids && eids.length) {
345
- utils.deepSetValue(payload, 'user.ext.eids', eids);
345
+ deepSetValue(payload, 'user.ext.eids', eids);
346
346
  }
347
347
 
348
348
  return payload;
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js'
1
+ import { _map } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js'
3
3
  import { BANNER } from '../src/mediaTypes.js'
4
4
 
@@ -7,7 +7,7 @@ const SSP_ENDPOINT = 'https://ssp.astraone.io/auction/prebid';
7
7
  const TTL = 60;
8
8
 
9
9
  function buildBidRequests(validBidRequests) {
10
- return utils._map(validBidRequests, function(validBidRequest) {
10
+ return _map(validBidRequests, function(validBidRequest) {
11
11
  const params = validBidRequest.params;
12
12
  const bidRequest = {
13
13
  bidId: validBidRequest.bidId,
@@ -1,7 +1,7 @@
1
+ import { logError, logInfo } 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
- import * as utils from '../src/utils.js';
5
5
  import {ajax} from '../src/ajax.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
 
@@ -13,9 +13,6 @@ export const storage = getStorageManager();
13
13
  */
14
14
 
15
15
  const analyticsType = 'endpoint';
16
- // dev endpoints
17
- // const preflightUrl = 'https://analytics-check.publishersite.xyz/check/';
18
- // export const analyticsUrl = 'https://analyticsv2.publishersite.xyz';
19
16
 
20
17
  const preflightUrl = 'https://check.analytics.rlcdn.com/check/';
21
18
  export const analyticsUrl = 'https://analytics.rlcdn.com';
@@ -23,7 +20,7 @@ export const analyticsUrl = 'https://analytics.rlcdn.com';
23
20
  let handlerRequest = [];
24
21
  let handlerResponse = [];
25
22
 
26
- let atsAnalyticsAdapterVersion = 1;
23
+ let atsAnalyticsAdapterVersion = 2;
27
24
 
28
25
  let browsersList = [
29
26
  /* Googlebot */
@@ -207,12 +204,6 @@ let browsersList = [
207
204
  },
208
205
  ];
209
206
 
210
- function setSamplingCookie(samplRate) {
211
- let now = new Date();
212
- now.setTime(now.getTime() + 3600000);
213
- storage.setCookie('_lr_sampling_rate', samplRate, now.toUTCString());
214
- }
215
-
216
207
  let listOfSupportedBrowsers = ['Safari', 'Chrome', 'Firefox', 'Microsoft Edge'];
217
208
 
218
209
  function bidRequestedHandler(args) {
@@ -256,7 +247,7 @@ export function parseBrowser() {
256
247
  let browserName = result && result.length ? result[0].name : '';
257
248
  return (listOfSupportedBrowsers.indexOf(browserName) >= 0) ? browserName : 'Unknown';
258
249
  } catch (err) {
259
- utils.logError('ATS Analytics - Error while checking user browser!', err);
250
+ logError('ATS Analytics - Error while checking user browser!', err);
260
251
  }
261
252
  }
262
253
 
@@ -265,27 +256,34 @@ function sendDataToAnalytic () {
265
256
  try {
266
257
  let dataToSend = {'Data': atsAnalyticsAdapter.context.events};
267
258
  let strJSON = JSON.stringify(dataToSend);
268
- utils.logInfo('ATS Analytics - tried to send analytics data!');
259
+ logInfo('ATS Analytics - tried to send analytics data!');
269
260
  ajax(analyticsUrl, function () {
270
261
  }, strJSON, {method: 'POST', contentType: 'application/json'});
271
262
  } catch (err) {
272
- utils.logError('ATS Analytics - request encounter an error: ', err);
263
+ logError('ATS Analytics - request encounter an error: ', err);
273
264
  }
274
265
  }
275
266
 
276
267
  // preflight request, to check did publisher have permission to send data to analytics endpoint
277
268
  function preflightRequest (envelopeSourceCookieValue) {
278
- utils.logInfo('ATS Analytics - preflight request!');
279
- ajax(preflightUrl + atsAnalyticsAdapter.context.pid, function (data) {
280
- let samplingRateObject = JSON.parse(data);
281
- utils.logInfo('ATS Analytics - Sampling Rate: ', samplingRateObject);
282
- let samplingRate = samplingRateObject['samplingRate'];
283
- setSamplingCookie(samplingRate);
284
- let samplingRateNumber = Number(samplingRate);
285
- if (data && samplingRate && atsAnalyticsAdapter.shouldFireRequest(samplingRateNumber) && envelopeSourceCookieValue != null) {
286
- sendDataToAnalytic();
287
- }
288
- }, undefined, { method: 'GET', crossOrigin: true });
269
+ logInfo('ATS Analytics - preflight request!');
270
+ ajax(preflightUrl + atsAnalyticsAdapter.context.pid,
271
+ {
272
+ success: function (data) {
273
+ let samplingRateObject = JSON.parse(data);
274
+ logInfo('ATS Analytics - Sampling Rate: ', samplingRateObject);
275
+ let samplingRate = samplingRateObject.samplingRate;
276
+ atsAnalyticsAdapter.setSamplingCookie(samplingRate);
277
+ let samplingRateNumber = Number(samplingRate);
278
+ if (data && samplingRate && atsAnalyticsAdapter.shouldFireRequest(samplingRateNumber) && envelopeSourceCookieValue != null) {
279
+ sendDataToAnalytic();
280
+ }
281
+ },
282
+ error: function () {
283
+ atsAnalyticsAdapter.setSamplingCookie(0);
284
+ logInfo('ATS Analytics - Sampling Rate Request Error!');
285
+ }
286
+ }, undefined, {method: 'GET', crossOrigin: true});
289
287
  }
290
288
 
291
289
  function callHandler(evtype, args) {
@@ -332,7 +330,7 @@ let atsAnalyticsAdapter = Object.assign(adapter(
332
330
  }
333
331
  }
334
332
  } catch (err) {
335
- utils.logError('ATS Analytics - preflight request encounter an error: ', err);
333
+ logError('ATS Analytics - preflight request encounter an error: ', err);
336
334
  }
337
335
  }
338
336
  }
@@ -345,10 +343,10 @@ atsAnalyticsAdapter.originEnableAnalytics = atsAnalyticsAdapter.enableAnalytics;
345
343
  atsAnalyticsAdapter.shouldFireRequest = function (samplingRate) {
346
344
  if (samplingRate !== 0) {
347
345
  let shouldFireRequestValue = (Math.floor((Math.random() * 100 + 1)) === 100);
348
- utils.logInfo('ATS Analytics - Should Fire Request: ', shouldFireRequestValue);
346
+ logInfo('ATS Analytics - Should Fire Request: ', shouldFireRequestValue);
349
347
  return shouldFireRequestValue;
350
348
  } else {
351
- utils.logInfo('ATS Analytics - Should Fire Request: ', false);
349
+ logInfo('ATS Analytics - Should Fire Request: ', false);
352
350
  return false;
353
351
  }
354
352
  };
@@ -356,10 +354,17 @@ atsAnalyticsAdapter.shouldFireRequest = function (samplingRate) {
356
354
  atsAnalyticsAdapter.getUserAgent = function () {
357
355
  return window.navigator.userAgent;
358
356
  };
357
+
358
+ atsAnalyticsAdapter.setSamplingCookie = function (samplRate) {
359
+ const now = new Date();
360
+ now.setTime(now.getTime() + 86400000);
361
+ storage.setCookie('_lr_sampling_rate', samplRate, now.toUTCString());
362
+ }
363
+
359
364
  // override enableAnalytics so we can get access to the config passed in from the page
360
365
  atsAnalyticsAdapter.enableAnalytics = function (config) {
361
366
  if (!config.options.pid) {
362
- utils.logError('ATS Analytics - Publisher ID (pid) option is not defined. Analytics won\'t work');
367
+ logError('ATS Analytics - Publisher ID (pid) option is not defined. Analytics won\'t work');
363
368
  return;
364
369
  }
365
370
  atsAnalyticsAdapter.context = {
@@ -367,7 +372,7 @@ atsAnalyticsAdapter.enableAnalytics = function (config) {
367
372
  pid: config.options.pid
368
373
  };
369
374
  let initOptions = config.options;
370
- utils.logInfo('ATS Analytics - adapter enabled! ');
375
+ logInfo('ATS Analytics - adapter enabled! ');
371
376
  atsAnalyticsAdapter.originEnableAnalytics(initOptions); // call the base class function
372
377
  };
373
378
 
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepAccess, isFn, logError, getValue, getBidIdParameter, _each, isArray, triggerPixel } from '../src/utils.js';
2
2
  import { config } from '../src/config.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
4
  import { BANNER } from '../src/mediaTypes.js';
@@ -20,7 +20,7 @@ let requestedBids = [];
20
20
  function getPageUrl(bidderRequest) {
21
21
  return (
22
22
  config.getConfig('pageUrl') ||
23
- utils.deepAccess(bidderRequest, 'refererInfo.referer') ||
23
+ deepAccess(bidderRequest, 'refererInfo.referer') ||
24
24
  null
25
25
  );
26
26
  }
@@ -32,8 +32,8 @@ function getPageUrl(bidderRequest) {
32
32
  * @returns {number}
33
33
  */
34
34
  function getBidFloor(bid) {
35
- if (!utils.isFn(bid.getFloor)) {
36
- return utils.deepAccess(bid, 'params.bidfloor', 0);
35
+ if (!isFn(bid.getFloor)) {
36
+ return deepAccess(bid, 'params.bidfloor', 0);
37
37
  }
38
38
 
39
39
  try {
@@ -61,8 +61,8 @@ export const spec = {
61
61
  */
62
62
  isBidRequestValid: function (bid) {
63
63
  let isValid = true;
64
- if (!utils.deepAccess(bid, 'params.zoneId')) {
65
- utils.logError('AudienceRun zoneId parameter is required. Bid aborted.');
64
+ if (!deepAccess(bid, 'params.zoneId')) {
65
+ logError('AudienceRun zoneId parameter is required. Bid aborted.');
66
66
  isValid = false;
67
67
  }
68
68
  return isValid;
@@ -77,19 +77,19 @@ export const spec = {
77
77
  */
78
78
  buildRequests: function (bidRequests, bidderRequest) {
79
79
  const bids = bidRequests.map((bid) => {
80
- const sizes = utils.deepAccess(bid, 'mediaTypes.banner.sizes', []);
80
+ const sizes = deepAccess(bid, 'mediaTypes.banner.sizes', []);
81
81
  return {
82
- zoneId: utils.getValue(bid.params, 'zoneId'),
82
+ zoneId: getValue(bid.params, 'zoneId'),
83
83
  sizes: sizes.map((size) => ({
84
84
  w: size[0],
85
85
  h: size[1],
86
86
  })),
87
87
  bidfloor: getBidFloor(bid),
88
88
  bidId: bid.bidId,
89
- bidderRequestId: utils.getBidIdParameter('bidderRequestId', bid),
90
- adUnitCode: utils.getBidIdParameter('adUnitCode', bid),
91
- auctionId: utils.getBidIdParameter('auctionId', bid),
92
- transactionId: utils.getBidIdParameter('transactionId', bid),
89
+ bidderRequestId: getBidIdParameter('bidderRequestId', bid),
90
+ adUnitCode: getBidIdParameter('adUnitCode', bid),
91
+ auctionId: getBidIdParameter('auctionId', bid),
92
+ transactionId: getBidIdParameter('transactionId', bid),
93
93
  };
94
94
  });
95
95
 
@@ -133,7 +133,7 @@ export const spec = {
133
133
  */
134
134
  interpretResponse: function (serverResponse, bidRequest) {
135
135
  const bids = [];
136
- utils._each(serverResponse.body.bid, function (bidObject) {
136
+ _each(serverResponse.body.bid, function (bidObject) {
137
137
  if (!bidObject.cpm || bidObject.cpm === null || !bidObject.adm) {
138
138
  return;
139
139
  }
@@ -196,7 +196,7 @@ export const spec = {
196
196
  * @param {Array} timeoutData timeout specific data
197
197
  */
198
198
  onTimeout: function (timeoutData) {
199
- if (!utils.isArray(timeoutData)) {
199
+ if (!isArray(timeoutData)) {
200
200
  return;
201
201
  }
202
202
 
@@ -204,7 +204,7 @@ export const spec = {
204
204
  const bidOnTimeout = requestedBids.find((requestedBid) => requestedBid.bidId === bid.bidId);
205
205
 
206
206
  if (bidOnTimeout) {
207
- utils.triggerPixel(
207
+ triggerPixel(
208
208
  `${TIMEOUT_EVENT_URL}/${bidOnTimeout.zoneId}/${bidOnTimeout.bidId}`
209
209
  );
210
210
  }
@@ -1,5 +1,5 @@
1
+ import { logInfo } from '../src/utils.js';
1
2
  import {registerBidder} from '../src/adapters/bidderFactory.js'
2
- import * as utils from '../src/utils.js'
3
3
  import {BANNER} from '../src/mediaTypes.js'
4
4
  import {ajax} from '../src/ajax.js'
5
5
 
@@ -92,7 +92,7 @@ export const spec = {
92
92
  })
93
93
  })
94
94
  } else {
95
- utils.logInfo('automatad :: no valid responses to interpret')
95
+ logInfo('automatad :: no valid responses to interpret')
96
96
  }
97
97
 
98
98
  return bidResponses
@@ -1,7 +1,7 @@
1
+ import { isArray, logError, deepAccess, isEmpty, triggerPixel, replaceAuctionPrice } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
3
4
  import { config } from '../src/config.js';
4
- import * as utils from '../src/utils.js';
5
5
  import { ajax } from '../src/ajax.js';
6
6
 
7
7
  const BIDDER_CODE = 'axonix';
@@ -68,9 +68,9 @@ export const spec = {
68
68
  // video bid request validation
69
69
  if (bid.hasOwnProperty('mediaTypes') && bid.mediaTypes.hasOwnProperty(VIDEO)) {
70
70
  if (!bid.mediaTypes[VIDEO].hasOwnProperty('mimes') ||
71
- !utils.isArray(bid.mediaTypes[VIDEO].mimes) ||
71
+ !isArray(bid.mediaTypes[VIDEO].mimes) ||
72
72
  bid.mediaTypes[VIDEO].mimes.length === 0) {
73
- utils.logError('mimes are mandatory for video bid request. Ad Unit: ', JSON.stringify(bid));
73
+ logError('mimes are mandatory for video bid request. Ad Unit: ', JSON.stringify(bid));
74
74
 
75
75
  return false;
76
76
  }
@@ -142,7 +142,7 @@ export const spec = {
142
142
  interpretResponse: function(serverResponse) {
143
143
  const response = serverResponse ? serverResponse.body : [];
144
144
 
145
- if (!utils.isArray(response)) {
145
+ if (!isArray(response)) {
146
146
  return [];
147
147
  }
148
148
 
@@ -160,9 +160,9 @@ export const spec = {
160
160
  },
161
161
 
162
162
  onTimeout: function(timeoutData) {
163
- const params = utils.deepAccess(timeoutData, '0.params.0');
163
+ const params = deepAccess(timeoutData, '0.params.0');
164
164
 
165
- if (!utils.isEmpty(params)) {
165
+ if (!isEmpty(params)) {
166
166
  ajax(getURL(params, 'prebid/timeout'), null, timeoutData[0], {
167
167
  method: 'POST',
168
168
  options: {
@@ -177,7 +177,7 @@ export const spec = {
177
177
  const { nurl } = bid || {};
178
178
 
179
179
  if (bid.nurl) {
180
- utils.triggerPixel(utils.replaceAuctionPrice(nurl, bid.cpm));
180
+ triggerPixel(replaceAuctionPrice(nurl, bid.cpm));
181
181
  };
182
182
  }
183
183
  }
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { logWarn, deepAccess, isArray, parseSizesInput, isFn, parseUrl, getUniqueIdentifierStr } from '../src/utils.js';
2
2
  import { config } from '../src/config.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
4
  import { Renderer } from '../src/Renderer.js';
@@ -34,21 +34,21 @@ export const spec = {
34
34
  isBidRequestValid(bid) {
35
35
  if (isVideoBid(bid)) {
36
36
  if (!getVideoBidParam(bid, 'appId')) {
37
- utils.logWarn('Beachfront: appId param is required for video bids.');
37
+ logWarn('Beachfront: appId param is required for video bids.');
38
38
  return false;
39
39
  }
40
40
  if (!getVideoBidParam(bid, 'bidfloor')) {
41
- utils.logWarn('Beachfront: bidfloor param is required for video bids.');
41
+ logWarn('Beachfront: bidfloor param is required for video bids.');
42
42
  return false;
43
43
  }
44
44
  }
45
45
  if (isBannerBid(bid)) {
46
46
  if (!getBannerBidParam(bid, 'appId')) {
47
- utils.logWarn('Beachfront: appId param is required for banner bids.');
47
+ logWarn('Beachfront: appId param is required for banner bids.');
48
48
  return false;
49
49
  }
50
50
  if (!getBannerBidParam(bid, 'bidfloor')) {
51
- utils.logWarn('Beachfront: bidfloor param is required for banner bids.');
51
+ logWarn('Beachfront: bidfloor param is required for banner bids.');
52
52
  return false;
53
53
  }
54
54
  }
@@ -85,12 +85,12 @@ export const spec = {
85
85
 
86
86
  if (isVideoBid(bidRequest)) {
87
87
  if (!response || !response.bidPrice) {
88
- utils.logWarn(`No valid video bids from ${spec.code} bidder`);
88
+ logWarn(`No valid video bids from ${spec.code} bidder`);
89
89
  return [];
90
90
  }
91
91
  let sizes = getVideoSizes(bidRequest);
92
92
  let firstSize = getFirstSize(sizes);
93
- let context = utils.deepAccess(bidRequest, 'mediaTypes.video.context');
93
+ let context = deepAccess(bidRequest, 'mediaTypes.video.context');
94
94
  let responseType = getVideoBidParam(bidRequest, 'responseType') || 'both';
95
95
  let responseMeta = Object.assign({ mediaType: VIDEO, advertiserDomains: [] }, response.meta);
96
96
  let bidResponse = {
@@ -119,7 +119,7 @@ export const spec = {
119
119
  return bidResponse;
120
120
  } else {
121
121
  if (!response || !response.length) {
122
- utils.logWarn(`No valid banner bids from ${spec.code} bidder`);
122
+ logWarn(`No valid banner bids from ${spec.code} bidder`);
123
123
  return [];
124
124
  }
125
125
  return response
@@ -148,7 +148,7 @@ export const spec = {
148
148
  getUserSyncs(syncOptions, serverResponses = [], gdprConsent = {}, uspConsent = '') {
149
149
  let syncs = [];
150
150
  let { gdprApplies, consentString = '' } = gdprConsent;
151
- let bannerResponse = find(serverResponses, (res) => utils.isArray(res.body));
151
+ let bannerResponse = find(serverResponses, (res) => isArray(res.body));
152
152
 
153
153
  if (bannerResponse) {
154
154
  if (syncOptions.iframeEnabled) {
@@ -206,7 +206,7 @@ function getFirstSize(sizes) {
206
206
  }
207
207
 
208
208
  function parseSizes(sizes) {
209
- return utils.parseSizesInput(sizes).map(size => {
209
+ return parseSizesInput(sizes).map(size => {
210
210
  let [ width, height ] = size.split('x');
211
211
  return {
212
212
  w: parseInt(width, 10) || undefined,
@@ -216,11 +216,11 @@ function parseSizes(sizes) {
216
216
  }
217
217
 
218
218
  function getVideoSizes(bid) {
219
- return parseSizes(utils.deepAccess(bid, 'mediaTypes.video.playerSize') || bid.sizes);
219
+ return parseSizes(deepAccess(bid, 'mediaTypes.video.playerSize') || bid.sizes);
220
220
  }
221
221
 
222
222
  function getBannerSizes(bid) {
223
- return parseSizes(utils.deepAccess(bid, 'mediaTypes.banner.sizes') || bid.sizes);
223
+ return parseSizes(deepAccess(bid, 'mediaTypes.banner.sizes') || bid.sizes);
224
224
  }
225
225
 
226
226
  function getOsVersion() {
@@ -257,33 +257,33 @@ function getDoNotTrack() {
257
257
  }
258
258
 
259
259
  function isVideoBid(bid) {
260
- return utils.deepAccess(bid, 'mediaTypes.video');
260
+ return deepAccess(bid, 'mediaTypes.video');
261
261
  }
262
262
 
263
263
  function isBannerBid(bid) {
264
- return utils.deepAccess(bid, 'mediaTypes.banner') || !isVideoBid(bid);
264
+ return deepAccess(bid, 'mediaTypes.banner') || !isVideoBid(bid);
265
265
  }
266
266
 
267
267
  function getVideoBidParam(bid, key) {
268
- return utils.deepAccess(bid, 'params.video.' + key) || utils.deepAccess(bid, 'params.' + key);
268
+ return deepAccess(bid, 'params.video.' + key) || deepAccess(bid, 'params.' + key);
269
269
  }
270
270
 
271
271
  function getBannerBidParam(bid, key) {
272
- return utils.deepAccess(bid, 'params.banner.' + key) || utils.deepAccess(bid, 'params.' + key);
272
+ return deepAccess(bid, 'params.banner.' + key) || deepAccess(bid, 'params.' + key);
273
273
  }
274
274
 
275
275
  function getPlayerBidParam(bid, key, defaultValue) {
276
- let param = utils.deepAccess(bid, 'params.player.' + key);
276
+ let param = deepAccess(bid, 'params.player.' + key);
277
277
  return param === undefined ? defaultValue : param;
278
278
  }
279
279
 
280
280
  function getBannerBidFloor(bid) {
281
- let floorInfo = utils.isFn(bid.getFloor) ? bid.getFloor({ currency: CURRENCY, mediaType: 'banner', size: '*' }) : {};
281
+ let floorInfo = isFn(bid.getFloor) ? bid.getFloor({ currency: CURRENCY, mediaType: 'banner', size: '*' }) : {};
282
282
  return floorInfo.floor || getBannerBidParam(bid, 'bidfloor');
283
283
  }
284
284
 
285
285
  function getVideoBidFloor(bid) {
286
- let floorInfo = utils.isFn(bid.getFloor) ? bid.getFloor({ currency: CURRENCY, mediaType: 'video', size: '*' }) : {};
286
+ let floorInfo = isFn(bid.getFloor) ? bid.getFloor({ currency: CURRENCY, mediaType: 'video', size: '*' }) : {};
287
287
  return floorInfo.floor || getVideoBidParam(bid, 'bidfloor');
288
288
  }
289
289
 
@@ -297,7 +297,7 @@ function isBannerBidValid(bid) {
297
297
 
298
298
  function getTopWindowLocation(bidderRequest) {
299
299
  let url = bidderRequest && bidderRequest.refererInfo && bidderRequest.refererInfo.referer;
300
- return utils.parseUrl(config.getConfig('pageUrl') || url, { decodeSearchAsString: true });
300
+ return parseUrl(config.getConfig('pageUrl') || url, { decodeSearchAsString: true });
301
301
  }
302
302
 
303
303
  function getTopWindowReferrer() {
@@ -316,7 +316,7 @@ function getEids(bid) {
316
316
 
317
317
  function getUserId(bid) {
318
318
  return ({ key, source, rtiPartner, atype }) => {
319
- let id = utils.deepAccess(bid, `userId.${key}`);
319
+ let id = deepAccess(bid, `userId.${key}`);
320
320
  return id ? formatEid(id, source, rtiPartner, atype) : null;
321
321
  };
322
322
  }
@@ -364,7 +364,7 @@ function createVideoRequestData(bid, bidderRequest) {
364
364
  isPrebid: true,
365
365
  appId: appId,
366
366
  domain: document.location.hostname,
367
- id: utils.getUniqueIdentifierStr(),
367
+ id: getUniqueIdentifierStr(),
368
368
  imp: [{
369
369
  video: Object.assign({
370
370
  w: firstSize.w,
@@ -469,7 +469,7 @@ function createBannerRequestData(bids, bidderRequest) {
469
469
  }
470
470
 
471
471
  SUPPORTED_USER_IDS.forEach(({ key, queryParam }) => {
472
- let id = utils.deepAccess(bids, `0.userId.${key}`)
472
+ let id = deepAccess(bids, `0.userId.${key}`)
473
473
  if (id) {
474
474
  payload[queryParam] = id;
475
475
  }