prebid.js 10.2.0 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +254 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +7 -7
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/gulpfile.js +0 -7
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/openxBidAdapter.js +6 -1
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +262 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +2 -3
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["isValidPriceConfig","deepAccess","deepClone","getParameterByName","isArray","isBoolean","isPlainObject","isStr","logError","logMessage","logWarn","mergeDeep","DEBUG_MODE","DEFAULT_DEBUG","toUpperCase","DEFAULT_BIDDER_TIMEOUT","DEFAULT_ENABLE_SEND_ALL_BIDS","DEFAULT_DISABLE_AJAX_TIMEOUT","DEFAULT_BID_CACHE","DEFAULT_DEVICE_ACCESS","DEFAULT_MAX_NESTED_IFRAMES","DEFAULT_MAXBID_VALUE","DEFAULT_IFRAMES_CONFIG","RANDOM","FIXED","VALID_ORDERS","DEFAULT_BIDDER_SEQUENCE","GRANULARITY_OPTIONS","LOW","MEDIUM","HIGH","AUTO","DENSE","CUSTOM","ALL_TOPICS","attachProperties","config","useDefaultValues","arguments","length","undefined","values","priceGranularity","customPriceBucket","mediaTypePriceGranularity","bidderSequence","auctionOptions","getProp","name","setProp","val","hasOwnProperty","Object","defineProperty","enumerable","props","publisherDomain","set","validatePriceGranularity","hasGranularity","keys","reduce","aggregate","item","validateauctionOptions","defineProperties","fromEntries","entries","map","_ref","k","def","assign","get","bind","configurable","find","option","every","newConfig","listeners","defaults","bidderConfig","currBidder","resetConfig","debug","bidderTimeout","enableSendAllBids","useBidCache","deviceAccess","disableAjaxTimeout","maxNestedIframes","maxBid","userSync","topics","callSubscribers","memo","topic","_getConfig","curr","Set","merged","base","override","_getRestrictedConfig","conf","Error","getAnyConfig","getConfig","accessor","subscribe","readConfig","readAnyConfig","wrapee","res","getBidderConfig","setConfig","options","topicalConfig","forEach","e","setDefaults","listener","callback","nl","push","init","unsubscribe","splice","indexOf","TOPICS","filter","includes","setBidderConfig","mergeFlag","check","bidders","bidder","currentConfig","func","obj","Array","mergeConfig","mergedConfig","mergeBidderConfig","runWithBidder","fn","resetBidder","callbackWithBidder","cb","_len","args","_key","getCurrentBidder"],"sourceRoot":"../../..","sources":["src/config.ts"],"sourcesContent":["/*\n * Module for getting and setting Prebid configuration.\n*/\n\nimport {isValidPriceConfig} from './cpmBucketManager.js';\nimport {\n deepAccess,\n deepClone,\n getParameterByName,\n isArray,\n isBoolean,\n isPlainObject,\n isStr,\n logError,\n logMessage,\n logWarn,\n mergeDeep\n} from './utils.js';\nimport {DEBUG_MODE} from './constants.js';\nimport type {UserSyncConfig} from \"./userSync.ts\";\nimport type {DeepPartial, DeepProperty, DeepPropertyName, TypeOfDeepProperty} from \"./types/objects.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\n\nconst DEFAULT_DEBUG = getParameterByName(DEBUG_MODE).toUpperCase() === 'TRUE';\nconst DEFAULT_BIDDER_TIMEOUT = 3000;\nconst DEFAULT_ENABLE_SEND_ALL_BIDS = true;\nconst DEFAULT_DISABLE_AJAX_TIMEOUT = false;\nconst DEFAULT_BID_CACHE = false;\nconst DEFAULT_DEVICE_ACCESS = true;\nconst DEFAULT_MAX_NESTED_IFRAMES = 10;\nconst DEFAULT_MAXBID_VALUE = 5000\n\nconst DEFAULT_IFRAMES_CONFIG = {};\n\nexport const RANDOM = 'random';\nconst FIXED = 'fixed';\n\nconst VALID_ORDERS = {};\nVALID_ORDERS[RANDOM] = true;\nVALID_ORDERS[FIXED] = true;\n\nconst DEFAULT_BIDDER_SEQUENCE = RANDOM;\n\nconst GRANULARITY_OPTIONS = {\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n AUTO: 'auto',\n DENSE: 'dense',\n CUSTOM: 'custom'\n};\n\nconst ALL_TOPICS = '*';\n\nfunction attachProperties(config, useDefaultValues = true) {\n const values = useDefaultValues ? {\n priceGranularity: GRANULARITY_OPTIONS.MEDIUM,\n customPriceBucket: {},\n mediaTypePriceGranularity: {},\n bidderSequence: DEFAULT_BIDDER_SEQUENCE,\n auctionOptions: {}\n } : {}\n\n function getProp(name) {\n return values[name];\n }\n\n function setProp(name, val) {\n if (!values.hasOwnProperty(name)) {\n Object.defineProperty(config, name, {enumerable: true});\n }\n values[name] = val;\n }\n\n const props = {\n publisherDomain: {\n set(val) {\n if (val != null) {\n logWarn('publisherDomain is deprecated and has no effect since v7 - use pageUrl instead')\n }\n setProp('publisherDomain', val);\n }\n },\n priceGranularity: {\n set(val) {\n if (validatePriceGranularity(val)) {\n if (typeof val === 'string') {\n setProp('priceGranularity', (hasGranularity(val)) ? val : GRANULARITY_OPTIONS.MEDIUM);\n } else if (isPlainObject(val)) {\n setProp('customPriceBucket', val);\n setProp('priceGranularity', GRANULARITY_OPTIONS.CUSTOM)\n logMessage('Using custom price granularity');\n }\n }\n }\n },\n customPriceBucket: {},\n mediaTypePriceGranularity: {\n set(val) {\n val != null && setProp('mediaTypePriceGranularity', Object.keys(val).reduce((aggregate, item) => {\n if (validatePriceGranularity(val[item])) {\n if (typeof val === 'string') {\n aggregate[item] = (hasGranularity(val[item])) ? val[item] : getProp('priceGranularity');\n } else if (isPlainObject(val)) {\n aggregate[item] = val[item];\n logMessage(`Using custom price granularity for ${item}`);\n }\n } else {\n logWarn(`Invalid price granularity for media type: ${item}`);\n }\n return aggregate;\n }, {}));\n }\n },\n bidderSequence: {\n set(val) {\n if (VALID_ORDERS[val]) {\n setProp('bidderSequence', val);\n } else {\n logWarn(`Invalid order: ${val}. Bidder Sequence was not set.`);\n }\n }\n },\n auctionOptions: {\n set(val) {\n if (validateauctionOptions(val)) {\n setProp('auctionOptions', val);\n }\n }\n }\n }\n\n Object.defineProperties(config, Object.fromEntries(\n Object.entries(props)\n .map(([k, def]) => [k, Object.assign({\n get: getProp.bind(null, k),\n set: setProp.bind(null, k),\n enumerable: values.hasOwnProperty(k),\n configurable: !values.hasOwnProperty(k)\n }, def)])\n ));\n\n return config;\n\n function hasGranularity(val) {\n return Object.keys(GRANULARITY_OPTIONS).find(option => val === GRANULARITY_OPTIONS[option]);\n }\n\n function validatePriceGranularity(val) {\n if (!val) {\n logError('Prebid Error: no value passed to `setPriceGranularity()`');\n return false;\n }\n if (typeof val === 'string') {\n if (!hasGranularity(val)) {\n logWarn('Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.');\n }\n } else if (isPlainObject(val)) {\n if (!isValidPriceConfig(val)) {\n logError('Invalid custom price value passed to `setPriceGranularity()`');\n return false;\n }\n }\n return true;\n }\n\n function validateauctionOptions(val) {\n if (!isPlainObject(val)) {\n logWarn('Auction Options must be an object')\n return false\n }\n\n for (const k of Object.keys(val)) {\n if (k !== 'secondaryBidders' && k !== 'suppressStaleRender' && k !== 'suppressExpiredRender') {\n logWarn(`Auction Options given an incorrect param: ${k}`)\n return false\n }\n if (k === 'secondaryBidders') {\n if (!isArray(val[k])) {\n logWarn(`Auction Options ${k} must be of type Array`);\n return false\n } else if (!val[k].every(isStr)) {\n logWarn(`Auction Options ${k} must be only string`);\n return false\n }\n } else if (k === 'suppressStaleRender' || k === 'suppressExpiredRender') {\n if (!isBoolean(val[k])) {\n logWarn(`Auction Options ${k} must be of type boolean`);\n return false;\n }\n }\n }\n return true;\n }\n}\n\nexport interface Config {\n /**\n * Enable debug mode. In debug mode, Prebid.js will post additional messages to the browser console and cause\n * Prebid Server to return additional information in its response.\n */\n debug?: boolean;\n /**\n * Global bidder timeout.\n */\n bidderTimeout?: number;\n /**\n * When true, the page will send keywords for all bidders to your ad server.\n */\n enableSendAllBids?: boolean;\n /**\n * Prebid.js currently allows for caching and reusing bids in a very narrowly defined scope.\n * However, if you’d like, you can disable this feature and prevent Prebid.js from using anything but the latest bids for a given auction.\n */\n useBidCache?: boolean;\n /**\n * You can prevent Prebid.js from reading or writing cookies or HTML localstorage by setting this to false.\n */\n deviceAccess?: boolean;\n /**\n * Prebid core adds a timeout on XMLHttpRequest request to terminate the request once auction is timed out.\n * Since Prebid is ignoring all the bids after timeout it does not make sense to continue the request after timeout.\n * However, you have the option to disable this by using disableAjaxTimeout.\n */\n disableAjaxTimeout?: boolean;\n /**\n * Prebid ensures that the bid response price doesn’t exceed the maximum bid.\n * If the CPM (after currency conversion) is higher than the maxBid, the bid is rejected.\n * The default maxBid value is 5000.\n */\n maxBid?: number;\n userSync?: UserSyncConfig;\n /**\n * Set the order in which bidders are called.\n */\n bidderSequence?: typeof RANDOM | typeof FIXED;\n /**\n * When a page is prerendered, by default Prebid will delay auctions until it is activated.\n * Set this to `true` to allow auctions to run during prerendering.\n */\n allowPrerendering?: boolean;\n /**\n * If set to `private`, remove public access to Prebid's alias registry\n */\n aliasRegistry?: 'private'\n /**\n * ORTB-formatted first party data.\n * https://docs.prebid.org/features/firstPartyData.html\n */\n ortb2?: DeepPartial<ORTBRequest>;\n}\n\ntype PartialConfig = Partial<Config> & { [setting: string]: unknown };\ntype BidderConfig = {\n bidders: BidderCode[];\n config: PartialConfig;\n}\n\ntype TopicalConfig<S extends string> = {[K in DeepPropertyName<S>]: S extends DeepProperty<Config> ? TypeOfDeepProperty<Config, S> : unknown};\ntype UnregistrationFn = () => void;\n\ntype GetConfigOptions = {\n /**\n * If true, the listener will be called immediately (instead of only on the next configuration change).\n */\n init?: boolean;\n}\n\ninterface GetConfig {\n (): Config;\n <S extends DeepProperty<Config> | string>(setting: S): S extends DeepProperty<Config> ? TypeOfDeepProperty<Config, S> : unknown;\n (topic: typeof ALL_TOPICS, listener: (config: Config) => void, options?: GetConfigOptions): UnregistrationFn;\n <S extends DeepProperty<Config> | string>(topic: S, listener: (config: TopicalConfig<S>) => void, options?: GetConfigOptions): UnregistrationFn;\n (listener: (config: Config) => void, options?: GetConfigOptions): UnregistrationFn;\n}\n\nexport function newConfig() {\n const listeners = [];\n let defaults;\n let config;\n let bidderConfig;\n let currBidder = null;\n\n function resetConfig() {\n defaults = {};\n\n const newConfig = attachProperties({\n // `debug` is equivalent to legacy `pbjs.logging` property\n debug: DEFAULT_DEBUG,\n bidderTimeout: DEFAULT_BIDDER_TIMEOUT,\n enableSendAllBids: DEFAULT_ENABLE_SEND_ALL_BIDS,\n useBidCache: DEFAULT_BID_CACHE,\n\n /**\n * deviceAccess set to false will disable setCookie, getCookie, hasLocalStorage\n * @type {boolean}\n */\n deviceAccess: DEFAULT_DEVICE_ACCESS,\n\n disableAjaxTimeout: DEFAULT_DISABLE_AJAX_TIMEOUT,\n\n // default max nested iframes for referer detection\n maxNestedIframes: DEFAULT_MAX_NESTED_IFRAMES,\n\n // default max bid\n maxBid: DEFAULT_MAXBID_VALUE,\n userSync: {\n topics: DEFAULT_IFRAMES_CONFIG\n }\n });\n\n if (config) {\n callSubscribers(\n Object.keys(config).reduce((memo, topic) => {\n if (config[topic] !== newConfig[topic]) {\n memo[topic] = newConfig[topic] || {};\n }\n return memo;\n },\n {})\n );\n }\n\n config = newConfig;\n bidderConfig = {};\n }\n\n /**\n * Returns base config with bidder overrides (if there is currently a bidder)\n * @private\n */\n function _getConfig() {\n if (currBidder && bidderConfig && isPlainObject(bidderConfig[currBidder])) {\n const curr = bidderConfig[currBidder];\n const topics = new Set([...Object.keys(config), ...Object.keys(curr)]);\n const merged = {};\n for (const topic of topics) {\n const base = config[topic];\n const override = curr[topic];\n merged[topic] = override === undefined ? base\n : base === undefined ? override\n : isPlainObject(override) ? mergeDeep({}, base, override)\n : override;\n }\n return merged;\n }\n return { ...config };\n }\n\n function _getRestrictedConfig() {\n // This causes reading 'ortb2' to throw an error; with prebid 7, that will almost\n // always be the incorrect way to access FPD configuration (https://github.com/prebid/Prebid.js/issues/7651)\n // code that needs the ortb2 config should explicitly use `getAnyConfig`\n // TODO: this is meant as a temporary tripwire to catch inadvertent use of `getConfig('ortb')` as we transition.\n // It should be removed once the risk of that happening is low enough.\n const conf = _getConfig();\n Object.defineProperty(conf, 'ortb2', {\n get: function () {\n throw new Error('invalid access to \\'orbt2\\' config - use request parameters instead');\n }\n });\n return conf;\n }\n\n const [getAnyConfig, getConfig]: [GetConfig, GetConfig] = [_getConfig, _getRestrictedConfig].map(accessor => {\n /*\n * Returns configuration object if called without parameters,\n * or single configuration property if given a string matching a configuration\n * property name. Allows deep access e.g. getConfig('currency.adServerCurrency')\n *\n * If called with callback parameter, or a string and a callback parameter,\n * subscribes to configuration updates. See `subscribe` function for usage.\n */\n return function getConfig(...args) {\n if (args.length <= 1 && typeof args[0] !== 'function') {\n const option = args[0];\n return option ? deepAccess(accessor(), option) : _getConfig();\n }\n\n return subscribe(...args);\n }\n }) as any;\n\n const [readConfig, readAnyConfig]: [GetConfig, GetConfig] = [getConfig, getAnyConfig].map(wrapee => {\n /*\n * Like getConfig, except that it returns a deepClone of the result.\n */\n return function readConfig(...args) {\n let res = (wrapee as any)(...args);\n if (res && typeof res === 'object') {\n res = deepClone(res);\n }\n return res;\n }\n }) as any;\n\n /**\n * Internal API for modules (such as prebid-server) that might need access to all bidder config\n */\n function getBidderConfig(): { [bidderCode: BidderCode]: PartialConfig } {\n return bidderConfig;\n }\n\n /*\n * Set configuration.\n */\n function setConfig(options: PartialConfig) {\n if (!isPlainObject(options)) {\n logError('setConfig options must be an object');\n return;\n }\n\n const topics = Object.keys(options);\n const topicalConfig = {};\n\n topics.forEach(topic => {\n let option = options[topic];\n\n if (isPlainObject(defaults[topic]) && isPlainObject(option)) {\n option = Object.assign({}, defaults[topic], option);\n }\n\n try {\n topicalConfig[topic] = config[topic] = option;\n } catch (e) {\n logWarn(`Cannot set config for property ${topic} : `, e)\n }\n });\n\n callSubscribers(topicalConfig);\n }\n\n /**\n * Sets configuration defaults which setConfig values can be applied on top of\n * @param {object} options\n */\n function setDefaults(options) {\n if (!isPlainObject(defaults)) {\n logError('defaults must be an object');\n return;\n }\n\n Object.assign(defaults, options);\n // Add default values to config as well\n Object.assign(config, options);\n }\n\n /*\n * Adds a function to a set of listeners that are invoked whenever `setConfig`\n * is called. The subscribed function will be passed the options object that\n * was used in the `setConfig` call. Topics can be subscribed to to only get\n * updates when specific properties are updated by passing a topic string as\n * the first parameter.\n *\n * If `options.init` is true, the listener will be immediately called with the current options.\n *\n * Returns an `unsubscribe` function for removing the subscriber from the\n * set of listeners\n *\n * Example use:\n * // subscribe to all configuration changes\n * subscribe((config) => console.log('config set:', config));\n *\n * // subscribe to only 'logging' changes\n * subscribe('logging', (config) => console.log('logging set:', config));\n *\n * // unsubscribe\n * const unsubscribe = subscribe(...);\n * unsubscribe(); // no longer listening\n *\n */\n function subscribe(...args: any[]);\n function subscribe(topic, listener, options: GetConfigOptions = {}) {\n let callback = listener;\n\n if (typeof topic !== 'string') {\n // first param should be callback function in this case,\n // meaning it gets called for any config change\n callback = topic;\n topic = ALL_TOPICS;\n options = listener || {};\n }\n\n if (typeof callback !== 'function') {\n logError('listener must be a function');\n return;\n }\n\n const nl = { topic, callback };\n listeners.push(nl);\n\n if (options.init) {\n if (topic === ALL_TOPICS) {\n callback(getConfig());\n } else {\n callback({[topic]: getConfig(topic)});\n }\n }\n\n // save and call this function to remove the listener\n return function unsubscribe() {\n listeners.splice(listeners.indexOf(nl), 1);\n };\n }\n\n /*\n * Calls listeners that were added by the `subscribe` function\n */\n function callSubscribers(options) {\n const TOPICS = Object.keys(options);\n\n // call subscribers of a specific topic, passing only that configuration\n listeners\n .filter(listener => TOPICS.includes(listener.topic))\n .forEach(listener => {\n listener.callback({ [listener.topic]: options[listener.topic] });\n });\n\n // call subscribers that didn't give a topic, passing everything that was set\n listeners\n .filter(listener => listener.topic === ALL_TOPICS)\n .forEach(listener => listener.callback(options));\n }\n\n function setBidderConfig(config: BidderConfig, mergeFlag = false) {\n try {\n check(config);\n config.bidders.forEach(bidder => {\n if (!bidderConfig[bidder]) {\n bidderConfig[bidder] = attachProperties({}, false);\n }\n Object.keys(config.config).forEach(topic => {\n const option = config.config[topic];\n const currentConfig = bidderConfig[bidder][topic];\n if (isPlainObject(option) && (currentConfig == null || isPlainObject(currentConfig))) {\n const func = mergeFlag ? mergeDeep : Object.assign;\n bidderConfig[bidder][topic] = func({}, currentConfig || {}, option);\n } else {\n bidderConfig[bidder][topic] = option;\n }\n });\n });\n } catch (e) {\n logError(e);\n }\n\n function check(obj) {\n if (!isPlainObject(obj)) {\n throw 'setBidderConfig bidder options must be an object';\n }\n if (!(Array.isArray(obj.bidders) && obj.bidders.length)) {\n throw 'setBidderConfig bidder options must contain a bidders list with at least 1 bidder';\n }\n if (!isPlainObject(obj.config)) {\n throw 'setBidderConfig bidder options must contain a config object';\n }\n }\n }\n\n function mergeConfig(config: PartialConfig) {\n if (!isPlainObject(config)) {\n logError('mergeConfig input must be an object');\n return;\n }\n\n const mergedConfig = mergeDeep(_getConfig(), config);\n\n setConfig({ ...mergedConfig });\n return mergedConfig;\n }\n\n function mergeBidderConfig(config: BidderConfig) {\n return setBidderConfig(config, true);\n }\n\n /**\n * Internal functions for core to execute some synchronous code while having an active bidder set.\n */\n function runWithBidder(bidder, fn) {\n currBidder = bidder;\n try {\n return fn();\n } finally {\n resetBidder();\n }\n }\n function callbackWithBidder(bidder) {\n return function(cb) {\n return function(...args) {\n if (typeof cb === 'function') {\n return runWithBidder(bidder, cb.bind(this, ...args))\n } else {\n logWarn('config.callbackWithBidder callback is not a function');\n }\n }\n }\n }\n\n function getCurrentBidder() {\n return currBidder;\n }\n\n function resetBidder() {\n currBidder = null;\n }\n\n resetConfig();\n\n return {\n getCurrentBidder,\n resetBidder,\n getConfig,\n getAnyConfig,\n readConfig,\n readAnyConfig,\n setConfig,\n mergeConfig,\n setDefaults,\n resetConfig,\n runWithBidder,\n callbackWithBidder,\n setBidderConfig,\n getBidderConfig,\n mergeBidderConfig,\n };\n}\n\n/**\n * Set a `cache.url` if we should use prebid-cache to store video bids before adding bids to the auction.\n * This must be set if you want to use the gamAdServerVideo module.\n */\nexport const config = newConfig();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"config.js","names":["isValidPriceConfig","deepAccess","deepClone","getParameterByName","isArray","isBoolean","isPlainObject","isStr","logError","logMessage","logWarn","mergeDeep","DEBUG_MODE","DEFAULT_DEBUG","toUpperCase","DEFAULT_BIDDER_TIMEOUT","DEFAULT_ENABLE_SEND_ALL_BIDS","DEFAULT_DISABLE_AJAX_TIMEOUT","DEFAULT_BID_CACHE","DEFAULT_DEVICE_ACCESS","DEFAULT_MAX_NESTED_IFRAMES","DEFAULT_MAXBID_VALUE","DEFAULT_IFRAMES_CONFIG","RANDOM","FIXED","VALID_ORDERS","DEFAULT_BIDDER_SEQUENCE","GRANULARITY_OPTIONS","LOW","MEDIUM","HIGH","AUTO","DENSE","CUSTOM","ALL_TOPICS","attachProperties","config","useDefaultValues","arguments","length","undefined","values","priceGranularity","customPriceBucket","mediaTypePriceGranularity","bidderSequence","auctionOptions","getProp","name","setProp","val","hasOwnProperty","Object","defineProperty","enumerable","props","publisherDomain","set","validatePriceGranularity","hasGranularity","keys","reduce","aggregate","item","validateauctionOptions","defineProperties","fromEntries","entries","map","_ref","k","def","assign","get","bind","configurable","find","option","every","newConfig","listeners","defaults","bidderConfig","currBidder","resetConfig","debug","bidderTimeout","enableSendAllBids","useBidCache","deviceAccess","disableAjaxTimeout","maxNestedIframes","maxBid","userSync","topics","callSubscribers","memo","topic","_getConfig","curr","Set","merged","base","override","_getRestrictedConfig","conf","Error","getAnyConfig","getConfig","accessor","subscribe","readConfig","readAnyConfig","wrapee","res","getBidderConfig","setConfig","options","topicalConfig","forEach","e","setDefaults","listener","callback","nl","push","init","unsubscribe","splice","indexOf","TOPICS","filter","includes","setBidderConfig","mergeFlag","check","bidders","bidder","currentConfig","func","obj","Array","mergeConfig","mergedConfig","mergeBidderConfig","runWithBidder","fn","resetBidder","callbackWithBidder","cb","_len","args","_key","getCurrentBidder"],"sourceRoot":"../../..","sources":["src/config.ts"],"sourcesContent":["/*\n * Module for getting and setting Prebid configuration.\n*/\n\nimport {isValidPriceConfig} from './cpmBucketManager.js';\nimport {\n deepAccess,\n deepClone,\n getParameterByName,\n isArray,\n isBoolean,\n isPlainObject,\n isStr,\n logError,\n logMessage,\n logWarn,\n mergeDeep\n} from './utils.js';\nimport {DEBUG_MODE} from './constants.js';\nimport type {UserSyncConfig} from \"./userSync.ts\";\nimport type {DeepPartial, DeepProperty, DeepPropertyName, TypeOfDeepProperty} from \"./types/objects.d.ts\";\nimport type {BidderCode} from \"./types/common.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\n\nconst DEFAULT_DEBUG = getParameterByName(DEBUG_MODE).toUpperCase() === 'TRUE';\nconst DEFAULT_BIDDER_TIMEOUT = 3000;\nconst DEFAULT_ENABLE_SEND_ALL_BIDS = true;\nconst DEFAULT_DISABLE_AJAX_TIMEOUT = false;\nconst DEFAULT_BID_CACHE = false;\nconst DEFAULT_DEVICE_ACCESS = true;\nconst DEFAULT_MAX_NESTED_IFRAMES = 10;\nconst DEFAULT_MAXBID_VALUE = 5000\n\nconst DEFAULT_IFRAMES_CONFIG = {};\n\nexport const RANDOM = 'random';\nconst FIXED = 'fixed';\n\nconst VALID_ORDERS = {};\nVALID_ORDERS[RANDOM] = true;\nVALID_ORDERS[FIXED] = true;\n\nconst DEFAULT_BIDDER_SEQUENCE = RANDOM;\n\nconst GRANULARITY_OPTIONS = {\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n AUTO: 'auto',\n DENSE: 'dense',\n CUSTOM: 'custom'\n};\n\nconst ALL_TOPICS = '*';\n\nfunction attachProperties(config, useDefaultValues = true) {\n const values = useDefaultValues ? {\n priceGranularity: GRANULARITY_OPTIONS.MEDIUM,\n customPriceBucket: {},\n mediaTypePriceGranularity: {},\n bidderSequence: DEFAULT_BIDDER_SEQUENCE,\n auctionOptions: {}\n } : {}\n\n function getProp(name) {\n return values[name];\n }\n\n function setProp(name, val) {\n if (!values.hasOwnProperty(name)) {\n Object.defineProperty(config, name, {enumerable: true});\n }\n values[name] = val;\n }\n\n const props = {\n publisherDomain: {\n set(val) {\n if (val != null) {\n logWarn('publisherDomain is deprecated and has no effect since v7 - use pageUrl instead')\n }\n setProp('publisherDomain', val);\n }\n },\n priceGranularity: {\n set(val) {\n if (validatePriceGranularity(val)) {\n if (typeof val === 'string') {\n setProp('priceGranularity', (hasGranularity(val)) ? val : GRANULARITY_OPTIONS.MEDIUM);\n } else if (isPlainObject(val)) {\n setProp('customPriceBucket', val);\n setProp('priceGranularity', GRANULARITY_OPTIONS.CUSTOM)\n logMessage('Using custom price granularity');\n }\n }\n }\n },\n customPriceBucket: {},\n mediaTypePriceGranularity: {\n set(val) {\n val != null && setProp('mediaTypePriceGranularity', Object.keys(val).reduce((aggregate, item) => {\n if (validatePriceGranularity(val[item])) {\n if (typeof val === 'string') {\n aggregate[item] = (hasGranularity(val[item])) ? val[item] : getProp('priceGranularity');\n } else if (isPlainObject(val)) {\n aggregate[item] = val[item];\n logMessage(`Using custom price granularity for ${item}`);\n }\n } else {\n logWarn(`Invalid price granularity for media type: ${item}`);\n }\n return aggregate;\n }, {}));\n }\n },\n bidderSequence: {\n set(val) {\n if (VALID_ORDERS[val]) {\n setProp('bidderSequence', val);\n } else {\n logWarn(`Invalid order: ${val}. Bidder Sequence was not set.`);\n }\n }\n },\n auctionOptions: {\n set(val) {\n if (validateauctionOptions(val)) {\n setProp('auctionOptions', val);\n }\n }\n }\n }\n\n Object.defineProperties(config, Object.fromEntries(\n Object.entries(props)\n .map(([k, def]) => [k, Object.assign({\n get: getProp.bind(null, k),\n set: setProp.bind(null, k),\n enumerable: values.hasOwnProperty(k),\n configurable: !values.hasOwnProperty(k)\n }, def)])\n ));\n\n return config;\n\n function hasGranularity(val) {\n return Object.keys(GRANULARITY_OPTIONS).find(option => val === GRANULARITY_OPTIONS[option]);\n }\n\n function validatePriceGranularity(val) {\n if (!val) {\n logError('Prebid Error: no value passed to `setPriceGranularity()`');\n return false;\n }\n if (typeof val === 'string') {\n if (!hasGranularity(val)) {\n logWarn('Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.');\n }\n } else if (isPlainObject(val)) {\n if (!isValidPriceConfig(val)) {\n logError('Invalid custom price value passed to `setPriceGranularity()`');\n return false;\n }\n }\n return true;\n }\n\n function validateauctionOptions(val) {\n if (!isPlainObject(val)) {\n logWarn('Auction Options must be an object')\n return false\n }\n\n for (const k of Object.keys(val)) {\n if (k !== 'secondaryBidders' && k !== 'suppressStaleRender' && k !== 'suppressExpiredRender') {\n logWarn(`Auction Options given an incorrect param: ${k}`)\n return false\n }\n if (k === 'secondaryBidders') {\n if (!isArray(val[k])) {\n logWarn(`Auction Options ${k} must be of type Array`);\n return false\n } else if (!val[k].every(isStr)) {\n logWarn(`Auction Options ${k} must be only string`);\n return false\n }\n } else if (k === 'suppressStaleRender' || k === 'suppressExpiredRender') {\n if (!isBoolean(val[k])) {\n logWarn(`Auction Options ${k} must be of type boolean`);\n return false;\n }\n }\n }\n return true;\n }\n}\n\nexport interface Config {\n /**\n * Enable debug mode. In debug mode, Prebid.js will post additional messages to the browser console and cause\n * Prebid Server to return additional information in its response.\n */\n debug?: boolean;\n /**\n * Global bidder timeout.\n */\n bidderTimeout?: number;\n /**\n * When true, the page will send keywords for all bidders to your ad server.\n */\n enableSendAllBids?: boolean;\n /**\n * Prebid.js currently allows for caching and reusing bids in a very narrowly defined scope.\n * However, if you’d like, you can disable this feature and prevent Prebid.js from using anything but the latest bids for a given auction.\n */\n useBidCache?: boolean;\n /**\n * You can prevent Prebid.js from reading or writing cookies or HTML localstorage by setting this to false.\n */\n deviceAccess?: boolean;\n /**\n * Prebid core adds a timeout on XMLHttpRequest request to terminate the request once auction is timed out.\n * Since Prebid is ignoring all the bids after timeout it does not make sense to continue the request after timeout.\n * However, you have the option to disable this by using disableAjaxTimeout.\n */\n disableAjaxTimeout?: boolean;\n /**\n * Prebid ensures that the bid response price doesn’t exceed the maximum bid.\n * If the CPM (after currency conversion) is higher than the maxBid, the bid is rejected.\n * The default maxBid value is 5000.\n */\n maxBid?: number;\n userSync?: UserSyncConfig;\n /**\n * Set the order in which bidders are called.\n */\n bidderSequence?: typeof RANDOM | typeof FIXED;\n /**\n * When a page is prerendered, by default Prebid will delay auctions until it is activated.\n * Set this to `true` to allow auctions to run during prerendering.\n */\n allowPrerendering?: boolean;\n /**\n * If set to `private`, remove public access to Prebid's alias registry\n */\n aliasRegistry?: 'private'\n /**\n * ORTB-formatted first party data.\n * https://docs.prebid.org/features/firstPartyData.html\n */\n ortb2?: DeepPartial<ORTBRequest>;\n}\n\ntype PartialConfig = Partial<Config> & { [setting: string]: unknown };\ntype BidderConfig = {\n bidders: BidderCode[];\n config: PartialConfig;\n}\n\ntype TopicalConfig<S extends string> = {[K in DeepPropertyName<S>]: S extends DeepProperty<Config> ? TypeOfDeepProperty<Config, S> : unknown};\ntype UnregistrationFn = () => void;\n\ntype GetConfigOptions = {\n /**\n * If true, the listener will be called immediately (instead of only on the next configuration change).\n */\n init?: boolean;\n}\n\ninterface GetConfig {\n (): Config;\n <S extends DeepProperty<Config> | string>(setting: S): S extends DeepProperty<Config> ? TypeOfDeepProperty<Config, S> : unknown;\n (topic: typeof ALL_TOPICS, listener: (config: Config) => void, options?: GetConfigOptions): UnregistrationFn;\n <S extends DeepProperty<Config> | string>(topic: S, listener: (config: TopicalConfig<S>) => void, options?: GetConfigOptions): UnregistrationFn;\n (listener: (config: Config) => void, options?: GetConfigOptions): UnregistrationFn;\n}\n\nexport function newConfig() {\n const listeners = [];\n let defaults;\n let config;\n let bidderConfig;\n let currBidder = null;\n\n function resetConfig() {\n defaults = {};\n\n const newConfig = attachProperties({\n // `debug` is equivalent to legacy `pbjs.logging` property\n debug: DEFAULT_DEBUG,\n bidderTimeout: DEFAULT_BIDDER_TIMEOUT,\n enableSendAllBids: DEFAULT_ENABLE_SEND_ALL_BIDS,\n useBidCache: DEFAULT_BID_CACHE,\n\n /**\n * deviceAccess set to false will disable setCookie, getCookie, hasLocalStorage\n * @type {boolean}\n */\n deviceAccess: DEFAULT_DEVICE_ACCESS,\n\n disableAjaxTimeout: DEFAULT_DISABLE_AJAX_TIMEOUT,\n\n // default max nested iframes for referer detection\n maxNestedIframes: DEFAULT_MAX_NESTED_IFRAMES,\n\n // default max bid\n maxBid: DEFAULT_MAXBID_VALUE,\n userSync: {\n topics: DEFAULT_IFRAMES_CONFIG\n }\n });\n\n if (config) {\n callSubscribers(\n Object.keys(config).reduce((memo, topic) => {\n if (config[topic] !== newConfig[topic]) {\n memo[topic] = newConfig[topic] || {};\n }\n return memo;\n },\n {})\n );\n }\n\n config = newConfig;\n bidderConfig = {};\n }\n\n /**\n * Returns base config with bidder overrides (if there is currently a bidder)\n * @private\n */\n function _getConfig() {\n if (currBidder && bidderConfig && isPlainObject(bidderConfig[currBidder])) {\n const curr = bidderConfig[currBidder];\n const topics = new Set([...Object.keys(config), ...Object.keys(curr)]);\n const merged = {};\n for (const topic of topics) {\n const base = config[topic];\n const override = curr[topic];\n merged[topic] = override === undefined ? base\n : base === undefined ? override\n : isPlainObject(override) ? mergeDeep({}, base, override)\n : override;\n }\n return merged;\n }\n return { ...config };\n }\n\n function _getRestrictedConfig() {\n // This causes reading 'ortb2' to throw an error; with prebid 7, that will almost\n // always be the incorrect way to access FPD configuration (https://github.com/prebid/Prebid.js/issues/7651)\n // code that needs the ortb2 config should explicitly use `getAnyConfig`\n // TODO: this is meant as a temporary tripwire to catch inadvertent use of `getConfig('ortb')` as we transition.\n // It should be removed once the risk of that happening is low enough.\n const conf = _getConfig();\n Object.defineProperty(conf, 'ortb2', {\n get: function () {\n throw new Error('invalid access to \\'orbt2\\' config - use request parameters instead');\n }\n });\n return conf;\n }\n\n const [getAnyConfig, getConfig]: [GetConfig, GetConfig] = [_getConfig, _getRestrictedConfig].map(accessor => {\n /*\n * Returns configuration object if called without parameters,\n * or single configuration property if given a string matching a configuration\n * property name. Allows deep access e.g. getConfig('currency.adServerCurrency')\n *\n * If called with callback parameter, or a string and a callback parameter,\n * subscribes to configuration updates. See `subscribe` function for usage.\n */\n return function getConfig(...args) {\n if (args.length <= 1 && typeof args[0] !== 'function') {\n const option = args[0];\n return option ? deepAccess(accessor(), option) : _getConfig();\n }\n\n return subscribe(...args);\n }\n }) as any;\n\n const [readConfig, readAnyConfig]: [GetConfig, GetConfig] = [getConfig, getAnyConfig].map(wrapee => {\n /*\n * Like getConfig, except that it returns a deepClone of the result.\n */\n return function readConfig(...args) {\n let res = (wrapee as any)(...args);\n if (res && typeof res === 'object') {\n res = deepClone(res);\n }\n return res;\n }\n }) as any;\n\n /**\n * Internal API for modules (such as prebid-server) that might need access to all bidder config\n */\n function getBidderConfig(): { [bidderCode: BidderCode]: PartialConfig } {\n return bidderConfig;\n }\n\n /*\n * Set configuration.\n */\n function setConfig(options: PartialConfig) {\n if (!isPlainObject(options)) {\n logError('setConfig options must be an object');\n return;\n }\n\n const topics = Object.keys(options);\n const topicalConfig = {};\n\n topics.forEach(topic => {\n let option = options[topic];\n\n if (isPlainObject(defaults[topic]) && isPlainObject(option)) {\n option = Object.assign({}, defaults[topic], option);\n }\n\n try {\n topicalConfig[topic] = config[topic] = option;\n } catch (e) {\n logWarn(`Cannot set config for property ${topic} : `, e)\n }\n });\n\n callSubscribers(topicalConfig);\n }\n\n /**\n * Sets configuration defaults which setConfig values can be applied on top of\n * @param {object} options\n */\n function setDefaults(options) {\n if (!isPlainObject(defaults)) {\n logError('defaults must be an object');\n return;\n }\n\n Object.assign(defaults, options);\n // Add default values to config as well\n Object.assign(config, options);\n }\n\n /*\n * Adds a function to a set of listeners that are invoked whenever `setConfig`\n * is called. The subscribed function will be passed the options object that\n * was used in the `setConfig` call. Topics can be subscribed to to only get\n * updates when specific properties are updated by passing a topic string as\n * the first parameter.\n *\n * If `options.init` is true, the listener will be immediately called with the current options.\n *\n * Returns an `unsubscribe` function for removing the subscriber from the\n * set of listeners\n *\n * Example use:\n * // subscribe to all configuration changes\n * subscribe((config) => console.log('config set:', config));\n *\n * // subscribe to only 'logging' changes\n * subscribe('logging', (config) => console.log('logging set:', config));\n *\n * // unsubscribe\n * const unsubscribe = subscribe(...);\n * unsubscribe(); // no longer listening\n *\n */\n function subscribe(...args: any[]);\n function subscribe(topic, listener, options: GetConfigOptions = {}) {\n let callback = listener;\n\n if (typeof topic !== 'string') {\n // first param should be callback function in this case,\n // meaning it gets called for any config change\n callback = topic;\n topic = ALL_TOPICS;\n options = listener || {};\n }\n\n if (typeof callback !== 'function') {\n logError('listener must be a function');\n return;\n }\n\n const nl = { topic, callback };\n listeners.push(nl);\n\n if (options.init) {\n if (topic === ALL_TOPICS) {\n callback(getConfig());\n } else {\n callback({[topic]: getConfig(topic)});\n }\n }\n\n // save and call this function to remove the listener\n return function unsubscribe() {\n listeners.splice(listeners.indexOf(nl), 1);\n };\n }\n\n /*\n * Calls listeners that were added by the `subscribe` function\n */\n function callSubscribers(options) {\n const TOPICS = Object.keys(options);\n\n // call subscribers of a specific topic, passing only that configuration\n listeners\n .filter(listener => TOPICS.includes(listener.topic))\n .forEach(listener => {\n listener.callback({ [listener.topic]: options[listener.topic] });\n });\n\n // call subscribers that didn't give a topic, passing everything that was set\n listeners\n .filter(listener => listener.topic === ALL_TOPICS)\n .forEach(listener => listener.callback(options));\n }\n\n function setBidderConfig(config: BidderConfig, mergeFlag = false) {\n try {\n check(config);\n config.bidders.forEach(bidder => {\n if (!bidderConfig[bidder]) {\n bidderConfig[bidder] = attachProperties({}, false);\n }\n Object.keys(config.config).forEach(topic => {\n const option = config.config[topic];\n const currentConfig = bidderConfig[bidder][topic];\n if (isPlainObject(option) && (currentConfig == null || isPlainObject(currentConfig))) {\n const func = mergeFlag ? mergeDeep : Object.assign;\n bidderConfig[bidder][topic] = func({}, currentConfig || {}, option);\n } else {\n bidderConfig[bidder][topic] = option;\n }\n });\n });\n } catch (e) {\n logError(e);\n }\n\n function check(obj) {\n if (!isPlainObject(obj)) {\n throw new Error('setBidderConfig bidder options must be an object');\n }\n if (!(Array.isArray(obj.bidders) && obj.bidders.length)) {\n throw new Error('setBidderConfig bidder options must contain a bidders list with at least 1 bidder');\n }\n if (!isPlainObject(obj.config)) {\n throw new Error('setBidderConfig bidder options must contain a config object');\n }\n }\n }\n\n function mergeConfig(config: PartialConfig) {\n if (!isPlainObject(config)) {\n logError('mergeConfig input must be an object');\n return;\n }\n\n const mergedConfig = mergeDeep(_getConfig(), config);\n\n setConfig({ ...mergedConfig });\n return mergedConfig;\n }\n\n function mergeBidderConfig(config: BidderConfig) {\n return setBidderConfig(config, true);\n }\n\n /**\n * Internal functions for core to execute some synchronous code while having an active bidder set.\n */\n function runWithBidder(bidder, fn) {\n currBidder = bidder;\n try {\n return fn();\n } finally {\n resetBidder();\n }\n }\n function callbackWithBidder(bidder) {\n return function(cb) {\n return function(...args) {\n if (typeof cb === 'function') {\n return runWithBidder(bidder, cb.bind(this, ...args))\n } else {\n logWarn('config.callbackWithBidder callback is not a function');\n }\n }\n }\n }\n\n function getCurrentBidder() {\n return currBidder;\n }\n\n function resetBidder() {\n currBidder = null;\n }\n\n resetConfig();\n\n return {\n getCurrentBidder,\n resetBidder,\n getConfig,\n getAnyConfig,\n readConfig,\n readAnyConfig,\n setConfig,\n mergeConfig,\n setDefaults,\n resetConfig,\n runWithBidder,\n callbackWithBidder,\n setBidderConfig,\n getBidderConfig,\n mergeBidderConfig,\n };\n}\n\n/**\n * Set a `cache.url` if we should use prebid-cache to store video bids before adding bids to the auction.\n * This must be set if you want to use the gamAdServerVideo module.\n */\nexport const config = newConfig();\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consentHandler.js","names":["cyrb53Hash","isStr","timestamp","defer","PbPromise","config","VENDORLESS_GVLID","Object","freeze","CONSENT_GDPR","CONSENT_GPP","CONSENT_USP","CONSENT_COPPA","ConsentHandler","enabled","data","ready","dirty","hash","constructor","reset","resolve","#resolve","generatedTime","enable","promise","setConsentData","time","arguments","length","undefined","getConsentData","JSON","stringify","hashFields","map","f","UspConsentHandler","getConsentMeta","consentData","generatedAt","GdprConsentHandler","vendorData","gdprApplies","consentStringSize","tcString","apiVersion","GppConsentHandler","gvlidRegistry","registry","flat","none","register","moduleType","moduleName","gvlid","hasOwnProperty","get","result","modules","gdprDataHandler","uspDataHandler","gppDataHandler","coppaDataHandler","getCoppa","getConfig","GDPR_GVLIDS","ALL_HANDLERS","multiHandler","handlers","entries","collector","method","fromEntries","_ref","name","handler","assign","all","_ref2","then","val","_ref3","_","join","n","allConsent"],"sourceRoot":"../../..","sources":["src/consentHandler.ts"],"sourcesContent":["import {cyrb53Hash, isStr, timestamp} from './utils.js';\nimport {defer, PbPromise} from './utils/promise.js';\nimport {config} from './config.js';\nimport type {ModuleType} from \"./activities/modules.ts\";\n\n/**\n * Placeholder gvlid for when vendor consent is not required. When this value is used as gvlid, the gdpr\n * enforcement module will take it to mean \"vendor consent was given\".\n *\n * see https://github.com/prebid/Prebid.js/issues/8161\n */\nexport const VENDORLESS_GVLID = Object.freeze({});\nexport const CONSENT_GDPR = 'gdpr';\nexport const CONSENT_GPP = 'gpp';\nexport const CONSENT_USP = 'usp';\nexport const CONSENT_COPPA = 'coppa';\nexport type ConsentType = typeof CONSENT_GDPR | typeof CONSENT_GPP | typeof CONSENT_USP | typeof CONSENT_COPPA;\n\nexport interface ConsentData {\n // with just core, only coppa is defined - everything else will be null.\n // importing consent modules also imports the type definitions.\n [CONSENT_COPPA]: boolean;\n}\n\ntype ConsentDataFor<T extends ConsentType> = T extends keyof ConsentData ? ConsentData[T] : null;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ConsentManagementConfig {\n // consentManagement config - extended in consent management modules\n}\n\ndeclare module './config' {\n interface Config {\n consentManagement?: ConsentManagementConfig;\n }\n}\n\nexport class ConsentHandler<T> {\n #enabled;\n #data;\n #defer;\n #ready;\n #dirty = true;\n #hash;\n generatedTime: number;\n hashFields;\n\n constructor() {\n this.reset();\n }\n\n #resolve(data) {\n this.#ready = true;\n this.#data = data;\n this.#defer.resolve(data);\n }\n\n /**\n * reset this handler (mainly for tests)\n */\n reset() {\n this.#defer = defer();\n this.#enabled = false;\n this.#data = null;\n this.#ready = false;\n this.generatedTime = null;\n }\n\n /**\n * Enable this consent handler. This should be called by the relevant consent management module\n * on initialization.\n */\n enable() {\n this.#enabled = true;\n }\n\n /**\n * @returns {boolean} true if the related consent management module is enabled.\n */\n get enabled() {\n return this.#enabled;\n }\n\n /**\n * @returns {boolean} true if consent data has been resolved (it may be `null` if the resolution failed).\n */\n get ready() {\n return this.#ready;\n }\n\n /**\n * @returns a promise than resolves to the consent data, or null if no consent data is available\n */\n get promise(): Promise<T> {\n if (this.#ready) {\n return PbPromise.resolve(this.#data);\n }\n if (!this.#enabled) {\n this.#resolve(null);\n }\n return this.#defer.promise;\n }\n\n setConsentData(data: T, time = timestamp()) {\n this.generatedTime = time;\n this.#dirty = true;\n this.#resolve(data);\n }\n\n getConsentData(): T {\n return this.#data;\n }\n\n get hash() {\n if (this.#dirty) {\n this.#hash = cyrb53Hash(JSON.stringify(this.#data && this.hashFields ? this.hashFields.map(f => this.#data[f]) : this.#data))\n this.#dirty = false;\n }\n return this.#hash;\n }\n}\n\nclass UspConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_USP>> {\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && this.generatedTime) {\n return {\n generatedAt: this.generatedTime\n };\n }\n }\n}\n\nclass GdprConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_GDPR>> {\n hashFields = ['gdprApplies', 'consentString']\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && consentData.vendorData && this.generatedTime) {\n return {\n gdprApplies: consentData.gdprApplies as boolean,\n consentStringSize: (isStr(consentData.vendorData.tcString)) ? consentData.vendorData.tcString.length : 0,\n generatedAt: this.generatedTime,\n apiVersion: consentData.apiVersion\n }\n }\n }\n}\n\nclass GppConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_GPP>> {\n hashFields = ['applicableSections', 'gppString'];\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && this.generatedTime) {\n return {\n generatedAt: this.generatedTime,\n }\n }\n }\n}\n\nexport type GVLID = number | typeof VENDORLESS_GVLID;\ntype GVLIDResult = {\n /**\n * A map from module type to that module's GVL ID.\n */\n modules: {\n [moduleType: string]: GVLID;\n };\n /**\n * The single GVL ID for this family of modules (only defined if all modules with this name declared the same ID).\n */\n gvlid?: GVLID;\n}\n\nexport function gvlidRegistry() {\n const registry = {};\n const flat = {};\n const none = {};\n return {\n /**\n * Register a module's GVL ID.\n * @param moduleType defined in `activities/modules.js`\n * @param moduleName\n * @param gvlid\n */\n register(moduleType: ModuleType, moduleName: string, gvlid: GVLID) {\n if (gvlid) {\n (registry[moduleName] = registry[moduleName] || {})[moduleType] = gvlid;\n if (flat.hasOwnProperty(moduleName)) {\n if (flat[moduleName] !== gvlid) flat[moduleName] = none;\n } else {\n flat[moduleName] = gvlid;\n }\n }\n },\n\n /**\n * Get a module's GVL ID(s).\n *\n * @param moduleName - The name of the module.\n * @return An object where:\n * `modules` is a map from module type to that module's GVL ID;\n * `gvlid` is the single GVL ID for this family of modules (only defined if all modules with this name declare the same ID).\n */\n get(moduleName: string) {\n const result: GVLIDResult = {modules: registry[moduleName] || {}};\n if (flat.hasOwnProperty(moduleName) && flat[moduleName] !== none) {\n result.gvlid = flat[moduleName];\n }\n return result;\n }\n }\n}\n\nexport const gdprDataHandler = new GdprConsentHandler();\nexport const uspDataHandler = new UspConsentHandler();\nexport const gppDataHandler = new GppConsentHandler();\n\ndeclare module './config' {\n interface Config {\n /**\n * Child Online Privacy Protection Act (COPPA) flag.\n */\n coppa?: boolean;\n }\n}\n\nexport const coppaDataHandler = (() => {\n function getCoppa() {\n return !!(config.getConfig('coppa'))\n }\n return {\n getCoppa,\n getConsentData: getCoppa,\n getConsentMeta: getCoppa,\n reset() {},\n get promise() {\n return PbPromise.resolve(getCoppa())\n },\n get hash() {\n return getCoppa() ? '1' : '0'\n }\n }\n})();\n\nexport const GDPR_GVLIDS = gvlidRegistry();\n\nconst ALL_HANDLERS = {\n [CONSENT_GDPR]: gdprDataHandler,\n [CONSENT_USP]: uspDataHandler,\n [CONSENT_GPP]: gppDataHandler,\n [CONSENT_COPPA]: coppaDataHandler,\n} as const;\n\nexport type AllConsentData = {\n [K in keyof typeof ALL_HANDLERS]: ReturnType<(typeof ALL_HANDLERS)[K]['getConsentData']>\n}\n\ninterface MultiHandler extends Pick<ConsentHandler<AllConsentData>, 'promise' | 'hash' | 'getConsentData' | 'reset'> {\n getConsentMeta(): {[K in keyof typeof ALL_HANDLERS]: ReturnType<(typeof ALL_HANDLERS)[K]['getConsentMeta']>}\n}\n\nexport function multiHandler(handlers = ALL_HANDLERS): MultiHandler {\n const entries = Object.entries(handlers);\n function collector(method) {\n return function () {\n return Object.fromEntries(entries.map(([name, handler]) => [name, handler[method]()]))\n }\n }\n return Object.assign(\n {\n get promise() {\n return PbPromise.all(entries.map(([name, handler]) => handler.promise.then(val => [name, val])))\n .then(entries => Object.fromEntries(entries));\n },\n get hash() {\n return cyrb53Hash(entries.map(([_, handler]) => handler.hash).join(':'));\n }\n },\n Object.fromEntries(['getConsentData', 'getConsentMeta', 'reset'].map(n => [n, collector(n)])),\n ) as any;\n}\n\nexport const allConsent = multiHandler();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"consentHandler.js","names":["cyrb53Hash","isStr","timestamp","defer","PbPromise","config","VENDORLESS_GVLID","Object","freeze","CONSENT_GDPR","CONSENT_GPP","CONSENT_USP","CONSENT_COPPA","ConsentHandler","enabled","data","ready","dirty","hash","constructor","reset","resolve","#resolve","generatedTime","enable","promise","setConsentData","time","arguments","length","undefined","getConsentData","JSON","stringify","hashFields","map","f","UspConsentHandler","getConsentMeta","consentData","generatedAt","GdprConsentHandler","vendorData","gdprApplies","consentStringSize","tcString","apiVersion","GppConsentHandler","gvlidRegistry","registry","flat","none","register","moduleType","moduleName","gvlid","hasOwnProperty","get","result","modules","gdprDataHandler","uspDataHandler","gppDataHandler","coppaDataHandler","getCoppa","getConfig","GDPR_GVLIDS","ALL_HANDLERS","multiHandler","handlers","entries","collector","method","fromEntries","_ref","name","handler","assign","all","_ref2","then","val","_ref3","_","join","n","allConsent"],"sourceRoot":"../../..","sources":["src/consentHandler.ts"],"sourcesContent":["import {cyrb53Hash, isStr, timestamp} from './utils.js';\nimport {defer, PbPromise} from './utils/promise.js';\nimport {config} from './config.js';\nimport type {ModuleType} from \"./activities/modules.ts\";\n\n/**\n * Placeholder gvlid for when vendor consent is not required. When this value is used as gvlid, the gdpr\n * enforcement module will take it to mean \"vendor consent was given\".\n *\n * see https://github.com/prebid/Prebid.js/issues/8161\n */\nexport const VENDORLESS_GVLID = Object.freeze({});\nexport const CONSENT_GDPR = 'gdpr';\nexport const CONSENT_GPP = 'gpp';\nexport const CONSENT_USP = 'usp';\nexport const CONSENT_COPPA = 'coppa';\nexport type ConsentType = typeof CONSENT_GDPR | typeof CONSENT_GPP | typeof CONSENT_USP | typeof CONSENT_COPPA;\n\nexport interface ConsentData {\n // with just core, only coppa is defined - everything else will be null.\n // importing consent modules also imports the type definitions.\n [CONSENT_COPPA]: boolean;\n}\n\ntype ConsentDataFor<T extends ConsentType> = T extends keyof ConsentData ? ConsentData[T] : null;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ConsentManagementConfig {\n // consentManagement config - extended in consent management modules\n}\n\ndeclare module './config' {\n interface Config {\n consentManagement?: ConsentManagementConfig;\n }\n}\n\nexport class ConsentHandler<T> {\n #enabled;\n #data;\n #defer;\n #ready;\n #dirty = true;\n #hash;\n generatedTime: number;\n hashFields;\n\n constructor() {\n this.reset();\n }\n\n #resolve(data) {\n this.#ready = true;\n this.#data = data;\n this.#defer.resolve(data);\n }\n\n /**\n * reset this handler (mainly for tests)\n */\n reset() {\n this.#defer = defer();\n this.#enabled = false;\n this.#data = null;\n this.#ready = false;\n this.generatedTime = null;\n }\n\n /**\n * Enable this consent handler. This should be called by the relevant consent management module\n * on initialization.\n */\n enable() {\n this.#enabled = true;\n }\n\n /**\n * @returns {boolean} true if the related consent management module is enabled.\n */\n get enabled() {\n return this.#enabled;\n }\n\n /**\n * @returns {boolean} true if consent data has been resolved (it may be `null` if the resolution failed).\n */\n get ready() {\n return this.#ready;\n }\n\n /**\n * @returns a promise than resolves to the consent data, or null if no consent data is available\n */\n get promise(): Promise<T> {\n if (this.#ready) {\n return PbPromise.resolve(this.#data);\n }\n if (!this.#enabled) {\n this.#resolve(null);\n }\n return this.#defer.promise;\n }\n\n setConsentData(data: T, time = timestamp()) {\n this.generatedTime = time;\n this.#dirty = true;\n this.#resolve(data);\n }\n\n getConsentData(): T {\n return this.#data;\n }\n\n get hash() {\n if (this.#dirty) {\n this.#hash = cyrb53Hash(JSON.stringify(this.#data && this.hashFields ? this.hashFields.map(f => this.#data[f]) : this.#data))\n this.#dirty = false;\n }\n return this.#hash;\n }\n}\n\nclass UspConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_USP>> {\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && this.generatedTime) {\n return {\n generatedAt: this.generatedTime\n };\n }\n }\n}\n\nclass GdprConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_GDPR>> {\n hashFields = ['gdprApplies', 'consentString']\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && consentData.vendorData && this.generatedTime) {\n return {\n gdprApplies: consentData.gdprApplies as boolean,\n consentStringSize: (isStr(consentData.vendorData.tcString)) ? consentData.vendorData.tcString.length : 0,\n generatedAt: this.generatedTime,\n apiVersion: consentData.apiVersion\n }\n }\n }\n}\n\nclass GppConsentHandler extends ConsentHandler<ConsentDataFor<typeof CONSENT_GPP>> {\n hashFields = ['applicableSections', 'gppString'];\n getConsentMeta() {\n const consentData = this.getConsentData();\n if (consentData && this.generatedTime) {\n return {\n generatedAt: this.generatedTime,\n }\n }\n }\n}\n\nexport type GVLID = number | typeof VENDORLESS_GVLID;\ntype GVLIDResult = {\n /**\n * A map from module type to that module's GVL ID.\n */\n modules: {\n [moduleType: string]: GVLID;\n };\n /**\n * The single GVL ID for this family of modules (only defined if all modules with this name declared the same ID).\n */\n gvlid?: GVLID;\n}\n\nexport function gvlidRegistry() {\n const registry = {};\n const flat = {};\n const none = {};\n return {\n /**\n * Register a module's GVL ID.\n * @param moduleType defined in `activities/modules.js`\n * @param moduleName\n * @param gvlid\n */\n register(moduleType: ModuleType, moduleName: string, gvlid: GVLID) {\n if (gvlid) {\n (registry[moduleName] = registry[moduleName] || {})[moduleType] = gvlid;\n if (flat.hasOwnProperty(moduleName)) {\n if (flat[moduleName] !== gvlid) flat[moduleName] = none;\n } else {\n flat[moduleName] = gvlid;\n }\n }\n },\n\n /**\n * Get a module's GVL ID(s).\n *\n * @param moduleName - The name of the module.\n * @return An object where:\n * `modules` is a map from module type to that module's GVL ID;\n * `gvlid` is the single GVL ID for this family of modules (only defined if all modules with this name declare the same ID).\n */\n get(moduleName: string) {\n const result: GVLIDResult = {modules: registry[moduleName] || {}};\n if (flat.hasOwnProperty(moduleName) && flat[moduleName] !== none) {\n result.gvlid = flat[moduleName];\n }\n return result;\n }\n }\n}\n\nexport const gdprDataHandler = new GdprConsentHandler();\nexport const uspDataHandler = new UspConsentHandler();\nexport const gppDataHandler = new GppConsentHandler();\n\ndeclare module './config' {\n interface Config {\n /**\n * Child Online Privacy Protection Act (COPPA) flag.\n */\n coppa?: boolean;\n }\n}\n\nexport const coppaDataHandler = (() => {\n function getCoppa() {\n return !!(config.getConfig('coppa'))\n }\n return {\n getCoppa,\n getConsentData: getCoppa,\n getConsentMeta: getCoppa,\n reset() {},\n get promise() {\n return PbPromise.resolve(getCoppa())\n },\n get hash() {\n return getCoppa() ? '1' : '0'\n }\n }\n})();\n\nexport const GDPR_GVLIDS = gvlidRegistry();\n\nconst ALL_HANDLERS = {\n [CONSENT_GDPR]: gdprDataHandler,\n [CONSENT_USP]: uspDataHandler,\n [CONSENT_GPP]: gppDataHandler,\n [CONSENT_COPPA]: coppaDataHandler,\n} as const;\n\nexport type AllConsentData = {\n [K in keyof typeof ALL_HANDLERS]: ReturnType<(typeof ALL_HANDLERS)[K]['getConsentData']>\n}\n\ninterface MultiHandler extends Pick<ConsentHandler<AllConsentData>, 'promise' | 'hash' | 'getConsentData' | 'reset'> {\n getConsentMeta(): {[K in keyof typeof ALL_HANDLERS]: ReturnType<(typeof ALL_HANDLERS)[K]['getConsentMeta']>}\n}\n\nexport function multiHandler(handlers = ALL_HANDLERS): MultiHandler {\n const entries = Object.entries(handlers);\n function collector(method) {\n return function () {\n return Object.fromEntries(entries.map(([name, handler]) => [name, handler[method]()]))\n }\n }\n return Object.assign(\n {\n get promise() {\n return PbPromise.all(entries.map(([name, handler]) => handler.promise.then(val => [name, val])))\n .then(entries => Object.fromEntries(entries));\n },\n get hash() {\n return cyrb53Hash(entries.map(([_, handler]) => handler.hash).join(':'));\n }\n },\n Object.fromEntries(['getConsentData', 'getConsentMeta', 'reset'].map(n => [n, collector(n)])),\n ) as any;\n}\n\nexport const allConsent = multiHandler();\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["JSON_MAPPING","PL_CODE","PL_SIZE","PL_BIDS","BD_BIDDER","BD_ID","BD_PL_ID","ADSERVER_TARGETING","BD_SETTING_STANDARD","DEBUG_MODE","STATUS","GOOD","EVENTS","AUCTION_INIT","AUCTION_TIMEOUT","AUCTION_END","BID_ADJUSTMENT","BID_TIMEOUT","BID_REQUESTED","BID_RESPONSE","BID_REJECTED","NO_BID","SEAT_NON_BID","BID_WON","BIDDER_DONE","BIDDER_ERROR","SET_TARGETING","BEFORE_REQUEST_BIDS","BEFORE_BIDDER_HTTP","REQUEST_BIDS","ADD_AD_UNITS","AD_RENDER_FAILED","AD_RENDER_SUCCEEDED","TCF2_ENFORCEMENT","AUCTION_DEBUG","BID_VIEWABLE","STALE_RENDER","EXPIRED_RENDER","BILLABLE_EVENT","BID_ACCEPTED","RUN_PAAPI_AUCTION","PBS_ANALYTICS","PAAPI_BID","PAAPI_NO_BID","PAAPI_ERROR","BEFORE_PBS_HTTP","BROWSI_INIT","BROWSI_DATA","AD_RENDER_FAILED_REASON","PREVENT_WRITING_ON_MAIN_DOCUMENT","NO_AD","EXCEPTION","CANNOT_FIND_AD","MISSING_DOC_OR_ADID","EVENT_ID_PATHS","bidWon","GRANULARITY_OPTIONS","LOW","MEDIUM","HIGH","AUTO","DENSE","CUSTOM","TARGETING_KEYS","BIDDER","AD_ID","PRICE_BUCKET","SIZE","DEAL","SOURCE","FORMAT","UUID","CACHE_ID","CACHE_HOST","ADOMAIN","ACAT","CRID","DSP","DEFAULT_TARGETING_KEYS","NATIVE_KEYS","title","body","body2","privacyLink","privacyIcon","sponsoredBy","image","icon","clickUrl","displayUrl","cta","rating","address","downloads","likes","phone","price","salePrice","rendererUrl","adTemplate","S2S","SRC","DEFAULT_ENDPOINT","SYNCED_BIDDERS_KEY","BID_STATUS","BID_TARGETING_SET","RENDERED","REJECTION_REASON","INVALID","INVALID_REQUEST_ID","BIDDER_DISALLOWED","FLOOR_NOT_MET","CANNOT_CONVERT_CURRENCY","DSA_REQUIRED","DSA_MISMATCH","PRICE_TOO_HIGH","PREBID_NATIVE_DATA_KEYS_TO_ORTB","NATIVE_ASSET_TYPES","sponsored","desc","saleprice","desc2","displayurl","ctatext","NATIVE_IMAGE_TYPES","ICON","MAIN","NATIVE_KEYS_THAT_ARE_NOT_ASSETS","MESSAGES","REQUEST","RESPONSE","NATIVE","EVENT","PB_LOCATOR"],"sourceRoot":"../../..","sources":["src/constants.ts"],"sourcesContent":["export const JSON_MAPPING = {\n PL_CODE: 'code',\n PL_SIZE: 'sizes',\n PL_BIDS: 'bids',\n BD_BIDDER: 'bidder',\n BD_ID: 'paramsd',\n BD_PL_ID: 'placementId',\n ADSERVER_TARGETING: 'adserverTargeting',\n BD_SETTING_STANDARD: 'standard'\n} as const;\n\nexport const DEBUG_MODE = 'pbjs_debug';\n\nexport const STATUS = {\n GOOD: 1\n};\n\nexport const EVENTS = {\n AUCTION_INIT: 'auctionInit',\n AUCTION_TIMEOUT: 'auctionTimeout',\n AUCTION_END: 'auctionEnd',\n BID_ADJUSTMENT: 'bidAdjustment',\n BID_TIMEOUT: 'bidTimeout',\n BID_REQUESTED: 'bidRequested',\n BID_RESPONSE: 'bidResponse',\n BID_REJECTED: 'bidRejected',\n NO_BID: 'noBid',\n SEAT_NON_BID: 'seatNonBid',\n BID_WON: 'bidWon',\n BIDDER_DONE: 'bidderDone',\n BIDDER_ERROR: 'bidderError',\n SET_TARGETING: 'setTargeting',\n BEFORE_REQUEST_BIDS: 'beforeRequestBids',\n BEFORE_BIDDER_HTTP: 'beforeBidderHttp',\n REQUEST_BIDS: 'requestBids',\n ADD_AD_UNITS: 'addAdUnits',\n AD_RENDER_FAILED: 'adRenderFailed',\n AD_RENDER_SUCCEEDED: 'adRenderSucceeded',\n TCF2_ENFORCEMENT: 'tcf2Enforcement',\n AUCTION_DEBUG: 'auctionDebug',\n BID_VIEWABLE: 'bidViewable',\n STALE_RENDER: 'staleRender',\n EXPIRED_RENDER: 'expiredRender',\n BILLABLE_EVENT: 'billableEvent',\n BID_ACCEPTED: 'bidAccepted',\n RUN_PAAPI_AUCTION: 'paapiRunAuction',\n PBS_ANALYTICS: 'pbsAnalytics',\n PAAPI_BID: 'paapiBid',\n PAAPI_NO_BID: 'paapiNoBid',\n PAAPI_ERROR: 'paapiError',\n BEFORE_PBS_HTTP: 'beforePBSHttp',\n BROWSI_INIT: 'browsiInit',\n BROWSI_DATA: 'browsiData',\n} as const;\n\nexport const AD_RENDER_FAILED_REASON = {\n PREVENT_WRITING_ON_MAIN_DOCUMENT: 'preventWritingOnMainDocument',\n NO_AD: 'noAd',\n EXCEPTION: 'exception',\n CANNOT_FIND_AD: 'cannotFindAd',\n MISSING_DOC_OR_ADID: 'missingDocOrAdid'\n} as const;\n\nexport const EVENT_ID_PATHS = {\n bidWon: 'adUnitCode'\n} as const;\n\nexport const GRANULARITY_OPTIONS = {\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n AUTO: 'auto',\n DENSE: 'dense',\n CUSTOM: 'custom'\n} as const;\n\nexport const TARGETING_KEYS = {\n BIDDER: 'hb_bidder',\n AD_ID: 'hb_adid',\n PRICE_BUCKET: 'hb_pb',\n SIZE: 'hb_size',\n DEAL: 'hb_deal',\n SOURCE: 'hb_source',\n FORMAT: 'hb_format',\n UUID: 'hb_uuid',\n CACHE_ID: 'hb_cache_id',\n CACHE_HOST: 'hb_cache_host',\n ADOMAIN: 'hb_adomain',\n ACAT: 'hb_acat',\n CRID: 'hb_crid',\n DSP: 'hb_dsp'\n} as const;\n\nexport const DEFAULT_TARGETING_KEYS = {\n BIDDER: 'hb_bidder',\n AD_ID: 'hb_adid',\n PRICE_BUCKET: 'hb_pb',\n SIZE: 'hb_size',\n DEAL: 'hb_deal',\n FORMAT: 'hb_format',\n UUID: 'hb_uuid',\n CACHE_HOST: 'hb_cache_host'\n};\n\nexport const NATIVE_KEYS = {\n title: 'hb_native_title',\n body: 'hb_native_body',\n body2: 'hb_native_body2',\n privacyLink: 'hb_native_privacy',\n privacyIcon: 'hb_native_privicon',\n sponsoredBy: 'hb_native_brand',\n image: 'hb_native_image',\n icon: 'hb_native_icon',\n clickUrl: 'hb_native_linkurl',\n displayUrl: 'hb_native_displayurl',\n cta: 'hb_native_cta',\n rating: 'hb_native_rating',\n address: 'hb_native_address',\n downloads: 'hb_native_downloads',\n likes: 'hb_native_likes',\n phone: 'hb_native_phone',\n price: 'hb_native_price',\n salePrice: 'hb_native_saleprice',\n rendererUrl: 'hb_renderer_url',\n adTemplate: 'hb_adTemplate'\n};\n\nexport const S2S = {\n SRC: 's2s',\n DEFAULT_ENDPOINT: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction',\n SYNCED_BIDDERS_KEY: 'pbjsSyncs'\n} as const;\n\nexport const BID_STATUS = {\n BID_TARGETING_SET: 'targetingSet',\n RENDERED: 'rendered',\n BID_REJECTED: 'bidRejected'\n} as const;\n\nexport const REJECTION_REASON = {\n INVALID: 'Bid has missing or invalid properties',\n INVALID_REQUEST_ID: 'Invalid request ID',\n BIDDER_DISALLOWED: 'Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes',\n FLOOR_NOT_MET: 'Bid does not meet price floor',\n CANNOT_CONVERT_CURRENCY: 'Unable to convert currency',\n DSA_REQUIRED: 'Bid does not provide required DSA transparency info',\n DSA_MISMATCH: 'Bid indicates inappropriate DSA rendering method',\n PRICE_TOO_HIGH: 'Bid price exceeds maximum value'\n};\n\nexport const PREBID_NATIVE_DATA_KEYS_TO_ORTB = {\n body: 'desc',\n body2: 'desc2',\n sponsoredBy: 'sponsored',\n cta: 'ctatext',\n rating: 'rating',\n address: 'address',\n downloads: 'downloads',\n likes: 'likes',\n phone: 'phone',\n price: 'price',\n salePrice: 'saleprice',\n displayUrl: 'displayurl'\n} as const;\n\nexport const NATIVE_ASSET_TYPES = {\n sponsored: 1,\n desc: 2,\n rating: 3,\n likes: 4,\n downloads: 5,\n price: 6,\n saleprice: 7,\n phone: 8,\n address: 9,\n desc2: 10,\n displayurl: 11,\n ctatext: 12\n};\n\nexport const NATIVE_IMAGE_TYPES = {\n ICON: 1,\n MAIN: 3\n};\n\nexport const NATIVE_KEYS_THAT_ARE_NOT_ASSETS = [\n 'privacyIcon',\n 'clickUrl',\n 'adTemplate',\n 'rendererUrl',\n 'type'\n] as const;\n\nexport const MESSAGES = {\n REQUEST: 'Prebid Request',\n RESPONSE: 'Prebid Response',\n NATIVE: 'Prebid Native',\n EVENT: 'Prebid Event'\n};\n\nexport const PB_LOCATOR = '__pb_locator__';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["JSON_MAPPING","PL_CODE","PL_SIZE","PL_BIDS","BD_BIDDER","BD_ID","BD_PL_ID","ADSERVER_TARGETING","BD_SETTING_STANDARD","DEBUG_MODE","STATUS","GOOD","EVENTS","AUCTION_INIT","AUCTION_TIMEOUT","AUCTION_END","BID_ADJUSTMENT","BID_TIMEOUT","BID_REQUESTED","BID_RESPONSE","BID_REJECTED","NO_BID","SEAT_NON_BID","BID_WON","BIDDER_DONE","BIDDER_ERROR","SET_TARGETING","BEFORE_REQUEST_BIDS","BEFORE_BIDDER_HTTP","REQUEST_BIDS","ADD_AD_UNITS","AD_RENDER_FAILED","AD_RENDER_SUCCEEDED","TCF2_ENFORCEMENT","AUCTION_DEBUG","BID_VIEWABLE","STALE_RENDER","EXPIRED_RENDER","BILLABLE_EVENT","BID_ACCEPTED","RUN_PAAPI_AUCTION","PBS_ANALYTICS","PAAPI_BID","PAAPI_NO_BID","PAAPI_ERROR","BEFORE_PBS_HTTP","BROWSI_INIT","BROWSI_DATA","AD_RENDER_FAILED_REASON","PREVENT_WRITING_ON_MAIN_DOCUMENT","NO_AD","EXCEPTION","CANNOT_FIND_AD","MISSING_DOC_OR_ADID","EVENT_ID_PATHS","bidWon","GRANULARITY_OPTIONS","LOW","MEDIUM","HIGH","AUTO","DENSE","CUSTOM","TARGETING_KEYS","BIDDER","AD_ID","PRICE_BUCKET","SIZE","DEAL","SOURCE","FORMAT","UUID","CACHE_ID","CACHE_HOST","ADOMAIN","ACAT","CRID","DSP","DEFAULT_TARGETING_KEYS","NATIVE_KEYS","title","body","body2","privacyLink","privacyIcon","sponsoredBy","image","icon","clickUrl","displayUrl","cta","rating","address","downloads","likes","phone","price","salePrice","rendererUrl","adTemplate","S2S","SRC","DEFAULT_ENDPOINT","SYNCED_BIDDERS_KEY","BID_STATUS","BID_TARGETING_SET","RENDERED","REJECTION_REASON","INVALID","INVALID_REQUEST_ID","BIDDER_DISALLOWED","FLOOR_NOT_MET","CANNOT_CONVERT_CURRENCY","DSA_REQUIRED","DSA_MISMATCH","PRICE_TOO_HIGH","PREBID_NATIVE_DATA_KEYS_TO_ORTB","NATIVE_ASSET_TYPES","sponsored","desc","saleprice","desc2","displayurl","ctatext","NATIVE_IMAGE_TYPES","ICON","MAIN","NATIVE_KEYS_THAT_ARE_NOT_ASSETS","MESSAGES","REQUEST","RESPONSE","NATIVE","EVENT","PB_LOCATOR"],"sourceRoot":"../../..","sources":["src/constants.ts"],"sourcesContent":["export const JSON_MAPPING = {\n PL_CODE: 'code',\n PL_SIZE: 'sizes',\n PL_BIDS: 'bids',\n BD_BIDDER: 'bidder',\n BD_ID: 'paramsd',\n BD_PL_ID: 'placementId',\n ADSERVER_TARGETING: 'adserverTargeting',\n BD_SETTING_STANDARD: 'standard'\n} as const;\n\nexport const DEBUG_MODE = 'pbjs_debug';\n\nexport const STATUS = {\n GOOD: 1\n};\n\nexport const EVENTS = {\n AUCTION_INIT: 'auctionInit',\n AUCTION_TIMEOUT: 'auctionTimeout',\n AUCTION_END: 'auctionEnd',\n BID_ADJUSTMENT: 'bidAdjustment',\n BID_TIMEOUT: 'bidTimeout',\n BID_REQUESTED: 'bidRequested',\n BID_RESPONSE: 'bidResponse',\n BID_REJECTED: 'bidRejected',\n NO_BID: 'noBid',\n SEAT_NON_BID: 'seatNonBid',\n BID_WON: 'bidWon',\n BIDDER_DONE: 'bidderDone',\n BIDDER_ERROR: 'bidderError',\n SET_TARGETING: 'setTargeting',\n BEFORE_REQUEST_BIDS: 'beforeRequestBids',\n BEFORE_BIDDER_HTTP: 'beforeBidderHttp',\n REQUEST_BIDS: 'requestBids',\n ADD_AD_UNITS: 'addAdUnits',\n AD_RENDER_FAILED: 'adRenderFailed',\n AD_RENDER_SUCCEEDED: 'adRenderSucceeded',\n TCF2_ENFORCEMENT: 'tcf2Enforcement',\n AUCTION_DEBUG: 'auctionDebug',\n BID_VIEWABLE: 'bidViewable',\n STALE_RENDER: 'staleRender',\n EXPIRED_RENDER: 'expiredRender',\n BILLABLE_EVENT: 'billableEvent',\n BID_ACCEPTED: 'bidAccepted',\n RUN_PAAPI_AUCTION: 'paapiRunAuction',\n PBS_ANALYTICS: 'pbsAnalytics',\n PAAPI_BID: 'paapiBid',\n PAAPI_NO_BID: 'paapiNoBid',\n PAAPI_ERROR: 'paapiError',\n BEFORE_PBS_HTTP: 'beforePBSHttp',\n BROWSI_INIT: 'browsiInit',\n BROWSI_DATA: 'browsiData',\n} as const;\n\nexport const AD_RENDER_FAILED_REASON = {\n PREVENT_WRITING_ON_MAIN_DOCUMENT: 'preventWritingOnMainDocument',\n NO_AD: 'noAd',\n EXCEPTION: 'exception',\n CANNOT_FIND_AD: 'cannotFindAd',\n MISSING_DOC_OR_ADID: 'missingDocOrAdid'\n} as const;\n\nexport const EVENT_ID_PATHS = {\n bidWon: 'adUnitCode'\n} as const;\n\nexport const GRANULARITY_OPTIONS = {\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n AUTO: 'auto',\n DENSE: 'dense',\n CUSTOM: 'custom'\n} as const;\n\nexport const TARGETING_KEYS = {\n BIDDER: 'hb_bidder',\n AD_ID: 'hb_adid',\n PRICE_BUCKET: 'hb_pb',\n SIZE: 'hb_size',\n DEAL: 'hb_deal',\n SOURCE: 'hb_source',\n FORMAT: 'hb_format',\n UUID: 'hb_uuid',\n CACHE_ID: 'hb_cache_id',\n CACHE_HOST: 'hb_cache_host',\n ADOMAIN: 'hb_adomain',\n ACAT: 'hb_acat',\n CRID: 'hb_crid',\n DSP: 'hb_dsp'\n} as const;\n\nexport const DEFAULT_TARGETING_KEYS = {\n BIDDER: 'hb_bidder',\n AD_ID: 'hb_adid',\n PRICE_BUCKET: 'hb_pb',\n SIZE: 'hb_size',\n DEAL: 'hb_deal',\n FORMAT: 'hb_format',\n UUID: 'hb_uuid',\n CACHE_HOST: 'hb_cache_host'\n};\n\nexport const NATIVE_KEYS = {\n title: 'hb_native_title',\n body: 'hb_native_body',\n body2: 'hb_native_body2',\n privacyLink: 'hb_native_privacy',\n privacyIcon: 'hb_native_privicon',\n sponsoredBy: 'hb_native_brand',\n image: 'hb_native_image',\n icon: 'hb_native_icon',\n clickUrl: 'hb_native_linkurl',\n displayUrl: 'hb_native_displayurl',\n cta: 'hb_native_cta',\n rating: 'hb_native_rating',\n address: 'hb_native_address',\n downloads: 'hb_native_downloads',\n likes: 'hb_native_likes',\n phone: 'hb_native_phone',\n price: 'hb_native_price',\n salePrice: 'hb_native_saleprice',\n rendererUrl: 'hb_renderer_url',\n adTemplate: 'hb_adTemplate'\n};\n\nexport const S2S = {\n SRC: 's2s',\n DEFAULT_ENDPOINT: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction',\n SYNCED_BIDDERS_KEY: 'pbjsSyncs'\n} as const;\n\nexport const BID_STATUS = {\n BID_TARGETING_SET: 'targetingSet',\n RENDERED: 'rendered',\n BID_REJECTED: 'bidRejected'\n} as const;\n\nexport const REJECTION_REASON = {\n INVALID: 'Bid has missing or invalid properties',\n INVALID_REQUEST_ID: 'Invalid request ID',\n BIDDER_DISALLOWED: 'Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes',\n FLOOR_NOT_MET: 'Bid does not meet price floor',\n CANNOT_CONVERT_CURRENCY: 'Unable to convert currency',\n DSA_REQUIRED: 'Bid does not provide required DSA transparency info',\n DSA_MISMATCH: 'Bid indicates inappropriate DSA rendering method',\n PRICE_TOO_HIGH: 'Bid price exceeds maximum value'\n};\n\nexport const PREBID_NATIVE_DATA_KEYS_TO_ORTB = {\n body: 'desc',\n body2: 'desc2',\n sponsoredBy: 'sponsored',\n cta: 'ctatext',\n rating: 'rating',\n address: 'address',\n downloads: 'downloads',\n likes: 'likes',\n phone: 'phone',\n price: 'price',\n salePrice: 'saleprice',\n displayUrl: 'displayurl'\n} as const;\n\nexport const NATIVE_ASSET_TYPES = {\n sponsored: 1,\n desc: 2,\n rating: 3,\n likes: 4,\n downloads: 5,\n price: 6,\n saleprice: 7,\n phone: 8,\n address: 9,\n desc2: 10,\n displayurl: 11,\n ctatext: 12\n};\n\nexport const NATIVE_IMAGE_TYPES = {\n ICON: 1,\n MAIN: 3\n};\n\nexport const NATIVE_KEYS_THAT_ARE_NOT_ASSETS = [\n 'privacyIcon',\n 'clickUrl',\n 'adTemplate',\n 'rendererUrl',\n 'type'\n] as const;\n\nexport const MESSAGES = {\n REQUEST: 'Prebid Request',\n RESPONSE: 'Prebid Response',\n NATIVE: 'Prebid Native',\n EVENT: 'Prebid Event'\n};\n\nexport const PB_LOCATOR = '__pb_locator__';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cpmBucketManager.js","names":["isEmpty","logWarn","config","_defaultPrecision","_lgPriceConfig","_mgPriceConfig","_hgPriceConfig","_densePriceConfig","_autoPriceConfig","getPriceBucketString","cpm","customConfig","granularityMultiplier","arguments","length","undefined","cpmFloat","parseFloat","isNaN","low","getCpmStringValue","med","high","auto","dense","custom","cpmStr","isValidPriceConfig","cap","buckets","reduce","prev","curr","max","bucketFloor","bucket","find","precision","toFixed","min","getCpmTarget","Array","isArray","isValid","forEach","increment","bucketMin","roundingFunction","Math","floor","customRoundingFunction","getConfig","pow","cpmToRound","cpmTarget","invalidRounding","err","Number"],"sourceRoot":"../../..","sources":["src/cpmBucketManager.ts"],"sourcesContent":["import { isEmpty, logWarn } from './utils.js';\nimport { config } from './config.js';\n\nconst _defaultPrecision = 2;\nconst _lgPriceConfig = {\n 'buckets': [{\n 'max': 5,\n 'increment': 0.5\n }]\n};\nconst _mgPriceConfig = {\n 'buckets': [{\n 'max': 20,\n 'increment': 0.1\n }]\n};\nconst _hgPriceConfig = {\n 'buckets': [{\n 'max': 20,\n 'increment': 0.01\n }]\n};\nconst _densePriceConfig = {\n 'buckets': [{\n 'max': 3,\n 'increment': 0.01\n },\n {\n 'max': 8,\n 'increment': 0.05\n },\n {\n 'max': 20,\n 'increment': 0.5\n }]\n};\nconst _autoPriceConfig = {\n 'buckets': [{\n 'max': 5,\n 'increment': 0.05\n },\n {\n 'max': 10,\n 'increment': 0.1\n },\n {\n 'max': 20,\n 'increment': 0.5\n }]\n};\n\nfunction getPriceBucketString(cpm, customConfig, granularityMultiplier = 1) {\n let cpmFloat: any = parseFloat(cpm);\n if (isNaN(cpmFloat)) {\n cpmFloat = '';\n }\n\n return {\n low: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _lgPriceConfig, granularityMultiplier),\n med: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _mgPriceConfig, granularityMultiplier),\n high: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _hgPriceConfig, granularityMultiplier),\n auto: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _autoPriceConfig, granularityMultiplier),\n dense: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _densePriceConfig, granularityMultiplier),\n custom: (cpmFloat === '') ? '' : getCpmStringValue(cpm, customConfig, granularityMultiplier)\n };\n}\n\nfunction getCpmStringValue(cpm, config, granularityMultiplier) {\n let cpmStr = '';\n if (!isValidPriceConfig(config)) {\n return cpmStr;\n }\n const cap = config.buckets.reduce((prev, curr) => {\n if (prev.max > curr.max) {\n return prev;\n }\n return curr;\n }, {\n 'max': 0,\n });\n\n let bucketFloor = 0;\n const bucket = config.buckets.find(bucket => {\n if (cpm > cap.max * granularityMultiplier) {\n // cpm exceeds cap, just return the cap.\n let precision = bucket.precision;\n if (typeof precision === 'undefined') {\n precision = _defaultPrecision;\n }\n cpmStr = (bucket.max * granularityMultiplier).toFixed(precision);\n } else if (cpm <= bucket.max * granularityMultiplier && cpm >= bucketFloor * granularityMultiplier) {\n bucket.min = bucketFloor;\n return bucket;\n } else {\n bucketFloor = bucket.max;\n }\n });\n if (bucket) {\n cpmStr = getCpmTarget(cpm, bucket, granularityMultiplier);\n }\n return cpmStr;\n}\n\nfunction isValidPriceConfig(config) {\n if (isEmpty(config) || !config.buckets || !Array.isArray(config.buckets)) {\n return false;\n }\n let isValid = true;\n config.buckets.forEach(bucket => {\n if (!bucket.max || !bucket.increment) {\n isValid = false;\n }\n });\n return isValid;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * CPM rounding function. Default is Math.floor.\n * @param cpm\n */\n cpmRoundingFunction?: (cpm: number) => number;\n }\n}\n\nfunction getCpmTarget(cpm, bucket, granularityMultiplier) {\n const precision = typeof bucket.precision !== 'undefined' ? bucket.precision : _defaultPrecision;\n const increment = bucket.increment * granularityMultiplier;\n const bucketMin = bucket.min * granularityMultiplier;\n let roundingFunction = Math.floor;\n const customRoundingFunction = config.getConfig('cpmRoundingFunction');\n if (typeof customRoundingFunction === 'function') {\n roundingFunction = customRoundingFunction;\n }\n\n // start increments at the bucket min and then add bucket min back to arrive at the correct rounding\n // note - we're padding the values to avoid using decimals in the math prior to flooring\n // this is done as JS can return values slightly below the expected mark which would skew the price bucket target\n // (eg 4.01 / 0.01 = 400.99999999999994)\n // min precison should be 2 to move decimal place over.\n const pow = Math.pow(10, precision + 2);\n const cpmToRound = ((cpm * pow) - (bucketMin * pow)) / (increment * pow);\n let cpmTarget;\n let invalidRounding;\n // It is likely that we will be passed {cpmRoundingFunction: roundingFunction()}\n // rather than the expected {cpmRoundingFunction: roundingFunction}. Default back to floor in that case\n try {\n cpmTarget = (roundingFunction(cpmToRound) * increment) + bucketMin;\n } catch (err) {\n invalidRounding = true;\n }\n if (invalidRounding || typeof cpmTarget !== 'number') {\n logWarn('Invalid rounding function passed in config');\n cpmTarget = (Math.floor(cpmToRound) * increment) + bucketMin;\n }\n // force to 10 decimal places to deal with imprecise decimal/binary conversions\n // (for example 0.1 * 3 = 0.30000000000000004)\n\n cpmTarget = Number(cpmTarget.toFixed(10));\n return cpmTarget.toFixed(precision);\n}\n\nexport { getPriceBucketString, isValidPriceConfig };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"cpmBucketManager.js","names":["isEmpty","logWarn","config","_defaultPrecision","_lgPriceConfig","_mgPriceConfig","_hgPriceConfig","_densePriceConfig","_autoPriceConfig","getPriceBucketString","cpm","customConfig","granularityMultiplier","arguments","length","undefined","cpmFloat","parseFloat","isNaN","low","getCpmStringValue","med","high","auto","dense","custom","cpmStr","isValidPriceConfig","cap","buckets","reduce","prev","curr","max","bucketFloor","bucket","find","precision","toFixed","min","getCpmTarget","Array","isArray","isValid","forEach","increment","bucketMin","roundingFunction","Math","floor","customRoundingFunction","getConfig","pow","cpmToRound","cpmTarget","invalidRounding","err","Number"],"sourceRoot":"../../..","sources":["src/cpmBucketManager.ts"],"sourcesContent":["import { isEmpty, logWarn } from './utils.js';\nimport { config } from './config.js';\n\nconst _defaultPrecision = 2;\nconst _lgPriceConfig = {\n 'buckets': [{\n 'max': 5,\n 'increment': 0.5\n }]\n};\nconst _mgPriceConfig = {\n 'buckets': [{\n 'max': 20,\n 'increment': 0.1\n }]\n};\nconst _hgPriceConfig = {\n 'buckets': [{\n 'max': 20,\n 'increment': 0.01\n }]\n};\nconst _densePriceConfig = {\n 'buckets': [{\n 'max': 3,\n 'increment': 0.01\n },\n {\n 'max': 8,\n 'increment': 0.05\n },\n {\n 'max': 20,\n 'increment': 0.5\n }]\n};\nconst _autoPriceConfig = {\n 'buckets': [{\n 'max': 5,\n 'increment': 0.05\n },\n {\n 'max': 10,\n 'increment': 0.1\n },\n {\n 'max': 20,\n 'increment': 0.5\n }]\n};\n\nfunction getPriceBucketString(cpm, customConfig, granularityMultiplier = 1) {\n let cpmFloat: any = parseFloat(cpm);\n if (isNaN(cpmFloat)) {\n cpmFloat = '';\n }\n\n return {\n low: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _lgPriceConfig, granularityMultiplier),\n med: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _mgPriceConfig, granularityMultiplier),\n high: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _hgPriceConfig, granularityMultiplier),\n auto: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _autoPriceConfig, granularityMultiplier),\n dense: (cpmFloat === '') ? '' : getCpmStringValue(cpm, _densePriceConfig, granularityMultiplier),\n custom: (cpmFloat === '') ? '' : getCpmStringValue(cpm, customConfig, granularityMultiplier)\n };\n}\n\nfunction getCpmStringValue(cpm, config, granularityMultiplier) {\n let cpmStr = '';\n if (!isValidPriceConfig(config)) {\n return cpmStr;\n }\n const cap = config.buckets.reduce((prev, curr) => {\n if (prev.max > curr.max) {\n return prev;\n }\n return curr;\n }, {\n 'max': 0,\n });\n\n let bucketFloor = 0;\n const bucket = config.buckets.find(bucket => {\n if (cpm > cap.max * granularityMultiplier) {\n // cpm exceeds cap, just return the cap.\n let precision = bucket.precision;\n if (typeof precision === 'undefined') {\n precision = _defaultPrecision;\n }\n cpmStr = (bucket.max * granularityMultiplier).toFixed(precision);\n } else if (cpm <= bucket.max * granularityMultiplier && cpm >= bucketFloor * granularityMultiplier) {\n bucket.min = bucketFloor;\n return bucket;\n } else {\n bucketFloor = bucket.max;\n }\n });\n if (bucket) {\n cpmStr = getCpmTarget(cpm, bucket, granularityMultiplier);\n }\n return cpmStr;\n}\n\nfunction isValidPriceConfig(config) {\n if (isEmpty(config) || !config.buckets || !Array.isArray(config.buckets)) {\n return false;\n }\n let isValid = true;\n config.buckets.forEach(bucket => {\n if (!bucket.max || !bucket.increment) {\n isValid = false;\n }\n });\n return isValid;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * CPM rounding function. Default is Math.floor.\n * @param cpm\n */\n cpmRoundingFunction?: (cpm: number) => number;\n }\n}\n\nfunction getCpmTarget(cpm, bucket, granularityMultiplier) {\n const precision = typeof bucket.precision !== 'undefined' ? bucket.precision : _defaultPrecision;\n const increment = bucket.increment * granularityMultiplier;\n const bucketMin = bucket.min * granularityMultiplier;\n let roundingFunction = Math.floor;\n const customRoundingFunction = config.getConfig('cpmRoundingFunction');\n if (typeof customRoundingFunction === 'function') {\n roundingFunction = customRoundingFunction;\n }\n\n // start increments at the bucket min and then add bucket min back to arrive at the correct rounding\n // note - we're padding the values to avoid using decimals in the math prior to flooring\n // this is done as JS can return values slightly below the expected mark which would skew the price bucket target\n // (eg 4.01 / 0.01 = 400.99999999999994)\n // min precison should be 2 to move decimal place over.\n const pow = Math.pow(10, precision + 2);\n const cpmToRound = ((cpm * pow) - (bucketMin * pow)) / (increment * pow);\n let cpmTarget;\n let invalidRounding;\n // It is likely that we will be passed {cpmRoundingFunction: roundingFunction()}\n // rather than the expected {cpmRoundingFunction: roundingFunction}. Default back to floor in that case\n try {\n cpmTarget = (roundingFunction(cpmToRound) * increment) + bucketMin;\n } catch (err) {\n invalidRounding = true;\n }\n if (invalidRounding || typeof cpmTarget !== 'number') {\n logWarn('Invalid rounding function passed in config');\n cpmTarget = (Math.floor(cpmToRound) * increment) + bucketMin;\n }\n // force to 10 decimal places to deal with imprecise decimal/binary conversions\n // (for example 0.1 * 3 = 0.30000000000000004)\n\n cpmTarget = Number(cpmTarget.toFixed(10));\n return cpmTarget.toFixed(precision);\n}\n\nexport { getPriceBucketString, isValidPriceConfig };\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,QAAQ,YAAY;AAC7C,SAASC,MAAM,QAAQ,aAAa;AAEpC,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,cAAc,GAAG;EACrB,SAAS,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,WAAW,EAAE;EACf,CAAC;AACH,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,SAAS,EAAE,CAAC;IACV,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;EACf,CAAC;AACH,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,SAAS,EAAE,CAAC;IACV,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;EACf,CAAC;AACH,CAAC;AACD,MAAMC,iBAAiB,GAAG;EACxB,SAAS,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,WAAW,EAAE;EACf,CAAC,EACD;IACE,KAAK,EAAE,CAAC;IACR,WAAW,EAAE;EACf,CAAC,EACD;IACE,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;EACf,CAAC;AACH,CAAC;AACD,MAAMC,gBAAgB,GAAG;EACvB,SAAS,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,WAAW,EAAE;EACf,CAAC,EACD;IACE,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;EACf,CAAC,EACD;IACE,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;EACf,CAAC;AACH,CAAC;AAED,SAASC,oBAAoBA,CAACC,GAAG,EAAEC,YAAY,EAA6B;EAAA,IAA3BC,qBAAqB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACxE,IAAIG,QAAa,GAAGC,UAAU,CAACP,GAAG,CAAC;EACnC,IAAIQ,KAAK,CAACF,QAAQ,CAAC,EAAE;IACnBA,QAAQ,GAAG,EAAE;EACf;EAEA,OAAO;IACLG,GAAG,EAAGH,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEN,cAAc,EAAEQ,qBAAqB,CAAC;IAC3FS,GAAG,EAAGL,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEL,cAAc,EAAEO,qBAAqB,CAAC;IAC3FU,IAAI,EAAGN,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEJ,cAAc,EAAEM,qBAAqB,CAAC;IAC5FW,IAAI,EAAGP,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEF,gBAAgB,EAAEI,qBAAqB,CAAC;IAC9FY,KAAK,EAAGR,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEH,iBAAiB,EAAEK,qBAAqB,CAAC;IAChGa,MAAM,EAAGT,QAAQ,KAAK,EAAE,GAAI,EAAE,GAAGI,iBAAiB,CAACV,GAAG,EAAEC,YAAY,EAAEC,qBAAqB;EAC7F,CAAC;AACH;AAEA,SAASQ,iBAAiBA,CAACV,GAAG,EAAER,MAAM,EAAEU,qBAAqB,EAAE;EAC7D,IAAIc,MAAM,GAAG,EAAE;EACf,IAAI,CAACC,kBAAkB,CAACzB,MAAM,CAAC,EAAE;IAC/B,OAAOwB,MAAM;EACf;EACA,MAAME,GAAG,GAAG1B,MAAM,CAAC2B,OAAO,CAACC,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAK;IAChD,IAAID,IAAI,CAACE,GAAG,GAAGD,IAAI,CAACC,GAAG,EAAE;MACvB,OAAOF,IAAI;IACb;IACA,OAAOC,IAAI;EACb,CAAC,EAAE;IACD,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,IAAIE,WAAW,GAAG,CAAC;EACnB,MAAMC,MAAM,GAAGjC,MAAM,CAAC2B,OAAO,CAACO,IAAI,CAACD,MAAM,IAAI;IAC3C,IAAIzB,GAAG,GAAGkB,GAAG,CAACK,GAAG,GAAGrB,qBAAqB,EAAE;MACzC;MACA,IAAIyB,SAAS,GAAGF,MAAM,CAACE,SAAS;MAChC,IAAI,OAAOA,SAAS,KAAK,WAAW,EAAE;QACpCA,SAAS,GAAGlC,iBAAiB;MAC/B;MACAuB,MAAM,GAAG,CAACS,MAAM,CAACF,GAAG,GAAGrB,qBAAqB,EAAE0B,OAAO,CAACD,SAAS,CAAC;IAClE,CAAC,MAAM,IAAI3B,GAAG,IAAIyB,MAAM,CAACF,GAAG,GAAGrB,qBAAqB,IAAIF,GAAG,IAAIwB,WAAW,GAAGtB,qBAAqB,EAAE;MAClGuB,MAAM,CAACI,GAAG,GAAGL,WAAW;MACxB,OAAOC,MAAM;IACf,CAAC,MAAM;MACLD,WAAW,GAAGC,MAAM,CAACF,GAAG;IAC1B;EACF,CAAC,CAAC;EACF,IAAIE,MAAM,EAAE;IACVT,MAAM,GAAGc,YAAY,CAAC9B,GAAG,EAAEyB,MAAM,EAAEvB,qBAAqB,CAAC;EAC3D;EACA,OAAOc,MAAM;AACf;AAEA,SAASC,kBAAkBA,CAACzB,MAAM,EAAE;EAClC,IAAIF,OAAO,CAACE,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC2B,OAAO,IAAI,CAACY,KAAK,CAACC,OAAO,CAACxC,MAAM,CAAC2B,OAAO,CAAC,EAAE;IACxE,OAAO,KAAK;EACd;EACA,IAAIc,OAAO,GAAG,IAAI;EAClBzC,MAAM,CAAC2B,OAAO,CAACe,OAAO,CAACT,MAAM,IAAI;IAC/B,IAAI,CAACA,MAAM,CAACF,GAAG,IAAI,CAACE,MAAM,CAACU,SAAS,EAAE;MACpCF,OAAO,GAAG,KAAK;IACjB;EACF,CAAC,CAAC;EACF,OAAOA,OAAO;AAChB;AAYA,SAASH,YAAYA,CAAC9B,GAAG,EAAEyB,MAAM,EAAEvB,qBAAqB,EAAE;EACxD,MAAMyB,SAAS,GAAG,OAAOF,MAAM,CAACE,SAAS,KAAK,WAAW,GAAGF,MAAM,CAACE,SAAS,GAAGlC,iBAAiB;EAChG,MAAM0C,SAAS,GAAGV,MAAM,CAACU,SAAS,GAAGjC,qBAAqB;EAC1D,MAAMkC,SAAS,GAAGX,MAAM,CAACI,GAAG,GAAG3B,qBAAqB;EACpD,IAAImC,gBAAgB,GAAGC,IAAI,CAACC,KAAK;EACjC,MAAMC,sBAAsB,GAAGhD,MAAM,CAACiD,SAAS,CAAC,qBAAqB,CAAC;EACtE,IAAI,OAAOD,sBAAsB,KAAK,UAAU,EAAE;IAChDH,gBAAgB,GAAGG,sBAAsB;EAC3C;;EAEA;EACA;EACA;EACA;EACA;EACA,MAAME,GAAG,GAAGJ,IAAI,CAACI,GAAG,CAAC,EAAE,EAAEf,SAAS,GAAG,CAAC,CAAC;EACvC,MAAMgB,UAAU,GAAG,CAAE3C,GAAG,GAAG0C,GAAG,GAAKN,SAAS,GAAGM,GAAI,KAAKP,SAAS,GAAGO,GAAG,CAAC;EACxE,IAAIE,SAAS;EACb,IAAIC,eAAe;EACnB;EACA;EACA,IAAI;IACFD,SAAS,GAAIP,gBAAgB,CAACM,UAAU,CAAC,GAAGR,SAAS,GAAIC,SAAS;EACpE,CAAC,CAAC,OAAOU,GAAG,EAAE;IACZD,eAAe,GAAG,IAAI;EACxB;EACA,IAAIA,eAAe,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;IACpDrD,OAAO,CAAC,4CAA4C,CAAC;IACrDqD,SAAS,GAAIN,IAAI,CAACC,KAAK,CAACI,UAAU,CAAC,GAAGR,SAAS,GAAIC,SAAS;EAC9D;EACA;EACA;;EAEAQ,SAAS,GAAGG,MAAM,CAACH,SAAS,CAAChB,OAAO,CAAC,EAAE,CAAC,CAAC;EACzC,OAAOgB,SAAS,CAAChB,OAAO,CAACD,SAAS,CAAC;AACrC;AAEA,SAAS5B,oBAAoB,EAAEkB,kBAAkB","ignoreList":[]}
|
|
@@ -29,7 +29,7 @@ export function debuggingModuleLoader() {
|
|
|
29
29
|
if (alreadyInstalled()) {
|
|
30
30
|
resolve();
|
|
31
31
|
} else {
|
|
32
|
-
const url = "https://cdn.jsdelivr.net/npm/prebid.js@10.
|
|
32
|
+
const url = "https://cdn.jsdelivr.net/npm/prebid.js@10.4.0/dist/chunks/debugging-standalone.js";
|
|
33
33
|
logMessage(`Debugging module not installed, loading it from "${url}"...`);
|
|
34
34
|
getGlobal()._installDebugging = true;
|
|
35
35
|
script(url).then(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":["utils","EVENTS","EVENT_ID_PATHS","ttlCollection","config","TTL_CONFIG","eventTTL","eventsFired","monotonic","ttl","getConfig","cfg","previous","val","refresh","allEvents","Object","values","idPaths","_public","_handlers","_dispatch","eventName","args","logMessage","eventPayload","idPath","key","event","que","eventKeys","keys","callbacks","add","eventType","id","elapsedTime","getPerformanceNow","includes","push","forEach","fn","e","logError","_checkAvailableEvent","has","on","handler","emit","_len","arguments","length","Array","_key","off","isEmpty","_handler","splice","indexOf","get","addEvents","events","concat","getEvents","toArray","map","assign","_setEventEmitter","bind","clearEvents","clear"],"sourceRoot":"../../..","sources":["src/events.ts"],"sourcesContent":["/**\n * events.js\n */\nimport * as utils from './utils.js'\nimport { EVENTS, EVENT_ID_PATHS } from './constants.js';\nimport {ttlCollection} from './utils/ttlCollection.js';\nimport {config} from './config.js';\n\ntype CoreEvent = {[K in keyof typeof EVENTS]: typeof EVENTS[K]}[keyof typeof EVENTS];\n\n// hide video events (unless the video module is included) with this one weird trick\n\nexport interface EventNames {\n core: CoreEvent;\n}\ntype AllEvents = {\n [K in EventNames[keyof EventNames]]: unknown[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface Events extends AllEvents {\n // map from event name to the type of their arguments\n // this is extended (defining event types) close to where they are emitted\n}\n\nexport type EventIDs = {\n [K in Event]: K extends keyof typeof EVENT_ID_PATHS ? Events[K][0][(typeof EVENT_ID_PATHS)[K]] : undefined;\n};\n\nexport type Event = keyof Events;\nexport type EventPayload<E extends Event> = Events[E][0];\nexport type EventHandler<E extends Event> = (...args: Events[E]) => void;\n\nexport type EventRecord<E extends Event> = {\n eventType: E;\n args: EventPayload<E>;\n id: EventIDs[E];\n elapsedTime: number;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * Maximum time (in seconds) that events should be kept in memory.\n * By default, Prebid keeps in memory a log of every event since the initial page load, and makes it available to analytics adapters and getEvents().\n */\n [TTL_CONFIG]?: number;\n }\n}\n\nconst TTL_CONFIG = 'eventHistoryTTL';\n\nlet eventTTL = null;\n\n// keep a record of all events fired\nconst eventsFired = ttlCollection<EventRecord<Event>>({\n monotonic: true,\n ttl: () => eventTTL,\n})\n\nconfig.getConfig(TTL_CONFIG, (cfg) => {\n const previous = eventTTL;\n const val = cfg?.[TTL_CONFIG];\n eventTTL = typeof val === 'number' ? val * 1000 : null;\n if (previous !== eventTTL) {\n eventsFired.refresh();\n }\n});\n\n// define entire events\nlet allEvents: (Event)[] = Object.values(EVENTS);\n\nconst idPaths = EVENT_ID_PATHS;\n\nconst _public = (function () {\n const _handlers: any = {};\n\n function _dispatch(eventName, args) {\n utils.logMessage('Emitting event for: ' + eventName);\n\n const eventPayload = args[0] || {};\n const idPath = idPaths[eventName];\n const key = eventPayload[idPath];\n const event = _handlers[eventName] || { que: [] };\n var eventKeys = Object.keys(event);\n\n const callbacks = [];\n\n // record the event:\n eventsFired.add({\n eventType: eventName,\n args: eventPayload,\n id: key,\n elapsedTime: utils.getPerformanceNow(),\n });\n\n /**\n * Push each specific callback to the `callbacks` array.\n * If the `event` map has a key that matches the value of the\n * event payload id path, e.g. `eventPayload[idPath]`, then apply\n * each function in the `que` array as an argument to push to the\n * `callbacks` array\n */\n if (key && eventKeys.includes(key)) {\n callbacks.push(...event[key].que);\n }\n\n /** Push each general callback to the `callbacks` array. */\n callbacks.push(...event.que);\n\n /** call each of the callbacks */\n (callbacks || []).forEach(function (fn) {\n if (!fn) return;\n try {\n fn(...args);\n } catch (e) {\n utils.logError('Error executing handler:', 'events.js', e, eventName);\n }\n });\n }\n\n function _checkAvailableEvent(event: string): event is Event {\n return allEvents.includes(event as any);\n }\n\n return {\n has: _checkAvailableEvent,\n on: function <E extends Event>(eventName: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n // check whether available event or not\n if (_checkAvailableEvent(eventName)) {\n const event = _handlers[eventName] || { que: [] };\n\n if (id) {\n event[id] = event[id] || { que: [] };\n event[id].que.push(handler);\n } else {\n event.que.push(handler);\n }\n\n _handlers[eventName] = event;\n } else {\n utils.logError('Wrong event name : ' + eventName + ' Valid event names :' + allEvents);\n }\n },\n emit: function <E extends Event>(eventName: E, ...args: Events[E]) {\n _dispatch(eventName, args);\n },\n off: function<E extends Event>(eventName: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n const event = _handlers[eventName];\n\n if (utils.isEmpty(event) || (utils.isEmpty(event.que) && utils.isEmpty(event[id]))) {\n return;\n }\n\n if (id && (utils.isEmpty(event[id]) || utils.isEmpty(event[id].que))) {\n return;\n }\n\n if (id) {\n (event[id].que || []).forEach(function (_handler) {\n const que = event[id].que;\n if (_handler === handler) {\n que.splice(que.indexOf(_handler), 1);\n }\n });\n } else {\n (event.que || []).forEach(function (_handler) {\n const que = event.que;\n if (_handler === handler) {\n que.splice(que.indexOf(_handler), 1);\n }\n });\n }\n\n _handlers[eventName] = event;\n },\n get: function () {\n return _handlers;\n },\n addEvents: function (events: (Event)[]) {\n allEvents = allEvents.concat(events);\n },\n /**\n * Return a copy of all events fired\n */\n getEvents: function (): EventRecord<Event>[] {\n return eventsFired.toArray().map(val => Object.assign({}, val))\n }\n }\n}());\n\nutils._setEventEmitter(_public.emit.bind(_public));\n\nexport const {on, off, get, getEvents, emit, addEvents, has} = _public;\n\nexport function clearEvents() {\n eventsFired.clear();\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"events.js","names":["utils","EVENTS","EVENT_ID_PATHS","ttlCollection","config","TTL_CONFIG","eventTTL","eventsFired","monotonic","ttl","getConfig","cfg","previous","val","refresh","allEvents","Object","values","idPaths","_public","_handlers","_dispatch","eventName","args","logMessage","eventPayload","idPath","key","event","que","eventKeys","keys","callbacks","add","eventType","id","elapsedTime","getPerformanceNow","includes","push","forEach","fn","e","logError","_checkAvailableEvent","has","on","handler","emit","_len","arguments","length","Array","_key","off","isEmpty","_handler","splice","indexOf","get","addEvents","events","concat","getEvents","toArray","map","assign","_setEventEmitter","bind","clearEvents","clear"],"sourceRoot":"../../..","sources":["src/events.ts"],"sourcesContent":["/**\n * events.js\n */\nimport * as utils from './utils.js'\nimport { EVENTS, EVENT_ID_PATHS } from './constants.js';\nimport {ttlCollection} from './utils/ttlCollection.js';\nimport {config} from './config.js';\n\ntype CoreEvent = {[K in keyof typeof EVENTS]: typeof EVENTS[K]}[keyof typeof EVENTS];\n\n// hide video events (unless the video module is included) with this one weird trick\n\nexport interface EventNames {\n core: CoreEvent;\n}\ntype AllEvents = {\n [K in EventNames[keyof EventNames]]: unknown[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface Events extends AllEvents {\n // map from event name to the type of their arguments\n // this is extended (defining event types) close to where they are emitted\n}\n\nexport type EventIDs = {\n [K in Event]: K extends keyof typeof EVENT_ID_PATHS ? Events[K][0][(typeof EVENT_ID_PATHS)[K]] : undefined;\n};\n\nexport type Event = keyof Events;\nexport type EventPayload<E extends Event> = Events[E][0];\nexport type EventHandler<E extends Event> = (...args: Events[E]) => void;\n\nexport type EventRecord<E extends Event> = {\n eventType: E;\n args: EventPayload<E>;\n id: EventIDs[E];\n elapsedTime: number;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * Maximum time (in seconds) that events should be kept in memory.\n * By default, Prebid keeps in memory a log of every event since the initial page load, and makes it available to analytics adapters and getEvents().\n */\n [TTL_CONFIG]?: number;\n }\n}\n\nconst TTL_CONFIG = 'eventHistoryTTL';\n\nlet eventTTL = null;\n\n// keep a record of all events fired\nconst eventsFired = ttlCollection<EventRecord<Event>>({\n monotonic: true,\n ttl: () => eventTTL,\n})\n\nconfig.getConfig(TTL_CONFIG, (cfg) => {\n const previous = eventTTL;\n const val = cfg?.[TTL_CONFIG];\n eventTTL = typeof val === 'number' ? val * 1000 : null;\n if (previous !== eventTTL) {\n eventsFired.refresh();\n }\n});\n\n// define entire events\nlet allEvents: (Event)[] = Object.values(EVENTS);\n\nconst idPaths = EVENT_ID_PATHS;\n\nconst _public = (function () {\n const _handlers: any = {};\n\n function _dispatch(eventName, args) {\n utils.logMessage('Emitting event for: ' + eventName);\n\n const eventPayload = args[0] || {};\n const idPath = idPaths[eventName];\n const key = eventPayload[idPath];\n const event = _handlers[eventName] || { que: [] };\n var eventKeys = Object.keys(event);\n\n const callbacks = [];\n\n // record the event:\n eventsFired.add({\n eventType: eventName,\n args: eventPayload,\n id: key,\n elapsedTime: utils.getPerformanceNow(),\n });\n\n /**\n * Push each specific callback to the `callbacks` array.\n * If the `event` map has a key that matches the value of the\n * event payload id path, e.g. `eventPayload[idPath]`, then apply\n * each function in the `que` array as an argument to push to the\n * `callbacks` array\n */\n if (key && eventKeys.includes(key)) {\n callbacks.push(...event[key].que);\n }\n\n /** Push each general callback to the `callbacks` array. */\n callbacks.push(...event.que);\n\n /** call each of the callbacks */\n (callbacks || []).forEach(function (fn) {\n if (!fn) return;\n try {\n fn(...args);\n } catch (e) {\n utils.logError('Error executing handler:', 'events.js', e, eventName);\n }\n });\n }\n\n function _checkAvailableEvent(event: string): event is Event {\n return allEvents.includes(event as any);\n }\n\n return {\n has: _checkAvailableEvent,\n on: function <E extends Event>(eventName: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n // check whether available event or not\n if (_checkAvailableEvent(eventName)) {\n const event = _handlers[eventName] || { que: [] };\n\n if (id) {\n event[id] = event[id] || { que: [] };\n event[id].que.push(handler);\n } else {\n event.que.push(handler);\n }\n\n _handlers[eventName] = event;\n } else {\n utils.logError('Wrong event name : ' + eventName + ' Valid event names :' + allEvents);\n }\n },\n emit: function <E extends Event>(eventName: E, ...args: Events[E]) {\n _dispatch(eventName, args);\n },\n off: function<E extends Event>(eventName: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n const event = _handlers[eventName];\n\n if (utils.isEmpty(event) || (utils.isEmpty(event.que) && utils.isEmpty(event[id]))) {\n return;\n }\n\n if (id && (utils.isEmpty(event[id]) || utils.isEmpty(event[id].que))) {\n return;\n }\n\n if (id) {\n (event[id].que || []).forEach(function (_handler) {\n const que = event[id].que;\n if (_handler === handler) {\n que.splice(que.indexOf(_handler), 1);\n }\n });\n } else {\n (event.que || []).forEach(function (_handler) {\n const que = event.que;\n if (_handler === handler) {\n que.splice(que.indexOf(_handler), 1);\n }\n });\n }\n\n _handlers[eventName] = event;\n },\n get: function () {\n return _handlers;\n },\n addEvents: function (events: (Event)[]) {\n allEvents = allEvents.concat(events);\n },\n /**\n * Return a copy of all events fired\n */\n getEvents: function (): EventRecord<Event>[] {\n return eventsFired.toArray().map(val => Object.assign({}, val))\n }\n }\n}());\n\nutils._setEventEmitter(_public.emit.bind(_public));\n\nexport const {on, off, get, getEvents, emit, addEvents, has} = _public;\n\nexport function clearEvents() {\n eventsFired.clear();\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichment.js","names":["hook","getRefererInfo","parseDomain","findRootDomain","deepSetValue","deepAccess","getDefinedParams","getDNT","getWinDimensions","getDocument","getWindowSelf","getWindowTop","mergeDeep","config","getHighEntropySUA","getLowEntropySUA","PbPromise","CLIENT_SECTIONS","clientSectionChecker","hasSection","isActivityAllowed","activityParams","ACTIVITY_ACCESS_DEVICE","MODULE_TYPE_PREBID","getViewportSize","dep","oneClient","enrichFPD","fpd","promArr","getSUA","catch","tryToGetCdepLabel","all","then","_ref","ortb2","sua","cdep","ri","Object","entries","ENRICHMENTS","forEach","_ref2","section","getEnrichments","data","keys","length","assign","device","ext","documentLang","documentElement","lang","langCode","split","clientEnrichment","winFallback","fn","e","hints","getConfig","Array","isArray","resolve","removeUndef","obj","navigator","cookieDeprecationLabel","getValue","site","filter","p","some","bind","page","ref","win","w","screen","width","h","height","vpw","vph","dnt","ua","userAgent","language","shift","webdriver","regs","globalPrivacyControl","coppa","domain","noLeadingWww","keywords","document","querySelector","content","replace","publisher"],"sourceRoot":"../../../..","sources":["src/fpd/enrichment.ts"],"sourcesContent":["import {hook} from '../hook.js';\nimport {getRefererInfo, parseDomain} from '../refererDetection.js';\nimport {findRootDomain} from './rootDomain.js';\nimport {deepSetValue, deepAccess, getDefinedParams, getDNT, getWinDimensions, getDocument, getWindowSelf, getWindowTop, mergeDeep} from '../utils.js';\nimport {config} from '../config.js';\nimport {getHighEntropySUA, getLowEntropySUA} from './sua.js';\nimport {PbPromise} from '../utils/promise.js';\nimport {CLIENT_SECTIONS, clientSectionChecker, hasSection} from './oneClient.js';\nimport {isActivityAllowed} from '../activities/rules.js';\nimport {activityParams} from '../activities/activityParams.js';\nimport {ACTIVITY_ACCESS_DEVICE} from '../activities/activities.js';\nimport {MODULE_TYPE_PREBID} from '../activities/modules.js';\nimport { getViewportSize } from '../../libraries/viewport/viewport.js';\n\nexport const dep = {\n getRefererInfo,\n findRootDomain,\n getWindowTop,\n getWindowSelf,\n getHighEntropySUA,\n getLowEntropySUA,\n getDocument\n};\n\nconst oneClient = clientSectionChecker('FPD')\n\nexport interface FirstPartyDataConfig {\n /**\n * High entropy UA client hints to request.\n * https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData#returning_high_entropy_values\n */\n uaHints?: string[]\n}\n\ndeclare module '../config' {\n interface Config {\n firstPartyData?: FirstPartyDataConfig;\n }\n}\n\n/**\n * Enrich an ortb2 object with first-party data.\n * @param {Promise<Object>} fpd - A promise that resolves to an ortb2 object.\n * @returns {Promise<Object>} - A promise that resolves to an enriched ortb2 object.\n */\nexport const enrichFPD = hook('sync', (fpd) => {\n const promArr = [fpd, getSUA().catch(() => null), tryToGetCdepLabel().catch(() => null)];\n\n return PbPromise.all(promArr)\n .then(([ortb2, sua, cdep]) => {\n const ri = dep.getRefererInfo();\n Object.entries(ENRICHMENTS).forEach(([section, getEnrichments]) => {\n const data = getEnrichments(ortb2, ri);\n if (data && Object.keys(data).length > 0) {\n ortb2[section] = mergeDeep({}, data, ortb2[section]);\n }\n });\n\n if (sua) {\n deepSetValue(ortb2, 'device.sua', Object.assign({}, sua, ortb2.device.sua));\n }\n\n if (cdep) {\n const ext = {\n cdep\n }\n deepSetValue(ortb2, 'device.ext', Object.assign({}, ext, ortb2.device.ext));\n }\n\n const documentLang = dep.getDocument().documentElement.lang;\n if (documentLang) {\n deepSetValue(ortb2, 'site.ext.data.documentLang', documentLang);\n if (!deepAccess(ortb2, 'site.content.language')) {\n const langCode = documentLang.split('-')[0];\n deepSetValue(ortb2, 'site.content.language', langCode);\n }\n }\n\n ortb2 = oneClient(ortb2);\n for (const section of CLIENT_SECTIONS) {\n if (hasSection(ortb2, section)) {\n ortb2[section] = mergeDeep({}, clientEnrichment(ortb2, ri), ortb2[section]);\n break;\n }\n }\n\n return ortb2;\n });\n});\n\nfunction winFallback(fn) {\n try {\n return fn(dep.getWindowTop());\n } catch (e) {\n return fn(dep.getWindowSelf());\n }\n}\n\nfunction getSUA() {\n const hints = config.getConfig('firstPartyData.uaHints');\n return !Array.isArray(hints) || hints.length === 0\n ? PbPromise.resolve(dep.getLowEntropySUA())\n : dep.getHighEntropySUA(hints);\n}\n\nfunction removeUndef(obj) {\n return getDefinedParams(obj, Object.keys(obj))\n}\n\nfunction tryToGetCdepLabel() {\n return PbPromise.resolve('cookieDeprecationLabel' in navigator && isActivityAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(MODULE_TYPE_PREBID, 'cdep')) && (navigator.cookieDeprecationLabel as any).getValue());\n}\n\nconst ENRICHMENTS = {\n site(ortb2, ri) {\n if (CLIENT_SECTIONS.filter(p => p !== 'site').some(hasSection.bind(null, ortb2))) {\n // do not enrich site if dooh or app are set\n return;\n }\n return removeUndef({\n page: ri.page,\n ref: ri.ref,\n });\n },\n device() {\n return winFallback((win) => {\n // screen.width and screen.height are the physical dimensions of the screen\n const w = getWinDimensions().screen.width;\n const h = getWinDimensions().screen.height;\n\n // vpw and vph are the viewport dimensions of the browser window\n const {width: vpw, height: vph} = getViewportSize();\n\n const device = {\n w,\n h,\n dnt: getDNT() ? 1 : 0,\n ua: win.navigator.userAgent,\n language: win.navigator.language.split('-').shift(),\n ext: {\n vpw,\n vph,\n },\n };\n\n if (win.navigator?.webdriver) {\n deepSetValue(device, 'ext.webdriver', true);\n }\n\n return device;\n })\n },\n regs() {\n const regs = {} as any;\n if (winFallback((win) => win.navigator.globalPrivacyControl)) {\n deepSetValue(regs, 'ext.gpc', '1');\n }\n const coppa = config.getConfig('coppa');\n if (typeof coppa === 'boolean') {\n regs.coppa = coppa ? 1 : 0;\n }\n return regs;\n }\n};\n\n// Enrichment of properties common across dooh, app and site - will be dropped into whatever\n// section is appropriate\nfunction clientEnrichment(ortb2, ri) {\n const domain = parseDomain(ri.page, {noLeadingWww: true});\n const keywords = winFallback((win) => win.document.querySelector('meta[name=\\'keywords\\']'))\n ?.content?.replace?.(/\\s/g, '');\n return removeUndef({\n domain,\n keywords,\n publisher: removeUndef({\n domain: dep.findRootDomain(domain)\n })\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"enrichment.js","names":["hook","getRefererInfo","parseDomain","findRootDomain","deepSetValue","deepAccess","getDefinedParams","getDNT","getWinDimensions","getDocument","getWindowSelf","getWindowTop","mergeDeep","config","getHighEntropySUA","getLowEntropySUA","PbPromise","CLIENT_SECTIONS","clientSectionChecker","hasSection","isActivityAllowed","activityParams","ACTIVITY_ACCESS_DEVICE","MODULE_TYPE_PREBID","getViewportSize","dep","oneClient","enrichFPD","fpd","promArr","getSUA","catch","tryToGetCdepLabel","all","then","_ref","ortb2","sua","cdep","ri","Object","entries","ENRICHMENTS","forEach","_ref2","section","getEnrichments","data","keys","length","assign","device","ext","documentLang","documentElement","lang","langCode","split","clientEnrichment","winFallback","fn","e","hints","getConfig","Array","isArray","resolve","removeUndef","obj","navigator","cookieDeprecationLabel","getValue","site","filter","p","some","bind","page","ref","win","w","screen","width","h","height","vpw","vph","dnt","ua","userAgent","language","shift","webdriver","regs","globalPrivacyControl","coppa","domain","noLeadingWww","keywords","document","querySelector","content","replace","publisher"],"sourceRoot":"../../../..","sources":["src/fpd/enrichment.ts"],"sourcesContent":["import {hook} from '../hook.js';\nimport {getRefererInfo, parseDomain} from '../refererDetection.js';\nimport {findRootDomain} from './rootDomain.js';\nimport {deepSetValue, deepAccess, getDefinedParams, getDNT, getWinDimensions, getDocument, getWindowSelf, getWindowTop, mergeDeep} from '../utils.js';\nimport {config} from '../config.js';\nimport {getHighEntropySUA, getLowEntropySUA} from './sua.js';\nimport {PbPromise} from '../utils/promise.js';\nimport {CLIENT_SECTIONS, clientSectionChecker, hasSection} from './oneClient.js';\nimport {isActivityAllowed} from '../activities/rules.js';\nimport {activityParams} from '../activities/activityParams.js';\nimport {ACTIVITY_ACCESS_DEVICE} from '../activities/activities.js';\nimport {MODULE_TYPE_PREBID} from '../activities/modules.js';\nimport { getViewportSize } from '../../libraries/viewport/viewport.js';\n\nexport const dep = {\n getRefererInfo,\n findRootDomain,\n getWindowTop,\n getWindowSelf,\n getHighEntropySUA,\n getLowEntropySUA,\n getDocument\n};\n\nconst oneClient = clientSectionChecker('FPD')\n\nexport interface FirstPartyDataConfig {\n /**\n * High entropy UA client hints to request.\n * https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData#returning_high_entropy_values\n */\n uaHints?: string[]\n}\n\ndeclare module '../config' {\n interface Config {\n firstPartyData?: FirstPartyDataConfig;\n }\n}\n\n/**\n * Enrich an ortb2 object with first-party data.\n * @param {Promise<Object>} fpd - A promise that resolves to an ortb2 object.\n * @returns {Promise<Object>} - A promise that resolves to an enriched ortb2 object.\n */\nexport const enrichFPD = hook('sync', (fpd) => {\n const promArr = [fpd, getSUA().catch(() => null), tryToGetCdepLabel().catch(() => null)];\n\n return PbPromise.all(promArr)\n .then(([ortb2, sua, cdep]) => {\n const ri = dep.getRefererInfo();\n Object.entries(ENRICHMENTS).forEach(([section, getEnrichments]) => {\n const data = getEnrichments(ortb2, ri);\n if (data && Object.keys(data).length > 0) {\n ortb2[section] = mergeDeep({}, data, ortb2[section]);\n }\n });\n\n if (sua) {\n deepSetValue(ortb2, 'device.sua', Object.assign({}, sua, ortb2.device.sua));\n }\n\n if (cdep) {\n const ext = {\n cdep\n }\n deepSetValue(ortb2, 'device.ext', Object.assign({}, ext, ortb2.device.ext));\n }\n\n const documentLang = dep.getDocument().documentElement.lang;\n if (documentLang) {\n deepSetValue(ortb2, 'site.ext.data.documentLang', documentLang);\n if (!deepAccess(ortb2, 'site.content.language')) {\n const langCode = documentLang.split('-')[0];\n deepSetValue(ortb2, 'site.content.language', langCode);\n }\n }\n\n ortb2 = oneClient(ortb2);\n for (const section of CLIENT_SECTIONS) {\n if (hasSection(ortb2, section)) {\n ortb2[section] = mergeDeep({}, clientEnrichment(ortb2, ri), ortb2[section]);\n break;\n }\n }\n\n return ortb2;\n });\n});\n\nfunction winFallback(fn) {\n try {\n return fn(dep.getWindowTop());\n } catch (e) {\n return fn(dep.getWindowSelf());\n }\n}\n\nfunction getSUA() {\n const hints = config.getConfig('firstPartyData.uaHints');\n return !Array.isArray(hints) || hints.length === 0\n ? PbPromise.resolve(dep.getLowEntropySUA())\n : dep.getHighEntropySUA(hints);\n}\n\nfunction removeUndef(obj) {\n return getDefinedParams(obj, Object.keys(obj))\n}\n\nfunction tryToGetCdepLabel() {\n return PbPromise.resolve('cookieDeprecationLabel' in navigator && isActivityAllowed(ACTIVITY_ACCESS_DEVICE, activityParams(MODULE_TYPE_PREBID, 'cdep')) && (navigator.cookieDeprecationLabel as any).getValue());\n}\n\nconst ENRICHMENTS = {\n site(ortb2, ri) {\n if (CLIENT_SECTIONS.filter(p => p !== 'site').some(hasSection.bind(null, ortb2))) {\n // do not enrich site if dooh or app are set\n return;\n }\n return removeUndef({\n page: ri.page,\n ref: ri.ref,\n });\n },\n device() {\n return winFallback((win) => {\n // screen.width and screen.height are the physical dimensions of the screen\n const w = getWinDimensions().screen.width;\n const h = getWinDimensions().screen.height;\n\n // vpw and vph are the viewport dimensions of the browser window\n const {width: vpw, height: vph} = getViewportSize();\n\n const device = {\n w,\n h,\n dnt: getDNT() ? 1 : 0,\n ua: win.navigator.userAgent,\n language: win.navigator.language.split('-').shift(),\n ext: {\n vpw,\n vph,\n },\n };\n\n if (win.navigator?.webdriver) {\n deepSetValue(device, 'ext.webdriver', true);\n }\n\n return device;\n })\n },\n regs() {\n const regs = {} as any;\n if (winFallback((win) => win.navigator.globalPrivacyControl)) {\n deepSetValue(regs, 'ext.gpc', '1');\n }\n const coppa = config.getConfig('coppa');\n if (typeof coppa === 'boolean') {\n regs.coppa = coppa ? 1 : 0;\n }\n return regs;\n }\n};\n\n// Enrichment of properties common across dooh, app and site - will be dropped into whatever\n// section is appropriate\nfunction clientEnrichment(ortb2, ri) {\n const domain = parseDomain(ri.page, {noLeadingWww: true});\n const keywords = winFallback((win) => win.document.querySelector('meta[name=\\'keywords\\']'))\n ?.content?.replace?.(/\\s/g, '');\n return removeUndef({\n domain,\n keywords,\n publisher: removeUndef({\n domain: dep.findRootDomain(domain)\n })\n })\n}\n"],"mappings":"AAAA,SAAQA,IAAI,QAAO,YAAY;AAC/B,SAAQC,cAAc,EAAEC,WAAW,QAAO,wBAAwB;AAClE,SAAQC,cAAc,QAAO,iBAAiB;AAC9C,SAAQC,YAAY,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,aAAa,EAAEC,YAAY,EAAEC,SAAS,QAAO,aAAa;AACrJ,SAAQC,MAAM,QAAO,cAAc;AACnC,SAAQC,iBAAiB,EAAEC,gBAAgB,QAAO,UAAU;AAC5D,SAAQC,SAAS,QAAO,qBAAqB;AAC7C,SAAQC,eAAe,EAAEC,oBAAoB,EAAEC,UAAU,QAAO,gBAAgB;AAChF,SAAQC,iBAAiB,QAAO,wBAAwB;AACxD,SAAQC,cAAc,QAAO,iCAAiC;AAC9D,SAAQC,sBAAsB,QAAO,6BAA6B;AAClE,SAAQC,kBAAkB,QAAO,0BAA0B;AAC3D,SAASC,eAAe,QAAQ,sCAAsC;AAEtE,OAAO,MAAMC,GAAG,GAAG;EACjBxB,cAAc;EACdE,cAAc;EACdQ,YAAY;EACZD,aAAa;EACbI,iBAAiB;EACjBC,gBAAgB;EAChBN;AACF,CAAC;AAED,MAAMiB,SAAS,GAAGR,oBAAoB,CAAC,KAAK,CAAC;AAgB7C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,SAAS,GAAG3B,IAAI,CAAC,MAAM,EAAG4B,GAAG,IAAK;EAC7C,MAAMC,OAAO,GAAG,CAACD,GAAG,EAAEE,MAAM,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAEC,iBAAiB,CAAC,CAAC,CAACD,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;EAExF,OAAOf,SAAS,CAACiB,GAAG,CAACJ,OAAO,CAAC,CAC1BK,IAAI,CAACC,IAAA,IAAwB;IAAA,IAAvB,CAACC,KAAK,EAAEC,GAAG,EAAEC,IAAI,CAAC,GAAAH,IAAA;IACvB,MAAMI,EAAE,GAAGd,GAAG,CAACxB,cAAc,CAAC,CAAC;IAC/BuC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,CAACC,OAAO,CAACC,KAAA,IAA+B;MAAA,IAA9B,CAACC,OAAO,EAAEC,cAAc,CAAC,GAAAF,KAAA;MAC5D,MAAMG,IAAI,GAAGD,cAAc,CAACV,KAAK,EAAEG,EAAE,CAAC;MACtC,IAAIQ,IAAI,IAAIP,MAAM,CAACQ,IAAI,CAACD,IAAI,CAAC,CAACE,MAAM,GAAG,CAAC,EAAE;QACxCb,KAAK,CAACS,OAAO,CAAC,GAAGjC,SAAS,CAAC,CAAC,CAAC,EAAEmC,IAAI,EAAEX,KAAK,CAACS,OAAO,CAAC,CAAC;MACtD;IACF,CAAC,CAAC;IAEF,IAAIR,GAAG,EAAE;MACPjC,YAAY,CAACgC,KAAK,EAAE,YAAY,EAAEI,MAAM,CAACU,MAAM,CAAC,CAAC,CAAC,EAAEb,GAAG,EAAED,KAAK,CAACe,MAAM,CAACd,GAAG,CAAC,CAAC;IAC7E;IAEA,IAAIC,IAAI,EAAE;MACR,MAAMc,GAAG,GAAG;QACVd;MACF,CAAC;MACDlC,YAAY,CAACgC,KAAK,EAAE,YAAY,EAAEI,MAAM,CAACU,MAAM,CAAC,CAAC,CAAC,EAAEE,GAAG,EAAEhB,KAAK,CAACe,MAAM,CAACC,GAAG,CAAC,CAAC;IAC7E;IAEA,MAAMC,YAAY,GAAG5B,GAAG,CAAChB,WAAW,CAAC,CAAC,CAAC6C,eAAe,CAACC,IAAI;IAC3D,IAAIF,YAAY,EAAE;MAChBjD,YAAY,CAACgC,KAAK,EAAE,4BAA4B,EAAEiB,YAAY,CAAC;MAC/D,IAAI,CAAChD,UAAU,CAAC+B,KAAK,EAAE,uBAAuB,CAAC,EAAE;QAC/C,MAAMoB,QAAQ,GAAGH,YAAY,CAACI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3CrD,YAAY,CAACgC,KAAK,EAAE,uBAAuB,EAAEoB,QAAQ,CAAC;MACxD;IACF;IAEApB,KAAK,GAAGV,SAAS,CAACU,KAAK,CAAC;IACxB,KAAK,MAAMS,OAAO,IAAI5B,eAAe,EAAE;MACrC,IAAIE,UAAU,CAACiB,KAAK,EAAES,OAAO,CAAC,EAAE;QAC9BT,KAAK,CAACS,OAAO,CAAC,GAAGjC,SAAS,CAAC,CAAC,CAAC,EAAE8C,gBAAgB,CAACtB,KAAK,EAAEG,EAAE,CAAC,EAAEH,KAAK,CAACS,OAAO,CAAC,CAAC;QAC3E;MACF;IACF;IAEA,OAAOT,KAAK;EACd,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,SAASuB,WAAWA,CAACC,EAAE,EAAE;EACvB,IAAI;IACF,OAAOA,EAAE,CAACnC,GAAG,CAACd,YAAY,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC,OAAOkD,CAAC,EAAE;IACV,OAAOD,EAAE,CAACnC,GAAG,CAACf,aAAa,CAAC,CAAC,CAAC;EAChC;AACF;AAEA,SAASoB,MAAMA,CAAA,EAAG;EAChB,MAAMgC,KAAK,GAAGjD,MAAM,CAACkD,SAAS,CAAC,wBAAwB,CAAC;EACxD,OAAO,CAACC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACb,MAAM,KAAK,CAAC,GAC9CjC,SAAS,CAACkD,OAAO,CAACzC,GAAG,CAACV,gBAAgB,CAAC,CAAC,CAAC,GACzCU,GAAG,CAACX,iBAAiB,CAACgD,KAAK,CAAC;AAClC;AAEA,SAASK,WAAWA,CAACC,GAAG,EAAE;EACxB,OAAO9D,gBAAgB,CAAC8D,GAAG,EAAE5B,MAAM,CAACQ,IAAI,CAACoB,GAAG,CAAC,CAAC;AAChD;AAEA,SAASpC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOhB,SAAS,CAACkD,OAAO,CAAC,wBAAwB,IAAIG,SAAS,IAAIjD,iBAAiB,CAACE,sBAAsB,EAAED,cAAc,CAACE,kBAAkB,EAAE,MAAM,CAAC,CAAC,IAAK8C,SAAS,CAACC,sBAAsB,CAASC,QAAQ,CAAC,CAAC,CAAC;AAClN;AAEA,MAAM7B,WAAW,GAAG;EAClB8B,IAAIA,CAACpC,KAAK,EAAEG,EAAE,EAAE;IACd,IAAItB,eAAe,CAACwD,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAK,MAAM,CAAC,CAACC,IAAI,CAACxD,UAAU,CAACyD,IAAI,CAAC,IAAI,EAAExC,KAAK,CAAC,CAAC,EAAE;MAChF;MACA;IACF;IACA,OAAO+B,WAAW,CAAC;MACjBU,IAAI,EAAEtC,EAAE,CAACsC,IAAI;MACbC,GAAG,EAAEvC,EAAE,CAACuC;IACV,CAAC,CAAC;EACJ,CAAC;EACD3B,MAAMA,CAAA,EAAG;IACP,OAAOQ,WAAW,CAAEoB,GAAG,IAAK;MAC1B;MACA,MAAMC,CAAC,GAAGxE,gBAAgB,CAAC,CAAC,CAACyE,MAAM,CAACC,KAAK;MACzC,MAAMC,CAAC,GAAG3E,gBAAgB,CAAC,CAAC,CAACyE,MAAM,CAACG,MAAM;;MAE1C;MACA,MAAM;QAACF,KAAK,EAAEG,GAAG;QAAED,MAAM,EAAEE;MAAG,CAAC,GAAG9D,eAAe,CAAC,CAAC;MAEnD,MAAM2B,MAAM,GAAG;QACb6B,CAAC;QACDG,CAAC;QACDI,GAAG,EAAEhF,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACrBiF,EAAE,EAAET,GAAG,CAACV,SAAS,CAACoB,SAAS;QAC3BC,QAAQ,EAAEX,GAAG,CAACV,SAAS,CAACqB,QAAQ,CAACjC,KAAK,CAAC,GAAG,CAAC,CAACkC,KAAK,CAAC,CAAC;QACnDvC,GAAG,EAAE;UACHiC,GAAG;UACHC;QACF;MACF,CAAC;MAED,IAAIP,GAAG,CAACV,SAAS,EAAEuB,SAAS,EAAE;QAC5BxF,YAAY,CAAC+C,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC;MAC7C;MAEA,OAAOA,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACD0C,IAAIA,CAAA,EAAG;IACL,MAAMA,IAAI,GAAG,CAAC,CAAQ;IACtB,IAAIlC,WAAW,CAAEoB,GAAG,IAAKA,GAAG,CAACV,SAAS,CAACyB,oBAAoB,CAAC,EAAE;MAC5D1F,YAAY,CAACyF,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC;IACpC;IACA,MAAME,KAAK,GAAGlF,MAAM,CAACkD,SAAS,CAAC,OAAO,CAAC;IACvC,IAAI,OAAOgC,KAAK,KAAK,SAAS,EAAE;MAC9BF,IAAI,CAACE,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAG,CAAC;IAC5B;IACA,OAAOF,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA,SAASnC,gBAAgBA,CAACtB,KAAK,EAAEG,EAAE,EAAE;EACnC,MAAMyD,MAAM,GAAG9F,WAAW,CAACqC,EAAE,CAACsC,IAAI,EAAE;IAACoB,YAAY,EAAE;EAAI,CAAC,CAAC;EACzD,MAAMC,QAAQ,GAAGvC,WAAW,CAAEoB,GAAG,IAAKA,GAAG,CAACoB,QAAQ,CAACC,aAAa,CAAC,yBAAyB,CAAC,CAAC,EACxFC,OAAO,EAAEC,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC;EACjC,OAAOnC,WAAW,CAAC;IACjB6B,MAAM;IACNE,QAAQ;IACRK,SAAS,EAAEpC,WAAW,CAAC;MACrB6B,MAAM,EAAEvE,GAAG,CAACtB,cAAc,CAAC6F,MAAM;IACnC,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/dist/src/src/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","names":["funHooks","defer","hook","ready","SYNC","ASYNC","QUEUE","readyCtl","apply","resolve","promise","getHook","get","setupBeforeHookFnOnce","baseFn","hookFn","priority","arguments","length","undefined","result","getHooks","before","submoduleInstallMap","module","name","install","postInstallAllowed","submodules","forEach","args","submodule","_len","Array","_key","next","modules","push","wrapHook","wrapper","Object","defineProperties","fromEntries","map","m","ignoreCallbackArg","_len2","_key2"],"sourceRoot":"../../..","sources":["src/hook.ts"],"sourcesContent":["import funHooks from 'fun-hooks/no-eval/index.js';\nimport {defer} from './utils/promise.js';\nimport type {AnyFunction, Wraps} from \"./types/functions.d.ts\";\nimport type {AllExceptLast, Last} from \"./types/tuples.d.ts\";\n\nexport type Next<W extends AnyFunction> = {\n
|
|
1
|
+
{"version":3,"file":"hook.js","names":["funHooks","defer","hook","ready","SYNC","ASYNC","QUEUE","readyCtl","apply","resolve","promise","getHook","get","setupBeforeHookFnOnce","baseFn","hookFn","priority","arguments","length","undefined","result","getHooks","before","submoduleInstallMap","module","name","install","postInstallAllowed","submodules","forEach","args","submodule","_len","Array","_key","next","modules","push","wrapHook","wrapper","Object","defineProperties","fromEntries","map","m","ignoreCallbackArg","_len2","_key2"],"sourceRoot":"../../..","sources":["src/hook.ts"],"sourcesContent":["import funHooks from 'fun-hooks/no-eval/index.js';\nimport {defer} from './utils/promise.js';\nimport type {AnyFunction, Wraps} from \"./types/functions.d.ts\";\nimport type {AllExceptLast, Last} from \"./types/tuples.d.ts\";\n\nexport type Next<W extends AnyFunction> = {\n (...args: Parameters<W>): unknown;\n bail(result: ReturnType<W>): void;\n}\n\nexport type HookFunction<W extends AnyFunction> = (next: Next<W>, ...args: Parameters<W>) => unknown;\nexport type BeforeHookParams<TYP extends HookType, FN extends AnyFunction> =\n TYP extends 'async'\n ? Last<Parameters<FN>> extends AnyFunction ? AllExceptLast<Parameters<FN>> : Parameters<FN>\n : Parameters<FN>;\n\nexport type HookType = 'sync' | 'async';\n\nexport type BeforeHook<TYP extends HookType, FN extends AnyFunction> = HookFunction<(...args: BeforeHookParams<TYP, FN>) => ReturnType<FN>>\nexport type AfterHook<FN extends AnyFunction> = HookFunction<(result: ReturnType<FN>) => ReturnType<FN>>;\n\nexport type Hookable<TYP extends HookType, FN extends AnyFunction> = Wraps<FN> & {\n before(beforeHook: BeforeHook<TYP, FN>, priority?: number): void;\n after(afterHook: AfterHook<FN>, priority?: number): void;\n getHooks(options?: { hook?: BeforeHook<TYP, FN> | AfterHook<FN> }): { length: number, remove(): void }\n removeAll(): void;\n}\n\nexport interface NamedHooks {\n [name: string]: Hookable<HookType, AnyFunction>;\n}\n\ninterface FunHooks {\n <TYP extends HookType, FN extends AnyFunction>(type: TYP, fn: FN, name?: string): Hookable<TYP, FN>;\n ready(): void;\n get<T extends keyof NamedHooks>(name: T): NamedHooks[T]\n}\n\n/**\n * NOTE: you must not call `next` asynchronously from 'sync' hooks\n * see https://github.com/snapwich/fun-hooks/issues/42\n */\n\nexport const hook: FunHooks = funHooks({\n ready: funHooks.SYNC | funHooks.ASYNC | funHooks.QUEUE\n});\n\nconst readyCtl = defer<void>();\nhook.ready = (() => {\n const ready = hook.ready;\n return function () {\n try {\n return ready.apply(hook);\n } finally {\n readyCtl.resolve();\n }\n }\n})();\n\n/**\n * A promise that resolves when hooks are ready.\n * @type {Promise}\n */\nexport const ready: Promise<void> = readyCtl.promise;\n\nexport const getHook = hook.get;\n\nexport function setupBeforeHookFnOnce<TYP extends HookType, FN extends AnyFunction>(baseFn: Hookable<TYP, FN>, hookFn: BeforeHook<TYP, FN>, priority = 15) {\n const result = baseFn.getHooks({hook: hookFn});\n if (result.length === 0) {\n baseFn.before(hookFn, priority);\n }\n}\nconst submoduleInstallMap = {};\n\nexport function module(name, install, {postInstallAllowed = false} = {}) {\n hook('async', function (submodules) {\n submodules.forEach(args => install(...args));\n if (postInstallAllowed) submoduleInstallMap[name] = install;\n }, name)([]); // will be queued until hook.ready() called in pbjs.processQueue();\n}\n\nexport interface Submodules {\n [name: string]: unknown[]\n}\n\nexport function submodule<N extends keyof Submodules>(name: N, ...args: Submodules[N]) {\n const install = submoduleInstallMap[name as any];\n if (install) return install(...args);\n getHook(name).before((next, modules) => {\n modules.push(args);\n next(modules);\n });\n}\n\n/**\n * Copy hook methods (.before, .after, etc) from a given hook to a given wrapper object.\n */\nexport function wrapHook<TYP extends HookType, FN extends AnyFunction>(hook: Hookable<TYP, FN>, wrapper: FN): Hookable<TYP, FN> {\n Object.defineProperties(\n wrapper,\n Object.fromEntries(['before', 'after', 'getHooks', 'removeAll'].map((m) => [m, {get: () => hook[m]}]))\n );\n return (wrapper as unknown) as Hookable<TYP, FN>;\n}\n\n/**\n * 'async' hooks expect the last argument to be a callback, and have special treatment for it if it's a function;\n * which prevents it from being used as a normal argument in 'before' hooks - and presents a modified version of it\n * to the hooked function.\n *\n * This returns a wrapper around a given 'async' hook that works around this, for when the last argument\n * should be treated as a normal argument.\n */\nexport function ignoreCallbackArg<FN extends AnyFunction>(hook: Hookable<'async', FN>): Hookable<'async', (...args: [...Parameters<FN>, () => void]) => ReturnType<FN>> {\n return wrapHook(hook, function (...args) {\n args.push(function () {})\n return hook.apply(this, args);\n } as any) as any;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaTypes.js","names":["NATIVE","VIDEO","BANNER","ADPOD","ALL_MEDIATYPES"],"sourceRoot":"../../..","sources":["src/mediaTypes.ts"],"sourcesContent":["/**\n * This file contains the valid Media Types in Prebid.\n *\n * All adapters are assumed to support banner ads. Other media types are specified by Adapters when they\n * register themselves with prebid-core.\n */\nimport type {BannerMediaType} from \"./banner.ts\";\nimport type {RendererConfig} from \"./adUnits.ts\";\nimport type {VideoMediaType} from \"./video.ts\";\nimport type {NativeMediaType} from \"./native.ts\";\n\nexport type MediaType = typeof NATIVE | typeof VIDEO | typeof BANNER;\n\nexport interface BaseMediaType {\n
|
|
1
|
+
{"version":3,"file":"mediaTypes.js","names":["NATIVE","VIDEO","BANNER","ADPOD","ALL_MEDIATYPES"],"sourceRoot":"../../..","sources":["src/mediaTypes.ts"],"sourcesContent":["/**\n * This file contains the valid Media Types in Prebid.\n *\n * All adapters are assumed to support banner ads. Other media types are specified by Adapters when they\n * register themselves with prebid-core.\n */\nimport type {BannerMediaType} from \"./banner.ts\";\nimport type {RendererConfig} from \"./adUnits.ts\";\nimport type {VideoMediaType} from \"./video.ts\";\nimport type {NativeMediaType} from \"./native.ts\";\n\nexport type MediaType = typeof NATIVE | typeof VIDEO | typeof BANNER;\n\nexport interface BaseMediaType {\n /**\n * Custom renderer. Takes precedence over adUnit.renderer, but applies only to this media type.\n */\n renderer?: RendererConfig;\n}\n\nexport interface MediaTypes {\n /**\n * Defines properties of a banner ad.\n */\n banner?: BannerMediaType;\n /**\n * Defines properties of a video ad.\n */\n video?: VideoMediaType;\n /**\n * Defines properties of a native ad.\n */\n native?: NativeMediaType;\n}\n\nexport const NATIVE = 'native';\nexport const VIDEO = 'video';\nexport const BANNER = 'banner';\nexport const ADPOD = 'adpod';\n\nexport const ALL_MEDIATYPES: MediaType[] = [NATIVE, VIDEO, BANNER];\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AA8BA,OAAO,MAAMA,MAAM,GAAG,QAAQ;AAC9B,OAAO,MAAMC,KAAK,GAAG,OAAO;AAC5B,OAAO,MAAMC,MAAM,GAAG,QAAQ;AAC9B,OAAO,MAAMC,KAAK,GAAG,OAAO;AAE5B,OAAO,MAAMC,cAA2B,GAAG,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC","ignoreList":[]}
|