collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
19 lines (18 loc) • 866 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonCrdtModelIndexed = void 0;
const tslib_1 = require("tslib");
const Encoder_1 = require("json-joy/lib/json-crdt/codec/indexed/binary/Encoder");
const React = tslib_1.__importStar(require("react"));
const JsonBlock_1 = require("../../JsonBlock");
const useModelTick_1 = require("../../hooks/useModelTick");
const JsonCrdtModelIndexed = ({ model }) => {
const tick = (0, useModelTick_1.useModelTick)(model);
const encoder = React.useMemo(() => new Encoder_1.Encoder(), []);
// biome-ignore lint: manually managed dependency list
const value = React.useMemo(() => {
return encoder.encode(model);
}, [encoder, model, tick]);
return React.createElement(JsonBlock_1.JsonBlock, { value: value });
};
exports.JsonCrdtModelIndexed = JsonCrdtModelIndexed;
;