UNPKG

telefunc

Version:

Remote functions. Instead of API.

16 lines (15 loc) 660 B
export { useData }; import { useAsync } from 'react-streaming'; import { assertUsage, isCallable } from './utils.js'; function useData(telefunction, ...args) { assertUsage(isCallable(telefunction), '`useData(fn)`: argument `fn` should be a function'); const telefunctionKey = telefunction._key; const fnName = telefunction.name; assertUsage(telefunctionKey, `The function \`${fnName || 'fn'}\` passed to \`useData(${fnName ? '' : 'fn'})\` isn't a telefunction`); const asyncFn = () => { return telefunction(...args); }; const key = [telefunctionKey, ...args]; const result = useAsync(key, asyncFn); return result; }