@@ -237,6 +237,7 @@ export class DefaultValidationService implements ValidationService {
237
237
: 'https://smartbear.com/' ;
238
238
const apiReference = new Reference ( { uri : baseURI , value : cloneDeep ( result ) ! } ) ;
239
239
const cachedParsers = options . parse . parsers . map ( DefaultValidationService . createCachedParser ) ;
240
+ const { referenceOptions } = this . settings || { } ;
240
241
241
242
for ( const [ fragmentId , refEl ] of refElements . entries ( ) ) {
242
243
const referenceElementReference = new Reference ( {
@@ -248,14 +249,17 @@ export class DefaultValidationService implements ValidationService {
248
249
try {
249
250
const promise = dereferenceApiDOM ( refEl , {
250
251
resolve : {
252
+ ...( referenceOptions ?. resolve ?? { } ) ,
251
253
baseURI : `${ baseURI } #reference${ fragmentId } ` ,
252
254
external : ! toValue ( ( refEl as ObjectElement ) . get ( '$ref' ) ) . startsWith ( '#' ) ,
253
255
} ,
254
256
parse : {
257
+ ...( referenceOptions ?. parse ?? { } ) ,
255
258
parsers : cachedParsers ,
256
259
mediaType : nameSpace . mediaType ,
257
260
} ,
258
261
dereference : {
262
+ ...( referenceOptions ?. dereference ?? { } ) ,
259
263
refSet,
260
264
immutable : false ,
261
265
} ,
@@ -339,6 +343,7 @@ export class DefaultValidationService implements ValidationService {
339
343
: 'https://smartbear.com/' ;
340
344
const apiReference = new Reference ( { uri : baseURI , value : cloneDeep ( result ) } ) ;
341
345
const cachedParsers = options . parse . parsers . map ( DefaultValidationService . createCachedParser ) ;
346
+ const { referenceOptions } = this . settings || { } ;
342
347
343
348
for ( const [ fragmentId , refEl ] of refElements . entries ( ) ) {
344
349
const referenceElementReference = new Reference ( {
@@ -351,14 +356,17 @@ export class DefaultValidationService implements ValidationService {
351
356
// eslint-disable-next-line no-await-in-loop
352
357
await dereferenceApiDOM ( refEl , {
353
358
resolve : {
359
+ ...( referenceOptions ?. resolve ?? { } ) ,
354
360
baseURI : `${ baseURI } #reference${ fragmentId } ` ,
355
361
external : ! toValue ( ( refEl as ObjectElement ) . get ( '$ref' ) ) . startsWith ( '#' ) ,
356
362
} ,
357
363
parse : {
364
+ ...( referenceOptions ?. parse ?? { } ) ,
358
365
mediaType : nameSpace . mediaType ,
359
366
parsers : cachedParsers ,
360
367
} ,
361
368
dereference : {
369
+ ...( referenceOptions ?. dereference ?? { } ) ,
362
370
refSet,
363
371
immutable : false ,
364
372
} ,
0 commit comments