@uiw/react-md-editor 3.3.6 → 3.3.8
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 +2 -8
- package/dist/markdown-editor.css +3 -7
- package/lib/cjs/Context.js +2 -8
- package/lib/cjs/Editor.js +54 -86
- package/lib/cjs/commands/bold.js +5 -9
- package/lib/cjs/commands/code.js +5 -11
- package/lib/cjs/commands/comment.js +5 -7
- package/lib/cjs/commands/divider.js +1 -1
- package/lib/cjs/commands/fullscreen.js +1 -5
- package/lib/cjs/commands/group.js +3 -10
- package/lib/cjs/commands/hr.js +1 -4
- package/lib/cjs/commands/image.js +5 -9
- package/lib/cjs/commands/index.d.ts +11 -12
- package/lib/cjs/commands/index.js +52 -87
- package/lib/cjs/commands/italic.js +5 -9
- package/lib/cjs/commands/link.js +5 -9
- package/lib/cjs/commands/list.js +7 -11
- package/lib/cjs/commands/preview.js +2 -5
- package/lib/cjs/commands/quote.js +3 -6
- package/lib/cjs/commands/strikeThrough.js +5 -9
- package/lib/cjs/commands/title.js +1 -6
- package/lib/cjs/commands/title1.js +1 -6
- package/lib/cjs/commands/title2.js +1 -6
- package/lib/cjs/commands/title3.js +1 -6
- package/lib/cjs/commands/title4.js +1 -6
- package/lib/cjs/commands/title5.js +1 -6
- package/lib/cjs/commands/title6.js +1 -6
- package/lib/cjs/components/DragBar/index.js +3 -14
- package/lib/cjs/components/TextArea/Markdown.js +8 -20
- package/lib/cjs/components/TextArea/Textarea.js +17 -36
- package/lib/cjs/components/TextArea/handleKeyDown.js +1 -19
- package/lib/cjs/components/TextArea/index.js +11 -27
- package/lib/cjs/components/TextArea/shortcuts.js +1 -17
- package/lib/cjs/components/Toolbar/Child.js +9 -18
- package/lib/cjs/components/Toolbar/index.js +14 -34
- package/lib/cjs/index.js +2 -11
- package/lib/cjs/utils/InsertTextAtPosition.js +28 -33
- package/lib/cjs/utils/getSurroundingWord.js +9 -12
- package/lib/cjs/utils/index.js +1 -1
- package/lib/cjs/utils/markdownUtils.js +12 -23
- package/lib/esm/Context.js +1 -1
- package/lib/esm/Editor.js +54 -71
- package/lib/esm/commands/bold.js +5 -5
- package/lib/esm/commands/code.js +5 -7
- package/lib/esm/commands/comment.js +5 -5
- package/lib/esm/commands/divider.js +1 -1
- package/lib/esm/commands/fullscreen.js +1 -2
- package/lib/esm/commands/group.js +3 -5
- package/lib/esm/commands/hr.js +1 -1
- package/lib/esm/commands/image.js +5 -5
- package/lib/esm/commands/index.d.ts +11 -12
- package/lib/esm/commands/index.js +8 -18
- package/lib/esm/commands/italic.js +5 -5
- package/lib/esm/commands/link.js +5 -5
- package/lib/esm/commands/list.js +5 -5
- package/lib/esm/commands/preview.js +1 -1
- package/lib/esm/commands/quote.js +3 -2
- package/lib/esm/commands/strikeThrough.js +5 -5
- package/lib/esm/commands/title.js +1 -1
- package/lib/esm/commands/title1.js +1 -3
- package/lib/esm/commands/title2.js +1 -3
- package/lib/esm/commands/title3.js +1 -3
- package/lib/esm/commands/title4.js +1 -3
- package/lib/esm/commands/title5.js +1 -3
- package/lib/esm/commands/title6.js +1 -3
- package/lib/esm/components/DragBar/index.js +3 -12
- package/lib/esm/components/TextArea/Markdown.js +9 -13
- package/lib/esm/components/TextArea/Textarea.js +17 -20
- package/lib/esm/components/TextArea/handleKeyDown.js +2 -14
- package/lib/esm/components/TextArea/index.css +1 -2
- package/lib/esm/components/TextArea/index.js +11 -14
- package/lib/esm/components/TextArea/shortcuts.js +1 -14
- package/lib/esm/components/Toolbar/Child.js +9 -10
- package/lib/esm/components/Toolbar/index.css +2 -5
- package/lib/esm/components/Toolbar/index.js +14 -25
- package/lib/esm/index.js +1 -1
- package/lib/esm/utils/InsertTextAtPosition.js +28 -31
- package/lib/esm/utils/getSurroundingWord.js +9 -10
- package/lib/esm/utils/index.js +1 -1
- package/lib/esm/utils/markdownUtils.js +10 -16
- package/package.json +14 -66
- package/src/commands/index.ts +17 -13
- package/src/components/Toolbar/index.tsx +2 -4
|
@@ -1,33 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = Child;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
11
|
var _ = _interopRequireDefault(require("./"));
|
|
17
|
-
|
|
18
12
|
var _Context = require("../../Context");
|
|
19
|
-
|
|
20
13
|
function Child(props) {
|
|
21
14
|
var _ref = props || {},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
prefixCls = _ref.prefixCls,
|
|
16
|
+
groupName = _ref.groupName,
|
|
17
|
+
commands = _ref.commands,
|
|
18
|
+
children = _ref.children;
|
|
27
19
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
_useContext$barPopup = _useContext.barPopup,
|
|
21
|
+
barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup;
|
|
31
22
|
return (0, _react.useMemo)(function () {
|
|
32
23
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
33
24
|
className: "".concat(prefixCls, "-toolbar-child ").concat(groupName && barPopup[groupName] ? 'active' : ''),
|
|
@@ -40,9 +31,9 @@ function Child(props) {
|
|
|
40
31
|
height: "",
|
|
41
32
|
isChild: true
|
|
42
33
|
})) : children);
|
|
43
|
-
},
|
|
34
|
+
},
|
|
35
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
36
|
[commands, barPopup, groupName, prefixCls]);
|
|
45
37
|
}
|
|
46
|
-
|
|
47
38
|
module.exports = exports.default;
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGlsZCIsInByb3BzIiwicHJlZml4Q2xzIiwiZ3JvdXBOYW1lIiwiY29tbWFuZHMiLCJjaGlsZHJlbiIsInVzZUNvbnRleHQiLCJFZGl0b3JDb250ZXh0IiwiYmFyUG9wdXAiLCJ1c2VNZW1vIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Rvb2xiYXIvQ2hpbGQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL0NoaWxkLmxlc3MnO1xuaW1wb3J0IFRvb2xiYXIsIHsgSVRvb2xiYXJQcm9wcyB9IGZyb20gJy4vJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZXhwb3J0IHR5cGUgQ2hpbGRQcm9wcyA9IElUb29sYmFyUHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogSlNYLkVsZW1lbnQ7XG4gIGdyb3VwTmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoaWxkKHByb3BzOiBDaGlsZFByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCBncm91cE5hbWUsIGNvbW1hbmRzLCBjaGlsZHJlbiB9ID0gcHJvcHMgfHwge307XG4gIGNvbnN0IHsgYmFyUG9wdXAgPSB7fSB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdG9vbGJhci1jaGlsZCAke2dyb3VwTmFtZSAmJiBiYXJQb3B1cFtncm91cE5hbWVdID8gJ2FjdGl2ZScgOiAnJ31gfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAge0FycmF5LmlzQXJyYXkoY29tbWFuZHMpID8gPFRvb2xiYXIgY29tbWFuZHM9e2NvbW1hbmRzfSB7Li4ucHJvcHN9IGhlaWdodD1cIlwiIGlzQ2hpbGQgLz4gOiBjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICksXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFtjb21tYW5kcywgYmFyUG9wdXAsIGdyb3VwTmFtZSwgcHJlZml4Q2xzXSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFQTtBQUNBO0FBT2UsU0FBU0EsS0FBSyxDQUFDQyxLQUFpQixFQUFFO0VBQy9DLFdBQXFEQSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQXhEQyxTQUFTLFFBQVRBLFNBQVM7SUFBRUMsU0FBUyxRQUFUQSxTQUFTO0lBQUVDLFFBQVEsUUFBUkEsUUFBUTtJQUFFQyxRQUFRLFFBQVJBLFFBQVE7RUFDaEQsa0JBQTBCLElBQUFDLGlCQUFVLEVBQUNDLHNCQUFhLENBQUM7SUFBQSxtQ0FBM0NDLFFBQVE7SUFBUkEsUUFBUSxxQ0FBRyxDQUFDLENBQUM7RUFDckIsT0FBTyxJQUFBQyxjQUFPLEVBQ1o7SUFBQSxvQkFDRTtNQUNFLFNBQVMsWUFBS1AsU0FBUyw0QkFBa0JDLFNBQVMsSUFBSUssUUFBUSxDQUFDTCxTQUFTLENBQUMsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFHO01BQzVGLE9BQU8sRUFBRSxpQkFBQ08sQ0FBQztRQUFBLE9BQUtBLENBQUMsQ0FBQ0MsZUFBZSxFQUFFO01BQUE7SUFBQyxHQUVuQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNULFFBQVEsQ0FBQyxnQkFBRyw2QkFBQyxTQUFPO01BQUMsUUFBUSxFQUFFQTtJQUFTLEdBQUtILEtBQUs7TUFBRSxNQUFNLEVBQUMsRUFBRTtNQUFDLE9BQU87SUFBQSxHQUFHLEdBQUdJLFFBQVEsQ0FDOUY7RUFBQSxDQUNQO0VBQ0Q7RUFDQSxDQUFDRCxRQUFRLEVBQUVJLFFBQVEsRUFBRUwsU0FBUyxFQUFFRCxTQUFTLENBQUMsQ0FDM0M7QUFDSDtBQUFDIn0=
|
|
@@ -1,50 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.ToolbarItems = ToolbarItems;
|
|
11
9
|
exports.default = Toolbar;
|
|
12
|
-
|
|
13
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
14
|
-
|
|
15
11
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
|
-
|
|
17
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
-
|
|
19
13
|
var _Context = require("../../Context");
|
|
20
|
-
|
|
21
14
|
var _Child = _interopRequireDefault(require("./Child"));
|
|
22
|
-
|
|
23
15
|
function ToolbarItems(props) {
|
|
24
16
|
var prefixCls = props.prefixCls;
|
|
25
|
-
|
|
26
17
|
var _useContext = (0, _react.useContext)(_Context.EditorContext),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
fullscreen = _useContext.fullscreen,
|
|
19
|
+
preview = _useContext.preview,
|
|
20
|
+
_useContext$barPopup = _useContext.barPopup,
|
|
21
|
+
barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup,
|
|
22
|
+
commandOrchestrator = _useContext.commandOrchestrator,
|
|
23
|
+
dispatch = _useContext.dispatch;
|
|
34
24
|
function handleClick(command, name) {
|
|
35
25
|
if (!dispatch) return;
|
|
36
26
|
var state = {
|
|
37
27
|
barPopup: (0, _objectSpread2.default)({}, barPopup)
|
|
38
28
|
};
|
|
39
|
-
|
|
40
29
|
if (command.keyCommand === 'preview') {
|
|
41
30
|
state.preview = command.value;
|
|
42
31
|
}
|
|
43
|
-
|
|
44
32
|
if (command.keyCommand === 'fullscreen') {
|
|
45
33
|
state.fullscreen = !fullscreen;
|
|
46
34
|
}
|
|
47
|
-
|
|
48
35
|
if (props.commands && command.keyCommand === 'group') {
|
|
49
36
|
props.commands.forEach(function (item) {
|
|
50
37
|
if (name === item.groupName) {
|
|
@@ -58,14 +45,11 @@ function ToolbarItems(props) {
|
|
|
58
45
|
state.barPopup[keyName] = false;
|
|
59
46
|
});
|
|
60
47
|
}
|
|
61
|
-
|
|
62
48
|
if (Object.keys(state).length) {
|
|
63
49
|
dispatch((0, _objectSpread2.default)({}, state));
|
|
64
50
|
}
|
|
65
|
-
|
|
66
51
|
commandOrchestrator && commandOrchestrator.executeCommand(command);
|
|
67
52
|
}
|
|
68
|
-
|
|
69
53
|
(0, _react.useEffect)(function () {
|
|
70
54
|
if (document) {
|
|
71
55
|
document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';
|
|
@@ -79,10 +63,9 @@ function ToolbarItems(props) {
|
|
|
79
63
|
className: "".concat(prefixCls, "-toolbar-divider")
|
|
80
64
|
}));
|
|
81
65
|
}
|
|
82
|
-
|
|
83
66
|
if (!item.keyCommand) return /*#__PURE__*/_react.default.createElement(_react.Fragment, null);
|
|
84
67
|
var activeBtn = fullscreen && item.keyCommand === 'fullscreen' || item.keyCommand === 'preview' && preview === item.value;
|
|
85
|
-
var childNode = typeof item.children === 'function' ? item.children({
|
|
68
|
+
var childNode = item.children && typeof item.children === 'function' ? item.children({
|
|
86
69
|
getState: function getState() {
|
|
87
70
|
return commandOrchestrator.getState();
|
|
88
71
|
},
|
|
@@ -114,22 +97,19 @@ function ToolbarItems(props) {
|
|
|
114
97
|
groupName: item.groupName,
|
|
115
98
|
prefixCls: prefixCls,
|
|
116
99
|
children: childNode,
|
|
117
|
-
commands: Array.isArray(item.children)
|
|
100
|
+
commands: Array.isArray(item.children) ? item.children : undefined
|
|
118
101
|
}));
|
|
119
102
|
}));
|
|
120
103
|
}
|
|
121
|
-
|
|
122
104
|
function Toolbar() {
|
|
123
105
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
124
106
|
var prefixCls = props.prefixCls,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
_props$height = props.height,
|
|
108
|
+
height = _props$height === void 0 ? 29 : _props$height,
|
|
109
|
+
isChild = props.isChild;
|
|
129
110
|
var _useContext2 = (0, _react.useContext)(_Context.EditorContext),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
111
|
+
commands = _useContext2.commands,
|
|
112
|
+
extraCommands = _useContext2.extraCommands;
|
|
133
113
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
134
114
|
className: "".concat(prefixCls, "-toolbar"),
|
|
135
115
|
style: {
|
|
@@ -141,4 +121,4 @@ function Toolbar() {
|
|
|
141
121
|
commands: extraCommands || []
|
|
142
122
|
})));
|
|
143
123
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Rvb2xiYXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlRvb2xiYXJJdGVtcyIsInByb3BzIiwicHJlZml4Q2xzIiwiRWRpdG9yQ29udGV4dCIsImZ1bGxzY3JlZW4iLCJwcmV2aWV3IiwiYmFyUG9wdXAiLCJjb21tYW5kT3JjaGVzdHJhdG9yIiwiZGlzcGF0Y2giLCJoYW5kbGVDbGljayIsImNvbW1hbmQiLCJuYW1lIiwic3RhdGUiLCJrZXlDb21tYW5kIiwidmFsdWUiLCJjb21tYW5kcyIsImZvckVhY2giLCJpdGVtIiwiZ3JvdXBOYW1lIiwicGFyZW50IiwiT2JqZWN0Iiwia2V5cyIsImtleU5hbWUiLCJsZW5ndGgiLCJleGVjdXRlQ29tbWFuZCIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJtYXAiLCJpZHgiLCJsaVByb3BzIiwiYWN0aXZlQnRuIiwiY2hpbGROb2RlIiwiY2hpbGRyZW4iLCJnZXRTdGF0ZSIsInRleHRBcGkiLCJ1bmRlZmluZWQiLCJjbG9zZSIsImV4ZWN1dGUiLCJkaXNhYmxlZCIsInRlc3QiLCJidXR0b25Qcm9wcyIsImljb24iLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwib25DbGljayIsImV2biIsInN0b3BQcm9wYWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsIlRvb2xiYXIiLCJoZWlnaHQiLCJpc0NoaWxkIiwiZXh0cmFDb21tYW5kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQVVPLFNBQVNBLFlBQVQsQ0FBc0JDLEtBQXRCLEVBQTRDO0FBQ2pELE1BQVFDLFNBQVIsR0FBc0JELEtBQXRCLENBQVFDLFNBQVI7O0FBQ0Esb0JBQThFLHVCQUFXQyxzQkFBWCxDQUE5RTtBQUFBLE1BQVFDLFVBQVIsZUFBUUEsVUFBUjtBQUFBLE1BQW9CQyxPQUFwQixlQUFvQkEsT0FBcEI7QUFBQSx5Q0FBNkJDLFFB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QUVBLEtBQUssQ0FBQ2MsUUFBTixJQUFrQkEsUUFBbEIsSUFBOEI7QUFBakUsS0FERixFQUVHLENBQUN1QyxPQUFELGlCQUFZLDZCQUFDLFlBQUQsNkJBQWtCckQsS0FBbEI7QUFBeUIsSUFBQSxRQUFRLEVBQUVzRCxhQUFhLElBQUk7QUFBcEQsS0FGZixDQURGO0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQcm9wcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQsIFByZXZpZXdUeXBlLCBDb250ZXh0U3RvcmUgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IElDb21tYW5kIH0gZnJvbSAnLi4vLi4vY29tbWFuZHMnO1xuaW1wb3J0IENoaWxkIGZyb20gJy4vQ2hpbGQnO1xuaW1wb3J0ICcuL2luZGV4Lmxlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUb29sYmFyUHJvcHMgZXh0ZW5kcyBJUHJvcHMge1xuICBoZWlnaHQ/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzWydoZWlnaHQnXTtcbiAgb25Db21tYW5kPzogKGNvbW1hbmQ6IElDb21tYW5kPHN0cmluZz4sIGdyb3VwTmFtZT86IHN0cmluZykgPT4gdm9pZDtcbiAgY29tbWFuZHM/OiBJQ29tbWFuZDxzdHJpbmc+W107XG4gIGlzQ2hpbGQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVG9vbGJhckl0ZW1zKHByb3BzOiBJVG9vbGJhclByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmdWxsc2NyZWVuLCBwcmV2aWV3LCBiYXJQb3B1cCA9IHt9LCBjb21tYW5kT3JjaGVzdHJhdG9yLCBkaXNwYXRjaCB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgZnVuY3Rpb24gaGFuZGxlQ2xpY2soY29tbWFuZDogSUNvbW1hbmQ8c3RyaW5nPiwgbmFtZT86IHN0cmluZykge1xuICAgIGlmICghZGlzcGF0Y2gpIHJldHVybjtcbiAgICBjb25zdCBzdGF0ZTogQ29udGV4dFN0b3JlID0geyBiYXJQb3B1cDogeyAuLi5iYXJQb3B1cCB9IH07XG4gICAgaWYgKGNvbW1hbmQua2V5Q29tbWFuZCA9PT0gJ3ByZXZpZXcnKSB7XG4gICAgICBzdGF0ZS5wcmV2aWV3ID0gY29tbWFuZC52YWx1ZSBhcyBQcmV2aWV3VHlwZTtcbiAgICB9XG4gICAgaWYgKGNvbW1hbmQua2V5Q29tbWFuZCA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICBzdGF0ZS5mdWxsc2NyZWVuID0gIWZ1bGxzY3JlZW47XG4gICAgfVxuICAgIGlmIChwcm9wcy5jb21tYW5kcyAmJiBjb21tYW5kLmtleUNvbW1hbmQgPT09ICdncm91cCcpIHtcbiAgICAgIHByb3BzLmNvbW1hbmRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKG5hbWUgPT09IGl0ZW0uZ3JvdXBOYW1lKSB7XG4gICAgICAgICAgc3RhdGUuYmFyUG9wdXAhW25hbWUhXSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5rZXlDb21tYW5kKSB7XG4gICAgICAgICAgc3RhdGUuYmFyUG9wdXAhW2l0ZW0uZ3JvdXBOYW1lIV0gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChuYW1lIHx8IGNvbW1hbmQucGFyZW50KSB7XG4gICAgICBPYmplY3Qua2V5cyhzdGF0ZS5iYXJQb3B1cCB8fCB7fSkuZm9yRWFjaCgoa2V5TmFtZSkgPT4ge1xuICAgICAgICBzdGF0ZS5iYXJQb3B1cCFba2V5TmFtZV0gPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhzdGF0ZSkubGVuZ3RoKSB7XG4gICAgICBkaXNwYXRjaCh7IC4uLnN0YXRlIH0pO1xuICAgIH1cbiAgICBjb21tYW5kT3JjaGVzdHJhdG9yICYmIGNvbW1hbmRPcmNoZXN0cmF0b3IuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCk7XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICFmdWxsc2NyZWVuID8gJ2luaXRpYWwnIDogJ2hpZGRlbic7XG4gICAgfVxuICB9LCBbZnVsbHNjcmVlbl0pO1xuXG4gIHJldHVybiAoXG4gICAgPHVsPlxuICAgICAgeyhwcm9wcy5jb21tYW5kcyB8fCBbXSkubWFwKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ2RpdmlkZXInKSB7XG4gICAgICAgICAgcmV0dXJuIDxsaSBrZXk9e2lkeH0gey4uLml0ZW0ubGlQcm9wc30gY2xhc3NOYW1lPXtgJHtwcmVmaXhDbHN9LXRvb2xiYXItZGl2aWRlcmB9IC8+O1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXRlbS5rZXlDb21tYW5kKSByZXR1cm4gPEZyYWdtZW50IC8+O1xuICAgICAgICBjb25zdCBhY3RpdmVCdG4gPVxuICAgICAgICAgIChmdWxsc2NyZWVuICYmIGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ2Z1bGxzY3JlZW4nKSB8fCAoaXRlbS5rZXlDb21tYW5kID09PSAncHJldmlldycgJiYgcHJldmlldyA9PT0gaXRlbS52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZSA9XG4gICAgICAgICAgdHlwZW9mIGl0ZW0uY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gaXRlbS5jaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGU6ICgpID0+IGNvbW1hbmRPcmNoZXN0cmF0b3IhLmdldFN0YXRlKCksXG4gICAgICAgICAgICAgICAgdGV4dEFwaTogY29tbWFuZE9yY2hlc3RyYXRvciA/IGNvbW1hbmRPcmNoZXN0cmF0b3IhLnRleHRBcGkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xvc2U6ICgpID0+IGhhbmRsZUNsaWNrKHt9LCBpdGVtLmdyb3VwTmFtZSksXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogKCkgPT4gaGFuZGxlQ2xpY2soeyBleGVjdXRlOiBpdGVtLmV4ZWN1dGUgfSksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBiYXJQb3B1cCAmJiBwcmV2aWV3ICYmIHByZXZpZXcgPT09ICdwcmV2aWV3JyAmJiAhLyhwcmV2aWV3fGZ1bGxzY3JlZW4pLy50ZXN0KGl0ZW0ua2V5Q29tbWFuZCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17aWR4fSB7Li4uaXRlbS5saVByb3BzfSBjbGFzc05hbWU9e2FjdGl2ZUJ0biA/IGBhY3RpdmVgIDogJyd9PlxuICAgICAgICAgICAgeyFpdGVtLmJ1dHRvblByb3BzICYmIGl0ZW0uaWNvbn1cbiAgICAgICAgICAgIHtpdGVtLmJ1dHRvblByb3BzICYmXG4gICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICdkYXRhLW5hbWUnOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAuLi5pdGVtLmJ1dHRvblByb3BzLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2bjogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZuLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljayhpdGVtLCBpdGVtLmdyb3VwTmFtZSk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXRlbS5pY29uLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAge2l0ZW0uY2hpbGRyZW4gJiYgKFxuICAgICAgICAgICAgICA8Q2hpbGRcbiAgICAgICAgICAgICAgICBncm91cE5hbWU9e2l0ZW0uZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgIHByZWZpeENscz17cHJlZml4Q2xzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtjaGlsZE5vZGV9XG4gICAgICAgICAgICAgICAgY29tbWFuZHM9e1xuICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiB0eXBlb2YgaXRlbS5jaGlsZHJlbiAhPT0gJ2Z1bmN0aW9uJyA/IGl0ZW0uY2hpbGRyZW4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L3VsPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUb29sYmFyKHByb3BzOiBJVG9vbGJhclByb3BzID0ge30pIHtcbiAgY29uc3QgeyBwcmVmaXhDbHMsIGhlaWdodCA9IDI5LCBpc0NoaWxkIH0gPSBwcm9wcztcbiAgY29uc3QgeyBjb21tYW5kcywgZXh0cmFDb21tYW5kcyB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS10b29sYmFyYH0gc3R5bGU9e3sgaGVpZ2h0IH19PlxuICAgICAgPFRvb2xiYXJJdGVtcyB7Li4ucHJvcHN9IGNvbW1hbmRzPXtwcm9wcy5jb21tYW5kcyB8fCBjb21tYW5kcyB8fCBbXX0gLz5cbiAgICAgIHshaXNDaGlsZCAmJiA8VG9vbGJhckl0ZW1zIHsuLi5wcm9wc30gY29tbWFuZHM9e2V4dHJhQ29tbWFuZHMgfHwgW119IC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb29sYmFySXRlbXMiLCJwcm9wcyIsInByZWZpeENscyIsInVzZUNvbnRleHQiLCJFZGl0b3JDb250ZXh0IiwiZnVsbHNjcmVlbiIsInByZXZpZXciLCJiYXJQb3B1cCIsImNvbW1hbmRPcmNoZXN0cmF0b3IiLCJkaXNwYXRjaCIsImhhbmRsZUNsaWNrIiwiY29tbWFuZCIsIm5hbWUiLCJzdGF0ZSIsImtleUNvbW1hbmQiLCJ2YWx1ZSIsImNvbW1hbmRzIiwiZm9yRWFjaCIsIml0ZW0iLCJncm91cE5hbWUiLCJwYXJlbnQiLCJPYmplY3QiLCJrZXlzIiwia2V5TmFtZSIsImxlbmd0aCIsImV4ZWN1dGVDb21tYW5kIiwidXNlRWZmZWN0IiwiZG9jdW1lbnQiLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsIm1hcCIsImlkeCIsImxpUHJvcHMiLCJhY3RpdmVCdG4iLCJjaGlsZE5vZGUiLCJjaGlsZHJlbiIsImdldFN0YXRlIiwidGV4dEFwaSIsInVuZGVmaW5lZCIsImNsb3NlIiwiZXhlY3V0ZSIsImRpc2FibGVkIiwidGVzdCIsImJ1dHRvblByb3BzIiwiaWNvbiIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJvbkNsaWNrIiwiZXZuIiwic3RvcFByb3BhZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiVG9vbGJhciIsImhlaWdodCIsImlzQ2hpbGQiLCJleHRyYUNvbW1hbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVG9vbGJhci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUHJvcHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBFZGl0b3JDb250ZXh0LCBQcmV2aWV3VHlwZSwgQ29udGV4dFN0b3JlIH0gZnJvbSAnLi4vLi4vQ29udGV4dCc7XG5pbXBvcnQgeyBJQ29tbWFuZCB9IGZyb20gJy4uLy4uL2NvbW1hbmRzJztcbmltcG9ydCBDaGlsZCBmcm9tICcuL0NoaWxkJztcbmltcG9ydCAnLi9pbmRleC5sZXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBJVG9vbGJhclByb3BzIGV4dGVuZHMgSVByb3BzIHtcbiAgaGVpZ2h0PzogUmVhY3QuQ1NTUHJvcGVydGllc1snaGVpZ2h0J107XG4gIG9uQ29tbWFuZD86IChjb21tYW5kOiBJQ29tbWFuZDxzdHJpbmc+LCBncm91cE5hbWU/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNvbW1hbmRzPzogSUNvbW1hbmQ8c3RyaW5nPltdO1xuICBpc0NoaWxkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRvb2xiYXJJdGVtcyhwcm9wczogSVRvb2xiYXJQcm9wcykge1xuICBjb25zdCB7IHByZWZpeENscyB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZnVsbHNjcmVlbiwgcHJldmlldywgYmFyUG9wdXAgPSB7fSwgY29tbWFuZE9yY2hlc3RyYXRvciwgZGlzcGF0Y2ggfSA9IHVzZUNvbnRleHQoRWRpdG9yQ29udGV4dCk7XG4gIGZ1bmN0aW9uIGhhbmRsZUNsaWNrKGNvbW1hbmQ6IElDb21tYW5kPHN0cmluZz4sIG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAoIWRpc3BhdGNoKSByZXR1cm47XG4gICAgY29uc3Qgc3RhdGU6IENvbnRleHRTdG9yZSA9IHsgYmFyUG9wdXA6IHsgLi4uYmFyUG9wdXAgfSB9O1xuICAgIGlmIChjb21tYW5kLmtleUNvbW1hbmQgPT09ICdwcmV2aWV3Jykge1xuICAgICAgc3RhdGUucHJldmlldyA9IGNvbW1hbmQudmFsdWUgYXMgUHJldmlld1R5cGU7XG4gICAgfVxuICAgIGlmIChjb21tYW5kLmtleUNvbW1hbmQgPT09ICdmdWxsc2NyZWVuJykge1xuICAgICAgc3RhdGUuZnVsbHNjcmVlbiA9ICFmdWxsc2NyZWVuO1xuICAgIH1cbiAgICBpZiAocHJvcHMuY29tbWFuZHMgJiYgY29tbWFuZC5rZXlDb21tYW5kID09PSAnZ3JvdXAnKSB7XG4gICAgICBwcm9wcy5jb21tYW5kcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChuYW1lID09PSBpdGVtLmdyb3VwTmFtZSkge1xuICAgICAgICAgIHN0YXRlLmJhclBvcHVwIVtuYW1lIV0gPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ua2V5Q29tbWFuZCkge1xuICAgICAgICAgIHN0YXRlLmJhclBvcHVwIVtpdGVtLmdyb3VwTmFtZSFdID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAobmFtZSB8fCBjb21tYW5kLnBhcmVudCkge1xuICAgICAgT2JqZWN0LmtleXMoc3RhdGUuYmFyUG9wdXAgfHwge30pLmZvckVhY2goKGtleU5hbWUpID0+IHtcbiAgICAgICAgc3RhdGUuYmFyUG9wdXAhW2tleU5hbWVdID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoc3RhdGUpLmxlbmd0aCkge1xuICAgICAgZGlzcGF0Y2goeyAuLi5zdGF0ZSB9KTtcbiAgICB9XG4gICAgY29tbWFuZE9yY2hlc3RyYXRvciAmJiBjb21tYW5kT3JjaGVzdHJhdG9yLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQpO1xuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZG9jdW1lbnQpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAhZnVsbHNjcmVlbiA/ICdpbml0aWFsJyA6ICdoaWRkZW4nO1xuICAgIH1cbiAgfSwgW2Z1bGxzY3JlZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDx1bD5cbiAgICAgIHsocHJvcHMuY29tbWFuZHMgfHwgW10pLm1hcCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmtleUNvbW1hbmQgPT09ICdkaXZpZGVyJykge1xuICAgICAgICAgIHJldHVybiA8bGkga2V5PXtpZHh9IHsuLi5pdGVtLmxpUHJvcHN9IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS10b29sYmFyLWRpdmlkZXJgfSAvPjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWl0ZW0ua2V5Q29tbWFuZCkgcmV0dXJuIDxGcmFnbWVudCAvPjtcbiAgICAgICAgY29uc3QgYWN0aXZlQnRuID1cbiAgICAgICAgICAoZnVsbHNjcmVlbiAmJiBpdGVtLmtleUNvbW1hbmQgPT09ICdmdWxsc2NyZWVuJykgfHwgKGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ3ByZXZpZXcnICYmIHByZXZpZXcgPT09IGl0ZW0udmFsdWUpO1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPVxuICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gJiYgdHlwZW9mIGl0ZW0uY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gaXRlbS5jaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGU6ICgpID0+IGNvbW1hbmRPcmNoZXN0cmF0b3IhLmdldFN0YXRlKCksXG4gICAgICAgICAgICAgICAgdGV4dEFwaTogY29tbWFuZE9yY2hlc3RyYXRvciA/IGNvbW1hbmRPcmNoZXN0cmF0b3IhLnRleHRBcGkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xvc2U6ICgpID0+IGhhbmRsZUNsaWNrKHt9LCBpdGVtLmdyb3VwTmFtZSksXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogKCkgPT4gaGFuZGxlQ2xpY2soeyBleGVjdXRlOiBpdGVtLmV4ZWN1dGUgfSksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBiYXJQb3B1cCAmJiBwcmV2aWV3ICYmIHByZXZpZXcgPT09ICdwcmV2aWV3JyAmJiAhLyhwcmV2aWV3fGZ1bGxzY3JlZW4pLy50ZXN0KGl0ZW0ua2V5Q29tbWFuZCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17aWR4fSB7Li4uaXRlbS5saVByb3BzfSBjbGFzc05hbWU9e2FjdGl2ZUJ0biA/IGBhY3RpdmVgIDogJyd9PlxuICAgICAgICAgICAgeyFpdGVtLmJ1dHRvblByb3BzICYmIGl0ZW0uaWNvbn1cbiAgICAgICAgICAgIHtpdGVtLmJ1dHRvblByb3BzICYmXG4gICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICdkYXRhLW5hbWUnOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAuLi5pdGVtLmJ1dHRvblByb3BzLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2bjogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZuLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljayhpdGVtLCBpdGVtLmdyb3VwTmFtZSk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXRlbS5pY29uLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAge2l0ZW0uY2hpbGRyZW4gJiYgKFxuICAgICAgICAgICAgICA8Q2hpbGRcbiAgICAgICAgICAgICAgICBncm91cE5hbWU9e2l0ZW0uZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgIHByZWZpeENscz17cHJlZml4Q2xzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtjaGlsZE5vZGV9XG4gICAgICAgICAgICAgICAgY29tbWFuZHM9e0FycmF5LmlzQXJyYXkoaXRlbS5jaGlsZHJlbikgPyBpdGVtLmNoaWxkcmVuIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC91bD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVG9vbGJhcihwcm9wczogSVRvb2xiYXJQcm9wcyA9IHt9KSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCBoZWlnaHQgPSAyOSwgaXNDaGlsZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgY29tbWFuZHMsIGV4dHJhQ29tbWFuZHMgfSA9IHVzZUNvbnRleHQoRWRpdG9yQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdG9vbGJhcmB9IHN0eWxlPXt7IGhlaWdodCB9fT5cbiAgICAgIDxUb29sYmFySXRlbXMgey4uLnByb3BzfSBjb21tYW5kcz17cHJvcHMuY29tbWFuZHMgfHwgY29tbWFuZHMgfHwgW119IC8+XG4gICAgICB7IWlzQ2hpbGQgJiYgPFRvb2xiYXJJdGVtcyB7Li4ucHJvcHN9IGNvbW1hbmRzPXtleHRyYUNvbW1hbmRzIHx8IFtdfSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUVBO0FBRUE7QUFVTyxTQUFTQSxZQUFZLENBQUNDLEtBQW9CLEVBQUU7RUFDakQsSUFBUUMsU0FBUyxHQUFLRCxLQUFLLENBQW5CQyxTQUFTO0VBQ2pCLGtCQUE4RSxJQUFBQyxpQkFBVSxFQUFDQyxzQkFBYSxDQUFDO0lBQS9GQyxVQUFVLGVBQVZBLFVBQVU7SUFBRUMsT0FBTyxlQUFQQSxPQUFPO0lBQUEsbUNBQUVDLFFBQVE7SUFBUkEsUUFBUSxxQ0FBRyxDQUFDLENBQUM7SUFBRUMsbUJBQW1CLGVBQW5CQSxtQkFBbUI7SUFBRUMsUUFBUSxlQUFSQSxRQUFRO0VBQ3pFLFNBQVNDLFdBQVcsQ0FBQ0MsT0FBeUIsRUFBRUMsSUFBYSxFQUFFO0lBQzdELElBQUksQ0FBQ0gsUUFBUSxFQUFFO0lB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
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -9,10 +8,8 @@ var _exportNames = {
|
|
|
9
8
|
commands: true,
|
|
10
9
|
MarkdownUtil: true
|
|
11
10
|
};
|
|
12
|
-
exports.
|
|
13
|
-
|
|
11
|
+
exports.default = exports.commands = exports.MarkdownUtil = void 0;
|
|
14
12
|
var _Editor = _interopRequireWildcard(require("./Editor"));
|
|
15
|
-
|
|
16
13
|
Object.keys(_Editor).forEach(function (key) {
|
|
17
14
|
if (key === "default" || key === "__esModule") return;
|
|
18
15
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -24,9 +21,7 @@ Object.keys(_Editor).forEach(function (key) {
|
|
|
24
21
|
}
|
|
25
22
|
});
|
|
26
23
|
});
|
|
27
|
-
|
|
28
24
|
var commands = _interopRequireWildcard(require("./commands"));
|
|
29
|
-
|
|
30
25
|
exports.commands = commands;
|
|
31
26
|
Object.keys(commands).forEach(function (key) {
|
|
32
27
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -39,9 +34,7 @@ Object.keys(commands).forEach(function (key) {
|
|
|
39
34
|
}
|
|
40
35
|
});
|
|
41
36
|
});
|
|
42
|
-
|
|
43
37
|
var MarkdownUtil = _interopRequireWildcard(require("./utils/markdownUtils"));
|
|
44
|
-
|
|
45
38
|
exports.MarkdownUtil = MarkdownUtil;
|
|
46
39
|
Object.keys(MarkdownUtil).forEach(function (key) {
|
|
47
40
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -54,9 +47,7 @@ Object.keys(MarkdownUtil).forEach(function (key) {
|
|
|
54
47
|
}
|
|
55
48
|
});
|
|
56
49
|
});
|
|
57
|
-
|
|
58
50
|
var _Context = require("./Context");
|
|
59
|
-
|
|
60
51
|
Object.keys(_Context).forEach(function (key) {
|
|
61
52
|
if (key === "default" || key === "__esModule") return;
|
|
62
53
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -70,4 +61,4 @@ Object.keys(_Context).forEach(function (key) {
|
|
|
70
61
|
});
|
|
71
62
|
var _default = _Editor.default;
|
|
72
63
|
exports.default = _default;
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNREVkaXRvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1ERWRpdG9yIGZyb20gJy4vRWRpdG9yJztcbmltcG9ydCAqIGFzIGNvbW1hbmRzIGZyb20gJy4vY29tbWFuZHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25VdGlsIGZyb20gJy4vdXRpbHMvbWFya2Rvd25VdGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9tYXJrZG93blV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vRWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vQ29udGV4dCc7XG5cbmV4cG9ydCB7IE1hcmtkb3duVXRpbCwgY29tbWFuZHMgfTtcblxuZXhwb3J0IGRlZmF1bHQgTURFZGl0b3I7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFNQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0lBQUE7SUFBQTtNQUFBO0lBQUE7RUFBQTtBQUFBO0FBTEE7QUFBdUM7QUFHdkM7RUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQTtBQUZBO0FBQXNEO0FBR3REO0VBQUE7RUFBQTtFQUFBO0VBQUE7SUFBQTtJQUFBO01BQUE7SUFBQTtFQUFBO0FBQUE7QUFFQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7SUFBQTtJQUFBO01BQUE7SUFBQTtFQUFBO0FBQUE7QUFBMEIsZUFJWEEsZUFBUTtBQUFBIn0=
|
|
@@ -4,70 +4,66 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = insertTextAtPosition;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* The MIT License
|
|
10
9
|
* Copyright (c) 2018 Dmitriy Kubyshkin
|
|
11
10
|
* Copied from https://github.com/grassator/insert-text-at-cursor
|
|
12
11
|
*/
|
|
12
|
+
|
|
13
13
|
var browserSupportsTextareaTextNodes;
|
|
14
|
+
|
|
14
15
|
/**
|
|
15
16
|
* @param {HTMLElement} input
|
|
16
17
|
* @return {boolean}
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
19
|
function canManipulateViaTextNodes(input) {
|
|
20
20
|
if (input.nodeName !== 'TEXTAREA') {
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
23
|
if (typeof browserSupportsTextareaTextNodes === 'undefined') {
|
|
25
24
|
var textarea = document.createElement('textarea');
|
|
26
25
|
textarea.value = '1';
|
|
27
26
|
browserSupportsTextareaTextNodes = !!textarea.firstChild;
|
|
28
27
|
}
|
|
29
|
-
|
|
30
28
|
return browserSupportsTextareaTextNodes;
|
|
31
29
|
}
|
|
30
|
+
|
|
32
31
|
/**
|
|
33
32
|
* @param {HTMLTextAreaElement|HTMLInputElement} input
|
|
34
33
|
* @param {string} text
|
|
35
34
|
* @returns {void}
|
|
36
35
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
39
36
|
function insertTextAtPosition(input, text) {
|
|
40
37
|
// Most of the used APIs only work with the field selected
|
|
41
|
-
input.focus();
|
|
38
|
+
input.focus();
|
|
42
39
|
|
|
40
|
+
// IE 8-10
|
|
43
41
|
if (document.selection) {
|
|
44
42
|
var ieRange = document.selection.createRange();
|
|
45
|
-
ieRange.text = text;
|
|
43
|
+
ieRange.text = text;
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
/* to the end */
|
|
49
|
-
);
|
|
45
|
+
// Move cursor after the inserted text
|
|
46
|
+
ieRange.collapse(false /* to the end */);
|
|
50
47
|
ieRange.select();
|
|
51
48
|
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
49
|
+
}
|
|
54
50
|
|
|
51
|
+
// Webkit + Edge
|
|
55
52
|
var isSuccess = document.execCommand('insertText', false, text);
|
|
56
|
-
|
|
57
53
|
if (!isSuccess) {
|
|
58
54
|
var start = input.selectionStart;
|
|
59
|
-
var end = input.selectionEnd;
|
|
60
|
-
|
|
55
|
+
var end = input.selectionEnd;
|
|
56
|
+
// Firefox (non-standard method)
|
|
61
57
|
if (typeof input.setRangeText === 'function') {
|
|
62
58
|
input.setRangeText(text);
|
|
63
59
|
} else {
|
|
64
60
|
// To make a change we just need a Range, not a Selection
|
|
65
61
|
var range = document.createRange();
|
|
66
62
|
var textNode = document.createTextNode(text);
|
|
67
|
-
|
|
68
63
|
if (canManipulateViaTextNodes(input)) {
|
|
69
|
-
var node = input.firstChild;
|
|
64
|
+
var node = input.firstChild;
|
|
70
65
|
|
|
66
|
+
// If textarea is empty, just insert the text
|
|
71
67
|
if (!node) {
|
|
72
68
|
input.appendChild(textNode);
|
|
73
69
|
} else {
|
|
@@ -75,35 +71,34 @@ function insertTextAtPosition(input, text) {
|
|
|
75
71
|
var offset = 0;
|
|
76
72
|
var startNode = null;
|
|
77
73
|
var endNode = null;
|
|
78
|
-
|
|
79
74
|
while (node && (startNode === null || endNode === null)) {
|
|
80
|
-
var nodeLength = node.nodeValue.length;
|
|
75
|
+
var nodeLength = node.nodeValue.length;
|
|
81
76
|
|
|
77
|
+
// if start of the selection falls into current node
|
|
82
78
|
if (start >= offset && start <= offset + nodeLength) {
|
|
83
79
|
range.setStart(startNode = node, start - offset);
|
|
84
|
-
}
|
|
85
|
-
|
|
80
|
+
}
|
|
86
81
|
|
|
82
|
+
// if end of the selection falls into current node
|
|
87
83
|
if (end >= offset && end <= offset + nodeLength) {
|
|
88
84
|
range.setEnd(endNode = node, end - offset);
|
|
89
85
|
}
|
|
90
|
-
|
|
91
86
|
offset += nodeLength;
|
|
92
87
|
node = node.nextSibling;
|
|
93
|
-
}
|
|
94
|
-
|
|
88
|
+
}
|
|
95
89
|
|
|
90
|
+
// If there is some text selected, remove it as we should replace it
|
|
96
91
|
if (start !== end) {
|
|
97
92
|
range.deleteContents();
|
|
98
93
|
}
|
|
99
94
|
}
|
|
100
|
-
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// If the node is a textarea and the range doesn't span outside the element
|
|
101
98
|
//
|
|
102
99
|
// Get the commonAncestorContainer of the selected range and test its type
|
|
103
100
|
// If the node is of type `#text` it means that we're still working with text nodes within our textarea element
|
|
104
101
|
// otherwise, if it's of type `#document` for example it means our selection spans outside the textarea.
|
|
105
|
-
|
|
106
|
-
|
|
107
102
|
if (canManipulateViaTextNodes(input) && range.commonAncestorContainer.nodeName === '#text') {
|
|
108
103
|
// Finally insert a new node. The browser will automatically split start and end nodes into two if necessary
|
|
109
104
|
range.insertNode(textNode);
|
|
@@ -112,16 +107,16 @@ function insertTextAtPosition(input, text) {
|
|
|
112
107
|
var value = input.value;
|
|
113
108
|
input.value = value.slice(0, start) + text + value.slice(end);
|
|
114
109
|
}
|
|
115
|
-
}
|
|
116
|
-
|
|
110
|
+
}
|
|
117
111
|
|
|
118
|
-
|
|
112
|
+
// Correct the cursor position to be at the end of the insertion
|
|
113
|
+
input.setSelectionRange(start + text.length, start + text.length);
|
|
119
114
|
|
|
115
|
+
// Notify any possible listeners of the change
|
|
120
116
|
var e = document.createEvent('UIEvent');
|
|
121
117
|
e.initEvent('input', true, false);
|
|
122
118
|
input.dispatchEvent(e);
|
|
123
119
|
}
|
|
124
120
|
}
|
|
125
|
-
|
|
126
121
|
module.exports = exports.default;
|
|
127
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9JbnNlcnRUZXh0QXRQb3NpdGlvbi50cyJdLCJuYW1lcyI6WyJicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyIsImNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMiLCJpbnB1dCIsIm5vZGVOYW1lIiwidGV4dGFyZWEiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2YWx1ZSIsImZpcnN0Q2hpbGQiLCJpbnNlcnRUZXh0QXRQb3NpdGlvbiIsInRleHQiLCJmb2N1cyIsInNlbGVjdGlvbiIsImllUmFuZ2UiLCJjcmVhdGVSYW5nZSIsImNvbGxhcHNlIiwic2VsZWN0IiwiaXNTdWNjZXNzIiwiZXhlY0NvbW1hbmQiLCJzdGFydCIsInNlbGVjdGlvblN0YXJ0IiwiZW5kIiwic2VsZWN0aW9uRW5kIiwic2V0UmFuZ2VUZXh0IiwicmFuZ2UiLCJ0ZXh0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwibm9kZSIsImFwcGVuZENoaWxkIiwib2Zmc2V0Iiwic3RhcnROb2RlIiwiZW5kTm9kZSIsIm5vZGVMZW5ndGgiLCJub2RlVmFsdWUiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsIm5leHRTaWJsaW5nIiwiZGVsZXRlQ29udGVudHMiLCJjb21tb25BbmNlc3RvckNvbnRhaW5lciIsImluc2VydE5vZGUiLCJzbGljZSIsInNldFNlbGVjdGlvblJhbmdlIiwiZSIsImNyZWF0ZUV2ZW50IiwiaW5pdEV2ZW50IiwiZGlzcGF0Y2hFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxnQ0FBSjtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLHlCQUFULENBQW1DQyxLQUFuQyxFQUFrRjtBQUNoRixNQUFJQSxLQUFLLENBQUNDLFFBQU4sS0FBbUIsVUFBdkIsRUFBbUM7QUFDakMsV0FBTyxLQUFQO0FBQ0Q7O0FBQ0QsTUFBSSxPQUFPSCxnQ0FBUCxLQUE0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LEtBQUssS0FBS0UsR0FBZCxFQUFtQjtBQUNqQkcsWUFBQUEsS0FBSyxDQUFDYyxjQUFOO0FBQ0Q7QUFDRjtBQUNGLE9BdkNJLENBeUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFVBQUlyQyx5QkFBeUIsQ0FBQ0MsS0FBRCxDQUF6QixJQUFvQ3NCLEtBQUssQ0FBQ2UsdUJBQU4sQ0FBOEJwQyxRQUE5QixLQUEyQyxPQUFuRixFQUE0RjtBQUMxRjtBQUNBcUIsUUFBQUEsS0FBSyxDQUFDZ0IsVUFBTixDQUFpQmYsUUFBakI7QUFDRCxPQUhELE1BR087QUFDTDtBQUNBLFlBQU1sQixLQUFLLEdBQUdMLEtBQUssQ0FBQ0ssS0FBcEI7QUFDQUwsUUFBQUEsS0FBSyxDQUFDSyxLQUFOLEdBQWNBLEtBQUssQ0FBQ2tDLEtBQU4sQ0FBWSxDQUFaLEVBQWV0QixLQUFmLElBQXdCVCxJQUF4QixHQUErQkgsS0FBSyxDQUFDa0MsS0FBTixDQUFZcEIsR0FBWixDQUE3QztBQUNEO0FBQ0YsS0E1RGEsQ0E4RGQ7OztBQUNBbkIsSUFBQUEsS0FBSyxDQUFDd0MsaUJBQU4sQ0FBd0J2QixLQUFLLEdBQUdULElBQUksQ0FBQ3dCLE1BQXJDLEVBQTZDZixLQUFLLEdBQUdULElBQUksQ0FBQ3dCLE1BQTFELEVBL0RjLENBaUVkOztBQUNBLFFBQU1TLENBQUMsR0FBR3RDLFFBQVEsQ0FBQ3VDLFdBQVQsQ0FBcUIsU0FBckIsQ0FBVjtBQUNBRCxJQUFBQSxDQUFDLENBQUNFLFNBQUYsQ0FBWSxPQUFaLEVBQXFCLElBQXJCLEVBQTJCLEtBQTNCO0FBQ0EzQyxJQUFBQSxLQUFLLENBQUM0QyxhQUFOLENBQW9CSCxDQUFwQjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE4IERtaXRyaXkgS3VieXNoa2luXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ3Jhc3NhdG9yL2luc2VydC10ZXh0LWF0LWN1cnNvclxuICovXG5cbmxldCBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlczogYW55O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGlucHV0XG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5NYW5pcHVsYXRlVmlhVGV4dE5vZGVzKGlucHV0OiBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudCkge1xuICBpZiAoaW5wdXQubm9kZU5hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dGFyZWEudmFsdWUgPSAnMSc7XG4gICAgYnJvd3NlclN1cHBvcnRzVGV4dGFyZWFUZXh0Tm9kZXMgPSAhIXRleHRhcmVhLmZpcnN0Q2hpbGQ7XG4gIH1cbiAgcmV0dXJuIGJyb3dzZXJTdXBwb3J0c1RleHRhcmVhVGV4dE5vZGVzO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTFRleHRBcmVhRWxlbWVudHxIVE1MSW5wdXRFbGVtZW50fSBpbnB1dFxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbnNlcnRUZXh0QXRQb3NpdGlvbihpbnB1dDogSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQsIHRleHQ6IHN0cmluZykge1xuICAvLyBNb3N0IG9mIHRoZSB1c2VkIEFQSXMgb25seSB3b3JrIHdpdGggdGhlIGZpZWxkIHNlbGVjdGVkXG4gIGlucHV0LmZvY3VzKCk7XG5cbiAgLy8gSUUgOC0xMFxuICBpZiAoKGRvY3VtZW50IGFzIGFueSkuc2VsZWN0aW9uKSB7XG4gICAgY29uc3QgaWVSYW5nZSA9IChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO1xuICAgIGllUmFuZ2UudGV4dCA9IHRleHQ7XG5cbiAgICAvLyBNb3ZlIGN1cnNvciBhZnRlciB0aGUgaW5zZXJ0ZWQgdGV4dFxuICAgIGllUmFuZ2UuY29sbGFwc2UoZmFsc2UgLyogdG8gdGhlIGVuZCAqLyk7XG4gICAgaWVSYW5nZS5zZWxlY3QoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFdlYmtpdCArIEVkZ2VcbiAgY29uc3QgaXNTdWNjZXNzID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgdGV4dCk7XG4gIGlmICghaXNTdWNjZXNzKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG4gICAgY29uc3QgZW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kITtcbiAgICAvLyBGaXJlZm94IChub24tc3RhbmRhcmQgbWV0aG9kKVxuICAgIGlmICh0eXBlb2YgaW5wdXQuc2V0UmFuZ2VUZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbnB1dC5zZXRSYW5nZVRleHQodGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRvIG1ha2UgYSBjaGFuZ2Ugd2UganVzdCBuZWVkIGEgUmFuZ2UsIG5vdCBhIFNlbGVjdGlvblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcblxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpKSB7XG4gICAgICAgIGxldCBub2RlID0gaW5wdXQuZmlyc3RDaGlsZDtcblxuICAgICAgICAvLyBJZiB0ZXh0YXJlYSBpcyBlbXB0eSwganVzdCBpbnNlcnQgdGhlIHRleHRcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgaW5wdXQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSBuZWVkIHRvIGZpbmQgYSBub2RlcyBmb3Igc3RhcnQgYW5kIGVuZFxuICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgIGxldCBzdGFydE5vZGUgPSBudWxsO1xuICAgICAgICAgIGxldCBlbmROb2RlID0gbnVsbDtcblxuICAgICAgICAgIHdoaWxlIChub2RlICYmIChzdGFydE5vZGUgPT09IG51bGwgfHwgZW5kTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVMZW5ndGggPSBub2RlLm5vZGVWYWx1ZSEubGVuZ3RoO1xuXG4gICAgICAgICAgICAvLyBpZiBzdGFydCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoc3RhcnQgPj0gb2Zmc2V0ICYmIHN0YXJ0IDw9IG9mZnNldCArIG5vZGVMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoKHN0YXJ0Tm9kZSA9IG5vZGUpLCBzdGFydCAtIG9mZnNldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIGVuZCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoZW5kID49IG9mZnNldCAmJiBlbmQgPD0gb2Zmc2V0ICsgbm9kZUxlbmd0aCkge1xuICAgICAgICAgICAgICByYW5nZS5zZXRFbmQoKGVuZE5vZGUgPSBub2RlKSwgZW5kIC0gb2Zmc2V0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb2Zmc2V0ICs9IG5vZGVMZW5ndGg7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBzb21lIHRleHQgc2VsZWN0ZWQsIHJlbW92ZSBpdCBhcyB3ZSBzaG91bGQgcmVwbGFjZSBpdFxuICAgICAgICAgIGlmIChzdGFydCAhPT0gZW5kKSB7XG4gICAgICAgICAgICByYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIHRleHRhcmVhIGFuZCB0aGUgcmFuZ2UgZG9lc24ndCBzcGFuIG91dHNpZGUgdGhlIGVsZW1lbnRcbiAgICAgIC8vXG4gICAgICAvLyBHZXQgdGhlIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIG9mIHRoZSBzZWxlY3RlZCByYW5nZSBhbmQgdGVzdCBpdHMgdHlwZVxuICAgICAgLy8gSWYgdGhlIG5vZGUgaXMgb2YgdHlwZSBgI3RleHRgIGl0IG1lYW5zIHRoYXQgd2UncmUgc3RpbGwgd29ya2luZyB3aXRoIHRleHQgbm9kZXMgd2l0aGluIG91ciB0ZXh0YXJlYSBlbGVtZW50XG4gICAgICAvLyBvdGhlcndpc2UsIGlmIGl0J3Mgb2YgdHlwZSBgI2RvY3VtZW50YCBmb3IgZXhhbXBsZSBpdCBtZWFucyBvdXIgc2VsZWN0aW9uIHNwYW5zIG91dHNpZGUgdGhlIHRleHRhcmVhLlxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpICYmIHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgIC8vIEZpbmFsbHkgaW5zZXJ0IGEgbmV3IG5vZGUuIFRoZSBicm93c2VyIHdpbGwgYXV0b21hdGljYWxseSBzcGxpdCBzdGFydCBhbmQgZW5kIG5vZGVzIGludG8gdHdvIGlmIG5lY2Vzc2FyeVxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKHRleHROb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBub2RlIGlzIG5vdCBhIHRleHRhcmVhIG9yIHRoZSByYW5nZSBzcGFucyBvdXRzaWRlIGEgdGV4dGFyZWEgdGhlIG9ubHkgd2F5IGlzIHRvIHJlcGxhY2UgdGhlIHdob2xlIHZhbHVlXG4gICAgICAgIGNvbnN0IHZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgc3RhcnQpICsgdGV4dCArIHZhbHVlLnNsaWNlKGVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIGF0IHRoZSBlbmQgb2YgdGhlIGluc2VydGlvblxuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0ICsgdGV4dC5sZW5ndGgsIHN0YXJ0ICsgdGV4dC5sZW5ndGgpO1xuXG4gICAgLy8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhlIGNoYW5nZVxuICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGUuaW5pdEV2ZW50KCdpbnB1dCcsIHRydWUsIGZhbHNlKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGUpO1xuICB9XG59XG4iXX0=
|
|
122
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyIsImNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMiLCJpbnB1dCIsIm5vZGVOYW1lIiwidGV4dGFyZWEiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2YWx1ZSIsImZpcnN0Q2hpbGQiLCJpbnNlcnRUZXh0QXRQb3NpdGlvbiIsInRleHQiLCJmb2N1cyIsInNlbGVjdGlvbiIsImllUmFuZ2UiLCJjcmVhdGVSYW5nZSIsImNvbGxhcHNlIiwic2VsZWN0IiwiaXNTdWNjZXNzIiwiZXhlY0NvbW1hbmQiLCJzdGFydCIsInNlbGVjdGlvblN0YXJ0IiwiZW5kIiwic2VsZWN0aW9uRW5kIiwic2V0UmFuZ2VUZXh0IiwicmFuZ2UiLCJ0ZXh0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwibm9kZSIsImFwcGVuZENoaWxkIiwib2Zmc2V0Iiwic3RhcnROb2RlIiwiZW5kTm9kZSIsIm5vZGVMZW5ndGgiLCJub2RlVmFsdWUiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsIm5leHRTaWJsaW5nIiwiZGVsZXRlQ29udGVudHMiLCJjb21tb25BbmNlc3RvckNvbnRhaW5lciIsImluc2VydE5vZGUiLCJzbGljZSIsInNldFNlbGVjdGlvblJhbmdlIiwiZSIsImNyZWF0ZUV2ZW50IiwiaW5pdEV2ZW50IiwiZGlzcGF0Y2hFdmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9JbnNlcnRUZXh0QXRQb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE4IERtaXRyaXkgS3VieXNoa2luXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ3Jhc3NhdG9yL2luc2VydC10ZXh0LWF0LWN1cnNvclxuICovXG5cbmxldCBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlczogYW55O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGlucHV0XG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5NYW5pcHVsYXRlVmlhVGV4dE5vZGVzKGlucHV0OiBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudCkge1xuICBpZiAoaW5wdXQubm9kZU5hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dGFyZWEudmFsdWUgPSAnMSc7XG4gICAgYnJvd3NlclN1cHBvcnRzVGV4dGFyZWFUZXh0Tm9kZXMgPSAhIXRleHRhcmVhLmZpcnN0Q2hpbGQ7XG4gIH1cbiAgcmV0dXJuIGJyb3dzZXJTdXBwb3J0c1RleHRhcmVhVGV4dE5vZGVzO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTFRleHRBcmVhRWxlbWVudHxIVE1MSW5wdXRFbGVtZW50fSBpbnB1dFxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbnNlcnRUZXh0QXRQb3NpdGlvbihpbnB1dDogSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQsIHRleHQ6IHN0cmluZykge1xuICAvLyBNb3N0IG9mIHRoZSB1c2VkIEFQSXMgb25seSB3b3JrIHdpdGggdGhlIGZpZWxkIHNlbGVjdGVkXG4gIGlucHV0LmZvY3VzKCk7XG5cbiAgLy8gSUUgOC0xMFxuICBpZiAoKGRvY3VtZW50IGFzIGFueSkuc2VsZWN0aW9uKSB7XG4gICAgY29uc3QgaWVSYW5nZSA9IChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO1xuICAgIGllUmFuZ2UudGV4dCA9IHRleHQ7XG5cbiAgICAvLyBNb3ZlIGN1cnNvciBhZnRlciB0aGUgaW5zZXJ0ZWQgdGV4dFxuICAgIGllUmFuZ2UuY29sbGFwc2UoZmFsc2UgLyogdG8gdGhlIGVuZCAqLyk7XG4gICAgaWVSYW5nZS5zZWxlY3QoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFdlYmtpdCArIEVkZ2VcbiAgY29uc3QgaXNTdWNjZXNzID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgdGV4dCk7XG4gIGlmICghaXNTdWNjZXNzKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG4gICAgY29uc3QgZW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kITtcbiAgICAvLyBGaXJlZm94IChub24tc3RhbmRhcmQgbWV0aG9kKVxuICAgIGlmICh0eXBlb2YgaW5wdXQuc2V0UmFuZ2VUZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbnB1dC5zZXRSYW5nZVRleHQodGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRvIG1ha2UgYSBjaGFuZ2Ugd2UganVzdCBuZWVkIGEgUmFuZ2UsIG5vdCBhIFNlbGVjdGlvblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcblxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpKSB7XG4gICAgICAgIGxldCBub2RlID0gaW5wdXQuZmlyc3RDaGlsZDtcblxuICAgICAgICAvLyBJZiB0ZXh0YXJlYSBpcyBlbXB0eSwganVzdCBpbnNlcnQgdGhlIHRleHRcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgaW5wdXQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSBuZWVkIHRvIGZpbmQgYSBub2RlcyBmb3Igc3RhcnQgYW5kIGVuZFxuICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgIGxldCBzdGFydE5vZGUgPSBudWxsO1xuICAgICAgICAgIGxldCBlbmROb2RlID0gbnVsbDtcblxuICAgICAgICAgIHdoaWxlIChub2RlICYmIChzdGFydE5vZGUgPT09IG51bGwgfHwgZW5kTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVMZW5ndGggPSBub2RlLm5vZGVWYWx1ZSEubGVuZ3RoO1xuXG4gICAgICAgICAgICAvLyBpZiBzdGFydCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoc3RhcnQgPj0gb2Zmc2V0ICYmIHN0YXJ0IDw9IG9mZnNldCArIG5vZGVMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoKHN0YXJ0Tm9kZSA9IG5vZGUpLCBzdGFydCAtIG9mZnNldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIGVuZCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoZW5kID49IG9mZnNldCAmJiBlbmQgPD0gb2Zmc2V0ICsgbm9kZUxlbmd0aCkge1xuICAgICAgICAgICAgICByYW5nZS5zZXRFbmQoKGVuZE5vZGUgPSBub2RlKSwgZW5kIC0gb2Zmc2V0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb2Zmc2V0ICs9IG5vZGVMZW5ndGg7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBzb21lIHRleHQgc2VsZWN0ZWQsIHJlbW92ZSBpdCBhcyB3ZSBzaG91bGQgcmVwbGFjZSBpdFxuICAgICAgICAgIGlmIChzdGFydCAhPT0gZW5kKSB7XG4gICAgICAgICAgICByYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIHRleHRhcmVhIGFuZCB0aGUgcmFuZ2UgZG9lc24ndCBzcGFuIG91dHNpZGUgdGhlIGVsZW1lbnRcbiAgICAgIC8vXG4gICAgICAvLyBHZXQgdGhlIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIG9mIHRoZSBzZWxlY3RlZCByYW5nZSBhbmQgdGVzdCBpdHMgdHlwZVxuICAgICAgLy8gSWYgdGhlIG5vZGUgaXMgb2YgdHlwZSBgI3RleHRgIGl0IG1lYW5zIHRoYXQgd2UncmUgc3RpbGwgd29ya2luZyB3aXRoIHRleHQgbm9kZXMgd2l0aGluIG91ciB0ZXh0YXJlYSBlbGVtZW50XG4gICAgICAvLyBvdGhlcndpc2UsIGlmIGl0J3Mgb2YgdHlwZSBgI2RvY3VtZW50YCBmb3IgZXhhbXBsZSBpdCBtZWFucyBvdXIgc2VsZWN0aW9uIHNwYW5zIG91dHNpZGUgdGhlIHRleHRhcmVhLlxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpICYmIHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgIC8vIEZpbmFsbHkgaW5zZXJ0IGEgbmV3IG5vZGUuIFRoZSBicm93c2VyIHdpbGwgYXV0b21hdGljYWxseSBzcGxpdCBzdGFydCBhbmQgZW5kIG5vZGVzIGludG8gdHdvIGlmIG5lY2Vzc2FyeVxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKHRleHROb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBub2RlIGlzIG5vdCBhIHRleHRhcmVhIG9yIHRoZSByYW5nZSBzcGFucyBvdXRzaWRlIGEgdGV4dGFyZWEgdGhlIG9ubHkgd2F5IGlzIHRvIHJlcGxhY2UgdGhlIHdob2xlIHZhbHVlXG4gICAgICAgIGNvbnN0IHZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgc3RhcnQpICsgdGV4dCArIHZhbHVlLnNsaWNlKGVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIGF0IHRoZSBlbmQgb2YgdGhlIGluc2VydGlvblxuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0ICsgdGV4dC5sZW5ndGgsIHN0YXJ0ICsgdGV4dC5sZW5ndGgpO1xuXG4gICAgLy8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhlIGNoYW5nZVxuICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGUuaW5pdEV2ZW50KCdpbnB1dCcsIHRydWUsIGZhbHNlKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGUpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsZ0NBQXFDOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLHlCQUF5QixDQUFDQyxLQUE2QyxFQUFFO0VBQ2hGLElBQUlBLEtBQUssQ0FBQ0MsUUFBUSxLQUFLLFVBQVUsRUFBRTtJQUNqQyxPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUksT0FBT0gsZ0NBQWdDLEtBQUssV0FBVyxFQUFFO0lBQzNELElBQU1JLFFBQTZCLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN4RUYsUUFBUSxDQUFDRyxLQUFLLEdBQUcsR0FBRztJQUNwQlAsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDSSxRQUFRLENBQUNJLFVBQVU7RUFDMUQ7RUFDQSxPQUFPUixnQ0FBZ0M7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNTLG9CQUFvQixDQUFDUCxLQUE2QyxFQUFFUSxJQUFZLEVBQUU7RUFDeEc7RUFDQVIsS0FBSyxDQUFDUyxLQUFLLEVBQUU7O0VBRWI7RUFDQSxJQUFLTixRQUFRLENBQVNPLFNBQVMsRUFBRTtJQUMvQixJQUFNQyxPQUFPLEdBQUlSLFFBQVEsQ0FBU08sU0FBUyxDQUFDRSxXQUFXLEVBQUU7SUFDekRELE9BQU8sQ0FBQ0gsSUFBSSxHQUFHQSxJQUFJOztJQUVuQjtJQUNBRyxPQUFPLENBQUNFLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO0lBQ3hDRixPQUFPLENBQUNHLE1BQU0sRUFBRTtJQUVoQjtFQUNGOztFQUVBO0VBQ0EsSUFBTUMsU0FBUyxHQUFHWixRQUFRLENBQUNhLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFUixJQUFJLENBQUM7RUFDakUsSUFBSSxDQUFDTyxTQUFTLEVBQUU7SUFDZCxJQUFNRSxLQUFLLEdBQUdqQixLQUFLLENBQUNrQixjQUFlO0lBQ25DLElBQU1DLEdBQUcsR0FBR25CLEtBQUssQ0FBQ29CLFlBQWE7SUFDL0I7SUFDQSxJQUFJLE9BQU9wQixLQUFLLENBQUNxQixZQUFZLEtBQUssVUFBVSxFQUFFO01BQzVDckIsS0FBSyxDQUFDcUIsWUFBWSxDQUFDYixJQUFJLENBQUM7SUFDMUIsQ0FBQyxNQUFNO01BQ0w7TUFDQSxJQUFNYyxLQUFLLEdBQUduQixRQUFRLENBQUNTLFdBQVcsRUFBRTtNQUNwQyxJQUFNVyxRQUFRLEdBQUdwQixRQUFRLENBQUNxQixjQUFjLENBQUNoQixJQUFJLENBQUM7TUFFOUMsSUFBSVQseUJBQXlCLENBQUNDLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLElBQUl5QixJQUFJLEdBQUd6QixLQUFLLENBQUNNLFVBQVU7O1FBRTNCO1FBQ0EsSUFBSSxDQUFDbUIsSUFBSSxFQUFFO1VBQ1R6QixLQUFLLENBQUMwQixXQUFXLENBQUNILFFBQVEsQ0FBQztRQUM3QixDQUFDLE1BQU07VUFDTDtVQUNBLElBQUlJLE1BQU0sR0FBRyxDQUFDO1VBQ2QsSUFBSUMsU0FBUyxHQUFHLElBQUk7VUFDcEIsSUFBSUMsT0FBTyxHQUFHLElBQUk7VUFFbEIsT0FBT0osSUFBSSxLQUFLRyxTQUFTLEtBQUssSUFBSSxJQUFJQyxPQUFPLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDdkQsSUFBTUMsVUFBVSxHQUFHTCxJQUFJLENBQUNNLFNBQVMsQ0FBRUMsTUFBTTs7WUFFekM7WUFDQSxJQUFJZixLQUFLLElBQUlVLE1BQU0sSUFBSVYsS0FBSyxJQUFJVSxNQUFNLEdBQUdHLFVBQVUsRUFBRTtjQUNuRFIsS0FBSyxDQUFDVyxRQUFRLENBQUVMLFNBQVMsR0FBR0gsSUFBSSxFQUFHUixLQUFLLEdBQUdVLE1BQU0sQ0FBQztZQUNwRDs7WUFFQTtZQUNBLElBQUlSLEdBQUcsSUFBSVEsTUFBTSxJQUFJUixHQUFHLElBQUlRLE1BQU0sR0FBR0csVUFBVSxFQUFFO2NBQy9DUixLQUFLLENBQUNZLE1BQU0sQ0FBRUwsT0FBTyxHQUFHSixJQUFJLEVBQUdOLEdBQUcsR0FBR1EsTUFBTSxDQUFDO1lBQzlDO1lBRUFBLE1BQU0sSUFBSUcsVUFBVTtZQUNwQkwsSUFBSSxHQUFHQSxJQUFJLENBQUNVLFdBQVc7VUFDekI7O1VBRUE7VUFDQSxJQUFJbEIsS0FBSyxLQUFLRSxHQUFHLEVBQUU7WUFDakJHLEtBQUssQ0FBQ2MsY0FBYyxFQUFFO1VBQ3hCO1FBQ0Y7TUFDRjs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0EsSUFBSXJDLHlCQUF5QixDQUFDQyxLQUFLLENBQUMsSUFBSXNCLEtBQUssQ0FBQ2UsdUJBQXVCLENBQUNwQyxRQUFRLEtBQUssT0FBTyxFQUFFO1FBQzFGO1FBQ0FxQixLQUFLLENBQUNnQixVQUFVLENBQUNmLFFBQVEsQ0FBQztNQUM1QixDQUFDLE1BQU07UUFDTDtRQUNBLElBQU1sQixLQUFLLEdBQUdMLEtBQUssQ0FBQ0ssS0FBSztRQUN6QkwsS0FBSyxDQUFDSyxLQUFLLEdBQUdBLEtBQUssQ0FBQ2tDLEtBQUssQ0FBQyxDQUFDLEVBQUV0QixLQUFLLENBQUMsR0FBR1QsSUFBSSxHQUFHSCxLQUFLLENBQUNrQyxLQUFLLENBQUNwQixHQUFHLENBQUM7TUFDL0Q7SUFDRjs7SUFFQTtJQUNBbkIsS0FBSyxDQUFDd0MsaUJBQWlCLENBQUN2QixLQUFLLEdBQUdULElBQUksQ0FBQ3dCLE1BQU0sRUFBRWYsS0FBSyxHQUFHVCxJQUFJLENBQUN3QixNQUFNLENBQUM7O0lBRWpFO0lBQ0EsSUFBTVMsQ0FBQyxHQUFHdEMsUUFBUSxDQUFDdUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUN6Q0QsQ0FBQyxDQUFDRSxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDakMzQyxLQUFLLENBQUM0QyxhQUFhLENBQUNILENBQUMsQ0FBQztFQUN4QjtBQUNGO0FBQUMifQ==
|
|
@@ -4,39 +4,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = getSurroundingWord;
|
|
7
|
-
|
|
8
7
|
function getSurroundingWord(text, position) {
|
|
9
8
|
if (!text) throw Error("Argument 'text' should be truthy");
|
|
10
|
-
|
|
11
9
|
var isWordDelimiter = function isWordDelimiter(c) {
|
|
12
10
|
return c === ' ' || c.charCodeAt(0) === 10;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var start = 0; // rightIndex is initialized to text.length because if selection is equal to text.length it won't even enter the interation
|
|
11
|
+
};
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
// leftIndex is initialized to 0 because if selection is 0, it won't even enter the iteration
|
|
14
|
+
var start = 0;
|
|
15
|
+
// rightIndex is initialized to text.length because if selection is equal to text.length it won't even enter the interation
|
|
16
|
+
var end = text.length;
|
|
19
17
|
|
|
18
|
+
// iterate to the left
|
|
20
19
|
for (var i = position; i - 1 > -1; i--) {
|
|
21
20
|
if (isWordDelimiter(text[i - 1])) {
|
|
22
21
|
start = i;
|
|
23
22
|
break;
|
|
24
23
|
}
|
|
25
|
-
}
|
|
26
|
-
|
|
24
|
+
}
|
|
27
25
|
|
|
26
|
+
// iterate to the right
|
|
28
27
|
for (var _i = position; _i < text.length; _i++) {
|
|
29
28
|
if (isWordDelimiter(text[_i])) {
|
|
30
29
|
end = _i;
|
|
31
30
|
break;
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
|
-
|
|
35
33
|
return {
|
|
36
34
|
start: start,
|
|
37
35
|
end: end
|
|
38
36
|
};
|
|
39
37
|
}
|
|
40
|
-
|
|
41
38
|
module.exports = exports.default;
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRTdXJyb3VuZGluZ1dvcmQiLCJ0ZXh0IiwicG9zaXRpb24iLCJFcnJvciIsImlzV29yZERlbGltaXRlciIsImMiLCJjaGFyQ29kZUF0Iiwic3RhcnQiLCJlbmQiLCJsZW5ndGgiLCJpIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldFN1cnJvdW5kaW5nV29yZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0UmFuZ2UgfSBmcm9tICcuLi9jb21tYW5kcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFN1cnJvdW5kaW5nV29yZCh0ZXh0OiBzdHJpbmcsIHBvc2l0aW9uOiBudW1iZXIpOiBUZXh0UmFuZ2Uge1xuICBpZiAoIXRleHQpIHRocm93IEVycm9yKFwiQXJndW1lbnQgJ3RleHQnIHNob3VsZCBiZSB0cnV0aHlcIik7XG5cbiAgY29uc3QgaXNXb3JkRGVsaW1pdGVyID0gKGM6IHN0cmluZykgPT4gYyA9PT0gJyAnIHx8IGMuY2hhckNvZGVBdCgwKSA9PT0gMTA7XG5cbiAgLy8gbGVmdEluZGV4IGlzIGluaXRpYWxpemVkIHRvIDAgYmVjYXVzZSBpZiBzZWxlY3Rpb24gaXMgMCwgaXQgd29uJ3QgZXZlbiBlbnRlciB0aGUgaXRlcmF0aW9uXG4gIGxldCBzdGFydCA9IDA7XG4gIC8vIHJpZ2h0SW5kZXggaXMgaW5pdGlhbGl6ZWQgdG8gdGV4dC5sZW5ndGggYmVjYXVzZSBpZiBzZWxlY3Rpb24gaXMgZXF1YWwgdG8gdGV4dC5sZW5ndGggaXQgd29uJ3QgZXZlbiBlbnRlciB0aGUgaW50ZXJhdGlvblxuICBsZXQgZW5kID0gdGV4dC5sZW5ndGg7XG5cbiAgLy8gaXRlcmF0ZSB0byB0aGUgbGVmdFxuICBmb3IgKGxldCBpID0gcG9zaXRpb247IGkgLSAxID4gLTE7IGktLSkge1xuICAgIGlmIChpc1dvcmREZWxpbWl0ZXIodGV4dFtpIC0gMV0pKSB7XG4gICAgICBzdGFydCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBpdGVyYXRlIHRvIHRoZSByaWdodFxuICBmb3IgKGxldCBpID0gcG9zaXRpb247IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGlzV29yZERlbGltaXRlcih0ZXh0W2ldKSkge1xuICAgICAgZW5kID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IHN0YXJ0LCBlbmQgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRWUsU0FBU0Esa0JBQWtCLENBQUNDLElBQVksRUFBRUMsUUFBZ0IsRUFBYTtFQUNwRixJQUFJLENBQUNELElBQUksRUFBRSxNQUFNRSxLQUFLLENBQUMsa0NBQWtDLENBQUM7RUFFMUQsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlLENBQUlDLENBQVM7SUFBQSxPQUFLQSxDQUFDLEtBQUssR0FBRyxJQUFJQSxDQUFDLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO0VBQUE7O0VBRTFFO0VBQ0EsSUFBSUMsS0FBSyxHQUFHLENBQUM7RUFDYjtFQUNBLElBQUlDLEdBQUcsR0FBR1AsSUFBSSxDQUFDUSxNQUFNOztFQUVyQjtFQUNBLEtBQUssSUFBSUMsQ0FBQyxHQUFHUixRQUFRLEVBQUVRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO0lBQ3RDLElBQUlOLGVBQWUsQ0FBQ0gsSUFBSSxDQUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUNoQ0gsS0FBSyxHQUFHRyxDQUFDO01BQ1Q7SUFDRjtFQUNGOztFQUVBO0VBQ0EsS0FBSyxJQUFJQSxFQUFDLEdBQUdSLFFBQVEsRUFBRVEsRUFBQyxHQUFHVCxJQUFJLENBQUNRLE1BQU0sRUFBRUMsRUFBQyxFQUFFLEVBQUU7SUFDM0MsSUFBSU4sZUFBZSxDQUFDSCxJQUFJLENBQUNTLEVBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDNUJGLEdBQUcsR0FBR0UsRUFBQztNQUNQO0lBQ0Y7RUFDRjtFQUVBLE9BQU87SUFBRUgsS0FBSyxFQUFMQSxLQUFLO0lBQUVDLEdBQUcsRUFBSEE7RUFBSSxDQUFDO0FBQ3ZCO0FBQUMifQ==
|
package/lib/cjs/utils/index.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVByb3BzIHtcbiAgcHJlZml4Q2xzPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
|