occam-verify-cli 0.0.539 → 0.0.540

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 (54) hide show
  1. package/bin/action/verify.js +5 -1
  2. package/lib/axiom.js +4 -4
  3. package/lib/axiomLemmaTheoremConjecture.js +6 -6
  4. package/lib/combinator.js +4 -4
  5. package/lib/conclusion.js +4 -4
  6. package/lib/conjecture.js +4 -4
  7. package/lib/constructor.js +6 -6
  8. package/lib/context/file.js +135 -27
  9. package/lib/context/metaproof.js +3 -3
  10. package/lib/context/release.js +215 -2
  11. package/lib/kinds.js +9 -1
  12. package/lib/label.js +4 -4
  13. package/lib/lemma.js +4 -4
  14. package/lib/metavariable.js +7 -1
  15. package/lib/premise.js +4 -4
  16. package/lib/rule.js +7 -7
  17. package/lib/ruleNames.js +16 -4
  18. package/lib/supposition.js +4 -4
  19. package/lib/theorem.js +4 -4
  20. package/lib/type.js +7 -7
  21. package/lib/utilities/node.js +17 -3
  22. package/lib/variable.js +7 -1
  23. package/lib/verifier.js +1 -1
  24. package/lib/verify/metastatement.js +147 -3
  25. package/lib/verify/statement.js +2 -2
  26. package/package.json +3 -3
  27. package/src/axiom.js +1 -1
  28. package/src/axiomLemmaTheoremConjecture.js +4 -4
  29. package/src/combinator.js +3 -3
  30. package/src/conclusion.js +3 -3
  31. package/src/conjecture.js +1 -1
  32. package/src/constructor.js +5 -5
  33. package/src/context/file.js +161 -27
  34. package/src/context/metaproof.js +1 -1
  35. package/src/context/release.js +254 -2
  36. package/src/kinds.js +2 -0
  37. package/src/label.js +3 -3
  38. package/src/lemma.js +1 -1
  39. package/src/metavariable.js +4 -0
  40. package/src/premise.js +3 -3
  41. package/src/rule.js +5 -5
  42. package/src/ruleNames.js +4 -1
  43. package/src/supposition.js +3 -3
  44. package/src/theorem.js +1 -1
  45. package/src/type.js +5 -5
  46. package/src/utilities/node.js +32 -2
  47. package/src/variable.js +4 -0
  48. package/src/verifier.js +1 -1
  49. package/src/verify/metastatement.js +65 -2
  50. package/src/verify/statement.js +2 -2
  51. package/lib/context/release/directory.js +0 -313
  52. package/lib/context/release/file.js +0 -387
  53. package/src/context/release/directory.js +0 -251
  54. package/src/context/release/file.js +0 -312
@@ -1,387 +0,0 @@
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 FileReleaseContext;
9
- }
10
- });
11
- var _release = /*#__PURE__*/ _interopRequireDefault(require("../../context/release"));
12
- var _rule = /*#__PURE__*/ _interopRequireDefault(require("../../rule"));
13
- var _type = /*#__PURE__*/ _interopRequireDefault(require("../../type"));
14
- var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../../axiom"));
15
- var _lemma = /*#__PURE__*/ _interopRequireDefault(require("../../lemma"));
16
- var _theorem = /*#__PURE__*/ _interopRequireDefault(require("../../theorem"));
17
- var _conjecture = /*#__PURE__*/ _interopRequireDefault(require("../../conjecture"));
18
- var _combinator = /*#__PURE__*/ _interopRequireDefault(require("../../combinator"));
19
- var _constructor = /*#__PURE__*/ _interopRequireDefault(require("../../constructor"));
20
- var _array = require("../../utilities/array");
21
- var _customGrammar = require("../../utilities/customGrammar");
22
- var _kinds = require("../../kinds");
23
- function _assertThisInitialized(self) {
24
- if (self === void 0) {
25
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
26
- }
27
- return self;
28
- }
29
- function _classCallCheck(instance, Constructor) {
30
- if (!(instance instanceof Constructor)) {
31
- throw new TypeError("Cannot call a class as a function");
32
- }
33
- }
34
- function _defineProperties(target, props) {
35
- for(var i = 0; i < props.length; i++){
36
- var descriptor = props[i];
37
- descriptor.enumerable = descriptor.enumerable || false;
38
- descriptor.configurable = true;
39
- if ("value" in descriptor) descriptor.writable = true;
40
- Object.defineProperty(target, descriptor.key, descriptor);
41
- }
42
- }
43
- function _createClass(Constructor, protoProps, staticProps) {
44
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
45
- if (staticProps) _defineProperties(Constructor, staticProps);
46
- return Constructor;
47
- }
48
- function _get(target, property, receiver) {
49
- if (typeof Reflect !== "undefined" && Reflect.get) {
50
- _get = Reflect.get;
51
- } else {
52
- _get = function _get(target, property, receiver) {
53
- var base = _superPropBase(target, property);
54
- if (!base) return;
55
- var desc = Object.getOwnPropertyDescriptor(base, property);
56
- if (desc.get) {
57
- return desc.get.call(receiver);
58
- }
59
- return desc.value;
60
- };
61
- }
62
- return _get(target, property, receiver || target);
63
- }
64
- function _getPrototypeOf(o) {
65
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
66
- return o.__proto__ || Object.getPrototypeOf(o);
67
- };
68
- return _getPrototypeOf(o);
69
- }
70
- function _inherits(subClass, superClass) {
71
- if (typeof superClass !== "function" && superClass !== null) {
72
- throw new TypeError("Super expression must either be null or a function");
73
- }
74
- subClass.prototype = Object.create(superClass && superClass.prototype, {
75
- constructor: {
76
- value: subClass,
77
- writable: true,
78
- configurable: true
79
- }
80
- });
81
- if (superClass) _setPrototypeOf(subClass, superClass);
82
- }
83
- function _interopRequireDefault(obj) {
84
- return obj && obj.__esModule ? obj : {
85
- default: obj
86
- };
87
- }
88
- function _possibleConstructorReturn(self, call) {
89
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
90
- return call;
91
- }
92
- return _assertThisInitialized(self);
93
- }
94
- function _setPrototypeOf(o, p) {
95
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
96
- o.__proto__ = p;
97
- return o;
98
- };
99
- return _setPrototypeOf(o, p);
100
- }
101
- function _superPropBase(object, property) {
102
- while(!Object.prototype.hasOwnProperty.call(object, property)){
103
- object = _getPrototypeOf(object);
104
- if (object === null) break;
105
- }
106
- return object;
107
- }
108
- var _typeof = function(obj) {
109
- "@swc/helpers - typeof";
110
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
111
- };
112
- function _isNativeReflectConstruct() {
113
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
114
- if (Reflect.construct.sham) return false;
115
- if (typeof Proxy === "function") return true;
116
- try {
117
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
118
- return true;
119
- } catch (e) {
120
- return false;
121
- }
122
- }
123
- function _createSuper(Derived) {
124
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
125
- return function _createSuperInternal() {
126
- var Super = _getPrototypeOf(Derived), result;
127
- if (hasNativeReflectConstruct) {
128
- var NewTarget = _getPrototypeOf(this).constructor;
129
- result = Reflect.construct(Super, arguments, NewTarget);
130
- } else {
131
- result = Super.apply(this, arguments);
132
- }
133
- return _possibleConstructorReturn(this, result);
134
- };
135
- }
136
- var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
137
- _inherits(FileReleaseContext, ReleaseContext);
138
- var _super = _createSuper(FileReleaseContext);
139
- function FileReleaseContext(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, types, rules, axioms, lemmas, theorems, conjectures, combinators, constructors, contextJSON) {
140
- _classCallCheck(this, FileReleaseContext);
141
- var _this;
142
- _this = _super.call(this, log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts);
143
- _this.types = types;
144
- _this.rules = rules;
145
- _this.axioms = axioms;
146
- _this.lemmas = lemmas;
147
- _this.theorems = theorems;
148
- _this.conjectures = conjectures;
149
- _this.combinators = combinators;
150
- _this.constructors = constructors;
151
- _this.contextJSON = contextJSON;
152
- return _this;
153
- }
154
- _createClass(FileReleaseContext, [
155
- {
156
- key: "getContextJSON",
157
- value: function getContextJSON() {
158
- return this.contextJSON;
159
- }
160
- },
161
- {
162
- key: "getLabels",
163
- value: function getLabels() {
164
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
165
- var labels = [];
166
- this.rules.forEach(function(rule) {
167
- var ruleLabels = rule.getLabels();
168
- (0, _array.push)(labels, ruleLabels);
169
- });
170
- this.axioms.forEach(function(axiom) {
171
- var axiomLabels = axiom.getLabels();
172
- (0, _array.push)(labels, axiomLabels);
173
- });
174
- this.theorems.forEach(function(theorem) {
175
- var theoremLabels = theorem.getLabels();
176
- (0, _array.push)(labels, theoremLabels);
177
- });
178
- if (includeDependencies) {
179
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
180
- dependencyReleaseContexts.forEach(function(releaseContext) {
181
- var includeDependencies = false, releaseContextAxioms = releaseContext.getAxioms(includeDependencies);
182
- (0, _array.push)(labels, releaseContextAxioms);
183
- });
184
- }
185
- return labels;
186
- }
187
- },
188
- {
189
- key: "getTypes",
190
- value: function getTypes() {
191
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
192
- var types = [];
193
- (0, _array.push)(types, this.types);
194
- if (includeDependencies) {
195
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
196
- dependencyReleaseContexts.forEach(function(releaseContext) {
197
- var includeDependencies = false, releaseContextTypes = releaseContext.getTypes(includeDependencies);
198
- (0, _array.push)(types, releaseContextTypes);
199
- });
200
- }
201
- return types;
202
- }
203
- },
204
- {
205
- key: "getRules",
206
- value: function getRules() {
207
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
208
- var rules = [];
209
- (0, _array.push)(rules, this.rules);
210
- if (includeDependencies) {
211
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
212
- dependencyReleaseContexts.forEach(function(releaseContext) {
213
- var includeDependencies = false, releaseContextRules = releaseContext.getRules(includeDependencies);
214
- (0, _array.push)(rules, releaseContextRules);
215
- });
216
- }
217
- return rules;
218
- }
219
- },
220
- {
221
- key: "getAxioms",
222
- value: function getAxioms() {
223
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
224
- var axioms = [];
225
- (0, _array.push)(axioms, this.axioms);
226
- if (includeDependencies) {
227
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
228
- dependencyReleaseContexts.forEach(function(releaseContext) {
229
- var includeDependencies = false, releaseContextAxioms = releaseContext.getAxioms(includeDependencies);
230
- (0, _array.push)(axioms, releaseContextAxioms);
231
- });
232
- }
233
- return axioms;
234
- }
235
- },
236
- {
237
- key: "getLemmas",
238
- value: function getLemmas() {
239
- var theorems = [];
240
- (0, _array.push)(theorems, this.theorems);
241
- return theorems;
242
- }
243
- },
244
- {
245
- key: "getTheorems",
246
- value: function getTheorems() {
247
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
248
- var theorems = [];
249
- (0, _array.push)(theorems, this.theorems);
250
- if (includeDependencies) {
251
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
252
- dependencyReleaseContexts.forEach(function(releaseContext) {
253
- var includeDependencies = false, releaseContextTheorems = releaseContext.getTheorems(includeDependencies);
254
- (0, _array.push)(theorems, releaseContextTheorems);
255
- });
256
- }
257
- return theorems;
258
- }
259
- },
260
- {
261
- key: "getConjectures",
262
- value: function getConjectures() {
263
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
264
- var conjectures = [];
265
- (0, _array.push)(conjectures, this.conjectures);
266
- if (includeDependencies) {
267
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
268
- dependencyReleaseContexts.forEach(function(releaseContext) {
269
- var includeDependencies = false, releaseContextConjectures = releaseContext.getConjectures(includeDependencies);
270
- (0, _array.push)(conjectures, releaseContextConjectures);
271
- });
272
- }
273
- return conjectures;
274
- }
275
- },
276
- {
277
- key: "getCombinators",
278
- value: function getCombinators() {
279
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
280
- var combinators = [];
281
- (0, _array.push)(combinators, this.combinators);
282
- if (includeDependencies) {
283
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
284
- dependencyReleaseContexts.forEach(function(releaseContext) {
285
- var includeDependencies = false, releaseContextCombinators = releaseContext.getCombinators(includeDependencies);
286
- (0, _array.push)(combinators, releaseContextCombinators);
287
- });
288
- }
289
- return combinators;
290
- }
291
- },
292
- {
293
- key: "getConstructors",
294
- value: function getConstructors() {
295
- var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
296
- var constructors = [];
297
- (0, _array.push)(constructors, this.constructors);
298
- if (includeDependencies) {
299
- var dependencyReleaseContexts = this.getDependencyReleaseContexts();
300
- dependencyReleaseContexts.forEach(function(releaseContext) {
301
- var includeDependencies = false, releaseContextConstructors = releaseContext.getConstructors(includeDependencies);
302
- (0, _array.push)(constructors, releaseContextConstructors);
303
- });
304
- }
305
- return constructors;
306
- }
307
- },
308
- {
309
- key: "fromJSON",
310
- value: function fromJSON() {
311
- var _this = this;
312
- var context = this, jsonArray = this.contextJSON;
313
- jsonArray.forEach(function(json) {
314
- var kind = json.kind;
315
- switch(kind){
316
- case _kinds.TYPE_KIND:
317
- {
318
- var type = _type.default.fromJSON(json, context);
319
- _this.types.push(type);
320
- break;
321
- }
322
- case _kinds.RULE_KIND:
323
- {
324
- var rule = _rule.default.fromJSON(json, context);
325
- _this.rules.push(rule);
326
- break;
327
- }
328
- case _kinds.AXIOM_KIND:
329
- {
330
- var axiom = _axiom.default.fromJSON(json, context);
331
- _this.axioms.push(axiom);
332
- break;
333
- }
334
- case _kinds.LEMMA_KIND:
335
- {
336
- var lemma = _lemma.default.fromJSON(json, context);
337
- _this.lemmas.push(lemma);
338
- break;
339
- }
340
- case _kinds.THEOREM_KIND:
341
- {
342
- var theorem = _theorem.default.fromJSON(json, context);
343
- _this.theorems.push(theorem);
344
- break;
345
- }
346
- case _kinds.CONJECTURE_KIND:
347
- {
348
- var conjecture = _conjecture.default.fromJSON(json, context);
349
- _this.conjectures.push(conjecture);
350
- break;
351
- }
352
- case _kinds.COMBINATOR_KIND:
353
- {
354
- var combinator = _combinator.default.fromJSON(json, context);
355
- _this.combinators.push(combinator);
356
- break;
357
- }
358
- case _kinds.CONSTRUCTOR_KIND:
359
- {
360
- var constructor = _constructor.default.fromJSON(json, context);
361
- _this.constructors.push(constructor);
362
- break;
363
- }
364
- }
365
- });
366
- }
367
- },
368
- {
369
- key: "initialise",
370
- value: function initialise(dependencyReleaseContexts) {
371
- _get(_getPrototypeOf(FileReleaseContext.prototype), "initialise", this).call(this, dependencyReleaseContexts);
372
- this.fromJSON();
373
- }
374
- }
375
- ], [
376
- {
377
- key: "fromLogNameEntriesAndContextJSON",
378
- value: function fromLogNameEntriesAndContextJSON(log, name, entries, contextJSON) {
379
- var lexer = null, parser = null, verified = true, customGrammar = (0, _customGrammar.customGrammarFromNameAndEntries)(name, entries), dependencyReleaseContexts = null, types = [], rules = [], axioms = [], lemmas = [], theorems = [], conjectures = [], combinators = [], constructors = [], releaseContext = new FileReleaseContext(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, types, rules, axioms, lemmas, theorems, conjectures, combinators, constructors, contextJSON);
380
- return releaseContext;
381
- }
382
- }
383
- ]);
384
- return FileReleaseContext;
385
- }(_release.default);
386
-
387
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvZmlsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJlbGVhc2VDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uLy4uL3J1bGVcIjtcbmltcG9ydCBUeXBlIGZyb20gXCIuLi8uLi90eXBlXCI7XG5pbXBvcnQgQXhpb20gZnJvbSBcIi4uLy4uL2F4aW9tXCI7XG5pbXBvcnQgTGVtbWEgZnJvbSBcIi4uLy4uL2xlbW1hXCI7XG5pbXBvcnQgVGhlb3JlbSBmcm9tIFwiLi4vLi4vdGhlb3JlbVwiO1xuaW1wb3J0IENvbmplY3R1cmUgZnJvbSBcIi4uLy4uL2NvbmplY3R1cmVcIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi8uLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uLy4uL2NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IHB1c2ggfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBSVUxFX0tJTkQsIFRZUEVfS0lORCwgQVhJT01fS0lORCwgTEVNTUFfS0lORCwgVEhFT1JFTV9LSU5ELCBDT05KRUNUVVJFX0tJTkQsIENPTUJJTkFUT1JfS0lORCwgQ09OU1RSVUNUT1JfS0lORCB9IGZyb20gXCIuLi8uLi9raW5kc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlUmVsZWFzZUNvbnRleHQgZXh0ZW5kcyBSZWxlYXNlQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGxvZywgbmFtZSwgZW50cmllcywgbGV4ZXIsIHBhcnNlciwgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMsIHR5cGVzLCBydWxlcywgYXhpb21zLCBsZW1tYXMsIHRoZW9yZW1zLCBjb25qZWN0dXJlcywgY29tYmluYXRvcnMsIGNvbnN0cnVjdG9ycywgY29udGV4dEpTT04pIHtcbiAgICBzdXBlcihsb2csIG5hbWUsIGVudHJpZXMsIGxleGVyLCBwYXJzZXIsIHZlcmlmaWVkLCBjdXN0b21HcmFtbWFyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIHRoaXMudHlwZXMgPSB0eXBlcztcbiAgICB0aGlzLnJ1bGVzID0gcnVsZXM7XG4gICAgdGhpcy5heGlvbXMgPSBheGlvbXM7XG4gICAgdGhpcy5sZW1tYXMgPSBsZW1tYXM7XG4gICAgdGhpcy50aGVvcmVtcyA9IHRoZW9yZW1zO1xuICAgIHRoaXMuY29uamVjdHVyZXMgPSBjb25qZWN0dXJlcztcbiAgICB0aGlzLmNvbWJpbmF0b3JzID0gY29tYmluYXRvcnM7XG4gICAgdGhpcy5jb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnM7XG4gICAgdGhpcy5jb250ZXh0SlNPTiA9IGNvbnRleHRKU09OO1xuICB9XG5cbiAgZ2V0Q29udGV4dEpTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dEpTT047XG4gIH1cblxuICBnZXRMYWJlbHMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHRoaXMucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgY29uc3QgcnVsZUxhYmVscyA9IHJ1bGUuZ2V0TGFiZWxzKCk7XG5cbiAgICAgIHB1c2gobGFiZWxzLCBydWxlTGFiZWxzKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXhpb21zLmZvckVhY2goKGF4aW9tKSA9PiB7XG4gICAgICBjb25zdCBheGlvbUxhYmVscyA9IGF4aW9tLmdldExhYmVscygpO1xuXG4gICAgICBwdXNoKGxhYmVscywgYXhpb21MYWJlbHMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy50aGVvcmVtcy5mb3JFYWNoKCh0aGVvcmVtKSA9PiB7XG4gICAgICBjb25zdCB0aGVvcmVtTGFiZWxzID0gdGhlb3JlbS5nZXRMYWJlbHMoKTtcblxuICAgICAgcHVzaChsYWJlbHMsIHRoZW9yZW1MYWJlbHMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0QXhpb21zID0gcmVsZWFzZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gobGFiZWxzLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWxzO1xuICB9XG5cbiAgZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcHVzaCh0eXBlcywgdGhpcy50eXBlcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRUeXBlcyA9IHJlbGVhc2VDb250ZXh0LmdldFR5cGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIHJlbGVhc2VDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdO1xuXG4gICAgcHVzaChydWxlcywgdGhpcy5ydWxlcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRSdWxlcyA9IHJlbGVhc2VDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIHJlbGVhc2VDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICBwdXNoKGF4aW9tcywgdGhpcy5heGlvbXMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0QXhpb21zID0gcmVsZWFzZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goYXhpb21zLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKCkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICBwdXNoKHRoZW9yZW1zLCB0aGlzLnRoZW9yZW1zKTtcblxuICAgIHJldHVybiB0aGVvcmVtcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgdGhlb3JlbXMgPSBbXTtcblxuICAgIHB1c2godGhlb3JlbXMsIHRoaXMudGhlb3JlbXMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VGhlb3JlbXMgPSByZWxlYXNlQ29udGV4dC5nZXRUaGVvcmVtcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHRoZW9yZW1zLCByZWxlYXNlQ29udGV4dFRoZW9yZW1zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGVvcmVtcztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHB1c2goY29uamVjdHVyZXMsIHRoaXMuY29uamVjdHVyZXMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uamVjdHVyZXMgPSByZWxlYXNlQ29udGV4dC5nZXRDb25qZWN0dXJlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKGNvbmplY3R1cmVzLCByZWxlYXNlQ29udGV4dENvbmplY3R1cmVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjb25qZWN0dXJlcztcbiAgfVxuXG4gIGdldENvbWJpbmF0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29tYmluYXRvcnMgPSBbXTtcblxuICAgIHB1c2goY29tYmluYXRvcnMsIHRoaXMuY29tYmluYXRvcnMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMgPSByZWxlYXNlQ29udGV4dC5nZXRDb21iaW5hdG9ycyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKGNvbWJpbmF0b3JzLCByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjb21iaW5hdG9ycztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IFtdO1xuXG4gICAgcHVzaChjb25zdHJ1Y3RvcnMsIHRoaXMuY29uc3RydWN0b3JzKTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbnN0cnVjdG9ycyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKGNvbnN0cnVjdG9ycywgcmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGZyb21KU09OKCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBqc29uQXJyYXkgPSB0aGlzLmNvbnRleHRKU09OO1xuXG4gICAganNvbkFycmF5LmZvckVhY2goKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHsga2luZCB9ID0ganNvbjtcblxuICAgICAgc3dpdGNoIChraW5kKSB7XG4gICAgICAgIGNhc2UgVFlQRV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLnR5cGVzLnB1c2godHlwZSk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUlVMRV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgcnVsZSA9IFJ1bGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gocnVsZSk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQVhJT01fS0lORDoge1xuICAgICAgICAgIGNvbnN0IGF4aW9tID0gQXhpb20uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLmF4aW9tcy5wdXNoKGF4aW9tKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBMRU1NQV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgbGVtbWEgPSBMZW1tYS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgICAgICAgIHRoaXMubGVtbWFzLnB1c2gobGVtbWEpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIFRIRU9SRU1fS0lORDoge1xuICAgICAgICAgIGNvbnN0IHRoZW9yZW0gPSBUaGVvcmVtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy50aGVvcmVtcy5wdXNoKHRoZW9yZW0pO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIENPTkpFQ1RVUkVfS0lORDoge1xuICAgICAgICAgIGNvbnN0IGNvbmplY3R1cmUgPSBDb25qZWN0dXJlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy5jb25qZWN0dXJlcy5wdXNoKGNvbmplY3R1cmUpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIENPTUJJTkFUT1JfS0lORDoge1xuICAgICAgICAgIGNvbnN0IGNvbWJpbmF0b3IgPSBDb21iaW5hdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy5jb21iaW5hdG9ycy5wdXNoKGNvbWJpbmF0b3IpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIENPTlNUUlVDVE9SX0tJTkQ6IHtcbiAgICAgICAgICBjb25zdCBjb25zdHJ1Y3RvciA9IENvbnN0cnVjdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvcnMucHVzaChjb25zdHJ1Y3Rvcik7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZShkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKSB7XG4gICAgc3VwZXIuaW5pdGlhbGlzZShkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIHRoaXMuZnJvbUpTT04oKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTG9nTmFtZUVudHJpZXNBbmRDb250ZXh0SlNPTihsb2csIG5hbWUsIGVudHJpZXMsIGNvbnRleHRKU09OKSB7XG4gICAgY29uc3QgbGV4ZXIgPSBudWxsLFxuICAgICAgICAgIHBhcnNlciA9IG51bGwsXG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBudWxsLFxuICAgICAgICAgIHR5cGVzID0gW10sXG4gICAgICAgICAgcnVsZXMgPSBbXSxcbiAgICAgICAgICBheGlvbXMgPSBbXSxcbiAgICAgICAgICBsZW1tYXMgPSBbXSxcbiAgICAgICAgICB0aGVvcmVtcyA9IFtdLFxuICAgICAgICAgIGNvbmplY3R1cmVzID0gW10sXG4gICAgICAgICAgY29tYmluYXRvcnMgPSBbXSxcbiAgICAgICAgICBjb25zdHJ1Y3RvcnMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IG5ldyBGaWxlUmVsZWFzZUNvbnRleHQobG9nLCBuYW1lLCBlbnRyaWVzLCBsZXhlciwgcGFyc2VyLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cywgdHlwZXMsIHJ1bGVzLCBheGlvbXMsIGxlbW1hcywgdGhlb3JlbXMsIGNvbmplY3R1cmVzLCBjb21iaW5hdG9ycywgY29uc3RydWN0b3JzLCBjb250ZXh0SlNPTik7XG5cbiAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRmlsZVJlbGVhc2VDb250ZXh0IiwibG9nIiwibmFtZSIsImVudHJpZXMiLCJsZXhlciIsInBhcnNlciIsInZlcmlmaWVkIiwiY3VzdG9tR3JhbW1hciIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJ0eXBlcyIsInJ1bGVzIiwiYXhpb21zIiwibGVtbWFzIiwidGhlb3JlbXMiLCJjb25qZWN0dXJlcyIsImNvbWJpbmF0b3JzIiwiY29uc3RydWN0b3JzIiwiY29udGV4dEpTT04iLCJnZXRDb250ZXh0SlNPTiIsImdldExhYmVscyIsImluY2x1ZGVEZXBlbmRlbmNpZXMiLCJsYWJlbHMiLCJmb3JFYWNoIiwicnVsZSIsInJ1bGVMYWJlbHMiLCJwdXNoIiwiYXhpb20iLCJheGlvbUxhYmVscyIsInRoZW9yZW0iLCJ0aGVvcmVtTGFiZWxzIiwiZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0IiwicmVsZWFzZUNvbnRleHRBeGlvbXMiLCJnZXRBeGlvbXMiLCJnZXRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJnZXRSdWxlcyIsInJlbGVhc2VDb250ZXh0UnVsZXMiLCJnZXRMZW1tYXMiLCJnZXRUaGVvcmVtcyIsInJlbGVhc2VDb250ZXh0VGhlb3JlbXMiLCJnZXRDb25qZWN0dXJlcyIsInJlbGVhc2VDb250ZXh0Q29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsInJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJyZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyIsImZyb21KU09OIiwiY29udGV4dCIsImpzb25BcnJheSIsImpzb24iLCJraW5kIiwiVFlQRV9LSU5EIiwidHlwZSIsIlR5cGUiLCJSVUxFX0tJTkQiLCJSdWxlIiwiQVhJT01fS0lORCIsIkF4aW9tIiwiTEVNTUFfS0lORCIsImxlbW1hIiwiTGVtbWEiLCJUSEVPUkVNX0tJTkQiLCJUaGVvcmVtIiwiQ09OSkVDVFVSRV9LSU5EIiwiY29uamVjdHVyZSIsIkNvbmplY3R1cmUiLCJDT01CSU5BVE9SX0tJTkQiLCJjb21iaW5hdG9yIiwiQ29tYmluYXRvciIsIkNPTlNUUlVDVE9SX0tJTkQiLCJjb25zdHJ1Y3RvciIsIkNvbnN0cnVjdG9yIiwiaW5pdGlhbGlzZSIsImZyb21Mb2dOYW1lRW50cmllc0FuZENvbnRleHRKU09OIiwiY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyIsIlJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlCcUJBOzs7NERBZk07eURBRVY7eURBQ0E7MERBQ0M7MERBQ0E7NERBQ0U7K0RBQ0c7K0RBQ0E7Z0VBQ0M7cUJBRUg7NkJBQzJCO3FCQUMrRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhILElBQUEs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
@@ -1,251 +0,0 @@
1
- "use strict";
2
-
3
- import ReleaseContext from "../../context/release";
4
-
5
- import { push } from "../../utilities/array";
6
- import { customGrammarFromNameAndEntries } from "../../utilities/customGrammar";
7
-
8
- export default class DirectoryReleaseContext extends ReleaseContext {
9
- constructor(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, fileContexts) {
10
- super(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts);
11
-
12
- this.fileContexts = fileContexts;
13
- }
14
-
15
- getFileContexts() {
16
- return this.fileContexts;
17
- }
18
-
19
- getLabels(includeDependencies = true) {
20
- const labels = [];
21
-
22
- this.fileContexts.forEach((fileContext) => {
23
- const includeRelease = false,
24
- fileContextLabels = fileContext.getLabels(includeRelease);
25
-
26
- push(labels, fileContextLabels);
27
- });
28
-
29
- if (includeDependencies) {
30
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
31
-
32
- dependencyReleaseContexts.forEach((releaseContext) => {
33
- const includeDependencies = false,
34
- releaseContextLabels = releaseContext.getLabels(includeDependencies);
35
-
36
- push(labels, releaseContextLabels);
37
- });
38
- }
39
-
40
- return labels;
41
- }
42
-
43
- getTypes(includeDependencies = true) {
44
- const types = [];
45
-
46
- this.fileContexts.forEach((fileContext) => {
47
- const includeRelease = false,
48
- fileContextTypes = fileContext.getTypes(includeRelease);
49
-
50
- push(types, fileContextTypes);
51
- });
52
-
53
- if (includeDependencies) {
54
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
55
-
56
- dependencyReleaseContexts.forEach((releaseContext) => {
57
- const includeDependencies = false,
58
- releaseContextTypes = releaseContext.getTypes(includeDependencies);
59
-
60
- push(types, releaseContextTypes);
61
- });
62
- }
63
-
64
- return types;
65
- }
66
-
67
- getRules(includeDependencies = true) {
68
- const rules = [];
69
-
70
- this.fileContexts.forEach((fileContext) => {
71
- const includeRelease = false,
72
- fileContextRules = fileContext.getRules(includeRelease);
73
-
74
- push(rules, fileContextRules);
75
- });
76
-
77
- if (includeDependencies) {
78
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
79
-
80
- dependencyReleaseContexts.forEach((releaseContext) => {
81
- const includeDependencies = false,
82
- releaseContextRules = releaseContext.getRules(includeDependencies);
83
-
84
- push(rules, releaseContextRules);
85
- });
86
- }
87
-
88
- return rules;
89
- }
90
-
91
- getAxioms(includeDependencies = true) {
92
- const axioms = [];
93
-
94
- this.fileContexts.forEach((fileContext) => {
95
- const includeRelease = false,
96
- fileContextAxioms = fileContext.getAxioms(includeRelease);
97
-
98
- push(axioms, fileContextAxioms);
99
- });
100
-
101
- if (includeDependencies) {
102
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
103
-
104
- dependencyReleaseContexts.forEach((releaseContext) => {
105
- const includeDependencies = false,
106
- releaseContextAxioms = releaseContext.getAxioms(includeDependencies);
107
-
108
- push(axioms, releaseContextAxioms);
109
- });
110
- }
111
-
112
- return axioms;
113
- }
114
-
115
- getLemmas() {
116
- const lemmas = [];
117
-
118
- this.fileContexts.forEach((fileContext) => {
119
- const includeRelease = false,
120
- fileContextLemmas = fileContext.getLemmas(includeRelease);
121
-
122
- push(lemmas, fileContextLemmas);
123
- });
124
-
125
- return lemmas;
126
- }
127
-
128
- getTheorems(includeDependencies = true) {
129
- const theorems = [];
130
-
131
- this.fileContexts.forEach((fileContext) => {
132
- const includeRelease = false,
133
- fileContextTheorems = fileContext.getTheorems(includeRelease);
134
-
135
- push(theorems, fileContextTheorems);
136
- });
137
-
138
- if (includeDependencies) {
139
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
140
-
141
- dependencyReleaseContexts.forEach((releaseContext) => {
142
- const includeDependencies = false,
143
- releaseContextTheorems = releaseContext.getTheorems(includeDependencies);
144
-
145
- push(theorems, releaseContextTheorems);
146
- });
147
- }
148
-
149
- return theorems;
150
- }
151
-
152
- getConjectures(includeDependencies = true) {
153
- const conjectures = [];
154
-
155
- this.fileContexts.forEach((fileContext) => {
156
- const includeRelease = false,
157
- fileContextConjectures = fileContext.getConjectures(includeRelease);
158
-
159
- push(conjectures, fileContextConjectures);
160
- });
161
-
162
- if (includeDependencies) {
163
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
164
-
165
- dependencyReleaseContexts.forEach((releaseContext) => {
166
- const includeDependencies = false,
167
- releaseContextConjectures = releaseContext.getConjectures(includeDependencies);
168
-
169
- push(conjectures, releaseContextConjectures);
170
- });
171
- }
172
-
173
- return conjectures;
174
- }
175
-
176
- getCombinators(includeDependencies = true) {
177
- const combinators = [];
178
-
179
- this.fileContexts.forEach((fileContext) => {
180
- const includeRelease = false,
181
- fileContextCombinators = fileContext.getCombinators(includeRelease);
182
-
183
- push(combinators, fileContextCombinators);
184
- });
185
-
186
- if (includeDependencies) {
187
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
188
-
189
- dependencyReleaseContexts.forEach((releaseContext) => {
190
- const includeDependencies = false,
191
- releaseContextCombinators = releaseContext.getCombinators(includeDependencies);
192
-
193
- push(combinators, releaseContextCombinators);
194
- });
195
- }
196
-
197
- return combinators;
198
- }
199
-
200
- getConstructors(includeDependencies = true) {
201
- const constructors = [];
202
-
203
- this.fileContexts.forEach((fileContext) => {
204
- const includeRelease = false,
205
- fileContextConstructors = fileContext.getConstructors(includeRelease);
206
-
207
- push(constructors, fileContextConstructors);
208
- });
209
-
210
- if (includeDependencies) {
211
- const dependencyReleaseContexts = this.getDependencyReleaseContexts();
212
-
213
- dependencyReleaseContexts.forEach((releaseContext) => {
214
- const includeDependencies = false,
215
- releaseContextConstructors = releaseContext.getConstructors(includeDependencies);
216
-
217
- push(constructors, releaseContextConstructors);
218
- });
219
- }
220
-
221
- return constructors;
222
- }
223
-
224
- addFileContext(fileContext) {
225
- this.fileContexts.push(fileContext);
226
- }
227
-
228
- toJSON() {
229
- const json = [];
230
-
231
- this.fileContexts.forEach((fileContext) => {
232
- const fileContextJSON = fileContext.toJSON();
233
-
234
- push(json, fileContextJSON);
235
- });
236
-
237
- return json;
238
- }
239
-
240
- static fromLogNameAndEntries(log, name, entries) {
241
- const lexer = null,
242
- parser = null,
243
- verified = false,
244
- customGrammar = customGrammarFromNameAndEntries(name, entries),
245
- dependencyReleaseContexts = null,
246
- fileContexts = [],
247
- directoryReleaseContext = new DirectoryReleaseContext(log, name, entries, lexer, parser, verified, customGrammar, dependencyReleaseContexts, fileContexts);
248
-
249
- return directoryReleaseContext;
250
- }
251
- }