yapp 4.0.249 → 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.
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "pluginFromLanguageAndPlugin", {
5
+ Object.defineProperty(exports, "pluginFromProperties", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return pluginFromLanguageAndPlugin;
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 pluginFromLanguageAndPlugin(language, Plugin) {
22
- if (!Plugin) {
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
- default:
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi9wbHVnaW4veG1sXCI7XG5pbXBvcnQgSlNPTlBsdWdpbiBmcm9tIFwiLi4vcGx1Z2luL2pzb25cIjtcbmltcG9ydCBQbGFpblRleHRQbHVnaW4gZnJvbSBcIi4uL3BsdWdpbi9wbGFpblRleHRcIjtcbmltcG9ydCBKYXZhU2NyaXB0UGx1Z2luIGZyb20gXCIuLi9wbHVnaW4vamF2YXNjcmlwdFwiO1xuXG5pbXBvcnQgeyBYTUxfTEFOR1VBR0UsIEpTT05fTEFOR1VBR0UsIFBMQUlOX1RFWFRfTEFOR1VBR0UgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4obGFuZ3VhZ2UsIFBsdWdpbikge1xuICBpZiAoIVBsdWdpbikge1xuICAgIHN3aXRjaCAobGFuZ3VhZ2UpIHtcbiAgICAgIGNhc2UgWE1MX0xBTkdVQUdFOiBQbHVnaW4gPSBYTUxQbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBKU09OX0xBTkdVQUdFOiBQbHVnaW4gPSBKU09OUGx1Z2luOyBicmVhaztcbiAgICAgIGNhc2UgUExBSU5fVEVYVF9MQU5HVUFHRTogUGx1Z2luID0gUGxhaW5UZXh0UGx1Z2luOyBicmVhaztcblxuICAgICAgZGVmYXVsdCA6XG4gICAgICAgIFBsdWdpbiA9IEphdmFTY3JpcHRQbHVnaW47XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcGx1Z2luID0gUGx1Z2luLmZyb21Ob3RoaW5nKCk7XG5cbiAgcmV0dXJuIHBsdWdpbjtcbn1cbiJdLCJuYW1lcyI6WyJwbHVnaW5Gcm9tTGFuZ3VhZ2VBbmRQbHVnaW4iLCJsYW5ndWFnZSIsIlBsdWdpbiIsIlhNTF9MQU5HVUFHRSIsIlhNTFBsdWdpbiIsIkpTT05fTEFOR1VBR0UiLCJKU09OUGx1Z2luIiwiUExBSU5fVEVYVF9MQU5HVUFHRSIsIlBsYWluVGV4dFBsdWdpbiIsIkphdmFTY3JpcHRQbHVnaW4iLCJwbHVnaW4iLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU2dCQTs7O2VBQUFBOzs7MERBUE07MkRBQ0M7Z0VBQ0s7aUVBQ0M7eUJBRW9DOzs7Ozs7QUFFMUQsU0FBU0EsNEJBQTRCQyxRQUFRLEVBQUVDLE1BQU07SUFDMUQsSUFBSSxDQUFDQSxRQUFRO1FBQ1gsT0FBUUQ7WUFDTixLQUFLRSx1QkFBWTtnQkFBRUQsU0FBU0UsWUFBUztnQkFBRTtZQUN2QyxLQUFLQyx3QkFBYTtnQkFBRUgsU0FBU0ksYUFBVTtnQkFBRTtZQUN6QyxLQUFLQyw4QkFBbUI7Z0JBQUVMLFNBQVNNLGtCQUFlO2dCQUFFO1lBRXBEO2dCQUNFTixTQUFTTyxtQkFBZ0I7Z0JBRXpCO1FBQ0o7SUFDRjtJQUVBLElBQU1DLFNBQVNSLE9BQU9TLFdBQVc7SUFFakMsT0FBT0Q7QUFDVCJ9
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, "propertiesFromContentLanguagePluginAndOptions", {
5
+ Object.defineProperty(exports, "propertiesFromContentAndOptions", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return propertiesFromContentLanguagePluginAndOptions;
8
+ return propertiesFromContentAndOptions;
9
9
  }
10
10
  });
11
- function propertiesFromContentLanguagePluginAndOptions(content, language, Plugin, options) {
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
- language: language,
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJvcGVydGllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnRpZXNGcm9tQ29udGVudExhbmd1YWdlUGx1Z2luQW5kT3B0aW9ucyhjb250ZW50LCBsYW5ndWFnZSwgUGx1Z2luLCBvcHRpb25zKSB7XG4gIGNvbnN0IHRleHQgPSBjb250ZW50LCAvLy9cbiAgICAgICAgY2hpbGRFbGVtZW50cyA9IFt7XG4gICAgICAgICAgZ2V0VGV4dDogKCkgPT4gdGV4dCxcbiAgICAgICAgfV0sXG4gICAgICAgIHByb3BlcnRpZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICBjaGlsZEVsZW1lbnRzLFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgIFBsdWdpblxuICAgICAgICB9LCBvcHRpb25zKTtcblxuICByZXR1cm4gcHJvcGVydGllcztcbn1cbiJdLCJuYW1lcyI6WyJwcm9wZXJ0aWVzRnJvbUNvbnRlbnRMYW5ndWFnZVBsdWdpbkFuZE9wdGlvbnMiLCJjb250ZW50IiwibGFuZ3VhZ2UiLCJQbHVnaW4iLCJvcHRpb25zIiwidGV4dCIsImNoaWxkRWxlbWVudHMiLCJnZXRUZXh0IiwicHJvcGVydGllcyIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSw4Q0FBOENDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLE9BQU87SUFDOUYsSUFBTUMsT0FBT0osU0FDUEssZ0JBQWdCO1FBQUM7WUFDZkMsU0FBUzt1QkFBTUY7O1FBQ2pCO0tBQUUsRUFDRkcsYUFBYUMsT0FBT0MsTUFBTSxDQUFDO1FBQ3pCSixlQUFBQTtRQUNBSixVQUFBQTtRQUNBQyxRQUFBQTtJQUNGLEdBQUdDO0lBRVQsT0FBT0k7QUFDVCJ9
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 _customEventTypes = require("./customEventTypes");
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: "fromContent",
330
- value: function fromContent(content, language, Plugin, options) {
331
- var Class = Yapp, properties = (0, _properties.propertiesFromContentLanguagePluginAndOptions)(content, language, Plugin, options), plugin = (0, _plugin.pluginFromLanguageAndPlugin)(language, Plugin), yapp = _easy.Element.fromClass(Class, properties, plugin);
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: "fromClass",
337
- value: function fromClass(Class, properties) {
338
- var language = properties.language, Plugin = properties.Plugin, plugin = (0, _plugin.pluginFromLanguageAndPlugin)(language, Plugin), yapp = _easy.Element.fromClass(Class, properties, plugin);
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.0.249",
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.",
@@ -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 propertiesFromContentLanguagePluginAndOptions(content, language, Plugin, options) {
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
- language,
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 { pluginFromLanguageAndPlugin } from "./utilities/plugin";
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 fromContent(content, language, Plugin, options) {
171
- const Class = Yapp,
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 fromClass(Class, properties) {
180
- const { language, Plugin } = properties,
181
- plugin = pluginFromLanguageAndPlugin(language, Plugin),
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;