diff --git a/eslint.config.ts b/eslint.config.ts index 2586b60e0..1d447e746 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -31,6 +31,14 @@ export default defineConfig( "@typescript-eslint/no-empty-function": 0, "prefer-template": 2, "@typescript-eslint/consistent-type-imports": 2, + "no-restricted-syntax": [ + "error", + { + selector: "CallExpression[callee.property.name='bind']", + message: + "Prefer arrow functions over invoking Function.prototype.bind", + }, + ], }, }, { diff --git a/src/core/Action.ts b/src/core/Action.ts index adb792370..4c3d670c4 100644 --- a/src/core/Action.ts +++ b/src/core/Action.ts @@ -125,8 +125,8 @@ export default class Action< this.#actionCallback = actionCallback; this.#cancelCallback = cancelCallback; this.ros.on(this.name, (msg) => { - if (isRosbridgeSendActionGoalMessage(msg)) { - this.#executeAction.bind(this); + if (isRosbridgeSendActionGoalMessage(msg)) { + this.#executeAction(msg); } else { throw new Error( "Received unrelated message on Action server event stream!", diff --git a/src/types/protocol.ts b/src/types/protocol.ts index d533da4a2..f45cde480 100644 --- a/src/types/protocol.ts +++ b/src/types/protocol.ts @@ -260,9 +260,9 @@ export interface RosbridgeSendActionGoalMessage compression?: string; } -export function isRosbridgeSendActionGoalMessage( +export function isRosbridgeSendActionGoalMessage( message: RosbridgeMessageBase, -): message is RosbridgeSendActionGoalMessage { +): message is RosbridgeSendActionGoalMessage { return message.op === "send_action_goal"; }