@@ -62,79 +62,81 @@ module.exports = function() {
6262 }
6363
6464 function extractVariablesFromString ( numerateItem , string , items , itemKeys , id , isUserToken , queryParams = [ ] ) {
65- const re = / \{ \{ ( .* ?) \} \} / g
66- const newItems = string . match ( re )
67- for ( let i in newItems ) {
68- newItems [ i ] = newItems [ i ] . substring ( 0 , newItems [ i ] . length - 2 ) . substring ( 2 ) ;
69- if ( _ . includes ( [ 'host' , 'port' , 'basePath' ] , newItems [ i ] ) ) {
70- continue ;
71- }
72- let key = isUserToken ? newItems [ i ] : numerateItem + newItems [ i ] ;
73- if ( ! _ . includes ( itemKeys , key ) ) {
74- let value = typeof global . environmentVariables [ id + newItems [ i ] ] !== 'undefined' ? global . environmentVariables [ id + newItems [ i ] ] : '' ;
75- if ( newItems [ i ] . includes ( '_not_found' ) ) {
76- value = require ( '../utils/exampleForField.js' ) (
77- {
78- name : newItems [ i ] ,
79- type : 'string' ,
80- example : value
81- } ,
82- true
83- ) ;
65+ if ( string ) {
66+ const re = / \{ \{ ( .* ?) \} \} / g
67+ const newItems = string . match ( re )
68+ for ( let i in newItems ) {
69+ newItems [ i ] = newItems [ i ] . substring ( 0 , newItems [ i ] . length - 2 ) . substring ( 2 ) ;
70+ if ( _ . includes ( [ 'host' , 'port' , 'basePath' ] , newItems [ i ] ) ) {
71+ continue ;
8472 }
85- if ( queryParams . length > 0 && queryParams . filter ( s => s . example !== 'application/pdf' ) ) {
86- if ( ! ! queryParams . find ( s => s . name === newItems [ i ] ) ) {
87- const queryItem = queryParams . find ( s => s . name === newItems [ i ] ) ;
88- const exampleExist = ! ! queryItem ;
89- value = require ( '../utils/exampleForField.js' ) (
90- {
91- name : newItems [ i ] ,
92- type : queryItem . type ,
93- example : validExample ( queryItem ) ,
94- } ,
95- ! exampleExist
96- ) ;
97- }
98- if ( newItems [ i ] . includes ( '_wrong' ) ) {
99- const queryItem = queryParams . find ( s => s . name === newItems [ i ] . replace ( '_wrong' , '' ) ) ;
100- value = require ( '../utils/exampleForField.js' ) (
73+ let key = isUserToken ? newItems [ i ] : numerateItem + newItems [ i ] ;
74+ if ( ! _ . includes ( itemKeys , key ) ) {
75+ let value = typeof global . environmentVariables [ id + newItems [ i ] ] !== 'undefined' ? global . environmentVariables [ id + newItems [ i ] ] : '' ;
76+ if ( newItems [ i ] . includes ( '_not_found' ) ) {
77+ value = require ( '../utils/exampleForField.js' ) (
10178 {
10279 name : newItems [ i ] ,
103- type : queryItem . type ,
104- example : validExample ( queryItem ) ,
80+ type : 'string' ,
81+ example : value
10582 } ,
10683 true
10784 ) ;
10885 }
109- }
110- // Cuando la variable is_inline del fichero de configuración no diga lo contrario,
111- // se guardarán las variables de entorno
112- if ( ! global . configurationFile . is_inline || isUserToken ) {
113- items . push ( {
114- "description" : {
115- "content" : "" ,
116- "type" : "text/plain"
117- } ,
118- "value" : value ,
119- "key" : key ,
120- "enabled" : true
121- } ) ;
122- itemKeys . push ( key ) ;
123- string = string . replace ( '{{' + newItems [ i ] + '}}' , '{{' + key + '}}' ) ;
86+ if ( queryParams . length > 0 && queryParams . filter ( s => s . example !== 'application/pdf' ) ) {
87+ if ( ! ! queryParams . find ( s => s . name === newItems [ i ] ) ) {
88+ const queryItem = queryParams . find ( s => s . name === newItems [ i ] ) ;
89+ const exampleExist = ! ! queryItem ;
90+ value = require ( '../utils/exampleForField.js' ) (
91+ {
92+ name : newItems [ i ] ,
93+ type : queryItem . type ,
94+ example : validExample ( queryItem ) ,
95+ } ,
96+ ! exampleExist
97+ ) ;
98+ }
99+ if ( newItems [ i ] . includes ( '_wrong' ) ) {
100+ const queryItem = queryParams . find ( s => s . name === newItems [ i ] . replace ( '_wrong' , '' ) ) ;
101+ value = require ( '../utils/exampleForField.js' ) (
102+ {
103+ name : newItems [ i ] ,
104+ type : queryItem . type ,
105+ example : validExample ( queryItem ) ,
106+ } ,
107+ true
108+ ) ;
109+ }
110+ }
111+ // Cuando la variable is_inline del fichero de configuración no diga lo contrario,
112+ // se guardarán las variables de entorno
113+ if ( ! global . configurationFile . is_inline || isUserToken ) {
114+ items . push ( {
115+ "description" : {
116+ "content" : "" ,
117+ "type" : "text/plain"
118+ } ,
119+ "value" : value ,
120+ "key" : key ,
121+ "enabled" : true
122+ } ) ;
123+ itemKeys . push ( key ) ;
124+ string = string . replace ( '{{' + newItems [ i ] + '}}' , '{{' + key + '}}' ) ;
125+ } else {
126+ // Se añade el valor del campo en el propio objeto de la petición
127+ if ( typeof value !== 'string' ) {
128+ string = string . replace ( `"{{${ newItems [ i ] } }}"` , value ) ;
129+ }
130+ string = string . replace ( `{{${ newItems [ i ] } }}` , value ) ;
131+ }
124132 } else {
125- // Se añade el valor del campo en el propio objeto de la petición
126- if ( typeof value !== 'string' ) {
127- string = string . replace ( `"{{${ newItems [ i ] } }}"` , value ) ;
133+ if ( ! global . configurationFile . is_inline || isUserToken ) {
134+ string = string . replace ( '{{' + newItems [ i ] + '}}' , '{{' + key + '}}' ) ;
128135 }
129- string = string . replace ( `{{${ newItems [ i ] } }}` , value ) ;
130- }
131- } else {
132- if ( ! global . configurationFile . is_inline || isUserToken ) {
133- string = string . replace ( '{{' + newItems [ i ] + '}}' , '{{' + key + '}}' ) ;
134136 }
135137 }
138+ return string ;
136139 }
137- return string ;
138140 }
139141 function extractVariablesFromTest ( aux , execCode , numerateItem , items ) {
140142 if ( global . configurationFile . schema_is_inline === false ) {
0 commit comments