schema.sbn 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. local enums =
  2. {
  3. {{~ for c in __enums ~}}
  4. ---@class {{c.full_name}} {{-if c.comment != ''}} @{{escape_comment c.comment}}{{end}}
  5. {{~ for item in c.items ~}}
  6. ---@field public {{item.name}} integer {{-if item.comment != ''}} @{{escape_comment item.comment}}{{end}}
  7. {{~end~}}
  8. ['{{c.full_name}}'] = { {{ for item in c.items }} {{item.name}}={{item.int_value}}, {{end}} };
  9. {{~end~}}
  10. }
  11. local beans = {}
  12. {{~ for bean in __beans ~}}
  13. do
  14. ---@class {{bean.full_name}} {{if bean.parent_def_type}}:{{bean.parent}} {{end}} {{-if bean.comment != ''}} @{{escape_comment bean.comment}}{{end}}
  15. {{~ for field in bean.export_fields~}}
  16. ---@field public {{field.name}} {{comment_type field.ctype}} {{-if field.comment != ''}} @{{escape_comment field.comment}}{{end}}
  17. {{~end~}}
  18. local class = {
  19. {{~ for field in bean.export_fields~}}
  20. { name='{{field.name}}', type='{{comment_type field.ctype}}'},
  21. {{~end~}}
  22. }
  23. beans['{{bean.full_name}}'] = class
  24. end
  25. {{~end~}}
  26. local tables =
  27. {
  28. {{~for table in __tables ~}}
  29. {{~if table.is_map_table ~}}
  30. { name='{{table.name}}', file='{{table.output_data_file}}', mode='map', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' },
  31. {{~else if table.is_list_table ~}}
  32. { name='{{table.name}}', file='{{table.output_data_file}}', mode='list', index='{{table.index}}', value_type='{{table.value_ttype.def_bean.full_name}}' },
  33. {{~else~}}
  34. { name='{{table.name}}', file='{{table.output_data_file}}', mode='one', value_type='{{table.value_ttype.def_bean.full_name}}'},
  35. {{~end~}}
  36. {{~end~}}
  37. }
  38. return { enums = enums, beans = beans, tables = tables }