UNPKG

collaborative-monaco

Version:

Binding for collaborative editing support in Monaco Editor. Connects JSON CRDT str node to Monaco Editor.

26 lines 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CollaborativeMonaco = void 0; const tslib_1 = require("tslib"); const React = require("react"); const _1 = require("."); const react_1 = require("@monaco-editor/react"); const CollaborativeMonaco = (_a) => { var { str } = _a, rest = tslib_1.__rest(_a, ["str"]); const unbind = React.useRef(null); React.useEffect(() => { return () => { var _a; (_a = unbind.current) === null || _a === void 0 ? void 0 : _a.call(unbind); }; }, []); const handleMount = (editor, monaco) => { var _a, _b; (_a = unbind.current) === null || _a === void 0 ? void 0 : _a.call(unbind); unbind.current = (0, _1.bind)(str, editor, true); (_b = rest.onMount) === null || _b === void 0 ? void 0 : _b.call(rest, editor, monaco); }; return React.createElement(react_1.Editor, Object.assign({}, rest, { onMount: handleMount })); }; exports.CollaborativeMonaco = CollaborativeMonaco; //# sourceMappingURL=CollaborativeMonaco.js.map