@@ -53,29 +53,37 @@ local function getDesc(lang, desc)
5353 return locale [id ]
5454end
5555
56- local function buildType (md , lang , conf )
57- md :add (' md' , ' ## type' )
56+ local function view (conf )
5857 if type (conf .type ) == ' table' then
59- md :add (' ts' , (' %s | %s' ):format (conf .type [1 ], conf .type [2 ]))
58+ local subViews = {}
59+ for i = 1 , # conf .type do
60+ subViews [i ] = conf .type [i ]
61+ end
62+ return table.concat (subViews , ' | ' )
6063 elseif conf .type == ' array' then
61- md : add ( ' ts ' , (' Array<%s>' ):format (conf .items . type ))
64+ return (' Array<%s>' ):format (view ( conf .items ))
6265 elseif conf .type == ' object' then
6366 if conf .properties then
6467 local _ , first = next (conf .properties )
6568 assert (first )
66- md : add ( ' ts ' , (' object<string, %s>' ):format (first . type ))
69+ return (' object<string, %s>' ):format (view ( first ))
6770 elseif conf .patternProperties then
6871 local _ , first = next (conf .patternProperties )
6972 assert (first )
70- md : add ( ' ts ' , (' Object<string, %s>' ):format (first . type ))
73+ return (' Object<string, %s>' ):format (view ( first ))
7174 else
72- md : add ( ' ts ' , ' **Unknown object type!!**' )
75+ return ' **Unknown object type!!**'
7376 end
7477 else
75- md : add ( ' ts ' , ( ' %s ' ): format ( conf .type ) )
78+ return tostring ( conf .type )
7679 end
7780end
7881
82+ local function buildType (md , lang , conf )
83+ md :add (' md' , ' ## type' )
84+ md :add (' ts' , view (conf ))
85+ end
86+
7987local function buildDesc (md , lang , conf )
8088 local desc = conf .markdownDescription or conf .description
8189 desc = getDesc (lang , desc )
0 commit comments