find-cli 1.7.25 → 1.7.26

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.
Files changed (72) hide show
  1. package/.aiignore +11 -0
  2. package/.swcrc +3 -0
  3. package/lib/abbreviations.js +15 -15
  4. package/lib/action/addRootDirectoryPath.js +9 -9
  5. package/lib/action/find.js +30 -30
  6. package/lib/action/help.js +47 -2
  7. package/lib/action/initialise.js +4 -4
  8. package/lib/action/listRootDirectoryPaths.js +5 -5
  9. package/lib/action/removeRootDirectoryPath.js +10 -10
  10. package/lib/action/version.js +6 -6
  11. package/lib/commands.js +8 -8
  12. package/lib/configuration/version_1_1.js +9 -9
  13. package/lib/configuration/version_1_2.js +14 -14
  14. package/lib/configuration/version_1_3.js +6 -6
  15. package/lib/configuration/version_1_4.js +9 -9
  16. package/lib/configuration/version_1_7.js +14 -14
  17. package/lib/configuration.js +76 -114
  18. package/lib/constants.js +12 -12
  19. package/lib/converter/alternates.js +16 -117
  20. package/lib/converter/characterClass.js +28 -129
  21. package/lib/converter/default.js +12 -113
  22. package/lib/converter/directory.js +12 -113
  23. package/lib/converter/escapedCharacter.js +12 -113
  24. package/lib/converter/period.js +12 -113
  25. package/lib/converter/questionMark.js +12 -113
  26. package/lib/converter/repeatedDirectories.js +12 -113
  27. package/lib/converter/repeatedWildcard.js +12 -113
  28. package/lib/converter/singleDirectory.js +12 -113
  29. package/lib/converter/singleWildcard.js +12 -113
  30. package/lib/converter.js +24 -57
  31. package/lib/converters.js +14 -14
  32. package/lib/defaults.js +10 -10
  33. package/lib/descriptions.js +5 -5
  34. package/lib/find.js +15 -15
  35. package/lib/isIgnored/asynchronous.js +15 -15
  36. package/lib/isIgnored/synchronous.js +24 -24
  37. package/lib/line.js +99 -174
  38. package/lib/main.js +18 -18
  39. package/lib/messages.js +16 -16
  40. package/lib/occurrence.js +19 -55
  41. package/lib/operation/addRootDirectoryPath.js +3 -3
  42. package/lib/operation/find.js +12 -35
  43. package/lib/operation/listRootDirectoryPaths.js +5 -5
  44. package/lib/operation/previousRule.js +10 -10
  45. package/lib/operation/prompt/addRootDirectoryPath.js +15 -15
  46. package/lib/operation/prompt/ignoreOrPermitPath.js +15 -15
  47. package/lib/operation/prompt/pathRule.js +17 -17
  48. package/lib/operation/prompt/previousRule.js +10 -10
  49. package/lib/operation/prompt/removeRootDirectoryPath.js +18 -18
  50. package/lib/operation/prompt/rule.js +21 -21
  51. package/lib/operation/removeRootDirectoryPath.js +5 -5
  52. package/lib/operation/removeRootDirectoryPathByIndex.js +4 -4
  53. package/lib/operation/rule.js +6 -6
  54. package/lib/operation/updatePatRules.js +7 -7
  55. package/lib/operation/validateRootDirectoryPath.js +7 -7
  56. package/lib/options.js +11 -11
  57. package/lib/prepare.js +5 -5
  58. package/lib/rule/glob.js +87 -167
  59. package/lib/rule/regex.js +73 -127
  60. package/lib/rule/string.js +69 -120
  61. package/lib/types.js +4 -4
  62. package/lib/utilities/find.js +44 -44
  63. package/lib/utilities/literal.js +2 -2
  64. package/lib/utilities/log.js +7 -7
  65. package/lib/utilities/operation.js +7 -7
  66. package/lib/utilities/path.js +12 -12
  67. package/lib/utilities/prompt.js +11 -11
  68. package/lib/utilities/rule.js +5 -5
  69. package/lib/utilities/string.js +6 -6
  70. package/lib/utilities/validate.js +7 -7
  71. package/lib/versions.js +7 -7
  72. package/package.json +1 -1
package/lib/find.js CHANGED
@@ -8,46 +8,46 @@ Object.defineProperty(exports, "default", {
8
8
  return find;
9
9
  }
10
10
  });
11
- var _necessary = require("necessary");
12
- var _line = /*#__PURE__*/ _interop_require_default(require("./line"));
11
+ const _necessary = require("necessary");
12
+ const _line = /*#__PURE__*/ _interop_require_default(require("./line"));
13
13
  function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
16
16
  };
17
17
  }
18
- var readFile = _necessary.fileSystemUtilities.readFile;
18
+ const { readFile } = _necessary.fileSystemUtilities;
19
19
  function find(filePath, context) {
20
- var rule = context.rule, format = context.format, content = readFile(filePath), lines = linesFromContentAndFilePath(content, filePath);
21
- var linesTotal = context.linesTotal;
22
- lines.forEach(function(line) {
23
- var occurrences = rule.find(line, filePath), occurrencesLength = occurrences.length;
20
+ const { rule, format } = context, content = readFile(filePath), lines = linesFromContentAndFilePath(content, filePath);
21
+ let { linesTotal } = context;
22
+ lines.forEach((line)=>{
23
+ const occurrences = rule.find(line, filePath), occurrencesLength = occurrences.length;
24
24
  if (occurrencesLength > 0) {
25
- var occurrencesTotal = context.occurrencesTotal;
25
+ let { occurrencesTotal } = context;
26
26
  occurrencesTotal += occurrencesLength;
27
27
  Object.assign(context, {
28
- occurrencesTotal: occurrencesTotal
28
+ occurrencesTotal
29
29
  });
30
30
  line.setOccurrences(occurrences);
31
31
  if (!format) {
32
- var message = line.asMessage();
32
+ const message = line.asMessage();
33
33
  console.log(message);
34
34
  } else {
35
- var lines = context.lines;
35
+ const { lines } = context;
36
36
  lines.push(line);
37
37
  }
38
38
  }
39
39
  linesTotal++;
40
40
  });
41
41
  Object.assign(context, {
42
- linesTotal: linesTotal
42
+ linesTotal
43
43
  });
44
44
  }
45
45
  function linesFromContentAndFilePath(content, filePath) {
46
- var contents = content.split(/(\r\n|\r|\n)/), lines = contents.map(function(content, index) {
47
- var line = _line.default.fromIndexContentAndFilePath(index, content, filePath);
46
+ const contents = content.split(/(\r\n|\r|\n)/), lines = contents.map((content, index)=>{
47
+ const line = _line.default.fromIndexContentAndFilePath(index, content, filePath);
48
48
  return line;
49
49
  });
50
50
  return lines;
51
51
  }
52
52
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgTGluZSBmcm9tIFwiLi9saW5lXCI7XG5cbmNvbnN0IHsgcmVhZEZpbGUgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZpbmQoZmlsZVBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBydWxlLCBmb3JtYXQgfSA9IGNvbnRleHQsXG4gICAgICAgIGNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgIGxpbmVzID0gbGluZXNGcm9tQ29udGVudEFuZEZpbGVQYXRoKGNvbnRlbnQsIGZpbGVQYXRoKTtcblxuICBsZXQgeyBsaW5lc1RvdGFsIH0gPSBjb250ZXh0O1xuXG4gIGxpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICBjb25zdCBvY2N1cnJlbmNlcyA9IHJ1bGUuZmluZChsaW5lLCBmaWxlUGF0aCksXG4gICAgICAgICAgb2NjdXJyZW5jZXNMZW5ndGggPSBvY2N1cnJlbmNlcy5sZW5ndGg7XG5cbiAgICBpZiAob2NjdXJyZW5jZXNMZW5ndGggPiAwKSB7XG4gICAgICBsZXQgeyBvY2N1cnJlbmNlc1RvdGFsIH0gPSBjb250ZXh0O1xuXG4gICAgICBvY2N1cnJlbmNlc1RvdGFsICs9IG9jY3VycmVuY2VzTGVuZ3RoO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgb2NjdXJyZW5jZXNUb3RhbFxuICAgICAgfSk7XG5cbiAgICAgIGxpbmUuc2V0T2NjdXJyZW5jZXMob2NjdXJyZW5jZXMpO1xuXG4gICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gbGluZS5hc01lc3NhZ2UoKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHsgbGluZXMgfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaW5lc1RvdGFsKys7XG4gIH0pO1xuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIGxpbmVzVG90YWxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGxpbmVzRnJvbUNvbnRlbnRBbmRGaWxlUGF0aChjb250ZW50LCBmaWxlUGF0aCkge1xuICBjb25zdCBjb250ZW50cyA9IGNvbnRlbnQuc3BsaXQoLyhcXHJcXG58XFxyfFxcbikvKSxcbiAgICAgICAgbGluZXMgPSBjb250ZW50cy5tYXAoKGNvbnRlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbGluZSA9IExpbmUuZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCk7XG5cbiAgICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGxpbmVzO1xufVxuIl0sIm5hbWVzIjpbImZpbmQiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJydWxlIiwiZm9ybWF0IiwiY29udGVudCIsImxpbmVzIiwibGluZXNGcm9tQ29udGVudEFuZEZpbGVQYXRoIiwibGluZXNUb3RhbCIsImZvckVhY2giLCJsaW5lIiwib2NjdXJyZW5jZXMiLCJvY2N1cnJlbmNlc0xlbmd0aCIsImxlbmd0aCIsIm9jY3VycmVuY2VzVG90YWwiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRPY2N1cnJlbmNlcyIsIm1lc3NhZ2UiLCJhc01lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwicHVzaCIsImNvbnRlbnRzIiwic3BsaXQiLCJtYXAiLCJpbmRleCIsIkxpbmUiLCJmcm9tSW5kZXhDb250ZW50QW5kRmlsZVBhdGgiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7eUJBTlk7MkRBRW5COzs7Ozs7QUFFakIsSUFBTSxBQUFFQyxXQUFhQyw4QkFBbUIsQ0FBaENEO0FBRU8sU0FBU0QsS0FBS0csUUFBUSxFQUFFQyxPQUFPO0lBQzVDLElBQVFDLE9BQWlCRCxRQUFqQkMsTUFBTUMsU0FBV0YsUUFBWEUsUUFDUkMsVUFBVU4sU0FBU0UsV0FDbkJLLFFBQVFDLDRCQUE0QkYsU0FBU0o7SUFFbkQsSUFBSSxBQUFFTyxhQUFlTixRQUFmTTtJQUVORixNQUFNRyxPQUFPLENBQUMsU0FBQ0M7UUFDYixJQUFNQyxjQUFjUixLQUFLTCxJQUFJLENBQUNZLE1BQU1ULFdBQzlCVyxvQkFBb0JELFlBQVlFLE1BQU07UUFFNUMsSUFBSUQsb0JBQW9CLEdBQUc7WUFDekIsSUFBSSxBQUFFRSxtQkFBcUJaLFFBQXJCWTtZQUVOQSxvQkFBb0JGO1lBRXBCRyxPQUFPQyxNQUFNLENBQUNkLFNBQVM7Z0JBQ3JCWSxrQkFBQUE7WUFDRjtZQUVBSixLQUFLTyxjQUFjLENBQUNOO1lBRXBCLElBQUksQ0FBQ1AsUUFBUTtnQkFDWCxJQUFNYyxVQUFVUixLQUFLUyxTQUFTO2dCQUU5QkMsUUFBUUMsR0FBRyxDQUFDSDtZQUNkLE9BQU87Z0JBQ0wsSUFBTSxBQUFFWixRQUFVSixRQUFWSTtnQkFFUkEsTUFBTWdCLElBQUksQ0FBQ1o7WUFDYjtRQUNGO1FBRUFGO0lBQ0Y7SUFFQU8sT0FBT0MsTUFBTSxDQUFDZCxTQUFTO1FBQ3JCTSxZQUFBQTtJQUNGO0FBQ0Y7QUFFQSxTQUFTRCw0QkFBNEJGLE9BQU8sRUFBRUosUUFBUTtJQUNwRCxJQUFNc0IsV0FBV2xCLFFBQVFtQixLQUFLLENBQUMsaUJBQ3pCbEIsUUFBUWlCLFNBQVNFLEdBQUcsQ0FBQyxTQUFDcEIsU0FBU3FCO1FBQzdCLElBQU1oQixPQUFPaUIsYUFBSSxDQUFDQywyQkFBMkIsQ0FBQ0YsT0FBT3JCLFNBQVNKO1FBRTlELE9BQU9TO0lBQ1Q7SUFFTixPQUFPSjtBQUNUIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgTGluZSBmcm9tIFwiLi9saW5lXCI7XG5cbmNvbnN0IHsgcmVhZEZpbGUgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZpbmQoZmlsZVBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBydWxlLCBmb3JtYXQgfSA9IGNvbnRleHQsXG4gICAgICAgIGNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgIGxpbmVzID0gbGluZXNGcm9tQ29udGVudEFuZEZpbGVQYXRoKGNvbnRlbnQsIGZpbGVQYXRoKTtcblxuICBsZXQgeyBsaW5lc1RvdGFsIH0gPSBjb250ZXh0O1xuXG4gIGxpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcbiAgICBjb25zdCBvY2N1cnJlbmNlcyA9IHJ1bGUuZmluZChsaW5lLCBmaWxlUGF0aCksXG4gICAgICAgICAgb2NjdXJyZW5jZXNMZW5ndGggPSBvY2N1cnJlbmNlcy5sZW5ndGg7XG5cbiAgICBpZiAob2NjdXJyZW5jZXNMZW5ndGggPiAwKSB7XG4gICAgICBsZXQgeyBvY2N1cnJlbmNlc1RvdGFsIH0gPSBjb250ZXh0O1xuXG4gICAgICBvY2N1cnJlbmNlc1RvdGFsICs9IG9jY3VycmVuY2VzTGVuZ3RoO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgb2NjdXJyZW5jZXNUb3RhbFxuICAgICAgfSk7XG5cbiAgICAgIGxpbmUuc2V0T2NjdXJyZW5jZXMob2NjdXJyZW5jZXMpO1xuXG4gICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gbGluZS5hc01lc3NhZ2UoKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHsgbGluZXMgfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaW5lc1RvdGFsKys7XG4gIH0pO1xuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIGxpbmVzVG90YWxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGxpbmVzRnJvbUNvbnRlbnRBbmRGaWxlUGF0aChjb250ZW50LCBmaWxlUGF0aCkge1xuICBjb25zdCBjb250ZW50cyA9IGNvbnRlbnQuc3BsaXQoLyhcXHJcXG58XFxyfFxcbikvKSxcbiAgICAgICAgbGluZXMgPSBjb250ZW50cy5tYXAoKGNvbnRlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbGluZSA9IExpbmUuZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCk7XG5cbiAgICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGxpbmVzO1xufVxuIl0sIm5hbWVzIjpbImZpbmQiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJydWxlIiwiZm9ybWF0IiwiY29udGVudCIsImxpbmVzIiwibGluZXNGcm9tQ29udGVudEFuZEZpbGVQYXRoIiwibGluZXNUb3RhbCIsImZvckVhY2giLCJsaW5lIiwib2NjdXJyZW5jZXMiLCJvY2N1cnJlbmNlc0xlbmd0aCIsImxlbmd0aCIsIm9jY3VycmVuY2VzVG90YWwiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRPY2N1cnJlbmNlcyIsIm1lc3NhZ2UiLCJhc01lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwicHVzaCIsImNvbnRlbnRzIiwic3BsaXQiLCJtYXAiLCJpbmRleCIsIkxpbmUiLCJmcm9tSW5kZXhDb250ZW50QW5kRmlsZVBhdGgiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7MkJBTlk7NkRBRW5COzs7Ozs7QUFFakIsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsOEJBQW1CO0FBRXpCLFNBQVNGLEtBQUtHLFFBQVEsRUFBRUMsT0FBTztJQUM1QyxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFLEdBQUdGLFNBQ25CRyxVQUFVTixTQUFTRSxXQUNuQkssUUFBUUMsNEJBQTRCRixTQUFTSjtJQUVuRCxJQUFJLEVBQUVPLFVBQVUsRUFBRSxHQUFHTjtJQUVyQkksTUFBTUcsT0FBTyxDQUFDLENBQUNDO1FBQ2IsTUFBTUMsY0FBY1IsS0FBS0wsSUFBSSxDQUFDWSxNQUFNVCxXQUM5Qlcsb0JBQW9CRCxZQUFZRSxNQUFNO1FBRTVDLElBQUlELG9CQUFvQixHQUFHO1lBQ3pCLElBQUksRUFBRUUsZ0JBQWdCLEVBQUUsR0FBR1o7WUFFM0JZLG9CQUFvQkY7WUFFcEJHLE9BQU9DLE1BQU0sQ0FBQ2QsU0FBUztnQkFDckJZO1lBQ0Y7WUFFQUosS0FBS08sY0FBYyxDQUFDTjtZQUVwQixJQUFJLENBQUNQLFFBQVE7Z0JBQ1gsTUFBTWMsVUFBVVIsS0FBS1MsU0FBUztnQkFFOUJDLFFBQVFDLEdBQUcsQ0FBQ0g7WUFDZCxPQUFPO2dCQUNMLE1BQU0sRUFBRVosS0FBSyxFQUFFLEdBQUdKO2dCQUVsQkksTUFBTWdCLElBQUksQ0FBQ1o7WUFDYjtRQUNGO1FBRUFGO0lBQ0Y7SUFFQU8sT0FBT0MsTUFBTSxDQUFDZCxTQUFTO1FBQ3JCTTtJQUNGO0FBQ0Y7QUFFQSxTQUFTRCw0QkFBNEJGLE9BQU8sRUFBRUosUUFBUTtJQUNwRCxNQUFNc0IsV0FBV2xCLFFBQVFtQixLQUFLLENBQUMsaUJBQ3pCbEIsUUFBUWlCLFNBQVNFLEdBQUcsQ0FBQyxDQUFDcEIsU0FBU3FCO1FBQzdCLE1BQU1oQixPQUFPaUIsYUFBSSxDQUFDQywyQkFBMkIsQ0FBQ0YsT0FBT3JCLFNBQVNKO1FBRTlELE9BQU9TO0lBQ1Q7SUFFTixPQUFPSjtBQUNUIn0=
@@ -16,11 +16,11 @@ _export(exports, {
16
16
  return asynchronousIsFilePathIgnored;
17
17
  }
18
18
  });
19
- var _pathRule = /*#__PURE__*/ _interop_require_default(require("../operation/prompt/pathRule"));
20
- var _updatePatRules = /*#__PURE__*/ _interop_require_default(require("../operation/updatePatRules"));
21
- var _ignoreOrPermitPath = /*#__PURE__*/ _interop_require_default(require("../operation/prompt/ignoreOrPermitPath"));
22
- var _operation = require("../utilities/operation");
23
- var _path = require("../utilities/path");
19
+ const _pathRule = /*#__PURE__*/ _interop_require_default(require("../operation/prompt/pathRule"));
20
+ const _updatePatRules = /*#__PURE__*/ _interop_require_default(require("../operation/updatePatRules"));
21
+ const _ignoreOrPermitPath = /*#__PURE__*/ _interop_require_default(require("../operation/prompt/ignoreOrPermitPath"));
22
+ const _operation = require("../utilities/operation");
23
+ const _path = require("../utilities/path");
24
24
  function _interop_require_default(obj) {
25
25
  return obj && obj.__esModule ? obj : {
26
26
  default: obj
@@ -28,28 +28,28 @@ function _interop_require_default(obj) {
28
28
  }
29
29
  function asynchronousIsFilePathIgnored(filePath, context, callback) {
30
30
  filePath = (0, _path.stripRootDirectoryFromPath)(filePath, context); ///
31
- var path = filePath, directory = false;
31
+ const path = filePath, directory = false;
32
32
  asynchronousIsPathIgnored(path, directory, context, callback);
33
33
  }
34
34
  function asynchronousIsDirectoryPathIgnored(directoryPath, context, callback) {
35
35
  directoryPath = (0, _path.stripRootDirectoryFromPath)(directoryPath, context); ///
36
- var path = directoryPath, directory = true;
36
+ const path = directoryPath, directory = true;
37
37
  asynchronousIsPathIgnored(path, directory, context, callback);
38
38
  }
39
39
  function asynchronousIsPathIgnored(path, directory, context, callback) {
40
- var operations = [
40
+ const operations = [
41
41
  _ignoreOrPermitPath.default,
42
42
  _pathRule.default,
43
43
  _updatePatRules.default
44
44
  ], pathRule = null, pathIgnored = null;
45
45
  Object.assign(context, {
46
- path: path,
47
- directory: directory,
48
- pathRule: pathRule,
49
- pathIgnored: pathIgnored
46
+ path,
47
+ directory,
48
+ pathRule,
49
+ pathIgnored
50
50
  });
51
- (0, _operation.executeOperations)(operations, function(completed) {
52
- var pathIgnored = context.pathIgnored;
51
+ (0, _operation.executeOperations)(operations, (completed)=>{
52
+ const { pathIgnored } = context;
53
53
  delete context.path;
54
54
  delete context.directory;
55
55
  delete context.pathRule;
@@ -58,4 +58,4 @@ function asynchronousIsPathIgnored(path, directory, context, callback) {
58
58
  }, context);
59
59
  }
60
60
 
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pc0lnbm9yZWQvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgcGF0aFJ1bGVQcm9tcHRPcGVyYXRpb24gZnJvbSBcIi4uL29wZXJhdGlvbi9wcm9tcHQvcGF0aFJ1bGVcIjtcbmltcG9ydCB1cGRhdGVQYXRoUnVsZXNPcGVyYXRpb24gZnJvbSBcIi4uL29wZXJhdGlvbi91cGRhdGVQYXRSdWxlc1wiO1xuaW1wb3J0IGlnbm9yZU9yUGVybWl0UGF0aFByb21wdE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL3Byb21wdC9pZ25vcmVPclBlcm1pdFBhdGhcIjtcblxuaW1wb3J0IHsgZXhlY3V0ZU9wZXJhdGlvbnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL29wZXJhdGlvblwiO1xuaW1wb3J0IHsgc3RyaXBSb290RGlyZWN0b3J5RnJvbVBhdGggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkKGZpbGVQYXRoLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBmaWxlUGF0aCA9IHN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoKGZpbGVQYXRoLCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcGF0aCA9IGZpbGVQYXRoLCAgLy8vXG4gICAgICAgIGRpcmVjdG9yeSA9IGZhbHNlO1xuXG4gIGFzeW5jaHJvbm91c0lzUGF0aElnbm9yZWQocGF0aCwgZGlyZWN0b3J5LCBjb250ZXh0LCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3luY2hyb25vdXNJc0RpcmVjdG9yeVBhdGhJZ25vcmVkKGRpcmVjdG9yeVBhdGgsIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGRpcmVjdG9yeVBhdGggPSBzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aChkaXJlY3RvcnlQYXRoLCBjb250ZXh0KTsgIC8vL1xuXG4gIGNvbnN0IHBhdGggPSBkaXJlY3RvcnlQYXRoLCAgLy8vXG4gICAgICAgIGRpcmVjdG9yeSA9IHRydWU7XG5cbiAgYXN5bmNocm9ub3VzSXNQYXRoSWdub3JlZChwYXRoLCBkaXJlY3RvcnksIGNvbnRleHQsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gYXN5bmNocm9ub3VzSXNQYXRoSWdub3JlZChwYXRoLCBkaXJlY3RvcnksIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBbXG4gICAgICAgICAgaWdub3JlT3JQZXJtaXRQYXRoUHJvbXB0T3BlcmF0aW9uLFxuICAgICAgICAgIHBhdGhSdWxlUHJvbXB0T3BlcmF0aW9uLFxuICAgICAgICAgIHVwZGF0ZVBhdGhSdWxlc09wZXJhdGlvblxuICAgICAgICBdLFxuICAgICAgICBwYXRoUnVsZSA9IG51bGwsXG4gICAgICAgIHBhdGhJZ25vcmVkID0gbnVsbDtcblxuICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICBwYXRoLFxuICAgIGRpcmVjdG9yeSxcbiAgICBwYXRoUnVsZSxcbiAgICBwYXRoSWdub3JlZFxuICB9KTtcblxuICBleGVjdXRlT3BlcmF0aW9ucyhvcGVyYXRpb25zLCAoY29tcGxldGVkKSA9PiB7XG4gICAgY29uc3QgeyBwYXRoSWdub3JlZCB9ID0gY29udGV4dDtcblxuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGg7XG4gICAgZGVsZXRlIGNvbnRleHQuZGlyZWN0b3J5O1xuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGhSdWxlO1xuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGhJZ25vcmVkO1xuXG4gICAgY2FsbGJhY2socGF0aElnbm9yZWQpO1xuICB9LCBjb250ZXh0KTtcbn1cbiJdLCJuYW1lcyI6WyJhc3luY2hyb25vdXNJc0RpcmVjdG9yeVBhdGhJZ25vcmVkIiwiYXN5bmNocm9ub3VzSXNGaWxlUGF0aElnbm9yZWQiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJjYWxsYmFjayIsInN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoIiwicGF0aCIsImRpcmVjdG9yeSIsImFzeW5jaHJvbm91c0lzUGF0aElnbm9yZWQiLCJkaXJlY3RvcnlQYXRoIiwib3BlcmF0aW9ucyIsImlnbm9yZU9yUGVybWl0UGF0aFByb21wdE9wZXJhdGlvbiIsInBhdGhSdWxlUHJvbXB0T3BlcmF0aW9uIiwidXBkYXRlUGF0aFJ1bGVzT3BlcmF0aW9uIiwicGF0aFJ1bGUiLCJwYXRoSWdub3JlZCIsIk9iamVjdCIsImFzc2lnbiIsImV4ZWN1dGVPcGVyYXRpb25zIiwiY29tcGxldGVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFrQmdCQTtlQUFBQTs7UUFUQUM7ZUFBQUE7OzsrREFQb0I7cUVBQ0M7eUVBQ1M7eUJBRVo7b0JBQ1M7Ozs7OztBQUVwQyxTQUFTQSw4QkFBOEJDLFFBQVEsRUFBRUMsT0FBTyxFQUFFQyxRQUFRO0lBQ3ZFRixXQUFXRyxJQUFBQSxnQ0FBMEIsRUFBQ0gsVUFBVUMsVUFBVSxHQUFHO0lBRTdELElBQU1HLE9BQU9KLFVBQ1BLLFlBQVk7SUFFbEJDLDBCQUEwQkYsTUFBTUMsV0FBV0osU0FBU0M7QUFDdEQ7QUFFTyxTQUFTSixtQ0FBbUNTLGFBQWEsRUFBRU4sT0FBTyxFQUFFQyxRQUFRO0lBQ2pGSyxnQkFBZ0JKLElBQUFBLGdDQUEwQixFQUFDSSxlQUFlTixVQUFXLEdBQUc7SUFFeEUsSUFBTUcsT0FBT0csZUFDUEYsWUFBWTtJQUVsQkMsMEJBQTBCRixNQUFNQyxXQUFXSixTQUFTQztBQUN0RDtBQUVBLFNBQVNJLDBCQUEwQkYsSUFBSSxFQUFFQyxTQUFTLEVBQUVKLE9BQU8sRUFBRUMsUUFBUTtJQUNuRSxJQUFNTSxhQUFhO1FBQ1hDLDJCQUFpQztRQUNqQ0MsaUJBQXVCO1FBQ3ZCQyx1QkFBd0I7S0FDekIsRUFDREMsV0FBVyxNQUNYQyxjQUFjO0lBRXBCQyxPQUFPQyxNQUFNLENBQUNkLFNBQVM7UUFDckJHLE1BQUFBO1FBQ0FDLFdBQUFBO1FBQ0FPLFVBQUFBO1FBQ0FDLGFBQUFBO0lBQ0Y7SUFFQUcsSUFBQUEsNEJBQWlCLEVBQUNSLFlBQVksU0FBQ1M7UUFDN0IsSUFBTSxBQUFFSixjQUFnQlosUUFBaEJZO1FBRVIsT0FBT1osUUFBUUcsSUFBSTtRQUNuQixPQUFPSCxRQUFRSSxTQUFTO1FBQ3hCLE9BQU9KLFFBQVFXLFFBQVE7UUFDdkIsT0FBT1gsUUFBUVksV0FBVztRQUUxQlgsU0FBU1c7SUFDWCxHQUFHWjtBQUNMIn0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pc0lnbm9yZWQvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgcGF0aFJ1bGVQcm9tcHRPcGVyYXRpb24gZnJvbSBcIi4uL29wZXJhdGlvbi9wcm9tcHQvcGF0aFJ1bGVcIjtcbmltcG9ydCB1cGRhdGVQYXRoUnVsZXNPcGVyYXRpb24gZnJvbSBcIi4uL29wZXJhdGlvbi91cGRhdGVQYXRSdWxlc1wiO1xuaW1wb3J0IGlnbm9yZU9yUGVybWl0UGF0aFByb21wdE9wZXJhdGlvbiBmcm9tIFwiLi4vb3BlcmF0aW9uL3Byb21wdC9pZ25vcmVPclBlcm1pdFBhdGhcIjtcblxuaW1wb3J0IHsgZXhlY3V0ZU9wZXJhdGlvbnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL29wZXJhdGlvblwiO1xuaW1wb3J0IHsgc3RyaXBSb290RGlyZWN0b3J5RnJvbVBhdGggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkKGZpbGVQYXRoLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBmaWxlUGF0aCA9IHN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoKGZpbGVQYXRoLCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcGF0aCA9IGZpbGVQYXRoLCAgLy8vXG4gICAgICAgIGRpcmVjdG9yeSA9IGZhbHNlO1xuXG4gIGFzeW5jaHJvbm91c0lzUGF0aElnbm9yZWQocGF0aCwgZGlyZWN0b3J5LCBjb250ZXh0LCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3luY2hyb25vdXNJc0RpcmVjdG9yeVBhdGhJZ25vcmVkKGRpcmVjdG9yeVBhdGgsIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGRpcmVjdG9yeVBhdGggPSBzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aChkaXJlY3RvcnlQYXRoLCBjb250ZXh0KTsgIC8vL1xuXG4gIGNvbnN0IHBhdGggPSBkaXJlY3RvcnlQYXRoLCAgLy8vXG4gICAgICAgIGRpcmVjdG9yeSA9IHRydWU7XG5cbiAgYXN5bmNocm9ub3VzSXNQYXRoSWdub3JlZChwYXRoLCBkaXJlY3RvcnksIGNvbnRleHQsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gYXN5bmNocm9ub3VzSXNQYXRoSWdub3JlZChwYXRoLCBkaXJlY3RvcnksIGNvbnRleHQsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IG9wZXJhdGlvbnMgPSBbXG4gICAgICAgICAgaWdub3JlT3JQZXJtaXRQYXRoUHJvbXB0T3BlcmF0aW9uLFxuICAgICAgICAgIHBhdGhSdWxlUHJvbXB0T3BlcmF0aW9uLFxuICAgICAgICAgIHVwZGF0ZVBhdGhSdWxlc09wZXJhdGlvblxuICAgICAgICBdLFxuICAgICAgICBwYXRoUnVsZSA9IG51bGwsXG4gICAgICAgIHBhdGhJZ25vcmVkID0gbnVsbDtcblxuICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICBwYXRoLFxuICAgIGRpcmVjdG9yeSxcbiAgICBwYXRoUnVsZSxcbiAgICBwYXRoSWdub3JlZFxuICB9KTtcblxuICBleGVjdXRlT3BlcmF0aW9ucyhvcGVyYXRpb25zLCAoY29tcGxldGVkKSA9PiB7XG4gICAgY29uc3QgeyBwYXRoSWdub3JlZCB9ID0gY29udGV4dDtcblxuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGg7XG4gICAgZGVsZXRlIGNvbnRleHQuZGlyZWN0b3J5O1xuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGhSdWxlO1xuICAgIGRlbGV0ZSBjb250ZXh0LnBhdGhJZ25vcmVkO1xuXG4gICAgY2FsbGJhY2socGF0aElnbm9yZWQpO1xuICB9LCBjb250ZXh0KTtcbn1cbiJdLCJuYW1lcyI6WyJhc3luY2hyb25vdXNJc0RpcmVjdG9yeVBhdGhJZ25vcmVkIiwiYXN5bmNocm9ub3VzSXNGaWxlUGF0aElnbm9yZWQiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJjYWxsYmFjayIsInN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoIiwicGF0aCIsImRpcmVjdG9yeSIsImFzeW5jaHJvbm91c0lzUGF0aElnbm9yZWQiLCJkaXJlY3RvcnlQYXRoIiwib3BlcmF0aW9ucyIsImlnbm9yZU9yUGVybWl0UGF0aFByb21wdE9wZXJhdGlvbiIsInBhdGhSdWxlUHJvbXB0T3BlcmF0aW9uIiwidXBkYXRlUGF0aFJ1bGVzT3BlcmF0aW9uIiwicGF0aFJ1bGUiLCJwYXRoSWdub3JlZCIsIk9iamVjdCIsImFzc2lnbiIsImV4ZWN1dGVPcGVyYXRpb25zIiwiY29tcGxldGVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFrQmdCQTtlQUFBQTs7UUFUQUM7ZUFBQUE7OztpRUFQb0I7dUVBQ0M7MkVBQ1M7MkJBRVo7c0JBQ1M7Ozs7OztBQUVwQyxTQUFTQSw4QkFBOEJDLFFBQVEsRUFBRUMsT0FBTyxFQUFFQyxRQUFRO0lBQ3ZFRixXQUFXRyxJQUFBQSxnQ0FBMEIsRUFBQ0gsVUFBVUMsVUFBVSxHQUFHO0lBRTdELE1BQU1HLE9BQU9KLFVBQ1BLLFlBQVk7SUFFbEJDLDBCQUEwQkYsTUFBTUMsV0FBV0osU0FBU0M7QUFDdEQ7QUFFTyxTQUFTSixtQ0FBbUNTLGFBQWEsRUFBRU4sT0FBTyxFQUFFQyxRQUFRO0lBQ2pGSyxnQkFBZ0JKLElBQUFBLGdDQUEwQixFQUFDSSxlQUFlTixVQUFXLEdBQUc7SUFFeEUsTUFBTUcsT0FBT0csZUFDUEYsWUFBWTtJQUVsQkMsMEJBQTBCRixNQUFNQyxXQUFXSixTQUFTQztBQUN0RDtBQUVBLFNBQVNJLDBCQUEwQkYsSUFBSSxFQUFFQyxTQUFTLEVBQUVKLE9BQU8sRUFBRUMsUUFBUTtJQUNuRSxNQUFNTSxhQUFhO1FBQ1hDLDJCQUFpQztRQUNqQ0MsaUJBQXVCO1FBQ3ZCQyx1QkFBd0I7S0FDekIsRUFDREMsV0FBVyxNQUNYQyxjQUFjO0lBRXBCQyxPQUFPQyxNQUFNLENBQUNkLFNBQVM7UUFDckJHO1FBQ0FDO1FBQ0FPO1FBQ0FDO0lBQ0Y7SUFFQUcsSUFBQUEsNEJBQWlCLEVBQUNSLFlBQVksQ0FBQ1M7UUFDN0IsTUFBTSxFQUFFSixXQUFXLEVBQUUsR0FBR1o7UUFFeEIsT0FBT0EsUUFBUUcsSUFBSTtRQUNuQixPQUFPSCxRQUFRSSxTQUFTO1FBQ3hCLE9BQU9KLFFBQVFXLFFBQVE7UUFDdkIsT0FBT1gsUUFBUVksV0FBVztRQUUxQlgsU0FBU1c7SUFDWCxHQUFHWjtBQUNMIn0=
@@ -16,30 +16,30 @@ _export(exports, {
16
16
  return synchronousIsFilePathIgnored;
17
17
  }
18
18
  });
19
- var _constants = require("../constants");
20
- var _string = require("../utilities/string");
21
- var _path = require("../utilities/path");
19
+ const _constants = require("../constants");
20
+ const _string = require("../utilities/string");
21
+ const _path = require("../utilities/path");
22
22
  function synchronousIsFilePathIgnored(filePath, context) {
23
- var filePathIgnored = null;
23
+ let filePathIgnored = null;
24
24
  filePath = (0, _path.stripRootDirectoryFromPath)(filePath, context); ///
25
- var ignoredFilePathRules = context.ignoredFilePathRules, permittedFilePathRules = context.permittedFilePathRules, string = filePath; ///
26
- ignoredFilePathRules.some(function(ignoredFilePathRule) {
27
- var matches = ignoredFilePathRule.match(string);
25
+ const { ignoredFilePathRules, permittedFilePathRules } = context, string = filePath; ///
26
+ ignoredFilePathRules.some((ignoredFilePathRule)=>{
27
+ const matches = ignoredFilePathRule.match(string);
28
28
  if (matches) {
29
- var rule = ignoredFilePathRule, ruleString = rule.asString();
29
+ const rule = ignoredFilePathRule, ruleString = rule.asString();
30
30
  Object.assign(context, {
31
- ruleString: ruleString
31
+ ruleString
32
32
  });
33
33
  filePathIgnored = true;
34
34
  return true;
35
35
  }
36
36
  });
37
- permittedFilePathRules.some(function(permittedFilePathRule) {
38
- var matches = permittedFilePathRule.match(string);
37
+ permittedFilePathRules.some((permittedFilePathRule)=>{
38
+ const matches = permittedFilePathRule.match(string);
39
39
  if (matches) {
40
- var rule = permittedFilePathRule, ruleString = rule.asString();
40
+ const rule = permittedFilePathRule, ruleString = rule.asString();
41
41
  Object.assign(context, {
42
- ruleString: ruleString
42
+ ruleString
43
43
  });
44
44
  filePathIgnored = false;
45
45
  return true;
@@ -48,29 +48,29 @@ function synchronousIsFilePathIgnored(filePath, context) {
48
48
  return filePathIgnored;
49
49
  }
50
50
  function synchronousIsDirectoryPathIgnored(directoryPath, context) {
51
- var directoryPathIgnored = null;
51
+ let directoryPathIgnored = null;
52
52
  directoryPath = (0, _path.stripRootDirectoryFromPath)(directoryPath, context); ///
53
53
  if (directoryPath === _constants.EMPTY_STRING) {
54
54
  directoryPathIgnored = false;
55
55
  } else {
56
- var ignoredDirectoryPathRules = context.ignoredDirectoryPathRules, permittedDirectoryPathRules = context.permittedDirectoryPathRules, string = (0, _string.addTrailingForwardSlash)(directoryPath); ///
57
- ignoredDirectoryPathRules.some(function(ignoredDirectoryPathRule) {
58
- var matches = ignoredDirectoryPathRule.match(string);
56
+ const { ignoredDirectoryPathRules, permittedDirectoryPathRules } = context, string = (0, _string.addTrailingForwardSlash)(directoryPath); ///
57
+ ignoredDirectoryPathRules.some((ignoredDirectoryPathRule)=>{
58
+ const matches = ignoredDirectoryPathRule.match(string);
59
59
  if (matches) {
60
- var rule = ignoredDirectoryPathRule, ruleString = rule.asString();
60
+ const rule = ignoredDirectoryPathRule, ruleString = rule.asString();
61
61
  Object.assign(context, {
62
- ruleString: ruleString
62
+ ruleString
63
63
  });
64
64
  directoryPathIgnored = true;
65
65
  return true;
66
66
  }
67
67
  });
68
- permittedDirectoryPathRules.some(function(permittedDirectoryPathRule) {
69
- var matches = permittedDirectoryPathRule.match(string);
68
+ permittedDirectoryPathRules.some((permittedDirectoryPathRule)=>{
69
+ const matches = permittedDirectoryPathRule.match(string);
70
70
  if (matches) {
71
- var rule = permittedDirectoryPathRule, ruleString = rule.asString();
71
+ const rule = permittedDirectoryPathRule, ruleString = rule.asString();
72
72
  Object.assign(context, {
73
- ruleString: ruleString
73
+ ruleString
74
74
  });
75
75
  directoryPathIgnored = false;
76
76
  return true;
@@ -80,4 +80,4 @@ function synchronousIsDirectoryPathIgnored(directoryPath, context) {
80
80
  return directoryPathIgnored;
81
81
  }
82
82
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pc0lnbm9yZWQvc3luY2hyb25vdXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wYXRoXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkKGZpbGVQYXRoLCBjb250ZXh0KSB7XG4gIGxldCBmaWxlUGF0aElnbm9yZWQgPSBudWxsO1xuXG4gIGZpbGVQYXRoID0gc3RyaXBSb290RGlyZWN0b3J5RnJvbVBhdGgoZmlsZVBhdGgsIGNvbnRleHQpOyAgLy8vXG5cbiAgY29uc3QgeyBpZ25vcmVkRmlsZVBhdGhSdWxlcywgcGVybWl0dGVkRmlsZVBhdGhSdWxlcyB9ID0gY29udGV4dCxcbiAgICAgICAgc3RyaW5nID0gZmlsZVBhdGg7ICAvLy9cblxuICBpZ25vcmVkRmlsZVBhdGhSdWxlcy5zb21lKChpZ25vcmVkRmlsZVBhdGhSdWxlKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGlnbm9yZWRGaWxlUGF0aFJ1bGUubWF0Y2goc3RyaW5nKTtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBjb25zdCBydWxlID0gaWdub3JlZEZpbGVQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICBydWxlU3RyaW5nID0gcnVsZS5hc1N0cmluZygpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgfSk7XG5cbiAgICAgIGZpbGVQYXRoSWdub3JlZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcGVybWl0dGVkRmlsZVBhdGhSdWxlcy5zb21lKChwZXJtaXR0ZWRGaWxlUGF0aFJ1bGUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gcGVybWl0dGVkRmlsZVBhdGhSdWxlLm1hdGNoKHN0cmluZyk7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZSA9IHBlcm1pdHRlZEZpbGVQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICBydWxlU3RyaW5nID0gcnVsZS5hc1N0cmluZygpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgfSk7XG5cbiAgICAgIGZpbGVQYXRoSWdub3JlZCA9IGZhbHNlO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmaWxlUGF0aElnbm9yZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQoZGlyZWN0b3J5UGF0aCwgY29udGV4dCkge1xuICBsZXQgZGlyZWN0b3J5UGF0aElnbm9yZWQgPSBudWxsO1xuXG4gIGRpcmVjdG9yeVBhdGggPSBzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aChkaXJlY3RvcnlQYXRoLCBjb250ZXh0KTsgIC8vL1xuXG4gIGlmIChkaXJlY3RvcnlQYXRoID09PSBFTVBUWV9TVFJJTkcpIHtcbiAgICBkaXJlY3RvcnlQYXRoSWdub3JlZCA9IGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHsgaWdub3JlZERpcmVjdG9yeVBhdGhSdWxlcywgcGVybWl0dGVkRGlyZWN0b3J5UGF0aFJ1bGVzIH0gPSBjb250ZXh0LFxuICAgICAgICAgIHN0cmluZyA9IGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoKGRpcmVjdG9yeVBhdGgpOyAgLy8vXG5cbiAgICBpZ25vcmVkRGlyZWN0b3J5UGF0aFJ1bGVzLnNvbWUoKGlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IGlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZS5tYXRjaChzdHJpbmcpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICBjb25zdCBydWxlID0gaWdub3JlZERpcmVjdG9yeVBhdGhSdWxlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZVN0cmluZyA9IHJ1bGUuYXNTdHJpbmcoKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgICBydWxlU3RyaW5nXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRpcmVjdG9yeVBhdGhJZ25vcmVkID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlcy5zb21lKChwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlLm1hdGNoKHN0cmluZyk7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVTdHJpbmcgPSBydWxlLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgICB9KTtcblxuICAgICAgICBkaXJlY3RvcnlQYXRoSWdub3JlZCA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGRpcmVjdG9yeVBhdGhJZ25vcmVkO1xufVxuIl0sIm5hbWVzIjpbInN5bmNocm9ub3VzSXNEaXJlY3RvcnlQYXRoSWdub3JlZCIsInN5bmNocm9ub3VzSXNGaWxlUGF0aElnbm9yZWQiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJmaWxlUGF0aElnbm9yZWQiLCJzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aCIsImlnbm9yZWRGaWxlUGF0aFJ1bGVzIiwicGVybWl0dGVkRmlsZVBhdGhSdWxlcyIsInN0cmluZyIsInNvbWUiLCJpZ25vcmVkRmlsZVBhdGhSdWxlIiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZSIsInJ1bGVTdHJpbmciLCJhc1N0cmluZyIsIk9iamVjdCIsImFzc2lnbiIsInBlcm1pdHRlZEZpbGVQYXRoUnVsZSIsImRpcmVjdG9yeVBhdGgiLCJkaXJlY3RvcnlQYXRoSWdub3JlZCIsIkVNUFRZX1NUUklORyIsImlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZXMiLCJwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZXMiLCJhZGRUcmFpbGluZ0ZvcndhcmRTbGFzaCIsImlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZSIsInBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFtRGdCQTtlQUFBQTs7UUE3Q0FDO2VBQUFBOzs7eUJBSmE7c0JBQ1c7b0JBQ0c7QUFFcEMsU0FBU0EsNkJBQTZCQyxRQUFRLEVBQUVDLE9BQU87SUFDNUQsSUFBSUMsa0JBQWtCO0lBRXRCRixXQUFXRyxJQUFBQSxnQ0FBMEIsRUFBQ0gsVUFBVUMsVUFBVyxHQUFHO0lBRTlELElBQVFHLHVCQUFpREgsUUFBakRHLHNCQUFzQkMseUJBQTJCSixRQUEzQkksd0JBQ3hCQyxTQUFTTixVQUFXLEdBQUc7SUFFN0JJLHFCQUFxQkcsSUFBSSxDQUFDLFNBQUNDO1FBQ3pCLElBQU1DLFVBQVVELG9CQUFvQkUsS0FBSyxDQUFDSjtRQUUxQyxJQUFJRyxTQUFTO1lBQ1gsSUFBTUUsT0FBT0gscUJBQ1BJLGFBQWFELEtBQUtFLFFBQVE7WUFFaENDLE9BQU9DLE1BQU0sQ0FBQ2QsU0FBUztnQkFDckJXLFlBQUFBO1lBQ0Y7WUFFQVYsa0JBQWtCO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUFHLHVCQUF1QkUsSUFBSSxDQUFDLFNBQUNTO1FBQzNCLElBQU1QLFVBQVVPLHNCQUFzQk4sS0FBSyxDQUFDSjtRQUU1QyxJQUFJRyxTQUFTO1lBQ1gsSUFBTUUsT0FBT0ssdUJBQ1BKLGFBQWFELEtBQUtFLFFBQVE7WUFFaENDLE9BQU9DLE1BQU0sQ0FBQ2QsU0FBUztnQkFDckJXLFlBQUFBO1lBQ0Y7WUFFQVYsa0JBQWtCO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNKLGtDQUFrQ21CLGFBQWEsRUFBRWhCLE9BQU87SUFDdEUsSUFBSWlCLHVCQUF1QjtJQUUzQkQsZ0JBQWdCZCxJQUFBQSxnQ0FBMEIsRUFBQ2MsZUFBZWhCLFVBQVcsR0FBRztJQUV4RSxJQUFJZ0Isa0JBQWtCRSx1QkFBWSxFQUFFO1FBQ2xDRCx1QkFBdUI7SUFDekIsT0FBTztRQUNMLElBQVFFLDRCQUEyRG5CLFFBQTNEbUIsMkJBQTJCQyw4QkFBZ0NwQixRQUFoQ29CLDZCQUM3QmYsU0FBU2dCLElBQUFBLCtCQUF1QixFQUFDTCxnQkFBaUIsR0FBRztRQUUzREcsMEJBQTBCYixJQUFJLENBQUMsU0FBQ2dCO1lBQzlCLElBQU1kLFVBQVVjLHlCQUF5QmIsS0FBSyxDQUFDSjtZQUUvQyxJQUFJRyxTQUFTO2dCQUNYLElBQU1FLE9BQU9ZLDBCQUNQWCxhQUFhRCxLQUFLRSxRQUFRO2dCQUVoQ0MsT0FBT0MsTUFBTSxDQUFDZCxTQUFTO29CQUNyQlcsWUFBQUE7Z0JBQ0Y7Z0JBRUFNLHVCQUF1QjtnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7UUFFQUcsNEJBQTRCZCxJQUFJLENBQUMsU0FBQ2lCO1lBQ2hDLElBQU1mLFVBQVVlLDJCQUEyQmQsS0FBSyxDQUFDSjtZQUVqRCxJQUFJRyxTQUFTO2dCQUNYLElBQU1FLE9BQU9hLDRCQUNQWixhQUFhRCxLQUFLRSxRQUFRO2dCQUVoQ0MsT0FBT0MsTUFBTSxDQUFDZCxTQUFTO29CQUNyQlcsWUFBQUE7Z0JBQ0Y7Z0JBRUFNLHVCQUF1QjtnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pc0lnbm9yZWQvc3luY2hyb25vdXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHN0cmlwUm9vdERpcmVjdG9yeUZyb21QYXRoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wYXRoXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkKGZpbGVQYXRoLCBjb250ZXh0KSB7XG4gIGxldCBmaWxlUGF0aElnbm9yZWQgPSBudWxsO1xuXG4gIGZpbGVQYXRoID0gc3RyaXBSb290RGlyZWN0b3J5RnJvbVBhdGgoZmlsZVBhdGgsIGNvbnRleHQpOyAgLy8vXG5cbiAgY29uc3QgeyBpZ25vcmVkRmlsZVBhdGhSdWxlcywgcGVybWl0dGVkRmlsZVBhdGhSdWxlcyB9ID0gY29udGV4dCxcbiAgICAgICAgc3RyaW5nID0gZmlsZVBhdGg7ICAvLy9cblxuICBpZ25vcmVkRmlsZVBhdGhSdWxlcy5zb21lKChpZ25vcmVkRmlsZVBhdGhSdWxlKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGlnbm9yZWRGaWxlUGF0aFJ1bGUubWF0Y2goc3RyaW5nKTtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBjb25zdCBydWxlID0gaWdub3JlZEZpbGVQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICBydWxlU3RyaW5nID0gcnVsZS5hc1N0cmluZygpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgfSk7XG5cbiAgICAgIGZpbGVQYXRoSWdub3JlZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcGVybWl0dGVkRmlsZVBhdGhSdWxlcy5zb21lKChwZXJtaXR0ZWRGaWxlUGF0aFJ1bGUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gcGVybWl0dGVkRmlsZVBhdGhSdWxlLm1hdGNoKHN0cmluZyk7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZSA9IHBlcm1pdHRlZEZpbGVQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICBydWxlU3RyaW5nID0gcnVsZS5hc1N0cmluZygpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgfSk7XG5cbiAgICAgIGZpbGVQYXRoSWdub3JlZCA9IGZhbHNlO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmaWxlUGF0aElnbm9yZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQoZGlyZWN0b3J5UGF0aCwgY29udGV4dCkge1xuICBsZXQgZGlyZWN0b3J5UGF0aElnbm9yZWQgPSBudWxsO1xuXG4gIGRpcmVjdG9yeVBhdGggPSBzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aChkaXJlY3RvcnlQYXRoLCBjb250ZXh0KTsgIC8vL1xuXG4gIGlmIChkaXJlY3RvcnlQYXRoID09PSBFTVBUWV9TVFJJTkcpIHtcbiAgICBkaXJlY3RvcnlQYXRoSWdub3JlZCA9IGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHsgaWdub3JlZERpcmVjdG9yeVBhdGhSdWxlcywgcGVybWl0dGVkRGlyZWN0b3J5UGF0aFJ1bGVzIH0gPSBjb250ZXh0LFxuICAgICAgICAgIHN0cmluZyA9IGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoKGRpcmVjdG9yeVBhdGgpOyAgLy8vXG5cbiAgICBpZ25vcmVkRGlyZWN0b3J5UGF0aFJ1bGVzLnNvbWUoKGlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IGlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZS5tYXRjaChzdHJpbmcpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICBjb25zdCBydWxlID0gaWdub3JlZERpcmVjdG9yeVBhdGhSdWxlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZVN0cmluZyA9IHJ1bGUuYXNTdHJpbmcoKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgICBydWxlU3RyaW5nXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRpcmVjdG9yeVBhdGhJZ25vcmVkID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlcy5zb21lKChwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlLm1hdGNoKHN0cmluZyk7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVTdHJpbmcgPSBydWxlLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICAgICAgcnVsZVN0cmluZ1xuICAgICAgICB9KTtcblxuICAgICAgICBkaXJlY3RvcnlQYXRoSWdub3JlZCA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGRpcmVjdG9yeVBhdGhJZ25vcmVkO1xufVxuIl0sIm5hbWVzIjpbInN5bmNocm9ub3VzSXNEaXJlY3RvcnlQYXRoSWdub3JlZCIsInN5bmNocm9ub3VzSXNGaWxlUGF0aElnbm9yZWQiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJmaWxlUGF0aElnbm9yZWQiLCJzdHJpcFJvb3REaXJlY3RvcnlGcm9tUGF0aCIsImlnbm9yZWRGaWxlUGF0aFJ1bGVzIiwicGVybWl0dGVkRmlsZVBhdGhSdWxlcyIsInN0cmluZyIsInNvbWUiLCJpZ25vcmVkRmlsZVBhdGhSdWxlIiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZSIsInJ1bGVTdHJpbmciLCJhc1N0cmluZyIsIk9iamVjdCIsImFzc2lnbiIsInBlcm1pdHRlZEZpbGVQYXRoUnVsZSIsImRpcmVjdG9yeVBhdGgiLCJkaXJlY3RvcnlQYXRoSWdub3JlZCIsIkVNUFRZX1NUUklORyIsImlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZXMiLCJwZXJtaXR0ZWREaXJlY3RvcnlQYXRoUnVsZXMiLCJhZGRUcmFpbGluZ0ZvcndhcmRTbGFzaCIsImlnbm9yZWREaXJlY3RvcnlQYXRoUnVsZSIsInBlcm1pdHRlZERpcmVjdG9yeVBhdGhSdWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFtRGdCQTtlQUFBQTs7UUE3Q0FDO2VBQUFBOzs7MkJBSmE7d0JBQ1c7c0JBQ0c7QUFFcEMsU0FBU0EsNkJBQTZCQyxRQUFRLEVBQUVDLE9BQU87SUFDNUQsSUFBSUMsa0JBQWtCO0lBRXRCRixXQUFXRyxJQUFBQSxnQ0FBMEIsRUFBQ0gsVUFBVUMsVUFBVyxHQUFHO0lBRTlELE1BQU0sRUFBRUcsb0JBQW9CLEVBQUVDLHNCQUFzQixFQUFFLEdBQUdKLFNBQ25ESyxTQUFTTixVQUFXLEdBQUc7SUFFN0JJLHFCQUFxQkcsSUFBSSxDQUFDLENBQUNDO1FBQ3pCLE1BQU1DLFVBQVVELG9CQUFvQkUsS0FBSyxDQUFDSjtRQUUxQyxJQUFJRyxTQUFTO1lBQ1gsTUFBTUUsT0FBT0gscUJBQ1BJLGFBQWFELEtBQUtFLFFBQVE7WUFFaENDLE9BQU9DLE1BQU0sQ0FBQ2QsU0FBUztnQkFDckJXO1lBQ0Y7WUFFQVYsa0JBQWtCO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUFHLHVCQUF1QkUsSUFBSSxDQUFDLENBQUNTO1FBQzNCLE1BQU1QLFVBQVVPLHNCQUFzQk4sS0FBSyxDQUFDSjtRQUU1QyxJQUFJRyxTQUFTO1lBQ1gsTUFBTUUsT0FBT0ssdUJBQ1BKLGFBQWFELEtBQUtFLFFBQVE7WUFFaENDLE9BQU9DLE1BQU0sQ0FBQ2QsU0FBUztnQkFDckJXO1lBQ0Y7WUFFQVYsa0JBQWtCO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNKLGtDQUFrQ21CLGFBQWEsRUFBRWhCLE9BQU87SUFDdEUsSUFBSWlCLHVCQUF1QjtJQUUzQkQsZ0JBQWdCZCxJQUFBQSxnQ0FBMEIsRUFBQ2MsZUFBZWhCLFVBQVcsR0FBRztJQUV4RSxJQUFJZ0Isa0JBQWtCRSx1QkFBWSxFQUFFO1FBQ2xDRCx1QkFBdUI7SUFDekIsT0FBTztRQUNMLE1BQU0sRUFBRUUseUJBQXlCLEVBQUVDLDJCQUEyQixFQUFFLEdBQUdwQixTQUM3REssU0FBU2dCLElBQUFBLCtCQUF1QixFQUFDTCxnQkFBaUIsR0FBRztRQUUzREcsMEJBQTBCYixJQUFJLENBQUMsQ0FBQ2dCO1lBQzlCLE1BQU1kLFVBQVVjLHlCQUF5QmIsS0FBSyxDQUFDSjtZQUUvQyxJQUFJRyxTQUFTO2dCQUNYLE1BQU1FLE9BQU9ZLDBCQUNQWCxhQUFhRCxLQUFLRSxRQUFRO2dCQUVoQ0MsT0FBT0MsTUFBTSxDQUFDZCxTQUFTO29CQUNyQlc7Z0JBQ0Y7Z0JBRUFNLHVCQUF1QjtnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7UUFFQUcsNEJBQTRCZCxJQUFJLENBQUMsQ0FBQ2lCO1lBQ2hDLE1BQU1mLFVBQVVlLDJCQUEyQmQsS0FBSyxDQUFDSjtZQUVqRCxJQUFJRyxTQUFTO2dCQUNYLE1BQU1FLE9BQU9hLDRCQUNQWixhQUFhRCxLQUFLRSxRQUFRO2dCQUVoQ0MsT0FBT0MsTUFBTSxDQUFDZCxTQUFTO29CQUNyQlc7Z0JBQ0Y7Z0JBRUFNLHVCQUF1QjtnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
package/lib/line.js CHANGED
@@ -8,189 +8,114 @@ Object.defineProperty(exports, "default", {
8
8
  return Line;
9
9
  }
10
10
  });
11
- var _necessary = require("necessary");
12
- var _log = require("./utilities/log");
13
- var _constants = require("./constants");
14
- function _class_call_check(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
11
+ const _necessary = require("necessary");
12
+ const _log = require("./utilities/log");
13
+ const _constants = require("./constants");
14
+ const { backwardsForEach } = _necessary.arrayUtilities;
15
+ class Line {
16
+ constructor(index, content, filePath, occurrences){
17
+ this.index = index;
18
+ this.content = content;
19
+ this.filePath = filePath;
20
+ this.occurences = occurrences;
17
21
  }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
22
+ getIndex() {
23
+ return this.index;
26
24
  }
27
- }
28
- function _create_class(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- var backwardsForEach = _necessary.arrayUtilities.backwardsForEach;
34
- var Line = /*#__PURE__*/ function() {
35
- function Line(index, content, filePath, occurrences) {
36
- _class_call_check(this, Line);
25
+ getContent() {
26
+ return this.content;
27
+ }
28
+ getFilePath() {
29
+ return this.filePath;
30
+ }
31
+ getOccurrences() {
32
+ return this.occurences;
33
+ }
34
+ setIndex(index) {
37
35
  this.index = index;
36
+ }
37
+ setContent(content) {
38
38
  this.content = content;
39
+ }
40
+ setFilePath(filePath) {
39
41
  this.filePath = filePath;
40
- this.occurences = occurrences;
41
42
  }
42
- _create_class(Line, [
43
- {
44
- key: "getIndex",
45
- value: function getIndex() {
46
- return this.index;
47
- }
48
- },
49
- {
50
- key: "getContent",
51
- value: function getContent() {
52
- return this.content;
53
- }
54
- },
55
- {
56
- key: "getFilePath",
57
- value: function getFilePath() {
58
- return this.filePath;
59
- }
60
- },
61
- {
62
- key: "getOccurrences",
63
- value: function getOccurrences() {
64
- return this.occurences;
65
- }
66
- },
67
- {
68
- key: "setIndex",
69
- value: function setIndex(index) {
70
- this.index = index;
71
- }
72
- },
73
- {
74
- key: "setContent",
75
- value: function setContent(content) {
76
- this.content = content;
77
- }
78
- },
79
- {
80
- key: "setFilePath",
81
- value: function setFilePath(filePath) {
82
- this.filePath = filePath;
83
- }
84
- },
85
- {
86
- key: "setOccurrences",
87
- value: function setOccurrences(occurrences) {
88
- this.occurrences = occurrences;
89
- }
90
- },
91
- {
92
- key: "getIndexLength",
93
- value: function getIndexLength() {
94
- var indexLength = this.index.length;
95
- return indexLength;
96
- }
97
- },
98
- {
99
- key: "getFilePathLength",
100
- value: function getFilePathLength() {
101
- var filePathLength = this.filePath.length;
102
- return filePathLength;
103
- }
104
- },
105
- {
106
- key: "addOccurrences",
107
- value: function addOccurrences(occurrences) {}
108
- },
109
- {
110
- key: "getFormattedIndex",
111
- value: function getFormattedIndex(requiredIndexLength) {
112
- var index;
113
- var indexLength = this.getIndexLength(), paddingLength = requiredIndexLength - indexLength, padding = paddingFromPaddingLength(paddingLength);
114
- index = "".concat(padding).concat(this.index);
115
- var formattedIndex = (0, _log.yellow)(index);
116
- return formattedIndex;
117
- }
118
- },
119
- {
120
- key: "getFormattedContent",
121
- value: function getFormattedContent() {
122
- var gaps = [], matches = [];
123
- var end, start, string = this.content; ///
124
- backwardsForEach(this.occurrences, function(occurrence) {
125
- end = occurrence.getEnd();
126
- start = end; ///
127
- end = Infinity;
128
- var gap = string.substring(start, end);
129
- gaps.unshift(gap);
130
- end = occurrence.getEnd();
131
- start = 0;
132
- string = string.substring(start, end);
133
- start = occurrence.getStart();
134
- end = Infinity;
135
- var match = string.substring(start, end);
136
- matches.unshift(match);
137
- end = start; ///
138
- start = 0;
139
- string = string.substring(start, end); ///
140
- });
141
- var gap = string; ///
142
- gap = (0, _log.grey)(gap); ///
143
- string = gap; ///
144
- gaps.forEach(function(gap, index) {
145
- var match = matches[index];
146
- gap = (0, _log.grey)(gap); ///
147
- match = (0, _log.blue)(match); ///
148
- string = "".concat(string).concat(match).concat(gap);
149
- });
150
- var formattedContent = string; ///
151
- return formattedContent;
152
- }
153
- },
154
- {
155
- key: "getFormattedFilePath",
156
- value: function getFormattedFilePath(requiredFilePathLength) {
157
- var filePathLength = this.getFilePathLength(), paddingLength = requiredFilePathLength - filePathLength, padding = paddingFromPaddingLength(paddingLength), formattedFilePath = "".concat(this.filePath).concat(padding);
158
- return formattedFilePath;
159
- }
160
- },
161
- {
162
- key: "asMessage",
163
- value: function asMessage() {
164
- var message = "".concat(this.filePath, " ").concat(this.index, " | ").concat(this.content);
165
- return message;
166
- }
167
- },
168
- {
169
- key: "asFormattedMessage",
170
- value: function asFormattedMessage(requiredIndexLength, requiredFilePathLength) {
171
- var formattedIndex = this.getFormattedIndex(requiredIndexLength), formattedContent = this.getFormattedContent(), formattedFilePath = this.getFormattedFilePath(requiredFilePathLength), message = "".concat(formattedFilePath, " ").concat(formattedIndex, " | ").concat(formattedContent);
172
- return message;
173
- }
174
- }
175
- ], [
176
- {
177
- key: "fromIndexContentAndFilePath",
178
- value: function fromIndexContentAndFilePath(index, content, filePath) {
179
- index = "".concat(index); ///
180
- content = content.replace(/(\r\n|\r|\n)$/, _constants.EMPTY_STRING); ///
181
- var occurrences = [], line = new Line(index, content, filePath, occurrences);
182
- return line;
183
- }
184
- }
185
- ]);
186
- return Line;
187
- }();
43
+ setOccurrences(occurrences) {
44
+ this.occurrences = occurrences;
45
+ }
46
+ getIndexLength() {
47
+ const indexLength = this.index.length;
48
+ return indexLength;
49
+ }
50
+ getFilePathLength() {
51
+ const filePathLength = this.filePath.length;
52
+ return filePathLength;
53
+ }
54
+ addOccurrences(occurrences) {}
55
+ getFormattedIndex(requiredIndexLength) {
56
+ let index;
57
+ const indexLength = this.getIndexLength(), paddingLength = requiredIndexLength - indexLength, padding = paddingFromPaddingLength(paddingLength);
58
+ index = `${padding}${this.index}`;
59
+ const formattedIndex = (0, _log.yellow)(index);
60
+ return formattedIndex;
61
+ }
62
+ getFormattedContent() {
63
+ const gaps = [], matches = [];
64
+ let end, start, string = this.content; ///
65
+ backwardsForEach(this.occurrences, (occurrence)=>{
66
+ end = occurrence.getEnd();
67
+ start = end; ///
68
+ end = Infinity;
69
+ const gap = string.substring(start, end);
70
+ gaps.unshift(gap);
71
+ end = occurrence.getEnd();
72
+ start = 0;
73
+ string = string.substring(start, end);
74
+ start = occurrence.getStart();
75
+ end = Infinity;
76
+ const match = string.substring(start, end);
77
+ matches.unshift(match);
78
+ end = start; ///
79
+ start = 0;
80
+ string = string.substring(start, end); ///
81
+ });
82
+ let gap = string; ///
83
+ gap = (0, _log.grey)(gap); ///
84
+ string = gap; ///
85
+ gaps.forEach((gap, index)=>{
86
+ let match = matches[index];
87
+ gap = (0, _log.grey)(gap); ///
88
+ match = (0, _log.blue)(match); ///
89
+ string = `${string}${match}${gap}`;
90
+ });
91
+ const formattedContent = string; ///
92
+ return formattedContent;
93
+ }
94
+ getFormattedFilePath(requiredFilePathLength) {
95
+ const filePathLength = this.getFilePathLength(), paddingLength = requiredFilePathLength - filePathLength, padding = paddingFromPaddingLength(paddingLength), formattedFilePath = `${this.filePath}${padding}`;
96
+ return formattedFilePath;
97
+ }
98
+ asMessage() {
99
+ const message = `${this.filePath} ${this.index} | ${this.content}`;
100
+ return message;
101
+ }
102
+ asFormattedMessage(requiredIndexLength, requiredFilePathLength) {
103
+ const formattedIndex = this.getFormattedIndex(requiredIndexLength), formattedContent = this.getFormattedContent(), formattedFilePath = this.getFormattedFilePath(requiredFilePathLength), message = `${formattedFilePath} ${formattedIndex} | ${formattedContent}`;
104
+ return message;
105
+ }
106
+ static fromIndexContentAndFilePath(index, content, filePath) {
107
+ index = `${index}`; ///
108
+ content = content.replace(/(\r\n|\r|\n)$/, _constants.EMPTY_STRING); ///
109
+ const occurrences = [], line = new Line(index, content, filePath, occurrences);
110
+ return line;
111
+ }
112
+ }
188
113
  function paddingFromPaddingLength(paddingLength) {
189
- var padding = _constants.EMPTY_STRING;
190
- for(var count = 0; count < paddingLength; count++){
114
+ let padding = _constants.EMPTY_STRING;
115
+ for(let count = 0; count < paddingLength; count++){
191
116
  padding += _constants.SINGLE_SPACE;
192
117
  }
193
118
  return padding;
194
119
  }
195
120
 
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZ3JleSwgYmx1ZSwgeWVsbG93IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2xvZ1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGluZSB7XG4gIGNvbnN0cnVjdG9yKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCwgb2NjdXJyZW5jZXMpIHtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5vY2N1cmVuY2VzID0gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBnZXRJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleDtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcbiAgfVxuXG4gIGdldEZpbGVQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVQYXRoO1xuICB9XG5cbiAgZ2V0T2NjdXJyZW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NjdXJlbmNlcztcbiAgfVxuXG4gIHNldEluZGV4KGluZGV4KSB7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgc2V0Q29udGVudChjb250ZW50KSB7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgfVxuXG4gIHNldEZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICB9XG5cbiAgc2V0T2NjdXJyZW5jZXMob2NjdXJyZW5jZXMpIHtcbiAgICB0aGlzLm9jY3VycmVuY2VzID0gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBnZXRJbmRleExlbmd0aCgpIHtcbiAgICBjb25zdCBpbmRleExlbmd0aCA9IHRoaXMuaW5kZXgubGVuZ3RoO1xuXG4gICAgcmV0dXJuIGluZGV4TGVuZ3RoO1xuICB9XG5cbiAgZ2V0RmlsZVBhdGhMZW5ndGgoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhMZW5ndGggPSB0aGlzLmZpbGVQYXRoLmxlbmd0aDtcblxuICAgIHJldHVybiBmaWxlUGF0aExlbmd0aDtcbiAgfVxuXG4gIGFkZE9jY3VycmVuY2VzKG9jY3VycmVuY2VzKSB7XG5cbiAgfVxuXG4gIGdldEZvcm1hdHRlZEluZGV4KHJlcXVpcmVkSW5kZXhMZW5ndGgpIHtcbiAgICBsZXQgaW5kZXg7XG5cbiAgICBjb25zdCBpbmRleExlbmd0aCA9IHRoaXMuZ2V0SW5kZXhMZW5ndGgoKSxcbiAgICAgICAgICBwYWRkaW5nTGVuZ3RoID0gcmVxdWlyZWRJbmRleExlbmd0aCAtIGluZGV4TGVuZ3RoLFxuICAgICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgocGFkZGluZ0xlbmd0aCk7XG5cbiAgICBpbmRleCA9IGAke3BhZGRpbmd9JHt0aGlzLmluZGV4fWA7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWRJbmRleCA9IHllbGxvdyhpbmRleCk7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkSW5kZXg7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRDb250ZW50KCkge1xuICAgIGNvbnN0IGdhcHMgPSBbXSxcbiAgICAgICAgICBtYXRjaGVzID0gW107XG5cbiAgICBsZXQgZW5kLFxuICAgICAgICBzdGFydCxcbiAgICAgICAgc3RyaW5nID0gdGhpcy5jb250ZW50OyAgLy8vXG5cbiAgICBiYWNrd2FyZHNGb3JFYWNoKHRoaXMub2NjdXJyZW5jZXMsIChvY2N1cnJlbmNlKSA9PiB7XG4gICAgICBlbmQgPSBvY2N1cnJlbmNlLmdldEVuZCgpO1xuXG4gICAgICBzdGFydCA9IGVuZDsgIC8vL1xuXG4gICAgICBlbmQgPSBJbmZpbml0eTtcblxuICAgICAgY29uc3QgZ2FwID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcblxuICAgICAgZ2Fwcy51bnNoaWZ0KGdhcCk7XG5cbiAgICAgIGVuZCA9IG9jY3VycmVuY2UuZ2V0RW5kKCk7XG5cbiAgICAgIHN0YXJ0ID0gMDtcblxuICAgICAgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcblxuICAgICAgc3RhcnQgPSBvY2N1cnJlbmNlLmdldFN0YXJ0KCk7XG5cbiAgICAgIGVuZCA9IEluZmluaXR5O1xuXG4gICAgICBjb25zdCBtYXRjaCA9IHN0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7XG5cbiAgICAgIG1hdGNoZXMudW5zaGlmdChtYXRjaCk7XG5cbiAgICAgIGVuZCA9IHN0YXJ0OyAgLy8vXG5cbiAgICAgIHN0YXJ0ID0gMDtcblxuICAgICAgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTsgIC8vL1xuICAgIH0pO1xuXG4gICAgbGV0IGdhcCA9IHN0cmluZzsgLy8vXG5cbiAgICBnYXAgPSBncmV5KGdhcCk7ICAvLy9cblxuICAgIHN0cmluZyA9IGdhcDsgLy8vXG5cbiAgICBnYXBzLmZvckVhY2goKGdhcCwgaW5kZXgpID0+IHtcbiAgICAgIGxldCBtYXRjaCA9IG1hdGNoZXNbaW5kZXhdO1xuXG4gICAgICBnYXAgPSBncmV5KGdhcCk7ICAvLy9cblxuICAgICAgbWF0Y2ggPSBibHVlKG1hdGNoKTsgIC8vL1xuXG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHttYXRjaH0ke2dhcH1gO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkQ29udGVudCA9IHN0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIGZvcm1hdHRlZENvbnRlbnQ7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRGaWxlUGF0aChyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhMZW5ndGggPSB0aGlzLmdldEZpbGVQYXRoTGVuZ3RoKCksXG4gICAgICAgICAgcGFkZGluZ0xlbmd0aCA9IHJlcXVpcmVkRmlsZVBhdGhMZW5ndGggLSBmaWxlUGF0aExlbmd0aCxcbiAgICAgICAgICBwYWRkaW5nID0gcGFkZGluZ0Zyb21QYWRkaW5nTGVuZ3RoKHBhZGRpbmdMZW5ndGgpLFxuICAgICAgICAgIGZvcm1hdHRlZEZpbGVQYXRoID0gIGAke3RoaXMuZmlsZVBhdGh9JHtwYWRkaW5nfWA7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkRmlsZVBhdGg7XG4gIH1cblxuICBhc01lc3NhZ2UoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGAke3RoaXMuZmlsZVBhdGh9ICAke3RoaXMuaW5kZXh9IHwgJHt0aGlzLmNvbnRlbnR9YDtcblxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG5cbiAgYXNGb3JtYXR0ZWRNZXNzYWdlKHJlcXVpcmVkSW5kZXhMZW5ndGgsIHJlcXVpcmVkRmlsZVBhdGhMZW5ndGgpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWRJbmRleCA9IHRoaXMuZ2V0Rm9ybWF0dGVkSW5kZXgocmVxdWlyZWRJbmRleExlbmd0aCksXG4gICAgICAgICAgZm9ybWF0dGVkQ29udGVudCA9IHRoaXMuZ2V0Rm9ybWF0dGVkQ29udGVudCgpLFxuICAgICAgICAgIGZvcm1hdHRlZEZpbGVQYXRoID0gdGhpcy5nZXRGb3JtYXR0ZWRGaWxlUGF0aChyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoKSxcbiAgICAgICAgICBtZXNzYWdlID0gYCR7Zm9ybWF0dGVkRmlsZVBhdGh9ICAke2Zvcm1hdHRlZEluZGV4fSB8ICR7Zm9ybWF0dGVkQ29udGVudH1gO1xuXG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCkge1xuICAgIGluZGV4ID0gYCR7aW5kZXh9YDsgLy8vXG5cbiAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC8oXFxyXFxufFxccnxcXG4pJC8sIEVNUFRZX1NUUklORyk7IC8vL1xuXG4gICAgY29uc3Qgb2NjdXJyZW5jZXMgPSBbXSxcbiAgICAgICAgICBsaW5lID0gbmV3IExpbmUoaW5kZXgsIGNvbnRlbnQsIGZpbGVQYXRoLCBvY2N1cnJlbmNlcyk7XG5cbiAgICByZXR1cm4gbGluZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgocGFkZGluZ0xlbmd0aCkge1xuICBsZXQgcGFkZGluZyA9IEVNUFRZX1NUUklORztcblxuICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgcGFkZGluZ0xlbmd0aDsgY291bnQrKykge1xuICAgIHBhZGRpbmcgKz0gU0lOR0xFX1NQQUNFO1xuICB9XG5cbiAgcmV0dXJuIHBhZGRpbmc7XG59XG4iXSwibmFtZXMiOlsiTGluZSIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheVV0aWxpdGllcyIsImluZGV4IiwiY29udGVudCIsImZpbGVQYXRoIiwib2NjdXJyZW5jZXMiLCJvY2N1cmVuY2VzIiwiZ2V0SW5kZXgiLCJnZXRDb250ZW50IiwiZ2V0RmlsZVBhdGgiLCJnZXRPY2N1cnJlbmNlcyIsInNldEluZGV4Iiwic2V0Q29udGVudCIsInNldEZpbGVQYXRoIiwic2V0T2NjdXJyZW5jZXMiLCJnZXRJbmRleExlbmd0aCIsImluZGV4TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RmlsZVBhdGhMZW5ndGgiLCJmaWxlUGF0aExlbmd0aCIsImFkZE9jY3VycmVuY2VzIiwiZ2V0Rm9ybWF0dGVkSW5kZXgiLCJyZXF1aXJlZEluZGV4TGVuZ3RoIiwicGFkZGluZ0xlbmd0aCIsInBhZGRpbmciLCJwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgiLCJmb3JtYXR0ZWRJbmRleCIsInllbGxvdyIsImdldEZvcm1hdHRlZENvbnRlbnQiLCJnYXBzIiwibWF0Y2hlcyIsImVuZCIsInN0YXJ0Iiwic3RyaW5nIiwib2NjdXJyZW5jZSIsImdldEVuZCIsIkluZmluaXR5IiwiZ2FwIiwic3Vic3RyaW5nIiwidW5zaGlmdCIsImdldFN0YXJ0IiwibWF0Y2giLCJncmV5IiwiZm9yRWFjaCIsImJsdWUiLCJmb3JtYXR0ZWRDb250ZW50IiwiZ2V0Rm9ybWF0dGVkRmlsZVBhdGgiLCJyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoIiwiZm9ybWF0dGVkRmlsZVBhdGgiLCJhc01lc3NhZ2UiLCJtZXNzYWdlIiwiYXNGb3JtYXR0ZWRNZXNzYWdlIiwiZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsImxpbmUiLCJjb3VudCIsIlNJTkdMRV9TUEFDRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7eUJBUFU7bUJBRUk7eUJBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNDLElBQU0sQUFBRUMsbUJBQXFCQyx5QkFBYyxDQUFuQ0Q7QUFFTyxJQUFBLEFBQU1ELHFCQUFOO2FBQU1BLEtBQ1BHLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVc7Z0NBRDlCTjtRQUVqQixJQUFJLENBQUNHLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDRSxVQUFVLEdBQUdEOztrQkFMRE47O1lBUW5CUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLEtBQUs7WUFDbkI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLE9BQU87WUFDckI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLFFBQVE7WUFDdEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFVBQVU7WUFDeEI7OztZQUVB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
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZ3JleSwgYmx1ZSwgeWVsbG93IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2xvZ1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGluZSB7XG4gIGNvbnN0cnVjdG9yKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCwgb2NjdXJyZW5jZXMpIHtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5vY2N1cmVuY2VzID0gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBnZXRJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleDtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcbiAgfVxuXG4gIGdldEZpbGVQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVQYXRoO1xuICB9XG5cbiAgZ2V0T2NjdXJyZW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NjdXJlbmNlcztcbiAgfVxuXG4gIHNldEluZGV4KGluZGV4KSB7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgc2V0Q29udGVudChjb250ZW50KSB7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgfVxuXG4gIHNldEZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICB9XG5cbiAgc2V0T2NjdXJyZW5jZXMob2NjdXJyZW5jZXMpIHtcbiAgICB0aGlzLm9jY3VycmVuY2VzID0gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBnZXRJbmRleExlbmd0aCgpIHtcbiAgICBjb25zdCBpbmRleExlbmd0aCA9IHRoaXMuaW5kZXgubGVuZ3RoO1xuXG4gICAgcmV0dXJuIGluZGV4TGVuZ3RoO1xuICB9XG5cbiAgZ2V0RmlsZVBhdGhMZW5ndGgoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhMZW5ndGggPSB0aGlzLmZpbGVQYXRoLmxlbmd0aDtcblxuICAgIHJldHVybiBmaWxlUGF0aExlbmd0aDtcbiAgfVxuXG4gIGFkZE9jY3VycmVuY2VzKG9jY3VycmVuY2VzKSB7XG5cbiAgfVxuXG4gIGdldEZvcm1hdHRlZEluZGV4KHJlcXVpcmVkSW5kZXhMZW5ndGgpIHtcbiAgICBsZXQgaW5kZXg7XG5cbiAgICBjb25zdCBpbmRleExlbmd0aCA9IHRoaXMuZ2V0SW5kZXhMZW5ndGgoKSxcbiAgICAgICAgICBwYWRkaW5nTGVuZ3RoID0gcmVxdWlyZWRJbmRleExlbmd0aCAtIGluZGV4TGVuZ3RoLFxuICAgICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgocGFkZGluZ0xlbmd0aCk7XG5cbiAgICBpbmRleCA9IGAke3BhZGRpbmd9JHt0aGlzLmluZGV4fWA7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWRJbmRleCA9IHllbGxvdyhpbmRleCk7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkSW5kZXg7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRDb250ZW50KCkge1xuICAgIGNvbnN0IGdhcHMgPSBbXSxcbiAgICAgICAgICBtYXRjaGVzID0gW107XG5cbiAgICBsZXQgZW5kLFxuICAgICAgICBzdGFydCxcbiAgICAgICAgc3RyaW5nID0gdGhpcy5jb250ZW50OyAgLy8vXG5cbiAgICBiYWNrd2FyZHNGb3JFYWNoKHRoaXMub2NjdXJyZW5jZXMsIChvY2N1cnJlbmNlKSA9PiB7XG4gICAgICBlbmQgPSBvY2N1cnJlbmNlLmdldEVuZCgpO1xuXG4gICAgICBzdGFydCA9IGVuZDsgIC8vL1xuXG4gICAgICBlbmQgPSBJbmZpbml0eTtcblxuICAgICAgY29uc3QgZ2FwID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcblxuICAgICAgZ2Fwcy51bnNoaWZ0KGdhcCk7XG5cbiAgICAgIGVuZCA9IG9jY3VycmVuY2UuZ2V0RW5kKCk7XG5cbiAgICAgIHN0YXJ0ID0gMDtcblxuICAgICAgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcblxuICAgICAgc3RhcnQgPSBvY2N1cnJlbmNlLmdldFN0YXJ0KCk7XG5cbiAgICAgIGVuZCA9IEluZmluaXR5O1xuXG4gICAgICBjb25zdCBtYXRjaCA9IHN0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7XG5cbiAgICAgIG1hdGNoZXMudW5zaGlmdChtYXRjaCk7XG5cbiAgICAgIGVuZCA9IHN0YXJ0OyAgLy8vXG5cbiAgICAgIHN0YXJ0ID0gMDtcblxuICAgICAgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCwgZW5kKTsgIC8vL1xuICAgIH0pO1xuXG4gICAgbGV0IGdhcCA9IHN0cmluZzsgLy8vXG5cbiAgICBnYXAgPSBncmV5KGdhcCk7ICAvLy9cblxuICAgIHN0cmluZyA9IGdhcDsgLy8vXG5cbiAgICBnYXBzLmZvckVhY2goKGdhcCwgaW5kZXgpID0+IHtcbiAgICAgIGxldCBtYXRjaCA9IG1hdGNoZXNbaW5kZXhdO1xuXG4gICAgICBnYXAgPSBncmV5KGdhcCk7ICAvLy9cblxuICAgICAgbWF0Y2ggPSBibHVlKG1hdGNoKTsgIC8vL1xuXG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHttYXRjaH0ke2dhcH1gO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkQ29udGVudCA9IHN0cmluZzsgIC8vL1xuXG4gICAgcmV0dXJuIGZvcm1hdHRlZENvbnRlbnQ7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRGaWxlUGF0aChyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhMZW5ndGggPSB0aGlzLmdldEZpbGVQYXRoTGVuZ3RoKCksXG4gICAgICAgICAgcGFkZGluZ0xlbmd0aCA9IHJlcXVpcmVkRmlsZVBhdGhMZW5ndGggLSBmaWxlUGF0aExlbmd0aCxcbiAgICAgICAgICBwYWRkaW5nID0gcGFkZGluZ0Zyb21QYWRkaW5nTGVuZ3RoKHBhZGRpbmdMZW5ndGgpLFxuICAgICAgICAgIGZvcm1hdHRlZEZpbGVQYXRoID0gIGAke3RoaXMuZmlsZVBhdGh9JHtwYWRkaW5nfWA7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkRmlsZVBhdGg7XG4gIH1cblxuICBhc01lc3NhZ2UoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGAke3RoaXMuZmlsZVBhdGh9ICAke3RoaXMuaW5kZXh9IHwgJHt0aGlzLmNvbnRlbnR9YDtcblxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG5cbiAgYXNGb3JtYXR0ZWRNZXNzYWdlKHJlcXVpcmVkSW5kZXhMZW5ndGgsIHJlcXVpcmVkRmlsZVBhdGhMZW5ndGgpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWRJbmRleCA9IHRoaXMuZ2V0Rm9ybWF0dGVkSW5kZXgocmVxdWlyZWRJbmRleExlbmd0aCksXG4gICAgICAgICAgZm9ybWF0dGVkQ29udGVudCA9IHRoaXMuZ2V0Rm9ybWF0dGVkQ29udGVudCgpLFxuICAgICAgICAgIGZvcm1hdHRlZEZpbGVQYXRoID0gdGhpcy5nZXRGb3JtYXR0ZWRGaWxlUGF0aChyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoKSxcbiAgICAgICAgICBtZXNzYWdlID0gYCR7Zm9ybWF0dGVkRmlsZVBhdGh9ICAke2Zvcm1hdHRlZEluZGV4fSB8ICR7Zm9ybWF0dGVkQ29udGVudH1gO1xuXG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoKGluZGV4LCBjb250ZW50LCBmaWxlUGF0aCkge1xuICAgIGluZGV4ID0gYCR7aW5kZXh9YDsgLy8vXG5cbiAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC8oXFxyXFxufFxccnxcXG4pJC8sIEVNUFRZX1NUUklORyk7IC8vL1xuXG4gICAgY29uc3Qgb2NjdXJyZW5jZXMgPSBbXSxcbiAgICAgICAgICBsaW5lID0gbmV3IExpbmUoaW5kZXgsIGNvbnRlbnQsIGZpbGVQYXRoLCBvY2N1cnJlbmNlcyk7XG5cbiAgICByZXR1cm4gbGluZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgocGFkZGluZ0xlbmd0aCkge1xuICBsZXQgcGFkZGluZyA9IEVNUFRZX1NUUklORztcblxuICBmb3IgKGxldCBjb3VudCA9IDA7IGNvdW50IDwgcGFkZGluZ0xlbmd0aDsgY291bnQrKykge1xuICAgIHBhZGRpbmcgKz0gU0lOR0xFX1NQQUNFO1xuICB9XG5cbiAgcmV0dXJuIHBhZGRpbmc7XG59XG4iXSwibmFtZXMiOlsiTGluZSIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheVV0aWxpdGllcyIsImluZGV4IiwiY29udGVudCIsImZpbGVQYXRoIiwib2NjdXJyZW5jZXMiLCJvY2N1cmVuY2VzIiwiZ2V0SW5kZXgiLCJnZXRDb250ZW50IiwiZ2V0RmlsZVBhdGgiLCJnZXRPY2N1cnJlbmNlcyIsInNldEluZGV4Iiwic2V0Q29udGVudCIsInNldEZpbGVQYXRoIiwic2V0T2NjdXJyZW5jZXMiLCJnZXRJbmRleExlbmd0aCIsImluZGV4TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RmlsZVBhdGhMZW5ndGgiLCJmaWxlUGF0aExlbmd0aCIsImFkZE9jY3VycmVuY2VzIiwiZ2V0Rm9ybWF0dGVkSW5kZXgiLCJyZXF1aXJlZEluZGV4TGVuZ3RoIiwicGFkZGluZ0xlbmd0aCIsInBhZGRpbmciLCJwYWRkaW5nRnJvbVBhZGRpbmdMZW5ndGgiLCJmb3JtYXR0ZWRJbmRleCIsInllbGxvdyIsImdldEZvcm1hdHRlZENvbnRlbnQiLCJnYXBzIiwibWF0Y2hlcyIsImVuZCIsInN0YXJ0Iiwic3RyaW5nIiwib2NjdXJyZW5jZSIsImdldEVuZCIsIkluZmluaXR5IiwiZ2FwIiwic3Vic3RyaW5nIiwidW5zaGlmdCIsImdldFN0YXJ0IiwibWF0Y2giLCJncmV5IiwiZm9yRWFjaCIsImJsdWUiLCJmb3JtYXR0ZWRDb250ZW50IiwiZ2V0Rm9ybWF0dGVkRmlsZVBhdGgiLCJyZXF1aXJlZEZpbGVQYXRoTGVuZ3RoIiwiZm9ybWF0dGVkRmlsZVBhdGgiLCJhc01lc3NhZ2UiLCJtZXNzYWdlIiwiYXNGb3JtYXR0ZWRNZXNzYWdlIiwiZnJvbUluZGV4Q29udGVudEFuZEZpbGVQYXRoIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsImxpbmUiLCJjb3VudCIsIlNJTkdMRV9TUEFDRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFxQkE7OzsyQkFQVTtxQkFFSTsyQkFDUTtBQUUzQyxNQUFNLEVBQUVDLGdCQUFnQixFQUFFLEdBQUdDLHlCQUFjO0FBRTVCLE1BQU1GO0lBQ25CLFlBQVlHLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsQ0FBRTtRQUNqRCxJQUFJLENBQUNILEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDRSxVQUFVLEdBQUdEO0lBQ3BCO0lBRUFFLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0wsS0FBSztJQUNuQjtJQUVBTSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNMLE9BQU87SUFDckI7SUFFQU0sY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDTCxRQUFRO0lBQ3RCO0lBRUFNLGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDSixVQUFVO0lBQ3hCO0lBRUFLLFNBQVNULEtBQUssRUFBRTtRQUNkLElBQUksQ0FBQ0EsS0FBSyxHQUFHQTtJQUNmO0lBRUFVLFdBQVdULE9BQU8sRUFBRTtRQUNsQixJQUFJLENBQUNBLE9BQU8s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