find-cli 1.7.3 → 1.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.swcrc +5 -0
- package/find.js +3 -3
- package/lib/abbreviations.js +26 -0
- package/lib/action/addRootDirectoryPath.js +38 -0
- package/lib/action/find.js +73 -0
- package/lib/action/help.js +15 -0
- package/lib/action/initialise.js +23 -0
- package/lib/action/listRootDirectoryPaths.js +27 -0
- package/lib/action/removeRootDirectoryPath.js +39 -0
- package/lib/action/version.js +19 -0
- package/lib/commands.js +42 -0
- package/lib/configuration/version_1_1.js +25 -0
- package/lib/configuration/version_1_2.js +42 -0
- package/lib/configuration/version_1_3.js +24 -0
- package/lib/configuration/version_1_4.js +29 -0
- package/lib/configuration/version_1_7.js +44 -0
- package/lib/configuration.js +216 -0
- package/lib/constants.js +58 -0
- package/lib/converter/alternates.js +135 -0
- package/lib/converter/characterClass.js +148 -0
- package/lib/converter/default.js +131 -0
- package/lib/converter/directory.js +131 -0
- package/lib/converter/escapedCharacter.js +131 -0
- package/lib/converter/period.js +131 -0
- package/lib/converter/questionMark.js +131 -0
- package/lib/converter/repeatedDirectories.js +131 -0
- package/lib/converter/repeatedWildcard.js +131 -0
- package/lib/converter/singleDirectory.js +131 -0
- package/lib/converter/singleWildcard.js +131 -0
- package/lib/converter.js +71 -0
- package/lib/converters.js +42 -0
- package/lib/defaults.js +50 -0
- package/lib/descriptions.js +30 -0
- package/lib/find.js +53 -0
- package/lib/isIgnored/asynchronous.js +61 -0
- package/lib/isIgnored/synchronous.js +83 -0
- package/lib/line.js +196 -0
- package/lib/main.js +89 -0
- package/lib/messages.js +74 -0
- package/lib/occurrence.js +69 -0
- package/lib/operation/addRootDirectoryPath.js +19 -0
- package/lib/operation/find.js +69 -0
- package/lib/operation/listRootDirectoryPaths.js +38 -0
- package/lib/operation/previousRule.js +34 -0
- package/lib/operation/prompt/addRootDirectoryPath.js +41 -0
- package/lib/operation/prompt/ignoreOrPermitPath.js +37 -0
- package/lib/operation/prompt/pathRule.js +41 -0
- package/lib/operation/prompt/previousRule.js +44 -0
- package/lib/operation/prompt/removeRootDirectoryPath.js +50 -0
- package/lib/operation/prompt/rule.js +60 -0
- package/lib/operation/removeRootDirectoryPath.js +28 -0
- package/lib/operation/removeRootDirectoryPathByIndex.js +35 -0
- package/lib/operation/rule.js +34 -0
- package/lib/operation/updatePatRules.js +40 -0
- package/lib/operation/validateRootDirectoryPath.js +30 -0
- package/lib/options.js +54 -0
- package/lib/prepare.js +37 -0
- package/lib/rule/glob.js +223 -0
- package/lib/rule/regex.js +171 -0
- package/lib/rule/string.js +154 -0
- package/lib/types.js +26 -0
- package/lib/utilities/find.js +140 -0
- package/lib/utilities/literal.js +33 -0
- package/lib/utilities/log.js +45 -0
- package/lib/utilities/operation.js +32 -0
- package/lib/utilities/path.js +53 -0
- package/lib/utilities/prompt.js +97 -0
- package/lib/utilities/rule.js +17 -0
- package/lib/utilities/string.js +69 -0
- package/lib/utilities/validate.js +58 -0
- package/lib/versions.js +38 -0
- package/package.json +22 -7
- package/{bin → src}/abbreviations.js +3 -1
- package/src/action/addRootDirectoryPath.js +29 -0
- package/{bin → src}/action/find.js +8 -10
- package/{bin → src}/action/help.js +1 -3
- package/{bin → src}/action/initialise.js +3 -5
- package/src/action/listRootDirectoryPaths.js +16 -0
- package/src/action/removeRootDirectoryPath.js +31 -0
- package/src/action/version.js +13 -0
- package/src/commands.js +9 -0
- package/{bin → src}/configuration/version_1_1.js +2 -6
- package/{bin → src}/configuration/version_1_2.js +3 -7
- package/src/configuration/version_1_3.js +18 -0
- package/{bin → src}/configuration/version_1_4.js +2 -6
- package/{bin → src}/configuration/version_1_7.js +4 -9
- package/{bin → src}/configuration.js +15 -15
- package/src/constants.js +13 -0
- package/{bin → src}/converter/alternates.js +3 -3
- package/{bin → src}/converter/characterClass.js +3 -3
- package/{bin → src}/converter/default.js +2 -2
- package/{bin → src}/converter/directory.js +2 -2
- package/{bin → src}/converter/escapedCharacter.js +2 -2
- package/{bin → src}/converter/period.js +2 -2
- package/{bin → src}/converter/questionMark.js +2 -2
- package/{bin → src}/converter/repeatedDirectories.js +2 -2
- package/{bin → src}/converter/repeatedWildcard.js +2 -2
- package/{bin → src}/converter/singleDirectory.js +2 -2
- package/{bin → src}/converter/singleWildcard.js +2 -2
- package/{bin → src}/converter.js +3 -5
- package/src/converters.js +29 -0
- package/src/defaults.js +11 -0
- package/src/descriptions.js +6 -0
- package/{bin → src}/find.js +3 -5
- package/{bin → src}/isIgnored/asynchronous.js +7 -12
- package/{bin → src}/isIgnored/synchronous.js +5 -10
- package/{bin → src}/line.js +4 -6
- package/{bin → src}/main.js +19 -21
- package/src/messages.js +17 -0
- package/{bin → src}/occurrence.js +2 -4
- package/{bin → src}/operation/addRootDirectoryPath.js +2 -4
- package/{bin → src}/operation/find.js +8 -10
- package/{bin → src}/operation/listRootDirectoryPaths.js +4 -10
- package/{bin → src}/operation/previousRule.js +3 -5
- package/{bin → src}/operation/prompt/addRootDirectoryPath.js +5 -7
- package/{bin → src}/operation/prompt/ignoreOrPermitPath.js +6 -8
- package/{bin → src}/operation/prompt/pathRule.js +6 -8
- package/{bin → src}/operation/prompt/previousRule.js +4 -6
- package/{bin → src}/operation/prompt/removeRootDirectoryPath.js +6 -8
- package/{bin → src}/operation/prompt/rule.js +7 -9
- package/{bin → src}/operation/removeRootDirectoryPath.js +3 -5
- package/{bin → src}/operation/removeRootDirectoryPathByIndex.js +3 -9
- package/{bin → src}/operation/rule.js +2 -4
- package/{bin → src}/operation/updatePatRules.js +3 -5
- package/{bin → src}/operation/validateRootDirectoryPath.js +3 -5
- package/src/options.js +12 -0
- package/{bin → src}/prepare.js +11 -13
- package/{bin → src}/rule/glob.js +7 -9
- package/{bin → src}/rule/regex.js +12 -14
- package/{bin → src}/rule/string.js +5 -7
- package/src/types.js +5 -0
- package/{bin → src}/utilities/find.js +7 -11
- package/src/utilities/literal.js +13 -0
- package/src/utilities/log.js +18 -0
- package/{bin → src}/utilities/operation.js +2 -6
- package/{bin → src}/utilities/path.js +5 -11
- package/{bin → src}/utilities/prompt.js +5 -10
- package/{bin → src}/utilities/rule.js +1 -5
- package/src/utilities/string.js +21 -0
- package/{bin → src}/utilities/validate.js +5 -12
- package/src/versions.js +8 -0
- package/bin/action/addRootDirectoryPath.js +0 -31
- package/bin/action/listRootDirectoryPaths.js +0 -18
- package/bin/action/removeRootDirectoryPath.js +0 -33
- package/bin/action/version.js +0 -15
- package/bin/commands.js +0 -19
- package/bin/configuration/version_1_3.js +0 -22
- package/bin/constants.js +0 -27
- package/bin/converters.js +0 -29
- package/bin/defaults.js +0 -23
- package/bin/descriptions.js +0 -13
- package/bin/messages.js +0 -35
- package/bin/options.js +0 -25
- package/bin/types.js +0 -11
- package/bin/utilities/literal.js +0 -19
- package/bin/utilities/log.js +0 -26
- package/bin/utilities/string.js +0 -33
- package/bin/versions.js +0 -17
|
@@ -0,0 +1,171 @@
|
|
|
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 RegexRule;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _occurrence = /*#__PURE__*/ _interop_require_default(require("../occurrence"));
|
|
12
|
+
var _types = require("../types");
|
|
13
|
+
var _literal = require("../utilities/literal");
|
|
14
|
+
var _string = require("../utilities/string");
|
|
15
|
+
function _class_call_check(instance, Constructor) {
|
|
16
|
+
if (!(instance instanceof Constructor)) {
|
|
17
|
+
throw new TypeError("Cannot call a class as a function");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function _defineProperties(target, props) {
|
|
21
|
+
for(var i = 0; i < props.length; i++){
|
|
22
|
+
var descriptor = props[i];
|
|
23
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
+
descriptor.configurable = true;
|
|
25
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
30
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
+
return Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_default(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
var RegexRule = /*#__PURE__*/ function() {
|
|
40
|
+
function RegexRule(type, pattern, regExp) {
|
|
41
|
+
_class_call_check(this, RegexRule);
|
|
42
|
+
this.type = type;
|
|
43
|
+
this.pattern = pattern;
|
|
44
|
+
this.regExp = regExp;
|
|
45
|
+
}
|
|
46
|
+
_create_class(RegexRule, [
|
|
47
|
+
{
|
|
48
|
+
key: "getType",
|
|
49
|
+
value: function getType() {
|
|
50
|
+
return this.type;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "getPattern",
|
|
55
|
+
value: function getPattern() {
|
|
56
|
+
return this.pattern;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "getRegExp",
|
|
61
|
+
value: function getRegExp() {
|
|
62
|
+
return this.regExp;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: "toJSON",
|
|
67
|
+
value: function toJSON() {
|
|
68
|
+
var type = this.type, pattern = this.pattern, json = {
|
|
69
|
+
type: type,
|
|
70
|
+
pattern: pattern
|
|
71
|
+
};
|
|
72
|
+
return json;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
key: "find",
|
|
77
|
+
value: function find(line) {
|
|
78
|
+
var occurrences = [], content = line.getContent();
|
|
79
|
+
var offset = 0, string = content, result = string.match(this.regExp);
|
|
80
|
+
while(result !== null){
|
|
81
|
+
var occurrence = _occurrence.default.fromResultAndOffset(result, offset), end = occurrence.getEnd(), start = end; ///
|
|
82
|
+
string = string.substring(start); ///
|
|
83
|
+
offset += start;
|
|
84
|
+
occurrences.push(occurrence);
|
|
85
|
+
result = string.match(this.regExp);
|
|
86
|
+
}
|
|
87
|
+
return occurrences;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
key: "match",
|
|
92
|
+
value: function match(string) {
|
|
93
|
+
var matches = this.regExp.test(string);
|
|
94
|
+
return matches;
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
key: "isEqualTo",
|
|
99
|
+
value: function isEqualTo(rule) {
|
|
100
|
+
var equalTo = false;
|
|
101
|
+
var ruleType = rule.getType();
|
|
102
|
+
if (ruleType === this.type) {
|
|
103
|
+
var rulePattern = rule.getPattern();
|
|
104
|
+
if (rulePattern === this.pattern) {
|
|
105
|
+
equalTo = true;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return equalTo;
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "asString",
|
|
113
|
+
value: function asString() {
|
|
114
|
+
var string = (0, _string.addForwardSlashes)(this.pattern); ///
|
|
115
|
+
return string;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
], [
|
|
119
|
+
{
|
|
120
|
+
key: "fromJSON",
|
|
121
|
+
value: function fromJSON(json) {
|
|
122
|
+
var regexRule = null;
|
|
123
|
+
var type = json.type;
|
|
124
|
+
if (type === _types.REGEX_TYPE) {
|
|
125
|
+
var pattern = json.pattern, regExp = new RegExp(pattern);
|
|
126
|
+
regexRule = new RegexRule(type, pattern, regExp);
|
|
127
|
+
}
|
|
128
|
+
return regexRule;
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
key: "fromStringAnchoredAndDirectory",
|
|
133
|
+
value: function fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
134
|
+
var regexRule = null;
|
|
135
|
+
var pattern = patternFromStringAndDirectory(string, anchored, directory);
|
|
136
|
+
if (pattern !== null) {
|
|
137
|
+
var type = _types.REGEX_TYPE, regExp = new RegExp(pattern);
|
|
138
|
+
regexRule = new RegexRule(type, pattern, regExp);
|
|
139
|
+
}
|
|
140
|
+
return regexRule;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
]);
|
|
144
|
+
return RegexRule;
|
|
145
|
+
}();
|
|
146
|
+
function patternFromStringAndDirectory(string, anchored, directory) {
|
|
147
|
+
var pattern;
|
|
148
|
+
var stringRegexLiteral = (0, _literal.isStringRegexLiteral)(string);
|
|
149
|
+
if (stringRegexLiteral) {
|
|
150
|
+
var regexLiteral = string; ///
|
|
151
|
+
pattern = (0, _string.removeForwardSlashes)(regexLiteral);
|
|
152
|
+
pattern = (0, _string.removeAnchors)(pattern); ///
|
|
153
|
+
pattern = (0, _string.removeTrailingEscapedForwardSlash)(pattern); ///
|
|
154
|
+
if (directory) {
|
|
155
|
+
pattern = (0, _string.addTrailingEscapedForwardSlash)(pattern); ///
|
|
156
|
+
}
|
|
157
|
+
if (anchored) {
|
|
158
|
+
pattern = (0, _string.addAnchors)(pattern);
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
new RegExp(pattern);
|
|
162
|
+
} catch (error) {
|
|
163
|
+
pattern = null;
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
pattern = null;
|
|
167
|
+
}
|
|
168
|
+
return pattern;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlL3JlZ2V4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2NjdXJyZW5jZSBmcm9tIFwiLi4vb2NjdXJyZW5jZVwiO1xuXG5pbXBvcnQgeyBSRUdFWF9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBpc1N0cmluZ1JlZ2V4TGl0ZXJhbCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGl0ZXJhbFwiO1xuaW1wb3J0IHsgYWRkQW5jaG9ycyxcbiAgICAgICAgIHJlbW92ZUFuY2hvcnMsXG4gICAgICAgICBhZGRGb3J3YXJkU2xhc2hlcyxcbiAgICAgICAgIHJlbW92ZUZvcndhcmRTbGFzaGVzLFxuICAgICAgICAgYWRkVHJhaWxpbmdFc2NhcGVkRm9yd2FyZFNsYXNoLFxuICAgICAgICAgcmVtb3ZlVHJhaWxpbmdFc2NhcGVkRm9yd2FyZFNsYXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhSdWxlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgcGF0dGVybiwgcmVnRXhwKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xuICAgIHRoaXMucmVnRXhwID0gcmVnRXhwO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0UGF0dGVybigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXR0ZXJuO1xuICB9XG5cbiAgZ2V0UmVnRXhwKCkge1xuICAgIHJldHVybiB0aGlzLnJlZ0V4cDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy50eXBlLFxuICAgICAgICAgIHBhdHRlcm4gPSB0aGlzLnBhdHRlcm4sXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBwYXR0ZXJuXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgZmluZChsaW5lKSB7XG4gICAgY29uc3Qgb2NjdXJyZW5jZXMgPSBbXSxcbiAgICAgICAgICBjb250ZW50ID0gbGluZS5nZXRDb250ZW50KCk7XG5cbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgICAgc3RyaW5nID0gY29udGVudCwgLy8vXG4gICAgICAgIHJlc3VsdCA9IHN0cmluZy5tYXRjaCh0aGlzLnJlZ0V4cCk7XG5cbiAgICB3aGlsZSAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvY2N1cnJlbmNlID0gT2NjdXJyZW5jZS5mcm9tUmVzdWx0QW5kT2Zmc2V0KHJlc3VsdCwgb2Zmc2V0KSxcbiAgICAgICAgICAgIGVuZCA9IG9jY3VycmVuY2UuZ2V0RW5kKCksXG4gICAgICAgICAgICBzdGFydCA9IGVuZDsgIC8vL1xuXG4gICAgICBzdHJpbmcgPSBzdHJpbmcuc3Vic3RyaW5nKHN0YXJ0KTsgLy8vXG5cbiAgICAgIG9mZnNldCArPSBzdGFydDtcblxuICAgICAgb2NjdXJyZW5jZXMucHVzaChvY2N1cnJlbmNlKTtcblxuICAgICAgcmVzdWx0ID0gc3RyaW5nLm1hdGNoKHRoaXMucmVnRXhwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2NjdXJyZW5jZXM7XG4gIH1cblxuICBtYXRjaChzdHJpbmcpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdGhpcy5yZWdFeHAudGVzdChzdHJpbmcpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBpc0VxdWFsVG8ocnVsZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlVHlwZSA9IHJ1bGUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHJ1bGVUeXBlID09PSB0aGlzLnR5cGUpIHtcbiAgICAgIGNvbnN0IHJ1bGVQYXR0ZXJuID0gcnVsZS5nZXRQYXR0ZXJuKCk7XG5cbiAgICAgIGlmIChydWxlUGF0dGVybiA9PT0gdGhpcy5wYXR0ZXJuKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gYWRkRm9yd2FyZFNsYXNoZXModGhpcy5wYXR0ZXJuKTsgIC8vL1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IHJlZ2V4UnVsZSA9IG51bGw7XG5cbiAgICBjb25zdCB7IHR5cGUgfSA9IGpzb247XG5cbiAgICBpZiAodHlwZSA9PT0gUkVHRVhfVFlQRSkge1xuICAgICAgY29uc3QgeyBwYXR0ZXJuIH0gPSBqc29uLFxuICAgICAgICAgICAgcmVnRXhwID0gbmV3IFJlZ0V4cChwYXR0ZXJuKTtcblxuICAgICAgcmVnZXhSdWxlID0gbmV3IFJlZ2V4UnVsZSh0eXBlLCBwYXR0ZXJuLCByZWdFeHApO1xuICAgIH1cblxuICAgIHJldHVybiByZWdleFJ1bGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZ0FuY2hvcmVkQW5kRGlyZWN0b3J5KHN0cmluZywgYW5jaG9yZWQsIGRpcmVjdG9yeSkge1xuICAgIGxldCByZWdleFJ1bGUgPSBudWxsO1xuXG4gICAgY29uc3QgcGF0dGVybiA9IHBhdHRlcm5Gcm9tU3RyaW5nQW5kRGlyZWN0b3J5KHN0cmluZywgYW5jaG9yZWQsIGRpcmVjdG9yeSk7XG5cbiAgICBpZiAocGF0dGVybiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IFJFR0VYX1RZUEUsXG4gICAgICAgICAgICByZWdFeHAgPSBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuXG4gICAgICByZWdleFJ1bGUgPSBuZXcgUmVnZXhSdWxlKHR5cGUsIHBhdHRlcm4sIHJlZ0V4cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2V4UnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXR0ZXJuRnJvbVN0cmluZ0FuZERpcmVjdG9yeShzdHJpbmcsIGFuY2hvcmVkLCBkaXJlY3RvcnkpIHtcbiAgbGV0IHBhdHRlcm47XG5cbiAgY29uc3Qgc3RyaW5nUmVnZXhMaXRlcmFsID0gaXNTdHJpbmdSZWdleExpdGVyYWwoc3RyaW5nKTtcblxuICBpZiAoc3RyaW5nUmVnZXhMaXRlcmFsKSB7XG4gICAgY29uc3QgcmVnZXhMaXRlcmFsID0gc3RyaW5nOyAgLy8vXG5cbiAgICBwYXR0ZXJuID0gcmVtb3ZlRm9yd2FyZFNsYXNoZXMocmVnZXhMaXRlcmFsKTtcblxuICAgIHBhdHRlcm4gPSByZW1vdmVBbmNob3JzKHBhdHRlcm4pOyAvLy9cblxuICAgIHBhdHRlcm4gPSByZW1vdmVUcmFpbGluZ0VzY2FwZWRGb3J3YXJkU2xhc2gocGF0dGVybik7ICAvLy9cblxuICAgIGlmIChkaXJlY3RvcnkpIHtcbiAgICAgIHBhdHRlcm4gPSBhZGRUcmFpbGluZ0VzY2FwZWRGb3J3YXJkU2xhc2gocGF0dGVybik7IC8vL1xuICAgIH1cblxuICAgIGlmIChhbmNob3JlZCkge1xuICAgICAgcGF0dGVybiA9IGFkZEFuY2hvcnMocGF0dGVybik7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIG5ldyBSZWdFeHAocGF0dGVybik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHBhdHRlcm4gPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwYXR0ZXJuID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwYXR0ZXJuO1xufVxuXG4iXSwibmFtZXMiOlsiUmVnZXhSdWxlIiwidHlwZSIsInBhdHRlcm4iLCJyZWdFeHAiLCJnZXRUeXBlIiwiZ2V0UGF0dGVybiIsImdldFJlZ0V4cCIsInRvSlNPTiIsImpzb24iLCJmaW5kIiwibGluZSIsIm9jY3VycmVuY2VzIiwiY29udGVudCIsImdldENvbnRlbnQiLCJvZmZzZXQiLCJzdHJpbmciLCJyZXN1bHQiLCJtYXRjaCIsIm9jY3VycmVuY2UiLCJPY2N1cnJlbmNlIiwiZnJvbVJlc3VsdEFuZE9mZnNldCIsImVuZCIsImdldEVuZCIsInN0YXJ0Iiwic3Vic3RyaW5nIiwicHVzaCIsIm1hdGNoZXMiLCJ0ZXN0IiwiaXNFcXVhbFRvIiwicnVsZSIsImVxdWFsVG8iLCJydWxlVHlwZSIsInJ1bGVQYXR0ZXJuIiwiYXNTdHJpbmciLCJhZGRGb3J3YXJkU2xhc2hlcyIsImZyb21KU09OIiwicmVnZXhSdWxlIiwiUkVHRVhfVFlQRSIsIlJlZ0V4cCIsImZyb21TdHJpbmdBbmNob3JlZEFuZERpcmVjdG9yeSIsImFuY2hvcmVkIiwiZGlyZWN0b3J5IiwicGF0dGVybkZyb21TdHJpbmdBbmREaXJlY3RvcnkiLCJzdHJpbmdSZWdleExpdGVyYWwiLCJpc1N0cmluZ1JlZ2V4TGl0ZXJhbCIsInJlZ2V4TGl0ZXJhbCIsInJlbW92ZUZvcndhcmRTbGFzaGVzIiwicmVtb3ZlQW5jaG9ycyIsInJlbW92ZVRyYWlsaW5nRXNjYXBlZEZvcndhcmRTbGFzaCIsImFkZFRyYWlsaW5nRXNjYXBlZEZvcndhcmRTbGFzaCIsImFkZEFuY2hvcnMiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFhcUJBOzs7aUVBWEU7cUJBRUk7dUJBQ1U7c0JBTWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkMsSUFBQSxBQUFNQSwwQkFBTjthQUFNQSxVQUNQQyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsTUFBTTtnQ0FEZEg7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxNQUFNLEdBQUdBOztrQkFKR0g7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7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
|
|
@@ -0,0 +1,154 @@
|
|
|
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 StringRule;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _occurrence = /*#__PURE__*/ _interop_require_default(require("../occurrence"));
|
|
12
|
+
var _types = require("../types");
|
|
13
|
+
var _literal = require("../utilities/literal");
|
|
14
|
+
var _string = require("../utilities/string");
|
|
15
|
+
function _class_call_check(instance, Constructor) {
|
|
16
|
+
if (!(instance instanceof Constructor)) {
|
|
17
|
+
throw new TypeError("Cannot call a class as a function");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function _defineProperties(target, props) {
|
|
21
|
+
for(var i = 0; i < props.length; i++){
|
|
22
|
+
var descriptor = props[i];
|
|
23
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
+
descriptor.configurable = true;
|
|
25
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
30
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
+
return Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_default(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
var StringRule = /*#__PURE__*/ function() {
|
|
40
|
+
function StringRule(type, string) {
|
|
41
|
+
_class_call_check(this, StringRule);
|
|
42
|
+
this.type = type;
|
|
43
|
+
this.string = string;
|
|
44
|
+
}
|
|
45
|
+
_create_class(StringRule, [
|
|
46
|
+
{
|
|
47
|
+
key: "getType",
|
|
48
|
+
value: function getType() {
|
|
49
|
+
return this.type;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "getString",
|
|
54
|
+
value: function getString() {
|
|
55
|
+
return this.string;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "toJSON",
|
|
60
|
+
value: function toJSON() {
|
|
61
|
+
var type = this.type, string = this.string, json = {
|
|
62
|
+
type: type,
|
|
63
|
+
string: string
|
|
64
|
+
};
|
|
65
|
+
return json;
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: "find",
|
|
70
|
+
value: function find(line) {
|
|
71
|
+
var occurrences = [], content = line.getContent();
|
|
72
|
+
var offset = 0, string = content, index = string.indexOf(this.string), length = this.string.length;
|
|
73
|
+
while(index !== -1){
|
|
74
|
+
var occurrence = _occurrence.default.fromIndexLengthAndOffset(index, length, offset), end = occurrence.getEnd(), start = end; ///
|
|
75
|
+
string = string.substring(start); ///
|
|
76
|
+
offset += start;
|
|
77
|
+
occurrences.push(occurrence);
|
|
78
|
+
index = string.indexOf(this.string);
|
|
79
|
+
}
|
|
80
|
+
return occurrences;
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: "match",
|
|
85
|
+
value: function match(string) {
|
|
86
|
+
var matches = this.string === string;
|
|
87
|
+
return matches;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
key: "isEqualTo",
|
|
92
|
+
value: function isEqualTo(rule) {
|
|
93
|
+
var equalTo = false;
|
|
94
|
+
var ruleType = rule.getType();
|
|
95
|
+
if (ruleType === this.type) {
|
|
96
|
+
var ruleString = rule.getString();
|
|
97
|
+
if (ruleString === this.string) {
|
|
98
|
+
equalTo = true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return equalTo;
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: "asString",
|
|
106
|
+
value: function asString() {
|
|
107
|
+
var string = '"'.concat(this.string, '"');
|
|
108
|
+
return string;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
], [
|
|
112
|
+
{
|
|
113
|
+
key: "fromJSON",
|
|
114
|
+
value: function fromJSON(json) {
|
|
115
|
+
var stringRule = null;
|
|
116
|
+
var type = json.type;
|
|
117
|
+
if (type === _types.STRING_TYPE) {
|
|
118
|
+
var string = json.string;
|
|
119
|
+
stringRule = new StringRule(type, string);
|
|
120
|
+
}
|
|
121
|
+
return stringRule;
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "fromStringAnchoredAndDirectory",
|
|
126
|
+
value: function fromStringAnchoredAndDirectory(string, anchored, directory) {
|
|
127
|
+
var stringRule = null;
|
|
128
|
+
string = stringFromStringAndDirectory(string, directory); ///
|
|
129
|
+
if (string !== null) {
|
|
130
|
+
var type = _types.STRING_TYPE; ///
|
|
131
|
+
stringRule = new StringRule(type, string);
|
|
132
|
+
}
|
|
133
|
+
return stringRule;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
]);
|
|
137
|
+
return StringRule;
|
|
138
|
+
}();
|
|
139
|
+
function stringFromStringAndDirectory(string, directory) {
|
|
140
|
+
var stringStringLiteral = (0, _literal.isStringStringLiteral)(string);
|
|
141
|
+
if (stringStringLiteral) {
|
|
142
|
+
var stringLiteral = string; ///
|
|
143
|
+
string = (0, _string.removeDoubleQuotes)(stringLiteral); ///
|
|
144
|
+
string = (0, _string.removeTrailingForwardSlash)(string); ///
|
|
145
|
+
if (directory) {
|
|
146
|
+
string = (0, _string.addTrailingForwardSlash)(string); ///
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
string = null;
|
|
150
|
+
}
|
|
151
|
+
return string;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlL3N0cmluZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE9jY3VycmVuY2UgZnJvbSBcIi4uL29jY3VycmVuY2VcIjtcblxuaW1wb3J0IHsgU1RSSU5HX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGlzU3RyaW5nU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGl0ZXJhbFwiO1xuaW1wb3J0IHsgcmVtb3ZlRG91YmxlUXVvdGVzLCBhZGRUcmFpbGluZ0ZvcndhcmRTbGFzaCwgcmVtb3ZlVHJhaWxpbmdGb3J3YXJkU2xhc2ggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJpbmdSdWxlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgc3RyaW5nKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSxcbiAgICAgICAgICBzdHJpbmcgPSB0aGlzLnN0cmluZyxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIGZpbmQobGluZSkge1xuICAgIGNvbnN0IG9jY3VycmVuY2VzID0gW10sXG4gICAgICAgICAgY29udGVudCA9IGxpbmUuZ2V0Q29udGVudCgpO1xuXG4gICAgbGV0IG9mZnNldCA9IDAsXG4gICAgICAgIHN0cmluZyA9IGNvbnRlbnQsIC8vL1xuICAgICAgICBpbmRleCA9IHN0cmluZy5pbmRleE9mKHRoaXMuc3RyaW5nKSxcbiAgICAgICAgbGVuZ3RoID0gdGhpcy5zdHJpbmcubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3Qgb2NjdXJyZW5jZSA9IE9jY3VycmVuY2UuZnJvbUluZGV4TGVuZ3RoQW5kT2Zmc2V0KGluZGV4LCBsZW5ndGgsIG9mZnNldCksXG4gICAgICAgICAgICBlbmQgPSBvY2N1cnJlbmNlLmdldEVuZCgpLFxuICAgICAgICAgICAgc3RhcnQgPSBlbmQ7ICAvLy9cblxuICAgICAgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhzdGFydCk7IC8vL1xuXG4gICAgICBvZmZzZXQgKz0gc3RhcnQ7XG5cbiAgICAgIG9jY3VycmVuY2VzLnB1c2gob2NjdXJyZW5jZSk7XG5cbiAgICAgIGluZGV4ID0gc3RyaW5nLmluZGV4T2YodGhpcy5zdHJpbmcpO1xuICAgIH1cblxuICAgIHJldHVybiBvY2N1cnJlbmNlcztcbiAgfVxuXG4gIG1hdGNoKHN0cmluZykge1xuICAgIGNvbnN0IG1hdGNoZXMgPSAodGhpcy5zdHJpbmcgPT09IHN0cmluZyk7XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIGlzRXF1YWxUbyhydWxlKSB7XG4gICAgbGV0IGVxdWFsVG8gPSBmYWxzZTtcblxuICAgIGNvbnN0IHJ1bGVUeXBlID0gcnVsZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAocnVsZVR5cGUgPT09IHRoaXMudHlwZSkge1xuICAgICAgY29uc3QgcnVsZVN0cmluZyA9IHJ1bGUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGlmIChydWxlU3RyaW5nID09PSB0aGlzLnN0cmluZykge1xuICAgICAgICBlcXVhbFRvID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IGBcIiR7dGhpcy5zdHJpbmd9XCJgO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IHN0cmluZ1J1bGUgPSBudWxsO1xuXG4gICAgY29uc3QgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAgaWYgKHR5cGUgPT09IFNUUklOR19UWVBFKSB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbjtcblxuICAgICAgc3RyaW5nUnVsZSA9IG5ldyBTdHJpbmdSdWxlKHR5cGUsIHN0cmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZ1J1bGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZ0FuY2hvcmVkQW5kRGlyZWN0b3J5KHN0cmluZywgYW5jaG9yZWQsIGRpcmVjdG9yeSkge1xuICAgIGxldCBzdHJpbmdSdWxlID0gbnVsbDtcblxuICAgIHN0cmluZyA9IHN0cmluZ0Zyb21TdHJpbmdBbmREaXJlY3Rvcnkoc3RyaW5nLCBkaXJlY3RvcnkpOyAvLy9cblxuICAgIGlmIChzdHJpbmcgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBTVFJJTkdfVFlQRTsgLy8vXG5cbiAgICAgIHN0cmluZ1J1bGUgPSBuZXcgU3RyaW5nUnVsZSh0eXBlLCBzdHJpbmcpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmdSdWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21TdHJpbmdBbmREaXJlY3Rvcnkoc3RyaW5nLCBkaXJlY3RvcnkpIHtcbiAgY29uc3Qgc3RyaW5nU3RyaW5nTGl0ZXJhbCA9IGlzU3RyaW5nU3RyaW5nTGl0ZXJhbChzdHJpbmcpO1xuXG4gIGlmIChzdHJpbmdTdHJpbmdMaXRlcmFsKSB7XG4gICAgY29uc3Qgc3RyaW5nTGl0ZXJhbCA9IHN0cmluZzsgLy8vXG5cbiAgICBzdHJpbmcgPSByZW1vdmVEb3VibGVRdW90ZXMoc3RyaW5nTGl0ZXJhbCk7ICAvLy9cblxuICAgIHN0cmluZyA9IHJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoKHN0cmluZyk7ICAvLy9cblxuICAgIGlmIChkaXJlY3RvcnkpIHtcbiAgICAgIHN0cmluZyA9IGFkZFRyYWlsaW5nRm9yd2FyZFNsYXNoKHN0cmluZyk7IC8vL1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJTdHJpbmdSdWxlIiwidHlwZSIsInN0cmluZyIsImdldFR5cGUiLCJnZXRTdHJpbmciLCJ0b0pTT04iLCJqc29uIiwiZmluZCIsImxpbmUiLCJvY2N1cnJlbmNlcyIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwib2Zmc2V0IiwiaW5kZXgiLCJpbmRleE9mIiwibGVuZ3RoIiwib2NjdXJyZW5jZSIsIk9jY3VycmVuY2UiLCJmcm9tSW5kZXhMZW5ndGhBbmRPZmZzZXQiLCJlbmQiLCJnZXRFbmQiLCJzdGFydCIsInN1YnN0cmluZyIsInB1c2giLCJtYXRjaCIsIm1hdGNoZXMiLCJpc0VxdWFsVG8iLCJydWxlIiwiZXF1YWxUbyIsInJ1bGVUeXBlIiwicnVsZVN0cmluZyIsImFzU3RyaW5nIiwiZnJvbUpTT04iLCJzdHJpbmdSdWxlIiwiU1RSSU5HX1RZUEUiLCJmcm9tU3RyaW5nQW5jaG9yZWRBbmREaXJlY3RvcnkiLCJhbmNob3JlZCIsImRpcmVjdG9yeSIsInN0cmluZ0Zyb21TdHJpbmdBbmREaXJlY3RvcnkiLCJzdHJpbmdTdHJpbmdMaXRlcmFsIiwiaXNTdHJpbmdTdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbCIsInJlbW92ZURvdWJsZVF1b3RlcyIsInJlbW92ZVRyYWlsaW5nRm9yd2FyZFNsYXNoIiwiYWRkVHJhaWxpbmdGb3J3YXJkU2xhc2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O2lFQU5FO3FCQUVLO3VCQUNVO3NCQUNrRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6RSxJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLElBQUksRUFBRUMsTUFBTTtnQ0FETEY7UUFF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
|
package/lib/types.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
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 GLOB_TYPE () {
|
|
13
|
+
return GLOB_TYPE;
|
|
14
|
+
},
|
|
15
|
+
get REGEX_TYPE () {
|
|
16
|
+
return REGEX_TYPE;
|
|
17
|
+
},
|
|
18
|
+
get STRING_TYPE () {
|
|
19
|
+
return STRING_TYPE;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var GLOB_TYPE = "glob";
|
|
23
|
+
var REGEX_TYPE = "regex";
|
|
24
|
+
var STRING_TYPE = "string";
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IEdMT0JfVFlQRSA9IFwiZ2xvYlwiO1xuZXhwb3J0IGNvbnN0IFJFR0VYX1RZUEUgPSBcInJlZ2V4XCI7XG5leHBvcnQgY29uc3QgU1RSSU5HX1RZUEUgPSBcInN0cmluZ1wiO1xuIl0sIm5hbWVzIjpbIkdMT0JfVFlQRSIsIlJFR0VYX1RZUEUiLCJTVFJJTkdfVFlQRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBRWFBO2VBQUFBOztRQUNBQztlQUFBQTs7UUFDQUM7ZUFBQUE7OztBQUZOLElBQU1GLFlBQVk7QUFDbEIsSUFBTUMsYUFBYTtBQUNuQixJQUFNQyxjQUFjIn0=
|
|
@@ -0,0 +1,140 @@
|
|
|
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 findInEntries;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _find = /*#__PURE__*/ _interop_require_default(require("../find"));
|
|
13
|
+
var _log = require("../utilities/log");
|
|
14
|
+
var _synchronous = require("../isIgnored/synchronous");
|
|
15
|
+
var _asynchronous = require("../isIgnored/asynchronous");
|
|
16
|
+
var _path = require("../utilities/path");
|
|
17
|
+
function _interop_require_default(obj) {
|
|
18
|
+
return obj && obj.__esModule ? obj : {
|
|
19
|
+
default: obj
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
|
|
23
|
+
function findInEntries(entryPaths, callback, context) {
|
|
24
|
+
var synchronous = true;
|
|
25
|
+
var entryNamesLength;
|
|
26
|
+
entryNamesLength = entryPaths.length;
|
|
27
|
+
while(entryNamesLength > 0){
|
|
28
|
+
var entryPath = entryPaths.shift();
|
|
29
|
+
synchronous = findInEntry(entryPath, entryPaths, callback, context);
|
|
30
|
+
if (!synchronous) {
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
entryNamesLength = entryPaths.length;
|
|
34
|
+
}
|
|
35
|
+
return synchronous;
|
|
36
|
+
}
|
|
37
|
+
function findInEntry(entryPath, entryPaths, callback, context) {
|
|
38
|
+
var synchronous;
|
|
39
|
+
var path = entryPath, directory = isEntryDirectory(path);
|
|
40
|
+
if (directory) {
|
|
41
|
+
var directoryPath = entryPath; ///
|
|
42
|
+
synchronous = findInDirectory(directoryPath, function(pathIgnored) {
|
|
43
|
+
var synchronous = pathIgnored !== null ? findInEntries(entryPaths, callback, context) : true;
|
|
44
|
+
if (synchronous) {
|
|
45
|
+
callback(pathIgnored);
|
|
46
|
+
}
|
|
47
|
+
}, context);
|
|
48
|
+
} else {
|
|
49
|
+
var filePath = entryPath; ///
|
|
50
|
+
synchronous = findInFile(filePath, function(pathIgnored) {
|
|
51
|
+
var synchronous = pathIgnored !== null ? findInEntries(entryPaths, callback, context) : true;
|
|
52
|
+
if (synchronous) {
|
|
53
|
+
callback(pathIgnored);
|
|
54
|
+
}
|
|
55
|
+
}, context);
|
|
56
|
+
}
|
|
57
|
+
if (synchronous) {
|
|
58
|
+
synchronous = findInEntries(entryPaths, callback, context);
|
|
59
|
+
}
|
|
60
|
+
return synchronous;
|
|
61
|
+
}
|
|
62
|
+
function findInFile(filePath, callback, context) {
|
|
63
|
+
var synchronous;
|
|
64
|
+
var filePathIgnored = (0, _synchronous.synchronousIsFilePathIgnored)(filePath, context);
|
|
65
|
+
if (filePathIgnored !== null) {
|
|
66
|
+
synchronous = true;
|
|
67
|
+
var quietly = context.quietly;
|
|
68
|
+
if (!quietly) {
|
|
69
|
+
var message;
|
|
70
|
+
var format = context.format, ruleString = context.ruleString;
|
|
71
|
+
message = filePathIgnored ? "Ignore ".concat(filePath) : "Permit ".concat(filePath);
|
|
72
|
+
if (format) {
|
|
73
|
+
message = filePathIgnored ? (0, _log.red)(message) : (0, _log.green)(message);
|
|
74
|
+
}
|
|
75
|
+
message = "".concat(message, " ").concat(ruleString);
|
|
76
|
+
console.log(message);
|
|
77
|
+
}
|
|
78
|
+
if (!filePathIgnored) {
|
|
79
|
+
var filesTotal = context.filesTotal;
|
|
80
|
+
filesTotal++;
|
|
81
|
+
Object.assign(context, {
|
|
82
|
+
filesTotal: filesTotal
|
|
83
|
+
});
|
|
84
|
+
var dryRun = context.dryRun;
|
|
85
|
+
if (!dryRun) {
|
|
86
|
+
(0, _find.default)(filePath, context);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
synchronous = false;
|
|
91
|
+
(0, _asynchronous.asynchronousIsFilePathIgnored)(filePath, context, function(pathIgnored) {
|
|
92
|
+
var synchronous = pathIgnored !== null ? findInFile(filePath, callback, context) : true;
|
|
93
|
+
if (synchronous) {
|
|
94
|
+
callback(pathIgnored);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return synchronous;
|
|
99
|
+
}
|
|
100
|
+
function findInDirectory(directoryPath, callback, context) {
|
|
101
|
+
var synchronous;
|
|
102
|
+
var directoryPathIgnored = (0, _synchronous.synchronousIsDirectoryPathIgnored)(directoryPath, context);
|
|
103
|
+
if (directoryPathIgnored !== null) {
|
|
104
|
+
synchronous = true;
|
|
105
|
+
var directoryPathRootDirectoryPath = (0, _path.isDirectoryPathRootDirectoryPath)(directoryPath, context);
|
|
106
|
+
if (!directoryPathRootDirectoryPath) {
|
|
107
|
+
var quietly = context.quietly;
|
|
108
|
+
if (!quietly) {
|
|
109
|
+
var message;
|
|
110
|
+
var format = context.format, ruleString = context.ruleString;
|
|
111
|
+
message = directoryPathIgnored ? "Ignore ".concat(directoryPath, "/") : "Permit ".concat(directoryPath, "/");
|
|
112
|
+
if (format) {
|
|
113
|
+
message = directoryPathIgnored ? (0, _log.red)(message) : (0, _log.green)(message);
|
|
114
|
+
}
|
|
115
|
+
message = "".concat(message, " ").concat(ruleString);
|
|
116
|
+
console.log(message);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (!directoryPathIgnored) {
|
|
120
|
+
var directoriesTotal = context.directoriesTotal;
|
|
121
|
+
directoriesTotal++;
|
|
122
|
+
Object.assign(context, {
|
|
123
|
+
directoriesTotal: directoriesTotal
|
|
124
|
+
});
|
|
125
|
+
var entryNames = readDirectory(directoryPath), entryPaths = (0, _path.entryPathsFromEntryNamesAndDirectoryPath)(entryNames, directoryPath);
|
|
126
|
+
synchronous = findInEntries(entryPaths, callback, context);
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
synchronous = false;
|
|
130
|
+
(0, _asynchronous.asynchronousIsDirectoryPathIgnored)(directoryPath, context, function(pathIgnored) {
|
|
131
|
+
var synchronous = pathIgnored !== null ? findInDirectory(directoryPath, callback, context) : true;
|
|
132
|
+
if (synchronous) {
|
|
133
|
+
callback(pathIgnored);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return synchronous;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IGZpbmQgZnJvbSBcIi4uL2ZpbmRcIjtcblxuaW1wb3J0IHsgcmVkLCBncmVlbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvbG9nXCI7XG5pbXBvcnQgeyBzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkLCBzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQgfSBmcm9tIFwiLi4vaXNJZ25vcmVkL3N5bmNocm9ub3VzXCI7XG5pbXBvcnQgeyBhc3luY2hyb25vdXNJc0ZpbGVQYXRoSWdub3JlZCwgYXN5bmNocm9ub3VzSXNEaXJlY3RvcnlQYXRoSWdub3JlZCB9IGZyb20gXCIuLi9pc0lnbm9yZWQvYXN5bmNocm9ub3VzXCI7XG5pbXBvcnQgeyBpc0RpcmVjdG9yeVBhdGhSb290RGlyZWN0b3J5UGF0aCwgZW50cnlQYXRoc0Zyb21FbnRyeU5hbWVzQW5kRGlyZWN0b3J5UGF0aCB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuXG5jb25zdCB7IHJlYWREaXJlY3RvcnksIGlzRW50cnlEaXJlY3RvcnkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZpbmRJbkVudHJpZXMoZW50cnlQYXRocywgY2FsbGJhY2ssIGNvbnRleHQpIHtcbiAgbGV0IHN5bmNocm9ub3VzID0gdHJ1ZTtcblxuICBsZXQgZW50cnlOYW1lc0xlbmd0aDtcblxuICBlbnRyeU5hbWVzTGVuZ3RoID0gZW50cnlQYXRocy5sZW5ndGg7XG5cbiAgd2hpbGUgKGVudHJ5TmFtZXNMZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZW50cnlQYXRoID0gZW50cnlQYXRocy5zaGlmdCgpO1xuXG4gICAgc3luY2hyb25vdXMgPSBmaW5kSW5FbnRyeShlbnRyeVBhdGgsIGVudHJ5UGF0aHMsIGNhbGxiYWNrLCBjb250ZXh0KTtcblxuICAgIGlmICghc3luY2hyb25vdXMpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGVudHJ5TmFtZXNMZW5ndGggPSBlbnRyeVBhdGhzLmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBzeW5jaHJvbm91cztcbn1cblxuZnVuY3Rpb24gZmluZEluRW50cnkoZW50cnlQYXRoLCBlbnRyeVBhdGhzLCBjYWxsYmFjaywgY29udGV4dCkge1xuICBsZXQgc3luY2hyb25vdXM7XG5cbiAgY29uc3QgcGF0aCA9IGVudHJ5UGF0aCxcbiAgICAgICAgZGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShwYXRoKTtcblxuICBpZiAoZGlyZWN0b3J5KSB7XG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IGVudHJ5UGF0aDsgLy8vXG5cbiAgICBzeW5jaHJvbm91cyA9IGZpbmRJbkRpcmVjdG9yeShkaXJlY3RvcnlQYXRoLCAocGF0aElnbm9yZWQpID0+IHtcbiAgICAgIGNvbnN0IHN5bmNocm9ub3VzID0gKHBhdGhJZ25vcmVkICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZEluRW50cmllcyhlbnRyeVBhdGhzLCBjYWxsYmFjaywgY29udGV4dCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcblxuICAgICAgaWYgKHN5bmNocm9ub3VzKSB7XG4gICAgICAgIGNhbGxiYWNrKHBhdGhJZ25vcmVkKTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGVudHJ5UGF0aDsgIC8vL1xuXG4gICAgc3luY2hyb25vdXMgPSBmaW5kSW5GaWxlKGZpbGVQYXRoLCAocGF0aElnbm9yZWQpID0+IHtcbiAgICAgIGNvbnN0IHN5bmNocm9ub3VzID0gKHBhdGhJZ25vcmVkICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZEluRW50cmllcyhlbnRyeVBhdGhzLCBjYWxsYmFjaywgY29udGV4dCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiAgICAgIGlmIChzeW5jaHJvbm91cykge1xuICAgICAgICBjYWxsYmFjayhwYXRoSWdub3JlZCk7XG4gICAgICB9XG4gICAgfSwgY29udGV4dCk7XG4gIH1cblxuICBpZiAoc3luY2hyb25vdXMpIHtcbiAgICBzeW5jaHJvbm91cyA9IGZpbmRJbkVudHJpZXMoZW50cnlQYXRocywgY2FsbGJhY2ssIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHN5bmNocm9ub3VzO1xufVxuXG5mdW5jdGlvbiBmaW5kSW5GaWxlKGZpbGVQYXRoLCBjYWxsYmFjaywgY29udGV4dCkge1xuICBsZXQgc3luY2hyb25vdXM7XG5cbiAgY29uc3QgZmlsZVBhdGhJZ25vcmVkID0gc3luY2hyb25vdXNJc0ZpbGVQYXRoSWdub3JlZChmaWxlUGF0aCwgY29udGV4dCk7XG5cbiAgaWYgKGZpbGVQYXRoSWdub3JlZCAhPT0gbnVsbCkge1xuICAgIHN5bmNocm9ub3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgcXVpZXRseSB9ID0gY29udGV4dDtcblxuICAgIGlmICghcXVpZXRseSkge1xuICAgICAgbGV0IG1lc3NhZ2U7XG5cbiAgICAgIGNvbnN0IHsgZm9ybWF0LCBydWxlU3RyaW5nIH0gPSBjb250ZXh0O1xuXG4gICAgICBtZXNzYWdlID0gZmlsZVBhdGhJZ25vcmVkID9cbiAgICAgICAgICAgICAgICAgIGBJZ25vcmUgJHtmaWxlUGF0aH1gOlxuICAgICAgICAgICAgICAgICAgICBgUGVybWl0ICR7ZmlsZVBhdGh9YDtcblxuICAgICAgaWYgKGZvcm1hdCkge1xuICAgICAgICBtZXNzYWdlID0gZmlsZVBhdGhJZ25vcmVkID9cbiAgICAgICAgICAgICAgICAgICAgcmVkKG1lc3NhZ2UpIDpcbiAgICAgICAgICAgICAgICAgICAgICBncmVlbihtZXNzYWdlKTtcbiAgICAgIH1cblxuICAgICAgbWVzc2FnZSA9IGAke21lc3NhZ2V9ICR7cnVsZVN0cmluZ31gO1xuXG4gICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpbGVQYXRoSWdub3JlZCkge1xuICAgICAgbGV0IHsgZmlsZXNUb3RhbCB9ID0gY29udGV4dDtcblxuICAgICAgZmlsZXNUb3RhbCsrO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgZmlsZXNUb3RhbFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgZHJ5UnVuIH0gPSBjb250ZXh0O1xuXG4gICAgICBpZiAoIWRyeVJ1bikge1xuICAgICAgICBmaW5kKGZpbGVQYXRoLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc3luY2hyb25vdXMgPSBmYWxzZTtcblxuICAgIGFzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkKGZpbGVQYXRoLCBjb250ZXh0LCAocGF0aElnbm9yZWQpID0+IHtcbiAgICAgIGNvbnN0IHN5bmNocm9ub3VzID0gKHBhdGhJZ25vcmVkICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZEluRmlsZShmaWxlUGF0aCwgY2FsbGJhY2ssIGNvbnRleHQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG5cbiAgICAgIGlmIChzeW5jaHJvbm91cykge1xuICAgICAgICBjYWxsYmFjayhwYXRoSWdub3JlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc3luY2hyb25vdXM7XG59XG5cbmZ1bmN0aW9uIGZpbmRJbkRpcmVjdG9yeShkaXJlY3RvcnlQYXRoLCBjYWxsYmFjaywgY29udGV4dCkge1xuICBsZXQgc3luY2hyb25vdXM7XG5cbiAgY29uc3QgZGlyZWN0b3J5UGF0aElnbm9yZWQgPSBzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQoZGlyZWN0b3J5UGF0aCwgY29udGV4dCk7XG5cbiAgaWYgKGRpcmVjdG9yeVBhdGhJZ25vcmVkICE9PSBudWxsKSB7XG4gICAgc3luY2hyb25vdXMgPSB0cnVlO1xuXG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aFJvb3REaXJlY3RvcnlQYXRoID0gaXNEaXJlY3RvcnlQYXRoUm9vdERpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCwgY29udGV4dCk7XG5cbiAgICBpZiAoIWRpcmVjdG9yeVBhdGhSb290RGlyZWN0b3J5UGF0aCkge1xuICAgICAgY29uc3QgeyBxdWlldGx5IH0gPSBjb250ZXh0O1xuXG4gICAgICBpZiAoIXF1aWV0bHkpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2U7XG5cbiAgICAgICAgY29uc3QgeyBmb3JtYXQsIHJ1bGVTdHJpbmcgfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgbWVzc2FnZSA9IGRpcmVjdG9yeVBhdGhJZ25vcmVkID9cbiAgICAgICAgICAgICAgICAgICBgSWdub3JlICR7ZGlyZWN0b3J5UGF0aH0vYCA6XG4gICAgICAgICAgICAgICAgICAgICBgUGVybWl0ICR7ZGlyZWN0b3J5UGF0aH0vYDtcblxuICAgICAgICBpZiAoZm9ybWF0KSB7XG4gICAgICAgICAgbWVzc2FnZSA9IGRpcmVjdG9yeVBhdGhJZ25vcmVkID9cbiAgICAgICAgICAgICAgICAgICAgICByZWQobWVzc2FnZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4obWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBtZXNzYWdlID0gYCR7bWVzc2FnZX0gJHtydWxlU3RyaW5nfWA7XG5cbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFkaXJlY3RvcnlQYXRoSWdub3JlZCkge1xuICAgICAgbGV0IHsgZGlyZWN0b3JpZXNUb3RhbCB9ID0gY29udGV4dDtcblxuICAgICAgZGlyZWN0b3JpZXNUb3RhbCsrO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgZGlyZWN0b3JpZXNUb3RhbFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgpLFxuICAgICAgICAgICAgZW50cnlQYXRocyA9IGVudHJ5UGF0aHNGcm9tRW50cnlOYW1lc0FuZERpcmVjdG9yeVBhdGgoZW50cnlOYW1lcywgZGlyZWN0b3J5UGF0aCk7XG5cbiAgICAgIHN5bmNocm9ub3VzID0gZmluZEluRW50cmllcyhlbnRyeVBhdGhzLCBjYWxsYmFjaywgY29udGV4dCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN5bmNocm9ub3VzID0gZmFsc2U7XG5cbiAgICBhc3luY2hyb25vdXNJc0RpcmVjdG9yeVBhdGhJZ25vcmVkKGRpcmVjdG9yeVBhdGgsIGNvbnRleHQsIChwYXRoSWdub3JlZCkgPT4ge1xuICAgICAgY29uc3Qgc3luY2hyb25vdXMgPSAocGF0aElnbm9yZWQgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kSW5EaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCwgY2FsbGJhY2ssIGNvbnRleHQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG5cbiAgICAgIGlmIChzeW5jaHJvbm91cykge1xuICAgICAgICBjYWxsYmFjayhwYXRoSWdub3JlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc3luY2hyb25vdXM7XG59XG4iXSwibmFtZXMiOlsiZmluZEluRW50cmllcyIsInJlYWREaXJlY3RvcnkiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiaXNFbnRyeURpcmVjdG9yeSIsImVudHJ5UGF0aHMiLCJjYWxsYmFjayIsImNvbnRleHQiLCJzeW5jaHJvbm91cyIsImVudHJ5TmFtZXNMZW5ndGgiLCJsZW5ndGgiLCJlbnRyeVBhdGgiLCJzaGlmdCIsImZpbmRJbkVudHJ5IiwicGF0aCIsImRpcmVjdG9yeSIsImRpcmVjdG9yeVBhdGgiLCJmaW5kSW5EaXJlY3RvcnkiLCJwYXRoSWdub3JlZCIsImZpbGVQYXRoIiwiZmluZEluRmlsZSIsImZpbGVQYXRoSWdub3JlZCIsInN5bmNocm9ub3VzSXNGaWxlUGF0aElnbm9yZWQiLCJxdWlldGx5IiwibWVzc2FnZSIsImZvcm1hdCIsInJ1bGVTdHJpbmciLCJyZWQiLCJncmVlbiIsImNvbnNvbGUiLCJsb2ciLCJmaWxlc1RvdGFsIiwiT2JqZWN0IiwiYXNzaWduIiwiZHJ5UnVuIiwiZmluZCIsImFzeW5jaHJvbm91c0lzRmlsZVBhdGhJZ25vcmVkIiwiZGlyZWN0b3J5UGF0aElnbm9yZWQiLCJzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQiLCJkaXJlY3RvcnlQYXRoUm9vdERpcmVjdG9yeVBhdGgiLCJpc0RpcmVjdG9yeVBhdGhSb290RGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yaWVzVG90YWwiLCJlbnRyeU5hbWVzIiwiZW50cnlQYXRoc0Zyb21FbnRyeU5hbWVzQW5kRGlyZWN0b3J5UGF0aCIsImFzeW5jaHJvbm91c0lzRGlyZWN0b3J5UGF0aElnbm9yZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBd0JBOzs7eUJBWFk7MkRBRW5CO21CQUVVOzJCQUNxRDs0QkFDRTtvQkFDUzs7Ozs7O0FBRTNGLElBQVFDLGdCQUFvQ0MsOEJBQW1CLENBQXZERCxlQUFlRSxtQkFBcUJELDhCQUFtQixDQUF4Q0M7QUFFUixTQUFTSCxjQUFjSSxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsT0FBTztJQUNqRSxJQUFJQyxjQUFjO0lBRWxCLElBQUlDO0lBRUpBLG1CQUFtQkosV0FBV0ssTUFBTTtJQUVwQyxNQUFPRCxtQkFBbUIsRUFBRztRQUMzQixJQUFNRSxZQUFZTixXQUFXTyxLQUFLO1FBRWxDSixjQUFjSyxZQUFZRixXQUFXTixZQUFZQyxVQUFVQztRQUUzRCxJQUFJLENBQUNDLGFBQWE7WUFDaEI7UUFDRjtRQUVBQyxtQkFBbUJKLFdBQVdLLE1BQU07SUFDdEM7SUFFQSxPQUFPRjtBQUNUO0FBRUEsU0FBU0ssWUFBWUYsU0FBUyxFQUFFTixVQUFVLEVBQUVDLFFBQVEsRUFBRUMsT0FBTztJQUMzRCxJQUFJQztJQUVKLElBQU1NLE9BQU9ILFdBQ1BJLFlBQVlYLGlCQUFpQlU7SUFFbkMsSUFBSUMsV0FBVztRQUNiLElBQU1DLGdCQUFnQkwsV0FBVyxHQUFHO1FBRXBDSCxjQUFjUyxnQkFBZ0JELGVBQWUsU0FBQ0U7WUFDNUMsSUFBTVYsY0FBYyxBQUFDVSxnQkFBZ0IsT0FDZmpCLGNBQWNJLFlBQVlDLFVBQVVDLFdBQ2xDO1lBRXhCLElBQUlDLGFBQWE7Z0JBQ2ZGLFNBQVNZO1lBQ1g7UUFDRixHQUFHWDtJQUNMLE9BQU87UUFDTCxJQUFNWSxXQUFXUixXQUFZLEdBQUc7UUFFaENILGNBQWNZLFdBQVdELFVBQVUsU0FBQ0Q7WUFDbEMsSUFBTVYsY0FBYyxBQUFDVSxnQkFBZ0IsT0FDZmpCLGNBQWNJLFlBQVlDLFVBQVVDLFdBQ2xDO1lBQ3hCLElBQUlDLGFBQWE7Z0JBQ2ZGLFNBQVNZO1lBQ1g7UUFDRixHQUFHWDtJQUNMO0lBRUEsSUFBSUMsYUFBYTtRQUNmQSxjQUFjUCxjQUFjSSxZQUFZQyxVQUFVQztJQUNwRDtJQUVBLE9BQU9DO0FBQ1Q7QUFFQSxTQUFTWSxXQUFXRCxRQUFRLEVBQUViLFFBQVEsRUFBRUMsT0FBTztJQUM3QyxJQUFJQztJQUVKLElBQU1hLGtCQUFrQkMsSUFBQUEseUNBQTRCLEVBQUNILFVBQVVaO0lBRS9ELElBQUljLG9CQUFvQixNQUFNO1FBQzVCYixjQUFjO1FBRWQsSUFBTSxBQUFFZSxVQUFZaEIsUUFBWmdCO1FBRVIsSUFBSSxDQUFDQSxTQUFTO1lBQ1osSUFBSUM7WUFFSixJQUFRQyxTQUF1QmxCLFFBQXZCa0IsUUFBUUMsYUFBZW5CLFFBQWZtQjtZQUVoQkYsVUFBVUgsa0JBQ0UsQUFBQyxVQUFrQixPQUFURixZQUNSLEFBQUMsVUFBa0IsT0FBVEE7WUFFeEIsSUFBSU0sUUFBUTtnQkFDVkQsVUFBVUgsa0JBQ0VNLElBQUFBLFFBQUcsRUFBQ0gsV0FDRkksSUFBQUEsVUFBSyxFQUFDSjtZQUN0QjtZQUVBQSxVQUFVLEFBQUMsR0FBYUUsT0FBWEYsU0FBUSxLQUFjLE9BQVhFO1lBRXhCRyxRQUFRQyxHQUFHLENBQUNOO1FBQ2Q7UUFFQSxJQUFJLENBQUNILGlCQUFpQjtZQUNwQixJQUFJLEFBQUVVLGFBQWV4QixRQUFmd0I7WUFFTkE7WUFFQUMsT0FBT0MsTUFBTSxDQUFDMUIsU0FBUztnQkFDckJ3QixZQUFBQTtZQUNGO1lBRUEsSUFBTSxBQUFFRyxTQUFXM0IsUUFBWDJCO1lBRVIsSUFBSSxDQUFDQSxRQUFRO2dCQUNYQyxJQUFBQSxhQUFJLEVBQUNoQixVQUFVWjtZQUNqQjtRQUNGO0lBQ0YsT0FBTztRQUNMQyxjQUFjO1FBRWQ0QixJQUFBQSwyQ0FBNkIsRUFBQ2pCLFVBQVVaLFNBQVMsU0FBQ1c7WUFDaEQsSUFBTVYsY0FBYyxBQUFDVSxnQkFBZ0IsT0FDZkUsV0FBV0QsVUFBVWIsVUFBVUMsV0FDN0I7WUFFeEIsSUFBSUMsYUFBYTtnQkFDZkYsU0FBU1k7WUFDWDtRQUNGO0lBQ0Y7SUFFQSxPQUFPVjtBQUNUO0FBRUEsU0FBU1MsZ0JBQWdCRCxhQUFhLEVBQUVWLFFBQVEsRUFBRUMsT0FBTztJQUN2RCxJQUFJQztJQUVKLElBQU02Qix1QkFBdUJDLElBQUFBLDhDQUFpQyxFQUFDdEIsZUFBZVQ7SUFFOUUsSUFBSThCLHlCQUF5QixNQUFNO1FBQ2pDN0IsY0FBYztRQUVkLElBQU0rQixpQ0FBaUNDLElBQUFBLHNDQUFnQyxFQUFDeEIsZUFBZVQ7UUFFdkYsSUFBSSxDQUFDZ0MsZ0NBQWdDO1lBQ25DLElBQU0sQUFBRWhCLFVBQVloQixRQUFaZ0I7WUFFUixJQUFJLENBQUNBLFNBQVM7Z0JBQ1osSUFBSUM7Z0JBRUosSUFBUUMsU0FBdUJsQixRQUF2QmtCLFFBQVFDLGFBQWVuQixRQUFmbUI7Z0JBRWhCRixVQUFVYSx1QkFDQyxBQUFDLFVBQXVCLE9BQWRyQixlQUFjLE9BQ3RCLEFBQUMsVUFBdUIsT0FBZEEsZUFBYztnQkFFckMsSUFBSVMsUUFBUTtvQkFDVkQsVUFBVWEsdUJBQ0VWLElBQUFBLFFBQUcsRUFBQ0gsV0FDRkksSUFBQUEsVUFBSyxFQUFDSjtnQkFDdEI7Z0JBRUFBLFVBQVUsQUFBQyxHQUFhRSxPQUFYRixTQUFRLEtBQWMsT0FBWEU7Z0JBRXhCRyxRQUFRQyxHQUFHLENBQUNOO1lBQ2Q7UUFDRjtRQUVBLElBQUksQ0FBQ2Esc0JBQXNCO1lBQ3pCLElBQUksQUFBRUksbUJBQXFCbEMsUUFBckJrQztZQUVOQTtZQUVBVCxPQUFPQyxNQUFNLENBQUMxQixTQUFTO2dCQUNyQmtDLGtCQUFBQTtZQUNGO1lBRUEsSUFBTUMsYUFBYXhDLGNBQWNjLGdCQUMzQlgsYUFBYXNDLElBQUFBLDhDQUF3QyxFQUFDRCxZQUFZMUI7WUFFeEVSLGNBQWNQLGNBQWNJLFlBQVlDLFVBQVVDO1FBQ3BEO0lBQ0YsT0FBTztRQUNMQyxjQUFjO1FBRWRvQyxJQUFBQSxnREFBa0MsRUFBQzVCLGVBQWVULFNBQVMsU0FBQ1c7WUFDMUQsSUFBTVYsY0FBYyxBQUFDVSxnQkFBZ0IsT0FDZkQsZ0JBQWdCRCxlQUFlVixVQUFVQyxXQUN2QztZQUV4QixJQUFJQyxhQUFhO2dCQUNmRixTQUFTWTtZQUNYO1FBQ0Y7SUFDRjtJQUVBLE9BQU9WO0FBQ1QifQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
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 isStringGlobLiteral () {
|
|
13
|
+
return isStringGlobLiteral;
|
|
14
|
+
},
|
|
15
|
+
get isStringRegexLiteral () {
|
|
16
|
+
return isStringRegexLiteral;
|
|
17
|
+
},
|
|
18
|
+
get isStringStringLiteral () {
|
|
19
|
+
return isStringStringLiteral;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function isStringGlobLiteral(string) {
|
|
23
|
+
var stringStringLiteral = isStringStringLiteral(string), stringRegexLiteral = isStringRegexLiteral(string), stringGlobLiteral = !stringStringLiteral && !stringRegexLiteral;
|
|
24
|
+
return stringGlobLiteral;
|
|
25
|
+
}
|
|
26
|
+
function isStringRegexLiteral(string) {
|
|
27
|
+
return /^\/.*?\/$/.test(string);
|
|
28
|
+
}
|
|
29
|
+
function isStringStringLiteral(string) {
|
|
30
|
+
return /^".*?"$/.test(string);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGl0ZXJhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nR2xvYkxpdGVyYWwoc3RyaW5nKSB7XG4gIGNvbnN0IHN0cmluZ1N0cmluZ0xpdGVyYWwgPSBpc1N0cmluZ1N0cmluZ0xpdGVyYWwoc3RyaW5nKSxcbiAgICAgICAgc3RyaW5nUmVnZXhMaXRlcmFsID0gaXNTdHJpbmdSZWdleExpdGVyYWwoc3RyaW5nKSxcbiAgICAgICAgc3RyaW5nR2xvYkxpdGVyYWwgPSAoIXN0cmluZ1N0cmluZ0xpdGVyYWwgJiYgIXN0cmluZ1JlZ2V4TGl0ZXJhbCk7XG5cbiAgcmV0dXJuIHN0cmluZ0dsb2JMaXRlcmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdSZWdleExpdGVyYWwoc3RyaW5nKSB7IHJldHVybiAvXlxcLy4qP1xcLyQvLnRlc3Qoc3RyaW5nKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdTdHJpbmdMaXRlcmFsKHN0cmluZykgeyByZXR1cm4gL15cIi4qP1wiJC8udGVzdChzdHJpbmcpOyB9XG4iXSwibmFtZXMiOlsiaXNTdHJpbmdHbG9iTGl0ZXJhbCIsImlzU3RyaW5nUmVnZXhMaXRlcmFsIiwiaXNTdHJpbmdTdHJpbmdMaXRlcmFsIiwic3RyaW5nIiwic3RyaW5nU3RyaW5nTGl0ZXJhbCIsInN0cmluZ1JlZ2V4TGl0ZXJhbCIsInN0cmluZ0dsb2JMaXRlcmFsIiwidGVzdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBRWdCQTtlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOzs7QUFWVCxTQUFTRixvQkFBb0JHLE1BQU07SUFDeEMsSUFBTUMsc0JBQXNCRixzQkFBc0JDLFNBQzVDRSxxQkFBcUJKLHFCQUFxQkUsU0FDMUNHLG9CQUFxQixDQUFDRix1QkFBdUIsQ0FBQ0M7SUFFcEQsT0FBT0M7QUFDVDtBQUVPLFNBQVNMLHFCQUFxQkUsTUFBTTtJQUFJLE9BQU8sWUFBWUksSUFBSSxDQUFDSjtBQUFTO0FBRXpFLFNBQVNELHNCQUFzQkMsTUFBTTtJQUFJLE9BQU8sVUFBVUksSUFBSSxDQUFDSjtBQUFTIn0=
|
|
@@ -0,0 +1,45 @@
|
|
|
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 blue () {
|
|
13
|
+
return blue;
|
|
14
|
+
},
|
|
15
|
+
get green () {
|
|
16
|
+
return green;
|
|
17
|
+
},
|
|
18
|
+
get grey () {
|
|
19
|
+
return grey;
|
|
20
|
+
},
|
|
21
|
+
get red () {
|
|
22
|
+
return red;
|
|
23
|
+
},
|
|
24
|
+
get yellow () {
|
|
25
|
+
return yellow;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
var RED_FOREGROUND_COLOUR = "\u001b[31m", GREY_FOREGROUND_COLOUR = "\u001b[90m", BLUE_FOREGROUND_COLOUR = "\u001b[34m", GREEN_FOREGROUND_COLOUR = "\u001b[32m", YELLOW_FOREGROUND_COLOUR = "\u001b[33m", RESET_FOREGROUND_COLOUR = "\u001b[39m";
|
|
29
|
+
function red(string) {
|
|
30
|
+
return "".concat(RED_FOREGROUND_COLOUR).concat(string).concat(RESET_FOREGROUND_COLOUR);
|
|
31
|
+
}
|
|
32
|
+
function grey(string) {
|
|
33
|
+
return "".concat(GREY_FOREGROUND_COLOUR).concat(string).concat(RESET_FOREGROUND_COLOUR);
|
|
34
|
+
}
|
|
35
|
+
function blue(string) {
|
|
36
|
+
return "".concat(BLUE_FOREGROUND_COLOUR).concat(string).concat(RESET_FOREGROUND_COLOUR);
|
|
37
|
+
}
|
|
38
|
+
function green(string) {
|
|
39
|
+
return "".concat(GREEN_FOREGROUND_COLOUR).concat(string).concat(RESET_FOREGROUND_COLOUR);
|
|
40
|
+
}
|
|
41
|
+
function yellow(string) {
|
|
42
|
+
return "".concat(YELLOW_FOREGROUND_COLOUR).concat(string).concat(RESET_FOREGROUND_COLOUR);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBSRURfRk9SRUdST1VORF9DT0xPVVIgPSBcIlxcdTAwMWJbMzFtXCIsXG4gICAgICBHUkVZX0ZPUkVHUk9VTkRfQ09MT1VSID0gXCJcXHUwMDFiWzkwbVwiLFxuICAgICAgQkxVRV9GT1JFR1JPVU5EX0NPTE9VUiA9IFwiXFx1MDAxYlszNG1cIixcbiAgICAgIEdSRUVOX0ZPUkVHUk9VTkRfQ09MT1VSID0gXCJcXHUwMDFiWzMybVwiLFxuICAgICAgWUVMTE9XX0ZPUkVHUk9VTkRfQ09MT1VSID0gXCJcXHUwMDFiWzMzbVwiLFxuICAgICAgUkVTRVRfRk9SRUdST1VORF9DT0xPVVIgPSBcIlxcdTAwMWJbMzltXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWQoc3RyaW5nKSB7IHJldHVybiBgJHtSRURfRk9SRUdST1VORF9DT0xPVVJ9JHtzdHJpbmd9JHtSRVNFVF9GT1JFR1JPVU5EX0NPTE9VUn1gOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBncmV5KHN0cmluZykgeyByZXR1cm4gYCR7R1JFWV9GT1JFR1JPVU5EX0NPTE9VUn0ke3N0cmluZ30ke1JFU0VUX0ZPUkVHUk9VTkRfQ09MT1VSfWA7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGJsdWUoc3RyaW5nKSB7IHJldHVybiBgJHtCTFVFX0ZPUkVHUk9VTkRfQ09MT1VSfSR7c3RyaW5nfSR7UkVTRVRfRk9SRUdST1VORF9DT0xPVVJ9YDsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JlZW4oc3RyaW5nKSB7IHJldHVybiBgJHtHUkVFTl9GT1JFR1JPVU5EX0NPTE9VUn0ke3N0cmluZ30ke1JFU0VUX0ZPUkVHUk9VTkRfQ09MT1VSfWA7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHllbGxvdyhzdHJpbmcpIHsgcmV0dXJuIGAke1lFTExPV19GT1JFR1JPVU5EX0NPTE9VUn0ke3N0cmluZ30ke1JFU0VUX0ZPUkVHUk9VTkRfQ09MT1VSfWA7IH1cbiJdLCJuYW1lcyI6WyJibHVlIiwiZ3JlZW4iLCJncmV5IiwicmVkIiwieWVsbG93IiwiUkVEX0ZPUkVHUk9VTkRfQ09MT1VSIiwiR1JFWV9GT1JFR1JPVU5EX0NPTE9VUiIsIkJMVUVfRk9SRUdST1VORF9DT0xPVVIiLCJHUkVFTl9GT1JFR1JPVU5EX0NPTE9VUiIsIllFTExPV19GT1JFR1JPVU5EX0NPTE9VUiIsIlJFU0VUX0ZPUkVHUk9VTkRfQ09MT1VSIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFhZ0JBO2VBQUFBOztRQUVBQztlQUFBQTs7UUFKQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQVFBQztlQUFBQTs7O0FBZmhCLElBQU1DLHdCQUF3QixjQUN4QkMseUJBQXlCLGNBQ3pCQyx5QkFBeUIsY0FDekJDLDBCQUEwQixjQUMxQkMsMkJBQTJCLGNBQzNCQywwQkFBMEI7QUFFekIsU0FBU1AsSUFBSVEsTUFBTTtJQUFJLE9BQU8sQUFBQyxHQUEwQkEsT0FBeEJOLHVCQUFpQ0ssT0FBVEMsUUFBaUMsT0FBeEJEO0FBQTJCO0FBRTdGLFNBQVNSLEtBQUtTLE1BQU07SUFBSSxPQUFPLEFBQUMsR0FBMkJBLE9BQXpCTCx3QkFBa0NJLE9BQVRDLFFBQWlDLE9BQXhCRDtBQUEyQjtBQUUvRixTQUFTVixLQUFLVyxNQUFNO0lBQUksT0FBTyxBQUFDLEdBQTJCQSxPQUF6Qkosd0JBQWtDRyxPQUFUQyxRQUFpQyxPQUF4QkQ7QUFBMkI7QUFFL0YsU0FBU1QsTUFBTVUsTUFBTTtJQUFJLE9BQU8sQUFBQyxHQUE0QkEsT0FBMUJILHlCQUFtQ0UsT0FBVEMsUUFBaUMsT0FBeEJEO0FBQTJCO0FBRWpHLFNBQVNOLE9BQU9PLE1BQU07SUFBSSxPQUFPLEFBQUMsR0FBNkJBLE9BQTNCRiwwQkFBb0NDLE9BQVRDLFFBQWlDLE9BQXhCRDtBQUEyQiJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
var operationsLength = operations.length, lastIndex = operationsLength - 1;
|
|
16
|
+
whilst(function(next, done, context, index) {
|
|
17
|
+
if (index > lastIndex) {
|
|
18
|
+
done();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
var operation = operations[index], proceed = next, abort = function() {
|
|
22
|
+
completed = false;
|
|
23
|
+
done();
|
|
24
|
+
};
|
|
25
|
+
operation(proceed, abort, context);
|
|
26
|
+
}, done, context);
|
|
27
|
+
function done() {
|
|
28
|
+
callback(completed);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb3BlcmF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgd2hpbHN0IH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjdXRlT3BlcmF0aW9ucyhvcGVyYXRpb25zLCBjYWxsYmFjaywgY29udGV4dCkge1xuICBsZXQgY29tcGxldGVkID0gdHJ1ZTtcblxuICBjb25zdCBvcGVyYXRpb25zTGVuZ3RoID0gb3BlcmF0aW9ucy5sZW5ndGgsXG4gICAgICAgIGxhc3RJbmRleCA9IG9wZXJhdGlvbnNMZW5ndGggLSAxO1xuXG4gIHdoaWxzdCgobmV4dCwgZG9uZSwgY29udGV4dCwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPiBsYXN0SW5kZXgpIHtcbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wZXJhdGlvbiA9IG9wZXJhdGlvbnNbaW5kZXhdLFxuICAgICAgICAgIHByb2NlZWQgPSBuZXh0LCAvLy9cbiAgICAgICAgICBhYm9ydCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbXBsZXRlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgfTtcblxuICAgIG9wZXJhdGlvbihwcm9jZWVkLCBhYm9ydCwgY29udGV4dCk7XG4gIH0sIGRvbmUsIGNvbnRleHQpO1xuXG4gIGZ1bmN0aW9uIGRvbmUoKSB7XG4gICAgY2FsbGJhY2soY29tcGxldGVkKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4ZWN1dGVPcGVyYXRpb25zIiwid2hpbHN0IiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwib3BlcmF0aW9ucyIsImNhbGxiYWNrIiwiY29udGV4dCIsImNvbXBsZXRlZCIsIm9wZXJhdGlvbnNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0SW5kZXgiLCJuZXh0IiwiZG9uZSIsImluZGV4Iiwib3BlcmF0aW9uIiwicHJvY2VlZCIsImFib3J0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNZ0JBOzs7ZUFBQUE7Ozt5QkFKc0I7QUFFdEMsSUFBTSxBQUFFQyxTQUFXQyxnQ0FBcUIsQ0FBaENEO0FBRUQsU0FBU0Qsa0JBQWtCRyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsT0FBTztJQUM3RCxJQUFJQyxZQUFZO0lBRWhCLElBQU1DLG1CQUFtQkosV0FBV0ssTUFBTSxFQUNwQ0MsWUFBWUYsbUJBQW1CO0lBRXJDTixPQUFPLFNBQUNTLE1BQU1DLE1BQU1OLFNBQVNPO1FBQzNCLElBQUlBLFFBQVFILFdBQVc7WUFDckJFO1lBRUE7UUFDRjtRQUVBLElBQU1FLFlBQVlWLFVBQVUsQ0FBQ1MsTUFBTSxFQUM3QkUsVUFBVUosTUFDVkssUUFBUTtZQUNOVCxZQUFZO1lBRVpLO1FBQ0Y7UUFFTkUsVUFBVUMsU0FBU0MsT0FBT1Y7SUFDNUIsR0FBR00sTUFBTU47SUFFVCxTQUFTTTtRQUNQUCxTQUFTRTtJQUNYO0FBQ0YifQ==
|