1
- import openApiNamespace , { OpenApi3_1Element } from 'apidom-ns-openapi-3-1' ;
1
+ import { propOr , omit } from 'ramda' ;
2
+ import { ParseResultElement , isObjectElement , createNamespace } from 'apidom' ;
2
3
// @ts -ignore
3
4
import { parse as parseJson } from 'apidom-parser-adapter-json' ;
4
- import { ParseResultElement , isObjectElement , createNamespace } from 'apidom' ;
5
+ import openApiNamespace , { OpenApi3_1Element } from 'apidom-ns-openapi-3-1 ' ;
5
6
6
7
export const mediaTypes = [
7
8
'application/vnd.oai.openapi;version=3.1.0' ,
@@ -15,11 +16,13 @@ export const parse = async (
15
16
source : string ,
16
17
options : Record < string , unknown > = { } ,
17
18
) : Promise < ParseResultElement > => {
18
- const parseResultElement = await parseJson ( source , options ) ;
19
+ const refractorOpts = propOr ( { } , 'refractorOpts' ) ;
20
+ const parserOpts = omit ( [ 'refractorOpts' ] , options ) ;
21
+ const parseResultElement = await parseJson ( source , parserOpts ) ;
19
22
20
23
// refract first element in parse result into OpenApi3_1 element
21
24
if ( isObjectElement ( parseResultElement . get ( 0 ) ) ) {
22
- const openApiElement = OpenApi3_1Element . refract ( parseResultElement . get ( 0 ) ) ;
25
+ const openApiElement = OpenApi3_1Element . refract ( parseResultElement . get ( 0 ) , refractorOpts ) ;
23
26
parseResultElement . set ( 0 , openApiElement ) ;
24
27
}
25
28
0 commit comments