watchful-cli 1.7.57 → 1.7.59

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 (96) hide show
  1. package/.swcrc +11 -0
  2. package/lib/abbreviations.js +32 -0
  3. package/lib/action/batch.js +56 -0
  4. package/lib/action/help.js +15 -0
  5. package/lib/action/incremental.js +54 -0
  6. package/lib/action/version.js +19 -0
  7. package/lib/action.js +19 -0
  8. package/lib/bundleFiles.js +36 -0
  9. package/lib/commands.js +30 -0
  10. package/lib/configure.js +25 -0
  11. package/lib/constants.js +62 -0
  12. package/lib/defaults.js +79 -0
  13. package/lib/events.js +38 -0
  14. package/lib/main.js +59 -0
  15. package/lib/messages.js +118 -0
  16. package/lib/operation/bundleFiles.js +28 -0
  17. package/lib/operation/createBundleFilesFunction.js +29 -0
  18. package/lib/operation/createTranspileFileFunction.js +24 -0
  19. package/lib/operation/initialise.js +125 -0
  20. package/lib/operation/retrieveFilePaths.js +45 -0
  21. package/lib/operation/transpileFiles/mutilpleProcesses.js +51 -0
  22. package/lib/operation/transpileFiles/singleProcess.js +33 -0
  23. package/lib/operation/transpileFiles.js +36 -0
  24. package/lib/options.js +74 -0
  25. package/lib/paths.js +30 -0
  26. package/lib/process/transpileFile.js +26 -0
  27. package/lib/queue.js +93 -0
  28. package/lib/task/bundleFiles.js +115 -0
  29. package/lib/task/deleteDirectory.js +119 -0
  30. package/lib/task/deleteFile.js +119 -0
  31. package/lib/task/transpileFile.js +120 -0
  32. package/lib/task.js +101 -0
  33. package/lib/transpileFile.js +24 -0
  34. package/lib/utilities/bundle.js +106 -0
  35. package/lib/utilities/callback.js +46 -0
  36. package/lib/utilities/fileSystem.js +88 -0
  37. package/lib/utilities/metrics.js +73 -0
  38. package/lib/utilities/option.js +29 -0
  39. package/lib/utilities/path.js +110 -0
  40. package/lib/utilities/transpile.js +103 -0
  41. package/lib/utilities/watch.js +102 -0
  42. package/lib/watch.js +35 -0
  43. package/lib/wrapper/transpileFile.js +107 -0
  44. package/package.json +21 -6
  45. package/{bin → src}/abbreviations.js +18 -19
  46. package/src/action/batch.js +46 -0
  47. package/{bin → src}/action/help.js +1 -3
  48. package/{bin → src}/action/incremental.js +8 -10
  49. package/src/action/version.js +13 -0
  50. package/{bin → src}/action.js +2 -4
  51. package/{bin → src}/bundleFiles.js +2 -4
  52. package/src/commands.js +6 -0
  53. package/{bin → src}/configure.js +3 -5
  54. package/src/constants.js +14 -0
  55. package/src/defaults.js +20 -0
  56. package/src/events.js +8 -0
  57. package/{bin → src}/main.js +23 -25
  58. package/src/messages.js +28 -0
  59. package/{bin → src}/operation/bundleFiles.js +2 -4
  60. package/{bin → src}/operation/createBundleFilesFunction.js +2 -4
  61. package/{bin → src}/operation/createTranspileFileFunction.js +2 -4
  62. package/{bin → src}/operation/initialise.js +18 -20
  63. package/{bin → src}/operation/retrieveFilePaths.js +5 -7
  64. package/{bin → src}/operation/transpileFiles/mutilpleProcesses.js +3 -5
  65. package/{bin → src}/operation/transpileFiles/singleProcess.js +3 -5
  66. package/{bin → src}/operation/transpileFiles.js +5 -7
  67. package/src/options.js +17 -0
  68. package/src/paths.js +6 -0
  69. package/{bin → src}/process/transpileFile.js +4 -4
  70. package/{bin → src}/queue.js +2 -4
  71. package/{bin → src}/task/bundleFiles.js +3 -5
  72. package/{bin → src}/task/deleteDirectory.js +4 -6
  73. package/{bin → src}/task/deleteFile.js +4 -6
  74. package/{bin → src}/task/transpileFile.js +5 -7
  75. package/{bin → src}/task.js +1 -3
  76. package/{bin → src}/transpileFile.js +2 -4
  77. package/{bin → src}/utilities/bundle.js +12 -16
  78. package/{bin → src}/utilities/callback.js +2 -6
  79. package/{bin → src}/utilities/fileSystem.js +11 -17
  80. package/{bin → src}/utilities/metrics.js +6 -15
  81. package/{bin → src}/utilities/option.js +1 -5
  82. package/{bin → src}/utilities/path.js +32 -42
  83. package/{bin → src}/utilities/transpile.js +11 -15
  84. package/{bin → src}/utilities/watch.js +9 -14
  85. package/{bin → src}/watch.js +6 -8
  86. package/{bin → src}/wrapper/transpileFile.js +3 -5
  87. package/watchful.js +3 -3
  88. package/bin/action/batch.js +0 -48
  89. package/bin/action/version.js +0 -15
  90. package/bin/commands.js +0 -13
  91. package/bin/constants.js +0 -33
  92. package/bin/defaults.js +0 -39
  93. package/bin/events.js +0 -17
  94. package/bin/messages.js +0 -57
  95. package/bin/options.js +0 -35
  96. package/bin/paths.js +0 -13
package/lib/task.js ADDED
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Task;
9
+ }
10
+ });
11
+ function _array_like_to_array(arr, len) {
12
+ if (len == null || len > arr.length) len = arr.length;
13
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14
+ return arr2;
15
+ }
16
+ function _array_without_holes(arr) {
17
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
18
+ }
19
+ function _class_call_check(instance, Constructor) {
20
+ if (!(instance instanceof Constructor)) {
21
+ throw new TypeError("Cannot call a class as a function");
22
+ }
23
+ }
24
+ function _defineProperties(target, props) {
25
+ for(var i = 0; i < props.length; i++){
26
+ var descriptor = props[i];
27
+ descriptor.enumerable = descriptor.enumerable || false;
28
+ descriptor.configurable = true;
29
+ if ("value" in descriptor) descriptor.writable = true;
30
+ Object.defineProperty(target, descriptor.key, descriptor);
31
+ }
32
+ }
33
+ function _create_class(Constructor, protoProps, staticProps) {
34
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
35
+ if (staticProps) _defineProperties(Constructor, staticProps);
36
+ return Constructor;
37
+ }
38
+ function _iterable_to_array(iter) {
39
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
40
+ }
41
+ function _non_iterable_spread() {
42
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
43
+ }
44
+ function _to_consumable_array(arr) {
45
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
46
+ }
47
+ function _unsupported_iterable_to_array(o, minLen) {
48
+ if (!o) return;
49
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
50
+ var n = Object.prototype.toString.call(o).slice(8, -1);
51
+ if (n === "Object" && o.constructor) n = o.constructor.name;
52
+ if (n === "Map" || n === "Set") return Array.from(n);
53
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
54
+ }
55
+ var Task = /*#__PURE__*/ function() {
56
+ function Task(method) {
57
+ for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
58
+ remainingArguments[_key - 1] = arguments[_key];
59
+ }
60
+ _class_call_check(this, Task);
61
+ var callback = remainingArguments.pop(); ///
62
+ this.method = method;
63
+ this.callback = callback;
64
+ this.remainingArguments = remainingArguments;
65
+ }
66
+ _create_class(Task, [
67
+ {
68
+ key: "getMethod",
69
+ value: function getMethod() {
70
+ return this.method;
71
+ }
72
+ },
73
+ {
74
+ key: "getCallback",
75
+ value: function getCallback() {
76
+ return this.callback;
77
+ }
78
+ },
79
+ {
80
+ key: "getRemainingArguments",
81
+ value: function getRemainingArguments() {
82
+ return this.remainingArguments;
83
+ }
84
+ },
85
+ {
86
+ key: "execute",
87
+ value: function execute(callback) {
88
+ var _method;
89
+ var method = this.getMethod(), remainingArguments = this.getRemainingArguments();
90
+ (_method = method).call.apply(_method, [
91
+ this
92
+ ].concat(_to_consumable_array(remainingArguments), [
93
+ callback
94
+ ]));
95
+ }
96
+ }
97
+ ]);
98
+ return Task;
99
+ }();
100
+
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUYXNrIHtcbiAgY29uc3RydWN0b3IobWV0aG9kLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjYWxsYmFjayA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTsgIC8vL1xuXG4gICAgdGhpcy5tZXRob2QgPSBtZXRob2Q7XG4gICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIHRoaXMucmVtYWluaW5nQXJndW1lbnRzID0gcmVtYWluaW5nQXJndW1lbnRzO1xuICB9XG5cbiAgZ2V0TWV0aG9kKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZDtcbiAgfVxuXG4gIGdldENhbGxiYWNrKCkge1xuICAgIHJldHVybiB0aGlzLmNhbGxiYWNrO1xuICB9XG5cbiAgZ2V0UmVtYWluaW5nQXJndW1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnJlbWFpbmluZ0FyZ3VtZW50cztcbiAgfVxuXG4gIGV4ZWN1dGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldE1ldGhvZCgpLFxuICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cyA9IHRoaXMuZ2V0UmVtYWluaW5nQXJndW1lbnRzKCk7XG5cbiAgICBtZXRob2QuY2FsbCh0aGlzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNhbGxiYWNrKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlRhc2siLCJtZXRob2QiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJjYWxsYmFjayIsInBvcCIsImdldE1ldGhvZCIsImdldENhbGxiYWNrIiwiZ2V0UmVtYWluaW5nQXJndW1lbnRzIiwiZXhlY3V0ZSIsImNhbGwiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHFCQUFOO2FBQU1BLEtBQ1BDLE1BQU07UUFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7WUFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7Z0NBRHRCRjtRQUVqQixJQUFNRyxXQUFXRCxtQkFBbUJFLEdBQUcsSUFBSyxHQUFHO1FBRS9DLElBQUksQ0FBQ0gsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0UsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNELGtCQUFrQixHQUFHQTs7a0JBTlRGOztZQVNuQkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixNQUFNO1lBQ3BCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxrQkFBa0I7WUFDaEM7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUwsUUFBUTtvQkFJZEY7Z0JBSEEsSUFBTUEsU0FBUyxJQUFJLENBQUNJLFNBQVMsSUFDdkJILHFCQUFxQixJQUFJLENBQUNLLHFCQUFxQjtnQkFFckROLENBQUFBLFVBQUFBLFFBQU9RLElBQUksT0FBWFIsU0FBQUE7b0JBQVksSUFBSTtpQkFBa0MsQ0FBbERBLE9BQWtCLHFCQUFHQyxxQkFBckJEO29CQUF5Q0U7aUJBQVM7WUFDcEQ7OztXQTFCbUJIIn0=
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transpileFile;
9
+ }
10
+ });
11
+ var _path = require("./utilities/path");
12
+ function transpileFile(filePath, context, callback) {
13
+ var transpileFileFunction = context.transpileFileFunction, sourceDirectoryPath = context.sourceDirectoryPath, targetDirectoryPath = context.targetDirectoryPath;
14
+ transpileFileFunction(filePath, sourceDirectoryPath, targetDirectoryPath, function(success) {
15
+ var quietly = context.quietly;
16
+ if (!quietly) {
17
+ var sourceFilePath = (0, _path.combinePaths)(sourceDirectoryPath, filePath);
18
+ console.log("Transpiled '".concat(sourceFilePath, "'."));
19
+ }
20
+ callback(success);
21
+ });
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc3BpbGVGaWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjb21iaW5lUGF0aHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc3BpbGVGaWxlKGZpbGVQYXRoLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHRyYW5zcGlsZUZpbGVGdW5jdGlvbiwgc291cmNlRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCB9ID0gY29udGV4dDtcblxuICB0cmFuc3BpbGVGaWxlRnVuY3Rpb24oZmlsZVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgsIChzdWNjZXNzKSA9PiB7XG4gICAgY29uc3QgeyBxdWlldGx5IH0gPSBjb250ZXh0O1xuXG4gICAgaWYgKCFxdWlldGx5KSB7XG4gICAgICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IGNvbWJpbmVQYXRocyhzb3VyY2VEaXJlY3RvcnlQYXRoLCBmaWxlUGF0aCk7XG5cbiAgICAgIGNvbnNvbGUubG9nKGBUcmFuc3BpbGVkICcke3NvdXJjZUZpbGVQYXRofScuYCk7XG4gICAgfVxuXG4gICAgY2FsbGJhY2soc3VjY2Vzcyk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInRyYW5zcGlsZUZpbGUiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJjYWxsYmFjayIsInRyYW5zcGlsZUZpbGVGdW5jdGlvbiIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlQYXRoIiwic3VjY2VzcyIsInF1aWV0bHkiLCJzb3VyY2VGaWxlUGF0aCIsImNvbWJpbmVQYXRocyIsImNvbnNvbGUiLCJsb2ciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7b0JBRks7QUFFZCxTQUFTQSxjQUFjQyxRQUFRLEVBQUVDLE9BQU8sRUFBRUMsUUFBUTtJQUMvRCxJQUFRQyx3QkFBb0VGLFFBQXBFRSx1QkFBdUJDLHNCQUE2Q0gsUUFBN0NHLHFCQUFxQkMsc0JBQXdCSixRQUF4Qkk7SUFFcERGLHNCQUFzQkgsVUFBVUkscUJBQXFCQyxxQkFBcUIsU0FBQ0M7UUFDekUsSUFBTSxBQUFFQyxVQUFZTixRQUFaTTtRQUVSLElBQUksQ0FBQ0EsU0FBUztZQUNaLElBQU1DLGlCQUFpQkMsSUFBQUEsa0JBQVksRUFBQ0wscUJBQXFCSjtZQUV6RFUsUUFBUUMsR0FBRyxDQUFDLEFBQUMsZUFBNkIsT0FBZkgsZ0JBQWU7UUFDNUM7UUFFQU4sU0FBU0k7SUFDWDtBQUNGIn0=
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createBundleFilesFunction", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createBundleFilesFunction;
9
+ }
10
+ });
11
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
+ var _path1 = require("../utilities/path");
13
+ var _constants = require("../constants");
14
+ var _paths = require("../paths");
15
+ var _fileSystem = require("../utilities/fileSystem");
16
+ var _messages = require("../messages");
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
22
+ function createBundleFilesFunction(context) {
23
+ var bundler = context.bundler, bundleFilesFunction = bundler === _constants.BROWSERIFY ? createBrowserifyBundleFilesFunction(context) : createEsbuildBundleFilesFunction(context);
24
+ return bundleFilesFunction;
25
+ }
26
+ function createEsbuildBundleFilesFunction(context) {
27
+ var esBuildBundleFilesFunction = null;
28
+ try {
29
+ var esbuildPath = _path.default.resolve(_paths.ESBUILD_PATH), esbuild = require(esbuildPath);
30
+ esBuildBundleFilesFunction = function(entryFilePath, bundleFilePath, targetDirectoryPath, callback) {
31
+ var node = context.node, debug = context.debug, release = context.release, bundler = esbuild, targetEntryFilePath = (0, _path1.combinePaths)(targetDirectoryPath, entryFilePath), entryPoint = targetEntryFilePath, entryPoints = [
32
+ entryPoint
33
+ ], outfile = bundleFilePath, bundle = true, minify = release, options = {
34
+ entryPoints: entryPoints,
35
+ outfile: outfile,
36
+ bundle: bundle,
37
+ minify: minify
38
+ };
39
+ if (debug) {
40
+ var sourcemap = _constants.INLINE; ///
41
+ Object.assign(options, {
42
+ sourcemap: sourcemap
43
+ });
44
+ }
45
+ if (node) {
46
+ var platform = _constants.NODE;
47
+ Object.assign(options, {
48
+ platform: platform
49
+ });
50
+ }
51
+ bundler.build(options).then(function() {
52
+ var success = true;
53
+ callback(success);
54
+ }).catch(function(error) {
55
+ var success = false;
56
+ console.log("".concat(_messages.ESBUILD_FAILED_MESSAGE, "\n").concat(error));
57
+ callback(success);
58
+ });
59
+ };
60
+ } catch (error) {
61
+ console.log(_messages.ESBUILD_NOT_INSTALLED_MESSAGE);
62
+ }
63
+ return esBuildBundleFilesFunction;
64
+ }
65
+ function createBrowserifyBundleFilesFunction(context) {
66
+ var browserifyBundleFilesFunction = null;
67
+ try {
68
+ var browserifyPath = _path.default.resolve(_paths.BROWSERIFY_PATH), browserify = require(browserifyPath);
69
+ browserifyBundleFilesFunction = function(entryFilePath, bundleFilePath, targetDirectoryPath, callback) {
70
+ var node = context.node, debug = context.debug, options = {
71
+ debug: debug
72
+ };
73
+ if (node) {
74
+ var bare = true, browserField = false;
75
+ Object.assign(options, {
76
+ bare: bare,
77
+ browserField: browserField
78
+ });
79
+ }
80
+ var bundler = browserify(options), targetEntryFilePath = (0, _path1.combinePaths)(targetDirectoryPath, entryFilePath);
81
+ bundler.add(targetEntryFilePath);
82
+ bundler.bundle(function(error, buffer) {
83
+ if (error) {
84
+ var success = false, message = error.message;
85
+ error = message; ///
86
+ console.log("".concat(_messages.BROWSERIFY_FAILED_MESSAGE, "\n").concat(error));
87
+ callback(success);
88
+ return;
89
+ }
90
+ var success1 = true;
91
+ if (bundleFilePath) {
92
+ (0, _fileSystem.createParentDirectory)(bundleFilePath);
93
+ (0, _fileSystem.writeFileEx)(bundleFilePath, buffer);
94
+ } else {
95
+ process.stdout.write(buffer);
96
+ }
97
+ callback(success1);
98
+ });
99
+ };
100
+ } catch (error) {
101
+ console.log(_messages.BROWSERIFY_NOT_INSTALLED_MESSAGE);
102
+ }
103
+ return browserifyBundleFilesFunction;
104
+ }
105
+
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYnVuZGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBjb21iaW5lUGF0aHMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhdGhcIjtcbmltcG9ydCB7IE5PREUsIElOTElORSwgQlJPV1NFUklGWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQlVJTERfUEFUSCwgQlJPV1NFUklGWV9QQVRIIH0gZnJvbSBcIi4uL3BhdGhzXCI7XG5pbXBvcnQgeyB3cml0ZUZpbGVFeCwgY3JlYXRlUGFyZW50RGlyZWN0b3J5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5pbXBvcnQgeyBFU0JVSUxEX0ZBSUxFRF9NRVNTQUdFLFxuICAgICAgICAgQlJPV1NFUklGWV9GQUlMRURfTUVTU0FHRSxcbiAgICAgICAgIEVTQlVJTERfTk9UX0lOU1RBTExFRF9NRVNTQUdFLFxuICAgICAgICAgQlJPV1NFUklGWV9OT1RfSU5TVEFMTEVEX01FU1NBR0UgfSBmcm9tIFwiLi4vbWVzc2FnZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJ1bmRsZUZpbGVzRnVuY3Rpb24oY29udGV4dCkge1xuICBjb25zdCB7IGJ1bmRsZXIgfSA9IGNvbnRleHQsXG4gICAgICAgIGJ1bmRsZUZpbGVzRnVuY3Rpb24gPSAoYnVuZGxlciA9PT0gQlJPV1NFUklGWSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVCcm93c2VyaWZ5QnVuZGxlRmlsZXNGdW5jdGlvbihjb250ZXh0KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRXNidWlsZEJ1bmRsZUZpbGVzRnVuY3Rpb24oY29udGV4dCk7XG5cbiAgcmV0dXJuIGJ1bmRsZUZpbGVzRnVuY3Rpb247XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVzYnVpbGRCdW5kbGVGaWxlc0Z1bmN0aW9uKGNvbnRleHQpIHtcbiAgbGV0IGVzQnVpbGRCdW5kbGVGaWxlc0Z1bmN0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIGNvbnN0IGVzYnVpbGRQYXRoID0gcGF0aC5yZXNvbHZlKEVTQlVJTERfUEFUSCksXG4gICAgICAgICAgZXNidWlsZCA9IHJlcXVpcmUoZXNidWlsZFBhdGgpO1xuXG4gICAgZXNCdWlsZEJ1bmRsZUZpbGVzRnVuY3Rpb24gPSAoZW50cnlGaWxlUGF0aCwgYnVuZGxlRmlsZVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGUsIGRlYnVnLCByZWxlYXNlIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgYnVuZGxlciA9IGVzYnVpbGQsICAvLy9cbiAgICAgICAgICAgIHRhcmdldEVudHJ5RmlsZVBhdGggPSBjb21iaW5lUGF0aHModGFyZ2V0RGlyZWN0b3J5UGF0aCwgZW50cnlGaWxlUGF0aCksXG4gICAgICAgICAgICBlbnRyeVBvaW50ID0gdGFyZ2V0RW50cnlGaWxlUGF0aCwgLy8vXG4gICAgICAgICAgICBlbnRyeVBvaW50cyA9IFtcbiAgICAgICAgICAgICAgZW50cnlQb2ludFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIG91dGZpbGUgPSBidW5kbGVGaWxlUGF0aCwgLy8vXG4gICAgICAgICAgICBidW5kbGUgPSB0cnVlLFxuICAgICAgICAgICAgbWluaWZ5ID0gcmVsZWFzZSxcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgICAgICAgICBvdXRmaWxlLFxuICAgICAgICAgICAgICBidW5kbGUsXG4gICAgICAgICAgICAgIG1pbmlmeVxuICAgICAgICAgICAgfTtcblxuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZW1hcCA9IElOTElORTsgIC8vL1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24ob3B0aW9ucywge1xuICAgICAgICAgIHNvdXJjZW1hcFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBOT0RFO1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24ob3B0aW9ucywge1xuICAgICAgICAgIHBsYXRmb3JtXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBidW5kbGVyLmJ1aWxkKG9wdGlvbnMpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBzdWNjZXNzID0gdHJ1ZTtcblxuICAgICAgICAgIGNhbGxiYWNrKHN1Y2Nlc3MpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7RVNCVUlMRF9GQUlMRURfTUVTU0FHRX1cbiR7ZXJyb3J9YCk7XG5cbiAgICAgICAgICBjYWxsYmFjayhzdWNjZXNzKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZyhFU0JVSUxEX05PVF9JTlNUQUxMRURfTUVTU0FHRSk7XG4gIH1cblxuICByZXR1cm4gZXNCdWlsZEJ1bmRsZUZpbGVzRnVuY3Rpb247XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJyb3dzZXJpZnlCdW5kbGVGaWxlc0Z1bmN0aW9uKGNvbnRleHQpIHtcbiAgbGV0IGJyb3dzZXJpZnlCdW5kbGVGaWxlc0Z1bmN0aW9uID0gbnVsbDtcblxuICB0cnkge1xuICAgIGNvbnN0IGJyb3dzZXJpZnlQYXRoID0gcGF0aC5yZXNvbHZlKEJST1dTRVJJRllfUEFUSCksXG4gICAgICAgICAgYnJvd3NlcmlmeSA9IHJlcXVpcmUoYnJvd3NlcmlmeVBhdGgpO1xuXG4gICAgYnJvd3NlcmlmeUJ1bmRsZUZpbGVzRnVuY3Rpb24gPSAoZW50cnlGaWxlUGF0aCwgYnVuZGxlRmlsZVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGUsIGRlYnVnIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgZGVidWdcbiAgICAgICAgICAgIH07XG5cbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIGNvbnN0IGJhcmUgPSB0cnVlLFxuICAgICAgICAgICAgICBicm93c2VyRmllbGQgPSBmYWxzZTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKG9wdGlvbnMsIHtcbiAgICAgICAgICBiYXJlLFxuICAgICAgICAgIGJyb3dzZXJGaWVsZFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYnVuZGxlciA9IGJyb3dzZXJpZnkob3B0aW9ucyksXG4gICAgICAgICAgICB0YXJnZXRFbnRyeUZpbGVQYXRoID0gY29tYmluZVBhdGhzKHRhcmdldERpcmVjdG9yeVBhdGgsIGVudHJ5RmlsZVBhdGgpO1xuXG4gICAgICBidW5kbGVyLmFkZCh0YXJnZXRFbnRyeUZpbGVQYXRoKTtcblxuICAgICAgYnVuZGxlci5idW5kbGUoKGVycm9yLCBidWZmZXIpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGZhbHNlLFxuICAgICAgICAgICAgICAgeyBtZXNzYWdlIH0gPSBlcnJvcjtcblxuICAgICAgICAgIGVycm9yID0gbWVzc2FnZTsgIC8vL1xuXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7QlJPV1NFUklGWV9GQUlMRURfTUVTU0FHRX1cbiR7ZXJyb3J9YCk7XG5cbiAgICAgICAgICBjYWxsYmFjayhzdWNjZXNzKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gICAgICAgIGlmIChidW5kbGVGaWxlUGF0aCkge1xuICAgICAgICAgIGNyZWF0ZVBhcmVudERpcmVjdG9yeShidW5kbGVGaWxlUGF0aCk7XG5cbiAgICAgICAgICB3cml0ZUZpbGVFeChidW5kbGVGaWxlUGF0aCwgYnVmZmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShidWZmZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2soc3VjY2Vzcyk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUubG9nKEJST1dTRVJJRllfTk9UX0lOU1RBTExFRF9NRVNTQUdFKTtcbiAgfVxuXG4gIHJldHVybiBicm93c2VyaWZ5QnVuZGxlRmlsZXNGdW5jdGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVCdW5kbGVGaWxlc0Z1bmN0aW9uIiwiY29udGV4dCIsImJ1bmRsZXIiLCJidW5kbGVGaWxlc0Z1bmN0aW9uIiwiQlJPV1NFUklGWSIsImNyZWF0ZUJyb3dzZXJpZnlCdW5kbGVGaWxlc0Z1bmN0aW9uIiwiY3JlYXRlRXNidWlsZEJ1bmRsZUZpbGVzRnVuY3Rpb24iLCJlc0J1aWxkQnVuZGxlRmlsZXNGdW5jdGlvbiIsImVzYnVpbGRQYXRoIiwicGF0aCIsInJlc29sdmUiLCJFU0JVSUxEX1BBVEgiLCJlc2J1aWxkIiwicmVxdWlyZSIsImVudHJ5RmlsZVBhdGgiLCJidW5kbGVGaWxlUGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJjYWxsYmFjayIsIm5vZGUiLCJkZWJ1ZyIsInJlbGVhc2UiLCJ0YXJnZXRFbnRyeUZpbGVQYXRoIiwiY29tYmluZVBhdGhzIiwiZW50cnlQb2ludCIsImVudHJ5UG9pbnRzIiwib3V0ZmlsZSIsImJ1bmRsZSIsIm1pbmlmeSIsIm9wdGlvbnMiLCJzb3VyY2VtYXAiLCJJTkxJTkUiLCJPYmplY3QiLCJhc3NpZ24iLCJwbGF0Zm9ybSIsIk5PREUiLCJidWlsZCIsInRoZW4iLCJzdWNjZXNzIiwiY2F0Y2giLCJlcnJvciIsImNvbnNvbGUiLCJsb2ciLCJFU0JVSUxEX0ZBSUxFRF9NRVNTQUdFIiwiRVNCVUlMRF9OT1RfSU5TVEFMTEVEX01FU1NBR0UiLCJicm93c2VyaWZ5QnVuZGxlRmlsZXNGdW5jdGlvbiIsImJyb3dzZXJpZnlQYXRoIiwiQlJPV1NFUklGWV9QQVRIIiwiYnJvd3NlcmlmeSIsImJhcmUiLCJicm93c2VyRmllbGQiLCJhZGQiLCJidWZmZXIiLCJtZXNzYWdlIiwiQlJPV1NFUklGWV9GQUlMRURfTUVTU0FHRSIsImNyZWF0ZVBhcmVudERpcmVjdG9yeSIsIndyaXRlRmlsZUV4IiwicHJvY2VzcyIsInN0ZG91dCIsIndyaXRlIiwiQlJPV1NFUklGWV9OT1RfSU5TVEFMTEVEX01FU1NBR0UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFnQkE7OztlQUFBQTs7OzJEQVhDO3FCQUVZO3lCQUNZO3FCQUNLOzBCQUNLO3dCQUlGOzs7Ozs7QUFFMUMsU0FBU0EsMEJBQTBCQyxPQUFPO0lBQy9DLElBQU0sQUFBRUMsVUFBWUQsUUFBWkMsU0FDRkMsc0JBQXNCLEFBQUNELFlBQVlFLHFCQUFVLEdBQ3JCQyxvQ0FBb0NKLFdBQ2xDSyxpQ0FBaUNMO0lBRWpFLE9BQU9FO0FBQ1Q7QUFFQSxTQUFTRyxpQ0FBaUNMLE9BQU87SUFDL0MsSUFBSU0sNkJBQTZCO0lBRWpDLElBQUk7UUFDRixJQUFNQyxjQUFjQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0MsbUJBQVksR0FDdkNDLFVBQVVDLFFBQVFMO1FBRXhCRCw2QkFBNkIsU0FBQ08sZUFBZUMsZ0JBQWdCQyxxQkFBcUJDO1lBQ2hGLElBQVFDLE9BQXlCakIsUUFBekJpQixNQUFNQyxRQUFtQmxCLFFBQW5Ca0IsT0FBT0MsVUFBWW5CLFFBQVptQixTQUNmbEIsVUFBVVUsU0FDVlMsc0JBQXNCQyxJQUFBQSxtQkFBWSxFQUFDTixxQkFBcUJGLGdCQUN4RFMsYUFBYUYscUJBQ2JHLGNBQWM7Z0JBQ1pEO2FBQ0QsRUFDREUsVUFBVVYsZ0JBQ1ZXLFNBQVMsTUFDVEMsU0FBU1AsU0FDVFEsVUFBVTtnQkFDUkosYUFBQUE7Z0JBQ0FDLFNBQUFBO2dCQUNBQyxRQUFBQTtnQkFDQUMsUUFBQUE7WUFDRjtZQUVOLElBQUlSLE9BQU87Z0JBQ1QsSUFBTVUsWUFBWUMsaUJBQU0sRUFBRyxHQUFHO2dCQUU5QkMsT0FBT0MsTUFBTSxDQUFDSixTQUFTO29CQUNyQkMsV0FBQUE7Z0JBQ0Y7WUFDRjtZQUVBLElBQUlYLE1BQU07Z0JBQ1IsSUFBTWUsV0FBV0MsZUFBSTtnQkFFckJILE9BQU9DLE1BQU0sQ0FBQ0osU0FBUztvQkFDckJLLFVBQUFBO2dCQUNGO1lBQ0Y7WUFFQS9CLFFBQVFpQyxLQUFLLENBQUNQLFNBQ1hRLElBQUksQ0FBQztnQkFDSixJQUFNQyxVQUFVO2dCQUVoQnBCLFNBQVNvQjtZQUNYLEdBQ0NDLEtBQUssQ0FBQyxTQUFDQztnQkFDTixJQUFNRixVQUFVO2dCQUVoQkcsUUFBUUMsR0FBRyxDQUFDLEFBQUMsR0FDckJGLE9BRHVCRyxnQ0FBc0IsRUFBQyxNQUN4QyxPQUFOSDtnQkFFUXRCLFNBQVNvQjtZQUNYO1FBQ0o7SUFDRixFQUFFLE9BQU9FLE9BQU87UUFDZEMsUUFBUUMsR0FBRyxDQUFDRSx1Q0FBNkI7SUFDM0M7SUFFQSxPQUFPcEM7QUFDVDtBQUVBLFNBQVNGLG9DQUFvQ0osT0FBTztJQUNsRCxJQUFJMkMsZ0NBQWdDO0lBRXBDLElBQUk7UUFDRixJQUFNQyxpQkFBaUJwQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ29DLHNCQUFlLEdBQzdDQyxhQUFhbEMsUUFBUWdDO1FBRTNCRCxnQ0FBZ0MsU0FBQzlCLGVBQWVDLGdCQUFnQkMscUJBQXFCQztZQUNuRixJQUFRQyxPQUFnQmpCLFFBQWhCaUIsTUFBTUMsUUFBVWxCLFFBQVZrQixPQUNSUyxVQUFVO2dCQUNSVCxPQUFBQTtZQUNGO1lBRU4sSUFBSUQsTUFBTTtnQkFDUixJQUFNOEIsT0FBTyxNQUNQQyxlQUFlO2dCQUVyQmxCLE9BQU9DLE1BQU0sQ0FBQ0osU0FBUztvQkFDckJvQixNQUFBQTtvQkFDQUMsY0FBQUE7Z0JBQ0Y7WUFDRjtZQUVBLElBQU0vQyxVQUFVNkMsV0FBV25CLFVBQ3JCUCxzQkFBc0JDLElBQUFBLG1CQUFZLEVBQUNOLHFCQUFxQkY7WUFFOURaLFFBQVFnRCxHQUFHLENBQUM3QjtZQUVabkIsUUFBUXdCLE1BQU0sQ0FBQyxTQUFDYSxPQUFPWTtnQkFDckIsSUFBSVosT0FBTztvQkFDVCxJQUFNRixVQUFVLE9BQ1gsQUFBRWUsVUFBWWIsTUFBWmE7b0JBRVBiLFFBQVFhLFNBQVUsR0FBRztvQkFFckJaLFFBQVFDLEdBQUcsQ0FBQyxBQUFDLEdBQ3JCRixPQUR1QmMsbUNBQXlCLEVBQUMsTUFDM0MsT0FBTmQ7b0JBRVF0QixTQUFTb0I7b0JBRVQ7Z0JBQ0Y7Z0JBRUEsSUFBTUEsV0FBVTtnQkFFaEIsSUFBSXRCLGdCQUFnQjtvQkFDbEJ1QyxJQUFBQSxpQ0FBcUIsRUFBQ3ZDO29CQUV0QndDLElBQUFBLHVCQUFXLEVBQUN4QyxnQkFBZ0JvQztnQkFDOUIsT0FBTztvQkFDTEssUUFBUUMsTUFBTSxDQUFDQyxLQUFLLENBQUNQO2dCQUN2QjtnQkFFQWxDLFNBQVNvQjtZQUNYO1FBQ0Y7SUFDRixFQUFFLE9BQU9FLE9BQU87UUFDZEMsUUFBUUMsR0FBRyxDQUFDa0IsMENBQWdDO0lBQzlDO0lBRUEsT0FBT2Y7QUFDVCJ9
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "executeOperations", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return executeOperations;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var whilst = _necessary.asynchronousUtilities.whilst;
13
+ function executeOperations(operations, callback, context) {
14
+ var completed = true;
15
+ Object.assign(context, {
16
+ operations: operations,
17
+ completed: completed
18
+ });
19
+ whilst(executeOperation, function() {
20
+ var completed = context.completed;
21
+ delete context.operations;
22
+ delete context.completed;
23
+ callback(completed);
24
+ }, context);
25
+ }
26
+ function executeOperation(next, done, context, index) {
27
+ var operations = context.operations, operationsLength = operations.length, lastIndex = operationsLength - 1;
28
+ if (index > lastIndex) {
29
+ done();
30
+ return;
31
+ }
32
+ var operation = operations[index];
33
+ operation(proceed, abort, context);
34
+ function proceed() {
35
+ next();
36
+ }
37
+ function abort() {
38
+ var completed = false;
39
+ Object.assign(context, {
40
+ completed: completed
41
+ });
42
+ done();
43
+ }
44
+ }
45
+
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2FsbGJhY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyB3aGlsc3QgfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVPcGVyYXRpb25zKG9wZXJhdGlvbnMsIGNhbGxiYWNrLCBjb250ZXh0KSB7XG4gIGNvbnN0IGNvbXBsZXRlZCA9IHRydWU7XG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgb3BlcmF0aW9ucyxcbiAgICBjb21wbGV0ZWRcbiAgfSk7XG5cbiAgd2hpbHN0KGV4ZWN1dGVPcGVyYXRpb24sICgpID0+IHtcbiAgICBjb25zdCB7IGNvbXBsZXRlZCB9ID0gY29udGV4dDtcblxuICAgIGRlbGV0ZSBjb250ZXh0Lm9wZXJhdGlvbnM7XG5cbiAgICBkZWxldGUgY29udGV4dC5jb21wbGV0ZWQ7XG5cbiAgICBjYWxsYmFjayhjb21wbGV0ZWQpO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gZXhlY3V0ZU9wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCkge1xuICBjb25zdCB7IG9wZXJhdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIG9wZXJhdGlvbnNMZW5ndGggPSBvcGVyYXRpb25zLmxlbmd0aCxcbiAgICAgICAgbGFzdEluZGV4ID0gb3BlcmF0aW9uc0xlbmd0aCAtIDE7XG5cbiAgaWYgKGluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgZG9uZSgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb3BlcmF0aW9uID0gb3BlcmF0aW9uc1tpbmRleF07XG5cbiAgb3BlcmF0aW9uKHByb2NlZWQsIGFib3J0LCBjb250ZXh0KTtcblxuICBmdW5jdGlvbiBwcm9jZWVkKCkge1xuICAgIG5leHQoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFib3J0KCkge1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IGZhbHNlO1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBjb21wbGV0ZWRcbiAgICB9KTtcblxuICAgIGRvbmUoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVPcGVyYXRpb25zIiwid2hpbHN0IiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwib3BlcmF0aW9ucyIsImNhbGxiYWNrIiwiY29udGV4dCIsImNvbXBsZXRlZCIsIk9iamVjdCIsImFzc2lnbiIsImV4ZWN1dGVPcGVyYXRpb24iLCJuZXh0IiwiZG9uZSIsImluZGV4Iiwib3BlcmF0aW9uc0xlbmd0aCIsImxlbmd0aCIsImxhc3RJbmRleCIsIm9wZXJhdGlvbiIsInByb2NlZWQiLCJhYm9ydCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTWdCQTs7O2VBQUFBOzs7eUJBSnNCO0FBRXRDLElBQU0sQUFBRUMsU0FBV0MsZ0NBQXFCLENBQWhDRDtBQUVELFNBQVNELGtCQUFrQkcsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLE9BQU87SUFDN0QsSUFBTUMsWUFBWTtJQUVsQkMsT0FBT0MsTUFBTSxDQUFDSCxTQUFTO1FBQ3JCRixZQUFBQTtRQUNBRyxXQUFBQTtJQUNGO0lBRUFMLE9BQU9RLGtCQUFrQjtRQUN2QixJQUFNLEFBQUVILFlBQWNELFFBQWRDO1FBRVIsT0FBT0QsUUFBUUYsVUFBVTtRQUV6QixPQUFPRSxRQUFRQyxTQUFTO1FBRXhCRixTQUFTRTtJQUNYLEdBQUdEO0FBQ0w7QUFFQSxTQUFTSSxpQkFBaUJDLElBQUksRUFBRUMsSUFBSSxFQUFFTixPQUFPLEVBQUVPLEtBQUs7SUFDbEQsSUFBTSxBQUFFVCxhQUFlRSxRQUFmRixZQUNGVSxtQkFBbUJWLFdBQVdXLE1BQU0sRUFDcENDLFlBQVlGLG1CQUFtQjtJQUVyQyxJQUFJRCxRQUFRRyxXQUFXO1FBQ3JCSjtRQUVBO0lBQ0Y7SUFFQSxJQUFNSyxZQUFZYixVQUFVLENBQUNTLE1BQU07SUFFbkNJLFVBQVVDLFNBQVNDLE9BQU9iO0lBRTFCLFNBQVNZO1FBQ1BQO0lBQ0Y7SUFFQSxTQUFTUTtRQUNQLElBQU1aLFlBQVk7UUFFbEJDLE9BQU9DLE1BQU0sQ0FBQ0gsU0FBUztZQUNyQkMsV0FBQUE7UUFDRjtRQUVBSztJQUNGO0FBQ0YifQ==
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get createDirectory () {
13
+ return createDirectory;
14
+ },
15
+ get createParentDirectory () {
16
+ return createParentDirectory;
17
+ },
18
+ get deleteDirectory () {
19
+ return deleteDirectory;
20
+ },
21
+ get deleteFile () {
22
+ return deleteFile;
23
+ },
24
+ get isEntryDirectory () {
25
+ return isEntryDirectory;
26
+ },
27
+ get readDirectory () {
28
+ return readDirectory;
29
+ },
30
+ get readFile () {
31
+ return readFile;
32
+ },
33
+ get writeFile () {
34
+ return writeFile;
35
+ },
36
+ get writeFileEx () {
37
+ return writeFileEx;
38
+ }
39
+ });
40
+ var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
41
+ var _necessary = require("necessary");
42
+ var _constants = require("../constants");
43
+ var _path = require("../utilities/path");
44
+ function _interop_require_default(obj) {
45
+ return obj && obj.__esModule ? obj : {
46
+ default: obj
47
+ };
48
+ }
49
+ var readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, createDirectory = _necessary.fileSystemUtilities.createDirectory;
50
+ var concatenatePaths = _necessary.pathUtilities.concatenatePaths, openSync = _fs.default.openSync, writeSync = _fs.default.writeSync, rmdirSync = _fs.default.rmdirSync, unlinkSync = _fs.default.unlinkSync;
51
+ var PERIOD_CHARACTER = _necessary.characters.PERIOD_CHARACTER;
52
+ function deleteFile(filePath, done) {
53
+ unlinkSync(filePath);
54
+ done && done(); ///
55
+ }
56
+ function writeFileEx(filePath, buffer) {
57
+ var file = openSync(filePath, _constants.W_PLUS);
58
+ writeSync(file, buffer);
59
+ }
60
+ function deleteDirectory(directoryPath, done) {
61
+ cleanDirectory(directoryPath);
62
+ rmdirSync(directoryPath);
63
+ done && done(); ///
64
+ }
65
+ function createParentDirectory(filePath) {
66
+ var filePathWithoutBottommostName = (0, _path.pathWithoutBottommostNameFromPath)(filePath);
67
+ if (filePathWithoutBottommostName !== PERIOD_CHARACTER && filePathWithoutBottommostName !== null) {
68
+ var parentDirectoryPath = filePathWithoutBottommostName; ///
69
+ createDirectory(parentDirectoryPath);
70
+ }
71
+ }
72
+ function cleanDirectory(directoryPath) {
73
+ var entryPaths = readDirectory(directoryPath);
74
+ entryPaths.forEach(function(entryPath) {
75
+ entryPath = concatenatePaths(directoryPath, entryPath); ///
76
+ var entryDirectory = isEntryDirectory(entryPath);
77
+ if (entryDirectory) {
78
+ var _$directoryPath = entryPath; ///
79
+ cleanDirectory(_$directoryPath);
80
+ deleteDirectory(_$directoryPath);
81
+ } else {
82
+ var filePath = entryPath; ///
83
+ deleteFile(filePath);
84
+ }
85
+ });
86
+ }
87
+
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzLCBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBXX1BMVVMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBwYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lRnJvbVBhdGggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhdGhcIjtcblxuZXhwb3J0IGNvbnN0IHsgcmVhZEZpbGUsIHdyaXRlRmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSwgY3JlYXRlRGlyZWN0b3J5IH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IG9wZW5TeW5jLCB3cml0ZVN5bmMsIHJtZGlyU3luYywgdW5saW5rU3luYyB9ID0gZnM7XG5cbmNvbnN0IHsgUEVSSU9EX0NIQVJBQ1RFUiB9ID0gY2hhcmFjdGVycztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlbGV0ZUZpbGUoZmlsZVBhdGgsIGRvbmUpIHtcbiAgdW5saW5rU3luYyhmaWxlUGF0aCk7XG5cbiAgZG9uZSAmJiBkb25lKCk7IC8vL1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVGaWxlRXgoZmlsZVBhdGgsIGJ1ZmZlcikge1xuICBjb25zdCBmaWxlID0gb3BlblN5bmMoZmlsZVBhdGgsIFdfUExVUyk7XG5cbiAgd3JpdGVTeW5jKGZpbGUsIGJ1ZmZlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVEaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCwgZG9uZSkge1xuICBjbGVhbkRpcmVjdG9yeShkaXJlY3RvcnlQYXRoKTtcblxuICBybWRpclN5bmMoZGlyZWN0b3J5UGF0aCk7XG5cbiAgZG9uZSAmJiBkb25lKCk7IC8vL1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFyZW50RGlyZWN0b3J5KGZpbGVQYXRoKSB7XG4gIGNvbnN0IGZpbGVQYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lID0gcGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZUZyb21QYXRoKGZpbGVQYXRoKTtcblxuICBpZiAoKGZpbGVQYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lICE9PSBQRVJJT0RfQ0hBUkFDVEVSKSAmJiAoZmlsZVBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWUgIT09IG51bGwpKSB7XG4gICAgY29uc3QgcGFyZW50RGlyZWN0b3J5UGF0aCA9IGZpbGVQYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lOyAgLy8vXG5cbiAgICBjcmVhdGVEaXJlY3RvcnkocGFyZW50RGlyZWN0b3J5UGF0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYW5EaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCkge1xuICBjb25zdCBlbnRyeVBhdGhzID0gcmVhZERpcmVjdG9yeShkaXJlY3RvcnlQYXRoKTtcblxuICBlbnRyeVBhdGhzLmZvckVhY2goKGVudHJ5UGF0aCkgPT4ge1xuICAgIGVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMoZGlyZWN0b3J5UGF0aCwgZW50cnlQYXRoKTsgIC8vL1xuXG4gICAgY29uc3QgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGVudHJ5UGF0aCk7XG5cbiAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcbiAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBlbnRyeVBhdGg7ICAvLy9cblxuICAgICAgY2xlYW5EaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCk7XG5cbiAgICAgIGRlbGV0ZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBlbnRyeVBhdGg7IC8vL1xuXG4gICAgICBkZWxldGVGaWxlKGZpbGVQYXRoKTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZURpcmVjdG9yeSIsImNyZWF0ZVBhcmVudERpcmVjdG9yeSIsImRlbGV0ZURpcmVjdG9yeSIsImRlbGV0ZUZpbGUiLCJpc0VudHJ5RGlyZWN0b3J5IiwicmVhZERpcmVjdG9yeSIsInJlYWRGaWxlIiwid3JpdGVGaWxlIiwid3JpdGVGaWxlRXgiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJvcGVuU3luYyIsImZzIiwid3JpdGVTeW5jIiwicm1kaXJTeW5jIiwidW5saW5rU3luYyIsIlBFUklPRF9DSEFSQUNURVIiLCJjaGFyYWN0ZXJzIiwiZmlsZVBhdGgiLCJkb25lIiwiYnVmZmVyIiwiZmlsZSIsIldfUExVUyIsImRpcmVjdG9yeVBhdGgiLCJjbGVhbkRpcmVjdG9yeSIsImZpbGVQYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lIiwicGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZUZyb21QYXRoIiwicGFyZW50RGlyZWN0b3J5UGF0aCIsImVudHJ5UGF0aHMiLCJmb3JFYWNoIiwiZW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVNxRUE7ZUFBQUE7O1FBMkJyREM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQVpBQztlQUFBQTs7UUFQbUNDO2VBQUFBOztRQUFmQztlQUFBQTs7UUFBckJDO2VBQUFBOztRQUFVQztlQUFBQTs7UUFhVEM7ZUFBQUE7Ozt5REFwQkQ7eUJBRWdEO3lCQUV4QztvQkFDMkI7Ozs7OztBQUUzQyxJQUFRRixXQUEwRUcsOEJBQW1CLENBQTdGSCxVQUFVQyxZQUFnRUUsOEJBQW1CLENBQW5GRixXQUFXRixnQkFBcURJLDhCQUFtQixDQUF4RUosZUFBZUQsbUJBQXNDSyw4QkFBbUIsQ0FBekRMLGtCQUFrQkosa0JBQW9CUyw4QkFBbUIsQ0FBdkNUO0FBRXJFLElBQU0sQUFBRVUsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLFdBQStDQyxXQUFFLENBQWpERCxVQUFVRSxZQUFxQ0QsV0FBRSxDQUF2Q0MsV0FBV0MsWUFBMEJGLFdBQUUsQ0FBNUJFLFdBQVdDLGFBQWVILFdBQUUsQ0FBakJHO0FBRXhDLElBQU0sQUFBRUMsbUJBQXFCQyxxQkFBVSxDQUEvQkQ7QUFFRCxTQUFTZCxXQUFXZ0IsUUFBUSxFQUFFQyxJQUFJO0lBQ3ZDSixXQUFXRztJQUVYQyxRQUFRQSxRQUFRLEdBQUc7QUFDckI7QUFFTyxTQUFTWixZQUFZVyxRQUFRLEVBQUVFLE1BQU07SUFDMUMsSUFBTUMsT0FBT1YsU0FBU08sVUFBVUksaUJBQU07SUFFdENULFVBQVVRLE1BQU1EO0FBQ2xCO0FBRU8sU0FBU25CLGdCQUFnQnNCLGFBQWEsRUFBRUosSUFBSTtJQUNqREssZUFBZUQ7SUFFZlQsVUFBVVM7SUFFVkosUUFBUUEsUUFBUSxHQUFHO0FBQ3JCO0FBRU8sU0FBU25CLHNCQUFzQmtCLFFBQVE7SUFDNUMsSUFBTU8sZ0NBQWdDQyxJQUFBQSx1Q0FBaUMsRUFBQ1I7SUFFeEUsSUFBSSxBQUFDTyxrQ0FBa0NULG9CQUFzQlMsa0NBQWtDLE1BQU87UUFDcEcsSUFBTUUsc0JBQXNCRiwrQkFBZ0MsR0FBRztRQUUvRDFCLGdCQUFnQjRCO0lBQ2xCO0FBQ0Y7QUFFQSxTQUFTSCxlQUFlRCxhQUFhO0lBQ25DLElBQU1LLGFBQWF4QixjQUFjbUI7SUFFakNLLFdBQVdDLE9BQU8sQ0FBQyxTQUFDQztRQUNsQkEsWUFBWXJCLGlCQUFpQmMsZUFBZU8sWUFBYSxHQUFHO1FBRTVELElBQU1DLGlCQUFpQjVCLGlCQUFpQjJCO1FBRXhDLElBQUlDLGdCQUFnQjtZQUNsQixJQUFNUixrQkFBZ0JPLFdBQVksR0FBRztZQUVyQ04sZUFBZUQ7WUFFZnRCLGdCQUFnQnNCO1FBQ2xCLE9BQU87WUFDTCxJQUFNTCxXQUFXWSxXQUFXLEdBQUc7WUFFL0I1QixXQUFXZ0I7UUFDYjtJQUNGO0FBQ0YifQ==
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get endCountMetric () {
13
+ return endCountMetric;
14
+ },
15
+ get endSecondsMetric () {
16
+ return endSecondsMetric;
17
+ },
18
+ get initialiseMetrics () {
19
+ return initialiseMetrics;
20
+ },
21
+ get startCountMetric () {
22
+ return startCountMetric;
23
+ },
24
+ get startSecondsMetric () {
25
+ return startSecondsMetric;
26
+ },
27
+ get updateCountMetric () {
28
+ return updateCountMetric;
29
+ }
30
+ });
31
+ function initialiseMetrics(context) {
32
+ var metrics = {};
33
+ Object.assign(context, {
34
+ metrics: metrics
35
+ });
36
+ }
37
+ function startCountMetric(context) {
38
+ var metrics = context.metrics;
39
+ var count = 0;
40
+ Object.assign(metrics, {
41
+ count: count
42
+ });
43
+ }
44
+ function endCountMetric(context) {
45
+ var metrics = context.metrics, count = metrics.count;
46
+ delete metrics.count;
47
+ return count;
48
+ }
49
+ function updateCountMetric(context) {
50
+ var metrics = context.metrics;
51
+ var count = metrics.count;
52
+ count++;
53
+ Object.assign(metrics, {
54
+ count: count
55
+ });
56
+ }
57
+ function startSecondsMetric(context) {
58
+ var metrics = context.metrics, now = Date.now();
59
+ Object.assign(metrics, {
60
+ now: now
61
+ });
62
+ }
63
+ function endSecondsMetric(context) {
64
+ var metrics = context.metrics;
65
+ var now = metrics.now;
66
+ var then = now; ///
67
+ now = Date.now();
68
+ var seconds = Math.floor(now - then) / 1000;
69
+ delete metrics.now;
70
+ return seconds;
71
+ }
72
+
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0cmljcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VNZXRyaWNzKGNvbnRleHQpIHtcbiAgY29uc3QgbWV0cmljcyA9IHt9O1xuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIG1ldHJpY3NcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydENvdW50TWV0cmljKGNvbnRleHQpIHtcbiAgY29uc3QgeyBtZXRyaWNzIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGNvdW50ID0gMDtcblxuICBPYmplY3QuYXNzaWduKG1ldHJpY3MsIHtcbiAgICBjb3VudFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuZENvdW50TWV0cmljKGNvbnRleHQpIHtcbiAgY29uc3QgeyBtZXRyaWNzIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGNvdW50IH0gPSBtZXRyaWNzO1xuXG4gIGRlbGV0ZSBtZXRyaWNzLmNvdW50O1xuXG4gIHJldHVybiBjb3VudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUNvdW50TWV0cmljKGNvbnRleHQpIHtcbiAgY29uc3QgeyBtZXRyaWNzIH0gPSBjb250ZXh0O1xuXG4gIGxldCB7IGNvdW50IH0gPSBtZXRyaWNzO1xuXG4gIGNvdW50Kys7XG5cbiAgT2JqZWN0LmFzc2lnbihtZXRyaWNzLCB7XG4gICAgY291bnRcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFNlY29uZHNNZXRyaWMoY29udGV4dCkge1xuICBjb25zdCB7IG1ldHJpY3MgfSA9IGNvbnRleHQsXG4gICAgICAgIG5vdyA9IERhdGUubm93KCk7XG5cbiAgT2JqZWN0LmFzc2lnbihtZXRyaWNzLCB7XG4gICAgbm93XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5kU2Vjb25kc01ldHJpYyhjb250ZXh0KSB7XG4gIGNvbnN0IHsgbWV0cmljcyB9ID0gY29udGV4dDtcblxuICBsZXQgeyBub3cgfSA9IG1ldHJpY3M7XG5cbiAgY29uc3QgdGhlbiA9IG5vdzsgLy8vXG5cbiAgbm93ID0gRGF0ZS5ub3coKTtcblxuICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihub3cgLSB0aGVuKSAvIDEwMDA7XG5cbiAgZGVsZXRlIG1ldHJpY3Mubm93O1xuXG4gIHJldHVybiBzZWNvbmRzO1xufVxuIl0sIm5hbWVzIjpbImVuZENvdW50TWV0cmljIiwiZW5kU2Vjb25kc01ldHJpYyIsImluaXRpYWxpc2VNZXRyaWNzIiwic3RhcnRDb3VudE1ldHJpYyIsInN0YXJ0U2Vjb25kc01ldHJpYyIsInVwZGF0ZUNvdW50TWV0cmljIiwiY29udGV4dCIsIm1ldHJpY3MiLCJPYmplY3QiLCJhc3NpZ24iLCJjb3VudCIsIm5vdyIsIkRhdGUiLCJ0aGVuIiwic2Vjb25kcyIsIk1hdGgiLCJmbG9vciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBb0JnQkE7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUFoREFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUErQkFDO2VBQUFBOztRQVpBQztlQUFBQTs7O0FBM0JULFNBQVNILGtCQUFrQkksT0FBTztJQUN2QyxJQUFNQyxVQUFVLENBQUM7SUFFakJDLE9BQU9DLE1BQU0sQ0FBQ0gsU0FBUztRQUNyQkMsU0FBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU0osaUJBQWlCRyxPQUFPO0lBQ3RDLElBQU0sQUFBRUMsVUFBWUQsUUFBWkM7SUFFUixJQUFNRyxRQUFRO0lBRWRGLE9BQU9DLE1BQU0sQ0FBQ0YsU0FBUztRQUNyQkcsT0FBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU1YsZUFBZU0sT0FBTztJQUNwQyxJQUFNLEFBQUVDLFVBQVlELFFBQVpDLFNBQ0YsQUFBRUcsUUFBVUgsUUFBVkc7SUFFUixPQUFPSCxRQUFRRyxLQUFLO0lBRXBCLE9BQU9BO0FBQ1Q7QUFFTyxTQUFTTCxrQkFBa0JDLE9BQU87SUFDdkMsSUFBTSxBQUFFQyxVQUFZRCxRQUFaQztJQUVSLElBQUksQUFBRUcsUUFBVUgsUUFBVkc7SUFFTkE7SUFFQUYsT0FBT0MsTUFBTSxDQUFDRixTQUFTO1FBQ3JCRyxPQUFBQTtJQUNGO0FBQ0Y7QUFFTyxTQUFTTixtQkFBbUJFLE9BQU87SUFDeEMsSUFBTSxBQUFFQyxVQUFZRCxRQUFaQyxTQUNGSSxNQUFNQyxLQUFLRCxHQUFHO0lBRXBCSCxPQUFPQyxNQUFNLENBQUNGLFNBQVM7UUFDckJJLEtBQUFBO0lBQ0Y7QUFDRjtBQUVPLFNBQVNWLGlCQUFpQkssT0FBTztJQUN0QyxJQUFNLEFBQUVDLFVBQVlELFFBQVpDO0lBRVIsSUFBSSxBQUFFSSxNQUFRSixRQUFSSTtJQUVOLElBQU1FLE9BQU9GLEtBQUssR0FBRztJQUVyQkEsTUFBTUMsS0FBS0QsR0FBRztJQUVkLElBQU1HLFVBQVVDLEtBQUtDLEtBQUssQ0FBQ0wsTUFBTUUsUUFBUTtJQUV6QyxPQUFPTixRQUFRSSxHQUFHO0lBRWxCLE9BQU9HO0FBQ1QifQ==
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "pathFromOption", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return pathFromOption;
9
+ }
10
+ });
11
+ var _constants = require("../constants");
12
+ function pathFromOption(option) {
13
+ var path = null;
14
+ var optionAbsolutePath = /^\/.*/.test(option), optionAllowedRelativePath = /^\.\/.*/.test(option), optionForbiddenRelativePath = /^\.\.\/.*/.test(option);
15
+ if (false) {
16
+ ///
17
+ } else if (optionAbsolutePath) {
18
+ ///
19
+ } else if (optionAllowedRelativePath) {
20
+ path = option.replace(/^\.\//, _constants.EMPTY_STRING).replace(/\/$/, _constants.EMPTY_STRING);
21
+ } else if (optionForbiddenRelativePath) {
22
+ path = null;
23
+ } else {
24
+ path = option; ///
25
+ }
26
+ return path;
27
+ }
28
+
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb3B0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbU9wdGlvbihvcHRpb24pIHtcbiAgbGV0IHBhdGggPSBudWxsO1xuXG4gIGNvbnN0IG9wdGlvbkFic29sdXRlUGF0aCA9IC9eXFwvLiovLnRlc3Qob3B0aW9uKSxcbiAgICAgICAgb3B0aW9uQWxsb3dlZFJlbGF0aXZlUGF0aCA9IC9eXFwuXFwvLiovLnRlc3Qob3B0aW9uKSxcbiAgICAgICAgb3B0aW9uRm9yYmlkZGVuUmVsYXRpdmVQYXRoID0gL15cXC5cXC5cXC8uKi8udGVzdChvcHRpb24pO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKG9wdGlvbkFic29sdXRlUGF0aCkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKG9wdGlvbkFsbG93ZWRSZWxhdGl2ZVBhdGgpIHtcbiAgICBwYXRoID0gb3B0aW9uLnJlcGxhY2UoL15cXC5cXC8vLCBFTVBUWV9TVFJJTkcpLnJlcGxhY2UoL1xcLyQvLCBFTVBUWV9TVFJJTkcpO1xuICB9IGVsc2UgaWYgKG9wdGlvbkZvcmJpZGRlblJlbGF0aXZlUGF0aCkge1xuICAgIHBhdGggPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHBhdGggPSBvcHRpb247ICAvLy9cbiAgfVxuXG4gIHJldHVybiBwYXRoO1xufVxuIl0sIm5hbWVzIjpbInBhdGhGcm9tT3B0aW9uIiwib3B0aW9uIiwicGF0aCIsIm9wdGlvbkFic29sdXRlUGF0aCIsInRlc3QiLCJvcHRpb25BbGxvd2VkUmVsYXRpdmVQYXRoIiwib3B0aW9uRm9yYmlkZGVuUmVsYXRpdmVQYXRoIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7eUJBRmE7QUFFdEIsU0FBU0EsZUFBZUMsTUFBTTtJQUNuQyxJQUFJQyxPQUFPO0lBRVgsSUFBTUMscUJBQXFCLFFBQVFDLElBQUksQ0FBQ0gsU0FDbENJLDRCQUE0QixVQUFVRCxJQUFJLENBQUNILFNBQzNDSyw4QkFBOEIsWUFBWUYsSUFBSSxDQUFDSDtJQUVyRCxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJRSxvQkFBb0I7SUFDN0IsR0FBRztJQUNMLE9BQU8sSUFBSUUsMkJBQTJCO1FBQ3BDSCxPQUFPRCxPQUFPTSxPQUFPLENBQUMsU0FBU0MsdUJBQVksRUFBRUQsT0FBTyxDQUFDLE9BQU9DLHVCQUFZO0lBQzFFLE9BQU8sSUFBSUYsNkJBQTZCO1FBQ3RDSixPQUFPO0lBQ1QsT0FBTztRQUNMQSxPQUFPRCxRQUFTLEdBQUc7SUFDckI7SUFFQSxPQUFPQztBQUNUIn0=
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get combinePaths () {
13
+ return combinePaths;
14
+ },
15
+ get isPathFullQualifiedPath () {
16
+ return isPathFullQualifiedPath;
17
+ },
18
+ get pathFromFullyQualifiedPath () {
19
+ return pathFromFullyQualifiedPath;
20
+ },
21
+ get pathFromOption () {
22
+ return pathFromOption;
23
+ },
24
+ get pathWithoutBottommostNameFromPath () {
25
+ return pathWithoutBottommostNameFromPath;
26
+ },
27
+ get pathWithoutDirectoryPathFromPathAndDirectoryPath () {
28
+ return pathWithoutDirectoryPathFromPathAndDirectoryPath;
29
+ },
30
+ get sourceFileNameFromSourceFilePathAndTargetFilePath () {
31
+ return sourceFileNameFromSourceFilePathAndTargetFilePath;
32
+ },
33
+ get sourceFilePathFromFilePathAndSourceDirectoryPath () {
34
+ return sourceFilePathFromFilePathAndSourceDirectoryPath;
35
+ },
36
+ get sourcesFromSourcesSourceDirectoryPathAndTargetDirectoryPath () {
37
+ return sourcesFromSourcesSourceDirectoryPathAndTargetDirectoryPath;
38
+ },
39
+ get targetFilePathFromFilePathAndTargetDirectoryPath () {
40
+ return targetFilePathFromFilePathAndTargetDirectoryPath;
41
+ }
42
+ });
43
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
44
+ var _necessary = require("necessary");
45
+ var _constants = require("../constants");
46
+ function _interop_require_default(obj) {
47
+ return obj && obj.__esModule ? obj : {
48
+ default: obj
49
+ };
50
+ }
51
+ var FORWARD_SLASH_CHARACTER = _necessary.characters.FORWARD_SLASH_CHARACTER;
52
+ var currentWorkingDirectoryPath = process.cwd(), currentWorkingDirectoryPathLength = currentWorkingDirectoryPath.length;
53
+ var combinePaths = _necessary.pathUtilities.combinePaths, pathWithoutBottommostNameFromPath = _necessary.pathUtilities.pathWithoutBottommostNameFromPath;
54
+ function pathFromOption(option) {
55
+ var path = null;
56
+ var optionAbsolutePath = /^\/.*/.test(option), optionAllowedRelativePath = /^\.\/.*/.test(option), optionForbiddenRelativePath = /^\.\.\/.*/.test(option);
57
+ if (false) {
58
+ ///
59
+ } else if (optionAbsolutePath) {
60
+ ///
61
+ } else if (optionAllowedRelativePath) {
62
+ path = option.replace(/^\.\//, _constants.EMPTY_STRING).replace(/\/$/, _constants.EMPTY_STRING);
63
+ } else if (optionForbiddenRelativePath) {
64
+ path = null;
65
+ } else {
66
+ path = option; ///
67
+ }
68
+ return path;
69
+ }
70
+ function isPathFullQualifiedPath(path) {
71
+ var pathStartsWithCurrentWorkingDirectoryPath = path.startsWith(currentWorkingDirectoryPath), pathFullyQualifiedPath = pathStartsWithCurrentWorkingDirectoryPath; ///
72
+ return pathFullyQualifiedPath;
73
+ }
74
+ function pathFromFullyQualifiedPath(fullyQualifiedPath) {
75
+ var path = fullyQualifiedPath.substring(currentWorkingDirectoryPathLength);
76
+ return path;
77
+ }
78
+ function pathWithoutDirectoryPathFromPathAndDirectoryPath(path, directoryPath) {
79
+ var directoryPathLength = directoryPath.length, forwardSlashCharacterLength = FORWARD_SLASH_CHARACTER.length, pathWithoutDirectoryPath = path.substring(directoryPathLength + forwardSlashCharacterLength);
80
+ return pathWithoutDirectoryPath;
81
+ }
82
+ function sourceFilePathFromFilePathAndSourceDirectoryPath(filePath, sourceDirectoryPath) {
83
+ var sourceFilePath = combinePaths(sourceDirectoryPath, filePath);
84
+ return sourceFilePath;
85
+ }
86
+ function targetFilePathFromFilePathAndTargetDirectoryPath(filePath, targetDirectoryPath) {
87
+ var targetFilePath = combinePaths(targetDirectoryPath, filePath);
88
+ return targetFilePath;
89
+ }
90
+ function sourceFileNameFromSourceFilePathAndTargetFilePath(sourceFilePath, targetFilePath) {
91
+ var relativeSourceFilepath = relativeSourceFilePathFromSourceFilePathAndTargetFilePath(sourceFilePath, targetFilePath), sourceFileName = relativeSourceFilepath; ///
92
+ return sourceFileName;
93
+ }
94
+ function sourcesFromSourcesSourceDirectoryPathAndTargetDirectoryPath(sources, sourceDirectoryPath, targetDirectoryPath) {
95
+ sources = sources.map(function(source) {
96
+ var sourceStartsWithTargetDirectoryPath = source.startsWith(targetDirectoryPath);
97
+ if (sourceStartsWithTargetDirectoryPath) {
98
+ var targetDirectoryPathLength = targetDirectoryPath.length, start = targetDirectoryPathLength + 1, filePath = source.substring(start), targetFilePath = source, sourceFilePath = sourceFilePathFromFilePathAndSourceDirectoryPath(filePath, sourceDirectoryPath), relativeSourceFilePath = relativeSourceFilePathFromSourceFilePathAndTargetFilePath(sourceFilePath, targetFilePath);
99
+ source = relativeSourceFilePath; ///
100
+ }
101
+ return source;
102
+ });
103
+ return sources;
104
+ }
105
+ function relativeSourceFilePathFromSourceFilePathAndTargetFilePath(sourceFilePath, targetFilePath) {
106
+ var targetFilePathWithoutBottommostName = pathWithoutBottommostNameFromPath(targetFilePath), relativeSourceFilePath = _path.default.relative(targetFilePathWithoutBottommostName, sourceFilePath);
107
+ return relativeSourceFilePath;
108
+ }
109
+
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGF0aC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgY2hhcmFjdGVycywgcGF0aFV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB7IEZPUldBUkRfU0xBU0hfQ0hBUkFDVEVSIH0gPSBjaGFyYWN0ZXJzO1xuXG5jb25zdCBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwcm9jZXNzLmN3ZCgpLFxuICAgICAgY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoLmxlbmd0aDtcblxuZXhwb3J0IGNvbnN0IHsgY29tYmluZVBhdGhzLCBwYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lRnJvbVBhdGggfSA9IHBhdGhVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbU9wdGlvbihvcHRpb24pIHtcbmxldCBwYXRoID0gbnVsbDtcblxuY29uc3Qgb3B0aW9uQWJzb2x1dGVQYXRoID0gL15cXC8uKi8udGVzdChvcHRpb24pLFxuICAgICAgb3B0aW9uQWxsb3dlZFJlbGF0aXZlUGF0aCA9IC9eXFwuXFwvLiovLnRlc3Qob3B0aW9uKSxcbiAgICAgIG9wdGlvbkZvcmJpZGRlblJlbGF0aXZlUGF0aCA9IC9eXFwuXFwuXFwvLiovLnRlc3Qob3B0aW9uKTtcblxuaWYgKGZhbHNlKSB7XG4gIC8vL1xufSBlbHNlIGlmIChvcHRpb25BYnNvbHV0ZVBhdGgpIHtcbiAgLy8vXG59IGVsc2UgaWYgKG9wdGlvbkFsbG93ZWRSZWxhdGl2ZVBhdGgpIHtcbiAgcGF0aCA9IG9wdGlvbi5yZXBsYWNlKC9eXFwuXFwvLywgRU1QVFlfU1RSSU5HKS5yZXBsYWNlKC9cXC8kLywgRU1QVFlfU1RSSU5HKTtcbn0gZWxzZSBpZiAob3B0aW9uRm9yYmlkZGVuUmVsYXRpdmVQYXRoKSB7XG4gIHBhdGggPSBudWxsO1xufSBlbHNlIHtcbiAgcGF0aCA9IG9wdGlvbjsgIC8vL1xufVxuXG5yZXR1cm4gcGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUGF0aEZ1bGxRdWFsaWZpZWRQYXRoKHBhdGgpIHtcbiAgY29uc3QgcGF0aFN0YXJ0c1dpdGhDdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwYXRoLnN0YXJ0c1dpdGgoY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgcGF0aEZ1bGx5UXVhbGlmaWVkUGF0aCA9IHBhdGhTdGFydHNXaXRoQ3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoOyAvLy9cblxuICByZXR1cm4gcGF0aEZ1bGx5UXVhbGlmaWVkUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tRnVsbHlRdWFsaWZpZWRQYXRoKGZ1bGx5UXVhbGlmaWVkUGF0aCkge1xuICBjb25zdCBwYXRoID0gZnVsbHlRdWFsaWZpZWRQYXRoLnN1YnN0cmluZyhjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGhMZW5ndGgpO1xuXG4gIHJldHVybiBwYXRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0aFdpdGhvdXREaXJlY3RvcnlQYXRoRnJvbVBhdGhBbmREaXJlY3RvcnlQYXRoKHBhdGgsIGRpcmVjdG9yeVBhdGgpIHtcbiAgICBjb25zdCBkaXJlY3RvcnlQYXRoTGVuZ3RoID0gZGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgICAgZm9yd2FyZFNsYXNoQ2hhcmFjdGVyTGVuZ3RoID0gRk9SV0FSRF9TTEFTSF9DSEFSQUNURVIubGVuZ3RoLFxuICAgICAgICAgIHBhdGhXaXRob3V0RGlyZWN0b3J5UGF0aCA9IHBhdGguc3Vic3RyaW5nKGRpcmVjdG9yeVBhdGhMZW5ndGggKyBmb3J3YXJkU2xhc2hDaGFyYWN0ZXJMZW5ndGgpO1xuXG4gIHJldHVybiBwYXRoV2l0aG91dERpcmVjdG9yeVBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VGaWxlUGF0aEZyb21GaWxlUGF0aEFuZFNvdXJjZURpcmVjdG9yeVBhdGgoZmlsZVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBjb21iaW5lUGF0aHMoc291cmNlRGlyZWN0b3J5UGF0aCwgZmlsZVBhdGgpO1xuXG4gIHJldHVybiBzb3VyY2VGaWxlUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhcmdldEZpbGVQYXRoRnJvbUZpbGVQYXRoQW5kVGFyZ2V0RGlyZWN0b3J5UGF0aChmaWxlUGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCkge1xuICBjb25zdCB0YXJnZXRGaWxlUGF0aCA9IGNvbWJpbmVQYXRocyh0YXJnZXREaXJlY3RvcnlQYXRoLCBmaWxlUGF0aCk7XG5cbiAgcmV0dXJuIHRhcmdldEZpbGVQYXRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc291cmNlRmlsZU5hbWVGcm9tU291cmNlRmlsZVBhdGhBbmRUYXJnZXRGaWxlUGF0aChzb3VyY2VGaWxlUGF0aCwgdGFyZ2V0RmlsZVBhdGgpIHtcbiAgY29uc3QgcmVsYXRpdmVTb3VyY2VGaWxlcGF0aCA9IHJlbGF0aXZlU291cmNlRmlsZVBhdGhGcm9tU291cmNlRmlsZVBhdGhBbmRUYXJnZXRGaWxlUGF0aChzb3VyY2VGaWxlUGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgc291cmNlRmlsZU5hbWUgPSByZWxhdGl2ZVNvdXJjZUZpbGVwYXRoOyAgLy8vXG5cbiAgcmV0dXJuIHNvdXJjZUZpbGVOYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc291cmNlc0Zyb21Tb3VyY2VzU291cmNlRGlyZWN0b3J5UGF0aEFuZFRhcmdldERpcmVjdG9yeVBhdGgoc291cmNlcywgc291cmNlRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCkge1xuICBzb3VyY2VzID0gc291cmNlcy5tYXAoKHNvdXJjZSkgPT4geyAvLy9cbiAgICBjb25zdCBzb3VyY2VTdGFydHNXaXRoVGFyZ2V0RGlyZWN0b3J5UGF0aCA9IHNvdXJjZS5zdGFydHNXaXRoKHRhcmdldERpcmVjdG9yeVBhdGgpO1xuXG4gICAgaWYgKHNvdXJjZVN0YXJ0c1dpdGhUYXJnZXREaXJlY3RvcnlQYXRoKSB7XG4gICAgICBjb25zdCB0YXJnZXREaXJlY3RvcnlQYXRoTGVuZ3RoID0gdGFyZ2V0RGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgICAgICBzdGFydCA9IHRhcmdldERpcmVjdG9yeVBhdGhMZW5ndGggKyAxLFxuICAgICAgICAgICAgZmlsZVBhdGggPSBzb3VyY2Uuc3Vic3RyaW5nKHN0YXJ0KSxcbiAgICAgICAgICAgIHRhcmdldEZpbGVQYXRoID0gc291cmNlLCAgLy8vXG4gICAgICAgICAgICBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUZpbGVQYXRoRnJvbUZpbGVQYXRoQW5kU291cmNlRGlyZWN0b3J5UGF0aChmaWxlUGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgICAgICByZWxhdGl2ZVNvdXJjZUZpbGVQYXRoID0gcmVsYXRpdmVTb3VyY2VGaWxlUGF0aEZyb21Tb3VyY2VGaWxlUGF0aEFuZFRhcmdldEZpbGVQYXRoKHNvdXJjZUZpbGVQYXRoLCB0YXJnZXRGaWxlUGF0aCk7XG5cbiAgICAgIHNvdXJjZSA9IHJlbGF0aXZlU291cmNlRmlsZVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlO1xuICB9KTtcblxuICByZXR1cm4gc291cmNlcztcbn1cblxuZnVuY3Rpb24gcmVsYXRpdmVTb3VyY2VGaWxlUGF0aEZyb21Tb3VyY2VGaWxlUGF0aEFuZFRhcmdldEZpbGVQYXRoKHNvdXJjZUZpbGVQYXRoLCB0YXJnZXRGaWxlUGF0aCkge1xuICBjb25zdCB0YXJnZXRGaWxlUGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZSA9IHBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWVGcm9tUGF0aCh0YXJnZXRGaWxlUGF0aCksXG4gICAgICAgIHJlbGF0aXZlU291cmNlRmlsZVBhdGggPSBwYXRoLnJlbGF0aXZlKHRhcmdldEZpbGVQYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lLCBzb3VyY2VGaWxlUGF0aCk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlU291cmNlRmlsZVBhdGg7XG59XG5cbiJdLCJuYW1lcyI6WyJjb21iaW5lUGF0aHMiLCJpc1BhdGhGdWxsUXVhbGlmaWVkUGF0aCIsInBhdGhGcm9tRnVsbHlRdWFsaWZpZWRQYXRoIiwicGF0aEZyb21PcHRpb24iLCJwYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lRnJvbVBhdGgiLCJwYXRoV2l0aG91dERpcmVjdG9yeVBhdGhGcm9tUGF0aEFuZERpcmVjdG9yeVBhdGgiLCJzb3VyY2VGaWxlTmFtZUZyb21Tb3VyY2VGaWxlUGF0aEFuZFRhcmdldEZpbGVQYXRoIiwic291cmNlRmlsZVBhdGhGcm9tRmlsZVBhdGhBbmRTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlc0Zyb21Tb3VyY2VzU291cmNlRGlyZWN0b3J5UGF0aEFuZFRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXRGaWxlUGF0aEZyb21GaWxlUGF0aEFuZFRhcmdldERpcmVjdG9yeVBhdGgiLCJGT1JXQVJEX1NMQVNIX0NIQVJBQ1RFUiIsImNoYXJhY3RlcnMiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGgiLCJwcm9jZXNzIiwiY3dkIiwiY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoIiwibGVuZ3RoIiwicGF0aFV0aWxpdGllcyIsIm9wdGlvbiIsInBhdGgiLCJvcHRpb25BYnNvbHV0ZVBhdGgiLCJ0ZXN0Iiwib3B0aW9uQWxsb3dlZFJlbGF0aXZlUGF0aCIsIm9wdGlvbkZvcmJpZGRlblJlbGF0aXZlUGF0aCIsInJlcGxhY2UiLCJFTVBUWV9TVFJJTkciLCJwYXRoU3RhcnRzV2l0aEN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aCIsInN0YXJ0c1dpdGgiLCJwYXRoRnVsbHlRdWFsaWZpZWRQYXRoIiwiZnVsbHlRdWFsaWZpZWRQYXRoIiwic3Vic3RyaW5nIiwiZGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yeVBhdGhMZW5ndGgiLCJmb3J3YXJkU2xhc2hDaGFyYWN0ZXJMZW5ndGgiLCJwYXRoV2l0aG91dERpcmVjdG9yeVBhdGgiLCJmaWxlUGF0aCIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXRGaWxlUGF0aCIsInJlbGF0aXZlU291cmNlRmlsZXBhdGgiLCJyZWxhdGl2ZVNvdXJjZUZpbGVQYXRoRnJvbVNvdXJjZUZpbGVQYXRoQW5kVGFyZ2V0RmlsZVBhdGgiLCJzb3VyY2VGaWxlTmFtZSIsInNvdXJjZXMiLCJtYXAiLCJzb3VyY2UiLCJzb3VyY2VTdGFydHNXaXRoVGFyZ2V0RGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGhMZW5ndGgiLCJzdGFydCIsInJlbGF0aXZlU291cmNlRmlsZVBhdGgiLCJ0YXJnZXRGaWxlUGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZSIsInJlbGF0aXZlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFhZUE7ZUFBQUE7O1FBd0JDQztlQUFBQTs7UUFPQUM7ZUFBQUE7O1FBN0JBQztlQUFBQTs7UUFGYUM7ZUFBQUE7O1FBcUNiQztlQUFBQTs7UUFvQkFDO2VBQUFBOztRQVpBQztlQUFBQTs7UUFtQkFDO2VBQUFBOztRQWJBQztlQUFBQTs7OzJEQTlEQzt5QkFFeUI7eUJBRWI7Ozs7OztBQUU3QixJQUFNLEFBQUVDLDBCQUE0QkMscUJBQVUsQ0FBdENEO0FBRVIsSUFBTUUsOEJBQThCQyxRQUFRQyxHQUFHLElBQ3pDQyxvQ0FBb0NILDRCQUE0QkksTUFBTTtBQUVyRSxJQUFRaEIsZUFBb0RpQix3QkFBYSxDQUFqRWpCLGNBQWNJLG9DQUFzQ2Esd0JBQWEsQ0FBbkRiO0FBRXRCLFNBQVNELGVBQWVlLE1BQU07SUFDckMsSUFBSUMsT0FBTztJQUVYLElBQU1DLHFCQUFxQixRQUFRQyxJQUFJLENBQUNILFNBQ2xDSSw0QkFBNEIsVUFBVUQsSUFBSSxDQUFDSCxTQUMzQ0ssOEJBQThCLFlBQVlGLElBQUksQ0FBQ0g7SUFFckQsSUFBSSxPQUFPO0lBQ1QsR0FBRztJQUNMLE9BQU8sSUFBSUUsb0JBQW9CO0lBQzdCLEdBQUc7SUFDTCxPQUFPLElBQUlFLDJCQUEyQjtRQUNwQ0gsT0FBT0QsT0FBT00sT0FBTyxDQUFDLFNBQVNDLHVCQUFZLEVBQUVELE9BQU8sQ0FBQyxPQUFPQyx1QkFBWTtJQUMxRSxPQUFPLElBQUlGLDZCQUE2QjtRQUN0Q0osT0FBTztJQUNULE9BQU87UUFDTEEsT0FBT0QsUUFBUyxHQUFHO0lBQ3JCO0lBRUEsT0FBT0M7QUFDUDtBQUVPLFNBQVNsQix3QkFBd0JrQixJQUFJO0lBQzFDLElBQU1PLDRDQUE0Q1AsS0FBS1EsVUFBVSxDQUFDZiw4QkFDNURnQix5QkFBeUJGLDJDQUEyQyxHQUFHO0lBRTdFLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTMUIsMkJBQTJCMkIsa0JBQWtCO0lBQzNELElBQU1WLE9BQU9VLG1CQUFtQkMsU0FBUyxDQUFDZjtJQUUxQyxPQUFPSTtBQUNUO0FBRU8sU0FBU2QsaURBQWlEYyxJQUFJLEVBQUVZLGFBQWE7SUFDaEYsSUFBTUMsc0JBQXNCRCxjQUFjZixNQUFNLEVBQzFDaUIsOEJBQThCdkIsd0JBQXdCTSxNQUFNLEVBQzVEa0IsMkJBQTJCZixLQUFLVyxTQUFTLENBQUNFLHNCQUFzQkM7SUFFeEUsT0FBT0M7QUFDVDtBQUVPLFNBQVMzQixpREFBaUQ0QixRQUFRLEVBQUVDLG1CQUFtQjtJQUM1RixJQUFNQyxpQkFBaUJyQyxhQUFhb0MscUJBQXFCRDtJQUV6RCxPQUFPRTtBQUNUO0FBRU8sU0FBUzVCLGlEQUFpRDBCLFFBQVEsRUFBRUcsbUJBQW1CO0lBQzVGLElBQU1DLGlCQUFpQnZDLGFBQWFzQyxxQkFBcUJIO0lBRXpELE9BQU9JO0FBQ1Q7QUFFTyxTQUFTakMsa0RBQWtEK0IsY0FBYyxFQUFFRSxjQUFjO0lBQzlGLElBQU1DLHlCQUF5QkMsMERBQTBESixnQkFBZ0JFLGlCQUNyR0csaUJBQWlCRix3QkFBeUIsR0FBRztJQUVqRCxPQUFPRTtBQUNUO0FBRU8sU0FBU2xDLDREQUE0RG1DLE9BQU8sRUFBRVAsbUJBQW1CLEVBQUVFLG1CQUFtQjtJQUMzSEssVUFBVUEsUUFBUUMsR0FBRyxDQUFDLFNBQUNDO1FBQ3JCLElBQU1DLHNDQUFzQ0QsT0FBT2xCLFVBQVUsQ0FBQ1c7UUFFOUQsSUFBSVEscUNBQXFDO1lBQ3ZDLElBQU1DLDRCQUE0QlQsb0JBQW9CdEIsTUFBTSxFQUN0RGdDLFFBQVFELDRCQUE0QixHQUNwQ1osV0FBV1UsT0FBT2YsU0FBUyxDQUFDa0IsUUFDNUJULGlCQUFpQk0sUUFDakJSLGlCQUFpQjlCLGlEQUFpRDRCLFVBQVVDLHNCQUM1RWEseUJBQXlCUiwwREFBMERKLGdCQUFnQkU7WUFFekdNLFNBQVNJLHdCQUF5QixHQUFHO1FBQ3ZDO1FBRUEsT0FBT0o7SUFDVDtJQUVBLE9BQU9GO0FBQ1Q7QUFFQSxTQUFTRiwwREFBMERKLGNBQWMsRUFBRUUsY0FBYztJQUMvRixJQUFNVyxzQ0FBc0M5QyxrQ0FBa0NtQyxpQkFDeEVVLHlCQUF5QjlCLGFBQUksQ0FBQ2dDLFFBQVEsQ0FBQ0QscUNBQXFDYjtJQUVsRixPQUFPWTtBQUNUIn0=