easy-richtextarea 3.0.153 → 4.0.1
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.
- package/README.md +8 -0
- package/example.js +838 -5
- package/lib/browser.js +33 -1
- package/lib/constants.js +13 -0
- package/lib/content/transform.js +17 -0
- package/lib/example/view.js +3 -4
- package/lib/main.js +45 -4
- package/lib/operation/delete.js +240 -0
- package/lib/operation/empty.js +101 -0
- package/lib/operation/insert.js +198 -0
- package/lib/operations/fromJSON.js +40 -0
- package/lib/operations/generate.js +42 -0
- package/lib/operations/toJSON.js +17 -0
- package/lib/operations/transform.js +35 -0
- package/lib/stringCompare.js +33 -0
- package/lib/types.js +34 -0
- package/package.json +6 -2
- package/src/browser.js +9 -0
- package/src/constants.js +3 -0
- package/src/content/transform.js +5 -0
- package/src/example/view.js +4 -7
- package/src/main.js +9 -0
- package/src/operation/delete.js +206 -0
- package/src/operation/empty.js +71 -0
- package/src/operation/insert.js +163 -0
- package/src/operations/fromJSON.js +34 -0
- package/src/operations/generate.js +42 -0
- package/src/operations/toJSON.js +5 -0
- package/src/operations/transform.js +57 -0
- package/src/stringCompare.js +33 -0
- package/src/types.js +11 -0
- package/test/content/transform.js +59 -0
- package/test/helpers.js +85 -0
- package/test/operation/delete.js +245 -0
- package/test/operation/empty.js +83 -0
- package/test/operation/insert.js +201 -0
- package/test/operations/generate.js +82 -0
- package/test/operations/transform.js +130 -0
|
@@ -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+PSBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLnNoaWZ0ZWQob2Zmc2V0KTtcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0aW9uRW5kUG9zaXRpb24gPiBzdGFydFBvc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkU2VsZWN0aW9uID0gc2VsZWN0aW9uLmVuZFBvc2l0aW9uU2hpZnRlZChlbmRPZmZzZXQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJhbnNmb3JtZWRTZWxlY3Rpb24gPSBzZWxlY3Rpb24uY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdGVkKG9mZnNldCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5zdHJpbmcsXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gKyBvZmZzZXQsXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzaGlmdChvcGVyYXRpb24pIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuc3RyaW5nLmxlbmd0aCxcclxuXHRcdFx0XHQgIG9mZnNldCA9IGxlbmd0aCwgIC8vL1xyXG4gICAgICAgICAgc2hpZnRlZE9wZXJhdGlvbiA9IG9wZXJhdGlvbi5zaGlmdGVkKG9mZnNldCk7XHJcblxyXG4gICAgcmV0dXJuIHNoaWZ0ZWRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBsZWZ0KGRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSBkZWxldGVPcGVyYXRpb24ucG9zaXRpb24sXHJcbiAgICAgICAgICBsZW5ndGggPSB0aGlzLnBvc2l0aW9uIC0gcG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcmlnaHQoZGVsZXRlT3BlcmF0aW9uKSB7XHJcbiAgICBsZXQgbGVuZ3RoID0gZGVsZXRlT3BlcmF0aW9uLmxlbmd0aCxcclxuICAgICAgICBwb3NpdGlvbiA9IGRlbGV0ZU9wZXJhdGlvbi5wb3NpdGlvbjtcclxuXHJcbiAgICBsZW5ndGggPSBsZW5ndGggLSB0aGlzLnBvc2l0aW9uICsgcG9zaXRpb247XHJcbiAgICBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XHJcblxyXG4gICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZGVsZXRlT3BlcmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcclxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuc3RyaW5nLFxyXG4gICAgICAgICAgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICAgICAganNvbiA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgc3RyaW5nLFxyXG4gICAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICByZXR1cm4ganNvbjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIHN0cmluZywgcG9zaXRpb24gfSA9IGpzb24sXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pIHtcclxuICAgIGNvbnN0IHR5cGUgPSBpbnNlcnRUeXBlLCAgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBuZXcgSW5zZXJ0T3BlcmF0aW9uKHR5cGUsIHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIHJldHVybiBpbnNlcnRPcGVyYXRpb247XHJcbiAgfVxyXG59XHJcbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiSW5zZXJ0T3BlcmF0aW9uIiwidHlwZSIsInN0cmluZyIsInBvc2l0aW9uIiwiY2xvbmUiLCJmcm9tU3RyaW5nQW5kUG9zaXRpb24iLCJ0cmFuc2Zvcm1PcGVyYXRpb24iLCJvcGVyYXRpb24iLCJpbnNlcnRUeXBlIiwidGF1IiwicmhvIiwic3RyaW5nQ29tcGFyZSIsInNoaWZ0IiwiZGVsZXRlVHlwZSIsImxlbmd0aCIsImxlZnQiLCJyaWdodCIsImVtcHR5VHlwZSIsInRyYW5zZm9ybUNvbnRlbnQiLCJjb250ZW50Iiwic3Vic3RyaW5nIiwidHJhbnNmb3JtU2VsZWN0aW9uIiwic2VsZWN0aW9uIiwidHJhbnNmb3JtZWRTZWxlY3Rpb24iLCJzdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uU3RhcnRQb3NpdGlvbiIsImdldFN0YXJ0UG9zaXRpb24iLCJzZWxlY3Rpb25FbmRQb3NpdGlvbiIsImdldEVuZFBvc2l0aW9uIiwib2Zmc2V0IiwiZW5kT2Zmc2V0Iiwic2hpZnRlZCIsImVuZFBvc2l0aW9uU2hpZnRlZCIsImluc2VydE9wZXJhdGlvbiIsInNoaWZ0ZWRPcGVyYXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O2tFQUxLOzJEQUNFO3FCQUVzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxJQUFBLEFBQU1BLGdDQUFOO2FBQU1BLGdCQUNQQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsUUFBUTs4QkFEZkg7UUFFbEIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1gsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztpQkFKQ0g7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUTtnQkFDTixPQUFPSixBQVJVQSxnQkFRTUsscUJBQXFCLENBQUMsSUFBSSxDQUFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDQyxRQUFRO1lBQ3pFOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixPQUFRQSxVQUFVTixJQUFJO29CQUNwQixLQUFLTyxpQkFBVTt3QkFDYixPQUFPLEFBQUMsU0FBQ0MsS0FBS0MsS0FBUTs0QkFFcEIsSUFBSUQsSUFBSU4sUUFBUSxHQUFHTyxJQUFJUCxRQUFRLEVBQUU7Z0NBQy9CLE9BQU87b0NBQUNNLElBQUlMLEtBQUs7aUNBQUc7NEJBQ3RCLENBQUM7NEJBRUQsSUFBSUssSUFBSU4sUUFBUSxLQUFLTyxJQUFJUCxRQUFRLEVBQUU7Z0NBQ2pDLElBQUlNLElBQUlQLE1BQU0sS0FBS1EsSUFBSVIsTUFBTSxFQUFFO29DQUM3QixPQUFPO3dDQUFDTyxJQUFJTCxLQUFLO3FDQUFHO2dDQUN0QixDQUFDO2dDQUNELElBQUlLLElBQUlQLE1BQU0sS0FBS1EsSUFBSVIsTUFBTSxFQUFFO29DQUM3QixJQUFJUyxJQUFBQSxzQkFBYSxFQUFDRCxJQUFJUixNQUFNLEVBQUVPLElBQUlQLE1BQU0sR0FBRzt3Q0FDekMsT0FBTzs0Q0FBQ1EsSUFBSUUsS0FBSyxDQUFDSDt5Q0FBSztvQ0FDekIsT0FBTzt3Q0FDTCxPQUFPOzRDQUFDQSxJQUFJTCxLQUFLO3lDQUFHO29DQUN0QixDQUFDO2dDQUNILENBQUM7NEJBQ0gsQ0FBQzs0QkFFRCxJQUFJSyxJQUFJTixRQUFRLEdBQUdPLElBQUlQLFFBQVEsRUFBRTtnQ0FDL0IsT0FBTztvQ0FBQ08sSUFBSUUsS0FBSyxDQUFDSDtpQ0FBSzs0QkFDekIsQ0FBQzt3QkFFSCxFQUFHRixXQUFXLElBQUk7b0JBRXBCLEtBQUtNLGlCQUFVO3dCQUNiLE9BQU8sQUFBQyxTQUFDSixLQUFLQyxLQUFROzRCQUVwQixJQUFJRCxJQUFJTixRQUFRLEdBQUdNLElBQUlLLE1BQU0sSUFBSUosSUFBSVAsUUFBUSxFQUFFO2dDQUM3QyxPQUFPO29DQUFDTSxJQUFJTCxLQUFLO2lDQUFHOzRCQUN0QixDQUFDOzRCQUVELElBQUlLLElBQUlOLFFBQVEsR0FBR08sSUFBSVAsUUFBUSxFQUFFO2dDQUMvQixPQUFPO29DQUFDTyxJQUFJSyxJQUFJLENBQUNOO29DQUFNQyxJQUFJSyxJQUFJLENBQUNOLEtBQUtHLEtBQUssQ0FBQ0YsSUFBSUUsS0FBSyxDQUFDRixJQUFJTSxLQUFLLENBQUNQO2lDQUFPOzRCQUN4RSxDQUFDOzRCQUVELElBQUlBLElBQUlOLFFBQVEsSUFBSU8sSUFBSVAsUUFBUSxFQUFFO2dDQUNoQyxPQUFPO29DQUFDTyxJQUFJRSxLQUFLLENBQUNIO2lDQUFLOzRCQUN6QixDQUFDO3dCQUVILEVBQUdGLFdBQVcsSUFBSTtvQkFFcEIsS0FBS1UsZ0JBQVM7d0JBQ1osT0FBTyxBQUFDLFNBQUNSLEtBQUtDLEtBQVE7NEJBRXBCLE9BQU87Z0NBQUNELElBQUlMLEtBQUs7NkJBQUc7d0JBRXRCLEVBQUdHLFdBQVcsSUFBSTtnQkFDdEI7WUFDRjs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJDLE9BQU8sRUFBRTtnQkFDeEIsT0FBT0EsUUFBUUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDakIsUUFBUSxJQUFJLElBQUksQ0FBQ0QsTUFBTSxHQUFHaUIsUUFBUUMsU0FBUyxDQUFDLElBQUksQ0FBQ2pCLFFBQVE7WUFDNUY7OztZQUVBa0IsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsU0FBUyxFQUFFO2dCQUM1QixJQUFJQztnQkFFSixJQUFNQyxnQkFBZ0IsSUFBSSxDQUFDckIsUUFBUSxFQUM3QlcsU0FBUyxJQUFJLENBQUNaLE1BQU0sQ0FBQ1ksTUFBTSxFQUMzQlcseUJBQXlCSCxVQUFVSSxnQkFBZ0IsSUFDbkRDLHVCQUF1QkwsVUFBVU0sY0FBYyxJQUMvQ0MsU0FBU2YsUUFDVGdCLFlBQVlELFFBQVEsR0FBRztnQkFFN0IsSUFBSSxLQUFLLEVBQUUsQ0FFWCxPQUFPLElBQUlKLDBCQUEwQkQsZUFBZTtvQkFDbERELHVCQUF1QkQsVUFBVVMsT0FBTyxDQUFDRjtnQkFDM0MsT0FBTyxJQUFJRix1QkFBdUJILGVBQWU7b0JBQy9DRCx1QkFBdUJELFVBQVVVLGtCQUFrQixDQUFDRjtnQkFDdEQsT0FBTztvQkFDTFAsdUJBQXVCRCxVQUFVbEIsS0FBSztnQkFDeEMsQ0FBQztnQkFFRCxPQUFPbUI7WUFDVDs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRRixNQUFNLEVBQUU7Z0JBQ2QsSUFBTTNCLFNBQVMsSUFBSSxDQUFDQSxNQUFNLEVBQ3BCQyxXQUFXLElBQUksQ0FBQ0EsUUFBUSxHQUFHMEIsUUFDM0JJLGtCQUFrQmpDLEFBL0ZQQSxnQkErRnVCSyxxQkFBcUIsQ0FBQ0gsUUFBUUM7Z0JBRXRFLE9BQU84QjtZQUNUOzs7WUFFQXJCLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNTCxTQUFTLEVBQUU7Z0JBQ2YsSUFBTU8sU0FBUyxJQUFJLENBQUNaLE1BQU0sQ0FBQ1ksTUFBTSxFQUMvQmUsU0FBU2YsUUFDTG9CLG1CQUFtQjNCLFVBQVV3QixPQUFPLENBQUNGO2dCQUUzQyxPQUFPSztZQUNUOzs7WUFFQW5CLEtBQUFBO21CQUFBQSxTQUFBQSxLQUFLb0IsZUFBZSxFQUFFO2dCQUNwQixJQUFNaEMsV0FBV2dDLGdCQUFnQmhDLFFBQVEsRUFDbkNXLFNBQVMsSUFBSSxDQUFDWCxRQUFRLEdBQUdBO2dCQUUvQmdDLGtCQUFrQkMsZUFBZSxDQUFDQyxxQkFBcUIsQ0FBQ3ZCLFFBQVFYO2dCQUVoRSxPQUFPZ0M7WUFDVDs7O1lBRUFuQixLQUFBQTttQkFBQUEsU0FBQUEsTUFBTW1CLGVBQWUsRUFBRTtnQkFDckIsSUFBSXJCLFNBQVNxQixnQkFBZ0JyQixNQUFNLEVBQy9CWCxXQUFXZ0MsZ0JBQWdCaEMsUUFBUTtnQkFFdkNXLFNBQVNBLFNBQVMsSUFBSSxDQUFDWCxRQUFRLEdBQUdBO2dCQUNsQ0EsV0FBVyxJQUFJLENBQUNBLFFBQVE7Z0JBRXhCZ0Msa0JBQWtCQyxlQUFlLENBQUNDLHFCQUFxQixDQUFDdkIsUUFBUVg7Z0JBRWhFLE9BQU9nQztZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM7Z0JBQ1AsSUFBTXJDLE9BQU8sSUFBSSxDQUFDQSxJQUFJLEVBQ2hCQyxTQUFTLElBQUksQ0FBQ0EsTUFBTSxFQUNwQkMsV0FBVyxJQUFJLENBQUNBLFFBQVEsRUFDeEJvQyxPQUFPO29CQUNMdEMsTUFBQUE7b0JBQ0FDLFFBQUFBO29CQUNBQyxVQUFBQTtnQkFDRjtnQkFFTixPQUFPb0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUU7Z0JBQ3BCLElBQVF0QyxPQUEyQnNDLEtBQTNCdEMsTUFBTUMsU0FBcUJxQyxLQUFyQnJDLFFBQVFDLFdBQWFvQyxLQUFicEMsVUFDaEI4QixrQkFBa0IsSUFoSlBqQyxnQkFnSjJCQyxNQUFNQyxRQUFRQztnQkFFMUQsT0FBTzhCO1lBQ1Q7OztZQUVPNUIsS0FBQUE7bUJBQVAsU0FBT0Esc0JBQXNCSCxNQUFNLEVBQUVDLFFBQVEsRUFBRTtnQkFDN0MsSUFBTUYsT0FBT08saUJBQVUsRUFDakJ5QixrQkFBa0IsSUF2SlBqQyxnQkF1SjJCQyxNQUFNQyxRQUFRQztnQkFFMUQsT0FBTzhCO1lBQ1Q7OztXQTFKbUJqQyJ9
|
|
@@ -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(workingContent, editableContent) {
|
|
19
|
+
var operations = [], workingContentLength = workingContent.length, editableContentLength = editableContent.length;
|
|
20
|
+
var left, right;
|
|
21
|
+
for(left = 0; left < workingContentLength && left < editableContentLength; left++){
|
|
22
|
+
if (workingContent[left] !== editableContent[left]) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
for(right = 0; right < workingContentLength - left && right < editableContentLength - left; right++){
|
|
27
|
+
if (workingContent[workingContentLength - right - 1] !== editableContent[editableContentLength - right - 1]) {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (left + right !== workingContentLength) {
|
|
32
|
+
var length = workingContentLength - left - right, position = left, deleteOperation = _delete.default.fromLengthAndPosition(length, position);
|
|
33
|
+
operations.push(deleteOperation);
|
|
34
|
+
}
|
|
35
|
+
if (left + right !== editableContentLength) {
|
|
36
|
+
var string = editableContent.substring(left, editableContentLength - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL2dlbmVyYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IEluc2VydE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL2luc2VydFwiO1xyXG5pbXBvcnQgRGVsZXRlT3BlcmF0aW9uIGZyb20gXCIuLi9vcGVyYXRpb24vZGVsZXRlXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZU9wZXJhdGlvbnMod29ya2luZ0NvbnRlbnQsIGVkaXRhYmxlQ29udGVudCkge1xyXG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBbXSxcclxuICAgICAgICB3b3JraW5nQ29udGVudExlbmd0aCA9IHdvcmtpbmdDb250ZW50Lmxlbmd0aCxcclxuICAgICAgICBlZGl0YWJsZUNvbnRlbnRMZW5ndGggPSBlZGl0YWJsZUNvbnRlbnQubGVuZ3RoO1xyXG4gIFxyXG4gIGxldCBsZWZ0LCByaWdodDtcclxuXHJcbiAgZm9yIChsZWZ0ID0gMDsgKGxlZnQgPCB3b3JraW5nQ29udGVudExlbmd0aCkgJiYgKGxlZnQgPCBlZGl0YWJsZUNvbnRlbnRMZW5ndGgpOyBsZWZ0KyspIHtcclxuICAgIGlmICh3b3JraW5nQ29udGVudFtsZWZ0XSAhPT0gZWRpdGFibGVDb250ZW50W2xlZnRdKSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChyaWdodCA9IDA7IChyaWdodCA8IHdvcmtpbmdDb250ZW50TGVuZ3RoIC0gbGVmdCkgJiYgKHJpZ2h0IDwgZWRpdGFibGVDb250ZW50TGVuZ3RoIC0gbGVmdCk7IHJpZ2h0KyspIHtcclxuICAgIGlmICh3b3JraW5nQ29udGVudFt3b3JraW5nQ29udGVudExlbmd0aCAtIHJpZ2h0IC0gMV0gIT09IGVkaXRhYmxlQ29udGVudFtlZGl0YWJsZUNvbnRlbnRMZW5ndGggLSByaWdodCAtIDFdKSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKGxlZnQgKyByaWdodCAhPT0gd29ya2luZ0NvbnRlbnRMZW5ndGgpIHtcclxuICAgIGNvbnN0IGxlbmd0aCA9IHdvcmtpbmdDb250ZW50TGVuZ3RoIC0gbGVmdCAtIHJpZ2h0LCAgLy8vXHJcbiAgICAgICAgICBwb3NpdGlvbiA9IGxlZnQsIC8vL1xyXG4gICAgICAgICAgZGVsZXRlT3BlcmF0aW9uID0gRGVsZXRlT3BlcmF0aW9uLmZyb21MZW5ndGhBbmRQb3NpdGlvbihsZW5ndGgsIHBvc2l0aW9uKTtcclxuXHJcbiAgICBvcGVyYXRpb25zLnB1c2goZGVsZXRlT3BlcmF0aW9uKTtcclxuICB9XHJcblxyXG4gIGlmIChsZWZ0ICsgcmlnaHQgIT09IGVkaXRhYmxlQ29udGVudExlbmd0aCkge1xyXG4gICAgY29uc3Qgc3RyaW5nID0gZWRpdGFibGVDb250ZW50LnN1YnN0cmluZyhsZWZ0LCBlZGl0YWJsZUNvbnRlbnRMZW5ndGggLSByaWdodCksICAvLy9cclxuICAgICAgICAgIHBvc2l0aW9uID0gbGVmdCwgLy8vXHJcbiAgICAgICAgICBpbnNlcnRPcGVyYXRpb24gPSBJbnNlcnRPcGVyYXRpb24uZnJvbVN0cmluZ0FuZFBvc2l0aW9uKHN0cmluZywgcG9zaXRpb24pO1xyXG5cclxuICAgIG9wZXJhdGlvbnMucHVzaChpbnNlcnRPcGVyYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG9wZXJhdGlvbnM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImdlbmVyYXRlT3BlcmF0aW9ucyIsIndvcmtpbmdDb250ZW50IiwiZWRpdGFibGVDb250ZW50Iiwib3BlcmF0aW9ucyIsIndvcmtpbmdDb250ZW50TGVuZ3RoIiwibGVuZ3RoIiwiZWRpdGFibGVDb250ZW50TGVuZ3RoIiwibGVmdCIsInJpZ2h0IiwicG9zaXRpb24iLCJkZWxldGVPcGVyYXRpb24iLCJEZWxldGVPcGVyYXRpb24iLCJmcm9tTGVuZ3RoQW5kUG9zaXRpb24iLCJwdXNoIiwic3RyaW5nIiwic3Vic3RyaW5nIiwiaW5zZXJ0T3BlcmF0aW9uIiwiSW5zZXJ0T3BlcmF0aW9uIiwiZnJvbVN0cmluZ0FuZFBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7OzJEQUhJOzJEQUNBOzs7Ozs7QUFFYixTQUFTQSxtQkFBbUJDLGNBQWMsRUFBRUMsZUFBZSxFQUFFO0lBQzFFLElBQU1DLGFBQWEsRUFBRSxFQUNmQyx1QkFBdUJILGVBQWVJLE1BQU0sRUFDNUNDLHdCQUF3QkosZ0JBQWdCRyxNQUFNO0lBRXBELElBQUlFLE1BQU1DO0lBRVYsSUFBS0QsT0FBTyxHQUFHLEFBQUNBLE9BQU9ILHdCQUEwQkcsT0FBT0QsdUJBQXdCQyxPQUFRO1FBQ3RGLElBQUlOLGNBQWMsQ0FBQ00sS0FBSyxLQUFLTCxlQUFlLENBQUNLLEtBQUssRUFBRTtZQUNsRCxLQUFNO1FBQ1IsQ0FBQztJQUNIO0lBRUEsSUFBS0MsUUFBUSxHQUFHLEFBQUNBLFFBQVFKLHVCQUF1QkcsUUFBVUMsUUFBUUYsd0JBQXdCQyxNQUFPQyxRQUFTO1FBQ3hHLElBQUlQLGNBQWMsQ0FBQ0csdUJBQXVCSSxRQUFRLEVBQUUsS0FBS04sZUFBZSxDQUFDSSx3QkFBd0JFLFFBQVEsRUFBRSxFQUFFO1lBQzNHLEtBQU07UUFDUixDQUFDO0lBQ0g7SUFFQSxJQUFJRCxPQUFPQyxVQUFVSixzQkFBc0I7UUFDekMsSUFBTUMsU0FBU0QsdUJBQXVCRyxPQUFPQyxPQUN2Q0MsV0FBV0YsTUFDWEcsa0JBQWtCQyxlQUFlLENBQUNDLHFCQUFxQixDQUFDUCxRQUFRSTtRQUV0RU4sV0FBV1UsSUFBSSxDQUFDSDtJQUNsQixDQUFDO0lBRUQsSUFBSUgsT0FBT0MsVUFBVUYsdUJBQXVCO1FBQzFDLElBQU1RLFNBQVNaLGdCQUFnQmEsU0FBUyxDQUFDUixNQUFNRCx3QkFBd0JFLFFBQ2pFQyxZQUFXRixNQUNYUyxrQkFBa0JDLGVBQWUsQ0FBQ0MscUJBQXFCLENBQUNKLFFBQVFMO1FBRXRFTixXQUFXVSxJQUFJLENBQUNHO0lBQ2xCLENBQUM7SUFFRCxPQUFPYjtBQUNUIn0=
|
|
@@ -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": "
|
|
4
|
+
"version": "4.0.1",
|
|
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 EmptyOperation } from "./operation/empty";
|
|
4
|
+
export { default as InsertOperation } from "./operation/insert";
|
|
5
|
+
export { default as DeleteOperation } from "./operation/delete";
|
|
6
|
+
export { default as transformContent } from "./content/transform";
|
|
7
|
+
export { default as operationsToJSON } from "./operations/toJSON";
|
|
8
|
+
export { default as operationsFromJSON } from "./operations/fromJSON";
|
|
9
|
+
export { default as generateOperations } from "./operations/generate";
|
|
10
|
+
export { default as transformOperations } from "./operations/transform";
|
|
11
|
+
|
|
3
12
|
export { default as Selection } from "./selection";
|
|
4
13
|
|
|
5
14
|
export { default as RichTextarea } from "./richTextarea";
|
package/src/constants.js
ADDED
package/src/example/view.js
CHANGED
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import RichTextarea from "./richTextarea";
|
|
4
4
|
|
|
5
|
-
const content =
|
|
6
|
-
Conclusion
|
|
7
|
-
A`,
|
|
8
|
-
readOnly = true,
|
|
5
|
+
const content = "",
|
|
9
6
|
richTextarea =
|
|
10
7
|
|
|
11
8
|
<RichTextarea onChange={changeHandler} onScroll={scrollHandler} onFocus={focusHandler} onBlur={blurHandler} />
|
|
@@ -13,7 +10,6 @@ const content = `Rule (blah)
|
|
|
13
10
|
;
|
|
14
11
|
|
|
15
12
|
richTextarea.setContent(content);
|
|
16
|
-
richTextarea.setReadOnly(readOnly);
|
|
17
13
|
|
|
18
14
|
richTextarea.activate();
|
|
19
15
|
|
|
@@ -28,8 +24,9 @@ const View = (properties) =>
|
|
|
28
24
|
export default View;
|
|
29
25
|
|
|
30
26
|
function changeHandler(event, element) {
|
|
31
|
-
const
|
|
32
|
-
|
|
27
|
+
const richTextarea = element, ///
|
|
28
|
+
contentChanged = richTextarea.hasContentChanged(),
|
|
29
|
+
selectionChanged = richTextarea.hasSelectionChanged();
|
|
33
30
|
|
|
34
31
|
console.log(contentChanged, selectionChanged)
|
|
35
32
|
}
|
package/src/main.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export { default as types } from "./types";
|
|
3
4
|
export { default as Selection } from "./selection";
|
|
5
|
+
export { default as EmptyOperation } from "./operation/empty";
|
|
6
|
+
export { default as InsertOperation } from "./operation/insert";
|
|
7
|
+
export { default as DeleteOperation } from "./operation/delete";
|
|
8
|
+
export { default as transformContent } from "./content/transform";
|
|
9
|
+
export { default as operationsToJSON } from "./operations/toJSON";
|
|
10
|
+
export { default as operationsFromJSON } from "./operations/fromJSON";
|
|
11
|
+
export { default as generateOperations } from "./operations/generate";
|
|
12
|
+
export { default as transformOperations } from "./operations/transform";
|