UNPKG

collaborative-ui

Version:

React component library for building real-time collaborative editing applications.

22 lines (21 loc) 911 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonCrdtModelSidecar = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const BinaryBlock_1 = require("../../BinaryBlock"); const Encoder_1 = require("json-joy/lib/json-crdt/codec/sidecar/binary/Encoder"); const useModelTick_1 = require("../../hooks/useModelTick"); const LIMIT = 1024 * 4; const JsonCrdtModelSidecar = ({ model }) => { (0, useModelTick_1.useModelTick)(model); const uint8 = React.useMemo(() => { const encoder = new Encoder_1.Encoder(); const [, data] = encoder.encode(model); if (data.byteLength > LIMIT) return data.slice(0, LIMIT); return data; }, [model, model.tick]); return React.createElement(BinaryBlock_1.BinaryBlock, { uint8: uint8 }); }; exports.JsonCrdtModelSidecar = JsonCrdtModelSidecar;