Skip to content

Commit 5e91043

Browse files
committed
Simplified construction of complex messages
- can now provide all data, incl. for sub-messages, directly in message constructor. E.g.: ```js let now = Date.now(); let secs = parseInt(now/1000); let nsecs = (now % 1000) * 1000; let shapeMsg = new shapeActionGoal({ header: { seq: 0, stamp: { secs: secs, nsecs: nsecs }, frame_id: '' }, goal_id: { stamp: { secs: secs, nsecs: nsecs }, id: "/my_node-1-"+secs+"."+nsecs+"000" }, goal: { edges: 5, radius: 1 } }); ```
1 parent 6c61ff3 commit 5e91043

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

utils/messages.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,16 @@ function buildMessageClass(details) {
505505

506506
if (values) {
507507
Object.keys(values).forEach(function(name) {
508-
that[name] = values[name];
508+
var type = details.fields.find(function(field) {
509+
return field.name == name;
510+
});
511+
console.log("Message", name, type);
512+
if (type.messageType) {
513+
console.log("Message", name, type.messageType);
514+
that[name] = new (type.messageType)(values[name]);
515+
} else {
516+
that[name] = values[name];
517+
}
509518
});
510519
}
511520
};

0 commit comments

Comments
 (0)