Files
flipper/js/js-flipper/src/responder.ts
Andrey Goncharov 9a47f41056 Implement JS flipper client
Summary:
Standardize WS implementation for JS environments.

Why do we need a separate server implementation for browsers?
Browser targets cannot authenticate via the default certificate exchange flow. We need a dedicated client for them that works over an insecure channel (without the cert exchange).

Major changes:
1. Renamed `flipper-js-client-sdk` to `js-flipper` for consistency with `react-native-flipper`
2. Updated `js-flipper` implementation to match our other existing clients

Documentation will be updated in a separate subsequent PR.

https://fb.quip.com/2mboA0xbgoxl

Reviewed By: mweststrate

Differential Revision: D31688105

fbshipit-source-id: 418aa80e0fd86361c089cf54b0d44a8b4f748efa
2021-10-21 04:28:21 -07:00

30 lines
739 B
TypeScript

/**
* Copyright (c) Facebook, Inc. and its 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 {FlipperErrorMessage, FlipperMessageBus} from './message';
import {FlipperPluginReceiverRes} from './plugin';
export class FlipperResponder {
constructor(
public readonly responderId: number,
private client: FlipperMessageBus,
) {}
success(response?: FlipperPluginReceiverRes) {
this.client.sendData({
id: this.responderId,
success: response == null ? null : response,
});
}
error(response: FlipperErrorMessage) {
this.client.sendData({id: this.responderId, error: response});
}
}