Commits

Christian Krebs committed a3c9603

Fixed JS class generation.

  • Participants
  • Parent commits 8799ca0

Comments (0)

Files changed (1)

File hob/templates/js/js-message-classes.mako

   % endif
 cls.${service.name}["${version}"].${message.name} = function(arr)
 {
-  % for field in message.fields:
+  % for index, field in enumerate(message.fields):
     % if field.doc:
 ${print_doc(field.doc, 1, INDENT)}
     % endif
     % endif
     % if field.q.name == "repeated":
       % if field.type.name in ["message"]:
-${INDENT}this.${field.name} = (arr[${str(field.number - 1)}] || []).map(function(item)
+${INDENT}this.${field.name} = (arr[${str(index)}] || []).map(function(item)
 ${INDENT}{
 ${INDENT * 2}return new cls.${service.name}["${version}"].${field.typename()}(item);
 ${INDENT}});
       % else:
-${INDENT}this.${field.name} = arr[${str(field.number - 1)}] || [];
+${INDENT}this.${field.name} = arr[${str(index)}] || [];
       % endif
     % elif field.message and isinstance(field.message, proto.Message):
-${INDENT}this.${field.name} = arr[${str(field.number - 1)}] ? new cls.${service.name}["${version}"].${field.typename()}(arr[${str(field.number - 1)}], this) : null;
+${INDENT}this.${field.name} = arr[${str(index)}] ? new cls.${service.name}["${version}"].${field.typename()}(arr[${str(index)}]) : null;
     % else:
       % if field.message and isinstance(field.message, proto.Enum):
 ${INDENT}// cls.${service.name}["${version}"].${".".join(field.message.path())}
       % endif
-${INDENT}this.${field.name} = arr[${str(field.number - 1)}];
+${INDENT}this.${field.name} = arr[${str(index)}];
     % endif
   % endfor
 };