yapp 4.0.248 → 5.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 -8
- package/example.js +41 -39
- package/lib/utilities/plugin.js +10 -6
- package/lib/utilities/properties.js +7 -9
- package/lib/yapp.js +9 -9
- package/package.json +3 -3
- package/src/utilities/plugin.js +10 -8
- package/src/utilities/properties.js +4 -6
- package/src/yapp.js +8 -9
package/lib/utilities/plugin.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "pluginFromProperties", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return pluginFromProperties;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _xml = /*#__PURE__*/ _interop_require_default(require("../plugin/xml"));
|
|
@@ -18,8 +18,12 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
default: obj
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
|
|
21
|
+
function pluginFromProperties(properties) {
|
|
22
|
+
var Plugin;
|
|
23
|
+
var ref, ref1;
|
|
24
|
+
ref = properties, ref1 = ref.Plugin, Plugin = ref1 === void 0 ? null : ref1, ref;
|
|
25
|
+
if (Plugin === null) {
|
|
26
|
+
var _properties_language = properties.language, language = _properties_language === void 0 ? _languages.JAVASCRIPT_LANGUAGE : _properties_language;
|
|
23
27
|
switch(language){
|
|
24
28
|
case _languages.XML_LANGUAGE:
|
|
25
29
|
Plugin = _xml.default;
|
|
@@ -30,7 +34,7 @@ function pluginFromLanguageAndPlugin(language, Plugin) {
|
|
|
30
34
|
case _languages.PLAIN_TEXT_LANGUAGE:
|
|
31
35
|
Plugin = _plainText.default;
|
|
32
36
|
break;
|
|
33
|
-
|
|
37
|
+
case _languages.JAVASCRIPT_LANGUAGE:
|
|
34
38
|
Plugin = _javascript.default;
|
|
35
39
|
break;
|
|
36
40
|
}
|
|
@@ -39,4 +43,4 @@ function pluginFromLanguageAndPlugin(language, Plugin) {
|
|
|
39
43
|
return plugin;
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi9wbHVnaW4veG1sXCI7XG5pbXBvcnQgSlNPTlBsdWdpbiBmcm9tIFwiLi4vcGx1Z2luL2pzb25cIjtcbmltcG9ydCBQbGFpblRleHRQbHVnaW4gZnJvbSBcIi4uL3BsdWdpbi9wbGFpblRleHRcIjtcbmltcG9ydCBKYXZhU2NyaXB0UGx1Z2luIGZyb20gXCIuLi9wbHVnaW4vamF2YXNjcmlwdFwiO1xuXG5pbXBvcnQgeyBYTUxfTEFOR1VBR0UsIEpTT05fTEFOR1VBR0UsIFBMQUlOX1RFWFRfTEFOR1VBR0UsIEpBVkFTQ1JJUFRfTEFOR1VBR0UgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbHVnaW5Gcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gIGxldCBQbHVnaW47XG5cbiAgKHsgUGx1Z2luID0gbnVsbCB9ID0gcHJvcGVydGllcyk7XG5cbiAgaWYgKFBsdWdpbiA9PT0gbnVsbCkge1xuICAgIGNvbnN0IHsgbGFuZ3VhZ2UgPSBKQVZBU0NSSVBUX0xBTkdVQUdFIH0gPSBwcm9wZXJ0aWVzO1xuXG4gICAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgICAgY2FzZSBYTUxfTEFOR1VBR0U6IFBsdWdpbiA9IFhNTFBsdWdpbjsgYnJlYWs7XG4gICAgICBjYXNlIEpTT05fTEFOR1VBR0U6IFBsdWdpbiA9IEpTT05QbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBQTEFJTl9URVhUX0xBTkdVQUdFOiBQbHVnaW4gPSBQbGFpblRleHRQbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBKQVZBU0NSSVBUX0xBTkdVQUdFOiBQbHVnaW4gPSBKYXZhU2NyaXB0UGx1Z2luOyBicmVhaztcbiAgICB9XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBQbHVnaW4uZnJvbU5vdGhpbmcoKTtcblxuICByZXR1cm4gcGx1Z2luO1xufVxuIl0sIm5hbWVzIjpbInBsdWdpbkZyb21Qcm9wZXJ0aWVzIiwicHJvcGVydGllcyIsIlBsdWdpbiIsImxhbmd1YWdlIiwiSkFWQVNDUklQVF9MQU5HVUFHRSIsIlhNTF9MQU5HVUFHRSIsIlhNTFBsdWdpbiIsIkpTT05fTEFOR1VBR0UiLCJKU09OUGx1Z2luIiwiUExBSU5fVEVYVF9MQU5HVUFHRSIsIlBsYWluVGV4dFBsdWdpbiIsIkphdmFTY3JpcHRQbHVnaW4iLCJwbHVnaW4iLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU2dCQTs7O2VBQUFBOzs7MERBUE07MkRBQ0M7Z0VBQ0s7aUVBQ0M7eUJBRXlEOzs7Ozs7QUFFL0UsU0FBU0EscUJBQXFCQyxVQUFVO0lBQzdDLElBQUlDOztVQUVpQkQsdUJBQWxCQyxRQUFBQSwyQkFBUztJQUVaLElBQUlBLFdBQVcsTUFBTTtRQUNuQiwyQkFBMkNELFdBQW5DRSxVQUFBQSw2Q0FBV0MsOEJBQW1CO1FBRXRDLE9BQVFEO1lBQ04sS0FBS0UsdUJBQVk7Z0JBQUVILFNBQVNJLFlBQVM7Z0JBQUU7WUFDdkMsS0FBS0Msd0JBQWE7Z0JBQUVMLFNBQVNNLGFBQVU7Z0JBQUU7WUFDekMsS0FBS0MsOEJBQW1CO2dCQUFFUCxTQUFTUSxrQkFBZTtnQkFBRTtZQUNwRCxLQUFLTiw4QkFBbUI7Z0JBQUVGLFNBQVNTLG1CQUFnQjtnQkFBRTtRQUN2RDtJQUNGO0lBRUEsSUFBTUMsU0FBU1YsT0FBT1csV0FBVztJQUVqQyxPQUFPRDtBQUNUIn0=
|
|
@@ -2,25 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "propertiesFromContentAndOptions", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return propertiesFromContentAndOptions;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
function
|
|
11
|
+
function propertiesFromContentAndOptions(content, options) {
|
|
12
12
|
var text = content, childElements = [
|
|
13
13
|
{
|
|
14
14
|
getText: function() {
|
|
15
15
|
return text;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
], properties = Object.assign({
|
|
19
|
-
childElements: childElements
|
|
20
|
-
|
|
21
|
-
Plugin: Plugin
|
|
22
|
-
}, options);
|
|
18
|
+
], properties = Object.assign({}, options, {
|
|
19
|
+
childElements: childElements
|
|
20
|
+
});
|
|
23
21
|
return properties;
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJvcGVydGllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnRpZXNGcm9tQ29udGVudEFuZE9wdGlvbnMoY29udGVudCwgb3B0aW9ucykge1xuICBjb25zdCB0ZXh0ID0gY29udGVudCwgLy8vXG4gICAgICAgIGNoaWxkRWxlbWVudHMgPSBbe1xuICAgICAgICAgIGdldFRleHQ6ICgpID0+IHRleHQsXG4gICAgICAgIH1dLFxuICAgICAgICBwcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucywgeyAvLy9cbiAgICAgICAgICBjaGlsZEVsZW1lbnRzXG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwcm9wZXJ0aWVzO1xufVxuIl0sIm5hbWVzIjpbInByb3BlcnRpZXNGcm9tQ29udGVudEFuZE9wdGlvbnMiLCJjb250ZW50Iiwib3B0aW9ucyIsInRleHQiLCJjaGlsZEVsZW1lbnRzIiwiZ2V0VGV4dCIsInByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUVnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0NBQWdDQyxPQUFPLEVBQUVDLE9BQU87SUFDOUQsSUFBTUMsT0FBT0YsU0FDUEcsZ0JBQWdCO1FBQUM7WUFDZkMsU0FBUzt1QkFBTUY7O1FBQ2pCO0tBQUUsRUFDRkcsYUFBYUMsT0FBT0MsTUFBTSxDQUFDLENBQUMsR0FBR04sU0FBUztRQUN0Q0UsZUFBQUE7SUFDRjtJQUVOLE9BQU9FO0FBQ1QifQ==
|
package/lib/yapp.js
CHANGED
|
@@ -12,10 +12,10 @@ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-s
|
|
|
12
12
|
var _easy = require("easy");
|
|
13
13
|
var _style = /*#__PURE__*/ _interop_require_default(require("./mixins/style"));
|
|
14
14
|
var _prettyPrinter = /*#__PURE__*/ _interop_require_default(require("./prettyPrinter"));
|
|
15
|
-
var _scrollbar = require("./utilities/scrollbar");
|
|
16
15
|
var _plugin = require("./utilities/plugin");
|
|
17
|
-
var
|
|
16
|
+
var _scrollbar = require("./utilities/scrollbar");
|
|
18
17
|
var _properties = require("./utilities/properties");
|
|
18
|
+
var _customEventTypes = require("./customEventTypes");
|
|
19
19
|
var _content = require("./utilities/content");
|
|
20
20
|
var _colour = require("./scheme/colour");
|
|
21
21
|
var _defaults = require("./defaults");
|
|
@@ -326,16 +326,16 @@ var Yapp = /*#__PURE__*/ function(Element) {
|
|
|
326
326
|
}
|
|
327
327
|
], [
|
|
328
328
|
{
|
|
329
|
-
key: "
|
|
330
|
-
value: function
|
|
331
|
-
var
|
|
329
|
+
key: "fromClass",
|
|
330
|
+
value: function fromClass(Class, properties) {
|
|
331
|
+
var plugin = (0, _plugin.pluginFromProperties)(properties), yapp = _easy.Element.fromClass(Class, properties, plugin);
|
|
332
332
|
return yapp;
|
|
333
333
|
}
|
|
334
334
|
},
|
|
335
335
|
{
|
|
336
|
-
key: "
|
|
337
|
-
value: function
|
|
338
|
-
var
|
|
336
|
+
key: "fromContentAndOptions",
|
|
337
|
+
value: function fromContentAndOptions(content, options) {
|
|
338
|
+
var Class = Yapp, properties = (0, _properties.propertiesFromContentAndOptions)(content, options), plugin = (0, _plugin.pluginFromProperties)(properties), yapp = _easy.Element.fromClass(Class, properties, plugin);
|
|
339
339
|
return yapp;
|
|
340
340
|
}
|
|
341
341
|
}
|
|
@@ -359,4 +359,4 @@ _define_property(Yapp, "ignoredProperties", [
|
|
|
359
359
|
Object.assign(Yapp.prototype, _style.default);
|
|
360
360
|
var _default = (0, _easywithstyle.default)(Yapp)(_templateObject(), _colour.colour, _colour.caretColour, _colour.borderColour, _colour.backgroundColour);
|
|
361
361
|
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBzdHlsZU1peGlucyBmcm9tIFwiLi9taXhpbnMvc3R5bGVcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Njcm9sbGJhclwiO1xuaW1wb3J0IHsgcGx1Z2luRnJvbUxhbmd1YWdlQW5kUGx1Z2luIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BsdWdpblwiO1xuaW1wb3J0IHsgQ09OVEVOVF9DSEFOR0VfQ1VTVE9NX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi9jdXN0b21FdmVudFR5cGVzXCI7XG5pbXBvcnQgeyBwcm9wZXJ0aWVzRnJvbUNvbnRlbnRMYW5ndWFnZVBsdWdpbkFuZE9wdGlvbnMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcHJvcGVydGllc1wiO1xuaW1wb3J0IHsgbGluZUNvdW50RnJvbUNvbnRlbnQsIGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5pbXBvcnQgeyBjb2xvdXIsIGNhcmV0Q29sb3VyLCBib3JkZXJDb2xvdXIsIGJhY2tncm91bmRDb2xvdXIgfSBmcm9tIFwiLi9zY2hlbWUvY29sb3VyXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VESVRBQkxFLCBERUZBVUxUX0ZJUkFfQ09ERSwgREVGQVVMVF9BVVRPX0hFSUdIVCwgREVGQVVMVF9ISURERU5fR1VUVEVSLCBERUZBVUxUX0hJRERFTl9TQ1JPTExCQVJTLCBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSBmcm9tIFwiLi9kZWZhdWx0c1wiO1xuXG5jbGFzcyBZYXBwIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBwbHVnaW4pIHtcbiAgICBzdXBlcihzZWxlY3Rvcik7XG5cbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgfVxuXG4gIGdldFBsdWdpbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW47XG4gIH1cblxuICBnZXRDb250ZW50KCkge1xuICAgIGNvbnN0IHJpY2hUZXh0YXJlYUNvbnRlbnQgPSB0aGlzLmdldFJpY2hUZXh0YXJlYUNvbnRlbnQoKSxcbiAgICAgICAgICBjb250ZW50ID0gcmljaFRleHRhcmVhQ29udGVudDsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBoYXNDb250ZW50Q2hhbmdlZCgpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWFDb250ZW50Q2hhbmdlZCA9IHRoaXMuaGFzUmljaFRleHRhcmVhQ29udGVudENoYW5nZWQoKSxcbiAgICAgICAgICBjb250ZW50Q2hhbmdlZCA9IHJpY2hUZXh0YXJlYUNvbnRlbnRDaGFuZ2VkOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGVudENoYW5nZWQ7XG4gIH1cblxuICBnZXRJbml0aWFsTGluZUNvdW50KCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBsaW5lQ291bnQgPSBsaW5lQ291bnRGcm9tQ29udGVudChjb250ZW50KSxcbiAgICAgICAgICBpbml0aWFsTGluZUNvdW50ID0gbGluZUNvdW50OyAvLy9cblxuICAgIHJldHVybiBpbml0aWFsTGluZUNvdW50O1xuICB9XG5cbiAgY3VzdG9tQ2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xuXG4gICAgaWYgKGNvbnRlbnRDaGFuZ2VkKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBjdXN0b21FdmVudFR5cGUgPSBDT05URU5UX0NIQU5HRV9DVVNUT01fRVZFTlRfVFlQRTtcblxuICAgICAgdGhpcy51cGRhdGUoKTtcblxuICAgICAgdGhpcy5jYWxsQ3VzdG9tSGFuZGxlcnMoY3VzdG9tRXZlbnRUeXBlLCBjb250ZW50KTtcbiAgICB9XG4gIH1cblxuICBzZXRMZXhlcihsZXhlcikgeyB0aGlzLnBsdWdpbi5zZXRMZXhlcihsZXhlcik7IH1cblxuICBzZXRQYXJzZXIocGFyc2VyKSB7IHRoaXMucGx1Z2luLnNldFBhcnNlcihwYXJzZXIpOyB9XG5cbiAgZW5hYmxlRmlyYUNvZGUoKSB7XG4gICAgdGhpcy5hZGRDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgfVxuXG4gIGRpc2FibGVGaXJhQ29kZSgpIHtcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZmlyYS1jb2RlXCIpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMucGx1Z2luLnVwZGF0ZShjb250ZW50KTtcblxuICAgIGNvbnN0IHRva2VucyA9IHRoaXMucGx1Z2luLmdldFRva2VucygpO1xuXG4gICAgdGhpcy51cGRhdGVQcmV0dHlQcmludGVyKHRva2Vucyk7XG4gIH1cblxuICBkaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGZpcmFDb2RlID0gREVGQVVMVF9GSVJBX0NPREUsIGF1dG9IZWlnaHQgPSBERUZBVUxUX0FVVE9fSEVJR0hUIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyhjaGlsZEVsZW1lbnRzKTtcblxuICAgIGZpcmFDb2RlICYmIHRoaXMuZW5hYmxlRmlyYUNvZGUoKTtcblxuICAgIHRoaXMuYWN0aXZhdGVSaWNoVGV4dGFyZWEoKTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQ29udGVudChjb250ZW50KTtcblxuICAgIGlmIChhdXRvSGVpZ2h0KSB7XG4gICAgICBjb25zdCBsaW5lSGVpZ2h0ID0gdGhpcy5nZXRMaW5lSGVpZ2h0KCksXG4gICAgICAgICAgICBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgICBwYWRkaW5nQm90dG9tID0gdGhpcy5nZXRQYWRkaW5nQm90dG9tKCksXG4gICAgICAgICAgICBib3JkZXJUb3BXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyVG9wV2lkdGgoKSxcbiAgICAgICAgICAgIGluaXRpYWxMaW5lQ291bnQgPSB0aGlzLmdldEluaXRpYWxMaW5lQ291bnQoKSxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbVdpZHRoID0gdGhpcy5nZXRCb3JkZXJCb3R0b21XaWR0aCgpLFxuICAgICAgICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCksXG4gICAgICAgICAgICBoZWlnaHQgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBpbml0aWFsTGluZUNvdW50ICogbGluZUhlaWdodCArIHBhZGRpbmdCb3R0b20gKyBib3JkZXJCb3R0b21XaWR0aCArIHNjcm9sbGJhclRoaWNrbmVzcztcblxuICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgLy8vXG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgZWRpdGFibGUgPSBERUZBVUxUX0VESVRBQkxFLFxuICAgICAgICAgICAgaGlkZGVuR3V0dGVyID0gREVGQVVMVF9ISURERU5fR1VUVEVSLFxuICAgICAgICAgICAgZmFuY3lTY3JvbGxiYXJzID0gREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTLFxuICAgICAgICAgICAgaGlkZGVuU2Nyb2xsYmFycyA9IERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiAoXG5cbiAgICAgIDxQcmV0dHlQcmludGVyIG9uQ3VzdG9tQ2hhbmdlPXt0aGlzLmN1c3RvbUNoYW5nZUhhbmRsZXJ9IGVkaXRhYmxlPXtlZGl0YWJsZX0gaGlkZGVuR3V0dGVyPXtoaWRkZW5HdXR0ZXJ9IGZhbmN5U2Nyb2xsYmFycz17ZmFuY3lTY3JvbGxiYXJzfSBoaWRkZW5TY3JvbGxiYXJzPXtoaWRkZW5TY3JvbGxiYXJzfSAvPlxuXG4gICAgKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGx1Z2luID0gdGhpcy5nZXRQbHVnaW4uYmluZCh0aGlzKSxcbiAgICAgICAgICBnZXRDb250ZW50ID0gdGhpcy5nZXRDb250ZW50LmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwTGV4ZXIgPSB0aGlzLnNldExleGVyLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwUGFyc2VyID0gdGhpcy5zZXRQYXJzZXIuYmluZCh0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBnZXRQbHVnaW4sXG4gICAgICBnZXRDb250ZW50LFxuICAgICAgdXBkYXRlWWFwcCxcbiAgICAgIHNldFlhcHBMZXhlcixcbiAgICAgIHNldFlhcHBQYXJzZXJcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMucGx1Z2luLmdldExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInlhcHBcIlxuICB9O1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIlBsdWdpblwiLFxuICAgIFwibGFuZ3VhZ2VcIixcbiAgICBcImZpcmFDb2RlXCIsXG4gICAgXCJlZGl0YWJsZVwiLFxuICAgIFwiYXV0b0hlaWdodFwiLFxuICAgIFwiaGlkZGVuR3V0dGVyXCIsXG4gICAgXCJub1Njcm9sbGJhcnNcIixcbiAgICBcImZhbmN5U2Nyb2xsYmFyc1wiXG4gIF07XG5cbiAgc3RhdGljIGZyb21Db250ZW50KGNvbnRlbnQsIGxhbmd1YWdlLCBQbHVnaW4sIG9wdGlvbnMpIHtcbiAgICBjb25zdCBDbGFzcyA9IFlhcHAsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyhjb250ZW50LCBsYW5ndWFnZSwgUGx1Z2luLCBvcHRpb25zKSxcbiAgICAgICAgICBwbHVnaW4gPSBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4obGFuZ3VhZ2UsIFBsdWdpbiksXG4gICAgICAgICAgeWFwcCA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCBwbHVnaW4pO1xuXG4gICAgcmV0dXJuIHlhcHA7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgeyBsYW5ndWFnZSwgUGx1Z2luIH0gPSBwcm9wZXJ0aWVzLFxuICAgICAgICAgIHBsdWdpbiA9IHBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbihsYW5ndWFnZSwgUGx1Z2luKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFlhcHAucHJvdG90eXBlLCBzdHlsZU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShZYXBwKWBcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgXG4gIGNvbG9yOiAke2NvbG91cn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1lbmxvXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNhcmV0LWNvbG9yOiAke2NhcmV0Q29sb3VyfTtcbiAgYm9yZGVyLWNvbG9yOiAke2JvcmRlckNvbG91cn07XG4gIHRleHQtcmVuZGVyaW5nOiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRDb2xvdXJ9O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaXRpYWw7XG5cbiAgLmZpcmEtY29kZSB7XG5cbiAgICBmb250LWZhbWlseTogXCJGaXJhIENvZGVcIjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYWx0XCIgMTtcbiAgICBcbiAgfVxuXG5gO1xuIl0sIm5hbWVzIjpbIllhcHAiLCJzZWxlY3RvciIsInBsdWdpbiIsImN1c3RvbUNoYW5nZUhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjdXN0b21FdmVudFR5cGUiLCJDT05URU5UX0NIQU5HRV9DVVNUT01fRVZFTlRfVFlQRSIsInVwZGF0ZSIsImNhbGxDdXN0b21IYW5kbGVycyIsImdldFBsdWdpbiIsInJpY2hUZXh0YXJlYUNvbnRlbnQiLCJnZXRSaWNoVGV4dGFyZWFDb250ZW50IiwicmljaFRleHRhcmVhQ29udGVudENoYW5nZWQiLCJoYXNSaWNoVGV4dGFyZWFDb250ZW50Q2hhbmdlZCIsImdldEluaXRpYWxMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJsaW5lQ291bnRGcm9tQ29udGVudCIsImluaXRpYWxMaW5lQ291bnQiLCJzZXRMZXhlciIsImxleGVyIiwic2V0UGFyc2VyIiwicGFyc2VyIiwiZW5hYmxlRmlyYUNvZGUiLCJhZGRDbGFzcyIsImRpc2FibGVGaXJhQ29kZSIsInJlbW92ZUNsYXNzIiwidG9rZW5zIiwiZ2V0VG9rZW5zIiwidXBkYXRlUHJldHR5UHJpbnRlciIsImRpZE1vdW50IiwicHJvcGVydGllcyIsImNoaWxkRWxlbWVudHMiLCJmaXJhQ29kZSIsIkRFRkFVTFRfRklSQV9DT0RFIiwiYXV0b0hlaWdodCIsIkRFRkFVTFRfQVVUT19IRUlHSFQiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJhY3RpdmF0ZVJpY2hUZXh0YXJlYSIsInNldFJpY2hUZXh0YXJlYUNvbnRlbnQiLCJsaW5lSGVpZ2h0IiwiZ2V0TGluZUhlaWdodCIsInBhZGRpbmdUb3AiLCJnZXRQYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsImdldFBhZGRpbmdCb3R0b20iLCJib3JkZXJUb3BXaWR0aCIsImdldEJvcmRlclRvcFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJnZXRCb3JkZXJCb3R0b21XaWR0aCIsInNjcm9sbGJhclRoaWNrbmVzcyIsImdldFNjcm9sbGJhclRoaWNrbmVzcyIsImhlaWdodCIsInNldEhlaWdodCIsIndpbGxVbm1vdW50IiwiZWRpdGFibGUiLCJERUZBVUxUX0VESVRBQkxFIiwiaGlkZGVuR3V0dGVyIiwiREVGQVVMVF9ISURERU5fR1VUVEVSIiwiZmFuY3lTY3JvbGxiYXJzIiwiREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIiwiaGlkZGVuU2Nyb2xsYmFycyIsIkRFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMiLCJQcmV0dHlQcmludGVyIiwib25DdXN0b21DaGFuZ2UiLCJwYXJlbnRDb250ZXh0IiwiYmluZCIsInVwZGF0ZVlhcHAiLCJzZXRZYXBwTGV4ZXIiLCJzZXRZYXBwUGFyc2VyIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJsYW5ndWFnZSIsImdldExhbmd1YWdlIiwic2V0TGFuZ3VhZ2UiLCJmcm9tQ29udGVudCIsIlBsdWdpbiIsIm9wdGlvbnMiLCJDbGFzcyIsInByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyIsInBsdWdpbkZyb21MYW5ndWFnZUFuZFBsdWdpbiIsInlhcHAiLCJFbGVtZW50IiwiZnJvbUNsYXNzIiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJzdHlsZU1peGlucyIsIndpdGhTdHlsZSIsImNvbG91ciIsImNhcmV0Q29sb3VyIiwiYm9yZGVyQ29sb3VyIiwiYmFja2dyb3VuZENvbG91ciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkxBOzs7ZUFBQTs7O29FQTNMc0I7b0JBRVM7NERBRVA7b0VBQ0U7eUJBRVk7c0JBQ007Z0NBQ0s7MEJBQ2E7dUJBQ0M7c0JBQ0s7d0JBQ2lGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVySixJQUFBLEFBQU1BLHFCQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBLEtBQ1FDLFFBQVEsRUFBRUMsTUFBTTtnQ0FEeEJGOztrQ0FFSUM7UUErQlJFLGtEQUFBQSx1QkFBc0IsU0FBQ0MsT0FBT0M7WUFDNUIsSUFBTUMsaUJBQWlCLE1BQUtDLGlCQUFpQjtZQUU3QyxJQUFJRCxnQkFBZ0I7Z0JBQ2xCLElBQU1FLFVBQVUsTUFBS0MsVUFBVSxJQUN6QkMsa0JBQWtCQyxrREFBZ0M7Z0JBRXhELE1BQUtDLE1BQU07Z0JB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
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBSZWFjdCwgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCBzdHlsZU1peGlucyBmcm9tIFwiLi9taXhpbnMvc3R5bGVcIjtcbmltcG9ydCBQcmV0dHlQcmludGVyIGZyb20gXCIuL3ByZXR0eVByaW50ZXJcIjtcblxuaW1wb3J0IHsgcGx1Z2luRnJvbVByb3BlcnRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGx1Z2luXCI7XG5pbXBvcnQgeyBnZXRTY3JvbGxiYXJUaGlja25lc3MgfSBmcm9tIFwiLi91dGlsaXRpZXMvc2Nyb2xsYmFyXCI7XG5pbXBvcnQgeyBwcm9wZXJ0aWVzRnJvbUNvbnRlbnRBbmRPcHRpb25zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3Byb3BlcnRpZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfQ0hBTkdFX0NVU1RPTV9FVkVOVF9UWVBFIH0gZnJvbSBcIi4vY3VzdG9tRXZlbnRUeXBlc1wiO1xuaW1wb3J0IHsgbGluZUNvdW50RnJvbUNvbnRlbnQsIGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5pbXBvcnQgeyBjb2xvdXIsIGNhcmV0Q29sb3VyLCBib3JkZXJDb2xvdXIsIGJhY2tncm91bmRDb2xvdXIgfSBmcm9tIFwiLi9zY2hlbWUvY29sb3VyXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VESVRBQkxFLCBERUZBVUxUX0ZJUkFfQ09ERSwgREVGQVVMVF9BVVRPX0hFSUdIVCwgREVGQVVMVF9ISURERU5fR1VUVEVSLCBERUZBVUxUX0hJRERFTl9TQ1JPTExCQVJTLCBERUZBVUxUX0ZBTkNZX1NDUk9MTEJBUlMgfSBmcm9tIFwiLi9kZWZhdWx0c1wiO1xuXG5jbGFzcyBZYXBwIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBwbHVnaW4pIHtcbiAgICBzdXBlcihzZWxlY3Rvcik7XG5cbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgfVxuXG4gIGdldFBsdWdpbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW47XG4gIH1cblxuICBnZXRDb250ZW50KCkge1xuICAgIGNvbnN0IHJpY2hUZXh0YXJlYUNvbnRlbnQgPSB0aGlzLmdldFJpY2hUZXh0YXJlYUNvbnRlbnQoKSxcbiAgICAgICAgICBjb250ZW50ID0gcmljaFRleHRhcmVhQ29udGVudDsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBoYXNDb250ZW50Q2hhbmdlZCgpIHtcbiAgICBjb25zdCByaWNoVGV4dGFyZWFDb250ZW50Q2hhbmdlZCA9IHRoaXMuaGFzUmljaFRleHRhcmVhQ29udGVudENoYW5nZWQoKSxcbiAgICAgICAgICBjb250ZW50Q2hhbmdlZCA9IHJpY2hUZXh0YXJlYUNvbnRlbnRDaGFuZ2VkOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGVudENoYW5nZWQ7XG4gIH1cblxuICBnZXRJbml0aWFsTGluZUNvdW50KCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBsaW5lQ291bnQgPSBsaW5lQ291bnRGcm9tQ29udGVudChjb250ZW50KSxcbiAgICAgICAgICBpbml0aWFsTGluZUNvdW50ID0gbGluZUNvdW50OyAvLy9cblxuICAgIHJldHVybiBpbml0aWFsTGluZUNvdW50O1xuICB9XG5cbiAgY3VzdG9tQ2hhbmdlSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpO1xuXG4gICAgaWYgKGNvbnRlbnRDaGFuZ2VkKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBjdXN0b21FdmVudFR5cGUgPSBDT05URU5UX0NIQU5HRV9DVVNUT01fRVZFTlRfVFlQRTtcblxuICAgICAgdGhpcy51cGRhdGUoKTtcblxuICAgICAgdGhpcy5jYWxsQ3VzdG9tSGFuZGxlcnMoY3VzdG9tRXZlbnRUeXBlLCBjb250ZW50KTtcbiAgICB9XG4gIH1cblxuICBzZXRMZXhlcihsZXhlcikgeyB0aGlzLnBsdWdpbi5zZXRMZXhlcihsZXhlcik7IH1cblxuICBzZXRQYXJzZXIocGFyc2VyKSB7IHRoaXMucGx1Z2luLnNldFBhcnNlcihwYXJzZXIpOyB9XG5cbiAgZW5hYmxlRmlyYUNvZGUoKSB7XG4gICAgdGhpcy5hZGRDbGFzcyhcImZpcmEtY29kZVwiKTtcbiAgfVxuXG4gIGRpc2FibGVGaXJhQ29kZSgpIHtcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZmlyYS1jb2RlXCIpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMucGx1Z2luLnVwZGF0ZShjb250ZW50KTtcblxuICAgIGNvbnN0IHRva2VucyA9IHRoaXMucGx1Z2luLmdldFRva2VucygpO1xuXG4gICAgdGhpcy51cGRhdGVQcmV0dHlQcmludGVyKHRva2Vucyk7XG4gIH1cblxuICBkaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGNoaWxkRWxlbWVudHMsIGZpcmFDb2RlID0gREVGQVVMVF9GSVJBX0NPREUsIGF1dG9IZWlnaHQgPSBERUZBVUxUX0FVVE9fSEVJR0hUIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRGcm9tQ2hpbGRFbGVtZW50cyhjaGlsZEVsZW1lbnRzKTtcblxuICAgIGZpcmFDb2RlICYmIHRoaXMuZW5hYmxlRmlyYUNvZGUoKTtcblxuICAgIHRoaXMuYWN0aXZhdGVSaWNoVGV4dGFyZWEoKTtcblxuICAgIHRoaXMuc2V0UmljaFRleHRhcmVhQ29udGVudChjb250ZW50KTtcblxuICAgIGlmIChhdXRvSGVpZ2h0KSB7XG4gICAgICBjb25zdCBsaW5lSGVpZ2h0ID0gdGhpcy5nZXRMaW5lSGVpZ2h0KCksXG4gICAgICAgICAgICBwYWRkaW5nVG9wID0gdGhpcy5nZXRQYWRkaW5nVG9wKCksXG4gICAgICAgICAgICBwYWRkaW5nQm90dG9tID0gdGhpcy5nZXRQYWRkaW5nQm90dG9tKCksXG4gICAgICAgICAgICBib3JkZXJUb3BXaWR0aCA9IHRoaXMuZ2V0Qm9yZGVyVG9wV2lkdGgoKSxcbiAgICAgICAgICAgIGluaXRpYWxMaW5lQ291bnQgPSB0aGlzLmdldEluaXRpYWxMaW5lQ291bnQoKSxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbVdpZHRoID0gdGhpcy5nZXRCb3JkZXJCb3R0b21XaWR0aCgpLFxuICAgICAgICAgICAgc2Nyb2xsYmFyVGhpY2tuZXNzID0gZ2V0U2Nyb2xsYmFyVGhpY2tuZXNzKCksXG4gICAgICAgICAgICBoZWlnaHQgPSBib3JkZXJUb3BXaWR0aCArIHBhZGRpbmdUb3AgKyBpbml0aWFsTGluZUNvdW50ICogbGluZUhlaWdodCArIHBhZGRpbmdCb3R0b20gKyBib3JkZXJCb3R0b21XaWR0aCArIHNjcm9sbGJhclRoaWNrbmVzcztcblxuICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgLy8vXG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgZWRpdGFibGUgPSBERUZBVUxUX0VESVRBQkxFLFxuICAgICAgICAgICAgaGlkZGVuR3V0dGVyID0gREVGQVVMVF9ISURERU5fR1VUVEVSLFxuICAgICAgICAgICAgZmFuY3lTY3JvbGxiYXJzID0gREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTLFxuICAgICAgICAgICAgaGlkZGVuU2Nyb2xsYmFycyA9IERFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiAoXG5cbiAgICAgIDxQcmV0dHlQcmludGVyIG9uQ3VzdG9tQ2hhbmdlPXt0aGlzLmN1c3RvbUNoYW5nZUhhbmRsZXJ9IGVkaXRhYmxlPXtlZGl0YWJsZX0gaGlkZGVuR3V0dGVyPXtoaWRkZW5HdXR0ZXJ9IGZhbmN5U2Nyb2xsYmFycz17ZmFuY3lTY3JvbGxiYXJzfSBoaWRkZW5TY3JvbGxiYXJzPXtoaWRkZW5TY3JvbGxiYXJzfSAvPlxuXG4gICAgKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0UGx1Z2luID0gdGhpcy5nZXRQbHVnaW4uYmluZCh0aGlzKSxcbiAgICAgICAgICBnZXRDb250ZW50ID0gdGhpcy5nZXRDb250ZW50LmJpbmQodGhpcyksXG4gICAgICAgICAgdXBkYXRlWWFwcCA9IHRoaXMudXBkYXRlLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwTGV4ZXIgPSB0aGlzLnNldExleGVyLmJpbmQodGhpcyksICAvLy9cbiAgICAgICAgICBzZXRZYXBwUGFyc2VyID0gdGhpcy5zZXRQYXJzZXIuYmluZCh0aGlzKTsgIC8vL1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBnZXRQbHVnaW4sXG4gICAgICBnZXRDb250ZW50LFxuICAgICAgdXBkYXRlWWFwcCxcbiAgICAgIHNldFlhcHBMZXhlcixcbiAgICAgIHNldFlhcHBQYXJzZXJcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMucGx1Z2luLmdldExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmd1YWdlKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInlhcHBcIlxuICB9O1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIlBsdWdpblwiLFxuICAgIFwibGFuZ3VhZ2VcIixcbiAgICBcImZpcmFDb2RlXCIsXG4gICAgXCJlZGl0YWJsZVwiLFxuICAgIFwiYXV0b0hlaWdodFwiLFxuICAgIFwiaGlkZGVuR3V0dGVyXCIsXG4gICAgXCJub1Njcm9sbGJhcnNcIixcbiAgICBcImZhbmN5U2Nyb2xsYmFyc1wiXG4gIF07XG5cbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcykge1xuICAgIGNvbnN0IHBsdWdpbiA9IHBsdWdpbkZyb21Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpLFxuICAgICAgICAgIHlhcHAgPSBFbGVtZW50LmZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgcGx1Z2luKTtcblxuICAgIHJldHVybiB5YXBwO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250ZW50QW5kT3B0aW9ucyhjb250ZW50LCBvcHRpb25zKSB7XG4gICAgY29uc3QgQ2xhc3MgPSBZYXBwLCAvLy9cbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db250ZW50QW5kT3B0aW9ucyhjb250ZW50LCBvcHRpb25zKSxcbiAgICAgICAgICBwbHVnaW4gPSBwbHVnaW5Gcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSxcbiAgICAgICAgICB5YXBwID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIHBsdWdpbik7XG5cbiAgICByZXR1cm4geWFwcDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKFlhcHAucHJvdG90eXBlLCBzdHlsZU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShZYXBwKWBcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgXG4gIGNvbG9yOiAke2NvbG91cn07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1lbmxvXCIsIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNhcmV0LWNvbG9yOiAke2NhcmV0Q29sb3VyfTtcbiAgYm9yZGVyLWNvbG9yOiAke2JvcmRlckNvbG91cn07XG4gIHRleHQtcmVuZGVyaW5nOiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRDb2xvdXJ9O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaXRpYWw7XG5cbiAgLmZpcmEtY29kZSB7XG5cbiAgICBmb250LWZhbWlseTogXCJGaXJhIENvZGVcIjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjYWx0XCIgMTtcbiAgICBcbiAgfVxuXG5gO1xuIl0sIm5hbWVzIjpbIllhcHAiLCJzZWxlY3RvciIsInBsdWdpbiIsImN1c3RvbUNoYW5nZUhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjdXN0b21FdmVudFR5cGUiLCJDT05URU5UX0NIQU5HRV9DVVNUT01fRVZFTlRfVFlQRSIsInVwZGF0ZSIsImNhbGxDdXN0b21IYW5kbGVycyIsImdldFBsdWdpbiIsInJpY2hUZXh0YXJlYUNvbnRlbnQiLCJnZXRSaWNoVGV4dGFyZWFDb250ZW50IiwicmljaFRleHRhcmVhQ29udGVudENoYW5nZWQiLCJoYXNSaWNoVGV4dGFyZWFDb250ZW50Q2hhbmdlZCIsImdldEluaXRpYWxMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJsaW5lQ291bnRGcm9tQ29udGVudCIsImluaXRpYWxMaW5lQ291bnQiLCJzZXRMZXhlciIsImxleGVyIiwic2V0UGFyc2VyIiwicGFyc2VyIiwiZW5hYmxlRmlyYUNvZGUiLCJhZGRDbGFzcyIsImRpc2FibGVGaXJhQ29kZSIsInJlbW92ZUNsYXNzIiwidG9rZW5zIiwiZ2V0VG9rZW5zIiwidXBkYXRlUHJldHR5UHJpbnRlciIsImRpZE1vdW50IiwicHJvcGVydGllcyIsImNoaWxkRWxlbWVudHMiLCJmaXJhQ29kZSIsIkRFRkFVTFRfRklSQV9DT0RFIiwiYXV0b0hlaWdodCIsIkRFRkFVTFRfQVVUT19IRUlHSFQiLCJjb250ZW50RnJvbUNoaWxkRWxlbWVudHMiLCJhY3RpdmF0ZVJpY2hUZXh0YXJlYSIsInNldFJpY2hUZXh0YXJlYUNvbnRlbnQiLCJsaW5lSGVpZ2h0IiwiZ2V0TGluZUhlaWdodCIsInBhZGRpbmdUb3AiLCJnZXRQYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsImdldFBhZGRpbmdCb3R0b20iLCJib3JkZXJUb3BXaWR0aCIsImdldEJvcmRlclRvcFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJnZXRCb3JkZXJCb3R0b21XaWR0aCIsInNjcm9sbGJhclRoaWNrbmVzcyIsImdldFNjcm9sbGJhclRoaWNrbmVzcyIsImhlaWdodCIsInNldEhlaWdodCIsIndpbGxVbm1vdW50IiwiZWRpdGFibGUiLCJERUZBVUxUX0VESVRBQkxFIiwiaGlkZGVuR3V0dGVyIiwiREVGQVVMVF9ISURERU5fR1VUVEVSIiwiZmFuY3lTY3JvbGxiYXJzIiwiREVGQVVMVF9GQU5DWV9TQ1JPTExCQVJTIiwiaGlkZGVuU2Nyb2xsYmFycyIsIkRFRkFVTFRfSElEREVOX1NDUk9MTEJBUlMiLCJQcmV0dHlQcmludGVyIiwib25DdXN0b21DaGFuZ2UiLCJwYXJlbnRDb250ZXh0IiwiYmluZCIsInVwZGF0ZVlhcHAiLCJzZXRZYXBwTGV4ZXIiLCJzZXRZYXBwUGFyc2VyIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJsYW5ndWFnZSIsImdldExhbmd1YWdlIiwic2V0TGFuZ3VhZ2UiLCJmcm9tQ2xhc3MiLCJDbGFzcyIsInBsdWdpbkZyb21Qcm9wZXJ0aWVzIiwieWFwcCIsIkVsZW1lbnQiLCJmcm9tQ29udGVudEFuZE9wdGlvbnMiLCJvcHRpb25zIiwicHJvcGVydGllc0Zyb21Db250ZW50QW5kT3B0aW9ucyIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwic3R5bGVNaXhpbnMiLCJ3aXRoU3R5bGUiLCJjb2xvdXIiLCJjYXJldENvbG91ciIsImJvcmRlckNvbG91ciIsImJhY2tncm91bmRDb2xvdXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRMQTs7O2VBQUE7OztvRUExTHNCO29CQUVTOzREQUVQO29FQUNFO3NCQUVXO3lCQUNDOzBCQUNVO2dDQUNDO3VCQUNjO3NCQUNLO3dCQUNpRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckosSUFBQSxBQUFNQSxxQkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQSxLQUNRQyxRQUFRLEVBQUVDLE1BQU07Z0NBRHhCRjs7a0NBRUlDO1FBK0JSRSxrREFBQUEsdUJBQXNCLFNBQUNDLE9BQU9DO1lBQzVCLElBQU1DLGlCQUFpQixNQUFLQyxpQkFBaUI7WUFFN0MsSUFBSUQsZ0JBQWdCO2dCQUNsQixJQUFNRSxVQUFVLE1BQUtDLFVBQVUsSUFDekJDLGtCQUFrQkMsa0RBQWdDO2dCQUV4RCxNQUFLQyxNQUFNO2dCQUVYLE1BQUtDLGtCQUFrQixDQUFDSCxpQkFBaUJGO1lBQzNDO1FBQ0Y7UUF4Q0UsTUFBS04sTUFBTSxHQUFHQTs7O2tCQUpaRjs7WUFPSmMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDWixNQUFNO1lBQ3BCOzs7WUFFQU8sS0FBQUE7bUJB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yapp",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.1",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/yapp",
|
|
7
7
|
"description": "Yet Another Pretty Printer.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"easy": "^16.0.9",
|
|
14
14
|
"easy-richtextarea": "^4.0.122",
|
|
15
|
-
"easy-with-style": "^3.0.
|
|
15
|
+
"easy-with-style": "^3.0.289",
|
|
16
16
|
"necessary": "^13.1.4",
|
|
17
17
|
"occam-dom": "^3.1.91",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.95",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@swc/core": "^1.2.106",
|
|
24
|
-
"easy-layout": "^6.0.
|
|
24
|
+
"easy-layout": "^6.0.102",
|
|
25
25
|
"esbuild": "^0.11.7",
|
|
26
26
|
"express": "^4.17.1",
|
|
27
27
|
"juxtapose": "^4.0.72",
|
package/src/utilities/plugin.js
CHANGED
|
@@ -5,19 +5,21 @@ import JSONPlugin from "../plugin/json";
|
|
|
5
5
|
import PlainTextPlugin from "../plugin/plainText";
|
|
6
6
|
import JavaScriptPlugin from "../plugin/javascript";
|
|
7
7
|
|
|
8
|
-
import { XML_LANGUAGE, JSON_LANGUAGE, PLAIN_TEXT_LANGUAGE } from "../languages";
|
|
8
|
+
import { XML_LANGUAGE, JSON_LANGUAGE, PLAIN_TEXT_LANGUAGE, JAVASCRIPT_LANGUAGE } from "../languages";
|
|
9
|
+
|
|
10
|
+
export function pluginFromProperties(properties) {
|
|
11
|
+
let Plugin;
|
|
12
|
+
|
|
13
|
+
({ Plugin = null } = properties);
|
|
14
|
+
|
|
15
|
+
if (Plugin === null) {
|
|
16
|
+
const { language = JAVASCRIPT_LANGUAGE } = properties;
|
|
9
17
|
|
|
10
|
-
export function pluginFromLanguageAndPlugin(language, Plugin) {
|
|
11
|
-
if (!Plugin) {
|
|
12
18
|
switch (language) {
|
|
13
19
|
case XML_LANGUAGE: Plugin = XMLPlugin; break;
|
|
14
20
|
case JSON_LANGUAGE: Plugin = JSONPlugin; break;
|
|
15
21
|
case PLAIN_TEXT_LANGUAGE: Plugin = PlainTextPlugin; break;
|
|
16
|
-
|
|
17
|
-
default :
|
|
18
|
-
Plugin = JavaScriptPlugin;
|
|
19
|
-
|
|
20
|
-
break;
|
|
22
|
+
case JAVASCRIPT_LANGUAGE: Plugin = JavaScriptPlugin; break;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export function
|
|
3
|
+
export function propertiesFromContentAndOptions(content, options) {
|
|
4
4
|
const text = content, ///
|
|
5
5
|
childElements = [{
|
|
6
6
|
getText: () => text,
|
|
7
7
|
}],
|
|
8
|
-
properties = Object.assign({
|
|
9
|
-
childElements
|
|
10
|
-
|
|
11
|
-
Plugin
|
|
12
|
-
}, options);
|
|
8
|
+
properties = Object.assign({}, options, { ///
|
|
9
|
+
childElements
|
|
10
|
+
});
|
|
13
11
|
|
|
14
12
|
return properties;
|
|
15
13
|
}
|
package/src/yapp.js
CHANGED
|
@@ -7,10 +7,10 @@ import { React, Element } from "easy";
|
|
|
7
7
|
import styleMixins from "./mixins/style";
|
|
8
8
|
import PrettyPrinter from "./prettyPrinter";
|
|
9
9
|
|
|
10
|
+
import { pluginFromProperties } from "./utilities/plugin";
|
|
10
11
|
import { getScrollbarThickness } from "./utilities/scrollbar";
|
|
11
|
-
import {
|
|
12
|
+
import { propertiesFromContentAndOptions } from "./utilities/properties";
|
|
12
13
|
import { CONTENT_CHANGE_CUSTOM_EVENT_TYPE } from "./customEventTypes";
|
|
13
|
-
import { propertiesFromContentLanguagePluginAndOptions } from "./utilities/properties";
|
|
14
14
|
import { lineCountFromContent, contentFromChildElements } from "./utilities/content";
|
|
15
15
|
import { colour, caretColour, borderColour, backgroundColour } from "./scheme/colour";
|
|
16
16
|
import { DEFAULT_EDITABLE, DEFAULT_FIRA_CODE, DEFAULT_AUTO_HEIGHT, DEFAULT_HIDDEN_GUTTER, DEFAULT_HIDDEN_SCROLLBARS, DEFAULT_FANCY_SCROLLBARS } from "./defaults";
|
|
@@ -167,18 +167,17 @@ class Yapp extends Element {
|
|
|
167
167
|
"fancyScrollbars"
|
|
168
168
|
];
|
|
169
169
|
|
|
170
|
-
static
|
|
171
|
-
const
|
|
172
|
-
properties = propertiesFromContentLanguagePluginAndOptions(content, language, Plugin, options),
|
|
173
|
-
plugin = pluginFromLanguageAndPlugin(language, Plugin),
|
|
170
|
+
static fromClass(Class, properties) {
|
|
171
|
+
const plugin = pluginFromProperties(properties),
|
|
174
172
|
yapp = Element.fromClass(Class, properties, plugin);
|
|
175
173
|
|
|
176
174
|
return yapp;
|
|
177
175
|
}
|
|
178
176
|
|
|
179
|
-
static
|
|
180
|
-
const
|
|
181
|
-
|
|
177
|
+
static fromContentAndOptions(content, options) {
|
|
178
|
+
const Class = Yapp, ///
|
|
179
|
+
properties = propertiesFromContentAndOptions(content, options),
|
|
180
|
+
plugin = pluginFromProperties(properties),
|
|
182
181
|
yapp = Element.fromClass(Class, properties, plugin);
|
|
183
182
|
|
|
184
183
|
return yapp;
|