UNPKG

roslib

Version:

The standard ROS Javascript Library

187 lines (186 loc) 8.43 kB
/** * https://github.com/RobotWebTools/rosbridge_suite/blob/ros2/ROSBRIDGE_PROTOCOL.md */ export interface RosbridgeMessageBase { op: string; } export declare function isRosbridgeMessage(message: unknown): message is RosbridgeMessageBase; export interface RosbridgeAuthMessage extends RosbridgeMessageBase { op: "auth"; mac: string; client: string; dest: string; rand: string; t: number; level: string; end: number; } export interface RosbridgeStatusMessage extends RosbridgeMessageBase { op: "status"; id?: string; level: string; msg: string; } export declare function isRosbridgeStatusMessage(message: RosbridgeMessageBase): message is RosbridgeStatusMessage; export interface RosbridgeSetStatusLevelMessage extends RosbridgeMessageBase { op: "set_level"; id?: string; level: "info" | "warning" | "error" | "none"; } export declare function isRosbridgeSetStatusLevelMessage(message: RosbridgeMessageBase): message is RosbridgeSetStatusLevelMessage; export interface RosbridgeFragmentMessage extends RosbridgeMessageBase { op: "fragment"; id: string; data: string; num: number; total: number; } export declare function isRosbridgeFragmentMessage(message: RosbridgeMessageBase): message is RosbridgeFragmentMessage; export interface RosbridgePngMessage extends RosbridgeMessageBase { op: "png"; id?: string; data: string; num?: number; total?: number; } export declare function isRosbridgePngMessage(message: RosbridgeMessageBase): message is RosbridgePngMessage; export interface RosbridgeAdvertiseMessage extends RosbridgeMessageBase { op: "advertise"; id?: string; type: string; topic: string; latch?: boolean; queue_size?: number; } export declare function isRosbridgeAdvertiseMessage(message: RosbridgeMessageBase): message is RosbridgeAdvertiseMessage; export interface RosbridgeUnadvertiseMessage extends RosbridgeMessageBase { op: "unadvertise"; id?: string; topic: string; } export declare function isRosbridgeUnadvertiseMessage(message: RosbridgeMessageBase): message is RosbridgeUnadvertiseMessage; export interface RosbridgePublishMessage<TMessage = unknown> extends RosbridgeMessageBase { op: "publish"; id?: string; topic: string; msg: TMessage; } export declare function isRosbridgePublishMessage<T>(message: RosbridgeMessageBase): message is RosbridgePublishMessage<T>; export interface RosbridgeSubscribeMessage extends RosbridgeMessageBase { op: "subscribe"; id?: string; topic: string; type?: string; throttle_rate?: number; queue_length?: number; fragment_size?: number; compression?: string; } export declare function isRosbridgeSubscribeMessage(message: RosbridgeMessageBase): message is RosbridgeSubscribeMessage; export interface RosbridgeUnsubscribeMessage extends RosbridgeMessageBase { op: "unsubscribe"; id?: string; topic: string; } export declare function isRosbridgeUnsubscribeMessage(message: RosbridgeMessageBase): message is RosbridgeUnsubscribeMessage; export interface RosbridgeAdvertiseServiceMessage extends RosbridgeMessageBase { op: "advertise_service"; type: string; service: string; } export declare function isRosbridgeAdvertiseServiceMessage(message: RosbridgeMessageBase): message is RosbridgeAdvertiseServiceMessage; export interface RosbridgeUnadvertiseServiceMessage extends RosbridgeMessageBase { op: "unadvertise_service"; service: string; } export declare function isRosbridgeUnadvertiseServiceMessage(message: RosbridgeMessageBase): message is RosbridgeUnadvertiseServiceMessage; export interface RosbridgeCallServiceMessage<TArgs = unknown> extends RosbridgeMessageBase { op: "call_service"; id?: string; service: string; /** * TODO this should be deeply partial when *outgoing*, because rosbridge will "fill in the blanks", * but it's not partial when *incoming* - need to figure out a way to represent this. */ args: TArgs; fragment_size?: number; compression?: string; timeout?: number; } export declare function isRosbridgeCallServiceMessage<T>(message: RosbridgeMessageBase): message is RosbridgeCallServiceMessage<T>; interface BaseRosbridgeServiceResponseMessage extends RosbridgeMessageBase { op: "service_response"; id?: string; service: string; } /** If the service call failed, `values` will be a string error message. */ export interface FailedRosbridgeServiceResponseMessage extends BaseRosbridgeServiceResponseMessage { values?: string; result: false; } export interface SuccessfulRosbridgeServiceResponseMessage<TValues = unknown> extends BaseRosbridgeServiceResponseMessage { values: TValues; result: true; } export type RosbridgeServiceResponseMessage<TValues = unknown> = FailedRosbridgeServiceResponseMessage | SuccessfulRosbridgeServiceResponseMessage<TValues>; export declare function isRosbridgeServiceResponseMessage<T>(message: RosbridgeMessageBase): message is RosbridgeServiceResponseMessage<T>; export interface RosbridgeAdvertiseActionMessage extends RosbridgeMessageBase { op: "advertise_action"; type: string; action: string; } export declare function isRosbridgeAdvertiseActionMessage(message: RosbridgeMessageBase): message is RosbridgeAdvertiseActionMessage; export interface RosbridgeUnadvertiseActionMessage extends RosbridgeMessageBase { op: "unadvertise_action"; action: string; } export declare function isRosbridgeUnadvertiseActionMessage(message: RosbridgeMessageBase): message is RosbridgeUnadvertiseActionMessage; export interface RosbridgeSendActionGoalMessage<TArgs = unknown> extends RosbridgeMessageBase { op: "send_action_goal"; id: string; action: string; action_type: string; args?: TArgs; feedback?: boolean; fragment_size?: number; compression?: string; } export declare function isRosbridgeSendActionGoalMessage<TArgs = unknown>(message: RosbridgeMessageBase): message is RosbridgeSendActionGoalMessage<TArgs>; export interface RosbridgeCancelActionGoalMessage extends RosbridgeMessageBase { op: "cancel_action_goal"; id: string; action: string; } export declare function isRosbridgeCancelActionGoalMessage(message: RosbridgeMessageBase): message is RosbridgeCancelActionGoalMessage; export interface RosbridgeActionFeedbackMessage<TFeedback = unknown> extends RosbridgeMessageBase { op: "action_feedback"; id: string; action: string; values: TFeedback; } export declare function isRosbridgeActionFeedbackMessage<TFeedback = unknown>(message: RosbridgeMessageBase): message is RosbridgeActionFeedbackMessage<TFeedback>; interface RosbridgeActionResultMessageBase extends RosbridgeMessageBase { op: "action_result"; id: string; action: string; status: number; } export interface FailedRosbridgeActionResultMessage extends RosbridgeActionResultMessageBase { result: false; values?: string; } export interface SuccessfulRosbridgeActionResultMessage<TResultValues = unknown> extends RosbridgeActionResultMessageBase { values: TResultValues; result: true; } export type RosbridgeActionResultMessage<TResultValues = unknown> = FailedRosbridgeActionResultMessage | SuccessfulRosbridgeActionResultMessage<TResultValues>; export declare function isRosbridgeActionResultMessage<TResultValues = unknown>(message: RosbridgeMessageBase): message is RosbridgeActionResultMessage<TResultValues>; export interface RosbridgeActionStatusMessage extends RosbridgeMessageBase { op: "action_status"; id: string; action: string; status: number; } export declare function isRosbridgeActionStatusMessage(message: RosbridgeMessageBase): message is RosbridgeActionStatusMessage; export type RosbridgeMessage = RosbridgeAuthMessage | RosbridgeStatusMessage | RosbridgeSetStatusLevelMessage | RosbridgeFragmentMessage | RosbridgePngMessage | RosbridgeAdvertiseMessage | RosbridgeUnadvertiseMessage | RosbridgePublishMessage | RosbridgeSubscribeMessage | RosbridgeUnsubscribeMessage | RosbridgeAdvertiseServiceMessage | RosbridgeUnadvertiseServiceMessage | RosbridgeCallServiceMessage | RosbridgeServiceResponseMessage | RosbridgeAdvertiseActionMessage | RosbridgeUnadvertiseActionMessage | RosbridgeSendActionGoalMessage | RosbridgeCancelActionGoalMessage | RosbridgeActionFeedbackMessage | RosbridgeActionResultMessage; export {};