@@ -79,11 +79,13 @@ function encode_map.table(t)
7979 statusBuilder [# statusBuilder + 1 ] = " {"
8080 statusDep = statusDep + 1
8181 encode_newline ()
82- local k = key [1 ]
83- statusBuilder [# statusBuilder + 1 ] = ' "'
84- statusBuilder [# statusBuilder + 1 ] = encode_string (k )
85- statusBuilder [# statusBuilder + 1 ] = ' ": '
86- encode (t [k ])
82+ do
83+ local k = key [1 ]
84+ statusBuilder [# statusBuilder + 1 ] = ' "'
85+ statusBuilder [# statusBuilder + 1 ] = encode_string (k )
86+ statusBuilder [# statusBuilder + 1 ] = ' ": '
87+ encode (t [k ])
88+ end
8789 for i = 2 , # key do
8890 local k = key [i ]
8991 statusBuilder [# statusBuilder + 1 ] = " ,"
@@ -154,16 +156,21 @@ local function beautify_option(option)
154156 return setmetatable (option or {}, defaultOpt )
155157end
156158
157- local function beautify ( v , option )
159+ local function beautify_builder ( builder , v , option )
158160 statusVisited = {}
159- statusBuilder = {}
161+ statusBuilder = builder
160162 statusOpt = beautify_option (option )
161163 statusDep = statusOpt .depth
162164 encode (v )
165+ end
166+
167+ local function beautify (v , option )
168+ beautify_builder ({}, v , option )
163169 return table_concat (statusBuilder )
164170end
165171
166172json .beautify = beautify
167- json .beautify_option = beautify_option
173+ json ._beautify_builder = beautify_builder
174+ json ._beautify_option = beautify_option
168175
169176return json
0 commit comments