{"ScriptPreparationCode":"var oldObj = {\r\n \u0022content\u0022: {\r\n \u0022blocks\u0022: {\r\n \u0022block-0\u0022: {\r\n \u0022id\u0022: \u0022block-0\u0022,\r\n \u0022type\u0022: \u0022p\u0022,\r\n \u0022leafIds\u0022: [\r\n \u0022leaf-2\u0022\r\n ]\r\n },\r\n \u0022block-1\u0022: {\r\n \u0022id\u0022: \u0022block-1\u0022,\r\n \u0022type\u0022: \u0022p\u0022,\r\n \u0022leafIds\u0022: [\r\n \u0022leaf-3\u0022\r\n ]\r\n }\r\n },\r\n \u0022leaves\u0022: {\r\n \u0022leaf-2\u0022: {\r\n \u0022id\u0022: \u0022leaf-2\u0022,\r\n \u0022text\u0022: \u002212345\u0022\r\n },\r\n \u0022leaf-3\u0022: {\r\n \u0022id\u0022: \u0022leaf-3\u0022,\r\n \u0022text\u0022: \u0022abcde\u0022\r\n }\r\n },\r\n \u0022blockIds\u0022: [\r\n \u0022block-0\u0022,\r\n \u0022block-1\u0022\r\n ]\r\n },\r\n \u0022selection\u0022: {\r\n \u0022isReversed\u0022: false,\r\n \u0022isCollapsed\u0022: true,\r\n \u0022startEl\u0022: \u0022leaf-2\u0022,\r\n \u0022endEl\u0022: \u0022leaf-2\u0022,\r\n \u0022startOffset\u0022: 12,\r\n \u0022endOffset\u0022: 12\r\n }\r\n}\r\n\r\nvar newObj = {\r\n \u0022content\u0022: {\r\n \u0022blocks\u0022: {\r\n \u0022block-0\u0022: {\r\n \u0022id\u0022: \u0022block-0\u0022,\r\n \u0022type\u0022: \u0022p\u0022,\r\n \u0022leafIds\u0022: [\r\n \u0022leaf-2\u0022\r\n ]\r\n },\r\n \u0022block-1\u0022: {\r\n \u0022id\u0022: \u0022block-1\u0022,\r\n \u0022type\u0022: \u0022p\u0022,\r\n \u0022leafIds\u0022: [\r\n \u0022leaf-3\u0022\r\n ]\r\n }\r\n },\r\n \u0022leaves\u0022: {\r\n \u0022leaf-2\u0022: {\r\n \u0022id\u0022: \u0022leaf-2\u0022,\r\n \u0022text\u0022: \u002212345hooba12\u0022\r\n },\r\n \u0022leaf-3\u0022: {\r\n \u0022id\u0022: \u0022leaf-3\u0022,\r\n \u0022text\u0022: \u0022abcde\u0022\r\n }\r\n },\r\n \u0022blockIds\u0022: [\r\n \u0022block-0\u0022,\r\n \u0022block-1\u0022\r\n ]\r\n },\r\n \u0022selection\u0022: {\r\n \u0022isReversed\u0022: false,\r\n \u0022isCollapsed\u0022: true,\r\n \u0022startEl\u0022: \u0022leaf-2\u0022,\r\n \u0022endEl\u0022: \u0022leaf-2\u0022,\r\n \u0022startOffset\u0022: 12,\r\n \u0022endOffset\u0022: 12\r\n }\r\n}\r\n\r\nvar serialize = (obj) =\u003E JSON.stringify(obj, null, 1)\r\n\r\nvar oldObjSerialized = serialize(oldObj)\r\n\r\nvar diffs = []","TestCases":[{"Name":"diff","Code":"var newObjSerialized = serialize(newObj)\r\nvar diff = Diff.createPatch(\u0027\u0027, newObjSerialized, oldObjSerialized, \u0027a\u0027, \u0027b\u0027)\r\ndiffs.push(diff)","IsDeferred":false},{"Name":"deep-diff","Code":"var diff = DeepDiff.diff(newObj, oldObj)\r\ndiffs.push(diff)","IsDeferred":false},{"Name":"deep-diff serialized","Code":"var diff = DeepDiff.diff(newObj, oldObj)\r\ndiffs.push(JSON.stringify(diff))","IsDeferred":false}]}