schema.sbn 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. namespace {{__namespace}};
  2. {{~for enum in __enums
  3. typeName = full_name enum
  4. ~}}
  5. enum {{typeName}}:int {
  6. {{~if !enum.has_zero_value_item~}}
  7. __GENERATE_DEFAULT_VALUE = 0,
  8. {{~end~}}
  9. {{~for item in enum.items ~}}
  10. {{typeName}}_{{item.name}} = {{item.int_value}},
  11. {{~end~}}
  12. }
  13. {{~end~}}
  14. {{~for bean in __beans~}}
  15. {{~if bean.is_abstract_type ~}}
  16. union {{full_name bean}} {
  17. {{~for c in bean.hierarchy_not_abstract_children~}}
  18. {{full_name c}},
  19. {{~end~}}
  20. }
  21. {{~end~}}
  22. {{~end~}}
  23. {{~for bean in __beans~}}
  24. {{~if !bean.is_abstract_type ~}}
  25. table {{full_name bean}} {
  26. {{~for f in bean.hierarchy_export_fields ~}}
  27. {{f.name}}:{{declaring_type_name f.ctype}}{{type_metadata f.ctype}};
  28. {{~end~}}
  29. }
  30. {{~end~}}
  31. {{~end~}}
  32. {{~for map in __maps~}}
  33. table KeyValue_{{declaring_type_name map.key_type}}_{{declaring_type_name map.value_type}} {
  34. key: {{declaring_type_name map.key_type}}{{type_metadata map.key_type}};
  35. value: {{declaring_type_name map.value_type}}{{type_metadata map.value_type}};
  36. }
  37. {{~end~}}
  38. {{~for table in __tables~}}
  39. table {{full_name table}} {
  40. // WARN! The name 'data_list' is used by FlatBuffersJsonExporter. don't modify it!
  41. data_list:[{{declaring_type_name table.value_ttype}}](required);
  42. }
  43. root_type {{full_name table}};
  44. {{~end~}}