prebid.js 5.14.0 → 5.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/.devcontainer/Dockerfile +11 -0
  2. package/.devcontainer/devcontainer.json +27 -0
  3. package/.devcontainer/postCreate.sh +6 -0
  4. package/allowedModules.js +2 -1
  5. package/integrationExamples/gpt/afpExample.html +242 -0
  6. package/integrationExamples/gpt/afpGamExample.html +152 -0
  7. package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
  8. package/modules/.submodules.json +29 -27
  9. package/modules/33acrossBidAdapter.js +23 -20
  10. package/modules/a4gBidAdapter.js +3 -3
  11. package/modules/ablidaBidAdapter.js +2 -2
  12. package/modules/adWMGBidAdapter.js +4 -4
  13. package/modules/adagioAnalyticsAdapter.js +4 -4
  14. package/modules/adagioBidAdapter.js +85 -82
  15. package/modules/adbookpspBidAdapter.js +56 -54
  16. package/modules/adfBidAdapter.js +24 -16
  17. package/modules/adgenerationBidAdapter.js +42 -18
  18. package/modules/adhashBidAdapter.js +105 -0
  19. package/modules/adhashBidAdapter.md +1 -1
  20. package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
  21. package/modules/adkernelAdnBidAdapter.js +23 -23
  22. package/modules/adkernelBidAdapter.js +49 -44
  23. package/modules/adlooxAdServerVideo.js +26 -26
  24. package/modules/adlooxAnalyticsAdapter.js +38 -35
  25. package/modules/adlooxRtdProvider.js +49 -46
  26. package/modules/admanBidAdapter.js +4 -4
  27. package/modules/admixerBidAdapter.js +13 -2
  28. package/modules/admixerIdSystem.js +4 -4
  29. package/modules/adnowBidAdapter.js +4 -4
  30. package/modules/adnuntiusBidAdapter.js +6 -5
  31. package/modules/adoceanBidAdapter.js +10 -10
  32. package/modules/adpartnerBidAdapter.js +3 -3
  33. package/modules/adpod.js +45 -42
  34. package/modules/adprimeBidAdapter.js +4 -4
  35. package/modules/adqueryBidAdapter.js +204 -0
  36. package/modules/adqueryBidAdapter.md +32 -0
  37. package/modules/adrelevantisBidAdapter.js +30 -27
  38. package/modules/adriverBidAdapter.js +13 -13
  39. package/modules/adtargetBidAdapter.js +24 -24
  40. package/modules/adtelligentBidAdapter.js +29 -29
  41. package/modules/adtrueBidAdapter.js +35 -35
  42. package/modules/aduptechBidAdapter.js +10 -10
  43. package/modules/advangelistsBidAdapter.js +14 -14
  44. package/modules/adxcgAnalyticsAdapter.js +5 -5
  45. package/modules/adxcgBidAdapter.js +56 -56
  46. package/modules/adxpremiumAnalyticsAdapter.js +17 -17
  47. package/modules/adyoulikeBidAdapter.js +11 -11
  48. package/modules/afpBidAdapter.js +166 -0
  49. package/modules/afpBidAdapter.md +348 -0
  50. package/modules/ajaBidAdapter.js +12 -12
  51. package/modules/akamaiDAPIdSystem.js +9 -9
  52. package/modules/aniviewBidAdapter.js +2 -2
  53. package/modules/aolBidAdapter.js +15 -14
  54. package/modules/apacdexBidAdapter.js +16 -16
  55. package/modules/appnexusBidAdapter.js +59 -59
  56. package/modules/apstreamBidAdapter.js +5 -5
  57. package/modules/asoBidAdapter.js +30 -30
  58. package/modules/astraoneBidAdapter.js +2 -2
  59. package/modules/atsAnalyticsAdapter.js +35 -30
  60. package/modules/audiencerunBidAdapter.js +15 -15
  61. package/modules/automatadBidAdapter.js +2 -2
  62. package/modules/axonixBidAdapter.js +7 -7
  63. package/modules/beachfrontBidAdapter.js +23 -23
  64. package/modules/beopBidAdapter.js +22 -22
  65. package/modules/bidViewabilityIO.js +7 -7
  66. package/modules/bidglassBidAdapter.js +8 -8
  67. package/modules/bidscubeBidAdapter.js +3 -3
  68. package/modules/bizzclickBidAdapter.js +10 -10
  69. package/modules/bliinkBidAdapter.js +58 -32
  70. package/modules/bliinkBidAdapter.md +29 -6
  71. package/modules/bluebillywigBidAdapter.js +30 -30
  72. package/modules/boldwinBidAdapter.js +4 -4
  73. package/modules/braveBidAdapter.js +5 -5
  74. package/modules/bridgewellBidAdapter.js +5 -5
  75. package/modules/brightMountainMediaBidAdapter.js +10 -10
  76. package/modules/brightcomBidAdapter.js +18 -18
  77. package/modules/britepoolIdSystem.js +7 -7
  78. package/modules/browsiRtdProvider.js +8 -8
  79. package/modules/bucksenseBidAdapter.js +9 -9
  80. package/modules/buzzoolaBidAdapter.js +4 -4
  81. package/modules/byDataAnalyticsAdapter.js +12 -12
  82. package/modules/ccxBidAdapter.js +38 -38
  83. package/modules/cleanmedianetBidAdapter.js +9 -9
  84. package/modules/clickforceBidAdapter.js +4 -4
  85. package/modules/cointrafficBidAdapter.js +4 -4
  86. package/modules/coinzillaBidAdapter.js +2 -2
  87. package/modules/colossussspBidAdapter.js +7 -3
  88. package/modules/concertAnalyticsAdapter.js +3 -3
  89. package/modules/concertBidAdapter.js +16 -17
  90. package/modules/connectadBidAdapter.js +13 -13
  91. package/modules/consentManagement.js +29 -28
  92. package/modules/consentManagementUsp.js +14 -14
  93. package/modules/consumableBidAdapter.js +3 -3
  94. package/modules/contentexchangeBidAdapter.js +5 -5
  95. package/modules/conversantBidAdapter.js +32 -31
  96. package/modules/cpmstarBidAdapter.js +8 -9
  97. package/modules/craftBidAdapter.js +10 -10
  98. package/modules/criteoBidAdapter.js +16 -16
  99. package/modules/criteoIdSystem.js +5 -5
  100. package/modules/currency.js +18 -18
  101. package/modules/cwireBidAdapter.js +272 -0
  102. package/modules/cwireBidAdapter.md +43 -0
  103. package/modules/datablocksBidAdapter.js +12 -12
  104. package/modules/deepintentBidAdapter.js +13 -13
  105. package/modules/dgkeywordRtdProvider.js +10 -11
  106. package/modules/districtmDMXBidAdapter.js +15 -15
  107. package/modules/dmdIdSystem.js +5 -5
  108. package/modules/docereeBidAdapter.js +9 -9
  109. package/modules/dspxBidAdapter.js +5 -5
  110. package/modules/ebdrBidAdapter.js +9 -9
  111. package/modules/emx_digitalBidAdapter.js +23 -23
  112. package/modules/enrichmentFpdModule.js +10 -9
  113. package/modules/eplanningAnalyticsAdapter.js +2 -2
  114. package/modules/eplanningBidAdapter.js +10 -10
  115. package/modules/etargetBidAdapter.js +4 -4
  116. package/modules/express.js +9 -10
  117. package/modules/fabrickIdSystem.js +6 -6
  118. package/modules/feedadBidAdapter.js +5 -5
  119. package/modules/fintezaAnalyticsAdapter.js +4 -4
  120. package/modules/flocIdSystem.js +5 -5
  121. package/modules/fluctBidAdapter.js +6 -5
  122. package/modules/freewheel-sspBidAdapter.js +6 -6
  123. package/modules/gamoshiBidAdapter.js +22 -22
  124. package/modules/gdprEnforcement.js +13 -14
  125. package/modules/getintentBidAdapter.js +3 -4
  126. package/modules/glimpseBidAdapter.js +160 -48
  127. package/modules/glimpseBidAdapter.md +11 -74
  128. package/modules/gmosspBidAdapter.js +17 -17
  129. package/modules/gnetBidAdapter.js +5 -5
  130. package/modules/googleAnalyticsAdapter.js +6 -6
  131. package/modules/gothamadsBidAdapter.js +9 -9
  132. package/modules/gptPreAuction.js +7 -7
  133. package/modules/gridBidAdapter.js +15 -16
  134. package/modules/gridNMBidAdapter.js +214 -63
  135. package/modules/growadvertisingBidAdapter.js +7 -8
  136. package/modules/gumgumBidAdapter.js +19 -13
  137. package/modules/h12mediaBidAdapter.js +12 -12
  138. package/modules/haloIdSystem.js +8 -8
  139. package/modules/hybridBidAdapter.js +7 -7
  140. package/modules/iasRtdProvider.js +79 -63
  141. package/modules/id5IdSystem.js +24 -24
  142. package/modules/idImportLibrary.js +35 -35
  143. package/modules/idxIdSystem.js +3 -3
  144. package/modules/impactifyBidAdapter.js +10 -10
  145. package/modules/improvedigitalBidAdapter.js +36 -36
  146. package/modules/imuIdSystem.js +6 -6
  147. package/modules/inmarBidAdapter.js +2 -2
  148. package/modules/innityBidAdapter.js +3 -3
  149. package/modules/inskinBidAdapter.js +14 -2
  150. package/modules/inskinBidAdapter.md +5 -4
  151. package/modules/instreamTracking.js +5 -5
  152. package/modules/integr8BidAdapter.js +4 -4
  153. package/modules/intentIqIdSystem.js +7 -7
  154. package/modules/interactiveOffersBidAdapter.js +5 -5
  155. package/modules/invibesBidAdapter.js +53 -19
  156. package/modules/invisiblyAnalyticsAdapter.js +5 -5
  157. package/modules/iqmBidAdapter.js +19 -19
  158. package/modules/iqzoneBidAdapter.js +5 -5
  159. package/modules/ixBidAdapter.js +73 -73
  160. package/modules/jixieBidAdapter.js +6 -6
  161. package/modules/justpremiumBidAdapter.js +5 -1
  162. package/modules/kargoBidAdapter.js +16 -9
  163. package/modules/kargoBidAdapter.md +20 -0
  164. package/modules/kinessoIdSystem.js +8 -8
  165. package/modules/koblerBidAdapter.js +12 -12
  166. package/modules/konduitAnalyticsAdapter.js +4 -4
  167. package/modules/konduitWrapper.js +14 -14
  168. package/modules/krushmediaBidAdapter.js +4 -4
  169. package/modules/kubientBidAdapter.js +5 -5
  170. package/modules/limelightDigitalBidAdapter.js +4 -4
  171. package/modules/liveIntentIdSystem.js +4 -5
  172. package/modules/livewrappedAnalyticsAdapter.js +27 -15
  173. package/modules/livewrappedBidAdapter.js +7 -7
  174. package/modules/liveyieldAnalyticsAdapter.js +13 -13
  175. package/modules/lockerdomeBidAdapter.js +2 -2
  176. package/modules/loganBidAdapter.js +4 -4
  177. package/modules/lotamePanoramaIdSystem.js +13 -13
  178. package/modules/lunamediahbBidAdapter.js +2 -2
  179. package/modules/madvertiseBidAdapter.js +3 -3
  180. package/modules/marsmediaBidAdapter.js +26 -26
  181. package/modules/mathildeadsBidAdapter.js +5 -5
  182. package/modules/mediaforceBidAdapter.js +11 -11
  183. package/modules/mediakeysBidAdapter.js +444 -53
  184. package/modules/mediakeysBidAdapter.md +108 -0
  185. package/modules/medianetAnalyticsAdapter.js +48 -125
  186. package/modules/medianetBidAdapter.js +38 -33
  187. package/modules/medianetRtdProvider.js +7 -7
  188. package/modules/merkleIdSystem.js +19 -19
  189. package/modules/mgidBidAdapter.js +50 -50
  190. package/modules/microadBidAdapter.js +3 -3
  191. package/modules/multibid/index.js +15 -13
  192. package/modules/mwOpenLinkIdSystem.js +7 -7
  193. package/modules/mytargetBidAdapter.js +112 -0
  194. package/modules/nativoBidAdapter.js +46 -31
  195. package/modules/nativoBidAdapter.md +0 -1
  196. package/modules/naveggIdSystem.js +3 -3
  197. package/modules/nextMillenniumBidAdapter.js +6 -6
  198. package/modules/nextrollBidAdapter.js +375 -0
  199. package/modules/nobidBidAdapter.js +12 -11
  200. package/modules/novatiqIdSystem.js +8 -8
  201. package/modules/oguryBidAdapter.js +22 -6
  202. package/modules/oneVideoBidAdapter.js +20 -20
  203. package/modules/onomagicBidAdapter.js +16 -16
  204. package/modules/ooloAnalyticsAdapter.js +13 -13
  205. package/modules/openwebBidAdapter.js +26 -26
  206. package/modules/openxAnalyticsAdapter.js +33 -33
  207. package/modules/openxBidAdapter.js +29 -29
  208. package/modules/operaadsBidAdapter.js +53 -53
  209. package/modules/optimeraRtdProvider.js +9 -9
  210. package/modules/optoutBidAdapter.js +3 -3
  211. package/modules/orbidderBidAdapter.js +3 -3
  212. package/modules/outbrainBidAdapter.js +13 -13
  213. package/modules/ozoneBidAdapter.js +131 -131
  214. package/modules/padsquadBidAdapter.js +4 -4
  215. package/modules/parrableIdSystem.js +17 -17
  216. package/modules/pixfutureBidAdapter.js +45 -25
  217. package/modules/pixfutureBidAdapter.md +127 -0
  218. package/modules/prebidServerBidAdapter/index.js +109 -105
  219. package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
  220. package/modules/priceFloors.js +47 -47
  221. package/modules/proxistoreBidAdapter.js +6 -8
  222. package/modules/pubCommonId.js +11 -11
  223. package/modules/pubProvidedIdSystem.js +3 -3
  224. package/modules/publinkIdSystem.js +23 -7
  225. package/modules/publinkIdSystem.md +7 -2
  226. package/modules/pubmaticAnalyticsAdapter.js +16 -16
  227. package/modules/pubmaticBidAdapter.js +109 -93
  228. package/modules/pubmaticBidAdapter.md +1 -1
  229. package/modules/pubperfAnalyticsAdapter.js +3 -3
  230. package/modules/pubwiseAnalyticsAdapter.js +6 -6
  231. package/modules/pubwiseBidAdapter.js +23 -23
  232. package/modules/pubxBidAdapter.js +2 -2
  233. package/modules/pubxaiAnalyticsAdapter.js +7 -7
  234. package/modules/pulsepointBidAdapter.js +13 -13
  235. package/modules/pxyzBidAdapter.js +7 -7
  236. package/modules/quantcastBidAdapter.js +16 -16
  237. package/modules/radsBidAdapter.js +5 -5
  238. package/modules/realvuAnalyticsAdapter.js +5 -7
  239. package/modules/reconciliationRtdProvider.js +6 -6
  240. package/modules/relaidoBidAdapter.js +44 -38
  241. package/modules/resetdigitalBidAdapter.js +3 -4
  242. package/modules/revcontentBidAdapter.js +9 -9
  243. package/modules/rhythmoneBidAdapter.js +17 -16
  244. package/modules/richaudienceBidAdapter.js +9 -9
  245. package/modules/riseBidAdapter.js +26 -26
  246. package/modules/riseBidAdapter.md +1 -3
  247. package/modules/roxotAnalyticsAdapter.js +14 -14
  248. package/modules/rtbhouseBidAdapter.js +7 -7
  249. package/modules/rtbsapeBidAdapter.js +3 -4
  250. package/modules/rtdModule/index.js +3 -3
  251. package/modules/rubiconAnalyticsAdapter.js +82 -82
  252. package/modules/rubiconBidAdapter.js +72 -68
  253. package/modules/scaleableAnalyticsAdapter.js +2 -2
  254. package/modules/seedingAllianceBidAdapter.js +231 -0
  255. package/modules/seedtagBidAdapter.js +10 -10
  256. package/modules/sharedIdSystem.js +11 -11
  257. package/modules/sharethroughAnalyticsAdapter.js +8 -8
  258. package/modules/sharethroughBidAdapter.js +20 -27
  259. package/modules/showheroes-bsBidAdapter.js +23 -23
  260. package/modules/sigmoidAnalyticsAdapter.js +4 -5
  261. package/modules/sirdataRtdProvider.js +34 -34
  262. package/modules/sizeMappingV2.js +39 -39
  263. package/modules/slimcutBidAdapter.js +121 -0
  264. package/modules/smaatoBidAdapter.js +44 -44
  265. package/modules/smartadserverBidAdapter.js +7 -7
  266. package/modules/smartxBidAdapter.js +72 -72
  267. package/modules/smartyadsBidAdapter.js +2 -2
  268. package/modules/smilewantedBidAdapter.js +6 -6
  269. package/modules/sonobiAnalyticsAdapter.js +23 -23
  270. package/modules/sortableAnalyticsAdapter.js +5 -5
  271. package/modules/sortableBidAdapter.js +28 -28
  272. package/modules/sovrnAnalyticsAdapter.js +5 -5
  273. package/modules/sovrnBidAdapter.js +22 -22
  274. package/modules/spotxBidAdapter.js +97 -83
  275. package/modules/sspBCBidAdapter.js +216 -21
  276. package/modules/sspBCBidAdapter.md +1 -1
  277. package/modules/staqAnalyticsAdapter.js +9 -9
  278. package/modules/stroeerCoreBidAdapter.js +16 -16
  279. package/modules/sublimeBidAdapter.js +6 -6
  280. package/modules/talkadsBidAdapter.js +129 -0
  281. package/modules/talkadsBidAdapter.md +60 -0
  282. package/modules/tapadIdSystem.js +3 -3
  283. package/modules/tappxBidAdapter.js +63 -64
  284. package/modules/teadsBidAdapter.js +20 -20
  285. package/modules/telariaBidAdapter.js +17 -17
  286. package/modules/temedyaBidAdapter.js +4 -4
  287. package/modules/terceptAnalyticsAdapter.js +4 -4
  288. package/modules/theAdxBidAdapter.js +16 -16
  289. package/modules/timeoutRtdProvider.js +15 -15
  290. package/modules/tpmnBidAdapter.js +3 -3
  291. package/modules/trionBidAdapter.js +15 -15
  292. package/modules/tripleliftBidAdapter.js +27 -24
  293. package/modules/truereachBidAdapter.js +4 -4
  294. package/modules/trustxBidAdapter.js +22 -18
  295. package/modules/ucfunnelBidAdapter.js +3 -3
  296. package/modules/uid2IdSystem.js +6 -6
  297. package/modules/underdogmediaBidAdapter.js +4 -4
  298. package/modules/unicornBidAdapter.js +15 -15
  299. package/modules/unifiedIdSystem.js +4 -4
  300. package/modules/unrulyBidAdapter.js +16 -16
  301. package/modules/userId/eids.js +9 -9
  302. package/modules/userId/index.js +37 -35
  303. package/modules/validationFpdModule/index.js +15 -15
  304. package/modules/vdoaiBidAdapter.js +2 -2
  305. package/modules/verizonMediaIdSystem.js +5 -5
  306. package/modules/vidazooBidAdapter.js +5 -5
  307. package/modules/videobyteBidAdapter.js +24 -24
  308. package/modules/videoreachBidAdapter.js +7 -7
  309. package/modules/vidoomyBidAdapter.js +105 -22
  310. package/modules/viewdeosDXBidAdapter.js +17 -17
  311. package/modules/visxBidAdapter.js +21 -29
  312. package/modules/voxBidAdapter.js +7 -7
  313. package/modules/vuukleBidAdapter.js +2 -2
  314. package/modules/waardexBidAdapter.js +26 -26
  315. package/modules/weboramaRtdProvider.js +174 -0
  316. package/modules/weboramaRtdProvider.md +70 -0
  317. package/modules/winrBidAdapter.js +27 -27
  318. package/modules/wipesBidAdapter.js +2 -2
  319. package/modules/yahoosspBidAdapter.js +637 -0
  320. package/modules/yahoosspBidAdapter.md +795 -0
  321. package/modules/yieldlabBidAdapter.js +57 -12
  322. package/modules/yieldlabBidAdapter.md +16 -1
  323. package/modules/yieldliftBidAdapter.js +9 -9
  324. package/modules/yieldmoBidAdapter.js +64 -50
  325. package/modules/yieldoneAnalyticsAdapter.js +6 -6
  326. package/modules/yieldoneBidAdapter.js +11 -11
  327. package/modules/yuktamediaAnalyticsAdapter.js +15 -15
  328. package/modules/zeotapIdPlusIdSystem.js +2 -2
  329. package/modules/zetaBidAdapter.js +6 -6
  330. package/modules/zeta_global_sspBidAdapter.js +14 -14
  331. package/package.json +1 -1
  332. package/src/AnalyticsAdapter.js +6 -6
  333. package/src/Renderer.js +10 -8
  334. package/src/adapterManager.js +45 -42
  335. package/src/adloader.js +6 -6
  336. package/src/ajax.js +8 -9
  337. package/src/auction.js +26 -23
  338. package/src/bidfactory.js +2 -2
  339. package/src/config.js +52 -50
  340. package/src/cpmBucketManager.js +2 -2
  341. package/src/prebid.js +85 -81
  342. package/src/storageManager.js +5 -5
  343. package/src/targeting.js +25 -26
  344. package/src/userSync.js +35 -22
  345. package/src/videoCache.js +2 -2
  346. package/test/.eslintrc.js +2 -1
  347. package/test/spec/modules/adfBidAdapter_spec.js +55 -0
  348. package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
  349. package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
  351. package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
  352. package/test/spec/modules/afpBidAdapter_spec.js +306 -0
  353. package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
  354. package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
  355. package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
  356. package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
  357. package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
  358. package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
  359. package/test/spec/modules/gridBidAdapter_spec.js +38 -2
  360. package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
  361. package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
  362. package/test/spec/modules/iasRtdProvider_spec.js +71 -6
  363. package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
  364. package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
  365. package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
  366. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
  367. package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
  368. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
  369. package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
  370. package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
  371. package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
  372. package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
  373. package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
  374. package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
  375. package/test/spec/modules/publinkIdSystem_spec.js +42 -12
  376. package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
  377. package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
  378. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
  379. package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
  380. package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
  381. package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
  382. package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
  383. package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
  384. package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
  385. package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
  386. package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
  387. package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
  388. package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
  389. package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
  390. package/test/spec/modules/visxBidAdapter_spec.js +48 -4
  391. package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
  392. package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
  393. package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
  394. package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
  395. package/test/spec/unit/pbjs_api_spec.js +4 -0
  396. package/test/spec/userSync_spec.js +30 -2
  397. package/modules/turktelekomBidAdapter.md +0 -49
@@ -1,7 +1,7 @@
1
+ import { logInfo, logError } from '../src/utils.js';
1
2
  import {getGlobal} from '../src/prebidGlobal.js';
2
3
  import {ajax} from '../src/ajax.js';
3
4
  import {config} from '../src/config.js';
4
- import * as utils from '../src/utils.js';
5
5
  import MD5 from 'crypto-js/md5.js';
6
6
 
7
7
  let email;
@@ -18,18 +18,18 @@ const OBSERVER_CONFIG = {
18
18
  characterData: true,
19
19
  characterDataOldValue: false
20
20
  };
21
- const logInfo = createLogInfo(LOG_PRE_FIX);
22
- const logError = createLogError(LOG_PRE_FIX);
21
+ const _logInfo = createLogInfo(LOG_PRE_FIX);
22
+ const _logError = createLogError(LOG_PRE_FIX);
23
23
 
24
24
  function createLogInfo(prefix) {
25
25
  return function (...strings) {
26
- utils.logInfo(prefix + ' ', ...strings);
26
+ logInfo(prefix + ' ', ...strings);
27
27
  }
28
28
  }
29
29
 
30
30
  function createLogError(prefix) {
31
31
  return function (...strings) {
32
- utils.logError(prefix + ' ', ...strings);
32
+ logError(prefix + ' ', ...strings);
33
33
  }
34
34
  }
35
35
 
@@ -38,39 +38,39 @@ function getEmail(value) {
38
38
  if (!matched) {
39
39
  return null;
40
40
  }
41
- logInfo('Email found: ' + matched[0]);
41
+ _logInfo('Email found: ' + matched[0]);
42
42
  return matched[0];
43
43
  }
44
44
 
45
45
  function bodyAction(mutations, observer) {
46
- logInfo('BODY observer on debounce called');
46
+ _logInfo('BODY observer on debounce called');
47
47
  // If the email is found in the input element, disconnect the observer
48
48
  if (email) {
49
49
  observer.disconnect();
50
- logInfo('Email is found, body observer disconnected');
50
+ _logInfo('Email is found, body observer disconnected');
51
51
  return;
52
52
  }
53
53
 
54
54
  const body = document.body.innerHTML;
55
55
  email = getEmail(body);
56
56
  if (email !== null) {
57
- logInfo(`Email obtained from the body ${email}`);
57
+ _logInfo(`Email obtained from the body ${email}`);
58
58
  observer.disconnect();
59
- logInfo('Post data on email found in body');
59
+ _logInfo('Post data on email found in body');
60
60
  postData();
61
61
  }
62
62
  }
63
63
 
64
64
  function targetAction(mutations, observer) {
65
- logInfo('Target observer called');
65
+ _logInfo('Target observer called');
66
66
  for (const mutation of mutations) {
67
67
  for (const node of mutation.addedNodes) {
68
68
  email = node.textContent;
69
69
 
70
70
  if (email) {
71
- logInfo('Email obtained from the target ' + email);
71
+ _logInfo('Email obtained from the target ' + email);
72
72
  observer.disconnect();
73
- logInfo('Post data on email found in target');
73
+ _logInfo('Post data on email found in target');
74
74
  postData();
75
75
  return;
76
76
  }
@@ -79,18 +79,18 @@ function targetAction(mutations, observer) {
79
79
  }
80
80
 
81
81
  function addInputElementsElementListner(conf) {
82
- logInfo('Adding input element listeners');
82
+ _logInfo('Adding input element listeners');
83
83
  const inputs = document.querySelectorAll('input[type=text], input[type=email]');
84
84
 
85
85
  for (var i = 0; i < inputs.length; i++) {
86
- logInfo(`Original Value in Input = ${inputs[i].value}`);
86
+ _logInfo(`Original Value in Input = ${inputs[i].value}`);
87
87
  inputs[i].addEventListener('change', event => processInputChange(event));
88
88
  inputs[i].addEventListener('blur', event => processInputChange(event));
89
89
  }
90
90
  }
91
91
 
92
92
  function removeInputElementsElementListner() {
93
- logInfo('Removing input element listeners');
93
+ _logInfo('Removing input element listeners');
94
94
  const inputs = document.querySelectorAll('input[type=text], input[type=email]');
95
95
 
96
96
  for (var i = 0; i < inputs.length; i++) {
@@ -101,10 +101,10 @@ function removeInputElementsElementListner() {
101
101
 
102
102
  function processInputChange(event) {
103
103
  const value = event.target.value;
104
- logInfo(`Modified Value of input ${event.target.value}`);
104
+ _logInfo(`Modified Value of input ${event.target.value}`);
105
105
  email = getEmail(value);
106
106
  if (email !== null) {
107
- logInfo('Email found in input ' + email);
107
+ _logInfo('Email found in input ' + email);
108
108
  postData();
109
109
  removeInputElementsElementListner();
110
110
  }
@@ -124,7 +124,7 @@ function debounce(func, wait, immediate) {
124
124
  if (callNow) {
125
125
  func.apply(context, args);
126
126
  } else {
127
- logInfo('Debounce wait time ' + wait);
127
+ _logInfo('Debounce wait time ' + wait);
128
128
  timeout = setTimeout(later, wait);
129
129
  }
130
130
  };
@@ -138,11 +138,11 @@ function handleTargetElement() {
138
138
  email = targetElement.innerText;
139
139
 
140
140
  if (!email) {
141
- logInfo('Finding the email with observer');
141
+ _logInfo('Finding the email with observer');
142
142
  targetObserver.observe(targetElement, OBSERVER_CONFIG);
143
143
  } else {
144
- logInfo('Target found with target ' + email);
145
- logInfo('Post data on email found in target with target');
144
+ _logInfo('Target found with target ' + email);
145
+ _logInfo('Post data on email found in target with target');
146
146
  postData();
147
147
  }
148
148
  }
@@ -150,15 +150,15 @@ function handleTargetElement() {
150
150
 
151
151
  function handleBodyElements() {
152
152
  if (doesInputElementsHaveEmail()) {
153
- logInfo('Email found in input elements ' + email);
154
- logInfo('Post data on email found in target without');
153
+ _logInfo('Email found in input elements ' + email);
154
+ _logInfo('Post data on email found in target without');
155
155
  postData();
156
156
  return;
157
157
  }
158
158
  email = getEmail(document.body.innerHTML);
159
159
  if (email !== null) {
160
- logInfo('Email found in body ' + email);
161
- logInfo('Post data on email found in the body without observer');
160
+ _logInfo('Email found in body ' + email);
161
+ _logInfo('Post data on email found in the body without observer');
162
162
  postData();
163
163
  return;
164
164
  }
@@ -185,10 +185,10 @@ function doesInputElementsHaveEmail() {
185
185
  function syncCallback() {
186
186
  return {
187
187
  success: function () {
188
- logInfo('Data synced successfully.');
188
+ _logInfo('Data synced successfully.');
189
189
  },
190
190
  error: function () {
191
- logInfo('Data sync failed.');
191
+ _logInfo('Data sync failed.');
192
192
  }
193
193
  }
194
194
  }
@@ -197,15 +197,15 @@ function postData() {
197
197
  (getGlobal()).refreshUserIds();
198
198
  const userIds = (getGlobal()).getUserIds();
199
199
  if (Object.keys(userIds).length === 0) {
200
- logInfo('No user ids');
200
+ _logInfo('No user ids');
201
201
  return;
202
202
  }
203
- logInfo('Users' + userIds);
203
+ _logInfo('Users' + userIds);
204
204
  const syncPayload = {};
205
205
  syncPayload.hid = MD5(email).toString();
206
206
  syncPayload.uids = userIds;
207
207
  const payloadString = JSON.stringify(syncPayload);
208
- logInfo(payloadString);
208
+ _logInfo(payloadString);
209
209
  ajax(conf.url, syncCallback(), payloadString, {method: 'POST', withCredentials: true});
210
210
  }
211
211
 
@@ -221,20 +221,20 @@ function associateIds() {
221
221
 
222
222
  export function setConfig(config) {
223
223
  if (!config) {
224
- logError('Required confirguration not provided');
224
+ _logError('Required confirguration not provided');
225
225
  return;
226
226
  }
227
227
  if (!config.url) {
228
- logError('The required url is not configured');
228
+ _logError('The required url is not configured');
229
229
  return;
230
230
  }
231
231
  if (typeof config.debounce !== 'number') {
232
232
  config.debounce = CONF_DEFAULT_OBSERVER_DEBOUNCE_MS;
233
- logInfo('Set default observer debounce to ' + CONF_DEFAULT_OBSERVER_DEBOUNCE_MS);
233
+ _logInfo('Set default observer debounce to ' + CONF_DEFAULT_OBSERVER_DEBOUNCE_MS);
234
234
  }
235
235
  if (typeof config.fullscan !== 'boolean') {
236
236
  config.fullscan = CONF_DEFAULT_FULL_BODY_SCAN;
237
- logInfo('Set default fullscan ' + CONF_DEFAULT_FULL_BODY_SCAN);
237
+ _logInfo('Set default fullscan ' + CONF_DEFAULT_FULL_BODY_SCAN);
238
238
  }
239
239
  conf = config;
240
240
  associateIds();
@@ -4,7 +4,7 @@
4
4
  * @module modules/idxIdSystem
5
5
  * @requires module:modules/userId
6
6
  */
7
- import * as utils from '../src/utils.js'
7
+ import { isStr, isPlainObject, logError } from '../src/utils.js';
8
8
  import { submodule } from '../src/hook.js';
9
9
  import { getStorageManager } from '../src/storageManager.js';
10
10
 
@@ -34,7 +34,7 @@ export const idxIdSubmodule = {
34
34
  * @return { Object | string | undefined }
35
35
  */
36
36
  decode(value) {
37
- const idxVal = value ? utils.isStr(value) ? value : utils.isPlainObject(value) ? value.id : undefined : undefined;
37
+ const idxVal = value ? isStr(value) ? value : isPlainObject(value) ? value.id : undefined : undefined;
38
38
  return idxVal ? {
39
39
  'idx': idxVal
40
40
  } : undefined;
@@ -52,7 +52,7 @@ export const idxIdSubmodule = {
52
52
  const idxObj = JSON.parse(idxString);
53
53
  return idxObj && idxObj.idx ? { id: idxObj.idx } : undefined;
54
54
  } catch (error) {
55
- utils.logError(error);
55
+ logError(error);
56
56
  }
57
57
  }
58
58
  return undefined;
@@ -1,5 +1,5 @@
1
+ import { deepAccess, deepSetValue, generateUUID } 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 {ajax} from '../src/ajax.js';
5
5
  import { createEidsArray } from './userId/eids.js';
@@ -43,14 +43,14 @@ const createOpenRtbRequest = (validBidRequests, bidderRequest) => {
43
43
  }
44
44
 
45
45
  // Set Schain in request
46
- let schain = utils.deepAccess(validBidRequests, '0.schain');
46
+ let schain = deepAccess(validBidRequests, '0.schain');
47
47
  if (schain) request.source.ext = { schain: schain };
48
48
 
49
49
  // Set eids
50
- let bidUserId = utils.deepAccess(validBidRequests, '0.userId');
50
+ let bidUserId = deepAccess(validBidRequests, '0.userId');
51
51
  let eids = createEidsArray(bidUserId);
52
52
  if (eids.length) {
53
- utils.deepSetValue(request, 'user.ext.eids', eids);
53
+ deepSetValue(request, 'user.ext.eids', eids);
54
54
  }
55
55
 
56
56
  // Set device/user/site
@@ -71,23 +71,23 @@ const createOpenRtbRequest = (validBidRequests, bidderRequest) => {
71
71
  let gdprApplies = 0;
72
72
  if (bidderRequest.gdprConsent) {
73
73
  if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') gdprApplies = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
74
- utils.deepSetValue(request, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
74
+ deepSetValue(request, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
75
75
  }
76
- utils.deepSetValue(request, 'regs.ext.gdpr', gdprApplies);
76
+ deepSetValue(request, 'regs.ext.gdpr', gdprApplies);
77
77
 
78
78
  if (bidderRequest.uspConsent) {
79
- utils.deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent);
79
+ deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent);
80
80
  this.syncStore.uspConsent = bidderRequest.uspConsent;
81
81
  }
82
82
 
83
- if (GETCONFIG('coppa') == true) utils.deepSetValue(request, 'regs.coppa', 1);
83
+ if (GETCONFIG('coppa') == true) deepSetValue(request, 'regs.coppa', 1);
84
84
 
85
85
  if (bidderRequest.uspConsent) {
86
- utils.deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent);
86
+ deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent);
87
87
  }
88
88
 
89
89
  // Set buyer uid
90
- utils.deepSetValue(request, 'user.buyeruid', utils.generateUUID());
90
+ deepSetValue(request, 'user.buyeruid', generateUUID());
91
91
 
92
92
  // Create imps with bids
93
93
  validBidRequests.forEach((bid) => {
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { deepSetValue, logError, _each, getBidRequest, isNumber, isArray, deepAccess, isFn, isPlainObject, logWarn, getBidIdParameter, getUniqueIdentifierStr, isEmpty, isInteger } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { config } from '../src/config.js';
4
4
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
@@ -62,7 +62,7 @@ export const spec = {
62
62
  if (bidRequests[0].userId) {
63
63
  const eids = createEidsArray(bidRequests[0].userId);
64
64
  if (eids.length) {
65
- utils.deepSetValue(requestParameters, 'user.ext.eids', eids);
65
+ deepSetValue(requestParameters, 'user.ext.eids', eids);
66
66
  }
67
67
  }
68
68
 
@@ -72,7 +72,7 @@ export const spec = {
72
72
  );
73
73
 
74
74
  if (requestObj.errors && requestObj.errors.length > 0) {
75
- utils.logError('ID WARNING 0x01');
75
+ logError('ID WARNING 0x01');
76
76
  }
77
77
  requestObj.requests.forEach(request => request.bidderRequest = bidderRequest);
78
78
  return requestObj.requests;
@@ -86,13 +86,13 @@ export const spec = {
86
86
  */
87
87
  interpretResponse: function (serverResponse, {bidderRequest}) {
88
88
  const bids = [];
89
- utils._each(serverResponse.body.bid, function (bidObject) {
89
+ _each(serverResponse.body.bid, function (bidObject) {
90
90
  if (!bidObject.price || bidObject.price === null ||
91
91
  bidObject.hasOwnProperty('errorCode') ||
92
92
  (!bidObject.adm && !bidObject.native)) {
93
93
  return;
94
94
  }
95
- const bidRequest = utils.getBidRequest(bidObject.id, [bidderRequest]);
95
+ const bidRequest = getBidRequest(bidObject.id, [bidderRequest]);
96
96
  const bid = {};
97
97
 
98
98
  if (bidObject.native) {
@@ -132,7 +132,7 @@ export const spec = {
132
132
 
133
133
  // Deal ID. Composite ads can have multiple line items and the ID of the first
134
134
  // dealID line item will be used.
135
- if (utils.isNumber(bidObject.lid) && bidObject.buying_type && bidObject.buying_type !== 'rtb') {
135
+ if (isNumber(bidObject.lid) && bidObject.buying_type && bidObject.buying_type !== 'rtb') {
136
136
  bid.dealId = bidObject.lid;
137
137
  } else if (Array.isArray(bidObject.lid) &&
138
138
  Array.isArray(bidObject.buying_type) &&
@@ -181,7 +181,7 @@ export const spec = {
181
181
  const syncs = [];
182
182
  serverResponses.forEach(response => {
183
183
  response.body.bid.forEach(bidObject => {
184
- if (utils.isArray(bidObject.sync)) {
184
+ if (isArray(bidObject.sync)) {
185
185
  bidObject.sync.forEach(syncElement => {
186
186
  if (syncs.indexOf(syncElement) === -1) {
187
187
  syncs.push(syncElement);
@@ -197,15 +197,15 @@ export const spec = {
197
197
  };
198
198
 
199
199
  function isInstreamVideo(bid) {
200
- const mediaTypes = Object.keys(utils.deepAccess(bid, 'mediaTypes', {}));
201
- const videoMediaType = utils.deepAccess(bid, 'mediaTypes.video');
202
- const context = utils.deepAccess(bid, 'mediaTypes.video.context');
200
+ const mediaTypes = Object.keys(deepAccess(bid, 'mediaTypes', {}));
201
+ const videoMediaType = deepAccess(bid, 'mediaTypes.video');
202
+ const context = deepAccess(bid, 'mediaTypes.video.context');
203
203
  return bid.mediaType === 'video' || (mediaTypes.length === 1 && videoMediaType && context !== 'outstream');
204
204
  }
205
205
 
206
206
  function isOutstreamVideo(bid) {
207
- const videoMediaType = utils.deepAccess(bid, 'mediaTypes.video');
208
- const context = utils.deepAccess(bid, 'mediaTypes.video.context');
207
+ const videoMediaType = deepAccess(bid, 'mediaTypes.video');
208
+ const context = deepAccess(bid, 'mediaTypes.video.context');
209
209
  return videoMediaType && context === 'outstream';
210
210
  }
211
211
 
@@ -225,7 +225,7 @@ function getVideoTargetingParams(bid) {
225
225
  }
226
226
 
227
227
  function getBidFloor(bid) {
228
- if (!utils.isFn(bid.getFloor)) {
228
+ if (!isFn(bid.getFloor)) {
229
229
  return null;
230
230
  }
231
231
  const floor = bid.getFloor({
@@ -233,7 +233,7 @@ function getBidFloor(bid) {
233
233
  mediaType: '*',
234
234
  size: '*'
235
235
  });
236
- if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
236
+ if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
237
237
  return floor.floor;
238
238
  }
239
239
  return null;
@@ -259,31 +259,31 @@ function createRenderer(bidRequest) {
259
259
  id: bidRequest.adUnitCode,
260
260
  url: RENDERER_URL,
261
261
  loaded: false,
262
- config: utils.deepAccess(bidRequest, 'renderer.options'),
262
+ config: deepAccess(bidRequest, 'renderer.options'),
263
263
  adUnitCode: bidRequest.adUnitCode
264
264
  });
265
265
  try {
266
266
  renderer.setRender(outstreamRender);
267
267
  } catch (err) {
268
- utils.logWarn('Prebid Error calling setRender on renderer', err);
268
+ logWarn('Prebid Error calling setRender on renderer', err);
269
269
  }
270
270
  return renderer;
271
271
  }
272
272
 
273
273
  function getNormalizedBidRequest(bid) {
274
- let adUnitId = utils.getBidIdParameter('adUnitCode', bid) || null;
275
- let placementId = utils.getBidIdParameter('placementId', bid.params) || null;
274
+ let adUnitId = getBidIdParameter('adUnitCode', bid) || null;
275
+ let placementId = getBidIdParameter('placementId', bid.params) || null;
276
276
  let publisherId = null;
277
277
  let placementKey = null;
278
278
 
279
279
  if (placementId === null) {
280
- publisherId = utils.getBidIdParameter('publisherId', bid.params) || null;
281
- placementKey = utils.getBidIdParameter('placementKey', bid.params) || null;
280
+ publisherId = getBidIdParameter('publisherId', bid.params) || null;
281
+ placementKey = getBidIdParameter('placementKey', bid.params) || null;
282
282
  }
283
- const keyValues = utils.getBidIdParameter('keyValues', bid.params) || null;
284
- const singleSizeFilter = utils.getBidIdParameter('size', bid.params) || null;
285
- const bidId = utils.getBidIdParameter('bidId', bid);
286
- const transactionId = utils.getBidIdParameter('transactionId', bid);
283
+ const keyValues = getBidIdParameter('keyValues', bid.params) || null;
284
+ const singleSizeFilter = getBidIdParameter('size', bid.params) || null;
285
+ const bidId = getBidIdParameter('bidId', bid);
286
+ const transactionId = getBidIdParameter('transactionId', bid);
287
287
  const currency = config.getConfig('currency.adServerCurrency');
288
288
 
289
289
  let normalizedBidRequest = {};
@@ -332,8 +332,8 @@ function getNormalizedBidRequest(bid) {
332
332
  let bidFloor = getBidFloor(bid);
333
333
  let bidFloorCur = null;
334
334
  if (!bidFloor) {
335
- bidFloor = utils.getBidIdParameter('bidFloor', bid.params);
336
- bidFloorCur = utils.getBidIdParameter('bidFloorCur', bid.params);
335
+ bidFloor = getBidIdParameter('bidFloor', bid.params);
336
+ bidFloorCur = getBidIdParameter('bidFloorCur', bid.params);
337
337
  }
338
338
  if (bidFloor) {
339
339
  normalizedBidRequest.bidFloor = bidFloor;
@@ -344,7 +344,7 @@ function getNormalizedBidRequest(bid) {
344
344
 
345
345
  function getNormalizedNativeAd(rawNative) {
346
346
  const native = {};
347
- if (!rawNative || !utils.isArray(rawNative.assets)) {
347
+ if (!rawNative || !isArray(rawNative.assets)) {
348
348
  return null;
349
349
  }
350
350
  // Assets
@@ -475,7 +475,7 @@ export function ImproveDigitalAdServerJSClient(endPoint) {
475
475
 
476
476
  let impressionObjects = [];
477
477
  let impressionObject;
478
- if (utils.isArray(requestObject)) {
478
+ if (isArray(requestObject)) {
479
479
  for (let counter = 0; counter < requestObject.length; counter++) {
480
480
  impressionObject = this.createImpressionObject(requestObject[counter]);
481
481
  impressionObjects.push(impressionObject);
@@ -576,7 +576,7 @@ export function ImproveDigitalAdServerJSClient(endPoint) {
576
576
  if (requestParameters.requestId) {
577
577
  impressionBidRequestObject.id = requestParameters.requestId;
578
578
  } else {
579
- impressionBidRequestObject.id = utils.getUniqueIdentifierStr();
579
+ impressionBidRequestObject.id = getUniqueIdentifierStr();
580
580
  }
581
581
  if (requestParameters.domain) {
582
582
  impressionBidRequestObject.domain = requestParameters.domain;
@@ -625,7 +625,7 @@ export function ImproveDigitalAdServerJSClient(endPoint) {
625
625
  if (placementObject.id) {
626
626
  impressionObject.id = placementObject.id;
627
627
  } else {
628
- impressionObject.id = utils.getUniqueIdentifierStr();
628
+ impressionObject.id = getUniqueIdentifierStr();
629
629
  }
630
630
  if (placementObject.adTypes) {
631
631
  impressionObject.ad_types = placementObject.adTypes;
@@ -654,18 +654,18 @@ export function ImproveDigitalAdServerJSClient(endPoint) {
654
654
  if (placementObject.transactionId) {
655
655
  impressionObject.tid = placementObject.transactionId;
656
656
  }
657
- if (!utils.isEmpty(placementObject.video)) {
657
+ if (!isEmpty(placementObject.video)) {
658
658
  const video = Object.assign({}, placementObject.video);
659
659
  // skip must be 0 or 1
660
660
  if (video.skip !== 1) {
661
661
  delete video.skipmin;
662
662
  delete video.skipafter;
663
663
  if (video.skip !== 0) {
664
- utils.logWarn(`video.skip: invalid value '${video.skip}'. Expected 0 or 1`);
664
+ logWarn(`video.skip: invalid value '${video.skip}'. Expected 0 or 1`);
665
665
  delete video.skip;
666
666
  }
667
667
  }
668
- if (!utils.isEmpty(video)) {
668
+ if (!isEmpty(video)) {
669
669
  impressionObject.video = video;
670
670
  }
671
671
  }
@@ -687,11 +687,11 @@ export function ImproveDigitalAdServerJSClient(endPoint) {
687
687
 
688
688
  // Set of desired creative sizes
689
689
  // Input Format: array of pairs, i.e. [[300, 250], [250, 250]]
690
- if (placementObject.format && utils.isArray(placementObject.format)) {
690
+ if (placementObject.format && isArray(placementObject.format)) {
691
691
  const format = placementObject.format
692
692
  .filter(sizePair => sizePair.length === 2 &&
693
- utils.isInteger(sizePair[0]) &&
694
- utils.isInteger(sizePair[1]) &&
693
+ isInteger(sizePair[0]) &&
694
+ isInteger(sizePair[1]) &&
695
695
  sizePair[0] >= 0 &&
696
696
  sizePair[1] >= 0)
697
697
  .map(sizePair => {
@@ -5,7 +5,7 @@
5
5
  * @requires module:modules/userId
6
6
  */
7
7
 
8
- import * as utils from '../src/utils.js'
8
+ import { timestamp, logError } from '../src/utils.js';
9
9
  import { ajax } from '../src/ajax.js'
10
10
  import { submodule } from '../src/hook.js';
11
11
  import { getStorageManager } from '../src/storageManager.js';
@@ -20,7 +20,7 @@ const cookiesMaxAge = 97200000000; // 37 months ((365 * 3 + 30) * 24 * 60 * 60 *
20
20
 
21
21
  export function setImDataInLocalStorage(value) {
22
22
  storage.setDataInLocalStorage(storageKey, value);
23
- storage.setDataInLocalStorage(`${storageKey}_mt`, new Date(utils.timestamp()).toUTCString());
23
+ storage.setDataInLocalStorage(`${storageKey}_mt`, new Date(timestamp()).toUTCString());
24
24
  }
25
25
 
26
26
  export function removeImDataFromLocalStorage() {
@@ -32,7 +32,7 @@ function setImDataInCookie(value) {
32
32
  storage.setCookie(
33
33
  cookieKey,
34
34
  value,
35
- new Date(utils.timestamp() + cookiesMaxAge).toUTCString(),
35
+ new Date(timestamp() + cookiesMaxAge).toUTCString(),
36
36
  'none'
37
37
  );
38
38
  }
@@ -73,7 +73,7 @@ export function getApiCallback(callback) {
73
73
  responseObj = JSON.parse(response);
74
74
  apiSuccessProcess(responseObj);
75
75
  } catch (error) {
76
- utils.logError('User ID - imuid submodule: ' + error);
76
+ logError('User ID - imuid submodule: ' + error);
77
77
  }
78
78
  }
79
79
  if (callback && responseObj.uid) {
@@ -81,7 +81,7 @@ export function getApiCallback(callback) {
81
81
  }
82
82
  },
83
83
  error: error => {
84
- utils.logError('User ID - imuid submodule was unable to get data from api: ' + error);
84
+ logError('User ID - imuid submodule was unable to get data from api: ' + error);
85
85
  if (callback) {
86
86
  callback();
87
87
  }
@@ -128,7 +128,7 @@ export const imuIdSubmodule = {
128
128
  getId(config) {
129
129
  const configParams = (config && config.params) || {};
130
130
  if (!configParams || typeof configParams.cid !== 'number') {
131
- utils.logError('User ID - imuid submodule requires a valid cid to be defined');
131
+ logError('User ID - imuid submodule requires a valid cid to be defined');
132
132
  return undefined;
133
133
  }
134
134
  let apiUrl = getApiUrl(configParams.cid, configParams.url);
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { logError } 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, VIDEO } from '../src/mediaTypes.js';
@@ -83,7 +83,7 @@ export const spec = {
83
83
  bidResponses.push(bidResponse);
84
84
  }
85
85
  } catch (error) {
86
- utils.logError('Error while parsing inmar response', error);
86
+ logError('Error while parsing inmar response', error);
87
87
  }
88
88
  return bidResponses;
89
89
  },
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { parseSizesInput, timestamp } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
 
4
4
  const BIDDER_CODE = 'innity';
@@ -11,13 +11,13 @@ export const spec = {
11
11
  },
12
12
  buildRequests: function(validBidRequests, bidderRequest) {
13
13
  return validBidRequests.map(bidRequest => {
14
- let parseSized = utils.parseSizesInput(bidRequest.sizes);
14
+ let parseSized = parseSizesInput(bidRequest.sizes);
15
15
  let arrSize = parseSized[0].split('x');
16
16
  return {
17
17
  method: 'GET',
18
18
  url: ENDPOINT,
19
19
  data: {
20
- cb: utils.timestamp(),
20
+ cb: timestamp(),
21
21
  ver: 2,
22
22
  hb: 1,
23
23
  output: 'js',
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { createTrackPixelHtml } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
 
4
4
  const BIDDER_CODE = 'inskin';
@@ -55,6 +55,18 @@ export const spec = {
55
55
  parallel: true
56
56
  }, validBidRequests[0].params);
57
57
 
58
+ if (data.publisherId) {
59
+ data.rtb = {
60
+ schain: {
61
+ ext: {
62
+ sid: String(data.publisherId)
63
+ }
64
+ }
65
+ };
66
+
67
+ delete data.publisherId;
68
+ }
69
+
58
70
  data.keywords = data.keywords || [];
59
71
  const restrictions = [];
60
72
 
@@ -277,7 +289,7 @@ function getSize(sizes) {
277
289
  }
278
290
 
279
291
  function retrieveAd(bidId, decision) {
280
- return "<script>window.top.postMessage({from: 'ism-bid', bidId: '" + bidId + "'}, '*');\x3c/script>" + utils.createTrackPixelHtml(decision.impressionUrl);
292
+ return "<script>window.top.postMessage({from: 'ism-bid', bidId: '" + bidId + "'}, '*');\x3c/script>" + createTrackPixelHtml(decision.impressionUrl);
281
293
  }
282
294
 
283
295
  function checkConsent(P, d) {
@@ -1,14 +1,14 @@
1
1
  # Overview
2
2
 
3
- Module Name: InSkin Bid Adapter
3
+ Module Name: Inskin Bid Adapter
4
4
 
5
5
  Module Type: Bid Adapter
6
6
 
7
- Maintainer: jgrimes@adzerk.com
7
+ Maintainer: tech@inskinmedia.com
8
8
 
9
9
  # Description
10
10
 
11
- Connects to InSkin Media for receiving bids from configured demand sources.
11
+ Connects to Inskin Media for receiving bids from configured demand sources.
12
12
 
13
13
  # Test Parameters
14
14
  ```javascript
@@ -21,7 +21,8 @@ Connects to InSkin Media for receiving bids from configured demand sources.
21
21
  bidder: 'inskin',
22
22
  params: {
23
23
  networkId: '9874',
24
- siteId: '983808'
24
+ siteId: '983808',
25
+ publisherId: '123456'
25
26
  }
26
27
  }
27
28
  ]