flipper-common
Version:
Server & UI shared Flipper utilities
40 lines • 1.43 kB
TypeScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import { FlipperServerCommands, FlipperServerEvents } from './server-types';
export type GenericWebSocketMessage<E = string, T = unknown> = {
event: E;
payload: T;
};
export type GenericWebSocketError = GenericWebSocketMessage<'error', {
message: string;
}>;
export type ExecWebSocketMessage = GenericWebSocketMessage<'exec', {
[K in keyof FlipperServerCommands]: {
id: number;
command: K;
args: Parameters<FlipperServerCommands[K]>;
};
}[keyof FlipperServerCommands]>;
export type ExecResponseWebSocketMessage = GenericWebSocketMessage<'exec-response', {
id: number;
data: unknown;
}>;
export type ExecResponseErrorWebSocketMessage = GenericWebSocketMessage<'exec-response-error', {
id: number;
data: unknown;
}>;
export type ServerEventWebSocketMessage = GenericWebSocketMessage<'server-event', {
[K in keyof FlipperServerEvents]: {
event: K;
data: FlipperServerEvents[K];
};
}[keyof FlipperServerEvents]>;
export type ClientWebSocketMessage = ExecWebSocketMessage;
export type ServerWebSocketMessage = ExecResponseWebSocketMessage | ExecResponseErrorWebSocketMessage | ServerEventWebSocketMessage;
//# sourceMappingURL=transport.d.ts.map