// Metro module 13531 (f13532). import { TransportTypes, RPC_AUTHENTICATED_SCOPE } from "../../Constants"; import { RPCErrors, RPCCommands } from "../../../../Constants"; import createRpcJoiSchemaObject from "../../helpers/createRpcJoiSchemaObject"; import RPCError from "../../RPCError"; import Dispatcher from "../../../../Dispatcher"; const r20 = {}; r20[RPCCommands.SET_CONFIG] = { scope: RPC_AUTHENTICATED_SCOPE, validation: (a0) => createRpcJoiSchemaObject(a0).required().keys({ use_interactive_pip: a0.boolean() }), handler: (a0) => { const socket = a0.socket; const use_interactive_pip = a0.args.use_interactive_pip; if (socket.transport !== TransportTypes.POST_MESSAGE) { throw new RPCError({ errorCode: RPCErrors.INVALID_COMMAND }, `command not available from "${socket.transport} transport`); } if (socket.application.id == null) { throw new RPCError({ errorCode: RPCErrors.INVALID_COMMAND }, "invalid application"); } Dispatcher.dispatch({ type: "EMBEDDED_ACTIVITY_SET_CONFIG", applicationId: socket.application.id, config: { useInteractivePIP: use_interactive_pip } }); return Promise.resolve({ use_interactive_pip }); } }; export default r20;