From afa5e4a9f327e2ff00adcd25513133631624b129 Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Thu, 14 Dec 2023 12:05:28 -0500 Subject: [PATCH] Remove action helper types --- examples/ros2_action_client.html | 4 +--- src/core/Action.js | 17 ++++++----------- src/core/ActionFeedback.js | 23 ----------------------- src/core/ActionGoal.js | 23 ----------------------- src/core/ActionResult.js | 23 ----------------------- src/core/index.js | 3 --- 6 files changed, 7 insertions(+), 86 deletions(-) delete mode 100644 src/core/ActionFeedback.js delete mode 100644 src/core/ActionGoal.js delete mode 100644 src/core/ActionResult.js diff --git a/examples/ros2_action_client.html b/examples/ros2_action_client.html index 7cc76d943..3fb67eecf 100644 --- a/examples/ros2_action_client.html +++ b/examples/ros2_action_client.html @@ -46,9 +46,7 @@ }); // Send an action goal - var goal = new ROSLIB.ActionGoal({ - order: 5, - }); + var goal = {order: 5}; var goal_id = fibonacciClient.sendGoal(goal, function(result) { diff --git a/src/core/Action.js b/src/core/Action.js index d8a2b18df..019459916 100644 --- a/src/core/Action.js +++ b/src/core/Action.js @@ -3,9 +3,6 @@ * @author Sebastian Castro - sebastian.castro@picknik.ai */ -var ActionGoal = require('./ActionGoal'); -var ActionFeedback = require('./ActionFeedback'); -var ActionResult = require('./ActionResult'); var EventEmitter2 = require('eventemitter2').EventEmitter2; var Ros = require('../core/Ros'); @@ -67,11 +64,9 @@ class Action extends EventEmitter2 { failedCallback(message.values); } } else if (message.op === 'action_feedback' && typeof feedbackCallback === 'function') { - // @ts-expect-error -- can't figure out how to get ActionFeedback to play nice in typescript here - feedbackCallback(new ActionFeedback(message.values)); + feedbackCallback(message.values); } else if (message.op === 'action_result' && typeof resultCallback === 'function') { - // @ts-expect-error -- can't figure out how to get ActionResult to play nice in typescript here - resultCallback(new ActionResult(message.values)); + resultCallback(message.values); } }); } @@ -181,14 +176,14 @@ class Action extends EventEmitter2 { * Helper function to send action feedback inside an action handler. * * @param {string} id - The action goal ID. - * @param {ActionFeedback} feedback - The feedback to send. + * @param {TFeedback} feedback - The feedback to send. */ sendFeedback(id, feedback) { var call = { op: 'action_feedback', id: id, action: this.name, - values: new ActionFeedback(feedback), + values: feedback, }; this.ros.callOnConnection(call); } @@ -197,14 +192,14 @@ class Action extends EventEmitter2 { * Helper function to set an action as succeeded. * * @param {string} id - The action goal ID. - * @param {ActionResult} result - The result to set. + * @param {TResult} result - The result to set. */ setSucceeded(id, result) { var call = { op: 'action_result', id: id, action: this.name, - values: new ActionResult(result), + values: result, result: true, }; this.ros.callOnConnection(call); diff --git a/src/core/ActionFeedback.js b/src/core/ActionFeedback.js deleted file mode 100644 index 055de45b0..000000000 --- a/src/core/ActionFeedback.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @fileOverview - * @author Sebastian Castro - sebastian.castro@picknik.ai - */ - -var assign = require('object-assign'); - -/** - * An ActionFeedback is periodically returned during an in-progress ROS 2 action. - * - * @constructor - * @template TFeedback - */ -class ActionFeedback { - /** - * @param {TFeedback} [values={}] - Object matching the fields defined in the .action definition file. - */ - constructor(values) { - assign(this, values || {}); - } -} - -module.exports = ActionFeedback; diff --git a/src/core/ActionGoal.js b/src/core/ActionGoal.js deleted file mode 100644 index 159f746b3..000000000 --- a/src/core/ActionGoal.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @fileoverview - * @author Sebastian Castro - sebastian.castro@picknik.ai - */ - -var assign = require('object-assign'); - -/** - * An ActionGoal is passed into a ROS 2 action goal request. - * - * @constructor - * @template TGoal - */ -class ActionGoal { - /** - * @param {TGoal} [values={}] - Object matching the fields defined in the .action definition file. - */ - constructor(values) { - assign(this, values || {}); - } -} - -module.exports = ActionGoal; diff --git a/src/core/ActionResult.js b/src/core/ActionResult.js deleted file mode 100644 index bef710481..000000000 --- a/src/core/ActionResult.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @fileoverview - * @author Sebastian Castro - sebastian.castro@picknik.ai - */ - -var assign = require('object-assign'); - -/** - * An ActionResult is returned from sending a ROS 2 action goal. - * - * @constructor - * @template TResult - */ -class ActionResult { - /** - * @param {TResult} [values={}] - Object matching the fields defined in the .action definition file. - */ - constructor(values) { - assign(this, values || {}); - } -} - -module.exports = ActionResult; diff --git a/src/core/index.js b/src/core/index.js index 2f2f0b58b..046655fa6 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -7,7 +7,4 @@ module.exports = { ServiceRequest: require('./ServiceRequest'), ServiceResponse: require('./ServiceResponse'), Action: require('./Action'), - ActionGoal: require('./ActionGoal'), - ActionFeedback: require('./ActionFeedback'), - ActionResult: require('./ActionResult') };