@@ -5,6 +5,34 @@ const getFakerLocale = require('../utils/get-faker-locale');
55
66const faker = getFakerLocale ( ) ;
77
8+ const FORMAT_EXAMPLES = {
9+ date : '2023-11-17' ,
10+ time : '14:30:00Z' ,
11+ 'date-time' : '2023-11-17T14:30:00Z' ,
12+ 'iso-time' : '14:30:00Z' ,
13+ 'iso-date-time' : '2023-11-17T14:30:00Z' ,
14+ duration : 'PT2H30M' ,
15+ uri : 'https://www.example.com' ,
16+ 'uri-reference' : 'https://www.example.com/resource' ,
17+ 'uri-template' : 'https://www.example.com/{id}' ,
18+ url : 'https://www.example.com' ,
19+ email : 'example@email.com' ,
20+ hostname : 'www.example.com' ,
21+ ipv4 : '192.168.0.1' ,
22+ ipv6 : '2001:0db8:85a3:0000:0000:8a2e:0370:7334' ,
23+ regex : '^\\d{3}-\\d{2}-\\d{4}$' ,
24+ uuid : '550e8400-e29b-41d4-a716-446655440000' ,
25+ 'json-pointer' : '/path/to/resource' ,
26+ 'relative-json-pointer' : '2/foo' ,
27+ byte : 'SGVsbG8gd29ybGQ=' ,
28+ int32 : 123 ,
29+ int64 : 9223372036854776000 ,
30+ float : 3.14 ,
31+ double : 2.718281828459045 ,
32+ password : 'P@ssw0rd' ,
33+ binary : '01001000 01100101 01101100 01101100 01101111'
34+ } ;
35+
836class ResponseGenerator {
937
1038 static generate ( schemaResponse , preferredExampleName ) {
@@ -134,16 +162,16 @@ class ResponseGenerator {
134162 } ) , { } ) ;
135163 }
136164
137- static generateString ( ) {
138- return 'string' ;
165+ static generateString ( { format } ) {
166+ return FORMAT_EXAMPLES [ format ] || 'string' ;
139167 }
140168
141- static generateNumber ( ) {
142- return 1 ;
169+ static generateNumber ( { format } ) {
170+ return FORMAT_EXAMPLES [ format ] || 1 ;
143171 }
144172
145- static generateInteger ( ) {
146- return 1 ;
173+ static generateInteger ( { format } ) {
174+ return FORMAT_EXAMPLES [ format ] || 1 ;
147175 }
148176
149177 static generateBoolean ( ) {
0 commit comments