ripple
Version:
Ripple is an elegant TypeScript UI framework
15 lines (13 loc) • 484 B
JavaScript
import * as devalue from 'devalue';
import { transport } from './transport.js';
/**
* @template {any[]} T
* @template V
* @param {(...args: T) => Promise<V>} fn
* @param {string} rpc_arguments_string
*/
export async function executeServerFunction(fn, rpc_arguments_string) {
const rpc_arguments = devalue.parse(rpc_arguments_string, transport?.revivers);
const result = await fn.apply(null, rpc_arguments);
return devalue.stringify({ value: result }, transport?.reducers);
}