@@ -207,23 +207,15 @@ def generate_typescript_defs(
207
207
208
208
logger .info ("Generating JSON schema from pydantic models..." )
209
209
210
- schema = _generate_json_schema (models )
211
210
schema_dir = Path (mkdtemp ())
212
- schema_file_path = schema_dir .joinpath ("schema.json" )
213
- schema_file_path .write_text (schema )
211
+ schema_file = schema_dir .joinpath ("schema.json" )
212
+ schema_file .write_text (_generate_json_schema ( models ) )
214
213
215
214
logger .info ("Converting JSON schema to typescript definitions..." )
216
215
217
216
json2ts_result = subprocess .run (
218
- [
219
- * shlex .split (json2ts_cmd ),
220
- "-i" ,
221
- schema_file_path ,
222
- "-o" ,
223
- output ,
224
- "--banner-comment" ,
225
- "" ,
226
- ]
217
+ f'{ json2ts_cmd } -i { str (schema_file )} -o { output } --bannerComment ""' ,
218
+ shell = True ,
227
219
)
228
220
229
221
shutil .rmtree (schema_dir )
@@ -243,7 +235,7 @@ def _parse_cli_args(args: List[str] = None) -> argparse.Namespace:
243
235
"""
244
236
parser = argparse .ArgumentParser (
245
237
prog = "pydantic2ts" ,
246
- description = _main .__doc__ ,
238
+ description = main .__doc__ ,
247
239
formatter_class = argparse .RawTextHelpFormatter ,
248
240
)
249
241
parser .add_argument (
@@ -273,7 +265,7 @@ def _parse_cli_args(args: List[str] = None) -> argparse.Namespace:
273
265
return parser .parse_args (args )
274
266
275
267
276
- def _main () -> None :
268
+ def main () -> None :
277
269
"""
278
270
CLI entrypoint to run :func:`generate_typescript_defs`
279
271
"""
@@ -288,4 +280,4 @@ def _main() -> None:
288
280
289
281
290
282
if __name__ == "__main__" :
291
- _main ()
283
+ main ()
0 commit comments