diff --git a/modules/mediakeysBidAdapter.js b/modules/mediakeysBidAdapter.js index 539d2f6c9cf..5b48e732942 100644 --- a/modules/mediakeysBidAdapter.js +++ b/modules/mediakeysBidAdapter.js @@ -1,7 +1,7 @@ +import { getWindowTop, isFn, logWarn, getDNT, deepAccess, isArray, inIframe, mergeDeep, isStr, isEmpty, deepSetValue, deepClone, parseUrl, cleanObj, logError, triggerPixel } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; import { config } from '../src/config.js'; import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js'; -import * as utils from '../src/utils.js'; import { createEidsArray } from './userId/eids.js'; const AUCTION_TYPE = 1; @@ -19,7 +19,7 @@ const NET_REVENUE = true; */ function canAccessTopWindow() { try { - return !!utils.getWindowTop().location.href; + return !!getWindowTop().location.href; } catch (error) { return false; } @@ -65,12 +65,12 @@ function getOS() { * @returns {number|boolean} */ function getFloor(bid, mediaType, size = '*') { - if (!utils.isFn(bid.getFloor)) { + if (!isFn(bid.getFloor)) { return false; } if (SUPPORTED_MEDIA_TYPES.indexOf(mediaType) === -1) { - utils.logWarn(`${BIDDER_CODE}: Unable to detect floor price for unsupported mediaType ${mediaType}. No floor will be used.`); + logWarn(`${BIDDER_CODE}: Unable to detect floor price for unsupported mediaType ${mediaType}. No floor will be used.`); return false; } @@ -99,7 +99,7 @@ function createOrtbTemplate() { device: { ip: '', js: 1, - dnt: utils.getDNT(), + dnt: getDNT(), ua: navigator.userAgent, devicetype: getDeviceType(), os: getOS(), @@ -128,10 +128,10 @@ function createOrtbTemplate() { */ function createBannerImp(bid) { let sizes = bid.mediaTypes.banner.sizes; - const params = utils.deepAccess(bid, 'params', {}); + const params = deepAccess(bid, 'params', {}); - if (!utils.isArray(sizes) || !sizes.length) { - utils.logWarn(`${BIDDER_CODE}: mediaTypes.banner.size missing for adunit: ${bid.params.adUnit}. Ignoring the banner impression in the adunit.`); + if (!isArray(sizes) || !sizes.length) { + logWarn(`${BIDDER_CODE}: mediaTypes.banner.size missing for adunit: ${bid.params.adUnit}. Ignoring the banner impression in the adunit.`); } else { const banner = {}; @@ -146,7 +146,7 @@ function createBannerImp(bid) { }); banner.format = format; - banner.topframe = utils.inIframe() ? 0 : 1; + banner.topframe = inIframe() ? 0 : 1; banner.pos = params.pos || 0; return banner; @@ -185,10 +185,10 @@ function createImp(bid) { } // handle FPD for imp. - const ortb2Imp = utils.deepAccess(bid, 'ortb2Imp.ext.data'); + const ortb2Imp = deepAccess(bid, 'ortb2Imp.ext.data'); if (ortb2Imp) { const fpd = { ...bid.ortb2Imp }; - utils.mergeDeep(imp, fpd); + mergeDeep(imp, fpd); } return imp; @@ -202,13 +202,13 @@ function createImp(bid) { * @returns {string|null} */ function getPrimaryCatFromResponse(cat) { - if (!cat || (utils.isArray(cat) && !cat.length)) { + if (!cat || (isArray(cat) && !cat.length)) { return; } - if (utils.isArray(cat)) { + if (isArray(cat)) { return cat[0]; - } else if (utils.isStr(cat)) { + } else if (isStr(cat)) { return cat; } } @@ -221,7 +221,7 @@ export const spec = { supportedMediaTypes: SUPPORTED_MEDIA_TYPES, isBidRequestValid: function(bid) { - return !!(bid && !utils.isEmpty(bid)); + return !!(bid && !isEmpty(bid)); }, buildRequests: function(validBidRequests, bidderRequest) { @@ -229,11 +229,11 @@ export const spec = { // Pass the auctionId as ortb2 id // See https://github.com/prebid/Prebid.js/issues/6563 - utils.deepSetValue(payload, 'id', bidderRequest.auctionId); - utils.deepSetValue(payload, 'source.tid', bidderRequest.auctionId); + deepSetValue(payload, 'id', bidderRequest.auctionId); + deepSetValue(payload, 'source.tid', bidderRequest.auctionId); validBidRequests.forEach(validBid => { - let bid = utils.deepClone(validBid); + let bid = deepClone(validBid); // No additional params atm. const imp = createImp(bid); @@ -242,37 +242,37 @@ export const spec = { }); if (validBidRequests[0].schain) { - utils.deepSetValue(payload, 'source.ext.schain', validBidRequests[0].schain); + deepSetValue(payload, 'source.ext.schain', validBidRequests[0].schain); } if (bidderRequest && bidderRequest.gdprConsent) { - utils.deepSetValue(payload, 'user.ext.consent', bidderRequest.gdprConsent.consentString); - utils.deepSetValue(payload, 'regs.ext.gdpr', (bidderRequest.gdprConsent.gdprApplies ? 1 : 0)); + deepSetValue(payload, 'user.ext.consent', bidderRequest.gdprConsent.consentString); + deepSetValue(payload, 'regs.ext.gdpr', (bidderRequest.gdprConsent.gdprApplies ? 1 : 0)); } if (bidderRequest && bidderRequest.uspConsent) { - utils.deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent); + deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent); } if (config.getConfig('coppa') === true) { - utils.deepSetValue(payload, 'regs.coppa', 1); + deepSetValue(payload, 'regs.coppa', 1); } - if (utils.deepAccess(validBidRequests[0], 'userId')) { - utils.deepSetValue(payload, 'user.ext.eids', createEidsArray(validBidRequests[0].userId)); + if (deepAccess(validBidRequests[0], 'userId')) { + deepSetValue(payload, 'user.ext.eids', createEidsArray(validBidRequests[0].userId)); } // Assign payload.site from refererinfo if (bidderRequest.refererInfo) { if (bidderRequest.refererInfo.reachedTop) { const sitePage = bidderRequest.refererInfo.referer; - utils.deepSetValue(payload, 'site.page', sitePage); - utils.deepSetValue(payload, 'site.domain', utils.parseUrl(sitePage, { + deepSetValue(payload, 'site.page', sitePage); + deepSetValue(payload, 'site.domain', parseUrl(sitePage, { noDecodeWholeURL: true }).hostname); if (canAccessTopWindow()) { - utils.deepSetValue(payload, 'site.ref', utils.getWindowTop().document.referrer); + deepSetValue(payload, 'site.ref', getWindowTop().document.referrer); } } } @@ -280,15 +280,15 @@ export const spec = { // Handle First Party Data (need publisher fpd setup) const fpd = config.getConfig('ortb2') || {}; if (fpd.site) { - utils.mergeDeep(payload, { site: fpd.site }); + mergeDeep(payload, { site: fpd.site }); } if (fpd.user) { - utils.mergeDeep(payload, { user: fpd.user }); + mergeDeep(payload, { user: fpd.user }); } // Here we can handle device.geo prop - const deviceGeo = utils.deepAccess(fpd, 'device.geo'); + const deviceGeo = deepAccess(fpd, 'device.geo'); if (deviceGeo) { - utils.mergeDeep(payload.device, { geo: deviceGeo }); + mergeDeep(payload.device, { geo: deviceGeo }); } const request = { @@ -307,19 +307,19 @@ export const spec = { const bidResponses = []; try { - if (serverResponse.body && serverResponse.body.seatbid && utils.isArray(serverResponse.body.seatbid)) { + if (serverResponse.body && serverResponse.body.seatbid && isArray(serverResponse.body.seatbid)) { const currency = serverResponse.body.cur || DEFAULT_CURRENCY; const referrer = bidRequest.site && bidRequest.site.ref ? bidRequest.site.ref : ''; serverResponse.body.seatbid.forEach(bidderSeat => { - if (!utils.isArray(bidderSeat.bid) || !bidderSeat.bid.length) { + if (!isArray(bidderSeat.bid) || !bidderSeat.bid.length) { return; } bidderSeat.bid.forEach(bid => { let mediaType; // Actually only BANNER is supported, but other types will be added soon. - switch (utils.deepAccess(bid, 'ext.prebid.type')) { + switch (deepAccess(bid, 'ext.prebid.type')) { case 'V': mediaType = VIDEO; break; @@ -332,8 +332,8 @@ export const spec = { const meta = { advertiserDomains: (Array.isArray(bid.adomain) && bid.adomain.length) ? bid.adomain : [], - advertiserName: utils.deepAccess(bid, 'ext.advertiser_name', null), - agencyName: utils.deepAccess(bid, 'ext.agency_name', null), + advertiserName: deepAccess(bid, 'ext.advertiser_name', null), + agencyName: deepAccess(bid, 'ext.agency_name', null), primaryCatId: getPrimaryCatFromResponse(bid.cat), mediaType } @@ -352,7 +352,7 @@ export const spec = { ad: bid.adm, mediaType, burl: bid.burl, - meta: utils.cleanObj(meta) + meta: cleanObj(meta) }; bidResponses.push(newBid); @@ -360,7 +360,7 @@ export const spec = { }); } } catch (e) { - utils.logError(BIDDER_CODE, e); + logError(BIDDER_CODE, e); } return bidResponses; @@ -373,7 +373,7 @@ export const spec = { const url = bid.burl.replace(/\$\{AUCTION_PRICE\}/, bid.cpm); - utils.triggerPixel(url); + triggerPixel(url); } } diff --git a/modules/medianetAnalyticsAdapter.js b/modules/medianetAnalyticsAdapter.js index 45fb39d8c82..e281dde8ad0 100644 --- a/modules/medianetAnalyticsAdapter.js +++ b/modules/medianetAnalyticsAdapter.js @@ -1,7 +1,7 @@ +import { triggerPixel, deepAccess, getWindowTop, uniques, groupBy, isEmpty, _map, isPlainObject, logInfo, logError } from '../src/utils.js'; import adapter from '../src/AnalyticsAdapter.js'; import adapterManager from '../src/adapterManager.js'; import CONSTANTS from '../src/constants.json'; -import * as utils from '../src/utils.js'; import { ajax } from '../src/ajax.js'; import { getRefererInfo } from '../src/refererDetection.js'; import { AUCTION_COMPLETED, AUCTION_IN_PROGRESS, getPriceGranularity } from '../src/auction.js'; @@ -66,7 +66,7 @@ class ErrorLogger { send() { let url = EVENT_PIXEL_URL + '?' + formatQS(this); - utils.triggerPixel(url); + triggerPixel(url); } } @@ -126,7 +126,7 @@ class Configure { } overrideDomainLevelData(response) { - const domain = utils.deepAccess(response, 'domain.' + pageDetails.domain); + const domain = deepAccess(response, 'domain.' + pageDetails.domain); if (domain) { this.setDataFromResponse(domain); } @@ -149,14 +149,14 @@ class Configure { init() { // Forces Logging % to 100% let urlObj = URL.parseUrl(pageDetails.page); - if (utils.deepAccess(urlObj, 'search.medianet_test') || urlObj.hostname === 'localhost') { + if (deepAccess(urlObj, 'search.medianet_test') || urlObj.hostname === 'localhost') { this.loggingPercent = 100; this.ajaxState = CONFIG_PASS; this.debug = true; return; } - if (utils.deepAccess(urlObj, 'search.mnet_setconfig')) { - this.mnetDebugConfig = utils.deepAccess(urlObj, 'search.mnet_setconfig'); + if (deepAccess(urlObj, 'search.mnet_setconfig')) { + this.mnetDebugConfig = deepAccess(urlObj, 'search.mnet_setconfig'); } ajax( this._configURL(), @@ -201,7 +201,7 @@ class PageDetail { _getAttributeFromSelector(selector, attribute) { try { - let doc = utils.getWindowTop().document; + let doc = getWindowTop().document; let element = doc.querySelector(selector); if (element !== null && element[attribute]) { return element[attribute]; @@ -210,7 +210,7 @@ class PageDetail { } _getAbsoluteUrl(url) { - let aTag = utils.getWindowTop().document.createElement('a'); + let aTag = getWindowTop().document.createElement('a'); aTag.href = url; return aTag.href; @@ -358,8 +358,8 @@ class Auction { flrdata: this._mergeFieldsToLog({ ln: this.floorData.location, skp: this.floorData.skipped, - enfj: utils.deepAccess(this.floorData, 'enforcements.enforceJS'), - enfd: utils.deepAccess(this.floorData, 'enforcements.floorDeals'), + enfj: deepAccess(this.floorData, 'enforcements.enforceJS'), + enfd: deepAccess(this.floorData, 'enforcements.floorDeals'), sr: this.floorData.skipRate, fs: this.floorData.fetchStatus }), @@ -411,7 +411,7 @@ function auctionInitHandler({auctionId, adUnits, timeout, timestamp, bidderReque auctions[auctionId].auctionInitTime = timestamp; } addAddSlots(auctionId, adUnits, timeout); - const floorData = utils.deepAccess(bidderRequests, '0.bids.0.floorData'); + const floorData = deepAccess(bidderRequests, '0.bids.0.floorData'); if (floorData) { auctions[auctionId].floorData = {...floorData}; } @@ -419,10 +419,10 @@ function auctionInitHandler({auctionId, adUnits, timeout, timestamp, bidderReque function addAddSlots(auctionId, adUnits, tmax) { adUnits = adUnits || []; - const groupedAdUnits = utils.groupBy(adUnits, 'code'); + const groupedAdUnits = groupBy(adUnits, 'code'); Object.keys(groupedAdUnits).forEach((adUnitCode) => { const adUnits = groupedAdUnits[adUnitCode]; - const supplyAdCode = utils.deepAccess(adUnits, '0.adUnitCode') || adUnitCode; + const supplyAdCode = deepAccess(adUnits, '0.adUnitCode') || adUnitCode; let context = ''; let adext = {}; @@ -430,17 +430,17 @@ function addAddSlots(auctionId, adUnits, tmax) { const oSizes = {banner: [], video: []}; adUnits.forEach(({mediaTypes, sizes, ext}) => { mediaTypes = mediaTypes || {}; - adext = Object.assign(adext, ext || utils.deepAccess(mediaTypes, 'banner.ext')); - context = utils.deepAccess(mediaTypes, 'video.context') || context; + adext = Object.assign(adext, ext || deepAccess(mediaTypes, 'banner.ext')); + context = deepAccess(mediaTypes, 'video.context') || context; Object.keys(mediaTypes).forEach((mediaType) => mediaTypeMap[mediaType] = 1); const sizeObject = _getSizes(mediaTypes, sizes); sizeObject.banner.forEach(size => oSizes.banner.push(size)); sizeObject.video.forEach(size => oSizes.video.push(size)); }); - adext = utils.isEmpty(adext) ? undefined : adext; - oSizes.banner = oSizes.banner.filter(utils.uniques); - oSizes.video = oSizes.video.filter(utils.uniques); + adext = isEmpty(adext) ? undefined : adext; + oSizes.banner = oSizes.banner.filter(uniques); + oSizes.video = oSizes.video.filter(uniques); oSizes.native = mediaTypeMap.native === 1 ? [[1, 1].join('x')] : []; const allMediaTypeSizes = [].concat(oSizes.banner, oSizes.native, oSizes.video); const mediaTypes = Object.keys(mediaTypeMap).join('|'); @@ -468,17 +468,17 @@ function bidRequestedHandler({ auctionId, auctionStart, bids, start, uspConsent, const bidObj = new Bid(bidId, bidder, src, start, adUnitCode, mediaTypes && Object.keys(mediaTypes).join('|'), requestSizes); auctions[auctionId].addBid(bidObj); if (bidder === MEDIANET_BIDDER_CODE) { - bidObj.crid = utils.deepAccess(bid, 'params.crid'); - bidObj.pubcrid = utils.deepAccess(bid, 'params.crid'); + bidObj.crid = deepAccess(bid, 'params.crid'); + bidObj.pubcrid = deepAccess(bid, 'params.crid'); auctions[auctionId].adSlots[adUnitCode].medianetPresent = 1; } }); } function _getSizes(mediaTypes, sizes) { - const banner = utils.deepAccess(mediaTypes, 'banner.sizes') || sizes || []; - const native = utils.deepAccess(mediaTypes, 'native') ? [[1, 1]] : []; - const playerSize = utils.deepAccess(mediaTypes, 'video.playerSize') || []; + const banner = deepAccess(mediaTypes, 'banner.sizes') || sizes || []; + const native = deepAccess(mediaTypes, 'native') ? [[1, 1]] : []; + const playerSize = deepAccess(mediaTypes, 'video.playerSize') || []; let video = []; if (playerSize.length === 2) { video = [playerSize] @@ -506,10 +506,10 @@ function bidResponseHandler(bid) { { cpm, width, height, mediaType, timeToRespond, dealId, creativeId }, { adId, currency } ); - bidObj.floorPrice = utils.deepAccess(bid, 'floorData.floorValue'); - bidObj.floorRule = utils.deepAccess(bid, 'floorData.floorRule'); + bidObj.floorPrice = deepAccess(bid, 'floorData.floorValue'); + bidObj.floorRule = deepAccess(bid, 'floorData.floorRule'); bidObj.originalCpm = originalCpm || cpm; - let dfpbd = utils.deepAccess(bid, 'adserverTargeting.hb_pb'); + let dfpbd = deepAccess(bid, 'adserverTargeting.hb_pb'); if (!dfpbd) { let priceGranularity = getPriceGranularity(mediaType, bid); let priceGranularityKey = PRICE_GRANULARITY[priceGranularity]; @@ -598,8 +598,8 @@ function setTargetingHandler(params) { auctionObj.bids.forEach(bid => { if (bid.bidder === DUMMY_BIDDER && bid.adUnitCode === adunit) { bid.iwb = bidAdIds.length === 0 ? 0 : 1; - bid.width = utils.deepAccess(winningBid, 'width'); - bid.height = utils.deepAccess(winningBid, 'height'); + bid.width = deepAccess(winningBid, 'width'); + bid.height = deepAccess(winningBid, 'height'); } }); sendEvent(auctionId, adunit, LOG_TYPE.APPR); @@ -658,7 +658,7 @@ function getCommonLoggingData(acid, adtag) { function fireAuctionLog(acid, adtag, logType) { let commonParams = getCommonLoggingData(acid, adtag); commonParams.lgtp = logType; - let targeting = utils.deepAccess(commonParams, 'targ'); + let targeting = deepAccess(commonParams, 'targ'); Object.keys(commonParams).forEach((key) => (commonParams[key] == null) && delete commonParams[key]); delete commonParams.targ; @@ -686,11 +686,11 @@ function fireAuctionLog(acid, adtag, logType) { } function formatQS(data) { - return utils._map(data, (value, key) => { + return _map(data, (value, key) => { if (value === undefined) { return key + '='; } - if (utils.isPlainObject(value)) { + if (isPlainObject(value)) { value = JSON.stringify(value); } return key + '=' + encodeURIComponent(value); @@ -699,7 +699,7 @@ function formatQS(data) { function firePixel(qs) { logsQueue.push(ENDPOINT + '&' + qs); - utils.triggerPixel(ENDPOINT + '&' + qs); + triggerPixel(ENDPOINT + '&' + qs); } class URL { @@ -740,7 +740,7 @@ let medianetAnalytics = Object.assign(adapter({URL, analyticsType}), { }, track({ eventType, args }) { if (config.debug) { - utils.logInfo(eventType, args); + logInfo(eventType, args); } switch (eventType) { case CONSTANTS.EVENTS.AUCTION_INIT: { @@ -782,7 +782,7 @@ medianetAnalytics.originEnableAnalytics = medianetAnalytics.enableAnalytics; medianetAnalytics.enableAnalytics = function (configuration) { if (!configuration || !configuration.options || !configuration.options.cid) { - utils.logError('Media.net Analytics adapter: cid is required.'); + logError('Media.net Analytics adapter: cid is required.'); return; } $$PREBID_GLOBAL$$.medianetGlobals = $$PREBID_GLOBAL$$.medianetGlobals || {}; diff --git a/modules/medianetBidAdapter.js b/modules/medianetBidAdapter.js index d78f4a70e2c..db3921c9a47 100644 --- a/modules/medianetBidAdapter.js +++ b/modules/medianetBidAdapter.js @@ -1,5 +1,5 @@ +import { parseUrl, getWindowTop, isArray, getGptSlotInfoForAdUnitCode, isStr, deepAccess, isEmpty, logError, triggerPixel, buildUrl, isEmptyStr, logInfo } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; -import * as utils from '../src/utils.js'; import { config } from '../src/config.js'; import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js'; import { getRefererInfo } from '../src/refererDetection.js'; @@ -27,7 +27,7 @@ window.mnet = window.mnet || {}; window.mnet.queue = window.mnet.queue || []; mnData.urlData = { - domain: utils.parseUrl(refererInfo.referer).hostname, + domain: parseUrl(refererInfo.referer).hostname, page: refererInfo.referer, isTop: refererInfo.reachedTop } @@ -78,7 +78,7 @@ function getUrlFromSelector(selector, attribute) { function getAttributeFromSelector(selector, attribute) { try { - let doc = utils.getWindowTop().document; + let doc = getWindowTop().document; let element = doc.querySelector(selector); if (element !== null && element[attribute]) { return element[attribute]; @@ -87,7 +87,7 @@ function getAttributeFromSelector(selector, attribute) { } function getAbsoluteUrl(url) { - let aTag = utils.getWindowTop().document.createElement('a'); + let aTag = getWindowTop().document.createElement('a'); aTag.href = url; return aTag.href; @@ -98,7 +98,7 @@ function filterUrlsByType(urls, type) { } function transformSizes(sizes) { - if (utils.isArray(sizes) && sizes.length === 2 && !utils.isArray(sizes[0])) { + if (isArray(sizes) && sizes.length === 2 && !isArray(sizes[0])) { return [getSize(sizes)]; } @@ -123,8 +123,8 @@ function getCoordinates(adUnitCode) { let element = document.getElementById(adUnitCode); if (!element && adUnitCode.indexOf('/') !== -1) { // now it means that adUnitCode is GAM AdUnitPath - const {divId} = utils.getGptSlotInfoForAdUnitCode(adUnitCode); - if (utils.isStr(divId)) { + const {divId} = getGptSlotInfoForAdUnitCode(adUnitCode); + if (isStr(divId)) { element = document.getElementById(divId); } } @@ -145,11 +145,11 @@ function getCoordinates(adUnitCode) { } function extParams(bidRequest, bidderRequests) { - const params = utils.deepAccess(bidRequest, 'params'); - const gdpr = utils.deepAccess(bidderRequests, 'gdprConsent'); - const uspConsent = utils.deepAccess(bidderRequests, 'uspConsent'); - const userId = utils.deepAccess(bidRequest, 'userId'); - const sChain = utils.deepAccess(bidRequest, 'schain') || {}; + const params = deepAccess(bidRequest, 'params'); + const gdpr = deepAccess(bidderRequests, 'gdprConsent'); + const uspConsent = deepAccess(bidderRequests, 'uspConsent'); + const userId = deepAccess(bidRequest, 'userId'); + const sChain = deepAccess(bidRequest, 'schain') || {}; const windowSize = spec.getWindowSize(); const gdprApplies = !!(gdpr && gdpr.gdprApplies); const uspApplies = !!(uspConsent); @@ -165,7 +165,7 @@ function extParams(bidRequest, bidderRequests) { windowSize.w !== -1 && windowSize.h !== -1 && { screen: windowSize }, userId && { user_id: userId }, $$PREBID_GLOBAL$$.medianetGlobals.analyticsEnabled && { analytics: true }, - !utils.isEmpty(sChain) && {schain: sChain} + !isEmpty(sChain) && {schain: sChain} ); } @@ -184,13 +184,13 @@ function slotParams(bidRequest) { params.ortb2Imp = bidRequest.ortb2Imp; } - let bannerSizes = utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes') || []; + let bannerSizes = deepAccess(bidRequest, 'mediaTypes.banner.sizes') || []; - const videoInMediaType = utils.deepAccess(bidRequest, 'mediaTypes.video') || {}; - const videoInParams = utils.deepAccess(bidRequest, 'params.video') || {}; + const videoInMediaType = deepAccess(bidRequest, 'mediaTypes.video') || {}; + const videoInParams = deepAccess(bidRequest, 'params.video') || {}; const videoCombinedObj = Object.assign({}, videoInParams, videoInMediaType); - if (!utils.isEmpty(videoCombinedObj)) { + if (!isEmpty(videoCombinedObj)) { params.video = videoCombinedObj; } @@ -201,7 +201,7 @@ function slotParams(bidRequest) { try { params.native = JSON.stringify(bidRequest.nativeParams); } catch (e) { - utils.logError((`${BIDDER_CODE} : Incorrect JSON : bidRequest.nativeParams`)); + logError((`${BIDDER_CODE} : Incorrect JSON : bidRequest.nativeParams`)); } } @@ -319,8 +319,8 @@ function isValidBid(bid) { } function fetchCookieSyncUrls(response) { - if (!utils.isEmpty(response) && response[0].body && - response[0].body.ext && utils.isArray(response[0].body.ext.csUrl)) { + if (!isEmpty(response) && response[0].body && + response[0].body.ext && isArray(response[0].body.ext.csUrl)) { return response[0].body.ext.csUrl; } @@ -328,15 +328,15 @@ function fetchCookieSyncUrls(response) { } function getLoggingData(event, data) { - data = (utils.isArray(data) && data) || []; + data = (isArray(data) && data) || []; let params = {}; params.logid = 'kfk'; params.evtid = 'projectevents'; params.project = 'prebid'; - params.acid = utils.deepAccess(data, '0.auctionId') || ''; + params.acid = deepAccess(data, '0.auctionId') || ''; params.cid = $$PREBID_GLOBAL$$.medianetGlobals.cid || ''; - params.crid = data.map((adunit) => utils.deepAccess(adunit, 'params.0.crid') || adunit.adUnitCode).join('|'); + params.crid = data.map((adunit) => deepAccess(adunit, 'params.0.crid') || adunit.adUnitCode).join('|'); params.adunit_count = data.length || 0; params.dn = mnData.urlData.domain || ''; params.requrl = mnData.urlData.page || ''; @@ -354,7 +354,7 @@ function logEvent (event, data) { hostname: EVENT_PIXEL_URL, search: getLoggingData(event, data) }; - utils.triggerPixel(utils.buildUrl(getParams)); + triggerPixel(buildUrl(getParams)); } function clearMnData() { @@ -362,8 +362,8 @@ function clearMnData() { } function addRenderer(bid) { - const videoContext = utils.deepAccess(bid, 'context') || ''; - const vastTimeout = utils.deepAccess(bid, 'vto'); + const videoContext = deepAccess(bid, 'context') || ''; + const vastTimeout = deepAccess(bid, 'vto'); /* Adding renderer only when the context is Outstream and the provider has responded with a renderer. */ @@ -389,7 +389,7 @@ function newVideoRenderer(bid) { mute: bid.mt } const adUnitCode = bid.dfp_id; - const divId = utils.getGptSlotInfoForAdUnitCode(adUnitCode).divId || adUnitCode; + const divId = getGptSlotInfoForAdUnitCode(adUnitCode).divId || adUnitCode; window.mnet.mediaNetoutstreamPlayer(bid, divId, obj); }); }); @@ -410,12 +410,12 @@ export const spec = { */ isBidRequestValid: function(bid) { if (!bid.params) { - utils.logError(`${BIDDER_CODE} : Missing bid parameters`); + logError(`${BIDDER_CODE} : Missing bid parameters`); return false; } - if (!bid.params.cid || !utils.isStr(bid.params.cid) || utils.isEmptyStr(bid.params.cid)) { - utils.logError(`${BIDDER_CODE} : cid should be a string`); + if (!bid.params.cid || !isStr(bid.params.cid) || isEmptyStr(bid.params.cid)) { + logError(`${BIDDER_CODE} : cid should be a string`); return false; } @@ -450,13 +450,13 @@ export const spec = { let validBids = []; if (!serverResponse || !serverResponse.body) { - utils.logInfo(`${BIDDER_CODE} : response is empty`); + logInfo(`${BIDDER_CODE} : response is empty`); return validBids; } let bids = serverResponse.body.bidList; - if (!utils.isArray(bids) || bids.length === 0) { - utils.logInfo(`${BIDDER_CODE} : no bids`); + if (!isArray(bids) || bids.length === 0) { + logInfo(`${BIDDER_CODE} : no bids`); return validBids; } validBids = bids.filter(bid => isValidBid(bid)); diff --git a/modules/medianetRtdProvider.js b/modules/medianetRtdProvider.js index 77889db5ff2..cd86bf891f3 100644 --- a/modules/medianetRtdProvider.js +++ b/modules/medianetRtdProvider.js @@ -1,5 +1,5 @@ +import { isStr, isEmptyStr, logError, mergeDeep, isFn, insertElement } from '../src/utils.js'; import { submodule } from '../src/hook.js'; -import * as utils from '../src/utils.js'; import { getGlobal } from '../src/prebidGlobal.js'; import includes from 'core-js-pure/features/array/includes.js'; @@ -15,8 +15,8 @@ window.mnjs.que = window.mnjs.que || []; function init(config) { const customerId = config.params && config.params.cid; - if (!customerId || !utils.isStr(customerId) || utils.isEmptyStr(customerId)) { - utils.logError(`${SOURCE}: cid should be a string`); + if (!customerId || !isStr(customerId) || isEmptyStr(customerId)) { + logError(`${SOURCE}: cid should be a string`); return false; } @@ -40,8 +40,8 @@ function getBidRequestData(requestBidsProps, callback, config, userConsent) { const success = (adUnitProps, openRtbProps) => { adUnits.forEach(adUnit => { adUnit[OPEN_RTB_FIELD] = adUnit[OPEN_RTB_FIELD] || {}; - utils.mergeDeep(adUnit[OPEN_RTB_FIELD], openRtbProps[adUnit.code]); - utils.mergeDeep(adUnit, adUnitProps[adUnit.code]); + mergeDeep(adUnit[OPEN_RTB_FIELD], openRtbProps[adUnit.code]); + mergeDeep(adUnit, adUnitProps[adUnit.code]); }); callback(); }; @@ -61,7 +61,7 @@ function onAuctionInitEvent(auctionInit) { function getTargetingData(adUnitCode) { const adUnits = getAdUnits(undefined, adUnitCode); let targetingData = {}; - if (window.mnjs.loaded && utils.isFn(window.mnjs.getTargetingData)) { + if (window.mnjs.loaded && isFn(window.mnjs.getTargetingData)) { targetingData = window.mnjs.getTargetingData(adUnitCode, adUnits, SOURCE) || {}; } const targeting = {}; @@ -86,7 +86,7 @@ function loadRtdScript(customerId) { script.type = 'text/javascript'; script.async = true; script.src = getClientUrl(customerId, window.location.hostname); - utils.insertElement(script, window.document, 'head'); + insertElement(script, window.document, 'head'); } function getAdUnits(adUnits, adUnitCodes) { diff --git a/modules/merkleIdSystem.js b/modules/merkleIdSystem.js index bcb2b943834..5339b653596 100644 --- a/modules/merkleIdSystem.js +++ b/modules/merkleIdSystem.js @@ -5,7 +5,7 @@ * @requires module:modules/userId */ -import * as utils from '../src/utils.js' +import { logInfo, logError, logWarn } from '../src/utils.js'; import * as ajaxLib from '../src/ajax.js'; import {submodule} from '../src/hook.js' import {getStorageManager} from '../src/storageManager.js'; @@ -34,7 +34,7 @@ function setCookie(name, value, expires) { } function setSession(storage, response) { - utils.logInfo('Merkle setting session '); + logInfo('Merkle setting session '); if (response && response.c && response.c.value && typeof response.c.value === 'string') { setCookie(SESSION_COOKIE_NAME, response.c.value, storage.expires); } @@ -46,7 +46,7 @@ function constructUrl(configParams) { if (session) { url = `${url}&sv_session=${session}`; } - utils.logInfo('Merkle url :' + url); + logInfo('Merkle url :' + url); return url; } @@ -62,19 +62,19 @@ function generateId(configParams, configStorage) { try { responseObj = JSON.parse(response); setSession(configStorage, responseObj) - utils.logInfo('Merkle responseObj ' + JSON.stringify(responseObj)); + logInfo('Merkle responseObj ' + JSON.stringify(responseObj)); } catch (error) { - utils.logError(error); + logError(error); } } const date = new Date().toUTCString(); responseObj.date = date; - utils.logInfo('Merkle responseObj with date ' + JSON.stringify(responseObj)); + logInfo('Merkle responseObj with date ' + JSON.stringify(responseObj)); callback(responseObj); }, error => { - utils.logError(`${MODULE_NAME}: merkleId fetch encountered an error`, error); + logError(`${MODULE_NAME}: merkleId fetch encountered an error`, error); callback(); }, {method: 'GET', withCredentials: true} @@ -98,7 +98,7 @@ export const merkleIdSubmodule = { */ decode(value) { const id = (value && value.pam_id && typeof value.pam_id.id === 'string') ? value.pam_id : undefined; - utils.logInfo('Merkle id ' + JSON.stringify(id)); + logInfo('Merkle id ' + JSON.stringify(id)); return id ? {'merkleId': id} : undefined; }, /** @@ -109,31 +109,31 @@ export const merkleIdSubmodule = { * @returns {IdResponse|undefined} */ getId(config, consentData) { - utils.logInfo('User ID - merkleId generating id'); + logInfo('User ID - merkleId generating id'); const configParams = (config && config.params) || {}; if (!configParams || typeof configParams.vendor !== 'string') { - utils.logError('User ID - merkleId submodule requires a valid vendor to be defined'); + logError('User ID - merkleId submodule requires a valid vendor to be defined'); return; } if (typeof configParams.sv_cid !== 'string') { - utils.logError('User ID - merkleId submodule requires a valid sv_cid string to be defined'); + logError('User ID - merkleId submodule requires a valid sv_cid string to be defined'); return; } if (typeof configParams.sv_pubid !== 'string') { - utils.logError('User ID - merkleId submodule requires a valid sv_pubid string to be defined'); + logError('User ID - merkleId submodule requires a valid sv_pubid string to be defined'); return; } if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) { - utils.logError('User ID - merkleId submodule does not currently handle consent strings'); + logError('User ID - merkleId submodule does not currently handle consent strings'); return; } if (typeof configParams.endpoint !== 'string') { - utils.logWarn('User ID - merkleId submodule endpoint string is not defined'); + logWarn('User ID - merkleId submodule endpoint string is not defined'); configParams.endpoint = ID_URL } @@ -146,11 +146,11 @@ export const merkleIdSubmodule = { return {callback: resp}; }, extendId: function (config = {}, consentData, storedId) { - utils.logInfo('User ID - merkleId stored id ' + storedId); + logInfo('User ID - merkleId stored id ' + storedId); const configParams = (config && config.params) || {}; if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) { - utils.logError('User ID - merkleId submodule does not currently handle consent strings'); + logError('User ID - merkleId submodule does not currently handle consent strings'); return; } @@ -164,19 +164,19 @@ export const merkleIdSubmodule = { let refreshInSeconds = DEFAULT_REFRESH; if (configParams && configParams.refreshInSeconds && typeof configParams.refreshInSeconds === 'number') { refreshInSeconds = configParams.refreshInSeconds; - utils.logInfo('User ID - merkleId param refreshInSeconds' + refreshInSeconds); + logInfo('User ID - merkleId param refreshInSeconds' + refreshInSeconds); } const storedDate = new Date(storedId.date); let refreshNeeded = false; if (storedDate) { refreshNeeded = storedDate && (Date.now() - storedDate.getTime() > refreshInSeconds * 1000); if (refreshNeeded) { - utils.logInfo('User ID - merkleId needs refreshing id'); + logInfo('User ID - merkleId needs refreshing id'); const resp = generateId(configParams, configStorage) return {callback: resp}; } } - utils.logInfo('User ID - merkleId not refreshed'); + logInfo('User ID - merkleId not refreshed'); return {id: storedId}; } diff --git a/modules/mgidBidAdapter.js b/modules/mgidBidAdapter.js index 3b45c1e69a5..c811a0b2981 100644 --- a/modules/mgidBidAdapter.js +++ b/modules/mgidBidAdapter.js @@ -1,5 +1,5 @@ +import { _each, deepAccess, isPlainObject, isArray, isStr, logInfo, parseUrl, isEmpty, triggerPixel, logWarn, getBidIdParameter, isFn, isNumber } from '../src/utils.js'; import {registerBidder} from '../src/adapters/bidderFactory.js'; -import * as utils from '../src/utils.js'; import {BANNER, NATIVE} from '../src/mediaTypes.js'; import {config} from '../src/config.js'; import { getStorageManager } from '../src/storageManager.js'; @@ -58,9 +58,9 @@ let _NATIVE_ASSET_ID_TO_KEY_MAP = {}; let _NATIVE_ASSET_KEY_TO_ASSET_MAP = {}; // loading _NATIVE_ASSET_ID_TO_KEY_MAP -utils._each(NATIVE_ASSETS, anAsset => { _NATIVE_ASSET_ID_TO_KEY_MAP[anAsset.ID] = anAsset.KEY }); +_each(NATIVE_ASSETS, anAsset => { _NATIVE_ASSET_ID_TO_KEY_MAP[anAsset.ID] = anAsset.KEY }); // loading _NATIVE_ASSET_KEY_TO_ASSET_MAP -utils._each(NATIVE_ASSETS, anAsset => { _NATIVE_ASSET_KEY_TO_ASSET_MAP[anAsset.KEY] = anAsset }); +_each(NATIVE_ASSETS, anAsset => { _NATIVE_ASSET_KEY_TO_ASSET_MAP[anAsset.KEY] = anAsset }); export const spec = { VERSION: '1.5', @@ -76,20 +76,20 @@ export const spec = { * @return boolean True if this is a valid bid, and false otherwise. */ isBidRequestValid: (bid) => { - const banner = utils.deepAccess(bid, 'mediaTypes.banner'); - const native = utils.deepAccess(bid, 'mediaTypes.native'); - let nativeOk = utils.isPlainObject(native); + const banner = deepAccess(bid, 'mediaTypes.banner'); + const native = deepAccess(bid, 'mediaTypes.native'); + let nativeOk = isPlainObject(native); if (nativeOk) { - const nativeParams = utils.deepAccess(bid, 'nativeParams'); + const nativeParams = deepAccess(bid, 'nativeParams'); let assetsCount = 0; - if (utils.isPlainObject(nativeParams)) { + if (isPlainObject(nativeParams)) { for (let k in nativeParams) { let v = nativeParams[k]; const supportProp = spec.NATIVE_ASSET_KEY_TO_ASSET_MAP.hasOwnProperty(k); if (supportProp) { assetsCount++ } - if (!utils.isPlainObject(v) || (!supportProp && utils.deepAccess(v, 'required'))) { + if (!isPlainObject(v) || (!supportProp && deepAccess(v, 'required'))) { nativeOk = false; break; } @@ -97,17 +97,17 @@ export const spec = { } nativeOk = nativeOk && (assetsCount > 0); } - let bannerOk = utils.isPlainObject(banner); + let bannerOk = isPlainObject(banner); if (bannerOk) { - const sizes = utils.deepAccess(banner, 'sizes'); - bannerOk = utils.isArray(sizes) && sizes.length > 0; + const sizes = deepAccess(banner, 'sizes'); + bannerOk = isArray(sizes) && sizes.length > 0; for (let f = 0; bannerOk && f < sizes.length; f++) { bannerOk = sizes[f].length === 2; } } let acc = Number(bid.params.accountId); let plcmt = Number(bid.params.placementId); - return (bannerOk || nativeOk) && utils.isPlainObject(bid.params) && !!bid.adUnitCode && utils.isStr(bid.adUnitCode) && (plcmt > 0 ? bid.params.placementId.toString().search(spec.reId) === 0 : true) && + return (bannerOk || nativeOk) && isPlainObject(bid.params) && !!bid.adUnitCode && isStr(bid.adUnitCode) && (plcmt > 0 ? bid.params.placementId.toString().search(spec.reId) === 0 : true) && !!acc && acc > 0 && bid.params.accountId.toString().search(spec.reId) === 0; }, /** @@ -117,25 +117,25 @@ export const spec = { * @return ServerRequest Info describing the request to the server. */ buildRequests: (validBidRequests, bidderRequest) => { - utils.logInfo(LOG_INFO_PREFIX + `buildRequests`); + logInfo(LOG_INFO_PREFIX + `buildRequests`); if (validBidRequests.length === 0) { return; } const info = pageInfo(); - const page = info.location || utils.deepAccess(bidderRequest, 'refererInfo.referer') || utils.deepAccess(bidderRequest, 'refererInfo.canonicalUrl'); - const hostname = utils.parseUrl(page).hostname; + const page = info.location || deepAccess(bidderRequest, 'refererInfo.referer') || deepAccess(bidderRequest, 'refererInfo.canonicalUrl'); + const hostname = parseUrl(page).hostname; let domain = extractDomainFromHost(hostname) || hostname; const accountId = setOnAny(validBidRequests, 'params.accountId'); const muid = getLocalStorageSafely('mgMuidn'); let url = (setOnAny(validBidRequests, 'params.bidUrl') || ENDPOINT_URL) + accountId; - if (utils.isStr(muid) && muid.length > 0) { + if (isStr(muid) && muid.length > 0) { url += '?muid=' + muid; } const cur = setOnAny(validBidRequests, 'params.currency') || setOnAny(validBidRequests, 'params.cur') || config.getConfig('currency.adServerCurrency') || DEFAULT_CUR; const secure = window.location.protocol === 'https:' ? 1 : 0; let imp = []; validBidRequests.forEach(bid => { - let tagid = utils.deepAccess(bid, 'params.placementId') || 0; + let tagid = deepAccess(bid, 'params.placementId') || 0; tagid = !tagid ? bid.adUnitCode : tagid + '/' + bid.adUnitCode; let impObj = { id: bid.bidId, @@ -173,7 +173,7 @@ export const spec = { } let request = { - id: utils.deepAccess(bidderRequest, 'bidderRequestId'), + id: deepAccess(bidderRequest, 'bidderRequestId'), site: {domain, page}, cur: [cur], geo: {utcoffset: info.timeOffset}, @@ -195,7 +195,7 @@ export const spec = { if (info.referrer) { request.site.ref = info.referrer } - utils.logInfo(LOG_INFO_PREFIX + `buildRequest:`, request); + logInfo(LOG_INFO_PREFIX + `buildRequest:`, request); return { method: 'POST', url: url, @@ -209,36 +209,36 @@ export const spec = { * @return {Bid[]} An array of bids which were nested inside the server. */ interpretResponse: (serverResponse, bidRequests) => { - utils.logInfo(LOG_INFO_PREFIX + `interpretResponse`, serverResponse); - if (serverResponse == null || serverResponse.body == null || serverResponse.body === '' || !utils.isArray(serverResponse.body.seatbid) || !serverResponse.body.seatbid.length) { + logInfo(LOG_INFO_PREFIX + `interpretResponse`, serverResponse); + if (serverResponse == null || serverResponse.body == null || serverResponse.body === '' || !isArray(serverResponse.body.seatbid) || !serverResponse.body.seatbid.length) { return; } const returnedBids = []; - const muidn = utils.deepAccess(serverResponse.body, 'ext.muidn') - if (utils.isStr(muidn) && muidn.length > 0) { + const muidn = deepAccess(serverResponse.body, 'ext.muidn') + if (isStr(muidn) && muidn.length > 0) { setLocalStorageSafely('mgMuidn', muidn) } serverResponse.body.seatbid.forEach((bids) => { bids.bid.forEach((bid) => { const pbid = prebidBid(bid, serverResponse.body.cur); - if (pbid.mediaType === NATIVE && utils.isEmpty(pbid.native)) { + if (pbid.mediaType === NATIVE && isEmpty(pbid.native)) { return; } returnedBids.push(pbid); }) }); - utils.logInfo(LOG_INFO_PREFIX + `interpretedResponse`, returnedBids); + logInfo(LOG_INFO_PREFIX + `interpretedResponse`, returnedBids); return returnedBids; }, onBidWon: (bid) => { - const cpm = utils.deepAccess(bid, 'adserverTargeting.hb_pb') || ''; - if (utils.isStr(bid.nurl) && bid.nurl !== '') { + const cpm = deepAccess(bid, 'adserverTargeting.hb_pb') || ''; + if (isStr(bid.nurl) && bid.nurl !== '') { bid.nurl = bid.nurl.replace( /\${AUCTION_PRICE}/, cpm ); - utils.triggerPixel(bid.nurl); + triggerPixel(bid.nurl); } if (bid.isBurl) { if (bid.mediaType === BANNER) { @@ -251,13 +251,13 @@ export const spec = { /\${AUCTION_PRICE}/, cpm ); - utils.triggerPixel(bid.burl); + triggerPixel(bid.burl); } } - utils.logInfo(LOG_INFO_PREFIX + `onBidWon`); + logInfo(LOG_INFO_PREFIX + `onBidWon`); }, getUserSyncs: (syncOptions, serverResponses) => { - utils.logInfo(LOG_INFO_PREFIX + `getUserSyncs`); + logInfo(LOG_INFO_PREFIX + `getUserSyncs`); } }; @@ -265,7 +265,7 @@ registerBidder(spec); function setOnAny(collection, key) { for (let i = 0, result; i < collection.length; i++) { - result = utils.deepAccess(collection[i], key); + result = deepAccess(collection[i], key); if (result) { return result; } @@ -278,7 +278,7 @@ function setOnAny(collection, key) { * @return Bid */ function prebidBid(serverBid, cur) { - if (!utils.isStr(cur) || cur === '') { + if (!isStr(cur) || cur === '') { cur = DEFAULT_CUR; } const bid = { @@ -295,8 +295,8 @@ function prebidBid(serverBid, cur) { ttl: serverBid.ttl || 300, nurl: serverBid.nurl || '', burl: serverBid.burl || '', - isBurl: utils.isStr(serverBid.burl) && serverBid.burl.length > 0, - meta: { advertiserDomains: (utils.isArray(serverBid.adomain) && serverBid.adomain.length > 0 ? serverBid.adomain : []) }, + isBurl: isStr(serverBid.burl) && serverBid.burl.length > 0, + meta: { advertiserDomains: (isArray(serverBid.adomain) && serverBid.adomain.length > 0 ? serverBid.adomain : []) }, }; setMediaType(serverBid, bid); switch (bid.mediaType) { @@ -310,7 +310,7 @@ function prebidBid(serverBid, cur) { } function setMediaType(bid, newBid) { - if (utils.deepAccess(bid, 'ext.crtype') === 'native') { + if (deepAccess(bid, 'ext.crtype') === 'native') { newBid.mediaType = NATIVE; } else { newBid.mediaType = BANNER; @@ -364,7 +364,7 @@ function setLocalStorageSafely(key, val) { } function createBannerRequest(bid) { - const sizes = utils.deepAccess(bid, 'mediaTypes.banner.sizes'); + const sizes = deepAccess(bid, 'mediaTypes.banner.sizes'); let format = []; if (sizes.length > 1) { for (let f = 0; f < sizes.length; f++) { @@ -380,7 +380,7 @@ function createBannerRequest(bid) { if (format.length) { r.format = format } - const pos = utils.deepAccess(bid, 'mediaTypes.banner.pos') || 0 + const pos = deepAccess(bid, 'mediaTypes.banner.pos') || 0 if (pos) { r.pos = pos } @@ -407,15 +407,15 @@ function createNativeRequest(params) { }; break; case NATIVE_ASSETS.IMAGE.KEY: - const wmin = params[key].wmin || params[key].minimumWidth || (utils.isArray(params[key].minsizes) && params[key].minsizes.length > 0 ? params[key].minsizes[0] : 0); - const hmin = params[key].hmin || params[key].minimumHeight || (utils.isArray(params[key].minsizes) && params[key].minsizes.length > 1 ? params[key].minsizes[1] : 0); + const wmin = params[key].wmin || params[key].minimumWidth || (isArray(params[key].minsizes) && params[key].minsizes.length > 0 ? params[key].minsizes[0] : 0); + const hmin = params[key].hmin || params[key].minimumHeight || (isArray(params[key].minsizes) && params[key].minsizes.length > 1 ? params[key].minsizes[1] : 0); assetObj = { id: NATIVE_ASSETS.IMAGE.ID, required: params[key].required ? 1 : 0, img: { type: NATIVE_ASSET_IMAGE_TYPE.IMAGE, - w: params[key].w || params[key].width || (utils.isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[0] : 0), - h: params[key].h || params[key].height || (utils.isArray(params[key].sizes) && params[key].sizes.length > 1 ? params[key].sizes[1] : 0), + w: params[key].w || params[key].width || (isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[0] : 0), + h: params[key].h || params[key].height || (isArray(params[key].sizes) && params[key].sizes.length > 1 ? params[key].sizes[1] : 0), mimes: params[key].mimes, ext: params[key].ext, } @@ -439,8 +439,8 @@ function createNativeRequest(params) { required: params[key].required ? 1 : 0, img: { type: NATIVE_ASSET_IMAGE_TYPE.ICON, - w: params[key].w || params[key].width || (utils.isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[0] : 0), - h: params[key].h || params[key].height || (utils.isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[1] : 0), + w: params[key].w || params[key].width || (isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[0] : 0), + h: params[key].h || params[key].height || (isArray(params[key].sizes) && params[key].sizes.length > 0 ? params[key].sizes[1] : 0), } }; if (!assetObj.img.w) { @@ -485,7 +485,7 @@ function createNativeRequest(params) { break; } else { if (ele.id === 4 && nativeRequestObject.assets[i].id === 11) { - if (utils.deepAccess(nativeRequestObject.assets[i], 'data.type') === ele.data.type) { + if (deepAccess(nativeRequestObject.assets[i], 'data.type') === ele.data.type) { presentrequiredAssetCount++; break; } @@ -517,7 +517,7 @@ function parseNativeResponse(bid, newBid) { try { adm = JSON.parse(bid.adm); } catch (ex) { - utils.logWarn(LOG_WARN_PREFIX + 'Error: Cannot parse native response for ad response: ' + newBid.adm); + logWarn(LOG_WARN_PREFIX + 'Error: Cannot parse native response for ad response: ' + newBid.adm); return; } if (adm && adm.native && adm.native.assets && adm.native.assets.length > 0) { @@ -591,16 +591,16 @@ function pageInfo() { * @returns {*|number} floor price */ function getBidFloor(bid, cur) { - let bidFloor = utils.getBidIdParameter('bidfloor', bid.params) || utils.getBidIdParameter('bidFloor', bid.params) || 0; + let bidFloor = getBidIdParameter('bidfloor', bid.params) || getBidIdParameter('bidFloor', bid.params) || 0; const reqCur = cur - if (!bidFloor && utils.isFn(bid.getFloor)) { + if (!bidFloor && isFn(bid.getFloor)) { const floorObj = bid.getFloor({ currency: '*', mediaType: '*', size: '*' }); - if (utils.isPlainObject(floorObj) && utils.isNumber(floorObj.floor)) { + if (isPlainObject(floorObj) && isNumber(floorObj.floor)) { if (!floorObj.currency && reqCur !== DEFAULT_CUR) { floorObj.currency = DEFAULT_CUR } diff --git a/modules/microadBidAdapter.js b/modules/microadBidAdapter.js index c78a66aecee..982bd61840a 100644 --- a/modules/microadBidAdapter.js +++ b/modules/microadBidAdapter.js @@ -1,6 +1,6 @@ +import { deepAccess, isEmpty, isStr } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; import { BANNER } from '../src/mediaTypes.js'; -import * as utils from '../src/utils.js'; const BIDDER_CODE = 'microad'; @@ -82,8 +82,8 @@ export const spec = { } } - const idlEnv = utils.deepAccess(bid, 'userId.idl_env') - if (!utils.isEmpty(idlEnv) && utils.isStr(idlEnv)) { + const idlEnv = deepAccess(bid, 'userId.idl_env') + if (!isEmpty(idlEnv) && isStr(idlEnv)) { params['idl_env'] = idlEnv } diff --git a/modules/mwOpenLinkIdSystem.js b/modules/mwOpenLinkIdSystem.js index b2381836d5d..552223fa73c 100644 --- a/modules/mwOpenLinkIdSystem.js +++ b/modules/mwOpenLinkIdSystem.js @@ -5,7 +5,7 @@ * @requires module:modules/userId */ -import * as utils from '../src/utils.js'; +import { timestamp, logError, deepClone, generateUUID, isPlainObject } from '../src/utils.js'; import { ajax } from '../src/ajax.js'; import { submodule } from '../src/hook.js'; import { getStorageManager } from '../src/storageManager.js'; @@ -18,20 +18,20 @@ const openLinkID = { const storage = getStorageManager(); function getExpirationDate() { - return (new Date(utils.timestamp() + openLinkID.cookie_expiration)).toGMTString(); + return (new Date(timestamp() + openLinkID.cookie_expiration)).toGMTString(); } function isValidConfig(configParams) { if (!configParams) { - utils.logError('User ID - mwOlId submodule requires configParams'); + logError('User ID - mwOlId submodule requires configParams'); return false; } if (!configParams.accountId) { - utils.logError('User ID - mwOlId submodule requires accountId to be defined'); + logError('User ID - mwOlId submodule requires accountId to be defined'); return false; } if (!configParams.partnerId) { - utils.logError('User ID - mwOlId submodule requires partnerId to be defined'); + logError('User ID - mwOlId submodule requires partnerId to be defined'); return false; } return true; @@ -96,7 +96,7 @@ function register(configParams, olid) { function setID(configParams) { if (!isValidConfig(configParams)) return undefined; const mwOlId = readCookie(); - const newMwOlId = mwOlId ? utils.deepClone(mwOlId) : {eid: utils.generateUUID()}; + const newMwOlId = mwOlId ? deepClone(mwOlId) : {eid: generateUUID()}; writeCookie(newMwOlId); register(configParams, newMwOlId.eid); return { @@ -122,7 +122,7 @@ export const mwOpenLinkIdSubModule = { * @return {(Object|undefined} */ decode(mwOlId) { - const id = mwOlId && utils.isPlainObject(mwOlId) ? mwOlId.eid : undefined; + const id = mwOlId && isPlainObject(mwOlId) ? mwOlId.eid : undefined; return id ? { 'mwOpenLinkId': id } : undefined; }, diff --git a/modules/nativoBidAdapter.js b/modules/nativoBidAdapter.js index 2f63dcb45f8..f91a8b6085b 100644 --- a/modules/nativoBidAdapter.js +++ b/modules/nativoBidAdapter.js @@ -1,4 +1,4 @@ -import * as utils from '../src/utils.js'; +import { isEmpty } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; import { BANNER } from '../src/mediaTypes.js'; // import { config } from 'src/config' @@ -120,7 +120,7 @@ export const spec = { */ interpretResponse: function (response, request) { // If the bid response was empty, return [] - if (!response || !response.body || utils.isEmpty(response.body)) return [] + if (!response || !response.body || isEmpty(response.body)) return [] try { const body = @@ -216,7 +216,7 @@ export const spec = { let body serverResponses.forEach((response) => { // If the bid response was empty, return [] - if (!response || !response.body || utils.isEmpty(response.body)) { + if (!response || !response.body || isEmpty(response.body)) { return syncs } diff --git a/modules/naveggIdSystem.js b/modules/naveggIdSystem.js index c37530b4151..7bd86879e9d 100644 --- a/modules/naveggIdSystem.js +++ b/modules/naveggIdSystem.js @@ -4,7 +4,7 @@ * @module modules/naveggId * @requires module:modules/userId */ -import * as utils from '../src/utils.js' +import { isStr, isPlainObject, logError } from '../src/utils.js'; import { submodule } from '../src/hook.js'; import { getStorageManager } from '../src/storageManager.js'; @@ -58,7 +58,7 @@ export const naveggIdSubmodule = { * @return { Object | string | undefined } */ decode(value) { - const naveggIdVal = value ? utils.isStr(value) ? value : utils.isPlainObject(value) ? value.id : undefined : undefined; + const naveggIdVal = value ? isStr(value) ? value : isPlainObject(value) ? value.id : undefined : undefined; return naveggIdVal ? { 'naveggId': naveggIdVal } : undefined; @@ -81,7 +81,7 @@ export const naveggIdSubmodule = { try { return { id: naveggIdString }; } catch (error) { - utils.logError(error); + logError(error); } } return undefined; diff --git a/modules/nextMillenniumBidAdapter.js b/modules/nextMillenniumBidAdapter.js index 2101bb34e2b..d275fbf1160 100644 --- a/modules/nextMillenniumBidAdapter.js +++ b/modules/nextMillenniumBidAdapter.js @@ -1,5 +1,5 @@ +import { isStr, _each, getBidIdParameter } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; -import * as utils from '../src/utils.js'; import { BANNER } from '../src/mediaTypes.js'; const BIDDER_CODE = 'nextMillennium'; @@ -12,20 +12,20 @@ export const spec = { isBidRequestValid: function(bid) { return !!( - bid.params.placement_id && utils.isStr(bid.params.placement_id) + bid.params.placement_id && isStr(bid.params.placement_id) ); }, buildRequests: function(validBidRequests, bidderRequest) { const requests = []; - utils._each(validBidRequests, function(bid) { + _each(validBidRequests, function(bid) { const postBody = { 'id': bid.auctionId, 'ext': { 'prebid': { 'storedrequest': { - 'id': utils.getBidIdParameter('placement_id', bid.params) + 'id': getBidIdParameter('placement_id', bid.params) } } } @@ -60,8 +60,8 @@ export const spec = { const response = serverResponse.body; const bidResponses = []; - utils._each(response.seatbid, (resp) => { - utils._each(resp.bid, (bid) => { + _each(response.seatbid, (resp) => { + _each(resp.bid, (bid) => { bidResponses.push({ requestId: bidRequest.bidId, cpm: bid.price, diff --git a/modules/nobidBidAdapter.js b/modules/nobidBidAdapter.js index 619b46ecd1f..5c017852d3e 100644 --- a/modules/nobidBidAdapter.js +++ b/modules/nobidBidAdapter.js @@ -1,4 +1,4 @@ -import * as utils from '../src/utils.js'; +import { logInfo, deepAccess, logWarn, isArray, getParameterByName } from '../src/utils.js'; import { config } from '../src/config.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; import { BANNER, VIDEO } from '../src/mediaTypes.js'; @@ -14,7 +14,7 @@ window.nobid.timeoutTotal = 0; window.nobid.bidWonTotal = 0; window.nobid.refreshCount = 0; function log(msg, obj) { - utils.logInfo('-NoBid- ' + msg, obj) + logInfo('-NoBid- ' + msg, obj) } function nobidSetCookie(cname, cvalue, hours) { var d = new Date(); @@ -29,7 +29,7 @@ function nobidHasPurpose1Consent(bidderRequest) { let result = true; if (bidderRequest && bidderRequest.gdprConsent) { if (bidderRequest.gdprConsent.gdprApplies && bidderRequest.gdprConsent.apiVersion === 2) { - result = !!(utils.deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true); + result = !!(deepAccess(bidderRequest.gdprConsent, 'vendorData.purpose.consents.1') === true); } } return result; @@ -112,11 +112,11 @@ function nobidBuildRequests(bids, bidderRequest) { var height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); return `${width}x${height}`; } catch (e) { - utils.logWarn('Could not parse screen dimensions, error details:', e); + logWarn('Could not parse screen dimensions, error details:', e); } } var getEIDs = function(eids) { - if (utils.isArray(eids) && eids.length > 0) { + if (isArray(eids) && eids.length > 0) { let src = []; eids.forEach((eid) => { let ids = []; @@ -150,7 +150,7 @@ function nobidBuildRequests(bids, bidderRequest) { if (sch) state['schain'] = sch; const cop = coppa(); if (cop) state['coppa'] = cop; - const eids = getEIDs(utils.deepAccess(bids, '0.userIdAsEids')); + const eids = getEIDs(deepAccess(bids, '0.userIdAsEids')); if (eids && eids.length > 0) state['eids'] = eids; return state; } @@ -228,8 +228,8 @@ function nobidBuildRequests(bids, bidderRequest) { var placementId = bid.params['placementId']; var adType = 'banner'; - const videoMediaType = utils.deepAccess(bid, 'mediaTypes.video'); - const context = utils.deepAccess(bid, 'mediaTypes.video.context'); + const videoMediaType = deepAccess(bid, 'mediaTypes.video'); + const context = deepAccess(bid, 'mediaTypes.video.context'); if (bid.mediaType === VIDEO || (videoMediaType && (context === 'instream' || context === 'outstream'))) { adType = 'video'; } @@ -363,7 +363,7 @@ export const spec = { buildRequests: function(validBidRequests, bidderRequest) { function resolveEndpoint() { var ret = 'https://ads.servenobid.com/'; - var env = (typeof utils.getParameterByName === 'function') && (utils.getParameterByName('nobid-env')); + var env = (typeof getParameterByName === 'function') && (getParameterByName('nobid-env')); if (!env) ret = 'https://ads.servenobid.com/'; else if (env == 'beta') ret = 'https://beta.servenobid.com/'; else if (env == 'dev') ret = '//localhost:8282/'; @@ -448,7 +448,7 @@ export const spec = { } return syncs; } else { - utils.logWarn('-NoBid- Please enable iframe based user sync.', syncOptions); + logWarn('-NoBid- Please enable iframe based user sync.', syncOptions); return []; } }, diff --git a/modules/novatiqIdSystem.js b/modules/novatiqIdSystem.js index fbfa6ca8abc..4c3324d3fc0 100644 --- a/modules/novatiqIdSystem.js +++ b/modules/novatiqIdSystem.js @@ -5,7 +5,7 @@ * @requires module:modules/userId */ -import * as utils from '../src/utils.js'; +import { logInfo } from '../src/utils.js'; import { ajax } from '../src/ajax.js'; import { submodule } from '../src/hook.js'; @@ -47,22 +47,22 @@ export const novatiqIdSubmodule = { const configParams = config.params || {}; const srcId = this.getSrcId(configParams); - utils.logInfo('NOVATIQ Sync request used sourceid param: ' + srcId); + logInfo('NOVATIQ Sync request used sourceid param: ' + srcId); let partnerhost; partnerhost = window.location.hostname; - utils.logInfo('NOVATIQ partner hostname: ' + partnerhost); + logInfo('NOVATIQ partner hostname: ' + partnerhost); const novatiqId = snowflakeId(); const url = 'https://spadsync.com/sync?sptoken=' + novatiqId + '&sspid=' + srcId + '&ssphost=' + partnerhost; ajax(url, undefined, undefined, { method: 'GET', withCredentials: false }); - utils.logInfo('NOVATIQ snowflake: ' + novatiqId); + logInfo('NOVATIQ snowflake: ' + novatiqId); return { 'id': novatiqId } }, getSrcId(configParams) { - utils.logInfo('NOVATIQ Configured sourceid param: ' + configParams.sourceid); + logInfo('NOVATIQ Configured sourceid param: ' + configParams.sourceid); function isHex(str) { var a = parseInt(str, 16); @@ -72,13 +72,13 @@ export const novatiqIdSubmodule = { let srcId; if (typeof configParams.sourceid === 'undefined' || configParams.sourceid === null || configParams.sourceid === '') { srcId = '000'; - utils.logInfo('NOVATIQ sourceid param set to value 000 due to undefined parameter or missing value in config section'); + logInfo('NOVATIQ sourceid param set to value 000 due to undefined parameter or missing value in config section'); } else if (configParams.sourceid.length < 3 || configParams.sourceid.length > 3) { srcId = '001'; - utils.logInfo('NOVATIQ sourceid param set to value 001 due to wrong size in config section 3 chars max e.g. 1ab'); + logInfo('NOVATIQ sourceid param set to value 001 due to wrong size in config section 3 chars max e.g. 1ab'); } else if (isHex(configParams.sourceid) == false) { srcId = '002'; - utils.logInfo('NOVATIQ sourceid param set to value 002 due to wrong format in config section expecting hex value only'); + logInfo('NOVATIQ sourceid param set to value 002 due to wrong format in config section expecting hex value only'); } else { srcId = configParams.sourceid; } diff --git a/modules/oneVideoBidAdapter.js b/modules/oneVideoBidAdapter.js index 880f4992614..e0db143dc0f 100644 --- a/modules/oneVideoBidAdapter.js +++ b/modules/oneVideoBidAdapter.js @@ -1,4 +1,4 @@ -import * as utils from '../src/utils.js'; +import { logError, logWarn, parseSizesInput, generateUUID, isFn, logMessage, isPlainObject, isStr, isNumber, isArray } from '../src/utils.js'; import {registerBidder} from '../src/adapters/bidderFactory.js'; const BIDDER_CODE = 'oneVideo'; @@ -28,7 +28,7 @@ export const spec = { } // MediaTypes Video / Banner validation if (typeof bid.mediaTypes.video === 'undefined' && typeof bid.mediaTypes.banner === 'undefined') { - utils.logError('Failed validation: adUnit mediaTypes.video OR mediaTypes.banner not declared'); + logError('Failed validation: adUnit mediaTypes.video OR mediaTypes.banner not declared'); return false; }; @@ -36,27 +36,27 @@ export const spec = { // Player size validation if (typeof bid.mediaTypes.video.playerSize === 'undefined') { if (bid.params.video && (typeof bid.params.video.playerWidth === 'undefined' || typeof bid.params.video.playerHeight === 'undefined')) { - utils.logError('Failed validation: Player size not declared in either mediaTypes.playerSize OR bid.params.video.plauerWidth & bid.params.video.playerHeight.'); + logError('Failed validation: Player size not declared in either mediaTypes.playerSize OR bid.params.video.plauerWidth & bid.params.video.playerHeight.'); return false; }; }; // Mimes validation if (typeof bid.mediaTypes.video.mimes === 'undefined') { if (!bid.params.video || typeof bid.params.video.mimes === 'undefined') { - utils.logError('Failed validation: adUnit mediaTypes.mimes OR params.video.mimes not declared'); + logError('Failed validation: adUnit mediaTypes.mimes OR params.video.mimes not declared'); return false; }; }; // Prevend DAP Outstream validation, Banner DAP validation & Multi-Format adUnit support if (bid.mediaTypes.video.context === 'outstream' && bid.params.video && bid.params.video.display === 1) { - utils.logError('Failed validation: Dynamic Ad Placement cannot be used with context Outstream (params.video.display=1)'); + logError('Failed validation: Dynamic Ad Placement cannot be used with context Outstream (params.video.display=1)'); return false; }; }; // Publisher Id (Exchange) validation if (typeof bid.params.pubId === 'undefined') { - utils.logError('Failed validation: Adapter cannot send requests without bid.params.pubId'); + logError('Failed validation: Adapter cannot send requests without bid.params.pubId'); return false; } @@ -106,7 +106,7 @@ export const spec = { response = null; } if (!response || !bid || (!bid.adm && !bid.nurl) || !bid.price) { - utils.logWarn(`No valid bids from ${spec.code} bidder`); + logWarn(`No valid bids from ${spec.code} bidder`); return []; } size = getSize(bidRequest.sizes); @@ -172,7 +172,7 @@ export const spec = { }; function getSize(sizes) { - let parsedSizes = utils.parseSizesInput(sizes); + let parsedSizes = parseSizesInput(sizes); let [ width, height ] = parsedSizes.length ? parsedSizes[0].split('x') : []; return { width: parseInt(width, 10) || undefined, @@ -194,7 +194,7 @@ function getRequestData(bid, consentData, bidRequest) { size: '*' }; let bidData = { - id: utils.generateUUID(), + id: generateUUID(), at: 2, imp: [{ id: '1', @@ -286,7 +286,7 @@ function getRequestData(bid, consentData, bidRequest) { } } - if (utils.isFn(bid.getFloor)) { + if (isFn(bid.getFloor)) { let floorData = bid.getFloor(getFloorRequestObject); bidData.imp[0].bidfloor = floorData.floor; bidData.cur = floorData.currency; @@ -344,7 +344,7 @@ function getRequestData(bid, consentData, bidRequest) { } } if (bid.params.video.e2etest) { - utils.logMessage('E2E test mode enabled: \n The following parameters are being overridden by e2etest mode:\n* bidfloor:null\n* width:300\n* height:250\n* mimes: video/mp4, application/javascript\n* api:2\n* site.page/ref: verizonmedia.com\n* tmax:1000'); + logMessage('E2E test mode enabled: \n The following parameters are being overridden by e2etest mode:\n* bidfloor:null\n* width:300\n* height:250\n* mimes: video/mp4, application/javascript\n* api:2\n* site.page/ref: verizonmedia.com\n* tmax:1000'); bidData.imp[0].bidfloor = null; bidData.imp[0].video.w = 300; bidData.imp[0].video.h = 250; @@ -354,15 +354,15 @@ function getRequestData(bid, consentData, bidRequest) { bidData.site.ref = 'https://verizonmedia.com'; bidData.tmax = 1000; } - if (bid.params.video.custom && utils.isPlainObject(bid.params.video.custom)) { + if (bid.params.video.custom && isPlainObject(bid.params.video.custom)) { bidData.imp[0].ext.custom = {}; for (const key in bid.params.video.custom) { - if (utils.isStr(bid.params.video.custom[key]) || utils.isNumber(bid.params.video.custom[key])) { + if (isStr(bid.params.video.custom[key]) || isNumber(bid.params.video.custom[key])) { bidData.imp[0].ext.custom[key] = bid.params.video.custom[key]; } } } - if (bid.params.video.content && utils.isPlainObject(bid.params.video.content)) { + if (bid.params.video.content && isPlainObject(bid.params.video.content)) { bidData.site.content = {}; const contentStringKeys = ['id', 'title', 'series', 'season', 'genre', 'contentrating', 'language']; const contentNumberkeys = ['episode', 'prodq', 'context', 'livestream', 'len']; @@ -370,14 +370,14 @@ function getRequestData(bid, consentData, bidRequest) { const contentObjectKeys = ['ext']; for (const contentKey in bid.params.video.content) { if ( - (contentStringKeys.indexOf(contentKey) > -1 && utils.isStr(bid.params.video.content[contentKey])) || - (contentNumberkeys.indexOf(contentKey) > -1 && utils.isNumber(bid.params.video.content[contentKey])) || - (contentObjectKeys.indexOf(contentKey) > -1 && utils.isPlainObject(bid.params.video.content[contentKey])) || - (contentArrayKeys.indexOf(contentKey) > -1 && utils.isArray(bid.params.video.content[contentKey]) && - bid.params.video.content[contentKey].every(catStr => utils.isStr(catStr)))) { + (contentStringKeys.indexOf(contentKey) > -1 && isStr(bid.params.video.content[contentKey])) || + (contentNumberkeys.indexOf(contentKey) > -1 && isNumber(bid.params.video.content[contentKey])) || + (contentObjectKeys.indexOf(contentKey) > -1 && isPlainObject(bid.params.video.content[contentKey])) || + (contentArrayKeys.indexOf(contentKey) > -1 && isArray(bid.params.video.content[contentKey]) && + bid.params.video.content[contentKey].every(catStr => isStr(catStr)))) { bidData.site.content[contentKey] = bid.params.video.content[contentKey]; } else { - utils.logMessage('oneVideo bid adapter validation error: ', contentKey, ' is either not supported is OpenRTB V2.5 or value is undefined'); + logMessage('oneVideo bid adapter validation error: ', contentKey, ' is either not supported is OpenRTB V2.5 or value is undefined'); } } } diff --git a/modules/onomagicBidAdapter.js b/modules/onomagicBidAdapter.js index 548c0170c05..25b0f1a5934 100644 --- a/modules/onomagicBidAdapter.js +++ b/modules/onomagicBidAdapter.js @@ -1,4 +1,4 @@ -import * as utils from '../src/utils.js'; +import { getBidIdParameter, _each, isArray, getWindowTop, getUniqueIdentifierStr, parseUrl, logError, logWarn, createTrackPixelHtml, getWindowSelf, isFn, isPlainObject } from '../src/utils.js'; import { registerBidder } from '../src/adapters/bidderFactory.js'; import { BANNER } from '../src/mediaTypes.js'; import { config } from '../src/config.js'; @@ -22,17 +22,17 @@ function buildRequests(bidReqs, bidderRequest) { referrer = bidderRequest.refererInfo.referer; } const onomagicImps = []; - const publisherId = utils.getBidIdParameter('publisherId', bidReqs[0].params); - utils._each(bidReqs, function (bid) { + const publisherId = getBidIdParameter('publisherId', bidReqs[0].params); + _each(bidReqs, function (bid) { let bidSizes = (bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes) || bid.sizes; - bidSizes = ((utils.isArray(bidSizes) && utils.isArray(bidSizes[0])) ? bidSizes : [bidSizes]); - bidSizes = bidSizes.filter(size => utils.isArray(size)); + bidSizes = ((isArray(bidSizes) && isArray(bidSizes[0])) ? bidSizes : [bidSizes]); + bidSizes = bidSizes.filter(size => isArray(size)); const processedSizes = bidSizes.map(size => ({w: parseInt(size[0], 10), h: parseInt(size[1], 10)})); const element = document.getElementById(bid.adUnitCode); const minSize = _getMinSize(processedSizes); const viewabilityAmount = _isViewabilityMeasurable(element) - ? _getViewability(element, utils.getWindowTop(), minSize) + ? _getViewability(element, getWindowTop(), minSize) : 'na'; const viewabilityAmountRounded = isNaN(viewabilityAmount) ? viewabilityAmount : Math.round(viewabilityAmount); @@ -53,10 +53,10 @@ function buildRequests(bidReqs, bidderRequest) { onomagicImps.push(imp); }); const onomagicBidReq = { - id: utils.getUniqueIdentifierStr(), + id: getUniqueIdentifierStr(), imp: onomagicImps, site: { - domain: utils.parseUrl(referrer).host, + domain: parseUrl(referrer).host, page: referrer, publisher: { id: publisherId @@ -77,7 +77,7 @@ function buildRequests(bidReqs, bidderRequest) { options: {contentType: 'text/plain', withCredentials: false} }; } catch (e) { - utils.logError(e, {bidReqs, bidderRequest}); + logError(e, {bidReqs, bidderRequest}); } } @@ -95,7 +95,7 @@ function isBidRequestValid(bid) { function interpretResponse(serverResponse) { if (!serverResponse.body || typeof serverResponse.body != 'object') { - utils.logWarn('Onomagic server returned empty/non-json response: ' + JSON.stringify(serverResponse.body)); + logWarn('Onomagic server returned empty/non-json response: ' + JSON.stringify(serverResponse.body)); return []; } const { body: {id, seatbid} } = serverResponse; @@ -126,7 +126,7 @@ function interpretResponse(serverResponse) { } return onomagicBidResponses; } catch (e) { - utils.logError(e, {id, seatbid}); + logError(e, {id, seatbid}); } } @@ -150,7 +150,7 @@ function _getDeviceType() { function _getAdMarkup(bid) { let adm = bid.adm; if ('nurl' in bid) { - adm += utils.createTrackPixelHtml(bid.nurl); + adm += createTrackPixelHtml(bid.nurl); } return adm; } @@ -160,14 +160,14 @@ function _isViewabilityMeasurable(element) { } function _getViewability(element, topWin, { w, h } = {}) { - return utils.getWindowTop().document.visibilityState === 'visible' + return getWindowTop().document.visibilityState === 'visible' ? _getPercentInView(element, topWin, { w, h }) : 0; } function _isIframe() { try { - return utils.getWindowSelf() !== utils.getWindowTop(); + return getWindowSelf() !== getWindowTop(); } catch (e) { return true; } @@ -247,7 +247,7 @@ function _getPercentInView(element, topWin, { w, h } = {}) { } function _getBidFloor(bid) { - if (!utils.isFn(bid.getFloor)) { + if (!isFn(bid.getFloor)) { return bid.params.bidFloor ? bid.params.bidFloor : null; } @@ -256,7 +256,7 @@ function _getBidFloor(bid) { mediaType: '*', size: '*' }); - if (utils.isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') { + if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') { return floor.floor; } return null;