@@ -11,31 +11,37 @@ class GetFromBodyParamTag extends GetFieldsFromTagStrategy
1111 public function parseTag (string $ tagContent ): array
1212 {
1313 // Format:
14- // @bodyParam <name> <type> <"required" (optional)> <description>
14+ // @bodyParam <name> <type> <"required" (optional)> <"deprecated" (optional)> < description>
1515 // Examples:
1616 // @bodyParam text string required The text.
1717 // @bodyParam user_id integer The ID of the user.
18- preg_match ('/(.+?)\s+(.+?)\s+(required\s+)?([\s\S]*)/ ' , $ tagContent , $ parsedContent );
18+ // @bodyParam status string required deprecated Use `is_active` instead.
19+ preg_match ('/(.+?)\s+(.+?)\s+(required\s+)?(deprecated\s+)?([\s\S]*)/ ' , $ tagContent , $ parsedContent );
1920
2021 if (empty ($ parsedContent )) {
2122 // This means only name and type were supplied
2223 [$ name , $ type ] = preg_split ('/\s+/ ' , $ tagContent );
2324 $ required = false ;
25+ $ deprecated = false ;
2426 $ description = '' ;
2527 } else {
26- [$ _ , $ name , $ type , $ required , $ description ] = $ parsedContent ;
28+ [$ _ , $ name , $ type , $ required , $ deprecated , $ description ] = $ parsedContent ;
2729 $ description = trim (str_replace (['No-example. ' , 'No-example ' ], '' , $ description ));
2830 if ($ description == 'required ' ) {
2931 $ required = $ description ;
3032 $ description = '' ;
33+ } elseif ($ description == 'deprecated ' ) {
34+ $ deprecated = $ description ;
35+ $ description = '' ;
3136 }
3237 $ required = trim ($ required ) === 'required ' ;
38+ $ deprecated = trim ($ deprecated ) === 'deprecated ' ;
3339 }
3440
3541 $ type = static ::normalizeTypeName ($ type );
3642 [$ description , $ example , $ enumValues , $ exampleWasSpecified ] =
3743 $ this ->getDescriptionAndExample ($ description , $ type , $ tagContent , $ name );
3844
39- return compact ('name ' , 'type ' , 'description ' , 'required ' , 'example ' , 'enumValues ' , 'exampleWasSpecified ' );
45+ return compact ('name ' , 'type ' , 'description ' , 'required ' , 'deprecated ' , ' example ' , 'enumValues ' , 'exampleWasSpecified ' );
4046 }
4147}
0 commit comments