| {% macro _check_err() -%} |
| if (err !== validator.validationError.NONE) |
| return err; |
| {%- endmacro %} |
| |
| {%- macro _validate_field(field, offset, name) %} |
| {%- if field|is_string_pointer_field %} |
| // validate {{name}} |
| err = messageValidator.validateStringPointer({{offset}}, {{field|validate_nullable_params}}) |
| {{_check_err()}} |
| {%- elif field|is_array_pointer_field %} |
| // validate {{name}} |
| err = messageValidator.validateArrayPointer({{offset}}, {{field|validate_array_params}}); |
| {{_check_err()}} |
| {%- elif field|is_struct_pointer_field %} |
| // validate {{name}} |
| err = messageValidator.validateStructPointer({{offset}}, {{field|validate_struct_params}}); |
| {{_check_err()}} |
| {%- elif field|is_map_pointer_field %} |
| // validate {{name}} |
| err = messageValidator.validateMapPointer({{offset}}, {{field|validate_map_params}}); |
| {{_check_err()}} |
| {%- elif field|is_interface_field %} |
| // validate {{name}} |
| err = messageValidator.validateInterface({{offset}}, {{field|validate_nullable_params}}); |
| {{_check_err()}} |
| {%- elif field|is_interface_request_field %} |
| // validate {{name}} |
| err = messageValidator.validateInterfaceRequest({{offset}}, {{field|validate_nullable_params}}) |
| {{_check_err()}} |
| {%- elif field|is_handle_field %} |
| // validate {{name}} |
| err = messageValidator.validateHandle({{offset}}, {{field|validate_nullable_params}}) |
| {{_check_err()}} |
| {%- elif field|is_enum_field %} |
| // validate {{name}} |
| err = messageValidator.validateEnum({{offset}}, {{field|validate_enum_params}}); |
| {{_check_err()}} |
| {%- endif %} |
| {%- endmacro %} |
| |
| {%- macro validate_struct_field(field, offset, name) %} |
| {%- if field|is_union_field %} |
| // validate {{name}} |
| err = messageValidator.validateUnion({{offset}}, {{field|validate_union_params}}); |
| {{_check_err()}} |
| {%- else %} |
| {{_validate_field(field, offset, name)}} |
| {%- endif %} |
| {%- endmacro %} |
| |
| {%- macro validate_union_field(field, offset, name) %} |
| {%- if field|is_union_field %} |
| // validate {{name}} |
| err = messageValidator.validateNestedUnion({{offset}}, {{field|validate_union_params}}); |
| {{_check_err()}} |
| {%- else %} |
| {{_validate_field(field, offset, name)}} |
| {%- endif %} |
| {%- endmacro %} |