@attio/react-native-bottom-sheet-toolbox-dev-tools
Version:
40 lines (39 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useConnectClientToAdapter = useConnectClientToAdapter;
var _devtools = require("expo/devtools");
var _react = _interopRequireDefault(require("react"));
var _reactNativeBottomSheetToolbox = require("@attio/react-native-bottom-sheet-toolbox");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function useConnectClientToAdapter() {
const client = (0, _devtools.useDevToolsPluginClient)("react-native-bottom-sheet-toolbox");
const isConnected = client?.isConnected() ?? false;
_react.default.useEffect(() => {
if (!client || !isConnected) return;
const removeAdapter = _reactNativeBottomSheetToolbox.BOTTOM_SHEET_DEV_TOOLS.addAdapter({
sendMessage(method, parameters) {
if (!client.isConnected()) {
removeAdapter();
return;
}
client.sendMessage(method, parameters);
},
addMessageListener(method, listener) {
if (!client.isConnected()) {
removeAdapter();
return () => {};
}
const subscription = client.addMessageListener(method, listener);
return () => {
subscription.remove();
};
}
});
return () => {
removeAdapter();
};
}, [client, isConnected]);
}
//# sourceMappingURL=use-connect-client-to-adapter.js.map