easy-richtextarea 4.0.1 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +0 -8
  2. package/example.js +1012 -595
  3. package/lib/browser.js +9 -9
  4. package/lib/constants.js +13 -4
  5. package/lib/contentCompare.js +34 -0
  6. package/lib/example/richTextarea.js +2 -2
  7. package/lib/example/view.js +18 -9
  8. package/lib/keyCodes.js +13 -0
  9. package/lib/main.js +1 -1
  10. package/lib/operation/delete.js +101 -52
  11. package/lib/operation/empty.js +21 -6
  12. package/lib/operation/insert.js +78 -31
  13. package/lib/operations/fromJSON.js +4 -4
  14. package/lib/operations/generate.js +11 -11
  15. package/lib/operations/transform.js +3 -7
  16. package/lib/richTextarea.js +244 -156
  17. package/lib/selection.js +55 -13
  18. package/lib/types.js +13 -13
  19. package/lib/undoBuffer.js +105 -0
  20. package/package.json +3 -2
  21. package/src/browser.js +3 -3
  22. package/src/constants.js +1 -0
  23. package/src/contentCompare.js +34 -0
  24. package/src/example/richTextarea.js +11 -9
  25. package/src/example/view.js +28 -10
  26. package/src/keyCodes.js +3 -0
  27. package/src/main.js +1 -0
  28. package/src/operation/delete.js +135 -58
  29. package/src/operation/empty.js +19 -14
  30. package/src/operation/insert.js +97 -39
  31. package/src/operations/fromJSON.js +4 -4
  32. package/src/operations/generate.js +17 -13
  33. package/src/operations/transform.js +3 -3
  34. package/src/richTextarea.js +316 -185
  35. package/src/selection.js +53 -9
  36. package/src/types.js +6 -6
  37. package/src/undoBuffer.js +73 -0
  38. package/test/content/transform.js +15 -17
  39. package/test/helpers.js +27 -21
  40. package/test/operation/delete.js +187 -147
  41. package/test/operation/empty.js +3 -5
  42. package/test/operation/insert.js +134 -118
  43. package/test/operations/generate.js +25 -29
  44. package/test/operations/transform.js +37 -98
  45. package/lib/stringCompare.js +0 -33
  46. package/src/stringCompare.js +0 -33
@@ -35,9 +35,9 @@ var EmptyOperation = /*#__PURE__*/ function() {
35
35
  }
36
36
  _createClass(EmptyOperation, [
37
37
  {
38
- key: "clone",
39
- value: function clone() {
40
- return EmptyOperation.fromNothing();
38
+ key: "getType",
39
+ value: function getType() {
40
+ return this.type;
41
41
  }
42
42
  },
43
43
  {
@@ -53,7 +53,8 @@ var EmptyOperation = /*#__PURE__*/ function() {
53
53
  {
54
54
  key: "transformContent",
55
55
  value: function transformContent(content) {
56
- return content;
56
+ var transformedContent = content; ///
57
+ return transformedContent;
57
58
  }
58
59
  },
59
60
  {
@@ -70,6 +71,20 @@ var EmptyOperation = /*#__PURE__*/ function() {
70
71
  return shiftedOperation;
71
72
  }
72
73
  },
74
+ {
75
+ key: "invert",
76
+ value: function invert(InsertOperation, DeleteOperation) {
77
+ var type = _types.EMPTY_TYPE, emptyOperation = new EmptyOperation(type);
78
+ return emptyOperation;
79
+ }
80
+ },
81
+ {
82
+ key: "clone",
83
+ value: function clone() {
84
+ var emptyOperation = EmptyOperation.fromNothing();
85
+ return emptyOperation;
86
+ }
87
+ },
73
88
  {
74
89
  key: "toJSON",
75
90
  value: function toJSON() {
@@ -90,7 +105,7 @@ var EmptyOperation = /*#__PURE__*/ function() {
90
105
  {
91
106
  key: "fromNothing",
92
107
  value: function fromNothing() {
93
- var type = _types.emptyType, emptyOperation = new EmptyOperation(type);
108
+ var type = _types.EMPTY_TYPE, emptyOperation = new EmptyOperation(type);
94
109
  return emptyOperation;
95
110
  }
96
111
  }
@@ -98,4 +113,4 @@ var EmptyOperation = /*#__PURE__*/ function() {
98
113
  return EmptyOperation;
99
114
  }();
100
115
 
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vZW1wdHkuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBlbXB0eVR5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtcHR5T3BlcmF0aW9uIHtcclxuICBjb25zdHJ1Y3Rvcih0eXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBjbG9uZSgpIHtcclxuICAgIHJldHVybiBFbXB0eU9wZXJhdGlvbi5mcm9tTm90aGluZygpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG5cclxuICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIHJldHVybiBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtU2VsZWN0aW9uKHNlbGVjdGlvbikge1xyXG4gICAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHNoaWZ0KG9wZXJhdGlvbikge1xyXG4gIFx0Y29uc3Qgb2Zmc2V0ID0gMCxcclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICBcdHJldHVybiBzaGlmdGVkT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgIGpzb24gPSB7XHJcbiAgICAgICAgICAgICAgdHlwZVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuXHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xyXG4gICAgY29uc3QgeyB0eXBlIH0gPSBqc29uLFxyXG4gICAgICAgICAgZW1wdHlPcGVyYXRpb24gPSBuZXcgRW1wdHlPcGVyYXRpb24odHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIGVtcHR5T3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IGVtcHR5VHlwZSwgLy8vXHJcbiAgICAgICAgICBlbXB0eU9wZXJhdGlvbiA9IG5ldyBFbXB0eU9wZXJhdGlvbih0eXBlKTtcclxuXHJcbiAgICByZXR1cm4gZW1wdHlPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRW1wdHlPcGVyYXRpb24iLCJ0eXBlIiwiY2xvbmUiLCJmcm9tTm90aGluZyIsInRyYW5zZm9ybU9wZXJhdGlvbiIsIm9wZXJhdGlvbiIsInRhdSIsInJobyIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50IiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzaGlmdCIsIm9mZnNldCIsInNoaWZ0ZWRPcGVyYXRpb24iLCJzaGlmdGVkIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIiwiZW1wdHlPcGVyYXRpb24iLCJlbXB0eVR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3FCQUZLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVYLElBQUEsQUFBTUEsK0JBQU47YUFBTUEsZUFDUEMsSUFBSTs4QkFER0Q7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFGS0Q7O1lBT25CRSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUTtnQkFDTixPQUFPRixBQVJVQSxlQVFLRyxXQUFXO1lBQ25DOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixPQUFPLEFBQUMsU0FBQ0MsS0FBS0MsS0FBUTtvQkFFcEIsT0FBTzt3QkFBQ0QsSUFBSUosS0FBSztxQkFBRztnQkFFdEIsRUFBR0csV0FBVyxJQUFJO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsT0FBTyxFQUFFO2dCQUN4QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixJQUFNQyx1QkFBdUJELFVBQVVULEtBQUs7Z0JBRTVDLE9BQU9VO1lBQ1Q7OztZQUlBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTVIsU0FBUyxFQUFFO2dCQUNoQixJQUFNUyxTQUFTLEdBQ1JDLG1CQUFtQlYsVUFBVVcsT0FBTyxDQUFDRjtnQkFFNUMsT0FBT0M7WUFDUjs7O1lBTUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1oQixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNkaUIsT0FBTztvQkFDTGpCLE1BQUFBO2dCQUNGO2dCQUlSLE9BQU9pQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRTtnQkFDcEIsSUFBTSxBQUFFakIsT0FBU2lCLEtBQVRqQixNQUNGbUIsaUJBQWlCLElBdkROcEIsZUF1RHlCQztnQkFFMUMsT0FBT21CO1lBQ1Q7OztZQUVPakIsS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTUYsT0FBT29CLGdCQUFTLEVBQ2hCRCxpQkFBaUIsSUE5RE5wQixlQThEeUJDO2dCQUUxQyxPQUFPbUI7WUFDVDs7O1dBakVtQnBCIn0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vZW1wdHkuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFTVBUWV9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbXB0eU9wZXJhdGlvbiB7XHJcbiAgY29uc3RydWN0b3IodHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG5cclxuICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIGNvbnN0IHRyYW5zZm9ybWVkQ29udGVudCA9IGNvbnRlbnQ7IC8vL1xyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZENvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKSB7XHJcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5jbG9uZSgpO1xyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZFNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNoaWZ0KG9wZXJhdGlvbikge1xyXG4gIFx0Y29uc3Qgb2Zmc2V0ID0gMCxcclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICBcdHJldHVybiBzaGlmdGVkT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgaW52ZXJ0KEluc2VydE9wZXJhdGlvbiwgRGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gRU1QVFlfVFlQRSxcclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb25lKCkge1xyXG4gICAgY29uc3QgZW1wdHlPcGVyYXRpb24gPSBFbXB0eU9wZXJhdGlvbi5mcm9tTm90aGluZygpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXHJcbiAgICAgICAgICBqc29uID0ge1xyXG4gICAgICAgICAgICB0eXBlXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgIHJldHVybiBqc29uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcclxuICAgIGNvbnN0IHsgdHlwZSB9ID0ganNvbixcclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcclxuICAgIGNvbnN0IHR5cGUgPSBFTVBUWV9UWVBFLCAvLy9cclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcbn1cclxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJFbXB0eU9wZXJhdGlvbiIsInR5cGUiLCJnZXRUeXBlIiwidHJhbnNmb3JtT3BlcmF0aW9uIiwib3BlcmF0aW9uIiwidGF1IiwicmhvIiwiY2xvbmUiLCJ0cmFuc2Zvcm1Db250ZW50IiwiY29udGVudCIsInRyYW5zZm9ybWVkQ29udGVudCIsInRyYW5zZm9ybVNlbGVjdGlvbiIsInNlbGVjdGlvbiIsInRyYW5zZm9ybWVkU2VsZWN0aW9uIiwic2hpZnQiLCJvZmZzZXQiLCJzaGlmdGVkT3BlcmF0aW9uIiwic2hpZnRlZCIsImludmVydCIsIkluc2VydE9wZXJhdGlvbiIsIkRlbGV0ZU9wZXJhdGlvbiIsIkVNUFRZX1RZUEUiLCJlbXB0eU9wZXJhdGlvbiIsImZyb21Ob3RoaW5nIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OztxQkFGTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFWixJQUFBLEFBQU1BLCtCQUFOO2FBQU1BLGVBQ1BDLElBQUk7OEJBREdEO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7aUJBRktEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CQyxTQUFTLEVBQUU7Z0JBQzVCLE9BQU8sQUFBQyxTQUFDQyxLQUFLQyxLQUFRO29CQUVwQixPQUFPO3dCQUFDRCxJQUFJRSxLQUFLO3FCQUFHO2dCQUV0QixFQUFHSCxXQUFXLElBQUk7WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCQyxPQUFPLEVBQUU7Z0JBQ3hCLElBQU1DLHFCQUFxQkQsU0FBUyxHQUFHO2dCQUV2QyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixJQUFNQyx1QkFBdUJELFVBQVVMLEtBQUs7Z0JBRTVDLE9BQU9NO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTVYsU0FBUyxFQUFFO2dCQUNoQixJQUFNVyxTQUFTLEdBQ1JDLG1CQUFtQlosVUFBVWEsT0FBTyxDQUFDRjtnQkFFNUMsT0FBT0M7WUFDUjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxlQUFlLEVBQUVDLGVBQWUsRUFBRTtnQkFDdkMsSUFBTW5CLE9BQU9vQixpQkFBVSxFQUNqQkMsaUJBQWlCLElBdENOdEIsZUFzQ3lCQztnQkFFMUMsT0FBT3FCO1lBQ1Q7OztZQUVBZixLQUFBQTttQkFBQUEsU0FBQUEsUUFBUTtnQkFDTixJQUFNZSxpQkFBaUJ0QixBQTVDTkEsZUE0Q3FCdUIsV0FBVztnQkFFakQsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU12QixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQndCLE9BQU87b0JBQ0x4QixNQUFBQTtnQkFDRjtnQkFFTixPQUFPd0I7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUU7Z0JBQ3BCLElBQU0sQUFBRXhCLE9BQVN3QixLQUFUeEIsTUFDRnFCLGlCQUFpQixJQTVETnRCLGVBNER5QkM7Z0JBRTFDLE9BQU9xQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTXRCLE9BQU9vQixpQkFBVSxFQUNqQkMsaUJBQWlCLElBbkVOdEIsZUFtRXlCQztnQkFFMUMsT0FBT3FCO1lBQ1Q7OztXQXRFbUJ0QiJ9
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return InsertOperation;
9
9
  }
10
10
  });
11
- var _stringCompare = /*#__PURE__*/ _interopRequireDefault(require("../stringCompare"));
11
+ var _contentCompare = /*#__PURE__*/ _interopRequireDefault(require("../contentCompare"));
12
12
  var _delete = /*#__PURE__*/ _interopRequireDefault(require("../operation/delete"));
13
13
  var _types = require("../types");
14
14
  function _classCallCheck(instance, Constructor) {
@@ -36,24 +36,37 @@ function _interopRequireDefault(obj) {
36
36
  };
37
37
  }
38
38
  var InsertOperation = /*#__PURE__*/ function() {
39
- function InsertOperation(type, string, position) {
39
+ function InsertOperation(type, content, position) {
40
40
  _classCallCheck(this, InsertOperation);
41
41
  this.type = type;
42
- this.string = string;
42
+ this.content = content;
43
43
  this.position = position;
44
44
  }
45
45
  _createClass(InsertOperation, [
46
46
  {
47
- key: "clone",
48
- value: function clone() {
49
- return InsertOperation.fromStringAndPosition(this.string, this.position);
47
+ key: "getType",
48
+ value: function getType() {
49
+ return this.type;
50
+ }
51
+ },
52
+ {
53
+ key: "getContent",
54
+ value: function getContent() {
55
+ return this.content;
56
+ }
57
+ },
58
+ {
59
+ key: "getPosition",
60
+ value: function getPosition() {
61
+ return this.position;
50
62
  }
51
63
  },
52
64
  {
53
65
  key: "transformOperation",
54
66
  value: function transformOperation(operation) {
55
- switch(operation.type){
56
- case _types.insertType:
67
+ var type = operation.getType();
68
+ switch(type){
69
+ case _types.INSERT_TYPE:
57
70
  return function(tau, rho) {
58
71
  if (tau.position < rho.position) {
59
72
  return [
@@ -61,13 +74,13 @@ var InsertOperation = /*#__PURE__*/ function() {
61
74
  ];
62
75
  }
63
76
  if (tau.position === rho.position) {
64
- if (tau.string === rho.string) {
77
+ if (tau.content === rho.content) {
65
78
  return [
66
79
  tau.clone()
67
80
  ];
68
81
  }
69
- if (tau.string !== rho.string) {
70
- if ((0, _stringCompare.default)(rho.string, tau.string)) {
82
+ if (tau.content !== rho.content) {
83
+ if ((0, _contentCompare.default)(rho.content, tau.content)) {
71
84
  return [
72
85
  rho.shift(tau)
73
86
  ];
@@ -84,9 +97,9 @@ var InsertOperation = /*#__PURE__*/ function() {
84
97
  ];
85
98
  }
86
99
  }(operation, this);
87
- case _types.deleteType:
100
+ case _types.DELETE_TYPE:
88
101
  return function(tau, rho) {
89
- if (tau.position + tau.length <= rho.position) {
102
+ if (tau.position + tau.content.length <= rho.position) {
90
103
  return [
91
104
  tau.clone()
92
105
  ];
@@ -103,7 +116,7 @@ var InsertOperation = /*#__PURE__*/ function() {
103
116
  ];
104
117
  }
105
118
  }(operation, this);
106
- case _types.emptyType:
119
+ case _types.EMPTY_TYPE:
107
120
  return function(tau, rho) {
108
121
  return [
109
122
  tau.clone()
@@ -115,17 +128,27 @@ var InsertOperation = /*#__PURE__*/ function() {
115
128
  {
116
129
  key: "transformContent",
117
130
  value: function transformContent(content) {
118
- return content.substring(0, this.position) + this.string + content.substring(this.position);
131
+ var start, end;
132
+ start = 0;
133
+ end = this.position;
134
+ var leftContent = content.substring(start, end);
135
+ start = this.position;
136
+ var rightContent = content.substring(start), transformedContent = leftContent + this.content + rightContent;
137
+ return transformedContent;
119
138
  }
120
139
  },
121
140
  {
122
141
  key: "transformSelection",
123
142
  value: function transformSelection(selection) {
124
143
  var transformedSelection;
125
- var startPosition = this.position, length = this.string.length, selectionStartPosition = selection.getStartPosition(), selectionEndPosition = selection.getEndPosition(), offset = length, endOffset = offset; ///
126
- if (false) {} else if (selectionStartPosition >= startPosition) {
144
+ var selectionStartPosition = selection.getStartPosition(), selectionEndPosition = selection.getEndPosition(), contentLength = this.content.length, startPosition = this.position; ///
145
+ if (false) {
146
+ ///
147
+ } else if (selectionStartPosition >= startPosition) {
148
+ var offset = contentLength; ///
127
149
  transformedSelection = selection.shifted(offset);
128
150
  } else if (selectionEndPosition > startPosition) {
151
+ var contentLength1 = this.content.length, endOffset = contentLength1; ///
129
152
  transformedSelection = selection.endPositionShifted(endOffset);
130
153
  } else {
131
154
  transformedSelection = selection.clone();
@@ -136,41 +159,58 @@ var InsertOperation = /*#__PURE__*/ function() {
136
159
  {
137
160
  key: "shifted",
138
161
  value: function shifted(offset) {
139
- var string = this.string, position = this.position + offset, insertOperation = InsertOperation.fromStringAndPosition(string, position);
162
+ var content = this.content, position = this.position + offset, insertOperation = InsertOperation.fromContentAndPosition(content, position);
140
163
  return insertOperation;
141
164
  }
142
165
  },
143
166
  {
144
167
  key: "shift",
145
168
  value: function shift(operation) {
146
- var length = this.string.length, offset = length, shiftedOperation = operation.shifted(offset);
169
+ var length = this.content.length, offset = length, shiftedOperation = operation.shifted(offset);
147
170
  return shiftedOperation;
148
171
  }
149
172
  },
150
173
  {
151
174
  key: "left",
152
175
  value: function left(deleteOperation) {
153
- var position = deleteOperation.position, length = this.position - position;
154
- deleteOperation = _delete.default.fromLengthAndPosition(length, position);
176
+ var content = deleteOperation.getContent();
177
+ var position = deleteOperation.getPosition(), contentLength = this.position - position, start = 0, end = contentLength; ///
178
+ content = content.substring(start, end);
179
+ deleteOperation = _delete.default.fromContentAndPosition(content, position);
155
180
  return deleteOperation;
156
181
  }
157
182
  },
158
183
  {
159
184
  key: "right",
160
185
  value: function right(deleteOperation) {
161
- var length = deleteOperation.length, position = deleteOperation.position;
162
- length = length - this.position + position;
186
+ var content = deleteOperation.getContent(), position = deleteOperation.getPosition();
187
+ var start = this.position - position;
163
188
  position = this.position;
164
- deleteOperation = _delete.default.fromLengthAndPosition(length, position);
189
+ content = content.substring(start);
190
+ deleteOperation = _delete.default.fromContentAndPosition(content, position);
191
+ return deleteOperation;
192
+ }
193
+ },
194
+ {
195
+ key: "invert",
196
+ value: function invert(InsertOperation, DeleteOperation) {
197
+ var deleteOperation = DeleteOperation.fromContentAndPosition(this.content, this.position);
165
198
  return deleteOperation;
166
199
  }
167
200
  },
201
+ {
202
+ key: "clone",
203
+ value: function clone() {
204
+ var insertOperation = InsertOperation.fromContentAndPosition(this.content, this.position);
205
+ return insertOperation;
206
+ }
207
+ },
168
208
  {
169
209
  key: "toJSON",
170
210
  value: function toJSON() {
171
- var type = this.type, string = this.string, position = this.position, json = {
211
+ var type = this.type, content = this.content, position = this.position, json = {
172
212
  type: type,
173
- string: string,
213
+ content: content,
174
214
  position: position
175
215
  };
176
216
  return json;
@@ -180,14 +220,21 @@ var InsertOperation = /*#__PURE__*/ function() {
180
220
  {
181
221
  key: "fromJSON",
182
222
  value: function fromJSON(json) {
183
- var type = json.type, string = json.string, position = json.position, insertOperation = new InsertOperation(type, string, position);
223
+ var type = json.type, content = json.content, position = json.position, insertOperation = new InsertOperation(type, content, position);
224
+ return insertOperation;
225
+ }
226
+ },
227
+ {
228
+ key: "fromContentAndPosition",
229
+ value: function fromContentAndPosition(content, position) {
230
+ var type = _types.INSERT_TYPE, insertOperation = new InsertOperation(type, content, position);
184
231
  return insertOperation;
185
232
  }
186
233
  },
187
234
  {
188
- key: "fromStringAndPosition",
189
- value: function fromStringAndPosition(string, position) {
190
- var type = _types.insertType, insertOperation = new InsertOperation(type, string, position);
235
+ key: "fromContentAndSelection",
236
+ value: function fromContentAndSelection(content, selection) {
237
+ var startPosition = selection.getStartPosition(), type = _types.INSERT_TYPE, position = startPosition, insertOperation = new InsertOperation(type, content, position);
191
238
  return insertOperation;
192
239
  }
193
240
  }
@@ -195,4 +242,4 @@ var InsertOperation = /*#__PURE__*/ function() {
195
242
  return InsertOperation;
196
243
  }();
197
244
 
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vaW5zZXJ0LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHN0cmluZ0NvbXBhcmUgZnJvbSBcIi4uL3N0cmluZ0NvbXBhcmVcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5cclxuaW1wb3J0IHsgaW5zZXJ0VHlwZSwgZGVsZXRlVHlwZSwgZW1wdHlUeXBlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnNlcnRPcGVyYXRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKHR5cGUsIHN0cmluZywgcG9zaXRpb24pIHtcclxuXHQgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcclxuICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb25lKCkge1xyXG4gICAgcmV0dXJuIEluc2VydE9wZXJhdGlvbi5mcm9tU3RyaW5nQW5kUG9zaXRpb24odGhpcy5zdHJpbmcsIHRoaXMucG9zaXRpb24pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgc3dpdGNoIChvcGVyYXRpb24udHlwZSkge1xyXG4gICAgICBjYXNlIGluc2VydFR5cGU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uIDwgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPT09IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGF1LnN0cmluZyA9PT0gcmhvLnN0cmluZykge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0YXUuc3RyaW5nICE9PSByaG8uc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHN0cmluZ0NvbXBhcmUocmhvLnN0cmluZywgdGF1LnN0cmluZykpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHRhdSldO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uID4gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHRhdSldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KShvcGVyYXRpb24sIHRoaXMpO1xyXG5cclxuICAgICAgY2FzZSBkZWxldGVUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiArIHRhdS5sZW5ndGggPD0gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPCByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtyaG8ubGVmdCh0YXUpLCByaG8ubGVmdCh0YXUpLnNoaWZ0KHJoby5zaGlmdChyaG8ucmlnaHQodGF1KSkpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uID49IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuXHJcbiAgICAgIGNhc2UgZW1wdHlUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcblxyXG4gICAgICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIHJldHVybiBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvc2l0aW9uKSArIHRoaXMuc3RyaW5nICsgY29udGVudC5zdWJzdHJpbmcodGhpcy5wb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKSB7XHJcbiAgICBsZXQgdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcblxyXG4gICAgY29uc3Qgc3RhcnRQb3NpdGlvbiA9IHRoaXMucG9zaXRpb24sIC8vL1xyXG4gICAgICAgICAgbGVuZ3RoID0gdGhpcy5zdHJpbmcubGVuZ3RoLFxyXG4gICAgICAgICAgc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRTdGFydFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzZWxlY3Rpb25FbmRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRFbmRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgb2Zmc2V0ID0gbGVuZ3RoLCAgLy8vXHJcbiAgICAgICAgICBlbmRPZmZzZXQgPSBvZmZzZXQ7IC8vL1xyXG5cclxuICAgIGlmIChmYWxzZSkge1xyXG5cclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA+PSBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLnNoaWZ0ZWQob2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uRW5kUG9zaXRpb24gPiBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLmVuZFBvc2l0aW9uU2hpZnRlZChlbmRPZmZzZXQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdGVkKG9mZnNldCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5zdHJpbmcsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gKyBvZmZzZXQsXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdChvcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuc3RyaW5nLmxlbmd0aCxcclxuXHRcdFx0XHQgIG9mZnNldCA9IGxlbmd0aCwgIC8vL1xyXG4gICAgICAgICAgc2hpZnRlZE9wZXJhdGlvbiA9IG9wZXJhdGlvbi5zaGlmdGVkKG9mZnNldCk7XHJcblxyXG4gICAgcmV0dXJuIHNoaWZ0ZWRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBsZWZ0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSBkZWxldGVPcGVyYXRpb24ucG9zaXRpb24sXHJcbiAgICAgICAgICBsZW5ndGggPSB0aGlzLnBvc2l0aW9uIC0gcG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcmlnaHQoZGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBsZXQgbGVuZ3RoID0gZGVsZXRlT3BlcmF0aW9uLmxlbmd0aCxcclxuICAgICAgICBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5wb3NpdGlvbjtcclxuXHJcbiAgICBsZW5ndGggPSBsZW5ndGggLSB0aGlzLnBvc2l0aW9uICsgcG9zaXRpb247XHJcbiAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcclxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuc3RyaW5nLFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAganNvbiA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgc3RyaW5nLFxyXG4gICAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICByZXR1cm4ganNvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIHN0cmluZywgcG9zaXRpb24gfSA9IGpzb24sXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pIHtcclxuICAgIGNvbnN0IHR5cGUgPSBpbnNlcnRUeXBlLCAgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiSW5zZXJ0T3BlcmF0aW9uIiwidHlwZSIsInN0cmluZyIsInBvc2l0aW9uIiwiY2xvbmUiLCJmcm9tU3RyaW5nQW5kUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJpbnNlcnRUeXBlIiwidGF1IiwicmhvIiwic3RyaW5nQ29tcGFyZSIsInNoaWZ0IiwiZGVsZXRlVHlwZSIsImxlbmd0aCIsImxlZnQiLCJyaWdodCIsImVtcHR5VHlwZSIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uU3RhcnRQb3NpdGlvbiIsImdldFN0YXJ0UG9zaXRpb24iLCJzZWxlY3Rpb25FbmRQb3NpdGlvbiIsImdldEVuZFBvc2l0aW9uIiwib2Zmc2V0IiwiZW5kT2Zmc2V0Iiwic2hpZnRlZCIsImVuZFBvc2l0aW9uU2hpZnRlZCIsImluc2VydE9wZXJhdGlvbiIsInNoaWZ0ZWRPcGVyYXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O2tFQUxLOzJEQUNFO3FCQUVzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxJQUFBLEFBQU1BLGdDQUFO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
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vaW5zZXJ0LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IGNvbnRlbnRDb21wYXJlIGZyb20gXCIuLi9jb250ZW50Q29tcGFyZVwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5pbXBvcnQgeyBJTlNFUlRfVFlQRSwgREVMRVRFX1RZUEUsIEVNUFRZX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluc2VydE9wZXJhdGlvbiB7XHJcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGVudCwgcG9zaXRpb24pIHtcclxuXHQgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGU7XHJcbiAgfVxyXG5cclxuICBnZXRDb250ZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb247XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1PcGVyYXRpb24ob3BlcmF0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gb3BlcmF0aW9uLmdldFR5cGUoKTtcclxuXHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSBJTlNFUlRfVFlQRTpcclxuICAgICAgICByZXR1cm4gKCh0YXUsIHJobykgPT4ge1xyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPCByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA9PT0gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh0YXUuY29udGVudCA9PT0gcmhvLmNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRhdS5jb250ZW50ICE9PSByaG8uY29udGVudCkge1xyXG4gICAgICAgICAgICAgIGlmIChjb250ZW50Q29tcGFyZShyaG8uY29udGVudCwgdGF1LmNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuXHJcbiAgICAgIGNhc2UgREVMRVRFX1RZUEU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uICsgdGF1LmNvbnRlbnQubGVuZ3RoIDw9IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uIDwgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcmhvLmxlZnQodGF1KSwgcmhvLmxlZnQodGF1KS5zaGlmdChyaG8uc2hpZnQocmhvLnJpZ2h0KHRhdSkpKV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+PSByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtyaG8uc2hpZnQodGF1KV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcblxyXG4gICAgICBjYXNlIEVNUFRZX1RZUEU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybUNvbnRlbnQoY29udGVudCkge1xyXG4gICAgbGV0IHN0YXJ0LFxyXG4gICAgICAgIGVuZDtcclxuXHJcbiAgICBzdGFydCA9IDA7XHJcblxyXG4gICAgZW5kID0gdGhpcy5wb3NpdGlvbjtcclxuXHJcbiAgICBjb25zdCBsZWZ0Q29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpO1xyXG5cclxuICAgIHN0YXJ0ID0gdGhpcy5wb3NpdGlvbjtcclxuXHJcbiAgICBjb25zdCByaWdodENvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZyhzdGFydCksXHJcbiAgICAgICAgICB0cmFuc2Zvcm1lZENvbnRlbnQgPSBsZWZ0Q29udGVudCArIHRoaXMuY29udGVudCArIHJpZ2h0Q29udGVudDtcclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtU2VsZWN0aW9uKHNlbGVjdGlvbikge1xyXG4gICAgbGV0IHRyYW5zZm9ybWVkU2VsZWN0aW9uO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSwgLy8vXHJcbiAgICAgICAgICBjb250ZW50TGVuZ3RoID0gdGhpcy5jb250ZW50Lmxlbmd0aCxcclxuICAgICAgICAgIHN0YXJ0UG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uOyAvLy9cclxuXHJcbiAgICBpZiAoZmFsc2UpIHtcclxuICAgICAgLy8vXHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPj0gc3RhcnRQb3NpdGlvbikge1xyXG4gICAgICBjb25zdCBvZmZzZXQgPSBjb250ZW50TGVuZ3RoOyAvLy9cclxuXHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLnNoaWZ0ZWQob2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uRW5kUG9zaXRpb24gPiBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSB0aGlzLmNvbnRlbnQubGVuZ3RoLFxyXG4gICAgICAgICAgICBlbmRPZmZzZXQgPSBjb250ZW50TGVuZ3RoOyAgLy8vXHJcblxyXG4gICAgICB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5lbmRQb3NpdGlvblNoaWZ0ZWQoZW5kT2Zmc2V0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLmNsb25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkU2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2hpZnRlZChvZmZzZXQpIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gKyBvZmZzZXQsXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbUNvbnRlbnRBbmRQb3NpdGlvbihjb250ZW50LCBwb3NpdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGluc2VydE9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHNoaWZ0KG9wZXJhdGlvbikge1xyXG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5jb250ZW50Lmxlbmd0aCxcclxuXHRcdFx0XHQgIG9mZnNldCA9IGxlbmd0aCwgIC8vL1xyXG4gICAgICAgICAgc2hpZnRlZE9wZXJhdGlvbiA9IG9wZXJhdGlvbi5zaGlmdGVkKG9mZnNldCk7XHJcblxyXG4gICAgcmV0dXJuIHNoaWZ0ZWRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBsZWZ0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgbGV0IGNvbnRlbnQgPSBkZWxldGVPcGVyYXRpb24uZ2V0Q29udGVudCgpO1xyXG5cclxuICAgIGNvbnN0IHBvc2l0aW9uID0gZGVsZXRlT3BlcmF0aW9uLmdldFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBjb250ZW50TGVuZ3RoID0gdGhpcy5wb3NpdGlvbiAtIHBvc2l0aW9uLFxyXG4gICAgICAgICAgc3RhcnQgPSAwLFxyXG4gICAgICAgICAgZW5kID0gY29udGVudExlbmd0aDsgIC8vL1xyXG5cclxuICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZyhzdGFydCwgZW5kKTtcclxuXHJcbiAgICBkZWxldGVPcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUNvbnRlbnRBbmRQb3NpdGlvbihjb250ZW50LCBwb3NpdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGRlbGV0ZU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHJpZ2h0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgbGV0IGNvbnRlbnQgPSBkZWxldGVPcGVyYXRpb24uZ2V0Q29udGVudCgpLFxyXG4gICAgICAgIHBvc2l0aW9uID0gZGVsZXRlT3BlcmF0aW9uLmdldFBvc2l0aW9uKCk7XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLnBvc2l0aW9uIC0gcG9zaXRpb247XHJcblxyXG4gICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xyXG5cclxuICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZyhzdGFydCk7XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24oY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBkZWxldGVPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBpbnZlcnQoSW5zZXJ0T3BlcmF0aW9uLCBEZWxldGVPcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IGRlbGV0ZU9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tQ29udGVudEFuZFBvc2l0aW9uKHRoaXMuY29udGVudCwgdGhpcy5wb3NpdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGRlbGV0ZU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb25lKCkge1xyXG4gICAgY29uc3QgaW5zZXJ0T3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24odGhpcy5jb250ZW50LCB0aGlzLnBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gaW5zZXJ0T3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcclxuICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24sXHJcbiAgICAgICAgICBqc29uID0ge1xyXG4gICAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgICBjb250ZW50LFxyXG4gICAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICByZXR1cm4ganNvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIGNvbnRlbnQsIHBvc2l0aW9uIH0gPSBqc29uLFxyXG4gICAgICAgICAgaW5zZXJ0T3BlcmF0aW9uID0gbmV3IEluc2VydE9wZXJhdGlvbih0eXBlLCBjb250ZW50LCBwb3NpdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGluc2VydE9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tQ29udGVudEFuZFBvc2l0aW9uKGNvbnRlbnQsIHBvc2l0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gSU5TRVJUX1RZUEUsICAvLy9cclxuICAgICAgICAgIGluc2VydE9wZXJhdGlvbiA9IG5ldyBJbnNlcnRPcGVyYXRpb24odHlwZSwgY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUNvbnRlbnRBbmRTZWxlY3Rpb24oY29udGVudCwgc2VsZWN0aW9uKSB7XHJcbiAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldFN0YXJ0UG9zaXRpb24oKSxcclxuICAgICAgICAgIHR5cGUgPSBJTlNFUlRfVFlQRSwgIC8vL1xyXG4gICAgICAgICAgcG9zaXRpb24gPSBzdGFydFBvc2l0aW9uLCAvLy9cclxuICAgICAgICAgIGluc2VydE9wZXJhdGlvbiA9IG5ldyBJbnNlcnRPcGVyYXRpb24odHlwZSwgY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiSW5zZXJ0T3BlcmF0aW9uIiwidHlwZSIsImNvbnRlbnQiLCJwb3NpdGlvbiIsImdldFR5cGUiLCJnZXRDb250ZW50IiwiZ2V0UG9zaXRpb24iLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJJTlNFUlRfVFlQRSIsInRhdSIsInJobyIsImNsb25lIiwiY29udGVudENvbXBhcmUiLCJzaGlmdCIsIkRFTEVURV9UWVBFIiwibGVuZ3RoIiwibGVmdCIsInJpZ2h0IiwiRU1QVFlfVFlQRSIsInRyYW5zZm9ybUNvbnRlbnQiLCJzdGFydCIsImVuZCIsImxlZnRDb250ZW50Iiwic3Vic3RyaW5nIiwicmlnaHRDb250ZW50IiwidHJhbnNmb3JtZWRDb250ZW50IiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzZWxlY3Rpb25TdGFydFBvc2l0aW9uIiwiZ2V0U3RhcnRQb3NpdGlvbiIsInNlbGVjdGlvbkVuZFBvc2l0aW9uIiwiZ2V0RW5kUG9zaXRpb24iLCJjb250ZW50TGVuZ3RoIiwic3RhcnRQb3NpdGlvbiIsIm9mZnNldCIsInNoaWZ0ZWQiLCJlbmRPZmZzZXQiLCJlbmRQb3NpdGlvblNoaWZ0ZWQiLCJpbnNlcnRPcGVyYXRpb24iLCJmcm9tQ29udGVudEFuZFBvc2l0aW9uIiwic2hpZnRlZE9wZXJhdGlvbiIsImRlbGV0ZU9wZXJhdGlvbiIsIkRlbGV0ZU9wZXJhdGlvbiIsImludmVydCIsInRvSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImZyb21Db250ZW50QW5kU2VsZWN0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OzttRUFMTTsyREFDQztxQkFFeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEMsSUFBQSxBQUFNQSxnQ0FBTjthQUFNQSxnQkFDUEMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFFBQVE7OEJBRGhCSDtRQUVsQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWCxJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2lCQUpDSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWE7Z0JBQ1gsT0FBTyxJQUFJLENB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
@@ -22,13 +22,13 @@ function operationsFromJSON(operationsJSON) {
22
22
  var operation;
23
23
  var json = operationJSON, type = json.type;
24
24
  switch(type){
25
- case _types.emptyType:
25
+ case _types.EMPTY_TYPE:
26
26
  operation = _empty.default.fromJSON(json);
27
27
  break;
28
- case _types.deleteType:
28
+ case _types.DELETE_TYPE:
29
29
  operation = _delete.default.fromJSON(json);
30
30
  break;
31
- case _types.insertType:
31
+ case _types.INSERT_TYPE:
32
32
  operation = _insert.default.fromJSON(json);
33
33
  break;
34
34
  }
@@ -37,4 +37,4 @@ function operationsFromJSON(operationsJSON) {
37
37
  return operations;
38
38
  }
39
39
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2Zyb21KU09OLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEVtcHR5T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZW1wdHlcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5pbXBvcnQgSW5zZXJ0T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vaW5zZXJ0XCI7XHJcblxyXG5pbXBvcnQgeyBlbXB0eVR5cGUsIGRlbGV0ZVR5cGUsIGluc2VydFR5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9wZXJhdGlvbnNGcm9tSlNPTihvcGVyYXRpb25zSlNPTikge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBvcGVyYXRpb25zSlNPTi5tYXAoKG9wZXJhdGlvbkpTT04pID0+IHtcclxuICAgIGxldCBvcGVyYXRpb247XHJcblxyXG4gICAgY29uc3QganNvbiA9IG9wZXJhdGlvbkpTT04sIC8vL1xyXG4gICAgICAgICAgeyB0eXBlIH0gPSBqc29uO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIGVtcHR5VHlwZTpcclxuICAgICAgICBvcGVyYXRpb24gPSBFbXB0eU9wZXJhdGlvbi5mcm9tSlNPTihqc29uKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgZGVsZXRlVHlwZTpcclxuICAgICAgICBvcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUpTT04oanNvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIGluc2VydFR5cGU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21KU09OKGpzb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBvcGVyYXRpb25zO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJvcGVyYXRpb25zRnJvbUpTT04iLCJvcGVyYXRpb25zSlNPTiIsIm9wZXJhdGlvbnMiLCJtYXAiLCJvcGVyYXRpb25KU09OIiwib3BlcmF0aW9uIiwianNvbiIsInR5cGUiLCJlbXB0eVR5cGUiLCJFbXB0eU9wZXJhdGlvbiIsImZyb21KU09OIiwiZGVsZXRlVHlwZSIsIkRlbGV0ZU9wZXJhdGlvbiIsImluc2VydFR5cGUiLCJJbnNlcnRPcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7MERBTkc7MkRBQ0M7MkRBQ0E7cUJBRXNCOzs7Ozs7QUFFbkMsU0FBU0EsbUJBQW1CQyxjQUFjLEVBQUU7SUFDekQsSUFBTUMsYUFBYUQsZUFBZUUsR0FBRyxDQUFDLFNBQUNDLGVBQWtCO1FBQ3ZELElBQUlDO1FBRUosSUFBTUMsT0FBT0YsZUFDUCxBQUFFRyxPQUFTRCxLQUFUQztRQUVSLE9BQVFBO1lBQ04sS0FBS0MsZ0JBQVM7Z0JBQ1pILFlBQVlJLGNBQWMsQ0FBQ0MsUUFBUSxDQUFDSjtnQkFDcEMsS0FBTTtZQUVSLEtBQUtLLGlCQUFVO2dCQUNiTixZQUFZTyxlQUFlLENBQUNGLFFBQVEsQ0FBQ0o7Z0JBQ3JDLEtBQU07WUFFUixLQUFLTyxpQkFBVTtnQkFDYlIsWUFBWVMsZUFBZSxDQUFDSixRQUFRLENBQUNKO2dCQUNyQyxLQUFNO1FBQ1Y7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT0g7QUFDVCJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2Zyb21KU09OLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEVtcHR5T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZW1wdHlcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5pbXBvcnQgSW5zZXJ0T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vaW5zZXJ0XCI7XHJcblxyXG5pbXBvcnQgeyBFTVBUWV9UWVBFLCBERUxFVEVfVFlQRSwgSU5TRVJUX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9wZXJhdGlvbnNGcm9tSlNPTihvcGVyYXRpb25zSlNPTikge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBvcGVyYXRpb25zSlNPTi5tYXAoKG9wZXJhdGlvbkpTT04pID0+IHtcclxuICAgIGxldCBvcGVyYXRpb247XHJcblxyXG4gICAgY29uc3QganNvbiA9IG9wZXJhdGlvbkpTT04sIC8vL1xyXG4gICAgICAgICAgeyB0eXBlIH0gPSBqc29uO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIEVNUFRZX1RZUEU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gRW1wdHlPcGVyYXRpb24uZnJvbUpTT04oanNvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIERFTEVURV9UWVBFOlxyXG4gICAgICAgIG9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tSlNPTihqc29uKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSU5TRVJUX1RZUEU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21KU09OKGpzb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBvcGVyYXRpb25zO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJvcGVyYXRpb25zRnJvbUpTT04iLCJvcGVyYXRpb25zSlNPTiIsIm9wZXJhdGlvbnMiLCJtYXAiLCJvcGVyYXRpb25KU09OIiwib3BlcmF0aW9uIiwianNvbiIsInR5cGUiLCJFTVBUWV9UWVBFIiwiRW1wdHlPcGVyYXRpb24iLCJmcm9tSlNPTiIsIkRFTEVURV9UWVBFIiwiRGVsZXRlT3BlcmF0aW9uIiwiSU5TRVJUX1RZUEUiLCJJbnNlcnRPcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7MERBTkc7MkRBQ0M7MkRBQ0E7cUJBRXlCOzs7Ozs7QUFFdEMsU0FBU0EsbUJBQW1CQyxjQUFjLEVBQUU7SUFDekQsSUFBTUMsYUFBYUQsZUFBZUUsR0FBRyxDQUFDLFNBQUNDLGVBQWtCO1FBQ3ZELElBQUlDO1FBRUosSUFBTUMsT0FBT0YsZUFDUCxBQUFFRyxPQUFTRCxLQUFUQztRQUVSLE9BQVFBO1lBQ04sS0FBS0MsaUJBQVU7Z0JBQ2JILFlBQVlJLGNBQWMsQ0FBQ0MsUUFBUSxDQUFDSjtnQkFDcEMsS0FBTTtZQUVSLEtBQUtLLGtCQUFXO2dCQUNkTixZQUFZTyxlQUFlLENBQUNGLFFBQVEsQ0FBQ0o7Z0JBQ3JDLEtBQU07WUFFUixLQUFLTyxrQkFBVztnQkFDZFIsWUFBWVMsZUFBZSxDQUFDSixRQUFRLENBQUNKO2dCQUNyQyxLQUFNO1FBQ1Y7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT0g7QUFDVCJ9
@@ -15,28 +15,28 @@ function _interopRequireDefault(obj) {
15
15
  default: obj
16
16
  };
17
17
  }
18
- function generateOperations(workingContent, editableContent) {
19
- var operations = [], workingContentLength = workingContent.length, editableContentLength = editableContent.length;
18
+ function generateOperations(contentA, contentB) {
19
+ var operations = [], contentALength = contentA.length, contentBLength = contentB.length;
20
20
  var left, right;
21
- for(left = 0; left < workingContentLength && left < editableContentLength; left++){
22
- if (workingContent[left] !== editableContent[left]) {
21
+ for(left = 0; left < contentALength && left < contentBLength; left++){
22
+ if (contentA[left] !== contentB[left]) {
23
23
  break;
24
24
  }
25
25
  }
26
- for(right = 0; right < workingContentLength - left && right < editableContentLength - left; right++){
27
- if (workingContent[workingContentLength - right - 1] !== editableContent[editableContentLength - right - 1]) {
26
+ for(right = 0; right < contentALength - left && right < contentBLength - left; right++){
27
+ if (contentA[contentALength - right - 1] !== contentB[contentBLength - right - 1]) {
28
28
  break;
29
29
  }
30
30
  }
31
- if (left + right !== workingContentLength) {
32
- var length = workingContentLength - left - right, position = left, deleteOperation = _delete.default.fromLengthAndPosition(length, position);
31
+ if (left + right !== contentALength) {
32
+ var start = left, end = contentALength - right, content = contentA.substring(start, end), position = left, deleteOperation = _delete.default.fromContentAndPosition(content, position);
33
33
  operations.push(deleteOperation);
34
34
  }
35
- if (left + right !== editableContentLength) {
36
- var string = editableContent.substring(left, editableContentLength - right), position1 = left, insertOperation = _insert.default.fromStringAndPosition(string, position1);
35
+ if (left + right !== contentBLength) {
36
+ var start1 = left, end1 = contentBLength - right, content1 = contentB.substring(start1, end1), position1 = left, insertOperation = _insert.default.fromContentAndPosition(content1, position1);
37
37
  operations.push(insertOperation);
38
38
  }
39
39
  return operations;
40
40
  }
41
41
 
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2dlbmVyYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEluc2VydE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2luc2VydFwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZU9wZXJhdGlvbnMod29ya2luZ0NvbnRlbnQsIGVkaXRhYmxlQ29udGVudCkge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBbXSxcclxuICAgICAgICB3b3JraW5nQ29udGVudExlbmd0aCA9IHdvcmtpbmdDb250ZW50Lmxlbmd0aCxcclxuICAgICAgICBlZGl0YWJsZUNvbnRlbnRMZW5ndGggPSBlZGl0YWJsZUNvbnRlbnQubGVuZ3RoO1xyXG4gIFxyXG4gIGxldCBsZWZ0LCByaWdodDtcclxuXHJcbiAgZm9yIChsZWZ0ID0gMDsgKGxlZnQgPCB3b3JraW5nQ29udGVudExlbmd0aCkgJiYgKGxlZnQgPCBlZGl0YWJsZUNvbnRlbnRMZW5ndGgpOyBsZWZ0KyspIHtcclxuICAgIGlmICh3b3JraW5nQ29udGVudFtsZWZ0XSAhPT0gZWRpdGFibGVDb250ZW50W2xlZnRdKSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChyaWdodCA9IDA7IChyaWdodCA8IHdvcmtpbmdDb250ZW50TGVuZ3RoIC0gbGVmdCkgJiYgKHJpZ2h0IDwgZWRpdGFibGVDb250ZW50TGVuZ3RoIC0gbGVmdCk7IHJpZ2h0KyspIHtcclxuICAgIGlmICh3b3JraW5nQ29udGVudFt3b3JraW5nQ29udGVudExlbmd0aCAtIHJpZ2h0IC0gMV0gIT09IGVkaXRhYmxlQ29udGVudFtlZGl0YWJsZUNvbnRlbnRMZW5ndGggLSByaWdodCAtIDFdKSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKGxlZnQgKyByaWdodCAhPT0gd29ya2luZ0NvbnRlbnRMZW5ndGgpIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHdvcmtpbmdDb250ZW50TGVuZ3RoIC0gbGVmdCAtIHJpZ2h0LCAgLy8vXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICBvcGVyYXRpb25zLnB1c2goZGVsZXRlT3BlcmF0aW9uKTtcclxuICB9XHJcblxyXG4gIGlmIChsZWZ0ICsgcmlnaHQgIT09IGVkaXRhYmxlQ29udGVudExlbmd0aCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gZWRpdGFibGVDb250ZW50LnN1YnN0cmluZyhsZWZ0LCBlZGl0YWJsZUNvbnRlbnRMZW5ndGggLSByaWdodCksICAvLy9cclxuICAgICAgICAgIHBvc2l0aW9uID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIG9wZXJhdGlvbnMucHVzaChpbnNlcnRPcGVyYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG9wZXJhdGlvbnM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImdlbmVyYXRlT3BlcmF0aW9ucyIsIndvcmtpbmdDb250ZW50IiwiZWRpdGFibGVDb250ZW50Iiwib3BlcmF0aW9ucyIsIndvcmtpbmdDb250ZW50TGVuZ3RoIiwibGVuZ3RoIiwiZWRpdGFibGVDb250ZW50TGVuZ3RoIiwibGVmdCIsInJpZ2h0IiwicG9zaXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJwdXNoIiwic3RyaW5nIiwic3Vic3RyaW5nIiwiaW5zZXJ0T3BlcmF0aW9uIiwiSW5zZXJ0T3BlcmF0aW9uIiwiZnJvbVN0cmluZ0FuZFBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7OzJEQUhJOzJEQUNBOzs7Ozs7QUFFYixTQUFTQSxtQkFBbUJDLGNBQWMsRUFBRUMsZUFBZSxFQUFFO0lBQzFFLElBQU1DLGFBQWEsRUFBRSxFQUNmQyx1QkFBdUJILGVBQWVJLE1BQU0sRUFDNUNDLHdCQUF3QkosZ0JBQWdCRyxNQUFNO0lBRXBELElBQUlFLE1BQU1DO0lBRVYsSUFBS0QsT0FBTyxHQUFHLEFBQUNBLE9BQU9ILHdCQUEwQkcsT0FBT0QsdUJBQXdCQyxPQUFRO1FBQ3RGLElBQUlOLGNBQWMsQ0FBQ00sS0FBSyxLQUFLTCxlQUFlLENBQUNLLEtBQUssRUFBRTtZQUNsRCxLQUFNO1FBQ1IsQ0FBQztJQUNIO0lBRUEsSUFBS0MsUUFBUSxHQUFHLEFBQUNBLFFBQVFKLHVCQUF1QkcsUUFBVUMsUUFBUUYsd0JBQXdCQyxNQUFPQyxRQUFTO1FBQ3hHLElBQUlQLGNBQWMsQ0FBQ0csdUJBQXVCSSxRQUFRLEVBQUUsS0FBS04sZUFBZSxDQUFDSSx3QkFBd0JFLFFBQVEsRUFBRSxFQUFFO1lBQzNHLEtBQU07UUFDUixDQUFDO0lBQ0g7SUFFQSxJQUFJRCxPQUFPQyxVQUFVSixzQkFBc0I7UUFDekMsSUFBTUMsU0FBU0QsdUJBQXVCRyxPQUFPQyxPQUN2Q0MsV0FBV0YsTUFDWEcsa0JBQWtCQyxlQUFlLENBQUNDLHFCQUFxQixDQUFDUCxRQUFRSTtRQUV0RU4sV0FBV1UsSUFBSSxDQUFDSDtJQUNsQixDQUFDO0lBRUQsSUFBSUgsT0FBT0MsVUFBVUYsdUJBQXVCO1FBQzFDLElBQU1RLFNBQVNaLGdCQUFnQmEsU0FBUyxDQUFDUixNQUFNRCx3QkFBd0JFLFFBQ2pFQyxZQUFXRixNQUNYUyxrQkFBa0JDLGVBQWUsQ0FBQ0MscUJBQXFCLENBQUNKLFFBQVFMO1FBRXRFTixXQUFXVSxJQUFJLENBQUNHO0lBQ2xCLENBQUM7SUFFRCxPQUFPYjtBQUNUIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2dlbmVyYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEluc2VydE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2luc2VydFwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZU9wZXJhdGlvbnMoY29udGVudEEsIGNvbnRlbnRCKSB7XHJcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IFtdLFxyXG4gICAgICAgIGNvbnRlbnRBTGVuZ3RoID0gY29udGVudEEubGVuZ3RoLFxyXG4gICAgICAgIGNvbnRlbnRCTGVuZ3RoID0gY29udGVudEIubGVuZ3RoO1xyXG4gIFxyXG4gIGxldCBsZWZ0LCByaWdodDtcclxuXHJcbiAgZm9yIChsZWZ0ID0gMDsgKGxlZnQgPCBjb250ZW50QUxlbmd0aCkgJiYgKGxlZnQgPCBjb250ZW50Qkxlbmd0aCk7IGxlZnQrKykge1xyXG4gICAgaWYgKGNvbnRlbnRBW2xlZnRdICE9PSBjb250ZW50QltsZWZ0XSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvciAocmlnaHQgPSAwOyAocmlnaHQgPCBjb250ZW50QUxlbmd0aCAtIGxlZnQpICYmIChyaWdodCA8IGNvbnRlbnRCTGVuZ3RoIC0gbGVmdCk7IHJpZ2h0KyspIHtcclxuICAgIGlmIChjb250ZW50QVtjb250ZW50QUxlbmd0aCAtIHJpZ2h0IC0gMV0gIT09IGNvbnRlbnRCW2NvbnRlbnRCTGVuZ3RoIC0gcmlnaHQgLSAxXSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmIChsZWZ0ICsgcmlnaHQgIT09IGNvbnRlbnRBTGVuZ3RoKSB7XHJcbiAgICBjb25zdCBzdGFydCA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZW5kID0gY29udGVudEFMZW5ndGggLSByaWdodCxcclxuICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50QS5zdWJzdHJpbmcoc3RhcnQsIGVuZCksXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24oY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIG9wZXJhdGlvbnMucHVzaChkZWxldGVPcGVyYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgaWYgKGxlZnQgKyByaWdodCAhPT0gY29udGVudEJMZW5ndGgpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBlbmQgPSBjb250ZW50Qkxlbmd0aCAtIHJpZ2h0LFxyXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRCLnN1YnN0cmluZyhzdGFydCwgZW5kKSxcclxuICAgICAgICAgIHBvc2l0aW9uID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbUNvbnRlbnRBbmRQb3NpdGlvbihjb250ZW50LCBwb3NpdGlvbik7XHJcblxyXG4gICAgb3BlcmF0aW9ucy5wdXNoKGluc2VydE9wZXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3BlcmF0aW9ucztcclxufVxyXG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVPcGVyYXRpb25zIiwiY29udGVudEEiLCJjb250ZW50QiIsIm9wZXJhdGlvbnMiLCJjb250ZW50QUxlbmd0aCIsImxlbmd0aCIsImNvbnRlbnRCTGVuZ3RoIiwibGVmdCIsInJpZ2h0Iiwic3RhcnQiLCJlbmQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwicG9zaXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tQ29udGVudEFuZFBvc2l0aW9uIiwicHVzaCIsImluc2VydE9wZXJhdGlvbiIsIkluc2VydE9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUF3QkE7OzsyREFISTsyREFDQTs7Ozs7O0FBRWIsU0FBU0EsbUJBQW1CQyxRQUFRLEVBQUVDLFFBQVEsRUFBRTtJQUM3RCxJQUFNQyxhQUFhLEVBQUUsRUFDZkMsaUJBQWlCSCxTQUFTSSxNQUFNLEVBQ2hDQyxpQkFBaUJKLFNBQVNHLE1BQU07SUFFdEMsSUFBSUUsTUFBTUM7SUFFVixJQUFLRCxPQUFPLEdBQUcsQUFBQ0EsT0FBT0gsa0JBQW9CRyxPQUFPRCxnQkFBaUJDLE9BQVE7UUFDekUsSUFBSU4sUUFBUSxDQUFDTSxLQUFLLEtBQUtMLFFBQVEsQ0FBQ0ssS0FBSyxFQUFFO1lBQ3JDLEtBQU07UUFDUixDQUFDO0lBQ0g7SUFFQSxJQUFLQyxRQUFRLEdBQUcsQUFBQ0EsUUFBUUosaUJBQWlCRyxRQUFVQyxRQUFRRixpQkFBaUJDLE1BQU9DLFFBQVM7UUFDM0YsSUFBSVAsUUFBUSxDQUFDRyxpQkFBaUJJLFFBQVEsRUFBRSxLQUFLTixRQUFRLENBQUNJLGlCQUFpQkUsUUFBUSxFQUFFLEVBQUU7WUFDakYsS0FBTTtRQUNSLENBQUM7SUFDSDtJQUVBLElBQUlELE9BQU9DLFVBQVVKLGdCQUFnQjtRQUNuQyxJQUFNSyxRQUFRRixNQUNSRyxNQUFNTixpQkFBaUJJLE9BQ3ZCRyxVQUFVVixTQUFTVyxTQUFTLENBQUNILE9BQU9DLE1BQ3BDRyxXQUFXTixNQUNYTyxrQkFBa0JDLGVBQWUsQ0FBQ0Msc0JBQXNCLENBQUNMLFNBQVNFO1FBRXhFVixXQUFXYyxJQUFJLENBQUNIO0lBQ2xCLENBQUM7SUFFRCxJQUFJUCxPQUFPQyxVQUFVRixnQkFBZ0I7UUFDbkMsSUFBTUcsU0FBUUYsTUFDUkcsT0FBTUosaUJBQWlCRSxPQUN2QkcsV0FBVVQsU0FBU1UsU0FBUyxDQUFDSCxRQUFPQyxPQUNwQ0csWUFBV04sTUFDWFcsa0JBQWtCQyxlQUFlLENBQUNILHNCQUFzQixDQUFDTCxVQUFTRTtRQUV4RVYsV0FBV2MsSUFBSSxDQUFDQztJQUNsQixDQUFDO0lBRUQsT0FBT2Y7QUFDVCJ9
@@ -9,16 +9,12 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _necessary = require("necessary");
12
- var first = _necessary.arrayUtilities.first, tail = _necessary.arrayUtilities.tail;
12
+ var first = _necessary.arrayUtilities.first, head = _necessary.arrayUtilities.head, tail = _necessary.arrayUtilities.tail;
13
13
  function transformOperations(tau, rho) {
14
14
  if (tau.length === 0 || rho.length === 0) {
15
15
  return tau;
16
16
  }
17
- var tau1 = [
18
- first(tau)
19
- ], tau2 = tail(tau), rho1 = [
20
- first(rho)
21
- ], rho2 = tail(rho);
17
+ var tau1 = head(tau), tau2 = tail(tau), rho1 = head(rho), rho2 = tail(rho);
22
18
  if (tau.length > 1 && rho.length > 1) {
23
19
  return transformOperations(transformOperations(tau1, rho1), rho2).concat(transformOperations(transformOperations(tau2, transformOperations(rho1, tau1)), transformOperations(rho2, transformOperations(tau1, rho1))));
24
20
  } else if (tau.length > 1 && rho.length === 1) {
@@ -32,4 +28,4 @@ function transformOperations(tau, rho) {
32
28
  }
33
29
  }
34
30
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3RyYW5zZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCwgdGFpbCB9ID0gYXJyYXlVdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdSwgcmhvKSB7XHJcbiAgaWYgKCh0YXUubGVuZ3RoID09PSAwKSB8fCAocmhvLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgIHJldHVybiB0YXU7XHJcbiAgfVxyXG5cclxuICBjb25zdCB0YXUxID0gW2ZpcnN0KHRhdSldLFxyXG4gICAgICAgIHRhdTIgPSB0YWlsKHRhdSksXHJcbiAgICAgICAgcmhvMSA9IFtmaXJzdChyaG8pXSxcclxuICAgICAgICByaG8yID0gdGFpbChyaG8pO1xyXG5cclxuICBpZiAodGF1Lmxlbmd0aCA+IDEgJiYgcmhvLmxlbmd0aCA+IDEpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKSxcclxuICAgICAgICByaG8yXHJcbiAgICAgICkuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKFxyXG4gICAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHJobzEsIHRhdTEpXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhcclxuICAgICAgICAgICAgcmhvMixcclxuICAgICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKCh0YXUubGVuZ3RoID4gMSkgJiYgKHJoby5sZW5ndGggPT09IDEpKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdTEsIHJobykuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhyaG8sIHRhdTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoKHRhdS5sZW5ndGggPT09IDEpICYmIChyaG8ubGVuZ3RoID4gMSkpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUsIHJobzEpLFxyXG4gICAgICAgIHJobzJcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGF1ID0gZmlyc3QodGF1KTsgLy8vXHJcbiAgICByaG8gPSBmaXJzdChyaG8pOyAvLy9cclxuXHJcbiAgICByZXR1cm4gcmhvLnRyYW5zZm9ybU9wZXJhdGlvbih0YXUpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtT3BlcmF0aW9ucyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJ0YWlsIiwidGF1IiwicmhvIiwibGVuZ3RoIiwidGF1MSIsInRhdTIiLCJyaG8xIiwicmhvMiIsImNvbmNhdCIsInRyYW5zZm9ybU9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7Ozt5QkFKTztBQUUvQixJQUFRQyxRQUFnQkMseUJBQWMsQ0FBOUJELE9BQU9FLE9BQVNELHlCQUFjLENBQXZCQztBQUVBLFNBQVNILG9CQUFvQkksR0FBRyxFQUFFQyxHQUFHLEVBQUU7SUFDcEQsSUFBSSxBQUFDRCxJQUFJRSxNQUFNLEtBQUssS0FBT0QsSUFBSUMsTUFBTSxLQUFLLEdBQUk7UUFDNUMsT0FBT0Y7SUFDVCxDQUFDO0lBRUQsSUFBTUcsT0FBTztRQUFDTixNQUFNRztLQUFLLEVBQ25CSSxPQUFPTCxLQUFLQyxNQUNaSyxPQUFPO1FBQUNSLE1BQU1JO0tBQUssRUFDbkJLLE9BQU9QLEtBQUtFO0lBRWxCLElBQUlELElBQUlFLE1BQU0sR0FBRyxLQUFLRCxJQUFJQyxNQUFNLEdBQUcsR0FBRztRQUNwQyxPQUNFTixvQkFDRUEsb0JBQW9CTyxNQUFNRSxPQUMxQkMsTUFDQUMsTUFBTSxDQUNOWCxvQkFDRUEsb0JBQ0VRLE1BQ0FSLG9CQUFvQlMsTUFBTUYsUUFFNUJQLG9CQUNFVSxNQUNBVixvQkFBb0JPLE1BQU1FO0lBS3BDLE9BQU8sSUFBSSxBQUFDTCxJQUFJRSxNQUFNLEdBQUcsS0FBT0QsSUFBSUMsTUFBTSxLQUFLLEdBQUk7UUFDakQsT0FDRU4sb0JBQW9CTyxNQUFNRixLQUFLTSxNQUFNLENBQ25DWCxvQkFDRVEsTUFDQVIsb0JBQW9CSyxLQUFLRTtJQUlqQyxPQUFPLElBQUksQUFBQ0gsSUFBSUUsTUFBTSxLQUFLLEtBQU9ELElBQUlDLE1BQU0sR0FBRyxHQUFJO1FBQ2pELE9BQ0VOLG9CQUNFQSxvQkFBb0JJLEtBQUtLLE9BQ3pCQztJQUdOLE9BQU87UUFDTE4sTUFBTUgsTUFBTUcsTUFBTSxHQUFHO1FBQ3JCQyxNQUFNSixNQUFNSSxNQUFNLEdBQUc7UUFFckIsT0FBT0EsSUFBSU8sa0JBQWtCLENBQUNSO0lBQ2hDLENBQUM7QUFDSCJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3RyYW5zZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCwgaGVhZCwgdGFpbCB9ID0gYXJyYXlVdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdSwgcmhvKSB7XHJcbiAgaWYgKCh0YXUubGVuZ3RoID09PSAwKSB8fCAocmhvLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgIHJldHVybiB0YXU7XHJcbiAgfVxyXG5cclxuICBjb25zdCB0YXUxID0gaGVhZCh0YXUpLFxyXG4gICAgICAgIHRhdTIgPSB0YWlsKHRhdSksXHJcbiAgICAgICAgcmhvMSA9IGhlYWQocmhvKSxcclxuICAgICAgICByaG8yID0gdGFpbChyaG8pO1xyXG5cclxuICBpZiAodGF1Lmxlbmd0aCA+IDEgJiYgcmhvLmxlbmd0aCA+IDEpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKSxcclxuICAgICAgICByaG8yXHJcbiAgICAgICkuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKFxyXG4gICAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHJobzEsIHRhdTEpXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhcclxuICAgICAgICAgICAgcmhvMixcclxuICAgICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKCh0YXUubGVuZ3RoID4gMSkgJiYgKHJoby5sZW5ndGggPT09IDEpKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdTEsIHJobykuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhyaG8sIHRhdTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoKHRhdS5sZW5ndGggPT09IDEpICYmIChyaG8ubGVuZ3RoID4gMSkpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUsIHJobzEpLFxyXG4gICAgICAgIHJobzJcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGF1ID0gZmlyc3QodGF1KTsgLy8vXHJcbiAgICByaG8gPSBmaXJzdChyaG8pOyAvLy9cclxuXHJcbiAgICByZXR1cm4gcmhvLnRyYW5zZm9ybU9wZXJhdGlvbih0YXUpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtT3BlcmF0aW9ucyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJoZWFkIiwidGFpbCIsInRhdSIsInJobyIsImxlbmd0aCIsInRhdTEiLCJ0YXUyIiwicmhvMSIsInJobzIiLCJjb25jYXQiLCJ0cmFuc2Zvcm1PcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7eUJBSk87QUFFL0IsSUFBUUMsUUFBc0JDLHlCQUFjLENBQXBDRCxPQUFPRSxPQUFlRCx5QkFBYyxDQUE3QkMsTUFBTUMsT0FBU0YseUJBQWMsQ0FBdkJFO0FBRU4sU0FBU0osb0JBQW9CSyxHQUFHLEVBQUVDLEdBQUcsRUFBRTtJQUNwRCxJQUFJLEFBQUNELElBQUlFLE1BQU0sS0FBSyxLQUFPRCxJQUFJQyxNQUFNLEtBQUssR0FBSTtRQUM1QyxPQUFPRjtJQUNULENBQUM7SUFFRCxJQUFNRyxPQUFPTCxLQUFLRSxNQUNaSSxPQUFPTCxLQUFLQyxNQUNaSyxPQUFPUCxLQUFLRyxNQUNaSyxPQUFPUCxLQUFLRTtJQUVsQixJQUFJRCxJQUFJRSxNQUFNLEdBQUcsS0FBS0QsSUFBSUMsTUFBTSxHQUFHLEdBQUc7UUFDcEMsT0FDRVAsb0JBQ0VBLG9CQUFvQlEsTUFBTUUsT0FDMUJDLE1BQ0FDLE1BQU0sQ0FDTlosb0JBQ0VBLG9CQUNFUyxNQUNBVCxvQkFBb0JVLE1BQU1GLFFBRTVCUixvQkFDRVcsTUFDQVgsb0JBQW9CUSxNQUFNRTtJQUtwQyxPQUFPLElBQUksQUFBQ0wsSUFBSUUsTUFBTSxHQUFHLEtBQU9ELElBQUlDLE1BQU0sS0FBSyxHQUFJO1FBQ2pELE9BQ0VQLG9CQUFvQlEsTUFBTUYsS0FBS00sTUFBTSxDQUNuQ1osb0JBQ0VTLE1BQ0FULG9CQUFvQk0sS0FBS0U7SUFJakMsT0FBTyxJQUFJLEFBQUNILElBQUlFLE1BQU0sS0FBSyxLQUFPRCxJQUFJQyxNQUFNLEdBQUcsR0FBSTtRQUNqRCxPQUNFUCxvQkFDRUEsb0JBQW9CSyxLQUFLSyxPQUN6QkM7SUFHTixPQUFPO1FBQ0xOLE1BQU1KLE1BQU1JLE1BQU0sR0FBRztRQUNyQkMsTUFBTUwsTUFBTUssTUFBTSxHQUFHO1FBRXJCLE9BQU9BLElBQUlPLGtCQUFrQixDQUFDUjtJQUNoQyxDQUFDO0FBQ0gifQ==