tables.sbn 665 B

12345678910111213141516171819202122232425262728
  1. {{~if __namespace != ''~}}
  2. package {{__namespace}};
  3. {{~end~}}
  4. type JsonLoader func(string) ([]map[string]interface{}, error)
  5. type {{__name}} struct {
  6. {{~for table in __tables ~}}
  7. {{table.name}} *{{full_name table}}
  8. {{~end~}}
  9. }
  10. func NewTables(loader JsonLoader) (*{{__name}}, error) {
  11. var err error
  12. var buf []map[string]interface{}
  13. tables := &{{__name}}{}
  14. {{~for table in __tables ~}}
  15. if buf, err = loader("{{table.output_data_file}}") ; err != nil {
  16. return nil, err
  17. }
  18. if tables.{{table.name}}, err = New{{full_name table}}(buf) ; err != nil {
  19. return nil, err
  20. }
  21. {{~end~}}
  22. return tables, nil
  23. }