prebid.js 10.2.0 → 10.3.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/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/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 +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.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 +2 -2
- 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 +251 -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 +1 -1
- 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 +3 -3
- 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/types/summary/modules.d.ts +2 -2
- 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 +10 -10
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +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/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.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/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/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/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- 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 +259 -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 +1 -1
- 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/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/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 +3 -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
|
@@ -2,7 +2,7 @@ import { checkCookieSupport, hasDeviceAccess, logError } from './utils.js';
|
|
|
2
2
|
import { bidderSettings } from './bidderSettings.js';
|
|
3
3
|
import { MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID } from './activities/modules.js';
|
|
4
4
|
import { isActivityAllowed, registerActivityControl } from './activities/rules.js';
|
|
5
|
-
import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE } from './activities/params.js';
|
|
5
|
+
import { ACTIVITY_PARAM_ADAPTER_CODE, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE, ACTIVITY_PARAM_STORAGE_WRITE } from './activities/params.js';
|
|
6
6
|
import { ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS } from './activities/activities.js';
|
|
7
7
|
import { config } from './config.js';
|
|
8
8
|
import { hook } from "./hook.js";
|
|
@@ -26,14 +26,15 @@ export function newStorageManager() {
|
|
|
26
26
|
let {
|
|
27
27
|
isAllowed = isActivityAllowed
|
|
28
28
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
29
|
-
function isValid(cb, storageType, storageKey) {
|
|
29
|
+
function isValid(cb, storageType, storageKey, isWrite) {
|
|
30
30
|
let mod = moduleName;
|
|
31
31
|
const curBidder = config.getCurrentBidder();
|
|
32
32
|
if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {
|
|
33
33
|
mod = curBidder;
|
|
34
34
|
}
|
|
35
35
|
const params = {
|
|
36
|
-
[ACTIVITY_PARAM_STORAGE_TYPE]: storageType
|
|
36
|
+
[ACTIVITY_PARAM_STORAGE_TYPE]: storageType,
|
|
37
|
+
[ACTIVITY_PARAM_STORAGE_WRITE]: isWrite
|
|
37
38
|
};
|
|
38
39
|
if (advertiseKeys && storageKey != null) {
|
|
39
40
|
params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;
|
|
@@ -43,14 +44,14 @@ export function newStorageManager() {
|
|
|
43
44
|
};
|
|
44
45
|
return cb(result);
|
|
45
46
|
}
|
|
46
|
-
function schedule(operation, storageType, storageKey, done) {
|
|
47
|
+
function schedule(operation, storageType, storageKey, isWrite, done) {
|
|
47
48
|
if (done && typeof done === 'function') {
|
|
48
49
|
storageCallbacks.push(function () {
|
|
49
|
-
|
|
50
|
+
let result = isValid(operation, storageType, storageKey, isWrite);
|
|
50
51
|
done(result);
|
|
51
52
|
});
|
|
52
53
|
} else {
|
|
53
|
-
return isValid(operation, storageType, storageKey);
|
|
54
|
+
return isValid(operation, storageType, storageKey, isWrite);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
|
|
@@ -66,7 +67,7 @@ export function newStorageManager() {
|
|
|
66
67
|
* @param {function} [done]
|
|
67
68
|
*/
|
|
68
69
|
const setCookie = function (key, value, expires, sameSite, domain, done) {
|
|
69
|
-
|
|
70
|
+
let cb = function (result) {
|
|
70
71
|
if (result && result.valid) {
|
|
71
72
|
const domainPortion = domain && domain !== '' ? ` ;domain=${encodeURIComponent(domain)}` : '';
|
|
72
73
|
const expiresPortion = expires && expires !== '' ? ` ;expires=${expires}` : '';
|
|
@@ -75,7 +76,7 @@ export function newStorageManager() {
|
|
|
75
76
|
document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;
|
|
76
77
|
}
|
|
77
78
|
};
|
|
78
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, key, done);
|
|
79
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);
|
|
79
80
|
};
|
|
80
81
|
|
|
81
82
|
/**
|
|
@@ -84,14 +85,14 @@ export function newStorageManager() {
|
|
|
84
85
|
* @returns {(string|null)}
|
|
85
86
|
*/
|
|
86
87
|
const getCookie = function (name, done) {
|
|
87
|
-
|
|
88
|
+
let cb = function (result) {
|
|
88
89
|
if (result && result.valid) {
|
|
89
|
-
|
|
90
|
+
let m = window.document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]*)\\s*(;|$)');
|
|
90
91
|
return m ? decodeURIComponent(m[2]) : null;
|
|
91
92
|
}
|
|
92
93
|
return null;
|
|
93
94
|
};
|
|
94
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, name, done);
|
|
95
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);
|
|
95
96
|
};
|
|
96
97
|
|
|
97
98
|
/**
|
|
@@ -99,19 +100,19 @@ export function newStorageManager() {
|
|
|
99
100
|
* @returns {boolean}
|
|
100
101
|
*/
|
|
101
102
|
const cookiesAreEnabled = function (done) {
|
|
102
|
-
|
|
103
|
+
let cb = function (result) {
|
|
103
104
|
if (result && result.valid) {
|
|
104
105
|
return checkCookieSupport();
|
|
105
106
|
}
|
|
106
107
|
return false;
|
|
107
108
|
};
|
|
108
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, null, done);
|
|
109
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);
|
|
109
110
|
};
|
|
110
111
|
function storageMethods(name) {
|
|
111
112
|
const capName = name.charAt(0).toUpperCase() + name.substring(1);
|
|
112
113
|
const backend = () => window[name];
|
|
113
114
|
const hasStorage = function (done) {
|
|
114
|
-
|
|
115
|
+
let cb = function (result) {
|
|
115
116
|
if (result && result.valid) {
|
|
116
117
|
try {
|
|
117
118
|
return !!backend();
|
|
@@ -121,12 +122,12 @@ export function newStorageManager() {
|
|
|
121
122
|
}
|
|
122
123
|
return false;
|
|
123
124
|
};
|
|
124
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
|
|
125
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
|
|
125
126
|
};
|
|
126
127
|
return {
|
|
127
128
|
[`has${capName}`]: hasStorage,
|
|
128
129
|
[`${name}IsEnabled`](done) {
|
|
129
|
-
|
|
130
|
+
let cb = function (result) {
|
|
130
131
|
if (result && result.valid) {
|
|
131
132
|
try {
|
|
132
133
|
backend().setItem('prebid.cookieTest', '1');
|
|
@@ -139,32 +140,32 @@ export function newStorageManager() {
|
|
|
139
140
|
}
|
|
140
141
|
return false;
|
|
141
142
|
};
|
|
142
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);
|
|
143
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);
|
|
143
144
|
},
|
|
144
145
|
[`setDataIn${capName}`](key, value, done) {
|
|
145
|
-
|
|
146
|
+
let cb = function (result) {
|
|
146
147
|
if (result && result.valid && hasStorage()) {
|
|
147
148
|
backend().setItem(key, value);
|
|
148
149
|
}
|
|
149
150
|
};
|
|
150
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
151
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
|
|
151
152
|
},
|
|
152
153
|
[`getDataFrom${capName}`](key, done) {
|
|
153
|
-
|
|
154
|
+
let cb = function (result) {
|
|
154
155
|
if (result && result.valid && hasStorage()) {
|
|
155
156
|
return backend().getItem(key);
|
|
156
157
|
}
|
|
157
158
|
return null;
|
|
158
159
|
};
|
|
159
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
160
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);
|
|
160
161
|
},
|
|
161
162
|
[`removeDataFrom${capName}`](key, done) {
|
|
162
|
-
|
|
163
|
+
let cb = function (result) {
|
|
163
164
|
if (result && result.valid && hasStorage()) {
|
|
164
165
|
backend().removeItem(key);
|
|
165
166
|
}
|
|
166
167
|
};
|
|
167
|
-
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);
|
|
168
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);
|
|
168
169
|
}
|
|
169
170
|
};
|
|
170
171
|
}
|
|
@@ -177,7 +178,7 @@ export function newStorageManager() {
|
|
|
177
178
|
* @returns {string[]}
|
|
178
179
|
*/
|
|
179
180
|
const findSimilarCookies = function (keyLike, done) {
|
|
180
|
-
|
|
181
|
+
let cb = function (result) {
|
|
181
182
|
if (result && result.valid) {
|
|
182
183
|
const all = [];
|
|
183
184
|
if (hasDeviceAccess()) {
|
|
@@ -195,7 +196,7 @@ export function newStorageManager() {
|
|
|
195
196
|
return all;
|
|
196
197
|
}
|
|
197
198
|
};
|
|
198
|
-
return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);
|
|
199
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);
|
|
199
200
|
};
|
|
200
201
|
return {
|
|
201
202
|
setCookie,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n const result = isValid(operation, storageType, storageKey);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n const cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`getDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n const cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n const cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"storageManager.js","names":["checkCookieSupport","hasDeviceAccess","logError","bidderSettings","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","registerActivityControl","ACTIVITY_PARAM_ADAPTER_CODE","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_PARAM_STORAGE_WRITE","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ACCESS_REQUEST_CREDENTIALS","config","hook","adapterManager","activityParams","STORAGE_TYPE_LOCALSTORAGE","STORAGE_TYPE_COOKIES","storageCallbacks","newStorageManager","moduleName","moduleType","advertiseKeys","arguments","length","undefined","isAllowed","isValid","cb","storageType","storageKey","isWrite","mod","curBidder","getCurrentBidder","aliasRegistry","params","result","valid","schedule","operation","done","push","setCookie","key","value","expires","sameSite","domain","domainPortion","encodeURIComponent","expiresPortion","isNone","toLowerCase","secure","document","cookie","getCookie","name","m","window","match","decodeURIComponent","cookiesAreEnabled","storageMethods","capName","charAt","toUpperCase","substring","backend","hasStorage","e","setItem","getItem","error","removeItem","findSimilarCookies","keyLike","all","cookies","split","pop","separatorIndex","indexOf","cookieName","slice","replace","getStorageManager","bidderCode","err","Error","getCoreStorageManager","deviceAccessRule","allow","storageAllowedRule","bs","get","Array","isArray","some","resetData","discloseStorageUse","disclosure"],"sourceRoot":"../../..","sources":["src/storageManager.ts"],"sourcesContent":["import {checkCookieSupport, hasDeviceAccess, logError} from './utils.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID, type ModuleType} from './activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from './activities/rules.js';\nimport {\n ACTIVITY_PARAM_ADAPTER_CODE,\n ACTIVITY_PARAM_COMPONENT_TYPE,\n ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE,\n ACTIVITY_PARAM_STORAGE_WRITE\n} from './activities/params.js';\n\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ACCESS_REQUEST_CREDENTIALS} from './activities/activities.js';\nimport {config} from './config.js';\nimport {hook} from \"./hook.ts\";\nimport adapterManager from './adapterManager.js';\nimport {activityParams} from './activities/activityParams.js';\nimport type {AnyFunction} from \"./types/functions.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\n\nexport const STORAGE_TYPE_LOCALSTORAGE = 'html5';\nexport const STORAGE_TYPE_COOKIES = 'cookie';\n\nexport type StorageType = typeof STORAGE_TYPE_LOCALSTORAGE | typeof STORAGE_TYPE_COOKIES;\n\nexport let storageCallbacks = [];\n\n/* eslint-disable no-restricted-properties */\n\ninterface AcceptsCallback<FN extends AnyFunction> {\n (...args: Parameters<FN>): ReturnType<FN>;\n (...args: [...Parameters<FN>, (result: ReturnType<FN>) => void]): void;\n}\n\ntype BrowserStorage = 'localStorage' | 'sessionStorage';\n\nexport type StorageManager = {\n [M in BrowserStorage as `has${Capitalize<M>}`]: AcceptsCallback<() => boolean>;\n} & {\n [M in BrowserStorage as `${M}IsEnabled`]: AcceptsCallback<() => boolean>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `setDataIn${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.setItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `getDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.getItem>;\n} & {\n // eslint-disable-next-line no-restricted-globals\n [M in BrowserStorage as `removeDataFrom${Capitalize<M>}`]: AcceptsCallback<typeof localStorage.removeItem>\n} & {\n setCookie: AcceptsCallback<(name: string, value: string, expires?: string, sameSite?: string, domain?: string) => void>;\n getCookie: AcceptsCallback<(name: string) => string>;\n cookiesAreEnabled: AcceptsCallback<() => boolean>;\n findSimilarCookies: AcceptsCallback<(contains: string) => string[]>\n}\n\n/*\n * Storage manager constructor. Consumers should prefer one of `getStorageManager` or `getCoreStorageManager`.\n */\nexport function newStorageManager({moduleName, moduleType, advertiseKeys = true}: {\n moduleName: string;\n moduleType: ModuleType;\n /**\n * If false, do not pass the 'storageKey' to activity checks - turning off storageControl for this manager.\n */\n advertiseKeys?: boolean;\n} = {} as any, {isAllowed = isActivityAllowed} = {}) {\n function isValid(cb, storageType, storageKey, isWrite) {\n let mod = moduleName;\n const curBidder = config.getCurrentBidder();\n if (curBidder && moduleType === MODULE_TYPE_BIDDER && adapterManager.aliasRegistry[curBidder] === moduleName) {\n mod = curBidder;\n }\n const params = {\n [ACTIVITY_PARAM_STORAGE_TYPE]: storageType,\n [ACTIVITY_PARAM_STORAGE_WRITE]: isWrite,\n };\n if (advertiseKeys && storageKey != null) {\n params[ACTIVITY_PARAM_STORAGE_KEY] = storageKey;\n }\n const result = {\n valid: isAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(moduleType, mod, params))\n };\n\n return cb(result);\n }\n\n function schedule(operation, storageType, storageKey, isWrite, done) {\n if (done && typeof done === 'function') {\n storageCallbacks.push(function() {\n let result = isValid(operation, storageType, storageKey, isWrite);\n done(result);\n });\n } else {\n return isValid(operation, storageType, storageKey, isWrite);\n }\n }\n\n /**\n * @param {string} key\n * @param {string} value\n * @param {string} [expires='']\n * @param {string} [sameSite='/']\n * @param {string} [domain] domain (e.g., 'example.com' or 'subdomain.example.com').\n * If not specified, defaults to the host portion of the current document location.\n * If a domain is specified, subdomains are always included.\n * Domain must match the domain of the JavaScript origin. Setting cookies to foreign domains will be silently ignored.\n * @param {function} [done]\n */\n const setCookie = function (key, value, expires, sameSite, domain, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const domainPortion = (domain && domain !== '') ? ` ;domain=${encodeURIComponent(domain)}` : '';\n const expiresPortion = (expires && expires !== '') ? ` ;expires=${expires}` : '';\n const isNone = (sameSite != null && sameSite.toLowerCase() == 'none')\n const secure = (isNone) ? '; Secure' : '';\n document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;\n }\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, key, true, done);\n };\n\n /**\n * @param {string} name\n * @param {function} [done]\n * @returns {(string|null)}\n */\n const getCookie = function(name, done) {\n let cb = function (result) {\n if (result && result.valid) {\n let m = window.document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)');\n return m ? decodeURIComponent(m[2]) : null;\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, name, false, done);\n };\n\n /**\n * @param {function} [done]\n * @returns {boolean}\n */\n const cookiesAreEnabled = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n return checkCookieSupport();\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_COOKIES, null, false, done);\n }\n\n function storageMethods(name) {\n const capName = name.charAt(0).toUpperCase() + name.substring(1);\n const backend = () => window[name] as any;\n\n const hasStorage: AcceptsCallback<() => boolean> = function (done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n return !!backend();\n } catch (e) {\n logError(`${name} api disabled`);\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n } as any;\n\n return {\n [`has${capName}`]: hasStorage,\n [`${name}IsEnabled`](done) {\n let cb = function (result) {\n if (result && result.valid) {\n try {\n backend().setItem('prebid.cookieTest', '1');\n return backend().getItem('prebid.cookieTest') === '1';\n } catch (error) {\n } finally {\n try {\n backend().removeItem('prebid.cookieTest');\n } catch (error) {}\n }\n }\n return false;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, null, false, done);\n },\n [`setDataIn${capName}`](key, value, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().setItem(key, value);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n },\n [`getDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n return backend().getItem(key);\n }\n return null;\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, false, done);\n },\n [`removeDataFrom${capName}`](key, done) {\n let cb = function (result) {\n if (result && result.valid && hasStorage()) {\n backend().removeItem(key);\n }\n }\n return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, key, true, done);\n }\n }\n }\n\n /**\n * Returns all cookie values from the jar whose names contain the `keyLike`\n * Needs to exist in `utils.js` as it follows the StorageHandler interface defined in live-connect-js. If that module were to be removed, this function can go as well.\n * @param {string} keyLike\n * @param {function} [done]\n * @returns {string[]}\n */\n const findSimilarCookies = function(keyLike, done) {\n let cb = function (result) {\n if (result && result.valid) {\n const all = [];\n if (hasDeviceAccess()) {\n const cookies = document.cookie.split(';');\n while (cookies.length) {\n const cookie = cookies.pop();\n let separatorIndex = cookie.indexOf('=');\n separatorIndex = separatorIndex < 0 ? cookie.length : separatorIndex;\n const cookieName = decodeURIComponent(cookie.slice(0, separatorIndex).replace(/^\\s+/, ''));\n if (cookieName.indexOf(keyLike) >= 0) {\n all.push(decodeURIComponent(cookie.slice(separatorIndex + 1)));\n }\n }\n }\n return all;\n }\n }\n\n return schedule(cb, STORAGE_TYPE_COOKIES, keyLike, false, done);\n }\n\n return {\n setCookie,\n getCookie,\n cookiesAreEnabled,\n ...storageMethods('localStorage'),\n ...storageMethods('sessionStorage'),\n findSimilarCookies\n } as StorageManager;\n}\n\n/**\n * Get a storage manager for a particular module.\n *\n * Either bidderCode or a combination of moduleType + moduleName must be provided. The former is a shorthand\n * for `{moduleType: 'bidder', moduleName: bidderCode}`.\n *\n */\nexport function getStorageManager({moduleType, moduleName, bidderCode}: {\n moduleType?: ModuleType;\n moduleName?: string;\n bidderCode?: BidderCode;\n} = {}) {\n function err() {\n throw new Error(`Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName`)\n }\n if (bidderCode) {\n if ((moduleType && moduleType !== MODULE_TYPE_BIDDER) || moduleName) err()\n moduleType = MODULE_TYPE_BIDDER;\n moduleName = bidderCode;\n } else if (!moduleName || !moduleType) {\n err()\n }\n return newStorageManager({moduleType, moduleName});\n}\n\n/**\n * Get a storage manager for \"core\" (vendorless, or first-party) modules. Shorthand for `getStorageManager({moduleName, moduleType: 'core'})`.\n *\n * @param {string} moduleName Module name\n */\nexport function getCoreStorageManager(moduleName) {\n return newStorageManager({moduleName: moduleName, moduleType: MODULE_TYPE_PREBID});\n}\n\n/**\n * Block all access to storage when deviceAccess = false\n */\nexport function deviceAccessRule() {\n if (!hasDeviceAccess()) {\n return {allow: false}\n }\n}\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'deviceAccess config', deviceAccessRule);\n\n/**\n * Block all access to request credentials when deviceAccess = false\n */\nregisterActivityControl(ACTIVITY_ACCESS_REQUEST_CREDENTIALS, 'deviceAccess config', deviceAccessRule);\n\n/**\n * By default, deny bidders accessDevice unless they enable it through bidderSettings\n *\n * // TODO: for backwards compat, the check is done on the adapter - rather than bidder's code.\n */\nexport function storageAllowedRule(params, bs = bidderSettings) {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_BIDDER) return;\n let allow = bs.get(params[ACTIVITY_PARAM_ADAPTER_CODE], 'storageAllowed');\n if (!allow || allow === true) {\n allow = !!allow\n } else {\n const storageType = params[ACTIVITY_PARAM_STORAGE_TYPE];\n allow = Array.isArray(allow) ? allow.some((e) => e === storageType) : allow === storageType;\n }\n if (!allow) {\n return {allow};\n }\n}\n\nregisterActivityControl(ACTIVITY_ACCESS_DEVICE, 'bidderSettings.*.storageAllowed', storageAllowedRule);\n\nexport function resetData() {\n storageCallbacks = [];\n}\n\ntype CookieStorageDisclosure = {\n type: 'cookie',\n /**\n * The number, in seconds, of the duration for storage on a device, as set when using cookie storage.\n */\n maxAgeSeconds: number;\n /**\n * Indicates the vendor is refreshing a cookie.\n */\n cookieRefresh: boolean;\n}\ntype HTML5StorageDisclosure = {\n type: 'web'\n maxAgeSeconds?: null;\n cookieRefresh?: null;\n}\n\n/**\n * First party storage use disclosure. Follows the same format as\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n * except that `domain` is omitted.\n */\nexport type StorageDisclosure = (CookieStorageDisclosure | HTML5StorageDisclosure) & {\n /**\n * Key or object name, depending on type, for the storage item.\n * Wildcards '*' are permitted. For example, \"id*\" or \"*id\" describes multiple prefixed or suffixed identifiers,\n * all having the same purpose(s).\n */\n identifier: string;\n /**\n * The purpose ID or purpose IDs from the Global Vendor List (GVL) for which the storage is used.\n */\n purposes: number[];\n}\n\n/**\n * Disclose first party storage use.\n */\nexport const discloseStorageUse = hook('sync', (moduleName: string, disclosure: StorageDisclosure) => {});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EVENTS } from './constants.js';
|
|
2
|
-
import type { Bid } from
|
|
3
|
-
import type { AdUnitCode, ByAdUnit, Identifier } from
|
|
4
|
-
import type { DefaultTargeting } from
|
|
2
|
+
import type { Bid } from './bidfactory.ts';
|
|
3
|
+
import type { AdUnitCode, ByAdUnit, Identifier } from './types/common.d.ts';
|
|
4
|
+
import type { DefaultTargeting } from './auction.ts';
|
|
5
5
|
export declare const TARGETING_KEYS_ARR: any[];
|
|
6
6
|
export declare const filters: {
|
|
7
7
|
isBidNotExpired: (bid: any) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from \"./bidfactory.ts\";\nimport type {AdUnitCode, ByAdUnit, Identifier} from \"./types/common.d.ts\";\nimport type {DefaultTargeting} from \"./auction.ts\";\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from './bidfactory.ts';\nimport type {AdUnitCode, ByAdUnit, Identifier} from './types/common.d.ts';\nimport type {DefaultTargeting} from './auction.ts';\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.js","names":[],"sourceRoot":"../../../..","sources":["src/types/common.d.ts"],"sourcesContent":["import type {DeepPartial} from \"./objects.d.ts\";\nimport type {ORTBRequest} from \"./ortb/request.d.ts\";\n\n/**\n * Prebid-generated identifier.\n */\nexport type Identifier = string;\n/**\n * A bidder code.\n */\nexport type BidderCode = string;\nexport type BidSource = 's2s' | 'client';\nexport type Currency = string;\nexport type AdUnitCode = string;\nexport type Size = [number, number];\nexport type ContextIdentifiers = {\n
|
|
1
|
+
{"version":3,"file":"common.d.js","names":[],"sourceRoot":"../../../..","sources":["src/types/common.d.ts"],"sourcesContent":["import type {DeepPartial} from \"./objects.d.ts\";\nimport type {ORTBRequest} from \"./ortb/request.d.ts\";\n\n/**\n * Prebid-generated identifier.\n */\nexport type Identifier = string;\n/**\n * A bidder code.\n */\nexport type BidderCode = string;\nexport type BidSource = 's2s' | 'client';\nexport type Currency = string;\nexport type AdUnitCode = string;\nexport type Size = [number, number];\nexport type ContextIdentifiers = {\n /**\n * Auction ID. Unique for any given auction, but shared across all requests and responses within that auction.\n */\n auctionId: Identifier;\n /**\n * Transaction ID. Unique for any given impression opportunity (every auction presents an opportunity for each slot),\n * but shared across all bid requests and responses for that impression opportunity.\n */\n transactionId: Identifier;\n /**\n * Ad unit ID. Similar to transaction IDs in that any slot and auction pair will have different IDs, but unlike transactions,\n * twin ad units will have different ad unit IDs.\n */\n adUnitId: Identifier;\n}\nexport type ORTBFragments = {\n /**\n * Global first party data for this auction.\n */\n global?: DeepPartial<ORTBRequest>;\n /**\n * Bidder-specific first party data for this auction (mapped by bidder).\n */\n bidder?: {\n [bidderCode: BidderCode]: DeepPartial<ORTBRequest>\n }\n}\n\nexport type ByAdUnit<T> = { [adUnit: AdUnitCode]: T };\n\nexport type StorageDisclosure = {\n /**\n * URL to a device storage disclosure document in TCF format\n * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/Vendor%20Device%20Storage%20%26%20Operational%20Disclosures.md\n */\n disclosureURL?: string;\n}\n"],"mappings":"","ignoreList":[]}
|