easy-richtextarea 4.0.34 → 4.0.36

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 (49) hide show
  1. package/example.js +93 -1563
  2. package/lib/browser.js +1 -37
  3. package/lib/main.js +4 -45
  4. package/lib/mixins/event.js +11 -10
  5. package/lib/richTextarea.js +31 -156
  6. package/lib/selection.js +7 -146
  7. package/package.json +1 -3
  8. package/src/browser.js +0 -11
  9. package/src/main.js +0 -12
  10. package/src/mixins/event.js +3 -4
  11. package/src/richTextarea.js +22 -239
  12. package/src/selection.js +4 -154
  13. package/lib/constants.js +0 -22
  14. package/lib/contentCompare.js +0 -34
  15. package/lib/eventTypes.js +0 -49
  16. package/lib/keyCodes.js +0 -13
  17. package/lib/operation/delete.js +0 -290
  18. package/lib/operation/empty.js +0 -116
  19. package/lib/operation/insert.js +0 -245
  20. package/lib/operations/fromJSON.js +0 -40
  21. package/lib/operations/generate.js +0 -42
  22. package/lib/operations/toJSON.js +0 -17
  23. package/lib/transform/content.js +0 -19
  24. package/lib/transform/operations.js +0 -31
  25. package/lib/transform/selection.js +0 -19
  26. package/lib/types.js +0 -34
  27. package/lib/undoBuffer.js +0 -145
  28. package/src/constants.js +0 -4
  29. package/src/contentCompare.js +0 -34
  30. package/src/eventTypes.js +0 -15
  31. package/src/keyCodes.js +0 -3
  32. package/src/operation/delete.js +0 -285
  33. package/src/operation/empty.js +0 -76
  34. package/src/operation/insert.js +0 -221
  35. package/src/operations/fromJSON.js +0 -34
  36. package/src/operations/generate.js +0 -46
  37. package/src/operations/toJSON.js +0 -5
  38. package/src/transform/content.js +0 -11
  39. package/src/transform/operations.js +0 -57
  40. package/src/transform/selection.js +0 -11
  41. package/src/types.js +0 -11
  42. package/src/undoBuffer.js +0 -119
  43. package/test/content/transform.js +0 -57
  44. package/test/helpers.js +0 -91
  45. package/test/operation/delete.js +0 -390
  46. package/test/operation/empty.js +0 -101
  47. package/test/operation/insert.js +0 -306
  48. package/test/operations/generate.js +0 -78
  49. package/test/operations/transform.js +0 -69
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return EmptyOperation;
9
- }
10
- });
11
- var _types = require("../types");
12
- function _classCallCheck(instance, Constructor) {
13
- if (!(instance instanceof Constructor)) {
14
- throw new TypeError("Cannot call a class as a function");
15
- }
16
- }
17
- function _defineProperties(target, props) {
18
- for(var i = 0; i < props.length; i++){
19
- var descriptor = props[i];
20
- descriptor.enumerable = descriptor.enumerable || false;
21
- descriptor.configurable = true;
22
- if ("value" in descriptor) descriptor.writable = true;
23
- Object.defineProperty(target, descriptor.key, descriptor);
24
- }
25
- }
26
- function _createClass(Constructor, protoProps, staticProps) {
27
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
- if (staticProps) _defineProperties(Constructor, staticProps);
29
- return Constructor;
30
- }
31
- var EmptyOperation = /*#__PURE__*/ function() {
32
- function EmptyOperation(type) {
33
- _classCallCheck(this, EmptyOperation);
34
- this.type = type;
35
- }
36
- _createClass(EmptyOperation, [
37
- {
38
- key: "getType",
39
- value: function getType() {
40
- return this.type;
41
- }
42
- },
43
- {
44
- key: "transformContent",
45
- value: function transformContent(content) {
46
- var transformedContent = content; ///
47
- return transformedContent;
48
- }
49
- },
50
- {
51
- key: "transformOperation",
52
- value: function transformOperation(operation) {
53
- return function(tau, rho) {
54
- return [
55
- tau.clone()
56
- ];
57
- }(operation, this);
58
- }
59
- },
60
- {
61
- key: "transformSelection",
62
- value: function transformSelection(selection) {
63
- var transformedSelection = selection.clone();
64
- return transformedSelection;
65
- }
66
- },
67
- {
68
- key: "shift",
69
- value: function shift(operation) {
70
- var offset = 0, shiftedOperation = operation.shifted(offset);
71
- return shiftedOperation;
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
- },
88
- {
89
- key: "toJSON",
90
- value: function toJSON() {
91
- var type = this.type, json = {
92
- type: type
93
- };
94
- return json;
95
- }
96
- }
97
- ], [
98
- {
99
- key: "fromJSON",
100
- value: function fromJSON(json) {
101
- var type = json.type, emptyOperation = new EmptyOperation(type);
102
- return emptyOperation;
103
- }
104
- },
105
- {
106
- key: "fromNothing",
107
- value: function fromNothing() {
108
- var type = _types.EMPTY_TYPE, emptyOperation = new EmptyOperation(type);
109
- return emptyOperation;
110
- }
111
- }
112
- ]);
113
- return EmptyOperation;
114
- }();
115
-
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vZW1wdHkuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFTVBUWV9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbXB0eU9wZXJhdGlvbiB7XHJcbiAgY29uc3RydWN0b3IodHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtQ29udGVudChjb250ZW50KSB7XHJcbiAgICBjb25zdCB0cmFuc2Zvcm1lZENvbnRlbnQgPSBjb250ZW50OyAvLy9cclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG5cclxuICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKSB7XHJcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5jbG9uZSgpO1xyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZFNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNoaWZ0KG9wZXJhdGlvbikge1xyXG4gIFx0Y29uc3Qgb2Zmc2V0ID0gMCxcclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICBcdHJldHVybiBzaGlmdGVkT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgaW52ZXJ0KEluc2VydE9wZXJhdGlvbiwgRGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gRU1QVFlfVFlQRSxcclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb25lKCkge1xyXG4gICAgY29uc3QgZW1wdHlPcGVyYXRpb24gPSBFbXB0eU9wZXJhdGlvbi5mcm9tTm90aGluZygpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXHJcbiAgICAgICAgICBqc29uID0ge1xyXG4gICAgICAgICAgICB0eXBlXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgIHJldHVybiBqc29uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcclxuICAgIGNvbnN0IHsgdHlwZSB9ID0ganNvbixcclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcclxuICAgIGNvbnN0IHR5cGUgPSBFTVBUWV9UWVBFLCAvLy9cclxuICAgICAgICAgIGVtcHR5T3BlcmF0aW9uID0gbmV3IEVtcHR5T3BlcmF0aW9uKHR5cGUpO1xyXG5cclxuICAgIHJldHVybiBlbXB0eU9wZXJhdGlvbjtcclxuICB9XHJcbn1cclxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJFbXB0eU9wZXJhdGlvbiIsInR5cGUiLCJnZXRUeXBlIiwidHJhbnNmb3JtQ29udGVudCIsImNvbnRlbnQiLCJ0cmFuc2Zvcm1lZENvbnRlbnQiLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJ0YXUiLCJyaG8iLCJjbG9uZSIsInRyYW5zZm9ybVNlbGVjdGlvbiIsInNlbGVjdGlvbiIsInRyYW5zZm9ybWVkU2VsZWN0aW9uIiwic2hpZnQiLCJvZmZzZXQiLCJzaGlmdGVkT3BlcmF0aW9uIiwic2hpZnRlZCIsImludmVydCIsIkluc2VydE9wZXJhdGlvbiIsIkRlbGV0ZU9wZXJhdGlvbiIsIkVNUFRZX1RZUEUiLCJlbXB0eU9wZXJhdGlvbiIsImZyb21Ob3RoaW5nIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OztxQkFGTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFWixJQUFBLEFBQU1BLCtCQUFOO2FBQU1BLGVBQ1BDLElBQUk7OEJBREdEO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7aUJBRktEOztZQUtuQkUsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCQyxPQUFPLEVBQUU7Z0JBQ3hCLElBQU1DLHFCQUFxQkQsU0FBUyxHQUFHO2dCQUV2QyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixPQUFPLEFBQUMsU0FBQ0MsS0FBS0MsS0FBUTtvQkFFcEIsT0FBTzt3QkFBQ0QsSUFBSUUsS0FBSztxQkFBRztnQkFFdEIsRUFBR0gsV0FBVyxJQUFJO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixJQUFNQyx1QkFBdUJELFVBQVVGLEtBQUs7Z0JBRTVDLE9BQU9HO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTVAsU0FBUyxFQUFFO2dCQUNoQixJQUFNUSxTQUFTLEdBQ1JDLG1CQUFtQlQsVUFBVVUsT0FBTyxDQUFDRjtnQkFFNUMsT0FBT0M7WUFDUjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxlQUFlLEVBQUVDLGVBQWUsRUFBRTtnQkFDdkMsSUFBTW5CLE9BQU9vQixpQkFBVSxFQUNqQkMsaUJBQWlCLElBdENOdEIsZUFzQ3lCQztnQkFFMUMsT0FBT3FCO1lBQ1Q7OztZQUVBWixLQUFBQTttQkFBQUEsU0FBQUEsUUFBUTtnQkFDTixJQUFNWSxpQkFBaUJ0QixBQTVDTkEsZUE0Q3FCdUIsV0FBVztnQkFFakQsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU12QixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQndCLE9BQU87b0JBQ0x4QixNQUFBQTtnQkFDRjtnQkFFTixPQUFPd0I7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUU7Z0JBQ3BCLElBQU0sQUFBRXhCLE9BQVN3QixLQUFUeEIsTUFDRnFCLGlCQUFpQixJQTVETnRCLGVBNER5QkM7Z0JBRTFDLE9BQU9xQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTXRCLE9BQU9vQixpQkFBVSxFQUNqQkMsaUJBQWlCLElBbkVOdEIsZUFtRXlCQztnQkFFMUMsT0FBT3FCO1lBQ1Q7OztXQXRFbUJ0QiJ9
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return InsertOperation;
9
- }
10
- });
11
- var _contentCompare = /*#__PURE__*/ _interopRequireDefault(require("../contentCompare"));
12
- var _delete = /*#__PURE__*/ _interopRequireDefault(require("../operation/delete"));
13
- var _types = require("../types");
14
- function _classCallCheck(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _createClass(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- function _interopRequireDefault(obj) {
34
- return obj && obj.__esModule ? obj : {
35
- default: obj
36
- };
37
- }
38
- var InsertOperation = /*#__PURE__*/ function() {
39
- function InsertOperation(type, content, position) {
40
- _classCallCheck(this, InsertOperation);
41
- this.type = type;
42
- this.content = content;
43
- this.position = position;
44
- }
45
- _createClass(InsertOperation, [
46
- {
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;
62
- }
63
- },
64
- {
65
- key: "transformContent",
66
- value: function transformContent(content) {
67
- var start, end;
68
- start = 0;
69
- end = this.position;
70
- var leftContent = content.substring(start, end);
71
- start = this.position;
72
- var rightContent = content.substring(start), transformedContent = leftContent + this.content + rightContent;
73
- return transformedContent;
74
- }
75
- },
76
- {
77
- key: "transformOperation",
78
- value: function transformOperation(operation) {
79
- var type = operation.getType();
80
- switch(type){
81
- case _types.INSERT_TYPE:
82
- return function(tau, rho) {
83
- if (tau.position < rho.position) {
84
- return [
85
- tau.clone()
86
- ];
87
- }
88
- if (tau.position === rho.position) {
89
- if (tau.content === rho.content) {
90
- return [
91
- tau.clone()
92
- ];
93
- }
94
- if (tau.content !== rho.content) {
95
- if ((0, _contentCompare.default)(rho.content, tau.content)) {
96
- return [
97
- rho.shift(tau)
98
- ];
99
- } else {
100
- return [
101
- tau.clone()
102
- ];
103
- }
104
- }
105
- }
106
- if (tau.position > rho.position) {
107
- return [
108
- rho.shift(tau)
109
- ];
110
- }
111
- }(operation, this);
112
- case _types.DELETE_TYPE:
113
- return function(tau, rho) {
114
- if (tau.position + tau.content.length <= rho.position) {
115
- return [
116
- tau.clone()
117
- ];
118
- }
119
- if (tau.position < rho.position) {
120
- return [
121
- rho.left(tau),
122
- rho.left(tau).shift(rho.shift(rho.right(tau)))
123
- ];
124
- }
125
- if (tau.position >= rho.position) {
126
- return [
127
- rho.shift(tau)
128
- ];
129
- }
130
- }(operation, this);
131
- case _types.EMPTY_TYPE:
132
- return function(tau, rho) {
133
- return [
134
- tau.clone()
135
- ];
136
- }(operation, this);
137
- }
138
- }
139
- },
140
- {
141
- key: "transformSelection",
142
- value: function transformSelection(selection) {
143
- var transformedSelection;
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; ///
149
- transformedSelection = selection.shifted(offset);
150
- } else if (selectionEndPosition > startPosition) {
151
- var contentLength1 = this.content.length, endOffset = contentLength1; ///
152
- transformedSelection = selection.endPositionShifted(endOffset);
153
- } else {
154
- transformedSelection = selection.clone();
155
- }
156
- return transformedSelection;
157
- }
158
- },
159
- {
160
- key: "shifted",
161
- value: function shifted(offset) {
162
- var content = this.content, position = this.position + offset, insertOperation = InsertOperation.fromContentAndPosition(content, position);
163
- return insertOperation;
164
- }
165
- },
166
- {
167
- key: "shift",
168
- value: function shift(operation) {
169
- var length = this.content.length, offset = length, shiftedOperation = operation.shifted(offset);
170
- return shiftedOperation;
171
- }
172
- },
173
- {
174
- key: "left",
175
- value: function left(deleteOperation) {
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);
180
- return deleteOperation;
181
- }
182
- },
183
- {
184
- key: "right",
185
- value: function right(deleteOperation) {
186
- var content = deleteOperation.getContent(), position = deleteOperation.getPosition();
187
- var start = this.position - position;
188
- position = this.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);
198
- return deleteOperation;
199
- }
200
- },
201
- {
202
- key: "clone",
203
- value: function clone() {
204
- var insertOperation = InsertOperation.fromContentAndPosition(this.content, this.position);
205
- return insertOperation;
206
- }
207
- },
208
- {
209
- key: "toJSON",
210
- value: function toJSON() {
211
- var type = this.type, content = this.content, position = this.position, json = {
212
- type: type,
213
- content: content,
214
- position: position
215
- };
216
- return json;
217
- }
218
- }
219
- ], [
220
- {
221
- key: "fromJSON",
222
- value: function fromJSON(json) {
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);
231
- return insertOperation;
232
- }
233
- },
234
- {
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);
238
- return insertOperation;
239
- }
240
- }
241
- ]);
242
- return InsertOperation;
243
- }();
244
-
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vaW5zZXJ0LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IGNvbnRlbnRDb21wYXJlIGZyb20gXCIuLi9jb250ZW50Q29tcGFyZVwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5pbXBvcnQgeyBJTlNFUlRfVFlQRSwgREVMRVRFX1RZUEUsIEVNUFRZX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEluc2VydE9wZXJhdGlvbiB7XHJcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGVudCwgcG9zaXRpb24pIHtcclxuXHQgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGU7XHJcbiAgfVxyXG5cclxuICBnZXRDb250ZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb247XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIGxldCBzdGFydCxcclxuICAgICAgICAgZW5kO1xyXG5cclxuICAgIHN0YXJ0ID0gMDtcclxuXHJcbiAgICBlbmQgPSB0aGlzLnBvc2l0aW9uO1xyXG5cclxuICAgIGNvbnN0IGxlZnRDb250ZW50ID0gY29udGVudC5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgc3RhcnQgPSB0aGlzLnBvc2l0aW9uO1xyXG5cclxuICAgIGNvbnN0IHJpZ2h0Q29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKHN0YXJ0KSxcclxuICAgICAgICAgIHRyYW5zZm9ybWVkQ29udGVudCA9IGxlZnRDb250ZW50ICsgdGhpcy5jb250ZW50ICsgcmlnaHRDb250ZW50O1xyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZENvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1PcGVyYXRpb24ob3BlcmF0aW9uKSB7XHJcbiAgICBjb25zdCB0eXBlID0gb3BlcmF0aW9uLmdldFR5cGUoKTtcclxuXHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSBJTlNFUlRfVFlQRTpcclxuICAgICAgICByZXR1cm4gKCh0YXUsIHJobykgPT4ge1xyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPCByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA9PT0gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh0YXUuY29udGVudCA9PT0gcmhvLmNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRhdS5jb250ZW50ICE9PSByaG8uY29udGVudCkge1xyXG4gICAgICAgICAgICAgIGlmIChjb250ZW50Q29tcGFyZShyaG8uY29udGVudCwgdGF1LmNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuXHJcbiAgICAgIGNhc2UgREVMRVRFX1RZUEU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uICsgdGF1LmNvbnRlbnQubGVuZ3RoIDw9IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uIDwgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcmhvLmxlZnQodGF1KSwgcmhvLmxlZnQodGF1KS5zaGlmdChyaG8uc2hpZnQocmhvLnJpZ2h0KHRhdSkpKV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiA+PSByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtyaG8uc2hpZnQodGF1KV07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcblxyXG4gICAgICBjYXNlIEVNUFRZX1RZUEU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybVNlbGVjdGlvbihzZWxlY3Rpb24pIHtcclxuICAgIGxldCB0cmFuc2Zvcm1lZFNlbGVjdGlvbjtcclxuXHJcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldFN0YXJ0UG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvbkVuZFBvc2l0aW9uID0gc2VsZWN0aW9uLmdldEVuZFBvc2l0aW9uKCksIC8vL1xyXG4gICAgICAgICAgY29udGVudExlbmd0aCA9IHRoaXMuY29udGVudC5sZW5ndGgsXHJcbiAgICAgICAgICBzdGFydFBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjsgLy8vXHJcblxyXG4gICAgaWYgKGZhbHNlKSB7XHJcbiAgICAgIC8vL1xyXG4gICAgfSBlbHNlIGlmIChzZWxlY3Rpb25TdGFydFBvc2l0aW9uID49IHN0YXJ0UG9zaXRpb24pIHtcclxuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29udGVudExlbmd0aDsgLy8vXHJcblxyXG4gICAgICB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5zaGlmdGVkKG9mZnNldCk7XHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGlvbkVuZFBvc2l0aW9uID4gc3RhcnRQb3NpdGlvbikge1xyXG4gICAgICBjb25zdCBjb250ZW50TGVuZ3RoID0gdGhpcy5jb250ZW50Lmxlbmd0aCxcclxuICAgICAgICAgICAgZW5kT2Zmc2V0ID0gY29udGVudExlbmd0aDsgIC8vL1xyXG5cclxuICAgICAgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uZW5kUG9zaXRpb25TaGlmdGVkKGVuZE9mZnNldCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IHNlbGVjdGlvbi5jbG9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZFNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNoaWZ0ZWQob2Zmc2V0KSB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50LFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uICsgb2Zmc2V0LFxyXG4gICAgICAgICAgaW5zZXJ0T3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24oY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdChvcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuY29udGVudC5sZW5ndGgsXHJcblx0XHRcdFx0ICBvZmZzZXQgPSBsZW5ndGgsICAvLy9cclxuICAgICAgICAgIHNoaWZ0ZWRPcGVyYXRpb24gPSBvcGVyYXRpb24uc2hpZnRlZChvZmZzZXQpO1xyXG5cclxuICAgIHJldHVybiBzaGlmdGVkT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgbGVmdChkZWxldGVPcGVyYXRpb24pIHtcclxuICAgIGxldCBjb250ZW50ID0gZGVsZXRlT3BlcmF0aW9uLmdldENvbnRlbnQoKTtcclxuXHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5nZXRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgY29udGVudExlbmd0aCA9IHRoaXMucG9zaXRpb24gLSBwb3NpdGlvbixcclxuICAgICAgICAgIHN0YXJ0ID0gMCxcclxuICAgICAgICAgIGVuZCA9IGNvbnRlbnRMZW5ndGg7ICAvLy9cclxuXHJcbiAgICBjb250ZW50ID0gY29udGVudC5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24oY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBkZWxldGVPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICByaWdodChkZWxldGVPcGVyYXRpb24pIHtcclxuICAgIGxldCBjb250ZW50ID0gZGVsZXRlT3BlcmF0aW9uLmdldENvbnRlbnQoKSxcclxuICAgICAgICBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5nZXRQb3NpdGlvbigpO1xyXG5cclxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wb3NpdGlvbiAtIHBvc2l0aW9uO1xyXG5cclxuICAgIHBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcclxuXHJcbiAgICBjb250ZW50ID0gY29udGVudC5zdWJzdHJpbmcoc3RhcnQpO1xyXG5cclxuICAgIGRlbGV0ZU9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tQ29udGVudEFuZFBvc2l0aW9uKGNvbnRlbnQsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgaW52ZXJ0KEluc2VydE9wZXJhdGlvbiwgRGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBjb25zdCBkZWxldGVPcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUNvbnRlbnRBbmRQb3NpdGlvbih0aGlzLmNvbnRlbnQsIHRoaXMucG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBkZWxldGVPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBjbG9uZSgpIHtcclxuICAgIGNvbnN0IGluc2VydE9wZXJhdGlvbiA9IEluc2VydE9wZXJhdGlvbi5mcm9tQ29udGVudEFuZFBvc2l0aW9uKHRoaXMuY29udGVudCwgdGhpcy5wb3NpdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGluc2VydE9wZXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUsXHJcbiAgICAgICAgICBjb250ZW50ID0gdGhpcy5jb250ZW50LFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAganNvbiA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgY29udGVudCxcclxuICAgICAgICAgICAgcG9zaXRpb25cclxuICAgICAgICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGpzb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xyXG4gICAgY29uc3QgeyB0eXBlLCBjb250ZW50LCBwb3NpdGlvbiB9ID0ganNvbixcclxuICAgICAgICAgIGluc2VydE9wZXJhdGlvbiA9IG5ldyBJbnNlcnRPcGVyYXRpb24odHlwZSwgY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUNvbnRlbnRBbmRQb3NpdGlvbihjb250ZW50LCBwb3NpdGlvbikge1xyXG4gICAgY29uc3QgdHlwZSA9IElOU0VSVF9UWVBFLCAgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIGNvbnRlbnQsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gaW5zZXJ0T3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21Db250ZW50QW5kU2VsZWN0aW9uKGNvbnRlbnQsIHNlbGVjdGlvbikge1xyXG4gICAgY29uc3Qgc3RhcnRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRTdGFydFBvc2l0aW9uKCksXHJcbiAgICAgICAgICB0eXBlID0gSU5TRVJUX1RZUEUsICAvLy9cclxuICAgICAgICAgIHBvc2l0aW9uID0gc3RhcnRQb3NpdGlvbiwgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIGNvbnRlbnQsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gaW5zZXJ0T3BlcmF0aW9uO1xyXG4gIH1cclxufVxyXG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkluc2VydE9wZXJhdGlvbiIsInR5cGUiLCJjb250ZW50IiwicG9zaXRpb24iLCJnZXRUeXBlIiwiZ2V0Q29udGVudCIsImdldFBvc2l0aW9uIiwidHJhbnNmb3JtQ29udGVudCIsInN0YXJ0IiwiZW5kIiwibGVmdENvbnRlbnQiLCJzdWJzdHJpbmciLCJyaWdodENvbnRlbnQiLCJ0cmFuc2Zvcm1lZENvbnRlbnQiLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJJTlNFUlRfVFlQRSIsInRhdSIsInJobyIsImNsb25lIiwiY29udGVudENvbXBhcmUiLCJzaGlmdCIsIkRFTEVURV9UWVBFIiwibGVuZ3RoIiwibGVmdCIsInJpZ2h0IiwiRU1QVFlfVFlQRSIsInRyYW5zZm9ybVNlbGVjdGlvbiIsInNlbGVjdGlvbiIsInRyYW5zZm9ybWVkU2VsZWN0aW9uIiwic2VsZWN0aW9uU3RhcnRQb3NpdGlvbiIsImdldFN0YXJ0UG9zaXRpb24iLCJzZWxlY3Rpb25FbmRQb3NpdGlvbiIsImdldEVuZFBvc2l0aW9uIiwiY29udGVudExlbmd0aCIsInN0YXJ0UG9zaXRpb24iLCJvZmZzZXQiLCJzaGlmdGVkIiwiZW5kT2Zmc2V0IiwiZW5kUG9zaXRpb25TaGlmdGVkIiwiaW5zZXJ0T3BlcmF0aW9uIiwiZnJvbUNvbnRlbnRBbmRQb3NpdGlvbiIsInNoaWZ0ZWRPcGVyYXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJpbnZlcnQiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmcm9tQ29udGVudEFuZFNlbGVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7bUVBTE07MkRBQ0M7cUJBRXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLElBQUEsQUFBTUEsZ0NBQU47YUFBTUEsZ0JBQ1BDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxRQUFROzhCQURoQkg7UUFFbEIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1gsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztpQkFKQ0g7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhO2dCQUNYLE9BQU8sSUFBSSxD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
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return operationsFromJSON;
9
- }
10
- });
11
- var _empty = /*#__PURE__*/ _interopRequireDefault(require("../operation/empty"));
12
- var _delete = /*#__PURE__*/ _interopRequireDefault(require("../operation/delete"));
13
- var _insert = /*#__PURE__*/ _interopRequireDefault(require("../operation/insert"));
14
- var _types = require("../types");
15
- function _interopRequireDefault(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- function operationsFromJSON(operationsJSON) {
21
- var operations = operationsJSON.map(function(operationJSON) {
22
- var operation;
23
- var json = operationJSON, type = json.type;
24
- switch(type){
25
- case _types.EMPTY_TYPE:
26
- operation = _empty.default.fromJSON(json);
27
- break;
28
- case _types.DELETE_TYPE:
29
- operation = _delete.default.fromJSON(json);
30
- break;
31
- case _types.INSERT_TYPE:
32
- operation = _insert.default.fromJSON(json);
33
- break;
34
- }
35
- return operation;
36
- });
37
- return operations;
38
- }
39
-
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2Zyb21KU09OLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEVtcHR5T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZW1wdHlcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5pbXBvcnQgSW5zZXJ0T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vaW5zZXJ0XCI7XHJcblxyXG5pbXBvcnQgeyBFTVBUWV9UWVBFLCBERUxFVEVfVFlQRSwgSU5TRVJUX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9wZXJhdGlvbnNGcm9tSlNPTihvcGVyYXRpb25zSlNPTikge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBvcGVyYXRpb25zSlNPTi5tYXAoKG9wZXJhdGlvbkpTT04pID0+IHtcclxuICAgIGxldCBvcGVyYXRpb247XHJcblxyXG4gICAgY29uc3QganNvbiA9IG9wZXJhdGlvbkpTT04sIC8vL1xyXG4gICAgICAgICAgeyB0eXBlIH0gPSBqc29uO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIEVNUFRZX1RZUEU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gRW1wdHlPcGVyYXRpb24uZnJvbUpTT04oanNvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIERFTEVURV9UWVBFOlxyXG4gICAgICAgIG9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tSlNPTihqc29uKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSU5TRVJUX1RZUEU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21KU09OKGpzb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBvcGVyYXRpb25zO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJvcGVyYXRpb25zRnJvbUpTT04iLCJvcGVyYXRpb25zSlNPTiIsIm9wZXJhdGlvbnMiLCJtYXAiLCJvcGVyYXRpb25KU09OIiwib3BlcmF0aW9uIiwianNvbiIsInR5cGUiLCJFTVBUWV9UWVBFIiwiRW1wdHlPcGVyYXRpb24iLCJmcm9tSlNPTiIsIkRFTEVURV9UWVBFIiwiRGVsZXRlT3BlcmF0aW9uIiwiSU5TRVJUX1RZUEUiLCJJbnNlcnRPcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7MERBTkc7MkRBQ0M7MkRBQ0E7cUJBRXlCOzs7Ozs7QUFFdEMsU0FBU0EsbUJBQW1CQyxjQUFjLEVBQUU7SUFDekQsSUFBTUMsYUFBYUQsZUFBZUUsR0FBRyxDQUFDLFNBQUNDLGVBQWtCO1FBQ3ZELElBQUlDO1FBRUosSUFBTUMsT0FBT0YsZUFDUCxBQUFFRyxPQUFTRCxLQUFUQztRQUVSLE9BQVFBO1lBQ04sS0FBS0MsaUJBQVU7Z0JBQ2JILFlBQVlJLGNBQWMsQ0FBQ0MsUUFBUSxDQUFDSjtnQkFDcEMsS0FBTTtZQUVSLEtBQUtLLGtCQUFXO2dCQUNkTixZQUFZTyxlQUFlLENBQUNGLFFBQVEsQ0FBQ0o7Z0JBQ3JDLEtBQU07WUFFUixLQUFLTyxrQkFBVztnQkFDZFIsWUFBWVMsZUFBZSxDQUFDSixRQUFRLENBQUNKO2dCQUNyQyxLQUFNO1FBQ1Y7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT0g7QUFDVCJ9
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return generateOperations;
9
- }
10
- });
11
- var _insert = /*#__PURE__*/ _interopRequireDefault(require("../operation/insert"));
12
- var _delete = /*#__PURE__*/ _interopRequireDefault(require("../operation/delete"));
13
- function _interopRequireDefault(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function generateOperations(contentA, contentB) {
19
- var operations = [], contentALength = contentA.length, contentBLength = contentB.length;
20
- var left, right;
21
- for(left = 0; left < contentALength && left < contentBLength; left++){
22
- if (contentA[left] !== contentB[left]) {
23
- break;
24
- }
25
- }
26
- for(right = 0; right < contentALength - left && right < contentBLength - left; right++){
27
- if (contentA[contentALength - right - 1] !== contentB[contentBLength - right - 1]) {
28
- break;
29
- }
30
- }
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
- operations.push(deleteOperation);
34
- }
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
- operations.push(insertOperation);
38
- }
39
- return operations;
40
- }
41
-
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2dlbmVyYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEluc2VydE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2luc2VydFwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZU9wZXJhdGlvbnMoY29udGVudEEsIGNvbnRlbnRCKSB7XHJcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IFtdLFxyXG4gICAgICAgIGNvbnRlbnRBTGVuZ3RoID0gY29udGVudEEubGVuZ3RoLFxyXG4gICAgICAgIGNvbnRlbnRCTGVuZ3RoID0gY29udGVudEIubGVuZ3RoO1xyXG4gIFxyXG4gIGxldCBsZWZ0LCByaWdodDtcclxuXHJcbiAgZm9yIChsZWZ0ID0gMDsgKGxlZnQgPCBjb250ZW50QUxlbmd0aCkgJiYgKGxlZnQgPCBjb250ZW50Qkxlbmd0aCk7IGxlZnQrKykge1xyXG4gICAgaWYgKGNvbnRlbnRBW2xlZnRdICE9PSBjb250ZW50QltsZWZ0XSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvciAocmlnaHQgPSAwOyAocmlnaHQgPCBjb250ZW50QUxlbmd0aCAtIGxlZnQpICYmIChyaWdodCA8IGNvbnRlbnRCTGVuZ3RoIC0gbGVmdCk7IHJpZ2h0KyspIHtcclxuICAgIGlmIChjb250ZW50QVtjb250ZW50QUxlbmd0aCAtIHJpZ2h0IC0gMV0gIT09IGNvbnRlbnRCW2NvbnRlbnRCTGVuZ3RoIC0gcmlnaHQgLSAxXSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmIChsZWZ0ICsgcmlnaHQgIT09IGNvbnRlbnRBTGVuZ3RoKSB7XHJcbiAgICBjb25zdCBzdGFydCA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZW5kID0gY29udGVudEFMZW5ndGggLSByaWdodCxcclxuICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50QS5zdWJzdHJpbmcoc3RhcnQsIGVuZCksXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21Db250ZW50QW5kUG9zaXRpb24oY29udGVudCwgcG9zaXRpb24pO1xyXG5cclxuICAgIG9wZXJhdGlvbnMucHVzaChkZWxldGVPcGVyYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgaWYgKGxlZnQgKyByaWdodCAhPT0gY29udGVudEJMZW5ndGgpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBlbmQgPSBjb250ZW50Qkxlbmd0aCAtIHJpZ2h0LFxyXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRCLnN1YnN0cmluZyhzdGFydCwgZW5kKSxcclxuICAgICAgICAgIHBvc2l0aW9uID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbUNvbnRlbnRBbmRQb3NpdGlvbihjb250ZW50LCBwb3NpdGlvbik7XHJcblxyXG4gICAgb3BlcmF0aW9ucy5wdXNoKGluc2VydE9wZXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3BlcmF0aW9ucztcclxufVxyXG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVPcGVyYXRpb25zIiwiY29udGVudEEiLCJjb250ZW50QiIsIm9wZXJhdGlvbnMiLCJjb250ZW50QUxlbmd0aCIsImxlbmd0aCIsImNvbnRlbnRCTGVuZ3RoIiwibGVmdCIsInJpZ2h0Iiwic3RhcnQiLCJlbmQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwicG9zaXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tQ29udGVudEFuZFBvc2l0aW9uIiwicHVzaCIsImluc2VydE9wZXJhdGlvbiIsIkluc2VydE9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUF3QkE7OzsyREFISTsyREFDQTs7Ozs7O0FBRWIsU0FBU0EsbUJBQW1CQyxRQUFRLEVBQUVDLFFBQVEsRUFBRTtJQUM3RCxJQUFNQyxhQUFhLEVBQUUsRUFDZkMsaUJBQWlCSCxTQUFTSSxNQUFNLEVBQ2hDQyxpQkFBaUJKLFNBQVNHLE1BQU07SUFFdEMsSUFBSUUsTUFBTUM7SUFFVixJQUFLRCxPQUFPLEdBQUcsQUFBQ0EsT0FBT0gsa0JBQW9CRyxPQUFPRCxnQkFBaUJDLE9BQVE7UUFDekUsSUFBSU4sUUFBUSxDQUFDTSxLQUFLLEtBQUtMLFFBQVEsQ0FBQ0ssS0FBSyxFQUFFO1lBQ3JDLEtBQU07UUFDUixDQUFDO0lBQ0g7SUFFQSxJQUFLQyxRQUFRLEdBQUcsQUFBQ0EsUUFBUUosaUJBQWlCRyxRQUFVQyxRQUFRRixpQkFBaUJDLE1BQU9DLFFBQVM7UUFDM0YsSUFBSVAsUUFBUSxDQUFDRyxpQkFBaUJJLFFBQVEsRUFBRSxLQUFLTixRQUFRLENBQUNJLGlCQUFpQkUsUUFBUSxFQUFFLEVBQUU7WUFDakYsS0FBTTtRQUNSLENBQUM7SUFDSDtJQUVBLElBQUlELE9BQU9DLFVBQVVKLGdCQUFnQjtRQUNuQyxJQUFNSyxRQUFRRixNQUNSRyxNQUFNTixpQkFBaUJJLE9BQ3ZCRyxVQUFVVixTQUFTVyxTQUFTLENBQUNILE9BQU9DLE1BQ3BDRyxXQUFXTixNQUNYTyxrQkFBa0JDLGVBQWUsQ0FBQ0Msc0JBQXNCLENBQUNMLFNBQVNFO1FBRXhFVixXQUFXYyxJQUFJLENBQUNIO0lBQ2xCLENBQUM7SUFFRCxJQUFJUCxPQUFPQyxVQUFVRixnQkFBZ0I7UUFDbkMsSUFBTUcsU0FBUUYsTUFDUkcsT0FBTUosaUJBQWlCRSxPQUN2QkcsV0FBVVQsU0FBU1UsU0FBUyxDQUFDSCxRQUFPQyxPQUNwQ0csWUFBV04sTUFDWFcsa0JBQWtCQyxlQUFlLENBQUNILHNCQUFzQixDQUFDTCxVQUFTRTtRQUV4RVYsV0FBV2MsSUFBSSxDQUFDQztJQUNsQixDQUFDO0lBRUQsT0FBT2Y7QUFDVCJ9
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return operationsToJSON;
9
- }
10
- });
11
- function operationsToJSON(operations) {
12
- return operations.map(function(operation) {
13
- return operation.toJSON();
14
- });
15
- }
16
-
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3RvSlNPTi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9wZXJhdGlvbnNUb0pTT04ob3BlcmF0aW9ucykge1xyXG4gIHJldHVybiBvcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uKSA9PiBvcGVyYXRpb24udG9KU09OKCkpO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJvcGVyYXRpb25zVG9KU09OIiwib3BlcmF0aW9ucyIsIm1hcCIsIm9wZXJhdGlvbiIsInRvSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLGlCQUFpQkMsVUFBVSxFQUFFO0lBQ25ELE9BQU9BLFdBQVdDLEdBQUcsQ0FBQyxTQUFDQztlQUFjQSxVQUFVQyxNQUFNOztBQUN2RCJ9
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return transformContent;
9
- }
10
- });
11
- function transformContent(content, operations) {
12
- operations.forEach(function(operation) {
13
- var transformedContent = operation.transformContent(content);
14
- content = transformedContent; ///
15
- });
16
- return content;
17
- }
18
-
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRlbnQoY29udGVudCwgb3BlcmF0aW9ucykge1xyXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB0cmFuc2Zvcm1lZENvbnRlbnQgPSBvcGVyYXRpb24udHJhbnNmb3JtQ29udGVudChjb250ZW50KTtcclxuXHJcbiAgICBjb250ZW50ID0gdHJhbnNmb3JtZWRDb250ZW50OyAvLy9cclxuICB9KVxyXG5cclxuICByZXR1cm4gY29udGVudDtcclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQ29udGVudCIsImNvbnRlbnQiLCJvcGVyYXRpb25zIiwiZm9yRWFjaCIsIm9wZXJhdGlvbiIsInRyYW5zZm9ybWVkQ29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLGlCQUFpQkMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7SUFDNURBLFdBQVdDLE9BQU8sQ0FBQyxTQUFDQyxXQUFjO1FBQ2hDLElBQU1DLHFCQUFxQkQsVUFBVUosZ0JBQWdCLENBQUNDO1FBRXREQSxVQUFVSSxvQkFBb0IsR0FBRztJQUNuQztJQUVBLE9BQU9KO0FBQ1QifQ==
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return transformOperations;
9
- }
10
- });
11
- var _necessary = require("necessary");
12
- var first = _necessary.arrayUtilities.first, head = _necessary.arrayUtilities.head, tail = _necessary.arrayUtilities.tail;
13
- function transformOperations(tau, rho) {
14
- if (tau.length === 0 || rho.length === 0) {
15
- return tau;
16
- }
17
- var tau1 = head(tau), tau2 = tail(tau), rho1 = head(rho), rho2 = tail(rho);
18
- if (tau.length > 1 && rho.length > 1) {
19
- return transformOperations(transformOperations(tau1, rho1), rho2).concat(transformOperations(transformOperations(tau2, transformOperations(rho1, tau1)), transformOperations(rho2, transformOperations(tau1, rho1))));
20
- } else if (tau.length > 1 && rho.length === 1) {
21
- return transformOperations(tau1, rho).concat(transformOperations(tau2, transformOperations(rho, tau1)));
22
- } else if (tau.length === 1 && rho.length > 1) {
23
- return transformOperations(transformOperations(tau, rho1), rho2);
24
- } else {
25
- tau = first(tau); ///
26
- rho = first(rho); ///
27
- return rho.transformOperation(tau);
28
- }
29
- }
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vb3BlcmF0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCwgaGVhZCwgdGFpbCB9ID0gYXJyYXlVdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdSwgcmhvKSB7XHJcbiAgaWYgKCh0YXUubGVuZ3RoID09PSAwKSB8fCAocmhvLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgIHJldHVybiB0YXU7XHJcbiAgfVxyXG5cclxuICBjb25zdCB0YXUxID0gaGVhZCh0YXUpLFxyXG4gICAgICAgIHRhdTIgPSB0YWlsKHRhdSksXHJcbiAgICAgICAgcmhvMSA9IGhlYWQocmhvKSxcclxuICAgICAgICByaG8yID0gdGFpbChyaG8pO1xyXG5cclxuICBpZiAodGF1Lmxlbmd0aCA+IDEgJiYgcmhvLmxlbmd0aCA+IDEpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKSxcclxuICAgICAgICByaG8yXHJcbiAgICAgICkuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKFxyXG4gICAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHJobzEsIHRhdTEpXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhcclxuICAgICAgICAgICAgcmhvMixcclxuICAgICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKCh0YXUubGVuZ3RoID4gMSkgJiYgKHJoby5sZW5ndGggPT09IDEpKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdTEsIHJobykuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhyaG8sIHRhdTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoKHRhdS5sZW5ndGggPT09IDEpICYmIChyaG8ubGVuZ3RoID4gMSkpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUsIHJobzEpLFxyXG4gICAgICAgIHJobzJcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGF1ID0gZmlyc3QodGF1KTsgLy8vXHJcbiAgICByaG8gPSBmaXJzdChyaG8pOyAvLy9cclxuXHJcbiAgICByZXR1cm4gcmhvLnRyYW5zZm9ybU9wZXJhdGlvbih0YXUpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtT3BlcmF0aW9ucyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJoZWFkIiwidGFpbCIsInRhdSIsInJobyIsImxlbmd0aCIsInRhdTEiLCJ0YXUyIiwicmhvMSIsInJobzIiLCJjb25jYXQiLCJ0cmFuc2Zvcm1PcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7eUJBSk87QUFFL0IsSUFBUUMsUUFBc0JDLHlCQUFjLENBQXBDRCxPQUFPRSxPQUFlRCx5QkFBYyxDQUE3QkMsTUFBTUMsT0FBU0YseUJBQWMsQ0FBdkJFO0FBRU4sU0FBU0osb0JBQW9CSyxHQUFHLEVBQUVDLEdBQUcsRUFBRTtJQUNwRCxJQUFJLEFBQUNELElBQUlFLE1BQU0sS0FBSyxLQUFPRCxJQUFJQyxNQUFNLEtBQUssR0FBSTtRQUM1QyxPQUFPRjtJQUNULENBQUM7SUFFRCxJQUFNRyxPQUFPTCxLQUFLRSxNQUNaSSxPQUFPTCxLQUFLQyxNQUNaSyxPQUFPUCxLQUFLRyxNQUNaSyxPQUFPUCxLQUFLRTtJQUVsQixJQUFJRCxJQUFJRSxNQUFNLEdBQUcsS0FBS0QsSUFBSUMsTUFBTSxHQUFHLEdBQUc7UUFDcEMsT0FDRVAsb0JBQ0VBLG9CQUFvQlEsTUFBTUUsT0FDMUJDLE1BQ0FDLE1BQU0sQ0FDTlosb0JBQ0VBLG9CQUNFUyxNQUNBVCxvQkFBb0JVLE1BQU1GLFFBRTVCUixvQkFDRVcsTUFDQVgsb0JBQW9CUSxNQUFNRTtJQUtwQyxPQUFPLElBQUksQUFBQ0wsSUFBSUUsTUFBTSxHQUFHLEtBQU9ELElBQUlDLE1BQU0sS0FBSyxHQUFJO1FBQ2pELE9BQ0VQLG9CQUFvQlEsTUFBTUYsS0FBS00sTUFBTSxDQUNuQ1osb0JBQ0VTLE1BQ0FULG9CQUFvQk0sS0FBS0U7SUFJakMsT0FBTyxJQUFJLEFBQUNILElBQUlFLE1BQU0sS0FBSyxLQUFPRCxJQUFJQyxNQUFNLEdBQUcsR0FBSTtRQUNqRCxPQUNFUCxvQkFDRUEsb0JBQW9CSyxLQUFLSyxPQUN6QkM7SUFHTixPQUFPO1FBQ0xOLE1BQU1KLE1BQU1JLE1BQU0sR0FBRztRQUNyQkMsTUFBTUwsTUFBTUssTUFBTSxHQUFHO1FBRXJCLE9BQU9BLElBQUlPLGtCQUFrQixDQUFDUjtJQUNoQyxDQUFDO0FBQ0gifQ==
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return transformSelection;
9
- }
10
- });
11
- function transformSelection(selection, operations) {
12
- operations.forEach(function(operation) {
13
- var transformedSelection = operation.transformSelection(selection);
14
- selection = transformedSelection; ///
15
- });
16
- return selection;
17
- }
18
-
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vc2VsZWN0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0aW9uKHNlbGVjdGlvbiwgb3BlcmF0aW9ucykge1xyXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdGlvbiA9IG9wZXJhdGlvbi50cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKTtcclxuXHJcbiAgICBzZWxlY3Rpb24gPSB0cmFuc2Zvcm1lZFNlbGVjdGlvbjsgLy8vXHJcbiAgfSlcclxuXHJcbiAgcmV0dXJuIHNlbGVjdGlvbjtcclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwib3BlcmF0aW9ucyIsImZvckVhY2giLCJvcGVyYXRpb24iLCJ0cmFuc2Zvcm1lZFNlbGVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLG1CQUFtQkMsU0FBUyxFQUFFQyxVQUFVLEVBQUU7SUFDaEVBLFdBQVdDLE9BQU8sQ0FBQyxTQUFDQyxXQUFjO1FBQ2hDLElBQU1DLHVCQUF1QkQsVUFBVUosa0JBQWtCLENBQUNDO1FBRTFEQSxZQUFZSSxzQkFBc0IsR0FBRztJQUN2QztJQUVBLE9BQU9KO0FBQ1QifQ==
package/lib/types.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- EMPTY_TYPE: function() {
13
- return EMPTY_TYPE;
14
- },
15
- DELETE_TYPE: function() {
16
- return DELETE_TYPE;
17
- },
18
- INSERT_TYPE: function() {
19
- return INSERT_TYPE;
20
- },
21
- default: function() {
22
- return _default;
23
- }
24
- });
25
- var EMPTY_TYPE = "empty";
26
- var DELETE_TYPE = "delete";
27
- var INSERT_TYPE = "insert";
28
- var _default = {
29
- EMPTY_TYPE: EMPTY_TYPE,
30
- DELETE_TYPE: DELETE_TYPE,
31
- INSERT_TYPE: INSERT_TYPE
32
- };
33
-
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IEVNUFRZX1RZUEUgPSBcImVtcHR5XCI7XG5leHBvcnQgY29uc3QgREVMRVRFX1RZUEUgPSBcImRlbGV0ZVwiO1xuZXhwb3J0IGNvbnN0IElOU0VSVF9UWVBFID0gXCJpbnNlcnRcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBFTVBUWV9UWVBFLFxuICBERUxFVEVfVFlQRSxcbiAgSU5TRVJUX1RZUEVcbn07XG4iXSwibmFtZXMiOlsiRU1QVFlfVFlQRSIsIkRFTEVURV9UWVBFIiwiSU5TRVJUX1RZUEUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVhQSxVQUFVO2VBQVZBOztJQUNBQyxXQUFXO2VBQVhBOztJQUNBQyxXQUFXO2VBQVhBOztJQUViLE9BSUU7ZUFKRjs7O0FBSk8sSUFBTUYsYUFBYTtBQUNuQixJQUFNQyxjQUFjO0FBQ3BCLElBQU1DLGNBQWM7SUFFM0IsV0FBZTtJQUNiRixZQUFBQTtJQUNBQyxhQUFBQTtJQUNBQyxhQUFBQTtBQUNGIn0=