UNPKG

substance

Version:

Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and web-based publishing systems.

18 lines (17 loc) 497 B
import { cloneDeep, ObjectOperation } from 'substance' // NOTE: this is essentially a copy of ../../collab/computeSnapshot export default function computeSnapshot(jsonDoc, changeset) { jsonDoc = cloneDeep(jsonDoc) let nodes = jsonDoc.nodes changeset.forEach((change) => { change.ops.forEach((opData) => { try { let op = ObjectOperation.fromJSON(opData) op.apply(nodes) } catch (err) { console.error(err, opData) } }) }) return jsonDoc }