Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1x 6x 10x | import {useModel, useNode} from './hooks';
import type {Model} from 'json-joy/lib/json-crdt';
import type {CrdtNodeApi} from './types';
export interface UseModelProps<M extends Model<any>> {
model?: M;
render: (model: M) => React.ReactNode;
}
export const UseModel = <M extends Model<any>>({model, render}: UseModelProps<M>) => render(useModel((m) => m, model));
export interface UseNodeProps {
node?: CrdtNodeApi;
event?: 'self' | 'child' | 'subtree';
render: (node: CrdtNodeApi) => React.ReactNode;
}
export const UseNode: React.FC<UseNodeProps> = ({node, event, render}) => render(useNode(node, event));
|