easy-richtextarea 3.0.154 → 4.0.3

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.
@@ -0,0 +1,198 @@
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 _stringCompare = /*#__PURE__*/ _interopRequireDefault(require("../stringCompare"));
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, string, position) {
40
+ _classCallCheck(this, InsertOperation);
41
+ this.type = type;
42
+ this.string = string;
43
+ this.position = position;
44
+ }
45
+ _createClass(InsertOperation, [
46
+ {
47
+ key: "clone",
48
+ value: function clone() {
49
+ return InsertOperation.fromStringAndPosition(this.string, this.position);
50
+ }
51
+ },
52
+ {
53
+ key: "transformOperation",
54
+ value: function transformOperation(operation) {
55
+ switch(operation.type){
56
+ case _types.insertType:
57
+ return function(tau, rho) {
58
+ if (tau.position < rho.position) {
59
+ return [
60
+ tau.clone()
61
+ ];
62
+ }
63
+ if (tau.position === rho.position) {
64
+ if (tau.string === rho.string) {
65
+ return [
66
+ tau.clone()
67
+ ];
68
+ }
69
+ if (tau.string !== rho.string) {
70
+ if ((0, _stringCompare.default)(rho.string, tau.string)) {
71
+ return [
72
+ rho.shift(tau)
73
+ ];
74
+ } else {
75
+ return [
76
+ tau.clone()
77
+ ];
78
+ }
79
+ }
80
+ }
81
+ if (tau.position > rho.position) {
82
+ return [
83
+ rho.shift(tau)
84
+ ];
85
+ }
86
+ }(operation, this);
87
+ case _types.deleteType:
88
+ return function(tau, rho) {
89
+ if (tau.position + tau.length <= rho.position) {
90
+ return [
91
+ tau.clone()
92
+ ];
93
+ }
94
+ if (tau.position < rho.position) {
95
+ return [
96
+ rho.left(tau),
97
+ rho.left(tau).shift(rho.shift(rho.right(tau)))
98
+ ];
99
+ }
100
+ if (tau.position >= rho.position) {
101
+ return [
102
+ rho.shift(tau)
103
+ ];
104
+ }
105
+ }(operation, this);
106
+ case _types.emptyType:
107
+ return function(tau, rho) {
108
+ return [
109
+ tau.clone()
110
+ ];
111
+ }(operation, this);
112
+ }
113
+ }
114
+ },
115
+ {
116
+ key: "transformContent",
117
+ value: function transformContent(content) {
118
+ return content.substring(0, this.position) + this.string + content.substring(this.position);
119
+ }
120
+ },
121
+ {
122
+ key: "transformSelection",
123
+ value: function transformSelection(selection) {
124
+ 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) {
127
+ transformedSelection = selection.shifted(offset);
128
+ } else if (selectionEndPosition > startPosition) {
129
+ transformedSelection = selection.endPositionShifted(endOffset);
130
+ } else {
131
+ transformedSelection = selection.clone();
132
+ }
133
+ return transformedSelection;
134
+ }
135
+ },
136
+ {
137
+ key: "shifted",
138
+ value: function shifted(offset) {
139
+ var string = this.string, position = this.position + offset, insertOperation = InsertOperation.fromStringAndPosition(string, position);
140
+ return insertOperation;
141
+ }
142
+ },
143
+ {
144
+ key: "shift",
145
+ value: function shift(operation) {
146
+ var length = this.string.length, offset = length, shiftedOperation = operation.shifted(offset);
147
+ return shiftedOperation;
148
+ }
149
+ },
150
+ {
151
+ key: "left",
152
+ value: function left(deleteOperation) {
153
+ var position = deleteOperation.position, length = this.position - position;
154
+ deleteOperation = _delete.default.fromLengthAndPosition(length, position);
155
+ return deleteOperation;
156
+ }
157
+ },
158
+ {
159
+ key: "right",
160
+ value: function right(deleteOperation) {
161
+ var length = deleteOperation.length, position = deleteOperation.position;
162
+ length = length - this.position + position;
163
+ position = this.position;
164
+ deleteOperation = _delete.default.fromLengthAndPosition(length, position);
165
+ return deleteOperation;
166
+ }
167
+ },
168
+ {
169
+ key: "toJSON",
170
+ value: function toJSON() {
171
+ var type = this.type, string = this.string, position = this.position, json = {
172
+ type: type,
173
+ string: string,
174
+ position: position
175
+ };
176
+ return json;
177
+ }
178
+ }
179
+ ], [
180
+ {
181
+ key: "fromJSON",
182
+ value: function fromJSON(json) {
183
+ var type = json.type, string = json.string, position = json.position, insertOperation = new InsertOperation(type, string, position);
184
+ return insertOperation;
185
+ }
186
+ },
187
+ {
188
+ key: "fromStringAndPosition",
189
+ value: function fromStringAndPosition(string, position) {
190
+ var type = _types.insertType, insertOperation = new InsertOperation(type, string, position);
191
+ return insertOperation;
192
+ }
193
+ }
194
+ ]);
195
+ return InsertOperation;
196
+ }();
197
+
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb24vaW5zZXJ0LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHN0cmluZ0NvbXBhcmUgZnJvbSBcIi4uL3N0cmluZ0NvbXBhcmVcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5cclxuaW1wb3J0IHsgaW5zZXJ0VHlwZSwgZGVsZXRlVHlwZSwgZW1wdHlUeXBlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnNlcnRPcGVyYXRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKHR5cGUsIHN0cmluZywgcG9zaXRpb24pIHtcclxuXHQgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcclxuICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb25lKCkge1xyXG4gICAgcmV0dXJuIEluc2VydE9wZXJhdGlvbi5mcm9tU3RyaW5nQW5kUG9zaXRpb24odGhpcy5zdHJpbmcsIHRoaXMucG9zaXRpb24pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtT3BlcmF0aW9uKG9wZXJhdGlvbikge1xyXG4gICAgc3dpdGNoIChvcGVyYXRpb24udHlwZSkge1xyXG4gICAgICBjYXNlIGluc2VydFR5cGU6XHJcbiAgICAgICAgcmV0dXJuICgodGF1LCByaG8pID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uIDwgcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPT09IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGF1LnN0cmluZyA9PT0gcmhvLnN0cmluZykge1xyXG4gICAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0YXUuc3RyaW5nICE9PSByaG8uc3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHN0cmluZ0NvbXBhcmUocmhvLnN0cmluZywgdGF1LnN0cmluZykpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHRhdSldO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW3RhdS5jbG9uZSgpXTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uID4gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcmhvLnNoaWZ0KHRhdSldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KShvcGVyYXRpb24sIHRoaXMpO1xyXG5cclxuICAgICAgY2FzZSBkZWxldGVUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKHRhdS5wb3NpdGlvbiArIHRhdS5sZW5ndGggPD0gcmhvLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGF1LmNsb25lKCldO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0YXUucG9zaXRpb24gPCByaG8ucG9zaXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtyaG8ubGVmdCh0YXUpLCByaG8ubGVmdCh0YXUpLnNoaWZ0KHJoby5zaGlmdChyaG8ucmlnaHQodGF1KSkpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGF1LnBvc2l0aW9uID49IHJoby5wb3NpdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gW3Joby5zaGlmdCh0YXUpXTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSkob3BlcmF0aW9uLCB0aGlzKTtcclxuXHJcbiAgICAgIGNhc2UgZW1wdHlUeXBlOlxyXG4gICAgICAgIHJldHVybiAoKHRhdSwgcmhvKSA9PiB7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFt0YXUuY2xvbmUoKV07XHJcblxyXG4gICAgICAgIH0pKG9wZXJhdGlvbiwgdGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Db250ZW50KGNvbnRlbnQpIHtcclxuICAgIHJldHVybiBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvc2l0aW9uKSArIHRoaXMuc3RyaW5nICsgY29udGVudC5zdWJzdHJpbmcodGhpcy5wb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TZWxlY3Rpb24oc2VsZWN0aW9uKSB7XHJcbiAgICBsZXQgdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcblxyXG4gICAgY29uc3Qgc3RhcnRQb3NpdGlvbiA9IHRoaXMucG9zaXRpb24sIC8vL1xyXG4gICAgICAgICAgbGVuZ3RoID0gdGhpcy5zdHJpbmcubGVuZ3RoLFxyXG4gICAgICAgICAgc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRTdGFydFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzZWxlY3Rpb25FbmRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRFbmRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgb2Zmc2V0ID0gbGVuZ3RoLCAgLy8vXHJcbiAgICAgICAgICBlbmRPZmZzZXQgPSBvZmZzZXQ7IC8vL1xyXG5cclxuICAgIGlmIChmYWxzZSkge1xyXG5cclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA+PSBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLnNoaWZ0ZWQob2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uRW5kUG9zaXRpb24gPiBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLmVuZFBvc2l0aW9uU2hpZnRlZChlbmRPZmZzZXQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdGVkKG9mZnNldCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5zdHJpbmcsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gKyBvZmZzZXQsXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdChvcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuc3RyaW5nLmxlbmd0aCxcclxuXHRcdFx0XHQgIG9mZnNldCA9IGxlbmd0aCwgIC8vL1xyXG4gICAgICAgICAgc2hpZnRlZE9wZXJhdGlvbiA9IG9wZXJhdGlvbi5zaGlmdGVkKG9mZnNldCk7XHJcblxyXG4gICAgcmV0dXJuIHNoaWZ0ZWRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBsZWZ0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSBkZWxldGVPcGVyYXRpb24ucG9zaXRpb24sXHJcbiAgICAgICAgICBsZW5ndGggPSB0aGlzLnBvc2l0aW9uIC0gcG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcmlnaHQoZGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBsZXQgbGVuZ3RoID0gZGVsZXRlT3BlcmF0aW9uLmxlbmd0aCxcclxuICAgICAgICBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5wb3NpdGlvbjtcclxuXHJcbiAgICBsZW5ndGggPSBsZW5ndGggLSB0aGlzLnBvc2l0aW9uICsgcG9zaXRpb247XHJcbiAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcclxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuc3RyaW5nLFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAganNvbiA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgc3RyaW5nLFxyXG4gICAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICByZXR1cm4ganNvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIHN0cmluZywgcG9zaXRpb24gfSA9IGpzb24sXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pIHtcclxuICAgIGNvbnN0IHR5cGUgPSBpbnNlcnRUeXBlLCAgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiSW5zZXJ0T3BlcmF0aW9uIiwidHlwZSIsInN0cmluZyIsInBvc2l0aW9uIiwiY2xvbmUiLCJmcm9tU3RyaW5nQW5kUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJpbnNlcnRUeXBlIiwidGF1IiwicmhvIiwic3RyaW5nQ29tcGFyZSIsInNoaWZ0IiwiZGVsZXRlVHlwZSIsImxlbmd0aCIsImxlZnQiLCJyaWdodCIsImVtcHR5VHlwZSIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uU3RhcnRQb3NpdGlvbiIsImdldFN0YXJ0UG9zaXRpb24iLCJzZWxlY3Rpb25FbmRQb3NpdGlvbiIsImdldEVuZFBvc2l0aW9uIiwib2Zmc2V0IiwiZW5kT2Zmc2V0Iiwic2hpZnRlZCIsImVuZFBvc2l0aW9uU2hpZnRlZCIsImluc2VydE9wZXJhdGlvbiIsInNoaWZ0ZWRPcGVyYXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O2tFQUxLOzJEQUNFO3FCQUVzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxJQUFBLEFBQU1BLGdDQUFO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
@@ -0,0 +1,40 @@
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.emptyType:
26
+ operation = _empty.default.fromJSON(json);
27
+ break;
28
+ case _types.deleteType:
29
+ operation = _delete.default.fromJSON(json);
30
+ break;
31
+ case _types.insertType:
32
+ operation = _insert.default.fromJSON(json);
33
+ break;
34
+ }
35
+ return operation;
36
+ });
37
+ return operations;
38
+ }
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2Zyb21KU09OLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEVtcHR5T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZW1wdHlcIjtcclxuaW1wb3J0IERlbGV0ZU9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2RlbGV0ZVwiO1xyXG5pbXBvcnQgSW5zZXJ0T3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vaW5zZXJ0XCI7XHJcblxyXG5pbXBvcnQgeyBlbXB0eVR5cGUsIGRlbGV0ZVR5cGUsIGluc2VydFR5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9wZXJhdGlvbnNGcm9tSlNPTihvcGVyYXRpb25zSlNPTikge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBvcGVyYXRpb25zSlNPTi5tYXAoKG9wZXJhdGlvbkpTT04pID0+IHtcclxuICAgIGxldCBvcGVyYXRpb247XHJcblxyXG4gICAgY29uc3QganNvbiA9IG9wZXJhdGlvbkpTT04sIC8vL1xyXG4gICAgICAgICAgeyB0eXBlIH0gPSBqc29uO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIGVtcHR5VHlwZTpcclxuICAgICAgICBvcGVyYXRpb24gPSBFbXB0eU9wZXJhdGlvbi5mcm9tSlNPTihqc29uKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgZGVsZXRlVHlwZTpcclxuICAgICAgICBvcGVyYXRpb24gPSBEZWxldGVPcGVyYXRpb24uZnJvbUpTT04oanNvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIGluc2VydFR5cGU6XHJcbiAgICAgICAgb3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21KU09OKGpzb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcGVyYXRpb247XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBvcGVyYXRpb25zO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJvcGVyYXRpb25zRnJvbUpTT04iLCJvcGVyYXRpb25zSlNPTiIsIm9wZXJhdGlvbnMiLCJtYXAiLCJvcGVyYXRpb25KU09OIiwib3BlcmF0aW9uIiwianNvbiIsInR5cGUiLCJlbXB0eVR5cGUiLCJFbXB0eU9wZXJhdGlvbiIsImZyb21KU09OIiwiZGVsZXRlVHlwZSIsIkRlbGV0ZU9wZXJhdGlvbiIsImluc2VydFR5cGUiLCJJbnNlcnRPcGVyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7MERBTkc7MkRBQ0M7MkRBQ0E7cUJBRXNCOzs7Ozs7QUFFbkMsU0FBU0EsbUJBQW1CQyxjQUFjLEVBQUU7SUFDekQsSUFBTUMsYUFBYUQsZUFBZUUsR0FBRyxDQUFDLFNBQUNDLGVBQWtCO1FBQ3ZELElBQUlDO1FBRUosSUFBTUMsT0FBT0YsZUFDUCxBQUFFRyxPQUFTRCxLQUFUQztRQUVSLE9BQVFBO1lBQ04sS0FBS0MsZ0JBQVM7Z0JBQ1pILFlBQVlJLGNBQWMsQ0FBQ0MsUUFBUSxDQUFDSjtnQkFDcEMsS0FBTTtZQUVSLEtBQUtLLGlCQUFVO2dCQUNiTixZQUFZTyxlQUFlLENBQUNGLFFBQVEsQ0FBQ0o7Z0JBQ3JDLEtBQU07WUFFUixLQUFLTyxpQkFBVTtnQkFDYlIsWUFBWVMsZUFBZSxDQUFDSixRQUFRLENBQUNKO2dCQUNyQyxLQUFNO1FBQ1Y7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT0g7QUFDVCJ9
@@ -0,0 +1,42 @@
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 length = contentALength - left - right, position = left, deleteOperation = _delete.default.fromLengthAndPosition(length, position);
33
+ operations.push(deleteOperation);
34
+ }
35
+ if (left + right !== contentBLength) {
36
+ var string = contentB.substring(left, contentBLength - right), position1 = left, insertOperation = _insert.default.fromStringAndPosition(string, position1);
37
+ operations.push(insertOperation);
38
+ }
39
+ return operations;
40
+ }
41
+
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2dlbmVyYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEluc2VydE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2luc2VydFwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZU9wZXJhdGlvbnMoY29udGVudEEsIGNvbnRlbnRCKSB7XHJcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IFtdLFxyXG4gICAgICAgIGNvbnRlbnRBTGVuZ3RoID0gY29udGVudEEubGVuZ3RoLFxyXG4gICAgICAgIGNvbnRlbnRCTGVuZ3RoID0gY29udGVudEIubGVuZ3RoO1xyXG4gIFxyXG4gIGxldCBsZWZ0LCByaWdodDtcclxuXHJcbiAgZm9yIChsZWZ0ID0gMDsgKGxlZnQgPCBjb250ZW50QUxlbmd0aCkgJiYgKGxlZnQgPCBjb250ZW50Qkxlbmd0aCk7IGxlZnQrKykge1xyXG4gICAgaWYgKGNvbnRlbnRBW2xlZnRdICE9PSBjb250ZW50QltsZWZ0XSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvciAocmlnaHQgPSAwOyAocmlnaHQgPCBjb250ZW50QUxlbmd0aCAtIGxlZnQpICYmIChyaWdodCA8IGNvbnRlbnRCTGVuZ3RoIC0gbGVmdCk7IHJpZ2h0KyspIHtcclxuICAgIGlmIChjb250ZW50QVtjb250ZW50QUxlbmd0aCAtIHJpZ2h0IC0gMV0gIT09IGNvbnRlbnRCW2NvbnRlbnRCTGVuZ3RoIC0gcmlnaHQgLSAxXSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmIChsZWZ0ICsgcmlnaHQgIT09IGNvbnRlbnRBTGVuZ3RoKSB7XHJcbiAgICBjb25zdCBsZW5ndGggPSBjb250ZW50QUxlbmd0aCAtIGxlZnQgLSByaWdodCwgIC8vL1xyXG4gICAgICAgICAgcG9zaXRpb24gPSBsZWZ0LCAvLy9cclxuICAgICAgICAgIGRlbGV0ZU9wZXJhdGlvbiA9IERlbGV0ZU9wZXJhdGlvbi5mcm9tTGVuZ3RoQW5kUG9zaXRpb24obGVuZ3RoLCBwb3NpdGlvbik7XHJcblxyXG4gICAgb3BlcmF0aW9ucy5wdXNoKGRlbGV0ZU9wZXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICBpZiAobGVmdCArIHJpZ2h0ICE9PSBjb250ZW50Qkxlbmd0aCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gY29udGVudEIuc3Vic3RyaW5nKGxlZnQsIGNvbnRlbnRCTGVuZ3RoIC0gcmlnaHQpLCAgLy8vXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgaW5zZXJ0T3BlcmF0aW9uID0gSW5zZXJ0T3BlcmF0aW9uLmZyb21TdHJpbmdBbmRQb3NpdGlvbihzdHJpbmcsIHBvc2l0aW9uKTtcclxuXHJcbiAgICBvcGVyYXRpb25zLnB1c2goaW5zZXJ0T3BlcmF0aW9uKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvcGVyYXRpb25zO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJnZW5lcmF0ZU9wZXJhdGlvbnMiLCJjb250ZW50QSIsImNvbnRlbnRCIiwib3BlcmF0aW9ucyIsImNvbnRlbnRBTGVuZ3RoIiwibGVuZ3RoIiwiY29udGVudEJMZW5ndGgiLCJsZWZ0IiwicmlnaHQiLCJwb3NpdGlvbiIsImRlbGV0ZU9wZXJhdGlvbiIsIkRlbGV0ZU9wZXJhdGlvbiIsImZyb21MZW5ndGhBbmRQb3NpdGlvbiIsInB1c2giLCJzdHJpbmciLCJzdWJzdHJpbmciLCJpbnNlcnRPcGVyYXRpb24iLCJJbnNlcnRPcGVyYXRpb24iLCJmcm9tU3RyaW5nQW5kUG9zaXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7MkRBSEk7MkRBQ0E7Ozs7OztBQUViLFNBQVNBLG1CQUFtQkMsUUFBUSxFQUFFQyxRQUFRLEVBQUU7SUFDN0QsSUFBTUMsYUFBYSxFQUFFLEVBQ2ZDLGlCQUFpQkgsU0FBU0ksTUFBTSxFQUNoQ0MsaUJBQWlCSixTQUFTRyxNQUFNO0lBRXRDLElBQUlFLE1BQU1DO0lBRVYsSUFBS0QsT0FBTyxHQUFHLEFBQUNBLE9BQU9ILGtCQUFvQkcsT0FBT0QsZ0JBQWlCQyxPQUFRO1FBQ3pFLElBQUlOLFFBQVEsQ0FBQ00sS0FBSyxLQUFLTCxRQUFRLENBQUNLLEtBQUssRUFBRTtZQUNyQyxLQUFNO1FBQ1IsQ0FBQztJQUNIO0lBRUEsSUFBS0MsUUFBUSxHQUFHLEFBQUNBLFFBQVFKLGlCQUFpQkcsUUFBVUMsUUFBUUYsaUJBQWlCQyxNQUFPQyxRQUFTO1FBQzNGLElBQUlQLFFBQVEsQ0FBQ0csaUJBQWlCSSxRQUFRLEVBQUUsS0FBS04sUUFBUSxDQUFDSSxpQkFBaUJFLFFBQVEsRUFBRSxFQUFFO1lBQ2pGLEtBQU07UUFDUixDQUFDO0lBQ0g7SUFFQSxJQUFJRCxPQUFPQyxVQUFVSixnQkFBZ0I7UUFDbkMsSUFBTUMsU0FBU0QsaUJBQWlCRyxPQUFPQyxPQUNqQ0MsV0FBV0YsTUFDWEcsa0JBQWtCQyxlQUFlLENBQUNDLHFCQUFxQixDQUFDUCxRQUFRSTtRQUV0RU4sV0FBV1UsSUFBSSxDQUFDSDtJQUNsQixDQUFDO0lBRUQsSUFBSUgsT0FBT0MsVUFBVUYsZ0JBQWdCO1FBQ25DLElBQU1RLFNBQVNaLFNBQVNhLFNBQVMsQ0FBQ1IsTUFBTUQsaUJBQWlCRSxRQUNuREMsWUFBV0YsTUFDWFMsa0JBQWtCQyxlQUFlLENBQUNDLHFCQUFxQixDQUFDSixRQUFRTDtRQUV0RU4sV0FBV1UsSUFBSSxDQUFDRztJQUNsQixDQUFDO0lBRUQsT0FBT2I7QUFDVCJ9
@@ -0,0 +1,17 @@
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
@@ -0,0 +1,35 @@
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, tail = _necessary.arrayUtilities.tail;
13
+ function transformOperations(tau, rho) {
14
+ if (tau.length === 0 || rho.length === 0) {
15
+ return tau;
16
+ }
17
+ var tau1 = [
18
+ first(tau)
19
+ ], tau2 = tail(tau), rho1 = [
20
+ first(rho)
21
+ ], rho2 = tail(rho);
22
+ if (tau.length > 1 && rho.length > 1) {
23
+ return transformOperations(transformOperations(tau1, rho1), rho2).concat(transformOperations(transformOperations(tau2, transformOperations(rho1, tau1)), transformOperations(rho2, transformOperations(tau1, rho1))));
24
+ } else if (tau.length > 1 && rho.length === 1) {
25
+ return transformOperations(tau1, rho).concat(transformOperations(tau2, transformOperations(rho, tau1)));
26
+ } else if (tau.length === 1 && rho.length > 1) {
27
+ return transformOperations(transformOperations(tau, rho1), rho2);
28
+ } else {
29
+ tau = first(tau); ///
30
+ rho = first(rho); ///
31
+ return rho.transformOperation(tau);
32
+ }
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3RyYW5zZm9ybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCwgdGFpbCB9ID0gYXJyYXlVdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdSwgcmhvKSB7XHJcbiAgaWYgKCh0YXUubGVuZ3RoID09PSAwKSB8fCAocmhvLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgIHJldHVybiB0YXU7XHJcbiAgfVxyXG5cclxuICBjb25zdCB0YXUxID0gW2ZpcnN0KHRhdSldLFxyXG4gICAgICAgIHRhdTIgPSB0YWlsKHRhdSksXHJcbiAgICAgICAgcmhvMSA9IFtmaXJzdChyaG8pXSxcclxuICAgICAgICByaG8yID0gdGFpbChyaG8pO1xyXG5cclxuICBpZiAodGF1Lmxlbmd0aCA+IDEgJiYgcmhvLmxlbmd0aCA+IDEpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKSxcclxuICAgICAgICByaG8yXHJcbiAgICAgICkuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKFxyXG4gICAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHJobzEsIHRhdTEpXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhcclxuICAgICAgICAgICAgcmhvMixcclxuICAgICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUxLCByaG8xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2UgaWYgKCh0YXUubGVuZ3RoID4gMSkgJiYgKHJoby5sZW5ndGggPT09IDEpKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0cmFuc2Zvcm1PcGVyYXRpb25zKHRhdTEsIHJobykuY29uY2F0KFxyXG4gICAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgICB0YXUyLFxyXG4gICAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyhyaG8sIHRhdTEpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoKHRhdS5sZW5ndGggPT09IDEpICYmIChyaG8ubGVuZ3RoID4gMSkpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRyYW5zZm9ybU9wZXJhdGlvbnMoXHJcbiAgICAgICAgdHJhbnNmb3JtT3BlcmF0aW9ucyh0YXUsIHJobzEpLFxyXG4gICAgICAgIHJobzJcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGF1ID0gZmlyc3QodGF1KTsgLy8vXHJcbiAgICByaG8gPSBmaXJzdChyaG8pOyAvLy9cclxuXHJcbiAgICByZXR1cm4gcmhvLnRyYW5zZm9ybU9wZXJhdGlvbih0YXUpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOlsidHJhbnNmb3JtT3BlcmF0aW9ucyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJ0YWlsIiwidGF1IiwicmhvIiwibGVuZ3RoIiwidGF1MSIsInRhdTIiLCJyaG8xIiwicmhvMiIsImNvbmNhdCIsInRyYW5zZm9ybU9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7Ozt5QkFKTztBQUUvQixJQUFRQyxRQUFnQkMseUJBQWMsQ0FBOUJELE9BQU9FLE9BQVNELHlCQUFjLENBQXZCQztBQUVBLFNBQVNILG9CQUFvQkksR0FBRyxFQUFFQyxHQUFHLEVBQUU7SUFDcEQsSUFBSSxBQUFDRCxJQUFJRSxNQUFNLEtBQUssS0FBT0QsSUFBSUMsTUFBTSxLQUFLLEdBQUk7UUFDNUMsT0FBT0Y7SUFDVCxDQUFDO0lBRUQsSUFBTUcsT0FBTztRQUFDTixNQUFNRztLQUFLLEVBQ25CSSxPQUFPTCxLQUFLQyxNQUNaSyxPQUFPO1FBQUNSLE1BQU1JO0tBQUssRUFDbkJLLE9BQU9QLEtBQUtFO0lBRWxCLElBQUlELElBQUlFLE1BQU0sR0FBRyxLQUFLRCxJQUFJQyxNQUFNLEdBQUcsR0FBRztRQUNwQyxPQUNFTixvQkFDRUEsb0JBQW9CTyxNQUFNRSxPQUMxQkMsTUFDQUMsTUFBTSxDQUNOWCxvQkFDRUEsb0JBQ0VRLE1BQ0FSLG9CQUFvQlMsTUFBTUYsUUFFNUJQLG9CQUNFVSxNQUNBVixvQkFBb0JPLE1BQU1FO0lBS3BDLE9BQU8sSUFBSSxBQUFDTCxJQUFJRSxNQUFNLEdBQUcsS0FBT0QsSUFBSUMsTUFBTSxLQUFLLEdBQUk7UUFDakQsT0FDRU4sb0JBQW9CTyxNQUFNRixLQUFLTSxNQUFNLENBQ25DWCxvQkFDRVEsTUFDQVIsb0JBQW9CSyxLQUFLRTtJQUlqQyxPQUFPLElBQUksQUFBQ0gsSUFBSUUsTUFBTSxLQUFLLEtBQU9ELElBQUlDLE1BQU0sR0FBRyxHQUFJO1FBQ2pELE9BQ0VOLG9CQUNFQSxvQkFBb0JJLEtBQUtLLE9BQ3pCQztJQUdOLE9BQU87UUFDTE4sTUFBTUgsTUFBTUcsTUFBTSxHQUFHO1FBQ3JCQyxNQUFNSixNQUFNSSxNQUFNLEdBQUc7UUFFckIsT0FBT0EsSUFBSU8sa0JBQWtCLENBQUNSO0lBQ2hDLENBQUM7QUFDSCJ9
@@ -0,0 +1,33 @@
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 stringCompare;
9
+ }
10
+ });
11
+ var _constants = require("./constants");
12
+ function stringCompare(stringA, stringB) {
13
+ if (stringA === _constants.EMPTY_STRING && stringB === _constants.EMPTY_STRING) {
14
+ return false;
15
+ }
16
+ if (stringA === _constants.EMPTY_STRING) {
17
+ return true;
18
+ }
19
+ if (stringB === _constants.EMPTY_STRING) {
20
+ return false;
21
+ }
22
+ var codePointA = stringA.codePointAt(0), codePointB = stringB.codePointAt(0);
23
+ if (codePointA < codePointB) {
24
+ return true;
25
+ }
26
+ if (codePointA > codePointB) {
27
+ return false;
28
+ }
29
+ var subStringA = stringA.substring(1), subStringB = stringB.substring(1);
30
+ return stringCompare(subStringA, subStringB);
31
+ }
32
+
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdHJpbmdDb21wYXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RyaW5nQ29tcGFyZShzdHJpbmdBLCBzdHJpbmdCKSB7XG4gIGlmICgoc3RyaW5nQSA9PT0gRU1QVFlfU1RSSU5HKSAmJiAoc3RyaW5nQiA9PT0gRU1QVFlfU1RSSU5HKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChzdHJpbmdBID09PSBFTVBUWV9TVFJJTkcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzdHJpbmdCID09PSBFTVBUWV9TVFJJTkcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjb2RlUG9pbnRBID0gc3RyaW5nQS5jb2RlUG9pbnRBdCgwKSxcbiAgICAgICAgY29kZVBvaW50QiA9IHN0cmluZ0IuY29kZVBvaW50QXQoMCk7XG5cbiAgaWYgKGNvZGVQb2ludEEgPCBjb2RlUG9pbnRCKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoY29kZVBvaW50QSA+IGNvZGVQb2ludEIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBzdWJTdHJpbmdBID0gc3RyaW5nQS5zdWJzdHJpbmcoMSksXG4gICAgICAgIHN1YlN0cmluZ0IgPSBzdHJpbmdCLnN1YnN0cmluZygxKTtcblxuICByZXR1cm4gc3RyaW5nQ29tcGFyZShzdWJTdHJpbmdBLCBzdWJTdHJpbmdCKTtcbn1cbiJdLCJuYW1lcyI6WyJzdHJpbmdDb21wYXJlIiwic3RyaW5nQSIsInN0cmluZ0IiLCJFTVBUWV9TVFJJTkciLCJjb2RlUG9pbnRBIiwiY29kZVBvaW50QXQiLCJjb2RlUG9pbnRCIiwic3ViU3RyaW5nQSIsInN1YnN0cmluZyIsInN1YlN0cmluZ0IiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7eUJBRks7QUFFZCxTQUFTQSxjQUFjQyxPQUFPLEVBQUVDLE9BQU8sRUFBRTtJQUN0RCxJQUFJLEFBQUNELFlBQVlFLHVCQUFZLElBQU1ELFlBQVlDLHVCQUFZLEVBQUc7UUFDNUQsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUVELElBQUlGLFlBQVlFLHVCQUFZLEVBQUU7UUFDNUIsT0FBTyxJQUFJO0lBQ2IsQ0FBQztJQUVELElBQUlELFlBQVlDLHVCQUFZLEVBQUU7UUFDNUIsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUVELElBQU1DLGFBQWFILFFBQVFJLFdBQVcsQ0FBQyxJQUNqQ0MsYUFBYUosUUFBUUcsV0FBVyxDQUFDO0lBRXZDLElBQUlELGFBQWFFLFlBQVk7UUFDM0IsT0FBTyxJQUFJO0lBQ2IsQ0FBQztJQUVELElBQUlGLGFBQWFFLFlBQVk7UUFDM0IsT0FBTyxLQUFLO0lBQ2QsQ0FBQztJQUVELElBQU1DLGFBQWFOLFFBQVFPLFNBQVMsQ0FBQyxJQUMvQkMsYUFBYVAsUUFBUU0sU0FBUyxDQUFDO0lBRXJDLE9BQU9SLGNBQWNPLFlBQVlFO0FBQ25DIn0=
package/lib/types.js ADDED
@@ -0,0 +1,34 @@
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
+ emptyType: function() {
13
+ return emptyType;
14
+ },
15
+ deleteType: function() {
16
+ return deleteType;
17
+ },
18
+ insertType: function() {
19
+ return insertType;
20
+ },
21
+ default: function() {
22
+ return _default;
23
+ }
24
+ });
25
+ var emptyType = "empty";
26
+ var deleteType = "delete";
27
+ var insertType = "insert";
28
+ var _default = {
29
+ emptyType: emptyType,
30
+ deleteType: deleteType,
31
+ insertType: insertType
32
+ };
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IGVtcHR5VHlwZSA9IFwiZW1wdHlcIjtcbmV4cG9ydCBjb25zdCBkZWxldGVUeXBlID0gXCJkZWxldGVcIjtcbmV4cG9ydCBjb25zdCBpbnNlcnRUeXBlID0gXCJpbnNlcnRcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBlbXB0eVR5cGUsXG4gIGRlbGV0ZVR5cGUsXG4gIGluc2VydFR5cGVcbn07XG4iXSwibmFtZXMiOlsiZW1wdHlUeXBlIiwiZGVsZXRlVHlwZSIsImluc2VydFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVhQSxTQUFTO2VBQVRBOztJQUNBQyxVQUFVO2VBQVZBOztJQUNBQyxVQUFVO2VBQVZBOztJQUViLE9BSUU7ZUFKRjs7O0FBSk8sSUFBTUYsWUFBWTtBQUNsQixJQUFNQyxhQUFhO0FBQ25CLElBQU1DLGFBQWE7SUFFMUIsV0FBZTtJQUNiRixXQUFBQTtJQUNBQyxZQUFBQTtJQUNBQyxZQUFBQTtBQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-richtextarea",
3
3
  "author": "James Smith",
4
- "version": "3.0.154",
4
+ "version": "4.0.3",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-richtextarea",
7
7
  "description": "A textarea element that handles and hands off events well.",
@@ -14,10 +14,13 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@swc/core": "^1.2.160",
17
+ "chai": "^4.1.0",
17
18
  "easy-with-style": "^3.0.194",
18
19
  "esbuild": "^0.9.2",
19
20
  "express": "^4.17.1",
20
21
  "lively-cli": "^2.0.34",
22
+ "mocha": "~2.2.5",
23
+ "random-seed": "^0.3.0",
21
24
  "watchful-cli": "^1.7.22"
22
25
  },
23
26
  "scripts": {
@@ -31,7 +34,8 @@
31
34
  "build": "npm run clean && npm run batch",
32
35
  "build-debug": "npm run clean && npm run batch-debug",
33
36
  "watch": "npm run clean && npm run batch && npm run incremental",
34
- "watch-debug": "npm run clean && npm run batch-debug && npm run incremental-debug"
37
+ "watch-debug": "npm run clean && npm run batch-debug && npm run incremental-debug",
38
+ "test": "mocha --recursive -R spec ./test"
35
39
  },
36
40
  "browser": "./lib/browser.js",
37
41
  "main": "./lib/main.js"
package/src/browser.js CHANGED
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
2
 
3
- export { default as Selection } from "./selection";
4
3
 
4
+ export { default as Selection } from "./selection";
5
5
  export { default as RichTextarea } from "./richTextarea";
6
+ export { default as EmptyOperation } from "./operation/empty";
7
+ export { default as InsertOperation } from "./operation/insert";
8
+ export { default as DeleteOperation } from "./operation/delete";
9
+ export { default as transformContent } from "./content/transform";
10
+ export { default as operationsToJSON } from "./operations/toJSON";
11
+ export { default as operationsFromJSON } from "./operations/fromJSON";
12
+ export { default as generateOperations } from "./operations/generate";
13
+ export { default as transformOperations } from "./operations/transform";
14
+
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ export const EMPTY_STRING = "";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export default function transformContent(content, operations) {
4
+ return operations.reduce((content, operation) => operation.transformContent(content), content);
5
+ }
package/src/main.js CHANGED
@@ -1,3 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ export { default as types } from "./types";
3
4
  export { default as Selection } from "./selection";
5
+
6
+ export { default as EmptyOperation } from "./operation/empty";
7
+ export { default as InsertOperation } from "./operation/insert";
8
+ export { default as DeleteOperation } from "./operation/delete";
9
+ export { default as transformContent } from "./content/transform";
10
+ export { default as operationsToJSON } from "./operations/toJSON";
11
+ export { default as operationsFromJSON } from "./operations/fromJSON";
12
+ export { default as generateOperations } from "./operations/generate";
13
+ export { default as transformOperations } from "./operations/transform";