clickable-json
Version:
Interactive JSON and JSON CRDT viewer and editor
22 lines • 846 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useRerenderModel = exports.useRerender = exports.useNodeApi = void 0;
const React = require("react");
const context_1 = require("./context");
const useNodeApi = (node) => {
const { model } = (0, context_1.useJsonCrdt)();
return model.api.wrap(node.node);
};
exports.useNodeApi = useNodeApi;
const useRerender = (node) => {
const events = (0, exports.useNodeApi)(node).events;
return React.useSyncExternalStore(events.subscribe, events.getSnapshot);
};
exports.useRerender = useRerender;
const useRerenderModel = () => {
const { model } = (0, context_1.useJsonCrdt)();
const api = model.api;
React.useSyncExternalStore(api.subscribe, () => model.tick);
};
exports.useRerenderModel = useRerenderModel;
//# sourceMappingURL=hooks.js.map
;