prebid.js 10.2.0 → 10.4.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.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +254 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +7 -7
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/gulpfile.js +0 -7
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/openxBidAdapter.js +6 -1
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +262 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +2 -3
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onetagBidAdapter_spec.js","names":["spec","isValid","hasTypeVideo","isSchainValid","expect","BANNER","VIDEO","NATIVE","INSTREAM","OUTSTREAM","toOrtbNativeRequest","hasTypeNative","NATIVE_SUFFIX","getFloor","params","floorPrice","mediaType","currency","floor","describe","createBid","createNativeLegacyBid","bidRequest","bid","mediaTypes","native","adTemplate","title","required","sendId","body","cta","displayUrl","icon","image","sponsoredBy","addNativeParams","ortbConversion","nativeParams","ortb","floors","schema","delimiter","fields","values","bidParams","property","createNativeBid","ver","assets","id","len","img","type","wmin","hmin","data","video","mimes","minduration","maxduration","protocols","eventtrackers","event","methods","url","createBannerBid","banner","sizes","createInstreamVideoBid","context","playerSize","createOutstreamVideoBid","createMultiFormatBid","bannerBid","instreamVideoBid","outstreamVideoBid","nativeBid","nativeLegacyBid","beforeEach","it","isBidRequestValid","to","be","true","pubId","false","undefined","Reflect","deleteProperty","titleIndex","findIndex","asset","legacyTitleIndex","dataIndex","videoIndex","videoBid","bids","JSON","parse","buildRequests","length","equal","bidId","requestBid","multiFormatRequest","serverResponse","requestId","ad","vastUrl","responseBids","interpretResponse","serverRequest","before","exist","method","an","include","all","keys","location","satisfy","value","referrer","stack","numIframes","a","sHeight","sWidth","wWidth","wHeight","oHeight","oWidth","aWidth","aHeight","sLeft","sTop","hLength","networkConnectionType","networkEffectiveConnectionType","fledgeEnabled","version","have","i","mediaTypeInfo","key","schain","priceFloors","every","priceFloor","size","Object","width","height","dataString","dataObj","that","is","empty","e","payload","and","auctionId","ortb2","source","tid","transactionId","ortb2Imp","ext","deep","consentString","addtlConsent","bidderRequest","gdprApplies","gdprConsent","consentRequired","applicableSections","gppString","gppConsent","same","members","usPrivacy","firtPartyData","site","name","domain","cat","sectioncat","pagecat","page","ref","keywords","search","content","userrating","segtax","cids","segment","pageType","category","user","registered","interests","regs","gpp","gpp_sid","dsa","paapi","enabled","request","getBannerVideoRequest","response","getBannerVideoNativeResponse","fledgeResponse","getFledgeBannerResponse","requestData","interpretedResponse","fledgeInterpretedResponse","not","Array","isArray","dataItem","meta","find","item","videoCacheKey","renderer","vastXml","cpm","ttl","creativeId","netRevenue","advertiserDomains","serverResponses","dsaResponseObj","responseWithDsa","forEach","equals","sync_endpoint","syncs","getUserSyncs","iframeEnabled","match","usConsentString","missingAsiNode","missingSidNode","missingHpNode","validSchain","nobid","dealId","adomain","rendererUrl","text","link","clicktrackers","bannerVideoResponse","fledgeAuctionConfigs","config","seller","decisionLogicUrl","interestGroupBuyers","stringify","adUnitCode","bidderRequestId","masked","xOffset","yOffset","docHidden","timing","pageLoadTime","connectTime","renderTime","onetagSid"],"sourceRoot":"../../../../..","sources":["test/spec/modules/onetagBidAdapter_spec.js"],"sourcesContent":["import { spec, isValid, hasTypeVideo, isSchainValid } from 'modules/onetagBidAdapter.js';\nimport { expect } from 'chai';\nimport { BANNER, VIDEO, NATIVE } from 'src/mediaTypes.js';\nimport { INSTREAM, OUTSTREAM } from 'src/video.js';\nimport { toOrtbNativeRequest } from 'src/native.js';\nimport { hasTypeNative } from '../../../modules/onetagBidAdapter.js';\n\nconst NATIVE_SUFFIX = 'Ad';\n\nconst getFloor = function(params) {\n let floorPrice = 0.0001;\n switch (params.mediaType) {\n case BANNER:\n floorPrice = 1.0;\n break;\n case VIDEO:\n floorPrice = 2.0;\n break;\n case INSTREAM:\n floorPrice = 3.0;\n break;\n case OUTSTREAM:\n floorPrice = 4.0;\n break;\n case NATIVE:\n floorPrice = 5.0;\n break;\n }\n return {currency: params.currency, floor: floorPrice};\n};\n\ndescribe('onetag', function () {\n function createBid() {\n return {\n 'bidder': 'onetag',\n 'params': {\n 'pubId': '386276e072',\n },\n 'adUnitCode': 'adunit-code',\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n 'ortb2Imp': {\n 'ext': {\n 'tid': '0000'\n }\n },\n 'ortb2': {\n 'source': {\n 'tid': '1111'\n }\n },\n 'schain': {\n 'validation': 'off',\n 'config': {\n 'ver': '1.0',\n 'complete': 1,\n 'nodes': [\n {\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }\n ]\n }\n },\n };\n }\n\n function createNativeLegacyBid(bidRequest) {\n let bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.native = {\n adTemplate: \"<div><figure><img decoding=\\\"async\\\" referrerpolicy=\\\"no-referrer\\\" loading=\\\"lazy\\\" src=\\\"##hb_native_image##\\\" alt=\\\"##hb_native_brand##\\\" width=\\\"0\\\" height=\\\"0\\\"></figure><div class=\\\"a-nativeframe__text\\\"><span class=\\\"a-nativeframe__label\\\">##hb_native_brand##</span><h3 class=\\\"a-nativeframe__title\\\">##hb_native_title##</h3><div class=\\\"a-nativeframe__details\\\"><span class=\\\"a-nativeframe__cta\\\">##hb_native_cta##</span><span class=\\\"a-nativeframe__info\\\">##hb_native_brand##</span></div></div><a class=\\\"o-faux-link\\\" href=\\\"##hb_native_linkurl##\\\" target=\\\"_blank\\\"></a>\",\n title: {\n required: 1,\n sendId: 1\n },\n body: {\n required: 1,\n sendId: 1\n },\n cta: {\n required: 0,\n sendId: 1\n },\n displayUrl: {\n required: 0,\n sendId: 1\n },\n icon: {\n required: 0,\n sendId: 1\n },\n image: {\n required: 1,\n sendId: 1\n },\n sponsoredBy: {\n required: 1,\n sendId: 1\n }\n }\n bid = addNativeParams(bid);\n const ortbConversion = toOrtbNativeRequest(bid.nativeParams);\n bid.mediaTypes.native = {};\n bid.mediaTypes.native.adTemplate = bid.nativeParams.adTemplate;\n bid.mediaTypes.native.ortb = ortbConversion;\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'native|*': 1.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function addNativeParams(bidRequest) {\n const bidParams = bidRequest.nativeParams || {};\n for (const property in bidRequest.mediaTypes.native) {\n bidParams[property] = bidRequest.mediaTypes.native[property];\n }\n bidRequest.nativeParams = bidParams;\n return bidRequest;\n }\n\n function createNativeBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n\n bid.mediaTypes.native = {\n ortb: {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 140\n }\n },\n {\n id: 2,\n required: true,\n img: {\n type: 3,\n wmin: 100,\n hmin: 100,\n }\n },\n {\n id: 3,\n required: true,\n data: {\n type: 6\n }\n },\n {\n id: 4,\n video: {\n mimes: ['video/mp4', 'video/x-mswmv'],\n minduration: 5,\n maxduration: 30,\n protocols: [2, 3]\n }\n }],\n eventtrackers: [{\n event: 1,\n methods: [1],\n url: 'sample-url'\n }]\n }\n };\n\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'native|*': 1.10\n }\n }\n bid.getFloor = getFloor;\n\n return bid;\n }\n\n function createBannerBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.banner = {\n sizes: [[300, 250]]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'banner|300x250': 0.10\n }\n }\n bid.getFloor = getFloor;\n\n return bid;\n }\n\n function createInstreamVideoBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.video = {\n context: 'instream',\n mimes: ['video/mp4', 'video/webm', 'application/javascript', 'video/ogg'],\n playerSize: [640, 480]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'video|640x480': 0.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function createOutstreamVideoBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.video = {\n context: 'outstream',\n mimes: ['video/mp4', 'video/webm', 'application/javascript', 'video/ogg'],\n playerSize: [640, 480]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'video|640x480': 0.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function createMultiFormatBid() {\n return createInstreamVideoBid(createBannerBid());\n }\n\n let bannerBid, instreamVideoBid, outstreamVideoBid, nativeBid, nativeLegacyBid;\n beforeEach(() => {\n bannerBid = createBannerBid();\n instreamVideoBid = createInstreamVideoBid();\n outstreamVideoBid = createOutstreamVideoBid();\n nativeBid = createNativeBid();\n nativeLegacyBid = createNativeLegacyBid();\n })\n\n describe('isBidRequestValid', function () {\n it('Should return true when required params are found', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.be.true;\n });\n it('Should return false when pubId is not a string', function () {\n bannerBid.params.pubId = 30;\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n it('Should return false when pubId is undefined', function () {\n bannerBid.params.pubId = undefined;\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n describe('banner bidRequest', function () {\n it('Should return false when the sizes array is empty', function () {\n bannerBid.mediaTypes.banner.sizes = [];\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n });\n describe('native bidRequest', function () {\n it('Should return true when correct native bid is passed', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n expect(spec.isBidRequestValid(nativeBid)).to.be.true && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.true;\n });\n it('Should return false when native is not an object', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native = nativeLegacyBid.mediaTypes.native = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb if defined but it isn\\'t an object', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb = 30 || 'string';\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets is not an array', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native.ortb.assets = nativeLegacyBid.mediaTypes.native.ortb.assets = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets is an empty array', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native.ortb.assets = nativeLegacyBid.mediaTypes.native.ortb.assets = [];\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] doesnt have \\'id\\'', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[0], 'id');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[0], 'id');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] doesnt have any of \\'title\\', \\'img\\', \\'data\\' and \\'video\\' properties', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const titleIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n const legacyTitleIndex = nativeLegacyBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[titleIndex], 'title');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[legacyTitleIndex], 'title');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] have title, but doesnt have \\'len\\' property', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const titleIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n const legacyTitleIndex = nativeLegacyBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[titleIndex].title, 'len');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[legacyTitleIndex].title, 'len');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is data but doesnt have \\'type\\' property', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const dataIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.data);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[dataIndex].data, 'type');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[dataIndex].data, 'type');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'mimes\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'mimes');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'minduration\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'minduration');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'maxduration\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'maxduration');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'protocols\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'protocols');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers is not an array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].event is not a number', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].event = 'test-string';\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].event is not defined', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].event = undefined;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].methods is not an array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].methods = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].methods is empty array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].methods = [];\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n });\n describe('video bidRequest', function () {\n it('Should return false when the context is undefined', function () {\n instreamVideoBid.mediaTypes.video.context = undefined;\n expect(spec.isBidRequestValid(instreamVideoBid)).to.be.false;\n });\n it('Should return false when the context is not instream or outstream', function () {\n instreamVideoBid.mediaTypes.video.context = 'wrong';\n expect(spec.isBidRequestValid(instreamVideoBid)).to.be.false;\n });\n it('Should return false when playerSize is undefined', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = undefined;\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return false when playerSize is not an array', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = 30;\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return false when playerSize is an empty array', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = [];\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return true when context is outstream', function () {\n expect(spec.isBidRequestValid(outstreamVideoBid)).to.be.true;\n });\n });\n describe('multi format bidRequest', function () {\n it('Should return true when correct multi format bid is passed', function () {\n expect(spec.isBidRequestValid(createMultiFormatBid())).to.be.true;\n });\n it('Should split multi format bid into two single format bid with same bidId', function () {\n const bids = JSON.parse(spec.buildRequests([createMultiFormatBid()]).data).bids;\n expect(bids.length).to.equal(2);\n expect(bids[0].bidId).to.equal(bids[1].bidId);\n });\n it('Should retrieve correct request bid when extracting video request data', function () {\n const requestBid = createMultiFormatBid();\n const multiFormatRequest = spec.buildRequests([requestBid]);\n const serverResponse = {\n body: {\n bids: [\n {\n mediaType: BANNER,\n requestId: requestBid.bidId,\n ad: 'test-banner'\n }, {\n mediaType: VIDEO,\n requestId: requestBid.bidId,\n vastUrl: 'test-video'\n }\n ]\n }\n };\n const responseBids = spec.interpretResponse(serverResponse, multiFormatRequest);\n expect(responseBids.length).to.equal(2);\n expect(responseBids[0].ad).to.equal('test-banner');\n expect(responseBids[1].vastUrl).to.equal('test-video');\n });\n });\n });\n\n describe('buildRequests', function () {\n let serverRequest, data;\n before(() => {\n serverRequest = spec.buildRequests([bannerBid, instreamVideoBid, nativeBid, nativeLegacyBid]);\n data = JSON.parse(serverRequest.data);\n });\n\n it('Creates a ServerRequest object with method, URL and data', function () {\n expect(serverRequest).to.exist;\n expect(serverRequest.method).to.exist;\n expect(serverRequest.url).to.exist;\n expect(serverRequest.data).to.exist;\n });\n it('Returns POST method', function () {\n expect(serverRequest.method).to.equal('POST');\n });\n it('Returns valid URL', function () {\n expect(serverRequest.url).to.equal('https://onetag-sys.com/prebid-request');\n });\n it('Should contain all keys', function () {\n expect(data).to.be.an('object');\n expect(data).to.include.all.keys('location', 'referrer', 'stack', 'numIframes', 'sHeight', 'sWidth', 'docHeight', 'wHeight', 'wWidth', 'oHeight', 'oWidth', 'aWidth', 'aHeight', 'sLeft', 'sTop', 'hLength', 'bids', 'docHidden', 'xOffset', 'yOffset', 'networkConnectionType', 'networkEffectiveConnectionType', 'timing', 'version', 'fledgeEnabled');\n expect(data.location).to.satisfy(function (value) {\n return value === null || typeof value === 'string';\n });\n expect(data.referrer).to.satisfy(referrer => referrer === null || typeof referrer === 'string');\n expect(data.stack).to.be.an('array');\n expect(data.numIframes).to.be.a('number');\n expect(data.sHeight).to.be.a('number');\n expect(data.sWidth).to.be.a('number');\n expect(data.wWidth).to.be.a('number');\n expect(data.wHeight).to.be.a('number');\n expect(data.oHeight).to.be.a('number');\n expect(data.oWidth).to.be.a('number');\n expect(data.aWidth).to.be.a('number');\n expect(data.aHeight).to.be.a('number');\n expect(data.sLeft).to.be.a('number');\n expect(data.sTop).to.be.a('number');\n expect(data.hLength).to.be.a('number');\n expect(data.networkConnectionType).to.satisfy(function (value) {\n return value === null || typeof value === 'string'\n });\n expect(data.networkEffectiveConnectionType).to.satisfy(function (value) {\n return value === null || typeof value === 'string'\n });\n expect(data.fledgeEnabled).to.be.a('boolean');\n expect(data.bids).to.be.an('array');\n expect(data.version).to.have.all.keys('prebid', 'adapter');\n const bids = data['bids'];\n for (let i = 0; i < bids.length; i++) {\n const bid = bids[i];\n if (hasTypeVideo(bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'context',\n 'playerSize',\n 'mediaTypeInfo',\n 'type',\n 'priceFloors'\n );\n } else if (hasTypeNative(bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'mediaTypeInfo',\n 'sizes',\n 'type',\n 'priceFloors'\n ) &&\n expect(bid.mediaTypeInfo).to.have.key('ortb');\n } else if (isValid(BANNER, bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'mediaTypeInfo',\n 'sizes',\n 'type',\n 'priceFloors'\n );\n }\n if (bid.schain && isSchainValid(bid.schain)) {\n expect(data).to.have.all.keys('schain');\n }\n expect(bid.bidId).to.be.a('string');\n expect(bid.pubId).to.be.a('string');\n expect(bid.priceFloors).to.be.an('array');\n expect(bid.priceFloors).to.satisfy(function (priceFloors) {\n if (priceFloors.length === 0) {\n return true;\n }\n return priceFloors.every(function (priceFloor) {\n expect(priceFloor).to.have.all.keys('currency', 'floor', 'size');\n expect(priceFloor.currency).to.be.a('string');\n expect(priceFloor.floor).to.be.a('number');\n expect(priceFloor.size).to.satisfy(function (size) {\n if (typeof size !== 'object' && size !== null && typeof size !== 'undefined') {\n return false;\n }\n if (size !== null) {\n const keys = Object.keys(size);\n if (keys.length == 0) {\n return true;\n }\n expect(size).to.have.keys('width', 'height');\n expect(size.width).to.be.a('number');\n expect(size.height).to.be.a('number');\n }\n return true;\n });\n return true;\n });\n });\n }\n });\n it('Returns empty data if no valid requests are passed', function () {\n serverRequest = spec.buildRequests([]);\n const dataString = serverRequest.data;\n try {\n const dataObj = JSON.parse(dataString);\n expect(dataObj.bids).to.be.an('array').that.is.empty;\n } catch (e) { }\n });\n it('Should pick each bid\\'s auctionId and transactionId from ortb2 related fields', function () {\n const serverRequest = spec.buildRequests([bannerBid]);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.bids).to.exist.and.to.have.length(1);\n expect(payload.bids[0].auctionId).to.equal(bannerBid.ortb2.source.tid);\n expect(payload.bids[0].transactionId).to.equal(bannerBid.ortb2Imp.ext.tid);\n expect(payload.bids[0].ortb2Imp).to.deep.equal(bannerBid.ortb2Imp);\n });\n it('should send GDPR consent data', function () {\n const consentString = 'consentString';\n const addtlConsent = '2~1.35.41.101~dv.9.21.81';\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'gdprConsent': {\n consentString: consentString,\n gdprApplies: true,\n addtlConsent: addtlConsent\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.gdprConsent).to.exist;\n expect(payload.gdprConsent.consentString).to.exist.and.to.equal(consentString);\n expect(payload.gdprConsent.addtlConsent).to.exist.and.to.equal(addtlConsent);\n expect(payload.gdprConsent.consentRequired).to.exist.and.to.be.true;\n });\n it('Should send GPP consent data', function () {\n const consentString = 'consentString';\n const applicableSections = [1, 2, 3];\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'gppConsent': {\n gppString: consentString,\n applicableSections: applicableSections\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.gppConsent).to.exist;\n expect(payload.gppConsent.consentString).to.exist.and.to.equal(consentString);\n expect(payload.gppConsent.applicableSections).to.have.same.members(applicableSections);\n });\n it('Should send us privacy string', function () {\n const consentString = 'us_foo';\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'uspConsent': consentString\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.usPrivacy).to.exist;\n expect(payload.usPrivacy).to.exist.and.to.equal(consentString);\n });\n it('Should send FPD (ortb2 field)', function () {\n const firtPartyData = {\n // this is where the contextual data is placed\n site: {\n name: 'example',\n domain: 'page.example.com',\n // OpenRTB 2.5 spec / Content Taxonomy\n cat: ['IAB2'],\n sectioncat: ['IAB2-2'],\n pagecat: ['IAB2-2'],\n page: 'https://page.example.com/here.html',\n ref: 'https://ref.example.com',\n keywords: 'power tools, drills',\n search: 'drill',\n content: {\n userrating: '4',\n data: [{\n name: 'www.dataprovider1.com', // who resolved the segments\n ext: {\n segtax: 7, // taxonomy used to encode the segments\n cids: ['iris_c73g5jq96mwso4d8']\n },\n // the bare minimum are the IDs. These IDs are the ones from the new IAB Content Taxonomy v3\n segment: [ { id: '687' }, { id: '123' } ]\n }]\n },\n ext: {\n data: { // fields that aren't part of openrtb 2.6\n pageType: 'article',\n category: 'repair'\n }\n }\n },\n // this is where the user data is placed\n user: {\n keywords: 'a,b',\n data: [{\n name: 'dataprovider.com',\n ext: {\n segtax: 4\n },\n segment: [{\n id: '1'\n }]\n }],\n ext: {\n data: {\n registered: true,\n interests: ['cars']\n }\n }\n },\n regs: {\n gpp: 'abc1234',\n gpp_sid: [7]\n }\n };\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'ortb2': firtPartyData\n }\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n expect(payload.ortb2).to.exist;\n expect(payload.ortb2).to.exist.and.to.deep.equal(firtPartyData);\n });\n it('Should send DSA (ortb2 field)', function () {\n const dsa = {\n 'regs': {\n 'ext': {\n 'dsa': {\n 'required': 1,\n 'pubrender': 0,\n 'datatopub': 1,\n 'transparency': [{\n 'domain': 'dsa-domain',\n 'params': [1, 2]\n }]\n }\n }\n }\n };\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'ortb2': dsa\n }\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n expect(payload.ortb2).to.exist;\n expect(payload.ortb2).to.exist.and.to.deep.equal(dsa);\n });\n it('Should send FLEDGE eligibility flag when FLEDGE is enabled', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'paapi': {\n 'enabled': true\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);\n });\n it('Should send FLEDGE eligibility flag when FLEDGE is not enabled', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n paapi: {\n enabled: false\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);\n });\n it('Should send FLEDGE eligibility flag set to false when fledgeEnabled is not defined', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(false);\n });\n });\n describe('interpretResponse', function () {\n const request = getBannerVideoRequest();\n const response = getBannerVideoNativeResponse();\n const fledgeResponse = getFledgeBannerResponse();\n const requestData = JSON.parse(request.data);\n it('Returns an array of valid server responses if response object is valid', function () {\n const interpretedResponse = spec.interpretResponse(response, request);\n const fledgeInterpretedResponse = spec.interpretResponse(fledgeResponse, request);\n expect(interpretedResponse).to.be.an('array').that.is.not.empty;\n expect(fledgeInterpretedResponse).to.be.an('object');\n expect(fledgeInterpretedResponse.bids).to.satisfy(function (value) {\n return value === null || Array.isArray(value);\n });\n expect(fledgeInterpretedResponse.paapi).to.be.an('array').that.is.not.empty;\n for (let i = 0; i < interpretedResponse.length; i++) {\n const dataItem = interpretedResponse[i];\n expect(dataItem).to.include.all.keys('requestId', 'cpm', 'width', 'height', 'ttl', 'creativeId', 'netRevenue', 'currency', 'meta', 'dealId');\n if (dataItem.meta.mediaType === VIDEO) {\n const { context } = requestData.bids.find((item) => item.bidId === dataItem.requestId);\n if (context === INSTREAM) {\n expect(dataItem).to.include.all.keys('videoCacheKey', 'vastUrl');\n expect(dataItem.vastUrl).to.be.a('string');\n expect(dataItem.videoCacheKey).to.be.a('string');\n } else if (context === OUTSTREAM) {\n expect(dataItem).to.include.all.keys('renderer', 'vastXml', 'vastUrl');\n expect(dataItem.renderer).to.be.an('object');\n expect(dataItem.vastUrl).to.be.a('string');\n expect(dataItem.vastXml).to.be.a('string');\n }\n } else if (dataItem.meta.mediaType === BANNER) {\n expect(dataItem).to.include.all.keys('ad');\n expect(dataItem.ad).to.be.a('string');\n } else if (dataItem.meta.mediaType === NATIVE || dataItem.meta.mediaType === NATIVE + NATIVE_SUFFIX) {\n expect(dataItem).to.include.all.keys('native');\n expect(dataItem.native).to.be.an('object');\n }\n expect(dataItem.requestId).to.be.a('string');\n expect(dataItem.cpm).to.be.a('number');\n expect(dataItem.width).to.be.a('number');\n expect(dataItem.height).to.be.a('number');\n expect(dataItem.ttl).to.be.a('number');\n expect(dataItem.creativeId).to.be.a('string');\n expect(dataItem.netRevenue).to.be.a('boolean');\n expect(dataItem.currency).to.be.a('string');\n expect(dataItem.meta.advertiserDomains).to.be.an('array');\n }\n });\n it('Returns an empty array if response is not valid', function () {\n const serverResponses = spec.interpretResponse('invalid_response', { data: '{}' });\n expect(serverResponses).to.be.an('array').that.is.empty;\n });\n it('Returns meta dsa field if dsa field is present in response', function () {\n const dsaResponseObj = {\n 'behalf': 'Advertiser',\n 'paid': 'Advertiser',\n 'transparency': {\n 'domain': 'dsp1domain.com',\n 'params': [1, 2]\n },\n 'adrender': 1\n };\n const responseWithDsa = {...response};\n responseWithDsa.body.bids.forEach(bid => bid.dsa = {...dsaResponseObj});\n const serverResponse = spec.interpretResponse(responseWithDsa, request);\n serverResponse.forEach(bid => expect(bid.meta.dsa).to.deep.equals(dsaResponseObj));\n });\n });\n describe('getUserSyncs', function () {\n const sync_endpoint = 'https://onetag-sys.com/usync/';\n it('Returns an iframe if iframeEnabled is true', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true });\n expect(syncs).to.be.an('array');\n expect(syncs.length).to.equal(1);\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n });\n it('Returns an empty array if iframeEnabled is false', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: false });\n expect(syncs).to.be.an('array').that.is.empty;\n });\n it('Must pass gdpr params when gdprApplies is true', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n gdprApplies: true, consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)|gdpr=1([^&]*)|[^&]*))+$/);\n });\n it('Must pass gdpr params when gdprApplies is false', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n gdprApplies: false, consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)|gdpr=0([^&]*)))+$/);\n });\n it('Must pass gdpr consent string param when gdprApplies is undefined', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)))+$/);\n });\n it('Must pass no gdpr params when consentString is null', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n consentString: null\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gdpr_consent=([^&]*)|gdpr=([^&]*)))+$/);\n });\n it('Must pass no gdpr param when gdprConsent is empty', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {});\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gdpr_consent=([^&]*)|gdpr=([^&]*)))+$/);\n });\n it('Must pass gpp consent string when gppConsent object is available', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {\n gppString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gpp_consent=foo([^&]*)))+$/);\n });\n it('Must pass no gpp params when consentString is null', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {\n gppString: null\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gpp_consent=([^&]*)))+$/);\n });\n it('Must pass no gpp params when consentString is empty', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {});\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gpp_consent=([^&]*)))+$/);\n });\n it('Should send us privacy string', function () {\n const usConsentString = 'us_foo';\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, usConsentString);\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:us_privacy=us_foo(?:[&][^&]*)*))+$/);\n });\n });\n describe('isSchainValid', function () {\n it('Should return false when schain is null or undefined', function () {\n expect(isSchainValid(null)).to.be.false;\n expect(isSchainValid(undefined)).to.be.false;\n });\n it('Should return false when schain is missing nodes key', function () {\n const schain = { 'otherKey': 'otherValue' };\n expect(isSchainValid(schain)).to.be.false;\n });\n it('Should return false when schain is missing one of the required SupplyChainNode attribute', function () {\n const missingAsiNode = { 'sid': '00001', 'hp': 1 };\n const missingSidNode = { 'asi': 'indirectseller.com', 'hp': 1 };\n const missingHpNode = { 'asi': 'indirectseller.com', 'sid': '00001' };\n expect(isSchainValid({ 'config': { 'nodes': [missingAsiNode] } })).to.be.false;\n expect(isSchainValid({ 'config': { 'nodes': [missingSidNode] } })).to.be.false;\n expect(isSchainValid({ 'config': { 'nodes': [missingHpNode] } })).to.be.false;\n });\n it('Should return true when schain contains all required attributes', function () {\n const validSchain = {\n 'nodes': [\n {\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }\n ]\n };\n expect(isSchainValid(validSchain)).to.be.true;\n })\n });\n});\n\nfunction getBannerVideoNativeResponse() {\n return {\n body: {\n nobid: false,\n bids: [\n {\n ad: '<div>Advertising</div>',\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n requestId: 'banner',\n mediaType: BANNER,\n adomain: []\n },\n {\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n requestId: 'videoInstream',\n vastUrl: 'https://videoinstream.org',\n videoCacheKey: 'key',\n mediaType: VIDEO,\n adomain: ['test_domain']\n },\n {\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n vastUrl: 'https://videooutstream.org',\n requestId: 'videoOutstream',\n ad: '<?xml version=\"1.0\" encoding=\"UTF-8\"?><VAST version=\"2.0\"></VAST>',\n rendererUrl: 'https://testRenderer',\n mediaType: VIDEO,\n adomain: []\n },\n {\n requestId: 'nativeRequestId',\n cpm: 10,\n width: 300,\n height: 600,\n adomain: ['test-domain'],\n creativeId: '1821',\n mediaType: 'nativeAd',\n native: {\n ortb: {\n ver: '1.2',\n assets: [\n {\n id: 1,\n title: {\n text: 'test-title',\n len: 9\n }\n }],\n link: {\n url: 'test-url',\n clicktrackers: ['test-clicktracker']\n },\n eventtrackers: [\n {\n event: 1,\n method: 1,\n url: 'test-url'\n }\n ]\n }\n },\n currency: 'EUR',\n }\n ]\n }\n };\n}\n\nfunction getFledgeBannerResponse() {\n const bannerVideoResponse = getBannerVideoNativeResponse();\n bannerVideoResponse.body.fledgeAuctionConfigs = [\n {\n bidId: 'fledge',\n config: {\n seller: 'https://onetag-sys.com',\n decisionLogicUrl:\n 'https://onetag-sys.com/paapi/decision_logic.js',\n interestGroupBuyers: [\n 'https://onetag-sys.com'\n ],\n }\n }\n ]\n return bannerVideoResponse;\n}\n\nfunction getBannerVideoRequest() {\n return {\n data: JSON.stringify({\n bids: [\n {\n adUnitCode: 'target-div',\n bidId: 'videoOutstream',\n bidderRequestId: '12bb1e0f9fb669',\n auctionId: '80784b4d-79ad-49ef-a006-75d8888b7609',\n transactionId: '5f132731-3091-49b2-8fab-0e9c917733bc',\n pubId: '386276e072',\n context: 'outstream',\n mimes: [],\n playerSize: [],\n type: 'video'\n },\n {\n adUnitCode: 'target-div',\n bidId: 'videoInstream',\n bidderRequestId: '12bb1e0f9fb669',\n auctionId: '80784b4d-79ad-49ef-a006-75d8888b7609',\n transactionId: '5f132731-3091-49b2-8fab-0e9c917733bc',\n pubId: '386276e072',\n context: 'instream',\n mimes: [],\n playerSize: [],\n type: 'video'\n }\n ],\n location: 'https%3A%2F%2Flocal.onetag.net%3A9000%2Fv2%2Fprebid-video%2Fvideo.html%3Fpbjs_debug%3Dtrue',\n referrer: '0',\n masked: 0,\n wWidth: 860,\n wHeight: 949,\n oWidth: 1853,\n oHeight: 1053,\n sWidth: 1920,\n sHeight: 1080,\n aWidth: 1920,\n aHeight: 1053,\n sLeft: 1987,\n sTop: 27,\n xOffset: 0,\n yOffset: 0,\n docHidden: false,\n hLength: 2,\n timing: {\n pageLoadTime: -1593433770022,\n connectTime: 42,\n renderTime: -1593433770092\n },\n onetagSid: 'user_id'\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"onetagBidAdapter_spec.js","names":["spec","isValid","hasTypeVideo","isSchainValid","expect","BANNER","VIDEO","NATIVE","INSTREAM","OUTSTREAM","toOrtbNativeRequest","hasTypeNative","NATIVE_SUFFIX","getFloor","params","floorPrice","mediaType","currency","floor","describe","createBid","createNativeLegacyBid","bidRequest","bid","mediaTypes","native","adTemplate","title","required","sendId","body","cta","displayUrl","icon","image","sponsoredBy","addNativeParams","ortbConversion","nativeParams","ortb","floors","schema","delimiter","fields","values","bidParams","property","createNativeBid","ver","assets","id","len","img","type","wmin","hmin","data","video","mimes","minduration","maxduration","protocols","eventtrackers","event","methods","url","createBannerBid","banner","sizes","createInstreamVideoBid","context","playerSize","createOutstreamVideoBid","createMultiFormatBid","bannerBid","instreamVideoBid","outstreamVideoBid","nativeBid","nativeLegacyBid","beforeEach","it","isBidRequestValid","to","be","true","pubId","false","undefined","Reflect","deleteProperty","titleIndex","findIndex","asset","legacyTitleIndex","dataIndex","videoIndex","videoBid","bids","JSON","parse","buildRequests","length","equal","bidId","requestBid","multiFormatRequest","serverResponse","requestId","ad","vastUrl","responseBids","interpretResponse","serverRequest","before","exist","method","an","include","all","keys","location","satisfy","value","referrer","stack","numIframes","a","sHeight","sWidth","wWidth","wHeight","oHeight","oWidth","aWidth","aHeight","sLeft","sTop","hLength","networkConnectionType","networkEffectiveConnectionType","fledgeEnabled","version","have","i","mediaTypeInfo","key","schain","priceFloors","every","priceFloor","size","Object","width","height","dataString","dataObj","that","is","empty","e","payload","and","auctionId","ortb2","source","tid","transactionId","ortb2Imp","ext","deep","consentString","addtlConsent","bidderRequest","gdprApplies","gdprConsent","consentRequired","applicableSections","gppString","gppConsent","same","members","usPrivacy","firtPartyData","site","name","domain","cat","sectioncat","pagecat","page","ref","keywords","search","content","userrating","segtax","cids","segment","pageType","category","user","registered","interests","regs","gpp","gpp_sid","dsa","paapi","enabled","request","getBannerVideoRequest","response","getBannerVideoNativeResponse","fledgeResponse","getFledgeBannerResponse","requestData","interpretedResponse","fledgeInterpretedResponse","not","Array","isArray","dataItem","meta","find","item","videoCacheKey","renderer","vastXml","cpm","ttl","creativeId","netRevenue","advertiserDomains","serverResponses","dsaResponseObj","responseWithDsa","forEach","equals","sync_endpoint","syncs","getUserSyncs","iframeEnabled","match","usConsentString","missingAsiNode","missingSidNode","missingHpNode","validSchain","nobid","dealId","adomain","rendererUrl","text","link","clicktrackers","bannerVideoResponse","fledgeAuctionConfigs","config","seller","decisionLogicUrl","interestGroupBuyers","stringify","adUnitCode","bidderRequestId","masked","xOffset","yOffset","docHidden","timing","pageLoadTime","connectTime","renderTime","onetagSid"],"sourceRoot":"../../../../..","sources":["test/spec/modules/onetagBidAdapter_spec.js"],"sourcesContent":["import { spec, isValid, hasTypeVideo, isSchainValid } from 'modules/onetagBidAdapter.js';\nimport { expect } from 'chai';\nimport { BANNER, VIDEO, NATIVE } from 'src/mediaTypes.js';\nimport { INSTREAM, OUTSTREAM } from 'src/video.js';\nimport { toOrtbNativeRequest } from 'src/native.js';\nimport { hasTypeNative } from '../../../modules/onetagBidAdapter.js';\n\nconst NATIVE_SUFFIX = 'Ad';\n\nconst getFloor = function(params) {\n let floorPrice = 0.0001;\n switch (params.mediaType) {\n case BANNER:\n floorPrice = 1.0;\n break;\n case VIDEO:\n floorPrice = 2.0;\n break;\n case INSTREAM:\n floorPrice = 3.0;\n break;\n case OUTSTREAM:\n floorPrice = 4.0;\n break;\n case NATIVE:\n floorPrice = 5.0;\n break;\n }\n return {currency: params.currency, floor: floorPrice};\n};\n\ndescribe('onetag', function () {\n function createBid() {\n return {\n 'bidder': 'onetag',\n 'params': {\n 'pubId': '386276e072',\n },\n 'adUnitCode': 'adunit-code',\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n 'ortb2Imp': {\n 'ext': {\n 'tid': '0000'\n }\n },\n 'ortb2': {\n 'source': {\n 'tid': '1111'\n }\n },\n 'schain': {\n 'validation': 'off',\n 'config': {\n 'ver': '1.0',\n 'complete': 1,\n 'nodes': [\n {\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }\n ]\n }\n },\n };\n }\n\n function createNativeLegacyBid(bidRequest) {\n let bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.native = {\n adTemplate: \"<div><figure><img decoding=\\\"async\\\" referrerpolicy=\\\"no-referrer\\\" loading=\\\"lazy\\\" src=\\\"##hb_native_image##\\\" alt=\\\"##hb_native_brand##\\\" width=\\\"0\\\" height=\\\"0\\\"></figure><div class=\\\"a-nativeframe__text\\\"><span class=\\\"a-nativeframe__label\\\">##hb_native_brand##</span><h3 class=\\\"a-nativeframe__title\\\">##hb_native_title##</h3><div class=\\\"a-nativeframe__details\\\"><span class=\\\"a-nativeframe__cta\\\">##hb_native_cta##</span><span class=\\\"a-nativeframe__info\\\">##hb_native_brand##</span></div></div><a class=\\\"o-faux-link\\\" href=\\\"##hb_native_linkurl##\\\" target=\\\"_blank\\\"></a>\",\n title: {\n required: 1,\n sendId: 1\n },\n body: {\n required: 1,\n sendId: 1\n },\n cta: {\n required: 0,\n sendId: 1\n },\n displayUrl: {\n required: 0,\n sendId: 1\n },\n icon: {\n required: 0,\n sendId: 1\n },\n image: {\n required: 1,\n sendId: 1\n },\n sponsoredBy: {\n required: 1,\n sendId: 1\n }\n }\n bid = addNativeParams(bid);\n const ortbConversion = toOrtbNativeRequest(bid.nativeParams);\n bid.mediaTypes.native = {};\n bid.mediaTypes.native.adTemplate = bid.nativeParams.adTemplate;\n bid.mediaTypes.native.ortb = ortbConversion;\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'native|*': 1.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function addNativeParams(bidRequest) {\n const bidParams = bidRequest.nativeParams || {};\n for (const property in bidRequest.mediaTypes.native) {\n bidParams[property] = bidRequest.mediaTypes.native[property];\n }\n bidRequest.nativeParams = bidParams;\n return bidRequest;\n }\n\n function createNativeBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n\n bid.mediaTypes.native = {\n ortb: {\n ver: '1.2',\n assets: [{\n id: 1,\n required: 1,\n title: {\n len: 140\n }\n },\n {\n id: 2,\n required: true,\n img: {\n type: 3,\n wmin: 100,\n hmin: 100,\n }\n },\n {\n id: 3,\n required: true,\n data: {\n type: 6\n }\n },\n {\n id: 4,\n video: {\n mimes: ['video/mp4', 'video/x-mswmv'],\n minduration: 5,\n maxduration: 30,\n protocols: [2, 3]\n }\n }],\n eventtrackers: [{\n event: 1,\n methods: [1],\n url: 'sample-url'\n }]\n }\n };\n\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'native|*': 1.10\n }\n }\n bid.getFloor = getFloor;\n\n return bid;\n }\n\n function createBannerBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.banner = {\n sizes: [[300, 250]]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'banner|300x250': 0.10\n }\n }\n bid.getFloor = getFloor;\n\n return bid;\n }\n\n function createInstreamVideoBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.video = {\n context: 'instream',\n mimes: ['video/mp4', 'video/webm', 'application/javascript', 'video/ogg'],\n playerSize: [640, 480]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'video|640x480': 0.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function createOutstreamVideoBid(bidRequest) {\n const bid = bidRequest || createBid();\n bid.mediaTypes = bid.mediaTypes || {};\n bid.mediaTypes.video = {\n context: 'outstream',\n mimes: ['video/mp4', 'video/webm', 'application/javascript', 'video/ogg'],\n playerSize: [640, 480]\n };\n bid.floors = {\n currency: 'EUR',\n schema: {\n delimiter: '|',\n fields: [ 'mediaType', 'size' ]\n },\n values: {\n 'video|640x480': 0.10\n }\n }\n bid.getFloor = getFloor;\n return bid;\n }\n\n function createMultiFormatBid() {\n return createInstreamVideoBid(createBannerBid());\n }\n\n let bannerBid, instreamVideoBid, outstreamVideoBid, nativeBid, nativeLegacyBid;\n beforeEach(() => {\n bannerBid = createBannerBid();\n instreamVideoBid = createInstreamVideoBid();\n outstreamVideoBid = createOutstreamVideoBid();\n nativeBid = createNativeBid();\n nativeLegacyBid = createNativeLegacyBid();\n })\n\n describe('isBidRequestValid', function () {\n it('Should return true when required params are found', function () {\n expect(spec.isBidRequestValid(bannerBid)).to.be.true;\n });\n it('Should return false when pubId is not a string', function () {\n bannerBid.params.pubId = 30;\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n it('Should return false when pubId is undefined', function () {\n bannerBid.params.pubId = undefined;\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n describe('banner bidRequest', function () {\n it('Should return false when the sizes array is empty', function () {\n bannerBid.mediaTypes.banner.sizes = [];\n expect(spec.isBidRequestValid(bannerBid)).to.be.false;\n });\n });\n describe('native bidRequest', function () {\n it('Should return true when correct native bid is passed', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n expect(spec.isBidRequestValid(nativeBid)).to.be.true && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.true;\n });\n it('Should return false when native is not an object', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native = nativeLegacyBid.mediaTypes.native = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb if defined but it isn\\'t an object', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb = 30 || 'string';\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets is not an array', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native.ortb.assets = nativeLegacyBid.mediaTypes.native.ortb.assets = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets is an empty array', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n nativeBid.mediaTypes.native.ortb.assets = nativeLegacyBid.mediaTypes.native.ortb.assets = [];\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] doesnt have \\'id\\'', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[0], 'id');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[0], 'id');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] doesnt have any of \\'title\\', \\'img\\', \\'data\\' and \\'video\\' properties', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const titleIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n const legacyTitleIndex = nativeLegacyBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[titleIndex], 'title');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[legacyTitleIndex], 'title');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] have title, but doesnt have \\'len\\' property', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const titleIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n const legacyTitleIndex = nativeLegacyBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.title);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[titleIndex].title, 'len');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[legacyTitleIndex].title, 'len');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is data but doesnt have \\'type\\' property', function () {\n const nativeBid = createNativeBid();\n const nativeLegacyBid = createNativeLegacyBid();\n const dataIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.data);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[dataIndex].data, 'type');\n Reflect.deleteProperty(nativeLegacyBid.mediaTypes.native.ortb.assets[dataIndex].data, 'type');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false && expect(spec.isBidRequestValid(nativeLegacyBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'mimes\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'mimes');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'minduration\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'minduration');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'maxduration\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'maxduration');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.assets[i] is video but doesnt have \\'protocols\\' property', function () {\n const nativeBid = createNativeBid();\n const videoIndex = nativeBid.mediaTypes.native.ortb.assets.findIndex(asset => asset.video);\n Reflect.deleteProperty(nativeBid.mediaTypes.native.ortb.assets[videoIndex].video, 'protocols');\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers is not an array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].event is not a number', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].event = 'test-string';\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].event is not defined', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].event = undefined;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].methods is not an array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].methods = 30;\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n it('Should return false when native.ortb.eventtrackers[i].methods is empty array', function () {\n const nativeBid = createNativeBid();\n nativeBid.mediaTypes.native.ortb.eventtrackers[0].methods = [];\n expect(spec.isBidRequestValid(nativeBid)).to.be.false;\n });\n });\n describe('video bidRequest', function () {\n it('Should return false when the context is undefined', function () {\n instreamVideoBid.mediaTypes.video.context = undefined;\n expect(spec.isBidRequestValid(instreamVideoBid)).to.be.false;\n });\n it('Should return false when the context is not instream or outstream', function () {\n instreamVideoBid.mediaTypes.video.context = 'wrong';\n expect(spec.isBidRequestValid(instreamVideoBid)).to.be.false;\n });\n it('Should return false when playerSize is undefined', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = undefined;\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return false when playerSize is not an array', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = 30;\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return false when playerSize is an empty array', function () {\n const videoBid = createInstreamVideoBid();\n videoBid.mediaTypes.video.playerSize = [];\n expect(spec.isBidRequestValid(videoBid)).to.be.false;\n });\n it('Should return true when context is outstream', function () {\n expect(spec.isBidRequestValid(outstreamVideoBid)).to.be.true;\n });\n });\n describe('multi format bidRequest', function () {\n it('Should return true when correct multi format bid is passed', function () {\n expect(spec.isBidRequestValid(createMultiFormatBid())).to.be.true;\n });\n it('Should split multi format bid into two single format bid with same bidId', function () {\n const bids = JSON.parse(spec.buildRequests([createMultiFormatBid()]).data).bids;\n expect(bids.length).to.equal(2);\n expect(bids[0].bidId).to.equal(bids[1].bidId);\n });\n it('Should retrieve correct request bid when extracting video request data', function () {\n const requestBid = createMultiFormatBid();\n const multiFormatRequest = spec.buildRequests([requestBid]);\n const serverResponse = {\n body: {\n bids: [\n {\n mediaType: BANNER,\n requestId: requestBid.bidId,\n ad: 'test-banner'\n }, {\n mediaType: VIDEO,\n requestId: requestBid.bidId,\n vastUrl: 'test-video'\n }\n ]\n }\n };\n const responseBids = spec.interpretResponse(serverResponse, multiFormatRequest);\n expect(responseBids.length).to.equal(2);\n expect(responseBids[0].ad).to.equal('test-banner');\n expect(responseBids[1].vastUrl).to.equal('test-video');\n });\n });\n });\n\n describe('buildRequests', function () {\n let serverRequest, data;\n before(() => {\n serverRequest = spec.buildRequests([bannerBid, instreamVideoBid, nativeBid, nativeLegacyBid]);\n data = JSON.parse(serverRequest.data);\n });\n\n it('Creates a ServerRequest object with method, URL and data', function () {\n expect(serverRequest).to.exist;\n expect(serverRequest.method).to.exist;\n expect(serverRequest.url).to.exist;\n expect(serverRequest.data).to.exist;\n });\n it('Returns POST method', function () {\n expect(serverRequest.method).to.equal('POST');\n });\n it('Returns valid URL', function () {\n expect(serverRequest.url).to.equal('https://onetag-sys.com/prebid-request');\n });\n it('Should contain all keys', function () {\n expect(data).to.be.an('object');\n expect(data).to.include.all.keys('location', 'referrer', 'stack', 'numIframes', 'sHeight', 'sWidth', 'docHeight', 'wHeight', 'wWidth', 'oHeight', 'oWidth', 'aWidth', 'aHeight', 'sLeft', 'sTop', 'hLength', 'bids', 'docHidden', 'xOffset', 'yOffset', 'networkConnectionType', 'networkEffectiveConnectionType', 'timing', 'version', 'fledgeEnabled');\n expect(data.location).to.satisfy(function (value) {\n return value === null || typeof value === 'string';\n });\n expect(data.referrer).to.satisfy(referrer => referrer === null || typeof referrer === 'string');\n expect(data.stack).to.be.an('array');\n expect(data.numIframes).to.be.a('number');\n expect(data.sHeight).to.be.a('number');\n expect(data.sWidth).to.be.a('number');\n expect(data.wWidth).to.be.a('number');\n expect(data.wHeight).to.be.a('number');\n expect(data.oHeight).to.be.a('number');\n expect(data.oWidth).to.be.a('number');\n expect(data.aWidth).to.be.a('number');\n expect(data.aHeight).to.be.a('number');\n expect(data.sLeft).to.be.a('number');\n expect(data.sTop).to.be.a('number');\n expect(data.hLength).to.be.a('number');\n expect(data.networkConnectionType).to.satisfy(function (value) {\n return value === null || typeof value === 'string'\n });\n expect(data.networkEffectiveConnectionType).to.satisfy(function (value) {\n return value === null || typeof value === 'string'\n });\n expect(data.fledgeEnabled).to.be.a('boolean');\n expect(data.bids).to.be.an('array');\n expect(data.version).to.have.all.keys('prebid', 'adapter');\n const bids = data['bids'];\n for (let i = 0; i < bids.length; i++) {\n const bid = bids[i];\n if (hasTypeVideo(bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'context',\n 'playerSize',\n 'mediaTypeInfo',\n 'type',\n 'priceFloors'\n );\n } else if (hasTypeNative(bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'mediaTypeInfo',\n 'sizes',\n 'type',\n 'priceFloors'\n ) &&\n expect(bid.mediaTypeInfo).to.have.key('ortb');\n } else if (isValid(BANNER, bid)) {\n expect(bid).to.have.all.keys(\n 'adUnitCode',\n 'auctionId',\n 'bidId',\n 'bidderRequestId',\n 'pubId',\n 'ortb2Imp',\n 'transactionId',\n 'mediaTypeInfo',\n 'sizes',\n 'type',\n 'priceFloors'\n );\n }\n if (bid.schain && isSchainValid(bid.schain)) {\n expect(data).to.have.all.keys('schain');\n }\n expect(bid.bidId).to.be.a('string');\n expect(bid.pubId).to.be.a('string');\n expect(bid.priceFloors).to.be.an('array');\n expect(bid.priceFloors).to.satisfy(function (priceFloors) {\n if (priceFloors.length === 0) {\n return true;\n }\n return priceFloors.every(function (priceFloor) {\n expect(priceFloor).to.have.all.keys('currency', 'floor', 'size');\n expect(priceFloor.currency).to.be.a('string');\n expect(priceFloor.floor).to.be.a('number');\n expect(priceFloor.size).to.satisfy(function (size) {\n if (typeof size !== 'object' && size !== null && typeof size !== 'undefined') {\n return false;\n }\n if (size !== null) {\n const keys = Object.keys(size);\n if (keys.length == 0) {\n return true;\n }\n expect(size).to.have.keys('width', 'height');\n expect(size.width).to.be.a('number');\n expect(size.height).to.be.a('number');\n }\n return true;\n });\n return true;\n });\n });\n }\n });\n it('Returns empty data if no valid requests are passed', function () {\n serverRequest = spec.buildRequests([]);\n const dataString = serverRequest.data;\n try {\n const dataObj = JSON.parse(dataString);\n expect(dataObj.bids).to.be.an('array').that.is.empty;\n } catch (e) { }\n });\n it('Should pick each bid\\'s auctionId and transactionId from ortb2 related fields', function () {\n const serverRequest = spec.buildRequests([bannerBid]);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.bids).to.exist.and.to.have.length(1);\n expect(payload.bids[0].auctionId).to.equal(bannerBid.ortb2.source.tid);\n expect(payload.bids[0].transactionId).to.equal(bannerBid.ortb2Imp.ext.tid);\n expect(payload.bids[0].ortb2Imp).to.deep.equal(bannerBid.ortb2Imp);\n });\n it('should send GDPR consent data', function () {\n const consentString = 'consentString';\n const addtlConsent = '2~1.35.41.101~dv.9.21.81';\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'gdprConsent': {\n consentString: consentString,\n gdprApplies: true,\n addtlConsent: addtlConsent\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.gdprConsent).to.exist;\n expect(payload.gdprConsent.consentString).to.exist.and.to.equal(consentString);\n expect(payload.gdprConsent.addtlConsent).to.exist.and.to.equal(addtlConsent);\n expect(payload.gdprConsent.consentRequired).to.exist.and.to.be.true;\n });\n it('Should send GPP consent data', function () {\n const consentString = 'consentString';\n const applicableSections = [1, 2, 3];\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'gppConsent': {\n gppString: consentString,\n applicableSections: applicableSections\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload).to.exist;\n expect(payload.gppConsent).to.exist;\n expect(payload.gppConsent.consentString).to.exist.and.to.equal(consentString);\n expect(payload.gppConsent.applicableSections).to.have.same.members(applicableSections);\n });\n it('Should send us privacy string', function () {\n const consentString = 'us_foo';\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'uspConsent': consentString\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.usPrivacy).to.exist;\n expect(payload.usPrivacy).to.exist.and.to.equal(consentString);\n });\n it('Should send FPD (ortb2 field)', function () {\n const firtPartyData = {\n // this is where the contextual data is placed\n site: {\n name: 'example',\n domain: 'page.example.com',\n // OpenRTB 2.5 spec / Content Taxonomy\n cat: ['IAB2'],\n sectioncat: ['IAB2-2'],\n pagecat: ['IAB2-2'],\n page: 'https://page.example.com/here.html',\n ref: 'https://ref.example.com',\n keywords: 'power tools, drills',\n search: 'drill',\n content: {\n userrating: '4',\n data: [{\n name: 'www.dataprovider1.com', // who resolved the segments\n ext: {\n segtax: 7, // taxonomy used to encode the segments\n cids: ['iris_c73g5jq96mwso4d8']\n },\n // the bare minimum are the IDs. These IDs are the ones from the new IAB Content Taxonomy v3\n segment: [ { id: '687' }, { id: '123' } ]\n }]\n },\n ext: {\n data: { // fields that aren't part of openrtb 2.6\n pageType: 'article',\n category: 'repair'\n }\n }\n },\n // this is where the user data is placed\n user: {\n keywords: 'a,b',\n data: [{\n name: 'dataprovider.com',\n ext: {\n segtax: 4\n },\n segment: [{\n id: '1'\n }]\n }],\n ext: {\n data: {\n registered: true,\n interests: ['cars']\n }\n }\n },\n regs: {\n gpp: 'abc1234',\n gpp_sid: [7]\n }\n };\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'ortb2': firtPartyData\n }\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n expect(payload.ortb2).to.exist;\n expect(payload.ortb2).to.exist.and.to.deep.equal(firtPartyData);\n });\n it('Should send DSA (ortb2 field)', function () {\n const dsa = {\n 'regs': {\n 'ext': {\n 'dsa': {\n 'required': 1,\n 'pubrender': 0,\n 'datatopub': 1,\n 'transparency': [{\n 'domain': 'dsa-domain',\n 'params': [1, 2]\n }]\n }\n }\n }\n };\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'ortb2': dsa\n }\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n expect(payload.ortb2).to.exist;\n expect(payload.ortb2).to.exist.and.to.deep.equal(dsa);\n });\n it('Should send FLEDGE eligibility flag when FLEDGE is enabled', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n 'paapi': {\n 'enabled': true\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);\n });\n it('Should send FLEDGE eligibility flag when FLEDGE is not enabled', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n paapi: {\n enabled: false\n }\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);\n });\n it('Should send FLEDGE eligibility flag set to false when fledgeEnabled is not defined', function () {\n const bidderRequest = {\n 'bidderCode': 'onetag',\n 'auctionId': '1d1a030790a475',\n 'bidderRequestId': '22edbae2733bf6',\n 'timeout': 3000,\n };\n const serverRequest = spec.buildRequests([bannerBid], bidderRequest);\n const payload = JSON.parse(serverRequest.data);\n\n expect(payload.fledgeEnabled).to.exist;\n expect(payload.fledgeEnabled).to.exist.and.to.equal(false);\n });\n });\n describe('interpretResponse', function () {\n const request = getBannerVideoRequest();\n const response = getBannerVideoNativeResponse();\n const fledgeResponse = getFledgeBannerResponse();\n const requestData = JSON.parse(request.data);\n it('Returns an array of valid server responses if response object is valid', function () {\n const interpretedResponse = spec.interpretResponse(response, request);\n const fledgeInterpretedResponse = spec.interpretResponse(fledgeResponse, request);\n expect(interpretedResponse).to.be.an('array').that.is.not.empty;\n expect(fledgeInterpretedResponse).to.be.an('object');\n expect(fledgeInterpretedResponse.bids).to.satisfy(function (value) {\n return value === null || Array.isArray(value);\n });\n expect(fledgeInterpretedResponse.paapi).to.be.an('array').that.is.not.empty;\n for (let i = 0; i < interpretedResponse.length; i++) {\n const dataItem = interpretedResponse[i];\n expect(dataItem).to.include.all.keys('requestId', 'cpm', 'width', 'height', 'ttl', 'creativeId', 'netRevenue', 'currency', 'meta', 'dealId');\n if (dataItem.meta.mediaType === VIDEO) {\n const { context } = requestData.bids.find((item) => item.bidId === dataItem.requestId);\n if (context === INSTREAM) {\n expect(dataItem).to.include.all.keys('videoCacheKey', 'vastUrl');\n expect(dataItem.vastUrl).to.be.a('string');\n expect(dataItem.videoCacheKey).to.be.a('string');\n } else if (context === OUTSTREAM) {\n expect(dataItem).to.include.all.keys('renderer', 'vastXml', 'vastUrl');\n expect(dataItem.renderer).to.be.an('object');\n expect(dataItem.vastUrl).to.be.a('string');\n expect(dataItem.vastXml).to.be.a('string');\n }\n } else if (dataItem.meta.mediaType === BANNER) {\n expect(dataItem).to.include.all.keys('ad');\n expect(dataItem.ad).to.be.a('string');\n } else if (dataItem.meta.mediaType === NATIVE || dataItem.meta.mediaType === NATIVE + NATIVE_SUFFIX) {\n expect(dataItem).to.include.all.keys('native');\n expect(dataItem.native).to.be.an('object');\n }\n expect(dataItem.requestId).to.be.a('string');\n expect(dataItem.cpm).to.be.a('number');\n expect(dataItem.width).to.be.a('number');\n expect(dataItem.height).to.be.a('number');\n expect(dataItem.ttl).to.be.a('number');\n expect(dataItem.creativeId).to.be.a('string');\n expect(dataItem.netRevenue).to.be.a('boolean');\n expect(dataItem.currency).to.be.a('string');\n expect(dataItem.meta.advertiserDomains).to.be.an('array');\n }\n });\n it('Returns an empty array if response is not valid', function () {\n const serverResponses = spec.interpretResponse('invalid_response', { data: '{}' });\n expect(serverResponses).to.be.an('array').that.is.empty;\n });\n it('Returns meta dsa field if dsa field is present in response', function () {\n const dsaResponseObj = {\n 'behalf': 'Advertiser',\n 'paid': 'Advertiser',\n 'transparency': {\n 'domain': 'dsp1domain.com',\n 'params': [1, 2]\n },\n 'adrender': 1\n };\n const responseWithDsa = {...response};\n responseWithDsa.body.bids.forEach(bid => bid.dsa = {...dsaResponseObj});\n const serverResponse = spec.interpretResponse(responseWithDsa, request);\n serverResponse.forEach(bid => expect(bid.meta.dsa).to.deep.equals(dsaResponseObj));\n });\n });\n describe('getUserSyncs', function () {\n const sync_endpoint = 'https://onetag-sys.com/usync/';\n it('Returns an iframe if iframeEnabled is true', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true });\n expect(syncs).to.be.an('array');\n expect(syncs.length).to.equal(1);\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n });\n it('Returns an empty array if iframeEnabled is false', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: false });\n expect(syncs).to.be.an('array').that.is.empty;\n });\n it('Must pass gdpr params when gdprApplies is true', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n gdprApplies: true, consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)|gdpr=1([^&]*)|[^&]*))+$/);\n });\n it('Must pass gdpr params when gdprApplies is false', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n gdprApplies: false, consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)|gdpr=0([^&]*)))+$/);\n });\n it('Must pass gdpr consent string param when gdprApplies is undefined', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n consentString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gdpr_consent=foo([^&]*)))+$/);\n });\n it('Must pass no gdpr params when consentString is null', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {\n consentString: null\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gdpr_consent=([^&]*)|gdpr=([^&]*)))+$/);\n });\n it('Must pass no gdpr param when gdprConsent is empty', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {});\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gdpr_consent=([^&]*)|gdpr=([^&]*)))+$/);\n });\n it('Must pass gpp consent string when gppConsent object is available', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {\n gppString: 'foo'\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:gpp_consent=foo([^&]*)))+$/);\n });\n it('Must pass no gpp params when consentString is null', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {\n gppString: null\n });\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gpp_consent=([^&]*)))+$/);\n });\n it('Must pass no gpp params when consentString is empty', function () {\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, {}, {});\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.not.match(/(?:[?&](?:gpp_consent=([^&]*)))+$/);\n });\n it('Should send us privacy string', function () {\n const usConsentString = 'us_foo';\n const syncs = spec.getUserSyncs({ iframeEnabled: true }, {}, {}, usConsentString);\n expect(syncs[0].type).to.equal('iframe');\n expect(syncs[0].url).to.include(sync_endpoint);\n expect(syncs[0].url).to.match(/(?:[?&](?:us_privacy=us_foo(?:[&][^&]*)*))+$/);\n });\n });\n describe('isSchainValid', function () {\n it('Should return false when schain is null or undefined', function () {\n expect(isSchainValid(null)).to.be.false;\n expect(isSchainValid(undefined)).to.be.false;\n });\n it('Should return false when schain is missing nodes key', function () {\n const schain = { 'otherKey': 'otherValue' };\n expect(isSchainValid(schain)).to.be.false;\n });\n it('Should return false when schain is missing one of the required SupplyChainNode attribute', function () {\n const missingAsiNode = { 'sid': '00001', 'hp': 1 };\n const missingSidNode = { 'asi': 'indirectseller.com', 'hp': 1 };\n const missingHpNode = { 'asi': 'indirectseller.com', 'sid': '00001' };\n expect(isSchainValid({ 'config': { 'nodes': [missingAsiNode] } })).to.be.false;\n expect(isSchainValid({ 'config': { 'nodes': [missingSidNode] } })).to.be.false;\n expect(isSchainValid({ 'config': { 'nodes': [missingHpNode] } })).to.be.false;\n });\n it('Should return true when schain contains all required attributes', function () {\n const validSchain = {\n 'nodes': [\n {\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }\n ]\n };\n expect(isSchainValid(validSchain)).to.be.true;\n })\n });\n});\n\nfunction getBannerVideoNativeResponse() {\n return {\n body: {\n nobid: false,\n bids: [\n {\n ad: '<div>Advertising</div>',\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n requestId: 'banner',\n mediaType: BANNER,\n adomain: []\n },\n {\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n requestId: 'videoInstream',\n vastUrl: 'https://videoinstream.org',\n videoCacheKey: 'key',\n mediaType: VIDEO,\n adomain: ['test_domain']\n },\n {\n cpm: 13,\n width: 300,\n height: 250,\n creativeId: '1820',\n dealId: 'dishfo',\n currency: 'USD',\n vastUrl: 'https://videooutstream.org',\n requestId: 'videoOutstream',\n ad: '<?xml version=\"1.0\" encoding=\"UTF-8\"?><VAST version=\"2.0\"></VAST>',\n rendererUrl: 'https://testRenderer',\n mediaType: VIDEO,\n adomain: []\n },\n {\n requestId: 'nativeRequestId',\n cpm: 10,\n width: 300,\n height: 600,\n adomain: ['test-domain'],\n creativeId: '1821',\n mediaType: 'nativeAd',\n native: {\n ortb: {\n ver: '1.2',\n assets: [\n {\n id: 1,\n title: {\n text: 'test-title',\n len: 9\n }\n }],\n link: {\n url: 'test-url',\n clicktrackers: ['test-clicktracker']\n },\n eventtrackers: [\n {\n event: 1,\n method: 1,\n url: 'test-url'\n }\n ]\n }\n },\n currency: 'EUR',\n }\n ]\n }\n };\n}\n\nfunction getFledgeBannerResponse() {\n const bannerVideoResponse = getBannerVideoNativeResponse();\n bannerVideoResponse.body.fledgeAuctionConfigs = [\n {\n bidId: 'fledge',\n config: {\n seller: 'https://onetag-sys.com',\n decisionLogicUrl:\n 'https://onetag-sys.com/paapi/decision_logic.js',\n interestGroupBuyers: [\n 'https://onetag-sys.com'\n ],\n }\n }\n ]\n return bannerVideoResponse;\n}\n\nfunction getBannerVideoRequest() {\n return {\n data: JSON.stringify({\n bids: [\n {\n adUnitCode: 'target-div',\n bidId: 'videoOutstream',\n bidderRequestId: '12bb1e0f9fb669',\n auctionId: '80784b4d-79ad-49ef-a006-75d8888b7609',\n transactionId: '5f132731-3091-49b2-8fab-0e9c917733bc',\n pubId: '386276e072',\n context: 'outstream',\n mimes: [],\n playerSize: [],\n type: 'video'\n },\n {\n adUnitCode: 'target-div',\n bidId: 'videoInstream',\n bidderRequestId: '12bb1e0f9fb669',\n auctionId: '80784b4d-79ad-49ef-a006-75d8888b7609',\n transactionId: '5f132731-3091-49b2-8fab-0e9c917733bc',\n pubId: '386276e072',\n context: 'instream',\n mimes: [],\n playerSize: [],\n type: 'video'\n }\n ],\n location: 'https%3A%2F%2Flocal.onetag.net%3A9000%2Fv2%2Fprebid-video%2Fvideo.html%3Fpbjs_debug%3Dtrue',\n referrer: '0',\n masked: 0,\n wWidth: 860,\n wHeight: 949,\n oWidth: 1853,\n oHeight: 1053,\n sWidth: 1920,\n sHeight: 1080,\n aWidth: 1920,\n aHeight: 1053,\n sLeft: 1987,\n sTop: 27,\n xOffset: 0,\n yOffset: 0,\n docHidden: false,\n hLength: 2,\n timing: {\n pageLoadTime: -1593433770022,\n connectTime: 42,\n renderTime: -1593433770092\n },\n onetagSid: 'user_id'\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -896,6 +896,33 @@ describe('OpenxRtbAdapter', function () {
|
|
|
896
896
|
expect(request[1].data.imp[0].ext.consent).to.equal(undefined);
|
|
897
897
|
});
|
|
898
898
|
});
|
|
899
|
+
describe('GPP', function () {
|
|
900
|
+
it('should send GPP string and GPP section IDs in bid request when available', async function () {
|
|
901
|
+
bidderRequest.bids = bidRequests;
|
|
902
|
+
bidderRequest.ortb2 = {
|
|
903
|
+
regs: {
|
|
904
|
+
gpp: 'test-gpp-string',
|
|
905
|
+
gpp_sid: [6]
|
|
906
|
+
}
|
|
907
|
+
};
|
|
908
|
+
const request = spec.buildRequests(bidRequests, bidderRequest);
|
|
909
|
+
expect(request[0].data.regs.gpp).to.equal('test-gpp-string');
|
|
910
|
+
expect(request[0].data.regs.gpp_sid).to.deep.equal([6]);
|
|
911
|
+
expect(request[1].data.regs.gpp).to.equal('test-gpp-string');
|
|
912
|
+
expect(request[1].data.regs.gpp_sid).to.deep.equal([6]);
|
|
913
|
+
});
|
|
914
|
+
it('should not send GPP string and GPP section IDs in bid request when not available', async function () {
|
|
915
|
+
bidderRequest.bids = bidRequests;
|
|
916
|
+
bidderRequest.ortb2 = {
|
|
917
|
+
regs: {}
|
|
918
|
+
};
|
|
919
|
+
const request = spec.buildRequests(bidRequests, bidderRequest);
|
|
920
|
+
expect(request[0].data.regs.gpp).to.not.exist;
|
|
921
|
+
expect(request[0].data.regs.gpp_sid).to.not.exist;
|
|
922
|
+
expect(request[1].data.regs.gpp).to.not.exist;
|
|
923
|
+
expect(request[1].data.regs.gpp_sid).to.not.exist;
|
|
924
|
+
});
|
|
925
|
+
});
|
|
899
926
|
});
|
|
900
927
|
context('coppa', function () {
|
|
901
928
|
it('when there are no coppa param settings, should not send a coppa flag', async function () {
|
|
@@ -1922,6 +1949,92 @@ describe('OpenxRtbAdapter', function () {
|
|
|
1922
1949
|
expect(url).to.not.have.string('gdpr=');
|
|
1923
1950
|
});
|
|
1924
1951
|
});
|
|
1952
|
+
describe('when gpp applies', function () {
|
|
1953
|
+
it('should send GPP query params when GPP consent object available', () => {
|
|
1954
|
+
const gppConsent = {
|
|
1955
|
+
gppString: 'gpp-pixel-consent',
|
|
1956
|
+
applicableSections: [6, 7]
|
|
1957
|
+
};
|
|
1958
|
+
const [{
|
|
1959
|
+
url
|
|
1960
|
+
}] = spec.getUserSyncs({
|
|
1961
|
+
iframeEnabled: true,
|
|
1962
|
+
pixelEnabled: true
|
|
1963
|
+
}, [], undefined, undefined, gppConsent);
|
|
1964
|
+
expect(url).to.have.string(`gpp=gpp-pixel-consent`);
|
|
1965
|
+
expect(url).to.have.string(`gpp_sid=6,7`);
|
|
1966
|
+
});
|
|
1967
|
+
it('should send GDPR and GPP query params when both consent objects available', () => {
|
|
1968
|
+
const gdprConsent = {
|
|
1969
|
+
consentString: 'gdpr-pixel-consent',
|
|
1970
|
+
gdprApplies: true
|
|
1971
|
+
};
|
|
1972
|
+
const gppConsent = {
|
|
1973
|
+
gppString: 'gpp-pixel-consent',
|
|
1974
|
+
applicableSections: [6, 7]
|
|
1975
|
+
};
|
|
1976
|
+
const [{
|
|
1977
|
+
url
|
|
1978
|
+
}] = spec.getUserSyncs({
|
|
1979
|
+
iframeEnabled: true,
|
|
1980
|
+
pixelEnabled: true
|
|
1981
|
+
}, [], gdprConsent, undefined, gppConsent);
|
|
1982
|
+
expect(url).to.have.string(`gdpr_consent=gdpr-pixel-consent`);
|
|
1983
|
+
expect(url).to.have.string(`gdpr=1`);
|
|
1984
|
+
expect(url).to.have.string(`gpp=gpp-pixel-consent`);
|
|
1985
|
+
expect(url).to.have.string(`gpp_sid=6,7`);
|
|
1986
|
+
});
|
|
1987
|
+
it('should not send GPP query params when GPP string not available', function () {
|
|
1988
|
+
const gppConsent = {
|
|
1989
|
+
applicableSections: [6, 7]
|
|
1990
|
+
};
|
|
1991
|
+
const [{
|
|
1992
|
+
url
|
|
1993
|
+
}] = spec.getUserSyncs({
|
|
1994
|
+
iframeEnabled: true,
|
|
1995
|
+
pixelEnabled: true
|
|
1996
|
+
}, [], undefined, undefined, gppConsent);
|
|
1997
|
+
expect(url).to.not.have.string('gpp=');
|
|
1998
|
+
expect(url).to.not.have.string('gpp_sid=');
|
|
1999
|
+
});
|
|
2000
|
+
it('should not send GPP query params when GPP section IDs not available', function () {
|
|
2001
|
+
const gppConsent = {
|
|
2002
|
+
gppString: 'gpp-pixel-consent'
|
|
2003
|
+
};
|
|
2004
|
+
const [{
|
|
2005
|
+
url
|
|
2006
|
+
}] = spec.getUserSyncs({
|
|
2007
|
+
iframeEnabled: true,
|
|
2008
|
+
pixelEnabled: true
|
|
2009
|
+
}, [], undefined, undefined, gppConsent);
|
|
2010
|
+
expect(url).to.not.have.string('gpp=');
|
|
2011
|
+
expect(url).to.not.have.string('gpp_sid=');
|
|
2012
|
+
});
|
|
2013
|
+
it('should not send GPP query params when GPP section IDs empty', function () {
|
|
2014
|
+
const gppConsent = {
|
|
2015
|
+
gppString: 'gpp-pixel-consent',
|
|
2016
|
+
applicableSections: []
|
|
2017
|
+
};
|
|
2018
|
+
const [{
|
|
2019
|
+
url
|
|
2020
|
+
}] = spec.getUserSyncs({
|
|
2021
|
+
iframeEnabled: true,
|
|
2022
|
+
pixelEnabled: true
|
|
2023
|
+
}, [], undefined, undefined, gppConsent);
|
|
2024
|
+
expect(url).to.not.have.string('gpp=');
|
|
2025
|
+
expect(url).to.not.have.string('gpp_sid=');
|
|
2026
|
+
});
|
|
2027
|
+
it('should not send GPP query params when GPP consent object not available', function () {
|
|
2028
|
+
const [{
|
|
2029
|
+
url
|
|
2030
|
+
}] = spec.getUserSyncs({
|
|
2031
|
+
iframeEnabled: true,
|
|
2032
|
+
pixelEnabled: true
|
|
2033
|
+
}, [], undefined, undefined, undefined);
|
|
2034
|
+
expect(url).to.not.have.string('gpp=');
|
|
2035
|
+
expect(url).to.not.have.string('gpp_sid=');
|
|
2036
|
+
});
|
|
2037
|
+
});
|
|
1925
2038
|
describe('when ccpa applies', function () {
|
|
1926
2039
|
let usPrivacyConsent;
|
|
1927
2040
|
let uspPixelUrl;
|