occam-verify-cli 0.0.279 → 0.0.281
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/bin/context/release/fileSystem.js +4 -18
- package/bin/loadReleaseContexts.js +2 -2
- package/bin/main.js +2 -2
- package/lib/context/release.js +51 -7
- package/package.json +2 -2
- package/src/context/release.js +21 -3
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const { fileNames } = require("occam-open-cli"),
|
|
4
|
-
{
|
|
5
|
-
|
|
6
|
-
const { ReleaseContext } = require("../../../lib/main");
|
|
4
|
+
{ ReleaseContext } = require("../../../lib/index"), ///
|
|
5
|
+
{ fileSystemUtilities } = require("necessary");
|
|
7
6
|
|
|
8
7
|
const { filePathsFromReleaseName, dependencyReleaseNamesFromReleaseName } = require("../../utilities/release");
|
|
9
8
|
|
|
10
|
-
const {
|
|
11
|
-
{ readFile, checkFileExists } = fileSystemUtilities,
|
|
9
|
+
const { readFile, checkFileExists } = fileSystemUtilities,
|
|
12
10
|
{ TERM_BNF_FILE_NAME,
|
|
13
11
|
STATEMENT_BNF_FILE_NAME,
|
|
14
12
|
METASTATEMENT_BNF_FILE_NAME,
|
|
@@ -97,19 +95,7 @@ class FileSystemReleaseContext extends ReleaseContext {
|
|
|
97
95
|
return termBNF;
|
|
98
96
|
}
|
|
99
97
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
debug(message) { log.debug(message); }
|
|
103
|
-
|
|
104
|
-
info(message) { log.info(message); }
|
|
105
|
-
|
|
106
|
-
warning(message) { log.warning(message); }
|
|
107
|
-
|
|
108
|
-
error(message) { log.error(message); }
|
|
109
|
-
|
|
110
|
-
fatal(message) { log.fatal(message); }
|
|
111
|
-
|
|
112
|
-
static fromReleaseName(releaseName) { return ReleaseContext.fromReleaseName(FileSystemReleaseContext, releaseName); }
|
|
98
|
+
static fromReleaseNameAndLog(releaseName, log) { return ReleaseContext.fromReleaseNameAndLog(FileSystemReleaseContext, releaseName, log); }
|
|
113
99
|
}
|
|
114
100
|
|
|
115
101
|
module.exports = FileSystemReleaseContext;
|
|
@@ -14,12 +14,12 @@ function loadReleaseContexts(releaseName, releaseContextMap = {}, dependentRelea
|
|
|
14
14
|
const releaseContext = releaseContextMap[releaseName] || null;
|
|
15
15
|
|
|
16
16
|
if (releaseContext === null) {
|
|
17
|
-
const fileSystemReleaseContext = FileSystemReleaseContext.
|
|
17
|
+
const fileSystemReleaseContext = FileSystemReleaseContext.fromReleaseNameAndLog(releaseName, log),
|
|
18
18
|
releaseContext = fileSystemReleaseContext; ///
|
|
19
19
|
|
|
20
20
|
releaseContextMap[releaseName] = releaseContext;
|
|
21
21
|
|
|
22
|
-
const dependencyReleaseNames = releaseContext.getDependencyReleaseNames(
|
|
22
|
+
const dependencyReleaseNames = releaseContext.getDependencyReleaseNames();
|
|
23
23
|
|
|
24
24
|
dependentReleaseNames = [ ...dependentReleaseNames, releaseName ]; ///
|
|
25
25
|
|
package/bin/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const { verifyRelease } = require("../lib/
|
|
4
|
-
|
|
3
|
+
const { verifyRelease } = require("../lib/index"),
|
|
4
|
+
{ arrayUtilities, loggingUtilities } = require("necessary");
|
|
5
5
|
|
|
6
6
|
const loadReleaseContexts = require("./loadReleaseContexts");
|
|
7
7
|
|
package/lib/context/release.js
CHANGED
|
@@ -91,7 +91,7 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
91
91
|
}
|
|
92
92
|
var florenceLexerFromCombinedCustomGrammar = _occamCustomGrammars.lexersUtilities.florenceLexerFromCombinedCustomGrammar, florenceParserFromCombinedCustomGrammar = _occamCustomGrammars.parsersUtilities.florenceParserFromCombinedCustomGrammar;
|
|
93
93
|
var ReleaseContext = /*#__PURE__*/ function() {
|
|
94
|
-
function ReleaseContext(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified) {
|
|
94
|
+
function ReleaseContext(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified, log) {
|
|
95
95
|
_classCallCheck(this, ReleaseContext);
|
|
96
96
|
this.releaseName = releaseName;
|
|
97
97
|
this.fileContexts = fileContexts;
|
|
@@ -99,6 +99,7 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
99
99
|
this.florenceParser = florenceParser;
|
|
100
100
|
this.releaseContexts = releaseContexts;
|
|
101
101
|
this.releaseVerified = releaseVerified;
|
|
102
|
+
this.log = log;
|
|
102
103
|
}
|
|
103
104
|
_createClass(ReleaseContext, [
|
|
104
105
|
{
|
|
@@ -131,6 +132,12 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
131
132
|
return this.releaseContexts;
|
|
132
133
|
}
|
|
133
134
|
},
|
|
135
|
+
{
|
|
136
|
+
key: "getLog",
|
|
137
|
+
value: function getLog() {
|
|
138
|
+
return this.log;
|
|
139
|
+
}
|
|
140
|
+
},
|
|
134
141
|
{
|
|
135
142
|
key: "isReleaseVerified",
|
|
136
143
|
value: function isReleaseVerified() {
|
|
@@ -262,6 +269,42 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
262
269
|
return this.florenceParser.parse(tokens);
|
|
263
270
|
}
|
|
264
271
|
},
|
|
272
|
+
{
|
|
273
|
+
key: "trace",
|
|
274
|
+
value: function trace(message) {
|
|
275
|
+
this.log.trace(message);
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
key: "debug",
|
|
280
|
+
value: function debug(message) {
|
|
281
|
+
this.log.debug(message);
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
key: "info",
|
|
286
|
+
value: function info(message) {
|
|
287
|
+
this.log.info(message);
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
key: "warning",
|
|
292
|
+
value: function warning(message) {
|
|
293
|
+
this.log.warning(message);
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
key: "error",
|
|
298
|
+
value: function error(message) {
|
|
299
|
+
this.log.error(message);
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
key: "fatal",
|
|
304
|
+
value: function fatal(message) {
|
|
305
|
+
this.log.fatal(message);
|
|
306
|
+
}
|
|
307
|
+
},
|
|
265
308
|
{
|
|
266
309
|
key: "initialise",
|
|
267
310
|
value: function initialise(releaseContexts, dependencyReleaseContexts) {
|
|
@@ -280,10 +323,10 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
280
323
|
}
|
|
281
324
|
], [
|
|
282
325
|
{
|
|
283
|
-
key: "
|
|
284
|
-
value: function
|
|
285
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len >
|
|
286
|
-
remainingArguments[_key -
|
|
326
|
+
key: "fromReleaseNameAndLog",
|
|
327
|
+
value: function fromReleaseNameAndLog(Class, releaseName, log) {
|
|
328
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++){
|
|
329
|
+
remainingArguments[_key - 3] = arguments[_key];
|
|
287
330
|
}
|
|
288
331
|
var fileContexts = [], florenceLexer = null, florenceParser = null, releaseContexts = [], releaseVerified = false, releaseContext = _construct(Class, [
|
|
289
332
|
releaseName,
|
|
@@ -291,7 +334,8 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
291
334
|
florenceLexer,
|
|
292
335
|
florenceParser,
|
|
293
336
|
releaseContexts,
|
|
294
|
-
releaseVerified
|
|
337
|
+
releaseVerified,
|
|
338
|
+
log
|
|
295
339
|
].concat(_toConsumableArray(remainingArguments)));
|
|
296
340
|
return releaseContext;
|
|
297
341
|
}
|
|
@@ -300,4 +344,4 @@ var ReleaseContext = /*#__PURE__*/ function() {
|
|
|
300
344
|
return ReleaseContext;
|
|
301
345
|
}();
|
|
302
346
|
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEN1c3RvbUdyYW1tYXIsIGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcywgQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIm9jY2FtLWN1c3RvbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlTmFtZSwgZmlsZUNvbnRleHRzLCBmbG9yZW5jZUxleGVyLCBmbG9yZW5jZVBhcnNlciwgcmVsZWFzZUNvbnRleHRzLCByZWxlYXNlVmVyaWZpZWQpIHtcbiAgICB0aGlzLnJlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWU7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gICAgdGhpcy5mbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlcjtcbiAgICB0aGlzLmZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXI7XG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dHMgPSByZWxlYXNlQ29udGV4dHM7XG4gICAgdGhpcy5yZWxlYXNlVmVyaWZpZWQgPSByZWxlYXNlVmVyaWZpZWQ7XG4gIH1cblxuICBnZXRSZWxlYXNlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlTmFtZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0cygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dHM7XG4gIH1cblxuICBnZXRGbG9yZW5jZUxleGVyKCkge1xuICAgIHJldHVybiB0aGlzLmZsb3JlbmNlTGV4ZXI7XG4gIH1cblxuICBnZXRGbG9yZW5jZVBhcnNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mbG9yZW5jZVBhcnNlcjtcbiAgfVxuXG4gIGdldFJlbGVhc2VDb250ZXh0cygpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dHM7XG4gIH1cblxuICBpc1JlbGVhc2VWZXJpZmllZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlVmVyaWZpZWQ7XG4gIH1cblxuICBnZXRSdWxlcyhyZWxlYXNlTmFtZXMgPSBbXSkge1xuICAgIGNvbnN0IHJ1bGVzID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2godGhpcy5yZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dFJ1bGVzID0gZmlsZUNvbnRleHQuZ2V0UnVsZXMoYnViYmxlKTtcblxuICAgICAgICBwdXNoKHJ1bGVzLCBmaWxlQ29udGV4dFJ1bGVzKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dFJ1bGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0UnVsZXMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKHJ1bGVzLCByZWxlYXNlQ29udGV4dFJ1bGVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIGdldFR5cGVzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaCh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0VHlwZXMgPSBmaWxlQ29udGV4dC5nZXRUeXBlcyhidWJibGUpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIGZpbGVDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0VHlwZXMgPSByZWxlYXNlQ29udGV4dC5nZXRUeXBlcyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIHJlbGVhc2VDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgYXhpb21zID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2godGhpcy5yZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dEF4aW9tcyA9IGZpbGVDb250ZXh0LmdldEF4aW9tcyhidWJibGUpO1xuXG4gICAgICAgIHB1c2goYXhpb21zLCBmaWxlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRBeGlvbXMgPSByZWxlYXNlQ29udGV4dC5nZXRBeGlvbXMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKGF4aW9tcywgcmVsZWFzZUNvbnRleHRBeGlvbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldENvbWJpbmF0b3JzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgY29tYmluYXRvcnMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaCh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0Q29tYmluYXRvcnMgPSBmaWxlQ29udGV4dC5nZXRDb21iaW5hdG9ycyhidWJibGUpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIGZpbGVDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMgPSByZWxlYXNlQ29udGV4dC5nZXRDb21iaW5hdG9ycyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gW10sXG4gICAgICAgICAgcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lcy5pbmNsdWRlcyh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgIGlmICghcmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSkge1xuICAgICAgcmVsZWFzZU5hbWVzLnB1c2godGhpcy5yZWxlYXNlTmFtZSk7XG5cbiAgICAgIGNvbnN0IGJ1YmJsZSA9IGZhbHNlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlQ29udGV4dENvbnN0cnVjdG9ycyA9IGZpbGVDb250ZXh0LmdldENvbnN0cnVjdG9ycyhidWJibGUpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCBmaWxlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMgPSByZWxlYXNlQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMocmVsZWFzZU5hbWVzKTtcblxuICAgICAgICBwdXNoKGNvbnN0cnVjdG9ycywgcmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGdldEN1c3RvbUdyYW1tYXIoKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucmVsZWFzZU5hbWUsIC8vL1xuICAgICAgICAgIHRlcm1CTkYgPSB0aGlzLmdldFRlcm1CTkYoKSxcbiAgICAgICAgICBzdGF0ZW1lbnRCTkYgPSB0aGlzLmdldFN0YXRlbWVudEJORigpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRCTkYgPSB0aGlzLmdldE1ldGFzdGF0ZW1lbnRCTkYoKSxcbiAgICAgICAgICB0eXBlUGF0dGVybiA9IHRoaXMuZ2V0VHlwZVBhdHRlcm4oKSxcbiAgICAgICAgICBzeW1ib2xQYXR0ZXJuID0gdGhpcy5nZXRTeW1ib2xQYXR0ZXJuKCksXG4gICAgICAgICAgb3BlcmF0b3JQYXR0ZXJuID0gdGhpcy5nZXRPcGVyYXRvclBhdHRlcm4oKSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyID0gbmV3IEN1c3RvbUdyYW1tYXIobmFtZSwgdGVybUJORiwgc3RhdGVtZW50Qk5GLCBtZXRhc3RhdGVtZW50Qk5GLCB0eXBlUGF0dGVybiwgc3ltYm9sUGF0dGVybiwgb3BlcmF0b3JQYXR0ZXJuKTtcblxuICAgIHJldHVybiBjdXN0b21HcmFtbWFyO1xuICB9XG5cbiAgYWRkRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgfVxuXG4gIHRva2VuaXNlKGNvbnRlbnQpIHsgcmV0dXJuIHRoaXMuZmxvcmVuY2VMZXhlci50b2tlbmlzZShjb250ZW50KTsgfVxuXG4gIHBhcnNlKHRva2VucykgeyByZXR1cm4gdGhpcy5mbG9yZW5jZVBhcnNlci5wYXJzZSh0b2tlbnMpOyB9XG5cbiAgaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpIHtcbiAgICB0aGlzLnJlbGVhc2VDb250ZXh0cyA9IHJlbGVhc2VDb250ZXh0cztcblxuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpczsgIC8vL1xuXG4gICAgcmVsZWFzZUNvbnRleHRzID0gWyByZWxlYXNlQ29udGV4dCwgLi4uZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyBdOyAvLy9cblxuICAgIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gcmVsZWFzZUNvbnRleHRzLm1hcCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUdyYW1tYXIgPSByZWxlYXNlQ29udGV4dC5nZXRDdXN0b21HcmFtbWFyKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBjdXN0b21HcmFtbWFyO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IENvbWJpbmVkQ3VzdG9tR3JhbW1hci5mcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpO1xuXG4gICAgdGhpcy5mbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuICAgIHRoaXMuZmxvcmVuY2VQYXJzZXIgPSBmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUmVsZWFzZU5hbWUoQ2xhc3MsIHJlbGVhc2VOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgICBmbG9yZW5jZUxleGVyID0gbnVsbCxcbiAgICAgICAgICBmbG9yZW5jZVBhcnNlciA9IG51bGwsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHRzID0gW10sXG4gICAgICAgICAgcmVsZWFzZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgQ2xhc3MocmVsZWFzZU5hbWUsIGZpbGVDb250ZXh0cywgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIHJlbGVhc2VDb250ZXh0cywgcmVsZWFzZVZlcmlmaWVkLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlJlbGVhc2VDb250ZXh0IiwiZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJwYXJzZXJzVXRpbGl0aWVzIiwicmVsZWFzZU5hbWUiLCJmaWxlQ29udGV4dHMiLCJmbG9yZW5jZUxleGVyIiwiZmxvcmVuY2VQYXJzZXIiLCJyZWxlYXNlQ29udGV4dHMiLCJyZWxlYXNlVmVyaWZpZWQiLCJnZXRSZWxlYXNlTmFtZSIsImdldEZpbGVDb250ZXh0cyIsImdldEZsb3JlbmNlTGV4ZXIiLCJnZXRGbG9yZW5jZVBhcnNlciIsImdldFJlbGVhc2VDb250ZXh0cyIsImlzUmVsZWFzZVZlcmlmaWVkIiwiZ2V0UnVsZXMiLCJyZWxlYXNlTmFtZXMiLCJydWxlcyIsInJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUiLCJpbmNsdWRlcyIsInB1c2giLCJidWJibGUiLCJmb3JFYWNoIiwiZmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dFJ1bGVzIiwicmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dFJ1bGVzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImZpbGVDb250ZXh0VHlwZXMiLCJyZWxlYXNlQ29udGV4dFR5cGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZmlsZUNvbnRleHRBeGlvbXMiLCJyZWxlYXNlQ29udGV4dEF4aW9tcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJmaWxlQ29udGV4dENvbWJpbmF0b3JzIiwicmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImZpbGVDb250ZXh0Q29uc3RydWN0b3JzIiwicmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJnZXRDdXN0b21HcmFtbWFyIiwibmFtZSIsInRlcm1CTkYiLCJnZXRUZXJtQk5GIiwic3RhdGVtZW50Qk5GIiwiZ2V0U3RhdGVtZW50Qk5GIiwibWV0YXN0YXRlbWVudEJORiIsImdldE1ldGFzdGF0ZW1lbnRCTkYiLCJ0eXBlUGF0dGVybiIsImdldFR5cGVQYXR0ZXJuIiwic3ltYm9sUGF0dGVybiIsImdldFN5bWJvbFBhdHRlcm4iLCJvcGVyYXRvclBhdHRlcm4iLCJnZXRPcGVyYXRvclBhdHRlcm4iLCJjdXN0b21HcmFtbWFyIiwiQ3VzdG9tR3JhbW1hciIsImFkZEZpbGVDb250ZXh0IiwidG9rZW5pc2UiLCJjb250ZW50IiwicGFyc2UiLCJ0b2tlbnMiLCJpbml0aWFsaXNlIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImN1c3RvbUdyYW1tYXJzIiwibWFwIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiQ29tYmluZWRDdXN0b21HcmFtbWFyIiwiZnJvbUN1c3RvbUdyYW1tYXJzIiwiZnJvbVJlbGVhc2VOYW1lIiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7O21DQVBtRTtxQkFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLElBQU0sQUFBRUMseUNBQTJDQyxvQ0FBZSxDQUExREQsd0NBQ0YsQUFBRUUs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
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEN1c3RvbUdyYW1tYXIsIGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcywgQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIm9jY2FtLWN1c3RvbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlTmFtZSwgZmlsZUNvbnRleHRzLCBmbG9yZW5jZUxleGVyLCBmbG9yZW5jZVBhcnNlciwgcmVsZWFzZUNvbnRleHRzLCByZWxlYXNlVmVyaWZpZWQsIGxvZykge1xuICAgIHRoaXMucmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZTtcbiAgICB0aGlzLmZpbGVDb250ZXh0cyA9IGZpbGVDb250ZXh0cztcbiAgICB0aGlzLmZsb3JlbmNlTGV4ZXIgPSBmbG9yZW5jZUxleGVyO1xuICAgIHRoaXMuZmxvcmVuY2VQYXJzZXIgPSBmbG9yZW5jZVBhcnNlcjtcbiAgICB0aGlzLnJlbGVhc2VDb250ZXh0cyA9IHJlbGVhc2VDb250ZXh0cztcbiAgICB0aGlzLnJlbGVhc2VWZXJpZmllZCA9IHJlbGVhc2VWZXJpZmllZDtcblxuICAgIHRoaXMubG9nID0gbG9nO1xuICB9XG5cbiAgZ2V0UmVsZWFzZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZU5hbWU7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VMZXhlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mbG9yZW5jZUxleGVyO1xuICB9XG5cbiAgZ2V0RmxvcmVuY2VQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxvcmVuY2VQYXJzZXI7XG4gIH1cblxuICBnZXRSZWxlYXNlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0TG9nKCkge1xuICAgIHJldHVybiB0aGlzLmxvZztcbiAgfVxuXG4gIGlzUmVsZWFzZVZlcmlmaWVkKCkge1xuICAgIHJldHVybiB0aGlzLnJlbGVhc2VWZXJpZmllZDtcbiAgfVxuXG4gIGdldFJ1bGVzKHJlbGVhc2VOYW1lcyA9IFtdKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaCh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0UnVsZXMgPSBmaWxlQ29udGV4dC5nZXRSdWxlcyhidWJibGUpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIGZpbGVDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0UnVsZXMgPSByZWxlYXNlQ29udGV4dC5nZXRSdWxlcyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIHJlbGVhc2VDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0VHlwZXMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZXMuaW5jbHVkZXModGhpcy5yZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgICBjb25zdCBidWJibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUNvbnRleHRUeXBlcyA9IGZpbGVDb250ZXh0LmdldFR5cGVzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgZmlsZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRUeXBlcyA9IHJlbGVhc2VDb250ZXh0LmdldFR5cGVzKHJlbGVhc2VOYW1lcyk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgcmVsZWFzZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRBeGlvbXMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBheGlvbXMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaCh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0QXhpb21zID0gZmlsZUNvbnRleHQuZ2V0QXhpb21zKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChheGlvbXMsIGZpbGVDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dEF4aW9tcyA9IHJlbGVhc2VDb250ZXh0LmdldEF4aW9tcyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goYXhpb21zLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZXMuaW5jbHVkZXModGhpcy5yZWxlYXNlTmFtZSk7XG5cbiAgICBpZiAoIXJlbGVhc2VOYW1lc0luY2x1ZGVzUmVsZWFzZU5hbWUpIHtcbiAgICAgIHJlbGVhc2VOYW1lcy5wdXNoKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgICBjb25zdCBidWJibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUNvbnRleHRDb21iaW5hdG9ycyA9IGZpbGVDb250ZXh0LmdldENvbWJpbmF0b3JzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChjb21iaW5hdG9ycywgZmlsZUNvbnRleHRDb21iaW5hdG9ycyk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbWJpbmF0b3JzKHJlbGVhc2VOYW1lcyk7XG5cbiAgICAgICAgcHVzaChjb21iaW5hdG9ycywgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMocmVsZWFzZU5hbWVzID0gW10pIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVzLmluY2x1ZGVzKHRoaXMucmVsZWFzZU5hbWUpO1xuXG4gICAgaWYgKCFyZWxlYXNlTmFtZXNJbmNsdWRlc1JlbGVhc2VOYW1lKSB7XG4gICAgICByZWxlYXNlTmFtZXMucHVzaCh0aGlzLnJlbGVhc2VOYW1lKTtcblxuICAgICAgY29uc3QgYnViYmxlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVDb250ZXh0Q29uc3RydWN0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGJ1YmJsZSk7XG5cbiAgICAgICAgcHVzaChjb25zdHJ1Y3RvcnMsIGZpbGVDb250ZXh0Q29uc3RydWN0b3JzKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbnN0cnVjdG9ycyhyZWxlYXNlTmFtZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgZ2V0Q3VzdG9tR3JhbW1hcigpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5yZWxlYXNlTmFtZSwgLy8vXG4gICAgICAgICAgdGVybUJORiA9IHRoaXMuZ2V0VGVybUJORigpLFxuICAgICAgICAgIHN0YXRlbWVudEJORiA9IHRoaXMuZ2V0U3RhdGVtZW50Qk5GKCksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudEJORiA9IHRoaXMuZ2V0TWV0YXN0YXRlbWVudEJORigpLFxuICAgICAgICAgIHR5cGVQYXR0ZXJuID0gdGhpcy5nZXRUeXBlUGF0dGVybigpLFxuICAgICAgICAgIHN5bWJvbFBhdHRlcm4gPSB0aGlzLmdldFN5bWJvbFBhdHRlcm4oKSxcbiAgICAgICAgICBvcGVyYXRvclBhdHRlcm4gPSB0aGlzLmdldE9wZXJhdG9yUGF0dGVybigpLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBuZXcgQ3VzdG9tR3JhbW1hcihuYW1lLCB0ZXJtQk5GLCBzdGF0ZW1lbnRCTkYsIG1ldGFzdGF0ZW1lbnRCTkYsIHR5cGVQYXR0ZXJuLCBzeW1ib2xQYXR0ZXJuLCBvcGVyYXRvclBhdHRlcm4pO1xuXG4gICAgcmV0dXJuIGN1c3RvbUdyYW1tYXI7XG4gIH1cblxuICBhZGRGaWxlQ29udGV4dChmaWxlQ29udGV4dCkge1xuICAgIHRoaXMuZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICB9XG5cbiAgdG9rZW5pc2UoY29udGVudCkgeyByZXR1cm4gdGhpcy5mbG9yZW5jZUxleGVyLnRva2VuaXNlKGNvbnRlbnQpOyB9XG5cbiAgcGFyc2UodG9rZW5zKSB7IHJldHVybiB0aGlzLmZsb3JlbmNlUGFyc2VyLnBhcnNlKHRva2Vucyk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMubG9nLnRyYWNlKG1lc3NhZ2UpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLmxvZy5kZWJ1ZyhtZXNzYWdlKTsgfVxuXG4gIGluZm8obWVzc2FnZSkgeyB0aGlzLmxvZy5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMubG9nLndhcm5pbmcobWVzc2FnZSk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMubG9nLmVycm9yKG1lc3NhZ2UpOyB9XG5cbiAgZmF0YWwobWVzc2FnZSkgeyB0aGlzLmxvZy5mYXRhbChtZXNzYWdlKTsgfVxuXG4gIGluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKSB7XG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dHMgPSByZWxlYXNlQ29udGV4dHM7XG5cbiAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHRoaXM7ICAvLy9cblxuICAgIHJlbGVhc2VDb250ZXh0cyA9IFsgcmVsZWFzZUNvbnRleHQsIC4uLmRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgXTsgLy8vXG5cbiAgICBjb25zdCBjdXN0b21HcmFtbWFycyA9IHJlbGVhc2VDb250ZXh0cy5tYXAoKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21HcmFtbWFyID0gcmVsZWFzZUNvbnRleHQuZ2V0Q3VzdG9tR3JhbW1hcigpO1xuXG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tR3JhbW1hcjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKTtcblxuICAgIHRoaXMuZmxvcmVuY2VMZXhlciA9IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbiAgICB0aGlzLmZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlbGVhc2VOYW1lQW5kTG9nKENsYXNzLCByZWxlYXNlTmFtZSwgbG9nLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgICBmbG9yZW5jZUxleGVyID0gbnVsbCxcbiAgICAgICAgICBmbG9yZW5jZVBhcnNlciA9IG51bGwsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHRzID0gW10sXG4gICAgICAgICAgcmVsZWFzZVZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgQ2xhc3MocmVsZWFzZU5hbWUsIGZpbGVDb250ZXh0cywgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIHJlbGVhc2VDb250ZXh0cywgcmVsZWFzZVZlcmlmaWVkLCBsb2csIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiUmVsZWFzZUNvbnRleHQiLCJmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsImZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJyZWxlYXNlTmFtZSIsImZpbGVDb250ZXh0cyIsImZsb3JlbmNlTGV4ZXIiLCJmbG9yZW5jZVBhcnNlciIsInJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VWZXJpZmllZCIsImxvZyIsImdldFJlbGVhc2VOYW1lIiwiZ2V0RmlsZUNvbnRleHRzIiwiZ2V0RmxvcmVuY2VMZXhlciIsImdldEZsb3JlbmNlUGFyc2VyIiwiZ2V0UmVsZWFzZUNvbnRleHRzIiwiZ2V0TG9nIiwiaXNSZWxlYXNlVmVyaWZpZWQiLCJnZXRSdWxlcyIsInJlbGVhc2VOYW1lcyIsInJ1bGVzIiwicmVsZWFzZU5hbWVzSW5jbHVkZXNSZWxlYXNlTmFtZSIsImluY2x1ZGVzIiwicHVzaCIsImJ1YmJsZSIsImZvckVhY2giLCJmaWxlQ29udGV4dCIsImZpbGVDb250ZXh0UnVsZXMiLCJyZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0UnVsZXMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZmlsZUNvbnRleHRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJmaWxlQ29udGV4dEF4aW9tcyIsInJlbGVhc2VDb250ZXh0QXhpb21zIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImZpbGVDb250ZXh0Q29tYmluYXRvcnMiLCJyZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJyZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyIsImdldEN1c3RvbUdyYW1tYXIiLCJuYW1lIiwidGVybUJORiIsImdldFRlcm1CTkYiLCJzdGF0ZW1lbnRCTkYiLCJnZXRTdGF0ZW1lbnRCTkYiLCJtZXRhc3RhdGVtZW50Qk5GIiwiZ2V0TWV0YXN0YXRlbWVudEJORiIsInR5cGVQYXR0ZXJuIiwiZ2V0VHlwZVBhdHRlcm4iLCJzeW1ib2xQYXR0ZXJuIiwiZ2V0U3ltYm9sUGF0dGVybiIsIm9wZXJhdG9yUGF0dGVybiIsImdldE9wZXJhdG9yUGF0dGVybiIsImN1c3RvbUdyYW1tYXIiLCJDdXN0b21HcmFtbWFyIiwiYWRkRmlsZUNvbnRleHQiLCJ0b2tlbmlzZSIsImNvbnRlbnQiLCJwYXJzZSIsInRva2VucyIsInRyYWNlIiwibWVzc2FnZSIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsImZhdGFsIiwiaW5pdGlhbGlzZSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJjdXN0b21HcmFtbWFycyIsIm1hcCIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21DdXN0b21HcmFtbWFycyIsImZyb21SZWxlYXNlTmFtZUFuZExvZyIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzttQ0FQbUU7cUJBRW5FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVyQixJQUFNLEFBQUVDLHlDQUEyQ0Msb0NBQWUsQ0FBMURELHdDQUNGLEFBQUVFLDBDQUE0Q0MscUNBQWdCLENBQTVERDtBQUVPLElBQUEsQUFBTUgsK0JBQU47YUFBTUEsZUFDUEssV0FBVyxFQUFFQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxlQUFlLEVBQUVDLGVBQWUsRUFBRUMsR0FBRzs4QkFEeEZYO1FBRWpCLElBQUksQ0FBQ0ssV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLGVBQWUsR0FBR0E7UUFDdkIsSUFBSSxDQUFDQyxlQUFlLEdBQUdBO1FBRXZCLElBQUksQ0FBQ0MsR0FBRyxHQUFHQTs7aUJBVE1YOztZQVluQlksS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQjtnQkFDZixPQUFPLElBQUksQ0FBQ1AsV0FBVztZQUN6Qjs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.281",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"occam-dom": "^3.0.171",
|
|
17
17
|
"occam-grammar-utilities": "^7.0.66",
|
|
18
18
|
"occam-grammars": "^1.0.322",
|
|
19
|
-
"occam-open-cli": "^5.0.
|
|
19
|
+
"occam-open-cli": "^5.0.44",
|
|
20
20
|
"occam-parsers": "^16.0.122"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
package/src/context/release.js
CHANGED
|
@@ -8,13 +8,15 @@ const { florenceLexerFromCombinedCustomGrammar } = lexersUtilities,
|
|
|
8
8
|
{ florenceParserFromCombinedCustomGrammar } = parsersUtilities;
|
|
9
9
|
|
|
10
10
|
export default class ReleaseContext {
|
|
11
|
-
constructor(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified) {
|
|
11
|
+
constructor(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified, log) {
|
|
12
12
|
this.releaseName = releaseName;
|
|
13
13
|
this.fileContexts = fileContexts;
|
|
14
14
|
this.florenceLexer = florenceLexer;
|
|
15
15
|
this.florenceParser = florenceParser;
|
|
16
16
|
this.releaseContexts = releaseContexts;
|
|
17
17
|
this.releaseVerified = releaseVerified;
|
|
18
|
+
|
|
19
|
+
this.log = log;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
getReleaseName() {
|
|
@@ -37,6 +39,10 @@ export default class ReleaseContext {
|
|
|
37
39
|
return this.releaseContexts;
|
|
38
40
|
}
|
|
39
41
|
|
|
42
|
+
getLog() {
|
|
43
|
+
return this.log;
|
|
44
|
+
}
|
|
45
|
+
|
|
40
46
|
isReleaseVerified() {
|
|
41
47
|
return this.releaseVerified;
|
|
42
48
|
}
|
|
@@ -187,6 +193,18 @@ export default class ReleaseContext {
|
|
|
187
193
|
|
|
188
194
|
parse(tokens) { return this.florenceParser.parse(tokens); }
|
|
189
195
|
|
|
196
|
+
trace(message) { this.log.trace(message); }
|
|
197
|
+
|
|
198
|
+
debug(message) { this.log.debug(message); }
|
|
199
|
+
|
|
200
|
+
info(message) { this.log.info(message); }
|
|
201
|
+
|
|
202
|
+
warning(message) { this.log.warning(message); }
|
|
203
|
+
|
|
204
|
+
error(message) { this.log.error(message); }
|
|
205
|
+
|
|
206
|
+
fatal(message) { this.log.fatal(message); }
|
|
207
|
+
|
|
190
208
|
initialise(releaseContexts, dependencyReleaseContexts) {
|
|
191
209
|
this.releaseContexts = releaseContexts;
|
|
192
210
|
|
|
@@ -206,13 +224,13 @@ export default class ReleaseContext {
|
|
|
206
224
|
this.florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
207
225
|
}
|
|
208
226
|
|
|
209
|
-
static
|
|
227
|
+
static fromReleaseNameAndLog(Class, releaseName, log, ...remainingArguments) {
|
|
210
228
|
const fileContexts = [],
|
|
211
229
|
florenceLexer = null,
|
|
212
230
|
florenceParser = null,
|
|
213
231
|
releaseContexts = [],
|
|
214
232
|
releaseVerified = false,
|
|
215
|
-
releaseContext = new Class(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified, ...remainingArguments);
|
|
233
|
+
releaseContext = new Class(releaseName, fileContexts, florenceLexer, florenceParser, releaseContexts, releaseVerified, log, ...remainingArguments);
|
|
216
234
|
|
|
217
235
|
return releaseContext;
|
|
218
236
|
}
|