Using newer metagen API
This commit is contained in:
parent
ac8954f967
commit
ed85853be4
|
@ -84,7 +84,7 @@ function _add_twig_support(\Twig\Environment $twig)
|
|||
$twig->addFunction(new \Twig\TwigFunction('get_all_fields',
|
||||
function($meta, $o)
|
||||
{
|
||||
return \mtg_get_all_fields($meta, $o);
|
||||
return \mtg_get_all_fields($o);
|
||||
}
|
||||
));
|
||||
$twig->addFunction(new \Twig\TwigFunction('count_optional',
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{% macro decl_units(meta) %}
|
||||
{%- for u in meta.getunits ~%}
|
||||
{%- if u.object is instanceof('\\mtgMetaStruct') ~%}
|
||||
{{ _self.decl_struct(meta, u.object) }}
|
||||
{{ _self.decl_struct(u.object) }}
|
||||
{%- elseif u.object is instanceof('\\mtgMetaEnum') ~%}
|
||||
{{ _self.decl_enum(u.object) }}
|
||||
{%- elseif u.object is instanceof('\\mtgMetaRPC') ~%}
|
||||
{{ _self.decl_rpc(meta, u.object) }}
|
||||
{{ _self.decl_rpc(u.object) }}
|
||||
{%- endif ~%}
|
||||
{%- endfor ~%}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro decl_struct(meta, o) %}
|
||||
{% macro decl_struct(o) %}
|
||||
{%- if o.parent and has_token(o, 'POD') -%}
|
||||
{{Error("@POD structs can't have a parent: " ~ o.name)}}
|
||||
{%- endif -%}
|
||||
|
@ -28,8 +28,8 @@ type {{o.name}} struct {
|
|||
}
|
||||
|
||||
var _{{o.name}}_class_props map[string]string = {{_self.props_map(o.tokens)}}
|
||||
var _{{o.name}}_class_fields []string = {{_self.struct_fields_names(meta, o)}}
|
||||
var _{{o.name}}_fields_props meta.ClassFieldsProps = {{_self.struct_fields_props(meta, o)}}
|
||||
var _{{o.name}}_class_fields []string = {{_self.struct_fields_names(o)}}
|
||||
var _{{o.name}}_fields_props meta.ClassFieldsProps = {{_self.struct_fields_props(o)}}
|
||||
|
||||
func {{o.name}}_CLASS_ID() uint32 {
|
||||
return {{o.classid}}
|
||||
|
@ -111,11 +111,11 @@ func (self *{{o.name}}) WriteFields(writer meta.Writer) error {
|
|||
{% endif %}
|
||||
|
||||
{% if has_token(o, 'statist') %}
|
||||
{{_self.stats_methods(meta, o)}}
|
||||
{{_self.stats_methods(o)}}
|
||||
{% endif %}
|
||||
|
||||
{% if has_token(o, 'POD') and has_token(o, 'id') and has_token(o, 'table') and has_token(o, 'owner') %}
|
||||
{{_self.db_item_methods(meta, o)}}
|
||||
{{_self.db_item_methods(o)}}
|
||||
{% endif %}
|
||||
|
||||
{% endmacro %}
|
||||
|
@ -128,17 +128,17 @@ map[string]string{
|
|||
}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro struct_fields_names(meta, o) %}
|
||||
{% macro struct_fields_names(o) %}
|
||||
[]string{
|
||||
{% for f in get_all_fields(meta, o) ~%}
|
||||
{% for f in get_all_fields(o) ~%}
|
||||
"{{f.name}}",
|
||||
{%- endfor ~%}
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro struct_fields_props(meta, o) %}
|
||||
{% macro struct_fields_props(o) %}
|
||||
map[string]map[string]string{
|
||||
{% for f in get_all_fields(meta, o) ~%}
|
||||
{% for f in get_all_fields(o) ~%}
|
||||
"{{f.name|ucfirst}}" : {{_self.props_map(f.tokens)}},
|
||||
{%- endfor ~%}
|
||||
}
|
||||
|
@ -256,7 +256,7 @@ func(self *{{o.name}}) GetMask() meta.FieldsMask {
|
|||
}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro stats_methods(meta, o) %}
|
||||
{% macro stats_methods(o) %}
|
||||
|
||||
func (self *{{o.name}}) Table() string {
|
||||
return "{{token(o, 'statist')}}"
|
||||
|
@ -264,7 +264,7 @@ func (self *{{o.name}}) Table() string {
|
|||
|
||||
func (self * {{o.name}}) Columns() []string {
|
||||
return []string{
|
||||
{%- for f in get_all_fields(meta, o) ~%}
|
||||
{%- for f in get_all_fields(o) ~%}
|
||||
{%- if not has_token(f, 'statist_skip') ~%}
|
||||
"{{token_or(f, 'statist_alias', f.name)}}",
|
||||
{%- endif ~%}
|
||||
|
@ -274,7 +274,7 @@ func (self * {{o.name}}) Columns() []string {
|
|||
|
||||
func (self *{{o.name}}) Values() []interface{} {
|
||||
return []interface{}{
|
||||
{%- for f in get_all_fields(meta, o) ~%}
|
||||
{%- for f in get_all_fields(o) ~%}
|
||||
{%- if not has_token(f, 'statist_skip') ~%}
|
||||
self.{{f.name|ucfirst}},
|
||||
{%- endif ~%}
|
||||
|
@ -284,7 +284,7 @@ func (self *{{o.name}}) Values() []interface{} {
|
|||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro db_item_methods(meta, o) %}
|
||||
{% macro db_item_methods(o) %}
|
||||
|
||||
func (self *{{o.name}}) NewInstance() meta.IMetaDataItem {
|
||||
return New{{o.name}}()
|
||||
|
@ -315,7 +315,7 @@ func (self *{{o.name}}) Import(data interface{}) {
|
|||
case {{o.name}}:
|
||||
{
|
||||
row := data.({{o.name}})
|
||||
{%- for f in get_all_fields(meta, o) ~%}
|
||||
{%- for f in get_all_fields(o) ~%}
|
||||
self.{{f.name|ucfirst}} = row.{{f.name|ucfirst}}
|
||||
{%- endfor ~%}
|
||||
break
|
||||
|
@ -326,7 +326,7 @@ func (self *{{o.name}}) Import(data interface{}) {
|
|||
}
|
||||
|
||||
func (self *{{o.name}}) Export(data []interface{}) {
|
||||
{%- for f in get_all_fields(meta, o) ~%}
|
||||
{%- for f in get_all_fields(o) ~%}
|
||||
data[{{loop.index0}}] = self.{{f.name|ucfirst}}
|
||||
{%- endfor ~%}
|
||||
}
|
||||
|
@ -390,10 +390,10 @@ func New{{o.name}}ByName(name string) ({{o.name}}, error) {
|
|||
{%- endfor ~%}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro decl_rpc(meta, o) %}
|
||||
{% macro decl_rpc(o) %}
|
||||
|
||||
{{_self._decl_rpc_part(meta, o.req, o.code)}}
|
||||
{{_self._decl_rpc_part(meta, o.rsp, o.code)}}
|
||||
{{_self._decl_rpc_part(o.req, o.code)}}
|
||||
{{_self._decl_rpc_part(o.rsp, o.code)}}
|
||||
|
||||
func New{{o.name}}() *{{o.name}} {
|
||||
rpc := {{o.name}}{}
|
||||
|
@ -448,9 +448,9 @@ func (rpc *{{o.name}}) Execute(h interface{}) error{
|
|||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro _decl_rpc_part(meta, o, code) %}
|
||||
{% macro _decl_rpc_part(o, code) %}
|
||||
|
||||
{{_self.decl_struct(meta, o)}}
|
||||
{{_self.decl_struct(o)}}
|
||||
|
||||
var {{o.name}}_ func(interface{}, *{{o.name}}, *{{o.name|rpc_invert}}) error
|
||||
|
||||
|
|
Loading…
Reference in New Issue