occam-languages 0.0.2 → 0.0.3
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/lib/constants.js +57 -0
- package/lib/context/file.js +456 -0
- package/lib/context/release.js +431 -0
- package/lib/context.js +141 -0
- package/lib/element.js +207 -0
- package/lib/index.js +56 -0
- package/lib/log.js +195 -0
- package/lib/nonTerminalNode.js +236 -0
- package/lib/process/pass.js +175 -0
- package/lib/utilities/asynchronous.js +458 -0
- package/lib/utilities/context.js +34 -0
- package/lib/utilities/lineIndex.js +26 -0
- package/lib/utilities/node.js +78 -0
- package/lib/utilities/query.js +43 -0
- package/package.json +3 -2
- package/src/constants.js +18 -0
- package/src/context/file.js +149 -0
- package/src/context/release.js +204 -0
- package/src/context.js +42 -0
- package/src/element.js +27 -0
- package/src/index.js +14 -0
- package/src/log.js +132 -0
- package/src/nonTerminalNode.js +151 -0
- package/src/process/pass.js +101 -0
- package/src/utilities/asynchronous.js +121 -0
- package/src/utilities/context.js +19 -0
- package/src/utilities/lineIndex.js +21 -0
- package/src/utilities/node.js +90 -0
- package/src/utilities/query.js +30 -0
package/lib/constants.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
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 DEBUG_LEVEL () {
|
|
13
|
+
return DEBUG_LEVEL;
|
|
14
|
+
},
|
|
15
|
+
get DOUBLE_SPACE () {
|
|
16
|
+
return DOUBLE_SPACE;
|
|
17
|
+
},
|
|
18
|
+
get EMPTY_STRING () {
|
|
19
|
+
return EMPTY_STRING;
|
|
20
|
+
},
|
|
21
|
+
get ERROR_LEVEL () {
|
|
22
|
+
return ERROR_LEVEL;
|
|
23
|
+
},
|
|
24
|
+
get INFO_LEVEL () {
|
|
25
|
+
return INFO_LEVEL;
|
|
26
|
+
},
|
|
27
|
+
get LEVELS () {
|
|
28
|
+
return LEVELS;
|
|
29
|
+
},
|
|
30
|
+
get LEVEL_MAXIMUM_LENGTH () {
|
|
31
|
+
return LEVEL_MAXIMUM_LENGTH;
|
|
32
|
+
},
|
|
33
|
+
get SINGLE_SPACE () {
|
|
34
|
+
return SINGLE_SPACE;
|
|
35
|
+
},
|
|
36
|
+
get TRACE_LEVEL () {
|
|
37
|
+
return TRACE_LEVEL;
|
|
38
|
+
},
|
|
39
|
+
get WARNING_LEVEL () {
|
|
40
|
+
return WARNING_LEVEL;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var _necessary = require("necessary");
|
|
44
|
+
var TRACE_LEVEL = _necessary.levels.TRACE_LEVEL, DEBUG_LEVEL = _necessary.levels.DEBUG_LEVEL, INFO_LEVEL = _necessary.levels.INFO_LEVEL, WARNING_LEVEL = _necessary.levels.WARNING_LEVEL, ERROR_LEVEL = _necessary.levels.ERROR_LEVEL;
|
|
45
|
+
var LEVELS = [
|
|
46
|
+
TRACE_LEVEL,
|
|
47
|
+
DEBUG_LEVEL,
|
|
48
|
+
INFO_LEVEL,
|
|
49
|
+
WARNING_LEVEL,
|
|
50
|
+
ERROR_LEVEL
|
|
51
|
+
];
|
|
52
|
+
var EMPTY_STRING = "";
|
|
53
|
+
var SINGLE_SPACE = " ";
|
|
54
|
+
var DOUBLE_SPACE = " ";
|
|
55
|
+
var LEVEL_MAXIMUM_LENGTH = 7;
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxldmVscyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuZXhwb3J0IGNvbnN0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCB9ID0gbGV2ZWxzO1xuXG5leHBvcnQgY29uc3QgTEVWRUxTID0gW1xuICBUUkFDRV9MRVZFTCxcbiAgREVCVUdfTEVWRUwsXG4gIElORk9fTEVWRUwsXG4gIFdBUk5JTkdfTEVWRUwsXG4gIEVSUk9SX0xFVkVMXG5dO1xuXG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBTSU5HTEVfU1BBQ0UgPSBcIiBcIjtcbmV4cG9ydCBjb25zdCBET1VCTEVfU1BBQ0UgPSBcIiAgXCI7XG5leHBvcnQgY29uc3QgTEVWRUxfTUFYSU1VTV9MRU5HVEggPSA3O1xuIl0sIm5hbWVzIjpbIkRFQlVHX0xFVkVMIiwiRE9VQkxFX1NQQUNFIiwiRU1QVFlfU1RSSU5HIiwiRVJST1JfTEVWRUwiLCJJTkZPX0xFVkVMIiwiTEVWRUxTIiwiTEVWRUxfTUFYSU1VTV9MRU5HVEgiLCJTSU5HTEVfU1BBQ0UiLCJUUkFDRV9MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJsZXZlbHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUk0QkE7ZUFBQUE7O1FBWWZDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFWdURDO2VBQUFBOztRQUEzQkM7ZUFBQUE7O1FBRTVCQztlQUFBQTs7UUFXQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQVhFQztlQUFBQTs7UUFBc0NDO2VBQUFBOzs7eUJBRjlCO0FBRWhCLElBQVFELGNBQXFFRSxpQkFBTSxDQUEzRUYsYUFBYVIsY0FBd0RVLGlCQUFNLENBQTlEVixhQUFhSSxhQUEyQ00saUJBQU0sQ0FBakROLFlBQVlLLGdCQUErQkMsaUJBQU0sQ0FBckNELGVBQWVOLGNBQWdCTyxpQkFBTSxDQUF0QlA7QUFFN0QsSUFBTUUsU0FBUztJQUNwQkc7SUFDQVI7SUFDQUk7SUFDQUs7SUFDQU47Q0FDRDtBQUVNLElBQU1ELGVBQWU7QUFDckIsSUFBTUssZUFBZTtBQUNyQixJQUFNTixlQUFlO0FBQ3JCLElBQU1LLHVCQUF1QiJ9
|
|
@@ -0,0 +1,456 @@
|
|
|
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 FileContext;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _context = /*#__PURE__*/ _interop_require_default(require("../context"));
|
|
12
|
+
var _lineIndex = require("../utilities/lineIndex");
|
|
13
|
+
var _node = require("../utilities/node");
|
|
14
|
+
function _array_like_to_array(arr, len) {
|
|
15
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
16
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
17
|
+
return arr2;
|
|
18
|
+
}
|
|
19
|
+
function _array_without_holes(arr) {
|
|
20
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
21
|
+
}
|
|
22
|
+
function _assert_this_initialized(self) {
|
|
23
|
+
if (self === void 0) {
|
|
24
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
25
|
+
}
|
|
26
|
+
return self;
|
|
27
|
+
}
|
|
28
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
29
|
+
try {
|
|
30
|
+
var info = gen[key](arg);
|
|
31
|
+
var value = info.value;
|
|
32
|
+
} catch (error) {
|
|
33
|
+
reject(error);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (info.done) {
|
|
37
|
+
resolve(value);
|
|
38
|
+
} else {
|
|
39
|
+
Promise.resolve(value).then(_next, _throw);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function _async_to_generator(fn) {
|
|
43
|
+
return function() {
|
|
44
|
+
var self = this, args = arguments;
|
|
45
|
+
return new Promise(function(resolve, reject) {
|
|
46
|
+
var gen = fn.apply(self, args);
|
|
47
|
+
function _next(value) {
|
|
48
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
49
|
+
}
|
|
50
|
+
function _throw(err) {
|
|
51
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
52
|
+
}
|
|
53
|
+
_next(undefined);
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function _call_super(_this, derived, args) {
|
|
58
|
+
derived = _get_prototype_of(derived);
|
|
59
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
60
|
+
}
|
|
61
|
+
function _class_call_check(instance, Constructor) {
|
|
62
|
+
if (!(instance instanceof Constructor)) {
|
|
63
|
+
throw new TypeError("Cannot call a class as a function");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function _construct(Parent, args, Class) {
|
|
67
|
+
if (_is_native_reflect_construct()) {
|
|
68
|
+
_construct = Reflect.construct;
|
|
69
|
+
} else {
|
|
70
|
+
_construct = function construct(Parent, args, Class) {
|
|
71
|
+
var a = [
|
|
72
|
+
null
|
|
73
|
+
];
|
|
74
|
+
a.push.apply(a, args);
|
|
75
|
+
var Constructor = Function.bind.apply(Parent, a);
|
|
76
|
+
var instance = new Constructor();
|
|
77
|
+
if (Class) _set_prototype_of(instance, Class.prototype);
|
|
78
|
+
return instance;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return _construct.apply(null, arguments);
|
|
82
|
+
}
|
|
83
|
+
function _defineProperties(target, props) {
|
|
84
|
+
for(var i = 0; i < props.length; i++){
|
|
85
|
+
var descriptor = props[i];
|
|
86
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
87
|
+
descriptor.configurable = true;
|
|
88
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
89
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
93
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
94
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
95
|
+
return Constructor;
|
|
96
|
+
}
|
|
97
|
+
function _get_prototype_of(o) {
|
|
98
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
99
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
100
|
+
};
|
|
101
|
+
return _get_prototype_of(o);
|
|
102
|
+
}
|
|
103
|
+
function _inherits(subClass, superClass) {
|
|
104
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
105
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
106
|
+
}
|
|
107
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
108
|
+
constructor: {
|
|
109
|
+
value: subClass,
|
|
110
|
+
writable: true,
|
|
111
|
+
configurable: true
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
115
|
+
}
|
|
116
|
+
function _interop_require_default(obj) {
|
|
117
|
+
return obj && obj.__esModule ? obj : {
|
|
118
|
+
default: obj
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function _iterable_to_array(iter) {
|
|
122
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
123
|
+
}
|
|
124
|
+
function _non_iterable_spread() {
|
|
125
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
126
|
+
}
|
|
127
|
+
function _possible_constructor_return(self, call) {
|
|
128
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
129
|
+
return call;
|
|
130
|
+
}
|
|
131
|
+
return _assert_this_initialized(self);
|
|
132
|
+
}
|
|
133
|
+
function _set_prototype_of(o, p) {
|
|
134
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
135
|
+
o.__proto__ = p;
|
|
136
|
+
return o;
|
|
137
|
+
};
|
|
138
|
+
return _set_prototype_of(o, p);
|
|
139
|
+
}
|
|
140
|
+
function _to_consumable_array(arr) {
|
|
141
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
142
|
+
}
|
|
143
|
+
function _type_of(obj) {
|
|
144
|
+
"@swc/helpers - typeof";
|
|
145
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
146
|
+
}
|
|
147
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
148
|
+
if (!o) return;
|
|
149
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
150
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
151
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
152
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
153
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
154
|
+
}
|
|
155
|
+
function _is_native_reflect_construct() {
|
|
156
|
+
try {
|
|
157
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
158
|
+
} catch (_) {}
|
|
159
|
+
return (_is_native_reflect_construct = function() {
|
|
160
|
+
return !!result;
|
|
161
|
+
})();
|
|
162
|
+
}
|
|
163
|
+
function _ts_generator(thisArg, body) {
|
|
164
|
+
var f, y, t, _ = {
|
|
165
|
+
label: 0,
|
|
166
|
+
sent: function() {
|
|
167
|
+
if (t[0] & 1) throw t[1];
|
|
168
|
+
return t[1];
|
|
169
|
+
},
|
|
170
|
+
trys: [],
|
|
171
|
+
ops: []
|
|
172
|
+
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
173
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
174
|
+
return this;
|
|
175
|
+
}), g;
|
|
176
|
+
function verb(n) {
|
|
177
|
+
return function(v) {
|
|
178
|
+
return step([
|
|
179
|
+
n,
|
|
180
|
+
v
|
|
181
|
+
]);
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function step(op) {
|
|
185
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
186
|
+
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
187
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
188
|
+
if (y = 0, t) op = [
|
|
189
|
+
op[0] & 2,
|
|
190
|
+
t.value
|
|
191
|
+
];
|
|
192
|
+
switch(op[0]){
|
|
193
|
+
case 0:
|
|
194
|
+
case 1:
|
|
195
|
+
t = op;
|
|
196
|
+
break;
|
|
197
|
+
case 4:
|
|
198
|
+
_.label++;
|
|
199
|
+
return {
|
|
200
|
+
value: op[1],
|
|
201
|
+
done: false
|
|
202
|
+
};
|
|
203
|
+
case 5:
|
|
204
|
+
_.label++;
|
|
205
|
+
y = op[1];
|
|
206
|
+
op = [
|
|
207
|
+
0
|
|
208
|
+
];
|
|
209
|
+
continue;
|
|
210
|
+
case 7:
|
|
211
|
+
op = _.ops.pop();
|
|
212
|
+
_.trys.pop();
|
|
213
|
+
continue;
|
|
214
|
+
default:
|
|
215
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
216
|
+
_ = 0;
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
220
|
+
_.label = op[1];
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
224
|
+
_.label = t[1];
|
|
225
|
+
t = op;
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
if (t && _.label < t[2]) {
|
|
229
|
+
_.label = t[2];
|
|
230
|
+
_.ops.push(op);
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
if (t[2]) _.ops.pop();
|
|
234
|
+
_.trys.pop();
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
op = body.call(thisArg, _);
|
|
238
|
+
} catch (e) {
|
|
239
|
+
op = [
|
|
240
|
+
6,
|
|
241
|
+
e
|
|
242
|
+
];
|
|
243
|
+
y = 0;
|
|
244
|
+
} finally{
|
|
245
|
+
f = t = 0;
|
|
246
|
+
}
|
|
247
|
+
if (op[0] & 5) throw op[1];
|
|
248
|
+
return {
|
|
249
|
+
value: op[0] ? op[1] : void 0,
|
|
250
|
+
done: true
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
var FileContext = /*#__PURE__*/ function(Context) {
|
|
255
|
+
_inherits(FileContext, Context);
|
|
256
|
+
function FileContext(context, filePath, tokens, node) {
|
|
257
|
+
_class_call_check(this, FileContext);
|
|
258
|
+
var _this;
|
|
259
|
+
_this = _call_super(this, FileContext, [
|
|
260
|
+
context
|
|
261
|
+
]);
|
|
262
|
+
_this.filePath = filePath;
|
|
263
|
+
_this.tokens = tokens;
|
|
264
|
+
_this.node = node;
|
|
265
|
+
return _this;
|
|
266
|
+
}
|
|
267
|
+
_create_class(FileContext, [
|
|
268
|
+
{
|
|
269
|
+
key: "getFilePath",
|
|
270
|
+
value: function getFilePath() {
|
|
271
|
+
return this.filePath;
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
key: "getTokens",
|
|
276
|
+
value: function getTokens() {
|
|
277
|
+
return this.tokens;
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
key: "getNode",
|
|
282
|
+
value: function getNode() {
|
|
283
|
+
return this.node;
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
key: "matchFilePath",
|
|
288
|
+
value: function matchFilePath(filePath) {
|
|
289
|
+
var filePathMatches = this.filePath === filePath;
|
|
290
|
+
return filePathMatches;
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
key: "nodeAsString",
|
|
295
|
+
value: function nodeAsString(node) {
|
|
296
|
+
var string = (0, _node.nodeAsString)(node, this.tokens);
|
|
297
|
+
return string;
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
key: "nodesAsString",
|
|
302
|
+
value: function nodesAsString(nodes) {
|
|
303
|
+
var string = (0, _node.nodesAsString)(nodes, this.tokens);
|
|
304
|
+
return string;
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
key: "prepare",
|
|
309
|
+
value: function prepare() {
|
|
310
|
+
if (this.tokens !== null) {
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
var file = this.findFile(this.filePath), lexer = this.getLexer(), parser = this.getParser(), content = file.getContent();
|
|
314
|
+
this.tokens = lexer.tokenise(content);
|
|
315
|
+
this.node = parser.parse(this.tokens);
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
key: "initialise",
|
|
320
|
+
value: function initialise(json) {
|
|
321
|
+
var content = json.content, lexer = this.getLexer(), parser = this.getParser();
|
|
322
|
+
this.tokens = lexer.tokenise(content);
|
|
323
|
+
this.node = parser.parse(this.tokens);
|
|
324
|
+
this.clear();
|
|
325
|
+
this.addProcedures();
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
key: "break",
|
|
330
|
+
value: function _break(node) {
|
|
331
|
+
return _async_to_generator(function() {
|
|
332
|
+
var filePath, lineIndex, releaseContext;
|
|
333
|
+
return _ts_generator(this, function(_state) {
|
|
334
|
+
switch(_state.label){
|
|
335
|
+
case 0:
|
|
336
|
+
filePath = this.filePath, lineIndex = (0, _lineIndex.lineIndexFromNodeAndTokens)(node, this.tokens), releaseContext = this.getReleaseContext();
|
|
337
|
+
return [
|
|
338
|
+
4,
|
|
339
|
+
releaseContext.break(filePath, lineIndex)
|
|
340
|
+
];
|
|
341
|
+
case 1:
|
|
342
|
+
_state.sent();
|
|
343
|
+
return [
|
|
344
|
+
2
|
|
345
|
+
];
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
}).call(this);
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
key: "verify",
|
|
353
|
+
value: function verify() {
|
|
354
|
+
return _async_to_generator(function() {
|
|
355
|
+
var verifies, fileVerifies;
|
|
356
|
+
return _ts_generator(this, function(_state) {
|
|
357
|
+
switch(_state.label){
|
|
358
|
+
case 0:
|
|
359
|
+
verifies = false;
|
|
360
|
+
this.prepare();
|
|
361
|
+
if (!(this.node === null)) return [
|
|
362
|
+
3,
|
|
363
|
+
1
|
|
364
|
+
];
|
|
365
|
+
this.warning("Unable to verify the '".concat(this.filePath, "' file because it cannot be parsed."));
|
|
366
|
+
return [
|
|
367
|
+
3,
|
|
368
|
+
3
|
|
369
|
+
];
|
|
370
|
+
case 1:
|
|
371
|
+
this.debug("Verifying the '".concat(this.filePath, "' file..."));
|
|
372
|
+
return [
|
|
373
|
+
4,
|
|
374
|
+
this.verifyFile()
|
|
375
|
+
];
|
|
376
|
+
case 2:
|
|
377
|
+
fileVerifies = _state.sent();
|
|
378
|
+
if (fileVerifies) {
|
|
379
|
+
verifies = true;
|
|
380
|
+
}
|
|
381
|
+
verifies ? this.complete() : this.clear();
|
|
382
|
+
if (verifies) {
|
|
383
|
+
this.info("...verified the '".concat(this.filePath, "' file."));
|
|
384
|
+
}
|
|
385
|
+
_state.label = 3;
|
|
386
|
+
case 3:
|
|
387
|
+
return [
|
|
388
|
+
2,
|
|
389
|
+
verifies
|
|
390
|
+
];
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
}).call(this);
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
key: "toJSON",
|
|
398
|
+
value: function toJSON() {
|
|
399
|
+
var file = this.findFile(this.filePath), filePath = this.filePath, content = file.getContent(), json = {
|
|
400
|
+
filePath: filePath,
|
|
401
|
+
content: content
|
|
402
|
+
};
|
|
403
|
+
return json;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
], [
|
|
407
|
+
{
|
|
408
|
+
key: "fromFile",
|
|
409
|
+
value: function fromFile(Class, file) {
|
|
410
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
411
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
412
|
+
}
|
|
413
|
+
var filePath = file.getPath(), tokens = null, node = null, context = remainingArguments.pop(), fileContext = _construct(Class, [
|
|
414
|
+
context,
|
|
415
|
+
filePath,
|
|
416
|
+
tokens,
|
|
417
|
+
node
|
|
418
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
419
|
+
return fileContext;
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
key: "fromFilePath",
|
|
424
|
+
value: function fromFilePath(Class, filePath) {
|
|
425
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
426
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
427
|
+
}
|
|
428
|
+
var tokens = null, node = null, context = remainingArguments.pop(), fileContext = _construct(Class, [
|
|
429
|
+
context,
|
|
430
|
+
filePath,
|
|
431
|
+
tokens,
|
|
432
|
+
node
|
|
433
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
434
|
+
return fileContext;
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
key: "fromFilePathTokensAndNode",
|
|
439
|
+
value: function fromFilePathTokensAndNode(Class, filePath, tokens, node) {
|
|
440
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++){
|
|
441
|
+
remainingArguments[_key - 4] = arguments[_key];
|
|
442
|
+
}
|
|
443
|
+
var context = remainingArguments.pop(), fileContext = _construct(Class, [
|
|
444
|
+
context,
|
|
445
|
+
filePath,
|
|
446
|
+
tokens,
|
|
447
|
+
node
|
|
448
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
449
|
+
return fileContext;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
]);
|
|
453
|
+
return FileContext;
|
|
454
|
+
}(_context.default);
|
|
455
|
+
|
|
456
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL2NvbnRleHQnO1xuXG5pbXBvcnQgeyBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGluZUluZGV4XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcsIG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSkge1xuICAgIHN1cGVyKGNvbnRleHQpO1xuXG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBtYXRjaEZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhNYXRjaGVzID0gKHRoaXMuZmlsZVBhdGggPT09IGZpbGVQYXRoKTtcblxuICAgIHJldHVybiBmaWxlUGF0aE1hdGNoZXM7XG4gIH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkge1xuICAgIGNvbnN0IHN0cmluZyA9IG5vZGVBc1N0cmluZyhub2RlLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgbm9kZXNBc1N0cmluZyhub2Rlcykge1xuICAgIGNvbnN0IHN0cmluZyA9IG5vZGVzQXNTdHJpbmcobm9kZXMsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBwcmVwYXJlKCkge1xuICAgIGlmICh0aGlzLnRva2VucyAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbmRGaWxlKHRoaXMuZmlsZVBhdGgpLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy50b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHRoaXMubm9kZSA9IHBhcnNlci5wYXJzZSh0aGlzLnRva2Vucyk7XG4gIH1cblxuICBpbml0aWFsaXNlKGpzb24pIHtcbiAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGpzb24sXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5hZGRQcm9jZWR1cmVzKCk7XG4gIH1cblxuICBhc3luYyBicmVhayhub2RlKSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLmZpbGVQYXRoLFxuICAgICAgICAgIGxpbmVJbmRleCA9IGxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRoaXMudG9rZW5zKSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IHRoaXMuZ2V0UmVsZWFzZUNvbnRleHQoKTtcblxuICAgIGF3YWl0IHJlbGVhc2VDb250ZXh0LmJyZWFrKGZpbGVQYXRoLCBsaW5lSW5kZXgpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgdGhpcy5wcmVwYXJlKCk7XG5cbiAgICBpZiAodGhpcy5ub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLndhcm5pbmcoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGJlY2F1c2UgaXQgY2Fubm90IGJlIHBhcnNlZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gICAgICBjb25zdCBmaWxlVmVyaWZpZXMgPSBhd2FpdCB0aGlzLnZlcmlmeUZpbGUoKTtcblxuICAgICAgaWYgKGZpbGVWZXJpZmllcykge1xuICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZlcmlmaWVzID9cbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpIDpcbiAgICAgICAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgICB0aGlzLmluZm8oYC4uLnZlcmlmaWVkIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUodGhpcy5maWxlUGF0aCksXG4gICAgICBmaWxlUGF0aCA9IHRoaXMuZmlsZVBhdGgsIC8vL1xuICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAganNvbiA9IHtcbiAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgIGNvbnRlbnRcbiAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZShDbGFzcywgZmlsZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcbiAgICAgICAgICB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksIC8vL1xuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IENsYXNzKGNvbnRleHQsIGZpbGVQYXRoLCB0b2tlbnMsIG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVQYXRoKENsYXNzLCBmaWxlUGF0aCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlUGF0aFRva2Vuc0FuZE5vZGUoQ2xhc3MsIGZpbGVQYXRoLCB0b2tlbnMsIG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksIC8vL1xuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IENsYXNzKGNvbnRleHQsIGZpbGVQYXRoLCB0b2tlbnMsIG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaWxlQ29udGV4dCIsImNvbnRleHQiLCJmaWxlUGF0aCIsInRva2VucyIsIm5vZGUiLCJnZXRGaWxlUGF0aCIsImdldFRva2VucyIsImdldE5vZGUiLCJtYXRjaEZpbGVQYXRoIiwiZmlsZVBhdGhNYXRjaGVzIiwibm9kZUFzU3RyaW5nIiwic3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm5vZGVzIiwicHJlcGFyZSIsImZpbGUiLCJmaW5kRmlsZSIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRva2VuaXNlIiwicGFyc2UiLCJpbml0aWFsaXNlIiwianNvbiIsImNsZWFyIiwiYWRkUHJvY2VkdXJlcyIsImJyZWFrIiwibGluZUluZGV4IiwicmVsZWFzZUNvbnRleHQiLCJsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImdldFJlbGVhc2VDb250ZXh0IiwidmVyaWZ5IiwidmVyaWZpZXMiLCJmaWxlVmVyaWZpZXMiLCJ3YXJuaW5nIiwiZGVidWciLCJ2ZXJpZnlGaWxlIiwiY29tcGxldGUiLCJpbmZvIiwidG9KU09OIiwiZnJvbUZpbGUiLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImdldFBhdGgiLCJwb3AiLCJmaWxlQ29udGV4dCIsImZyb21GaWxlUGF0aCIsImZyb21GaWxlUGF0aFRva2Vuc0FuZE5vZGUiLCJDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7Ozs4REFMRDt5QkFFdUI7b0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBQSxBQUFNQSw0QkFBTjtjQUFNQTth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
|