prebid.js 5.14.0 → 5.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/.devcontainer/Dockerfile +11 -0
  2. package/.devcontainer/devcontainer.json +27 -0
  3. package/.devcontainer/postCreate.sh +6 -0
  4. package/allowedModules.js +2 -1
  5. package/integrationExamples/gpt/afpExample.html +242 -0
  6. package/integrationExamples/gpt/afpGamExample.html +152 -0
  7. package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
  8. package/modules/.submodules.json +29 -27
  9. package/modules/33acrossBidAdapter.js +23 -20
  10. package/modules/a4gBidAdapter.js +3 -3
  11. package/modules/ablidaBidAdapter.js +2 -2
  12. package/modules/adWMGBidAdapter.js +4 -4
  13. package/modules/adagioAnalyticsAdapter.js +4 -4
  14. package/modules/adagioBidAdapter.js +85 -82
  15. package/modules/adbookpspBidAdapter.js +56 -54
  16. package/modules/adfBidAdapter.js +24 -16
  17. package/modules/adgenerationBidAdapter.js +42 -18
  18. package/modules/adhashBidAdapter.js +105 -0
  19. package/modules/adhashBidAdapter.md +1 -1
  20. package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
  21. package/modules/adkernelAdnBidAdapter.js +23 -23
  22. package/modules/adkernelBidAdapter.js +49 -44
  23. package/modules/adlooxAdServerVideo.js +26 -26
  24. package/modules/adlooxAnalyticsAdapter.js +38 -35
  25. package/modules/adlooxRtdProvider.js +49 -46
  26. package/modules/admanBidAdapter.js +4 -4
  27. package/modules/admixerBidAdapter.js +13 -2
  28. package/modules/admixerIdSystem.js +4 -4
  29. package/modules/adnowBidAdapter.js +4 -4
  30. package/modules/adnuntiusBidAdapter.js +6 -5
  31. package/modules/adoceanBidAdapter.js +10 -10
  32. package/modules/adpartnerBidAdapter.js +3 -3
  33. package/modules/adpod.js +45 -42
  34. package/modules/adprimeBidAdapter.js +4 -4
  35. package/modules/adqueryBidAdapter.js +204 -0
  36. package/modules/adqueryBidAdapter.md +32 -0
  37. package/modules/adrelevantisBidAdapter.js +30 -27
  38. package/modules/adriverBidAdapter.js +13 -13
  39. package/modules/adtargetBidAdapter.js +24 -24
  40. package/modules/adtelligentBidAdapter.js +29 -29
  41. package/modules/adtrueBidAdapter.js +35 -35
  42. package/modules/aduptechBidAdapter.js +10 -10
  43. package/modules/advangelistsBidAdapter.js +14 -14
  44. package/modules/adxcgAnalyticsAdapter.js +5 -5
  45. package/modules/adxcgBidAdapter.js +56 -56
  46. package/modules/adxpremiumAnalyticsAdapter.js +17 -17
  47. package/modules/adyoulikeBidAdapter.js +11 -11
  48. package/modules/afpBidAdapter.js +166 -0
  49. package/modules/afpBidAdapter.md +348 -0
  50. package/modules/ajaBidAdapter.js +12 -12
  51. package/modules/akamaiDAPIdSystem.js +9 -9
  52. package/modules/aniviewBidAdapter.js +2 -2
  53. package/modules/aolBidAdapter.js +15 -14
  54. package/modules/apacdexBidAdapter.js +16 -16
  55. package/modules/appnexusBidAdapter.js +59 -59
  56. package/modules/apstreamBidAdapter.js +5 -5
  57. package/modules/asoBidAdapter.js +30 -30
  58. package/modules/astraoneBidAdapter.js +2 -2
  59. package/modules/atsAnalyticsAdapter.js +35 -30
  60. package/modules/audiencerunBidAdapter.js +15 -15
  61. package/modules/automatadBidAdapter.js +2 -2
  62. package/modules/axonixBidAdapter.js +7 -7
  63. package/modules/beachfrontBidAdapter.js +23 -23
  64. package/modules/beopBidAdapter.js +22 -22
  65. package/modules/bidViewabilityIO.js +7 -7
  66. package/modules/bidglassBidAdapter.js +8 -8
  67. package/modules/bidscubeBidAdapter.js +3 -3
  68. package/modules/bizzclickBidAdapter.js +10 -10
  69. package/modules/bliinkBidAdapter.js +58 -32
  70. package/modules/bliinkBidAdapter.md +29 -6
  71. package/modules/bluebillywigBidAdapter.js +30 -30
  72. package/modules/boldwinBidAdapter.js +4 -4
  73. package/modules/braveBidAdapter.js +5 -5
  74. package/modules/bridgewellBidAdapter.js +5 -5
  75. package/modules/brightMountainMediaBidAdapter.js +10 -10
  76. package/modules/brightcomBidAdapter.js +18 -18
  77. package/modules/britepoolIdSystem.js +7 -7
  78. package/modules/browsiRtdProvider.js +8 -8
  79. package/modules/bucksenseBidAdapter.js +9 -9
  80. package/modules/buzzoolaBidAdapter.js +4 -4
  81. package/modules/byDataAnalyticsAdapter.js +12 -12
  82. package/modules/ccxBidAdapter.js +38 -38
  83. package/modules/cleanmedianetBidAdapter.js +9 -9
  84. package/modules/clickforceBidAdapter.js +4 -4
  85. package/modules/cointrafficBidAdapter.js +4 -4
  86. package/modules/coinzillaBidAdapter.js +2 -2
  87. package/modules/colossussspBidAdapter.js +7 -3
  88. package/modules/concertAnalyticsAdapter.js +3 -3
  89. package/modules/concertBidAdapter.js +16 -17
  90. package/modules/connectadBidAdapter.js +13 -13
  91. package/modules/consentManagement.js +29 -28
  92. package/modules/consentManagementUsp.js +14 -14
  93. package/modules/consumableBidAdapter.js +3 -3
  94. package/modules/contentexchangeBidAdapter.js +5 -5
  95. package/modules/conversantBidAdapter.js +32 -31
  96. package/modules/cpmstarBidAdapter.js +8 -9
  97. package/modules/craftBidAdapter.js +10 -10
  98. package/modules/criteoBidAdapter.js +16 -16
  99. package/modules/criteoIdSystem.js +5 -5
  100. package/modules/currency.js +18 -18
  101. package/modules/cwireBidAdapter.js +272 -0
  102. package/modules/cwireBidAdapter.md +43 -0
  103. package/modules/datablocksBidAdapter.js +12 -12
  104. package/modules/deepintentBidAdapter.js +13 -13
  105. package/modules/dgkeywordRtdProvider.js +10 -11
  106. package/modules/districtmDMXBidAdapter.js +15 -15
  107. package/modules/dmdIdSystem.js +5 -5
  108. package/modules/docereeBidAdapter.js +9 -9
  109. package/modules/dspxBidAdapter.js +5 -5
  110. package/modules/ebdrBidAdapter.js +9 -9
  111. package/modules/emx_digitalBidAdapter.js +23 -23
  112. package/modules/enrichmentFpdModule.js +10 -9
  113. package/modules/eplanningAnalyticsAdapter.js +2 -2
  114. package/modules/eplanningBidAdapter.js +10 -10
  115. package/modules/etargetBidAdapter.js +4 -4
  116. package/modules/express.js +9 -10
  117. package/modules/fabrickIdSystem.js +6 -6
  118. package/modules/feedadBidAdapter.js +5 -5
  119. package/modules/fintezaAnalyticsAdapter.js +4 -4
  120. package/modules/flocIdSystem.js +5 -5
  121. package/modules/fluctBidAdapter.js +6 -5
  122. package/modules/freewheel-sspBidAdapter.js +6 -6
  123. package/modules/gamoshiBidAdapter.js +22 -22
  124. package/modules/gdprEnforcement.js +13 -14
  125. package/modules/getintentBidAdapter.js +3 -4
  126. package/modules/glimpseBidAdapter.js +160 -48
  127. package/modules/glimpseBidAdapter.md +11 -74
  128. package/modules/gmosspBidAdapter.js +17 -17
  129. package/modules/gnetBidAdapter.js +5 -5
  130. package/modules/googleAnalyticsAdapter.js +6 -6
  131. package/modules/gothamadsBidAdapter.js +9 -9
  132. package/modules/gptPreAuction.js +7 -7
  133. package/modules/gridBidAdapter.js +15 -16
  134. package/modules/gridNMBidAdapter.js +214 -63
  135. package/modules/growadvertisingBidAdapter.js +7 -8
  136. package/modules/gumgumBidAdapter.js +19 -13
  137. package/modules/h12mediaBidAdapter.js +12 -12
  138. package/modules/haloIdSystem.js +8 -8
  139. package/modules/hybridBidAdapter.js +7 -7
  140. package/modules/iasRtdProvider.js +79 -63
  141. package/modules/id5IdSystem.js +24 -24
  142. package/modules/idImportLibrary.js +35 -35
  143. package/modules/idxIdSystem.js +3 -3
  144. package/modules/impactifyBidAdapter.js +10 -10
  145. package/modules/improvedigitalBidAdapter.js +36 -36
  146. package/modules/imuIdSystem.js +6 -6
  147. package/modules/inmarBidAdapter.js +2 -2
  148. package/modules/innityBidAdapter.js +3 -3
  149. package/modules/inskinBidAdapter.js +14 -2
  150. package/modules/inskinBidAdapter.md +5 -4
  151. package/modules/instreamTracking.js +5 -5
  152. package/modules/integr8BidAdapter.js +4 -4
  153. package/modules/intentIqIdSystem.js +7 -7
  154. package/modules/interactiveOffersBidAdapter.js +5 -5
  155. package/modules/invibesBidAdapter.js +53 -19
  156. package/modules/invisiblyAnalyticsAdapter.js +5 -5
  157. package/modules/iqmBidAdapter.js +19 -19
  158. package/modules/iqzoneBidAdapter.js +5 -5
  159. package/modules/ixBidAdapter.js +73 -73
  160. package/modules/jixieBidAdapter.js +6 -6
  161. package/modules/justpremiumBidAdapter.js +5 -1
  162. package/modules/kargoBidAdapter.js +16 -9
  163. package/modules/kargoBidAdapter.md +20 -0
  164. package/modules/kinessoIdSystem.js +8 -8
  165. package/modules/koblerBidAdapter.js +12 -12
  166. package/modules/konduitAnalyticsAdapter.js +4 -4
  167. package/modules/konduitWrapper.js +14 -14
  168. package/modules/krushmediaBidAdapter.js +4 -4
  169. package/modules/kubientBidAdapter.js +5 -5
  170. package/modules/limelightDigitalBidAdapter.js +4 -4
  171. package/modules/liveIntentIdSystem.js +4 -5
  172. package/modules/livewrappedAnalyticsAdapter.js +27 -15
  173. package/modules/livewrappedBidAdapter.js +7 -7
  174. package/modules/liveyieldAnalyticsAdapter.js +13 -13
  175. package/modules/lockerdomeBidAdapter.js +2 -2
  176. package/modules/loganBidAdapter.js +4 -4
  177. package/modules/lotamePanoramaIdSystem.js +13 -13
  178. package/modules/lunamediahbBidAdapter.js +2 -2
  179. package/modules/madvertiseBidAdapter.js +3 -3
  180. package/modules/marsmediaBidAdapter.js +26 -26
  181. package/modules/mathildeadsBidAdapter.js +5 -5
  182. package/modules/mediaforceBidAdapter.js +11 -11
  183. package/modules/mediakeysBidAdapter.js +444 -53
  184. package/modules/mediakeysBidAdapter.md +108 -0
  185. package/modules/medianetAnalyticsAdapter.js +48 -125
  186. package/modules/medianetBidAdapter.js +38 -33
  187. package/modules/medianetRtdProvider.js +7 -7
  188. package/modules/merkleIdSystem.js +19 -19
  189. package/modules/mgidBidAdapter.js +50 -50
  190. package/modules/microadBidAdapter.js +3 -3
  191. package/modules/multibid/index.js +15 -13
  192. package/modules/mwOpenLinkIdSystem.js +7 -7
  193. package/modules/mytargetBidAdapter.js +112 -0
  194. package/modules/nativoBidAdapter.js +46 -31
  195. package/modules/nativoBidAdapter.md +0 -1
  196. package/modules/naveggIdSystem.js +3 -3
  197. package/modules/nextMillenniumBidAdapter.js +6 -6
  198. package/modules/nextrollBidAdapter.js +375 -0
  199. package/modules/nobidBidAdapter.js +12 -11
  200. package/modules/novatiqIdSystem.js +8 -8
  201. package/modules/oguryBidAdapter.js +22 -6
  202. package/modules/oneVideoBidAdapter.js +20 -20
  203. package/modules/onomagicBidAdapter.js +16 -16
  204. package/modules/ooloAnalyticsAdapter.js +13 -13
  205. package/modules/openwebBidAdapter.js +26 -26
  206. package/modules/openxAnalyticsAdapter.js +33 -33
  207. package/modules/openxBidAdapter.js +29 -29
  208. package/modules/operaadsBidAdapter.js +53 -53
  209. package/modules/optimeraRtdProvider.js +9 -9
  210. package/modules/optoutBidAdapter.js +3 -3
  211. package/modules/orbidderBidAdapter.js +3 -3
  212. package/modules/outbrainBidAdapter.js +13 -13
  213. package/modules/ozoneBidAdapter.js +131 -131
  214. package/modules/padsquadBidAdapter.js +4 -4
  215. package/modules/parrableIdSystem.js +17 -17
  216. package/modules/pixfutureBidAdapter.js +45 -25
  217. package/modules/pixfutureBidAdapter.md +127 -0
  218. package/modules/prebidServerBidAdapter/index.js +109 -105
  219. package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
  220. package/modules/priceFloors.js +47 -47
  221. package/modules/proxistoreBidAdapter.js +6 -8
  222. package/modules/pubCommonId.js +11 -11
  223. package/modules/pubProvidedIdSystem.js +3 -3
  224. package/modules/publinkIdSystem.js +23 -7
  225. package/modules/publinkIdSystem.md +7 -2
  226. package/modules/pubmaticAnalyticsAdapter.js +16 -16
  227. package/modules/pubmaticBidAdapter.js +109 -93
  228. package/modules/pubmaticBidAdapter.md +1 -1
  229. package/modules/pubperfAnalyticsAdapter.js +3 -3
  230. package/modules/pubwiseAnalyticsAdapter.js +6 -6
  231. package/modules/pubwiseBidAdapter.js +23 -23
  232. package/modules/pubxBidAdapter.js +2 -2
  233. package/modules/pubxaiAnalyticsAdapter.js +7 -7
  234. package/modules/pulsepointBidAdapter.js +13 -13
  235. package/modules/pxyzBidAdapter.js +7 -7
  236. package/modules/quantcastBidAdapter.js +16 -16
  237. package/modules/radsBidAdapter.js +5 -5
  238. package/modules/realvuAnalyticsAdapter.js +5 -7
  239. package/modules/reconciliationRtdProvider.js +6 -6
  240. package/modules/relaidoBidAdapter.js +44 -38
  241. package/modules/resetdigitalBidAdapter.js +3 -4
  242. package/modules/revcontentBidAdapter.js +9 -9
  243. package/modules/rhythmoneBidAdapter.js +17 -16
  244. package/modules/richaudienceBidAdapter.js +9 -9
  245. package/modules/riseBidAdapter.js +26 -26
  246. package/modules/riseBidAdapter.md +1 -3
  247. package/modules/roxotAnalyticsAdapter.js +14 -14
  248. package/modules/rtbhouseBidAdapter.js +7 -7
  249. package/modules/rtbsapeBidAdapter.js +3 -4
  250. package/modules/rtdModule/index.js +3 -3
  251. package/modules/rubiconAnalyticsAdapter.js +82 -82
  252. package/modules/rubiconBidAdapter.js +72 -68
  253. package/modules/scaleableAnalyticsAdapter.js +2 -2
  254. package/modules/seedingAllianceBidAdapter.js +231 -0
  255. package/modules/seedtagBidAdapter.js +10 -10
  256. package/modules/sharedIdSystem.js +11 -11
  257. package/modules/sharethroughAnalyticsAdapter.js +8 -8
  258. package/modules/sharethroughBidAdapter.js +20 -27
  259. package/modules/showheroes-bsBidAdapter.js +23 -23
  260. package/modules/sigmoidAnalyticsAdapter.js +4 -5
  261. package/modules/sirdataRtdProvider.js +34 -34
  262. package/modules/sizeMappingV2.js +39 -39
  263. package/modules/slimcutBidAdapter.js +121 -0
  264. package/modules/smaatoBidAdapter.js +44 -44
  265. package/modules/smartadserverBidAdapter.js +7 -7
  266. package/modules/smartxBidAdapter.js +72 -72
  267. package/modules/smartyadsBidAdapter.js +2 -2
  268. package/modules/smilewantedBidAdapter.js +6 -6
  269. package/modules/sonobiAnalyticsAdapter.js +23 -23
  270. package/modules/sortableAnalyticsAdapter.js +5 -5
  271. package/modules/sortableBidAdapter.js +28 -28
  272. package/modules/sovrnAnalyticsAdapter.js +5 -5
  273. package/modules/sovrnBidAdapter.js +22 -22
  274. package/modules/spotxBidAdapter.js +97 -83
  275. package/modules/sspBCBidAdapter.js +216 -21
  276. package/modules/sspBCBidAdapter.md +1 -1
  277. package/modules/staqAnalyticsAdapter.js +9 -9
  278. package/modules/stroeerCoreBidAdapter.js +16 -16
  279. package/modules/sublimeBidAdapter.js +6 -6
  280. package/modules/talkadsBidAdapter.js +129 -0
  281. package/modules/talkadsBidAdapter.md +60 -0
  282. package/modules/tapadIdSystem.js +3 -3
  283. package/modules/tappxBidAdapter.js +63 -64
  284. package/modules/teadsBidAdapter.js +20 -20
  285. package/modules/telariaBidAdapter.js +17 -17
  286. package/modules/temedyaBidAdapter.js +4 -4
  287. package/modules/terceptAnalyticsAdapter.js +4 -4
  288. package/modules/theAdxBidAdapter.js +16 -16
  289. package/modules/timeoutRtdProvider.js +15 -15
  290. package/modules/tpmnBidAdapter.js +3 -3
  291. package/modules/trionBidAdapter.js +15 -15
  292. package/modules/tripleliftBidAdapter.js +27 -24
  293. package/modules/truereachBidAdapter.js +4 -4
  294. package/modules/trustxBidAdapter.js +22 -18
  295. package/modules/ucfunnelBidAdapter.js +3 -3
  296. package/modules/uid2IdSystem.js +6 -6
  297. package/modules/underdogmediaBidAdapter.js +4 -4
  298. package/modules/unicornBidAdapter.js +15 -15
  299. package/modules/unifiedIdSystem.js +4 -4
  300. package/modules/unrulyBidAdapter.js +16 -16
  301. package/modules/userId/eids.js +9 -9
  302. package/modules/userId/index.js +37 -35
  303. package/modules/validationFpdModule/index.js +15 -15
  304. package/modules/vdoaiBidAdapter.js +2 -2
  305. package/modules/verizonMediaIdSystem.js +5 -5
  306. package/modules/vidazooBidAdapter.js +5 -5
  307. package/modules/videobyteBidAdapter.js +24 -24
  308. package/modules/videoreachBidAdapter.js +7 -7
  309. package/modules/vidoomyBidAdapter.js +105 -22
  310. package/modules/viewdeosDXBidAdapter.js +17 -17
  311. package/modules/visxBidAdapter.js +21 -29
  312. package/modules/voxBidAdapter.js +7 -7
  313. package/modules/vuukleBidAdapter.js +2 -2
  314. package/modules/waardexBidAdapter.js +26 -26
  315. package/modules/weboramaRtdProvider.js +174 -0
  316. package/modules/weboramaRtdProvider.md +70 -0
  317. package/modules/winrBidAdapter.js +27 -27
  318. package/modules/wipesBidAdapter.js +2 -2
  319. package/modules/yahoosspBidAdapter.js +637 -0
  320. package/modules/yahoosspBidAdapter.md +795 -0
  321. package/modules/yieldlabBidAdapter.js +57 -12
  322. package/modules/yieldlabBidAdapter.md +16 -1
  323. package/modules/yieldliftBidAdapter.js +9 -9
  324. package/modules/yieldmoBidAdapter.js +64 -50
  325. package/modules/yieldoneAnalyticsAdapter.js +6 -6
  326. package/modules/yieldoneBidAdapter.js +11 -11
  327. package/modules/yuktamediaAnalyticsAdapter.js +15 -15
  328. package/modules/zeotapIdPlusIdSystem.js +2 -2
  329. package/modules/zetaBidAdapter.js +6 -6
  330. package/modules/zeta_global_sspBidAdapter.js +14 -14
  331. package/package.json +1 -1
  332. package/src/AnalyticsAdapter.js +6 -6
  333. package/src/Renderer.js +10 -8
  334. package/src/adapterManager.js +45 -42
  335. package/src/adloader.js +6 -6
  336. package/src/ajax.js +8 -9
  337. package/src/auction.js +26 -23
  338. package/src/bidfactory.js +2 -2
  339. package/src/config.js +52 -50
  340. package/src/cpmBucketManager.js +2 -2
  341. package/src/prebid.js +85 -81
  342. package/src/storageManager.js +5 -5
  343. package/src/targeting.js +25 -26
  344. package/src/userSync.js +35 -22
  345. package/src/videoCache.js +2 -2
  346. package/test/.eslintrc.js +2 -1
  347. package/test/spec/modules/adfBidAdapter_spec.js +55 -0
  348. package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
  349. package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
  351. package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
  352. package/test/spec/modules/afpBidAdapter_spec.js +306 -0
  353. package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
  354. package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
  355. package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
  356. package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
  357. package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
  358. package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
  359. package/test/spec/modules/gridBidAdapter_spec.js +38 -2
  360. package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
  361. package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
  362. package/test/spec/modules/iasRtdProvider_spec.js +71 -6
  363. package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
  364. package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
  365. package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
  366. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
  367. package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
  368. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
  369. package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
  370. package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
  371. package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
  372. package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
  373. package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
  374. package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
  375. package/test/spec/modules/publinkIdSystem_spec.js +42 -12
  376. package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
  377. package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
  378. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
  379. package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
  380. package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
  381. package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
  382. package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
  383. package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
  384. package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
  385. package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
  386. package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
  387. package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
  388. package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
  389. package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
  390. package/test/spec/modules/visxBidAdapter_spec.js +48 -4
  391. package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
  392. package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
  393. package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
  394. package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
  395. package/test/spec/unit/pbjs_api_spec.js +4 -0
  396. package/test/spec/userSync_spec.js +30 -2
  397. package/modules/turktelekomBidAdapter.md +0 -49
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepAccess, isPlainObject, isArray, replaceAuctionPrice, isFn } from '../src/utils.js';
2
2
  import { config } from '../src/config.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
4
  const BIDDER_CODE = 'apacdex';
@@ -32,16 +32,16 @@ export const spec = {
32
32
  if (!bid.params.siteId && !bid.params.placementId) {
33
33
  return false;
34
34
  }
35
- if (!utils.deepAccess(bid, 'mediaTypes.banner') && !utils.deepAccess(bid, 'mediaTypes.video')) {
35
+ if (!deepAccess(bid, 'mediaTypes.banner') && !deepAccess(bid, 'mediaTypes.video')) {
36
36
  return false;
37
37
  }
38
- if (utils.deepAccess(bid, 'mediaTypes.banner')) { // Not support multi type bids, favor banner over video
39
- if (!utils.deepAccess(bid, 'mediaTypes.banner.sizes')) {
38
+ if (deepAccess(bid, 'mediaTypes.banner')) { // Not support multi type bids, favor banner over video
39
+ if (!deepAccess(bid, 'mediaTypes.banner.sizes')) {
40
40
  // sizes at the banner is required.
41
41
  return false;
42
42
  }
43
- } else if (utils.deepAccess(bid, 'mediaTypes.video')) {
44
- if (!utils.deepAccess(bid, 'mediaTypes.video.playerSize')) {
43
+ } else if (deepAccess(bid, 'mediaTypes.video')) {
44
+ if (!deepAccess(bid, 'mediaTypes.video.playerSize')) {
45
45
  // playerSize is required for instream adUnits.
46
46
  return false;
47
47
  }
@@ -170,12 +170,12 @@ export const spec = {
170
170
  },
171
171
  interpretResponse: function (serverResponse, bidRequest) {
172
172
  const serverBody = serverResponse.body;
173
- if (!serverBody || !utils.isPlainObject(serverBody)) {
173
+ if (!serverBody || !isPlainObject(serverBody)) {
174
174
  return [];
175
175
  }
176
176
 
177
177
  const serverBids = serverBody.bids;
178
- if (!serverBids || !utils.isArray(serverBids)) {
178
+ if (!serverBids || !isArray(serverBids)) {
179
179
  return [];
180
180
  }
181
181
 
@@ -197,12 +197,12 @@ export const spec = {
197
197
  bidResponse.dealId = dealId;
198
198
  }
199
199
  if (bid.vastXml) {
200
- bidResponse.vastXml = utils.replaceAuctionPrice(bid.vastXml, bid.cpm);
200
+ bidResponse.vastXml = replaceAuctionPrice(bid.vastXml, bid.cpm);
201
201
  } else {
202
- bidResponse.ad = utils.replaceAuctionPrice(bid.ad, bid.cpm);
202
+ bidResponse.ad = replaceAuctionPrice(bid.ad, bid.cpm);
203
203
  }
204
204
  bidResponse.meta = {};
205
- if (bid.meta && bid.meta.advertiserDomains && utils.isArray(bid.meta.advertiserDomains)) {
205
+ if (bid.meta && bid.meta.advertiserDomains && isArray(bid.meta.advertiserDomains)) {
206
206
  bidResponse.meta.advertiserDomains = bid.meta.advertiserDomains;
207
207
  }
208
208
  bidResponses.push(bidResponse);
@@ -285,7 +285,7 @@ function _extractTopWindowUrlFromBidderRequest(bidderRequest) {
285
285
  if (config.getConfig('pageUrl')) {
286
286
  return config.getConfig('pageUrl');
287
287
  }
288
- if (utils.deepAccess(bidderRequest, 'refererInfo.referer')) {
288
+ if (deepAccess(bidderRequest, 'refererInfo.referer')) {
289
289
  return bidderRequest.refererInfo.referer;
290
290
  }
291
291
 
@@ -303,7 +303,7 @@ function _extractTopWindowUrlFromBidderRequest(bidderRequest) {
303
303
  * @returns {string}
304
304
  */
305
305
  function _extractTopWindowReferrerFromBidderRequest(bidderRequest) {
306
- if (bidderRequest && utils.deepAccess(bidderRequest, 'refererInfo.referer')) {
306
+ if (bidderRequest && deepAccess(bidderRequest, 'refererInfo.referer')) {
307
307
  return bidderRequest.refererInfo.referer;
308
308
  }
309
309
 
@@ -340,7 +340,7 @@ export function getDomain(pageUrl) {
340
340
  * @returns {boolean}
341
341
  */
342
342
  export function validateGeoObject(geo) {
343
- if (!utils.isPlainObject(geo)) {
343
+ if (!isPlainObject(geo)) {
344
344
  return false;
345
345
  }
346
346
  if (!geo.lat) {
@@ -362,7 +362,7 @@ export function validateGeoObject(geo) {
362
362
  * @returns {float||null}
363
363
  */
364
364
  function getBidFloor(bid) {
365
- if (!utils.isFn(bid.getFloor)) {
365
+ if (!isFn(bid.getFloor)) {
366
366
  return (bid.params.floorPrice) ? bid.params.floorPrice : null;
367
367
  }
368
368
 
@@ -371,7 +371,7 @@ function getBidFloor(bid) {
371
371
  mediaType: '*',
372
372
  size: '*'
373
373
  });
374
- if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
374
+ if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
375
375
  return floor.floor;
376
376
  }
377
377
  return null;
@@ -1,5 +1,5 @@
1
+ import { convertCamelToUnderscore, isArray, isNumber, isPlainObject, logError, logInfo, deepAccess, logMessage, convertTypes, isStr, getParameterByName, deepClone, chunk, logWarn, getBidRequest, createTrackPixelHtml, isEmpty, transformBidderParamKeywords, getMaxValueFromArray, fill, getMinValueFromArray, isArrayOfNums, isFn } from '../src/utils.js';
1
2
  import { Renderer } from '../src/Renderer.js';
2
- import * as utils from '../src/utils.js';
3
3
  import { config } from '../src/config.js';
4
4
  import { registerBidder, getIabSubCategory } from '../src/adapters/bidderFactory.js';
5
5
  import { BANNER, NATIVE, VIDEO, ADPOD } from '../src/mediaTypes.js';
@@ -109,13 +109,13 @@ export const spec = {
109
109
  Object.keys(userObjBid.params.user)
110
110
  .filter(param => includes(USER_PARAMS, param))
111
111
  .forEach((param) => {
112
- let uparam = utils.convertCamelToUnderscore(param);
113
- if (param === 'segments' && utils.isArray(userObjBid.params.user[param])) {
112
+ let uparam = convertCamelToUnderscore(param);
113
+ if (param === 'segments' && isArray(userObjBid.params.user[param])) {
114
114
  let segs = [];
115
115
  userObjBid.params.user[param].forEach(val => {
116
- if (utils.isNumber(val)) {
116
+ if (isNumber(val)) {
117
117
  segs.push({'id': val});
118
- } else if (utils.isPlainObject(val)) {
118
+ } else if (isPlainObject(val)) {
119
119
  segs.push(val);
120
120
  }
121
121
  });
@@ -152,7 +152,7 @@ export const spec = {
152
152
  try {
153
153
  debugObj = JSON.parse(debugCookie);
154
154
  } catch (e) {
155
- utils.logError('AppNexus Debug Auction Cookie Error:\n\n' + e);
155
+ logError('AppNexus Debug Auction Cookie Error:\n\n' + e);
156
156
  }
157
157
  } else {
158
158
  const debugBidRequest = find(bidRequests, hasDebug);
@@ -208,7 +208,7 @@ export const spec = {
208
208
 
209
209
  if (debugObjParams.enabled) {
210
210
  payload.debug = debugObjParams;
211
- utils.logInfo('AppNexus Debug Auction Settings:\n\n' + JSON.stringify(debugObjParams, null, 4));
211
+ logInfo('AppNexus Debug Auction Settings:\n\n' + JSON.stringify(debugObjParams, null, 4));
212
212
  }
213
213
 
214
214
  if (bidderRequest && bidderRequest.gdprConsent) {
@@ -253,12 +253,12 @@ export const spec = {
253
253
  if (bidRequests[0].userId) {
254
254
  let eids = [];
255
255
 
256
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.flocId.id`), 'chrome.com', null);
257
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.criteoId`), 'criteo.com', null);
258
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.netId`), 'netid.de', null);
259
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.idl_env`), 'liveramp.com', null);
260
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.tdid`), 'adserver.org', 'TDID');
261
- addUserId(eids, utils.deepAccess(bidRequests[0], `userId.uid2.id`), 'uidapi.com', 'UID2');
256
+ addUserId(eids, deepAccess(bidRequests[0], `userId.flocId.id`), 'chrome.com', null);
257
+ addUserId(eids, deepAccess(bidRequests[0], `userId.criteoId`), 'criteo.com', null);
258
+ addUserId(eids, deepAccess(bidRequests[0], `userId.netId`), 'netid.de', null);
259
+ addUserId(eids, deepAccess(bidRequests[0], `userId.idl_env`), 'liveramp.com', null);
260
+ addUserId(eids, deepAccess(bidRequests[0], `userId.tdid`), 'adserver.org', 'TDID');
261
+ addUserId(eids, deepAccess(bidRequests[0], `userId.uid2.id`), 'uidapi.com', 'UID2');
262
262
 
263
263
  if (eids.length) {
264
264
  payload.eids = eids;
@@ -285,7 +285,7 @@ export const spec = {
285
285
  if (!serverResponse || serverResponse.error) {
286
286
  let errorMessage = `in response for ${bidderRequest.bidderCode} adapter`;
287
287
  if (serverResponse && serverResponse.error) { errorMessage += `: ${serverResponse.error}`; }
288
- utils.logError(errorMessage);
288
+ logError(errorMessage);
289
289
  return bids;
290
290
  }
291
291
 
@@ -313,8 +313,8 @@ export const spec = {
313
313
  .replace(/<h1>(.*)<\/h1>/gm, '\n\n===== $1 =====\n\n') // Header H1
314
314
  .replace(/<h[2-6]>(.*)<\/h[2-6]>/gm, '\n\n*** $1 ***\n\n') // Headers
315
315
  .replace(/(<([^>]+)>)/igm, ''); // Remove any other tags
316
- utils.logMessage('https://console.appnexus.com/docs/understanding-the-debug-auction');
317
- utils.logMessage(debugText);
316
+ logMessage('https://console.appnexus.com/docs/understanding-the-debug-auction');
317
+ logMessage(debugText);
318
318
  }
319
319
 
320
320
  return bids;
@@ -348,11 +348,11 @@ export const spec = {
348
348
  },
349
349
 
350
350
  transformBidParams: function (params, isOpenRtb) {
351
- params = utils.convertTypes({
351
+ params = convertTypes({
352
352
  'member': 'string',
353
353
  'invCode': 'string',
354
354
  'placementId': 'number',
355
- 'keywords': utils.transformBidderParamKeywords,
355
+ 'keywords': transformBidderParamKeywords,
356
356
  'publisherId': 'number'
357
357
  }, params);
358
358
 
@@ -365,7 +365,7 @@ export const spec = {
365
365
  }
366
366
 
367
367
  Object.keys(params).forEach(paramKey => {
368
- let convertedKey = utils.convertCamelToUnderscore(paramKey);
368
+ let convertedKey = convertCamelToUnderscore(paramKey);
369
369
  if (convertedKey !== paramKey) {
370
370
  params[convertedKey] = params[paramKey];
371
371
  delete params[paramKey];
@@ -388,7 +388,7 @@ export const spec = {
388
388
  }
389
389
 
390
390
  function isPopulatedArray(arr) {
391
- return !!(utils.isArray(arr) && arr.length > 0);
391
+ return !!(isArray(arr) && arr.length > 0);
392
392
  }
393
393
 
394
394
  function deleteValues(keyPairObj) {
@@ -460,9 +460,9 @@ function strIsAppnexusViewabilityScript(str) {
460
460
 
461
461
  function getAppnexusViewabilityScriptFromJsTrackers(jsTrackerArray) {
462
462
  let viewJsPayload;
463
- if (utils.isStr(jsTrackerArray) && strIsAppnexusViewabilityScript(jsTrackerArray)) {
463
+ if (isStr(jsTrackerArray) && strIsAppnexusViewabilityScript(jsTrackerArray)) {
464
464
  viewJsPayload = jsTrackerArray;
465
- } else if (utils.isArray(jsTrackerArray)) {
465
+ } else if (isArray(jsTrackerArray)) {
466
466
  for (let i = 0; i < jsTrackerArray.length; i++) {
467
467
  let currentJsTracker = jsTrackerArray[i];
468
468
  if (strIsAppnexusViewabilityScript(currentJsTracker)) {
@@ -486,7 +486,7 @@ function hasPurpose1Consent(bidderRequest) {
486
486
  let result = true;
487
487
  if (bidderRequest && bidderRequest.gdprConsent) {
488
488
  if (bidderRequest.gdprConsent.gdprApplies && bidderRequest.gdprConsent.apiVersion === 2) {
489
- result = !!(utils.deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true);
489
+ result = !!(deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true);
490
490
  }
491
491
  }
492
492
  return result;
@@ -504,16 +504,16 @@ function formatRequest(payload, bidderRequest) {
504
504
  endpointUrl = URL_SIMPLE;
505
505
  }
506
506
 
507
- if (utils.getParameterByName('apn_test').toUpperCase() === 'TRUE' || config.getConfig('apn_test') === true) {
507
+ if (getParameterByName('apn_test').toUpperCase() === 'TRUE' || config.getConfig('apn_test') === true) {
508
508
  options.customHeaders = {
509
509
  'X-Is-Test': 1
510
510
  }
511
511
  }
512
512
 
513
513
  if (payload.tags.length > MAX_IMPS_PER_REQUEST) {
514
- const clonedPayload = utils.deepClone(payload);
514
+ const clonedPayload = deepClone(payload);
515
515
 
516
- utils.chunk(payload.tags, MAX_IMPS_PER_REQUEST).forEach(tags => {
516
+ chunk(payload.tags, MAX_IMPS_PER_REQUEST).forEach(tags => {
517
517
  clonedPayload.tags = tags;
518
518
  const payloadString = JSON.stringify(clonedPayload);
519
519
  request.push({
@@ -550,14 +550,14 @@ function newRenderer(adUnitCode, rtbBid, rendererOptions = {}) {
550
550
  try {
551
551
  renderer.setRender(outstreamRender);
552
552
  } catch (err) {
553
- utils.logWarn('Prebid Error calling setRender on renderer', err);
553
+ logWarn('Prebid Error calling setRender on renderer', err);
554
554
  }
555
555
 
556
556
  renderer.setEventHandlers({
557
- impression: () => utils.logMessage('AppNexus outstream video impression event'),
558
- loaded: () => utils.logMessage('AppNexus outstream video loaded event'),
557
+ impression: () => logMessage('AppNexus outstream video impression event'),
558
+ loaded: () => logMessage('AppNexus outstream video loaded event'),
559
559
  ended: () => {
560
- utils.logMessage('AppNexus outstream renderer video event');
560
+ logMessage('AppNexus outstream renderer video event');
561
561
  document.querySelector(`#${adUnitCode}`).style.display = 'none';
562
562
  }
563
563
  });
@@ -572,7 +572,7 @@ function newRenderer(adUnitCode, rtbBid, rendererOptions = {}) {
572
572
  * @return Bid
573
573
  */
574
574
  function newBid(serverBid, rtbBid, bidderRequest) {
575
- const bidRequest = utils.getBidRequest(serverBid.uuid, [bidderRequest]);
575
+ const bidRequest = getBidRequest(serverBid.uuid, [bidderRequest]);
576
576
  const bid = {
577
577
  requestId: serverBid.uuid,
578
578
  cpm: rtbBid.cpm,
@@ -607,7 +607,7 @@ function newBid(serverBid, rtbBid, bidderRequest) {
607
607
  ttl: 3600
608
608
  });
609
609
 
610
- const videoContext = utils.deepAccess(bidRequest, 'mediaTypes.video.context');
610
+ const videoContext = deepAccess(bidRequest, 'mediaTypes.video.context');
611
611
  switch (videoContext) {
612
612
  case ADPOD:
613
613
  const primaryCatId = getIabSubCategory(bidRequest.bidder, rtbBid.brand_category_id);
@@ -628,7 +628,7 @@ function newBid(serverBid, rtbBid, bidderRequest) {
628
628
 
629
629
  if (rtbBid.renderer_url) {
630
630
  const videoBid = find(bidderRequest.bids, bid => bid.bidId === serverBid.uuid);
631
- const rendererOptions = utils.deepAccess(videoBid, 'renderer.options');
631
+ const rendererOptions = deepAccess(videoBid, 'renderer.options');
632
632
  bid.renderer = newRenderer(bid.adUnitCode, rtbBid, rendererOptions);
633
633
  }
634
634
  break;
@@ -648,7 +648,7 @@ function newBid(serverBid, rtbBid, bidderRequest) {
648
648
 
649
649
  if (jsTrackers == undefined) {
650
650
  jsTrackers = jsTrackerDisarmed;
651
- } else if (utils.isStr(jsTrackers)) {
651
+ } else if (isStr(jsTrackers)) {
652
652
  jsTrackers = [jsTrackers, jsTrackerDisarmed];
653
653
  } else {
654
654
  jsTrackers.push(jsTrackerDisarmed);
@@ -697,11 +697,11 @@ function newBid(serverBid, rtbBid, bidderRequest) {
697
697
  try {
698
698
  if (rtbBid.rtb.trackers) {
699
699
  const url = rtbBid.rtb.trackers[0].impression_urls[0];
700
- const tracker = utils.createTrackPixelHtml(url);
700
+ const tracker = createTrackPixelHtml(url);
701
701
  bid.ad += tracker;
702
702
  }
703
703
  } catch (error) {
704
- utils.logError('Error appending tracking pixel', error);
704
+ logError('Error appending tracking pixel', error);
705
705
  }
706
706
  }
707
707
 
@@ -751,8 +751,8 @@ function bidToTag(bid) {
751
751
  if (bid.params.externalImpId) {
752
752
  tag.external_imp_id = bid.params.externalImpId;
753
753
  }
754
- if (!utils.isEmpty(bid.params.keywords)) {
755
- let keywords = utils.transformBidderParamKeywords(bid.params.keywords);
754
+ if (!isEmpty(bid.params.keywords)) {
755
+ let keywords = transformBidderParamKeywords(bid.params.keywords);
756
756
 
757
757
  if (keywords.length > 0) {
758
758
  keywords.forEach(deleteValues);
@@ -760,12 +760,12 @@ function bidToTag(bid) {
760
760
  tag.keywords = keywords;
761
761
  }
762
762
 
763
- let gpid = utils.deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
763
+ let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
764
764
  if (gpid) {
765
765
  tag.gpid = gpid;
766
766
  }
767
767
 
768
- if (bid.mediaType === NATIVE || utils.deepAccess(bid, `mediaTypes.${NATIVE}`)) {
768
+ if (bid.mediaType === NATIVE || deepAccess(bid, `mediaTypes.${NATIVE}`)) {
769
769
  tag.ad_types.push(NATIVE);
770
770
  if (tag.sizes.length === 0) {
771
771
  tag.sizes = transformSizes([1, 1]);
@@ -777,8 +777,8 @@ function bidToTag(bid) {
777
777
  }
778
778
  }
779
779
 
780
- const videoMediaType = utils.deepAccess(bid, `mediaTypes.${VIDEO}`);
781
- const context = utils.deepAccess(bid, 'mediaTypes.video.context');
780
+ const videoMediaType = deepAccess(bid, `mediaTypes.${VIDEO}`);
781
+ const context = deepAccess(bid, 'mediaTypes.video.context');
782
782
 
783
783
  if (videoMediaType && context === 'adpod') {
784
784
  tag.hb_source = 7;
@@ -804,7 +804,7 @@ function bidToTag(bid) {
804
804
  case 'context':
805
805
  case 'playback_method':
806
806
  let type = bid.params.video[param];
807
- type = (utils.isArray(type)) ? type[0] : type;
807
+ type = (isArray(type)) ? type[0] : type;
808
808
  tag.video[param] = VIDEO_MAPPING[param][type];
809
809
  break;
810
810
  // Deprecating tags[].video.frameworks in favor of tags[].video_frameworks
@@ -815,7 +815,7 @@ function bidToTag(bid) {
815
815
  }
816
816
  });
817
817
 
818
- if (bid.params.video.frameworks && utils.isArray(bid.params.video.frameworks)) {
818
+ if (bid.params.video.frameworks && isArray(bid.params.video.frameworks)) {
819
819
  tag['video_frameworks'] = bid.params.video.frameworks;
820
820
  }
821
821
  }
@@ -840,7 +840,7 @@ function bidToTag(bid) {
840
840
  case 'playbackmethod':
841
841
  if (typeof tag.video['playback_method'] !== 'number') {
842
842
  let type = videoMediaType[param];
843
- type = (utils.isArray(type)) ? type[0] : type;
843
+ type = (isArray(type)) ? type[0] : type;
844
844
 
845
845
  // we only support iab's options 1-4 at this time.
846
846
  if (type >= 1 && type <= 4) {
@@ -849,7 +849,7 @@ function bidToTag(bid) {
849
849
  }
850
850
  break;
851
851
  case 'api':
852
- if (!tag['video_frameworks'] && utils.isArray(videoMediaType[param])) {
852
+ if (!tag['video_frameworks'] && isArray(videoMediaType[param])) {
853
853
  // need to read thru array; remove 6 (we don't support it), swap 4 <> 5 if found (to match our adserver mapping for these specific values)
854
854
  let apiTmp = videoMediaType[param].map(val => {
855
855
  let v = (val === 4) ? 5 : (val === 5) ? 4 : val;
@@ -869,7 +869,7 @@ function bidToTag(bid) {
869
869
  tag.video = Object.assign({}, tag.video, { custom_renderer_present: true });
870
870
  }
871
871
 
872
- if (bid.params.frameworks && utils.isArray(bid.params.frameworks)) {
872
+ if (bid.params.frameworks && isArray(bid.params.frameworks)) {
873
873
  tag['banner_frameworks'] = bid.params.frameworks;
874
874
  }
875
875
 
@@ -890,8 +890,8 @@ function transformSizes(requestSizes) {
890
890
  let sizes = [];
891
891
  let sizeObj = {};
892
892
 
893
- if (utils.isArray(requestSizes) && requestSizes.length === 2 &&
894
- !utils.isArray(requestSizes[0])) {
893
+ if (isArray(requestSizes) && requestSizes.length === 2 &&
894
+ !isArray(requestSizes[0])) {
895
895
  sizeObj.width = parseInt(requestSizes[0], 10);
896
896
  sizeObj.height = parseInt(requestSizes[1], 10);
897
897
  sizes.push(sizeObj);
@@ -945,10 +945,10 @@ function hasOmidSupport(bid) {
945
945
  let hasOmid = false;
946
946
  const bidderParams = bid.params;
947
947
  const videoParams = bid.params.video;
948
- if (bidderParams.frameworks && utils.isArray(bidderParams.frameworks)) {
948
+ if (bidderParams.frameworks && isArray(bidderParams.frameworks)) {
949
949
  hasOmid = includes(bid.params.frameworks, 6);
950
950
  }
951
- if (!hasOmid && videoParams && videoParams.frameworks && utils.isArray(videoParams.frameworks)) {
951
+ if (!hasOmid && videoParams && videoParams.frameworks && isArray(videoParams.frameworks)) {
952
952
  hasOmid = includes(bid.params.video.frameworks, 6);
953
953
  }
954
954
  return hasOmid;
@@ -963,14 +963,14 @@ function createAdPodRequest(tags, adPodBid) {
963
963
  const { durationRangeSec, requireExactDuration } = adPodBid.mediaTypes.video;
964
964
 
965
965
  const numberOfPlacements = getAdPodPlacementNumber(adPodBid.mediaTypes.video);
966
- const maxDuration = utils.getMaxValueFromArray(durationRangeSec);
966
+ const maxDuration = getMaxValueFromArray(durationRangeSec);
967
967
 
968
968
  const tagToDuplicate = tags.filter(tag => tag.uuid === adPodBid.bidId);
969
- let request = utils.fill(...tagToDuplicate, numberOfPlacements);
969
+ let request = fill(...tagToDuplicate, numberOfPlacements);
970
970
 
971
971
  if (requireExactDuration) {
972
972
  const divider = Math.ceil(numberOfPlacements / durationRangeSec.length);
973
- const chunked = utils.chunk(request, divider);
973
+ const chunked = chunk(request, divider);
974
974
 
975
975
  // each configured duration is set as min/maxduration for a subset of requests
976
976
  durationRangeSec.forEach((duration, index) => {
@@ -989,7 +989,7 @@ function createAdPodRequest(tags, adPodBid) {
989
989
 
990
990
  function getAdPodPlacementNumber(videoParams) {
991
991
  const { adPodDurationSec, durationRangeSec, requireExactDuration } = videoParams;
992
- const minAllowedDuration = utils.getMinValueFromArray(durationRangeSec);
992
+ const minAllowedDuration = getMinValueFromArray(durationRangeSec);
993
993
  const numberOfPlacements = Math.floor(adPodDurationSec / minAllowedDuration);
994
994
 
995
995
  return requireExactDuration
@@ -998,7 +998,7 @@ function getAdPodPlacementNumber(videoParams) {
998
998
  }
999
999
 
1000
1000
  function setVideoProperty(tag, key, value) {
1001
- if (utils.isEmpty(tag.video)) { tag.video = {}; }
1001
+ if (isEmpty(tag.video)) { tag.video = {}; }
1002
1002
  tag.video[key] = value;
1003
1003
  }
1004
1004
 
@@ -1029,7 +1029,7 @@ function buildNativeRequest(params) {
1029
1029
  const isImageAsset = !!(requestKey === NATIVE_MAPPING.image.serverName || requestKey === NATIVE_MAPPING.icon.serverName);
1030
1030
  if (isImageAsset && request[requestKey].sizes) {
1031
1031
  let sizes = request[requestKey].sizes;
1032
- if (utils.isArrayOfNums(sizes) || (utils.isArray(sizes) && sizes.length > 0 && sizes.every(sz => utils.isArrayOfNums(sz)))) {
1032
+ if (isArrayOfNums(sizes) || (isArray(sizes) && sizes.length > 0 && sizes.every(sz => isArrayOfNums(sz)))) {
1033
1033
  request[requestKey].sizes = transformSizes(request[requestKey].sizes);
1034
1034
  }
1035
1035
  }
@@ -1108,7 +1108,7 @@ function addUserId(eids, id, source, rti) {
1108
1108
  }
1109
1109
 
1110
1110
  function getBidFloor(bid) {
1111
- if (!utils.isFn(bid.getFloor)) {
1111
+ if (!isFn(bid.getFloor)) {
1112
1112
  return (bid.params.reserve) ? bid.params.reserve : null;
1113
1113
  }
1114
1114
 
@@ -1117,7 +1117,7 @@ function getBidFloor(bid) {
1117
1117
  mediaType: '*',
1118
1118
  size: '*'
1119
1119
  });
1120
- if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
1120
+ if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
1121
1121
  return floor.floor;
1122
1122
  }
1123
1123
  return null;
@@ -1,6 +1,6 @@
1
+ import { generateUUID, deepAccess, createTrackPixelHtml, getDNT } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { config } from '../src/config.js';
3
- import * as utils from '../src/utils.js';
4
4
  import { getStorageManager } from '../src/storageManager.js';
5
5
 
6
6
  const CONSTANTS = {
@@ -221,7 +221,7 @@ var dsuModule = (function() {
221
221
  }
222
222
 
223
223
  function generateDsu() {
224
- var dsuId = utils.generateUUID();
224
+ var dsuId = generateUUID();
225
225
  var loc = location();
226
226
 
227
227
  var dsuIdSuffix = hashWithKey(dsuId + loc.toString());
@@ -303,7 +303,7 @@ function getConsentStringFromPrebid(gdprConsentConfig) {
303
303
  }
304
304
 
305
305
  function getIabConsentString(bidderRequest) {
306
- if (utils.deepAccess(bidderRequest, 'gdprConsent')) {
306
+ if (deepAccess(bidderRequest, 'gdprConsent')) {
307
307
  return getConsentStringFromPrebid(bidderRequest.gdprConsent);
308
308
  }
309
309
 
@@ -318,7 +318,7 @@ function injectPixels(ad, pixels, scripts) {
318
318
  let trackedAd = ad;
319
319
  if (pixels) {
320
320
  pixels.forEach(pixel => {
321
- const tracker = utils.createTrackPixelHtml(pixel);
321
+ const tracker = createTrackPixelHtml(pixel);
322
322
  trackedAd += tracker;
323
323
  });
324
324
  }
@@ -420,7 +420,7 @@ function buildRequests(bidRequests, bidderRequest) {
420
420
  med: encodeURIComponent(window.location.href),
421
421
  auid: bidderRequest.auctionId,
422
422
  ref: document.referrer,
423
- dnt: utils.getDNT() ? 1 : 0,
423
+ dnt: getDNT() ? 1 : 0,
424
424
  sr: getScreenParams()
425
425
  };
426
426