1
- import { deepAccess , deepSetValue , isArray , logError , logWarn , parseUrl , triggerPixel } from '../src/utils.js' ;
1
+ import { deepSetValue , isArray , logError , logWarn , parseUrl , triggerPixel } from '../src/utils.js' ;
2
2
import { registerBidder } from '../src/adapters/bidderFactory.js' ;
3
3
import { BANNER , NATIVE , VIDEO } from '../src/mediaTypes.js' ;
4
4
import { getStorageManager } from '../src/storageManager.js' ;
@@ -92,7 +92,7 @@ function imp(buildImp, bidRequest, context) {
92
92
}
93
93
deepSetValue ( imp , 'video.ext' , {
94
94
context : bidRequest . mediaTypes . video . context ,
95
- playersizes : parseSizes ( deepAccess ( bidRequest , ' mediaTypes.video.playerSize' ) , parseSize ) ,
95
+ playersizes : parseSizes ( bidRequest ?. mediaTypes ? .video ? .playerSize , parseSize ) ,
96
96
plcmt : bidRequest . mediaTypes . video . plcmt ,
97
97
poddur : bidRequest . mediaTypes . video . adPodDurationSec ,
98
98
rqddurs : bidRequest . mediaTypes . video . durationRangeSec ,
@@ -156,7 +156,7 @@ function request(buildRequest, imps, bidderRequest, context) {
156
156
* @returns {* }
157
157
*/
158
158
function bidResponse ( buildBidResponse , bid , context ) {
159
- context . mediaType = deepAccess ( bid , ' ext.mediatype' ) ;
159
+ context . mediaType = bid ?. ext ? .mediatype ;
160
160
if ( context . mediaType === NATIVE && typeof bid . adm_native !== 'undefined' ) {
161
161
bid . adm = bid . adm_native ;
162
162
delete bid . adm_native ;
@@ -165,22 +165,22 @@ function bidResponse(buildBidResponse, bid, context) {
165
165
let bidResponse = buildBidResponse ( bid , context ) ;
166
166
const { bidRequest} = context ;
167
167
168
- bidResponse . currency = deepAccess ( bid , ' ext.cur' )
168
+ bidResponse . currency = bid ?. ext ? .cur ;
169
169
170
- if ( typeof deepAccess ( bid , ' ext.meta' ) !== 'undefined' ) {
170
+ if ( typeof bid ?. ext ? .meta !== 'undefined' ) {
171
171
deepSetValue ( bidResponse , 'meta' , {
172
172
...bidResponse . meta ,
173
173
...bid . ext . meta
174
174
} ) ;
175
175
}
176
- if ( typeof deepAccess ( bid , ' ext.paf.content_id' ) !== 'undefined' ) {
176
+ if ( typeof bid ?. ext ? .paf ? .content_id !== 'undefined' ) {
177
177
deepSetValue ( bidResponse , 'meta.paf.content_id' , bid . ext . paf . content_id )
178
178
}
179
179
180
180
if ( bidResponse . mediaType === VIDEO ) {
181
181
bidResponse . vastUrl = bid . ext ?. displayurl ;
182
182
// if outstream video, add a default render for it.
183
- if ( deepAccess ( bidRequest , ' mediaTypes.video.context' ) === OUTSTREAM ) {
183
+ if ( bidRequest ?. mediaTypes ? .video ? .context === OUTSTREAM ) {
184
184
bidResponse . renderer = createOutstreamVideoRenderer ( bid ) ;
185
185
}
186
186
}
@@ -200,9 +200,9 @@ function bidResponse(buildBidResponse, bid, context) {
200
200
function response ( buildResponse , bidResponses , ortbResponse , context ) {
201
201
let response = buildResponse ( bidResponses , ortbResponse , context ) ;
202
202
203
- const pafTransmission = deepAccess ( ortbResponse , ' ext.paf.transmission' ) ;
203
+ const pafTransmission = ortbResponse ?. ext ? .paf ? .transmission ;
204
204
response . bids . forEach ( bid => {
205
- if ( typeof pafTransmission !== 'undefined' && typeof deepAccess ( bid , ' meta.paf.content_id' ) !== 'undefined' ) {
205
+ if ( typeof pafTransmission !== 'undefined' && typeof bid ?. meta ? .paf ? .content_id !== 'undefined' ) {
206
206
deepSetValue ( bid , 'meta.paf.transmission' , pafTransmission ) ;
207
207
} else {
208
208
delete bid . meta . paf ;
@@ -362,7 +362,7 @@ export const spec = {
362
362
// We support native request without assets requirements because we can fill them later on.
363
363
// This is a trick to fool oRTB converter isOpenRTBBidRequestValid(ortb) fn because it needs
364
364
// nativeOrtbRequest.assets to be non-empty.
365
- if ( deepAccess ( bidRequest , ' nativeOrtbRequest.assets' ) == null ) {
365
+ if ( bidRequest ?. nativeOrtbRequest ? .assets == null ) {
366
366
logWarn ( LOG_PREFIX + 'native asset requirements are missing' ) ;
367
367
deepSetValue ( bidRequest , 'nativeOrtbRequest.assets' , [ { } ] ) ;
368
368
}
@@ -391,7 +391,7 @@ export const spec = {
391
391
const interpretedResponse = CONVERTER . fromORTB ( { response : response . body , request : request . data } ) ;
392
392
const bids = interpretedResponse . bids || [ ] ;
393
393
394
- const fledgeAuctionConfigs = deepAccess ( response . body , ' ext.igi' ) ?. filter ( igi => isArray ( igi ?. igs ) )
394
+ const fledgeAuctionConfigs = response . body ?. ext ? .igi ?. filter ( igi => isArray ( igi ?. igs ) )
395
395
. flatMap ( igi => igi . igs ) ;
396
396
if ( fledgeAuctionConfigs ?. length ) {
397
397
return {
@@ -548,11 +548,11 @@ function parseSize(size) {
548
548
}
549
549
550
550
function hasVideoMediaType ( bidRequest ) {
551
- return deepAccess ( bidRequest , ' mediaTypes.video' ) !== undefined ;
551
+ return bidRequest ?. mediaTypes ? .video !== undefined ;
552
552
}
553
553
554
554
function hasNativeMediaType ( bidRequest ) {
555
- return deepAccess ( bidRequest , ' mediaTypes.native' ) !== undefined ;
555
+ return bidRequest ?. mediaTypes ? .native !== undefined ;
556
556
}
557
557
558
558
function hasValidVideoMediaType ( bidRequest ) {
@@ -562,12 +562,12 @@ function hasValidVideoMediaType(bidRequest) {
562
562
563
563
requiredMediaTypesParams . forEach ( function ( param ) {
564
564
if ( param === 'placement' ) {
565
- if ( deepAccess ( bidRequest , ' mediaTypes.video.' + param ) === undefined && deepAccess ( bidRequest , ' params.video.' + param ) === undefined && deepAccess ( bidRequest , ' mediaTypes.video.plcmt' ) === undefined && deepAccess ( bidRequest , ' params.video.plcmt' ) === undefined ) {
565
+ if ( bidRequest ?. mediaTypes ? .video ?. [ param ] === undefined && bidRequest ?. params ? .video ?. [ param ] === undefined && bidRequest ?. mediaTypes ? .video ? .plcmt === undefined && bidRequest ?. params ? .video ? .plcmt === undefined ) {
566
566
isValid = false ;
567
567
logError ( 'Criteo Bid Adapter: mediaTypes.video.' + param + ' or mediaTypes.video.plcmt is required' ) ;
568
568
}
569
569
} else {
570
- if ( deepAccess ( bidRequest , ' mediaTypes.video.' + param ) === undefined && deepAccess ( bidRequest , ' params.video.' + param ) === undefined ) {
570
+ if ( bidRequest ?. mediaTypes ? .video ?. [ param ] === undefined && bidRequest ?. params ? .video ?. [ param ] === undefined ) {
571
571
isValid = false ;
572
572
logError ( 'Criteo Bid Adapter: mediaTypes.video.' + param + ' is required' ) ;
573
573
}
@@ -604,13 +604,13 @@ function getFloors(bidRequest) {
604
604
if ( getFloor ) {
605
605
if ( bidRequest . mediaTypes ?. banner ) {
606
606
floors . banner = { } ;
607
- const bannerSizes = parseSizes ( deepAccess ( bidRequest , ' mediaTypes.banner.sizes' ) )
607
+ const bannerSizes = parseSizes ( bidRequest ?. mediaTypes ? .banner ? .sizes )
608
608
bannerSizes . forEach ( bannerSize => floors . banner [ parseSize ( bannerSize ) . toString ( ) ] = getFloor . call ( bidRequest , { size : bannerSize , mediaType : BANNER } ) ) ;
609
609
}
610
610
611
611
if ( bidRequest . mediaTypes ?. video ) {
612
612
floors . video = { } ;
613
- const videoSizes = parseSizes ( deepAccess ( bidRequest , ' mediaTypes.video.playerSize' ) )
613
+ const videoSizes = parseSizes ( bidRequest ?. mediaTypes ? .video ? .playerSize )
614
614
videoSizes . forEach ( videoSize => floors . video [ parseSize ( videoSize ) . toString ( ) ] = getFloor . call ( bidRequest , { size : videoSize , mediaType : VIDEO } ) ) ;
615
615
}
616
616
0 commit comments