occam-verify-cli 0.0.443 → 0.0.445
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/action/verify.js +17 -11
- package/bin/callbacks.js +1 -1
- package/lib/axiom.js +18 -22
- package/lib/combinator.js +3 -3
- package/lib/conclusion.js +3 -7
- package/lib/constructor.js +8 -5
- package/lib/context/file.js +21 -21
- package/lib/context/release/file.js +22 -28
- package/lib/context/release.js +13 -1
- package/lib/label.js +3 -7
- package/lib/premise.js +3 -7
- package/lib/rule.js +20 -33
- package/lib/type.js +7 -4
- package/lib/utilities/releaseContext.js +13 -3
- package/lib/verify/file.js +15 -10
- package/package.json +1 -1
- package/src/axiom.js +23 -24
- package/src/combinator.js +3 -2
- package/src/conclusion.js +5 -9
- package/src/constructor.js +13 -6
- package/src/context/file.js +23 -23
- package/src/context/release/file.js +25 -33
- package/src/context/release.js +13 -0
- package/src/label.js +3 -8
- package/src/premise.js +5 -9
- package/src/rule.js +22 -32
- package/src/type.js +9 -3
- package/src/utilities/releaseContext.js +18 -2
- package/src/verify/file.js +22 -14
|
@@ -67,7 +67,7 @@ function createReleaseContext(dependency, dependentNames, context, callback) {
|
|
|
67
67
|
createDependencyReleaseContexts(dependency, dependentNames, context, callback);
|
|
68
68
|
}, context);
|
|
69
69
|
}
|
|
70
|
-
function initialiseReleaseContext(dependency, context) {
|
|
70
|
+
function initialiseReleaseContext(dependency, dependentName, verified, context) {
|
|
71
71
|
var releaseContextMap = context.releaseContextMap, dependencyName = dependency.getName(), releaseName = dependencyName, releaseContext = releaseContextMap[releaseName] || null;
|
|
72
72
|
if (releaseContext === null) {
|
|
73
73
|
return;
|
|
@@ -76,9 +76,19 @@ function initialiseReleaseContext(dependency, context) {
|
|
|
76
76
|
if (initialised) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
+
var releaseContextVerified = releaseContext.isVerified();
|
|
80
|
+
if (verified) {
|
|
81
|
+
if (!releaseContextVerified) {
|
|
82
|
+
var log = context.log;
|
|
83
|
+
log.error("Unable to initialise the '".concat(releaseName, "' dependency's context because its '").concat(dependentName, "' dependent is a package."));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
verified = releaseContextVerified; ///
|
|
88
|
+
dependentName = releaseName; ///
|
|
79
89
|
var dependencies = releaseContext.getDependencies();
|
|
80
90
|
dependencies.forEachDependency(function(dependency) {
|
|
81
|
-
initialiseReleaseContext(dependency, context);
|
|
91
|
+
initialiseReleaseContext(dependency, dependentName, verified, context);
|
|
82
92
|
});
|
|
83
93
|
var dependencyReleaseContexts = retrieveDependencyReleaseContexts(dependency, context);
|
|
84
94
|
releaseContext.initialise(dependencyReleaseContexts);
|
|
@@ -139,4 +149,4 @@ function retrieveDependencyReleaseContexts(dependency, context) {
|
|
|
139
149
|
return dependencyReleaseContexts;
|
|
140
150
|
}
|
|
141
151
|
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBudWxsO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5QW5kRGVwZW5kZW50TmFtZXMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeUFuZERlcGVuZGVudE5hbWVzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IsIHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gPSByZWxlYXNlQ29udGV4dDtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICAgIGxvZy5lcnJvcihgVGhlICcke3JlbGVhc2VOYW1lfScgcGFja2FnZSBjb3VsZCBub3QgYmUgY3JlYXRlZC5gKTtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGluaXRpYWxpc2VkID0gcmVsZWFzZUNvbnRleHQuaXNJbml0aWFsaXNlZCgpO1xuXG4gIGlmIChpbml0aWFsaXNlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KTtcbiAgfSk7XG5cbiAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNyZWF0ZVJlbGVhc2VDb250ZXh0LFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRcbn07XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbnROYW1lcy5pbmNsdWRlcyhkZXBlbmRlbmN5TmFtZSksXG4gICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWU7ICAvLy9cblxuICBpZiAoY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGZpcnN0RGVwZW5kZW50TmFtZSA9IGZpcnN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXMgPSBbICAvLy9cbiAgICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGxvZy5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVuY3lOYW1lIF07ICAvLy9cblxuICBkZXBlbmRlbmNpZXMuYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3ksIG5leHQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgY29udGV4dCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IFtdKSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSxcbiAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gICAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBjb250ZXh0LCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMucHVzaChyZWxlYXNlQ29udGV4dCk7XG4gIH0pO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW5jeSIsImRlcGVuZGVudE5hbWVzIiwiY29udGV4dCIsImNhbGxiYWNrIiwicmVsZWFzZUNvbnRleHRNYXAiLCJkZXBlbmRlbmN5TmFtZSIsImdldE5hbWUiLCJyZWxlYXNlTmFtZSIsInJlbGVhc2VDb250ZXh0IiwiZXJyb3IiLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5QW5kRGVwZW5kZW50TmFtZXMiLCJsb2ciLCJjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZWQiLCJpc0luaXRpYWxpc2VkIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiZm9yRWFjaERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZSIsImNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyIsImRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSIsImluY2x1ZGVzIiwiY3ljbGljRGVwZW5kZW5jeUV4aXN0cyIsImZpcnN0RGVwZW5kZW50TmFtZSIsImZpcnN0IiwiZGVwZW5kZW5jeU5hbWVzIiwiZGVwZW5kZW5jeU5hbWVzU3RyaW5nIiwiam9pbiIsImFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5IiwibmV4dCIsImRvbmUiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVnQkEsb0JBQW9CO2VB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
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBudWxsO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5QW5kRGVwZW5kZW50TmFtZXMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeUFuZERlcGVuZGVudE5hbWVzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IsIHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gPSByZWxlYXNlQ29udGV4dDtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICAgIGxvZy5lcnJvcihgVGhlICcke3JlbGVhc2VOYW1lfScgcGFja2FnZSBjb3VsZCBub3QgYmUgY3JlYXRlZC5gKTtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lLCB2ZXJpZmllZCwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBpbml0aWFsaXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzSW5pdGlhbGlzZWQoKTtcblxuICBpZiAoaW5pdGlhbGlzZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWxlYXNlQ29udGV4dFZlcmlmaWVkID0gcmVsZWFzZUNvbnRleHQuaXNWZXJpZmllZCgpO1xuXG4gIGlmICh2ZXJpZmllZCkge1xuICAgIGlmICghcmVsZWFzZUNvbnRleHRWZXJpZmllZCkge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQ7XG5cbiAgICAgIGxvZyAuZXJyb3IoYFVuYWJsZSB0byBpbml0aWFsaXNlIHRoZSAnJHtyZWxlYXNlTmFtZX0nIGRlcGVuZGVuY3kncyBjb250ZXh0IGJlY2F1c2UgaXRzICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgaXMgYSBwYWNrYWdlLmApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgdmVyaWZpZWQgPSByZWxlYXNlQ29udGV4dFZlcmlmaWVkOyAgLy8vXG5cbiAgZGVwZW5kZW50TmFtZSA9IHJlbGVhc2VOYW1lOyAgLy8vXG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWUsIHZlcmlmaWVkLCBjb250ZXh0KTtcbiAgfSk7XG5cbiAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNyZWF0ZVJlbGVhc2VDb250ZXh0LFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRcbn07XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbnROYW1lcy5pbmNsdWRlcyhkZXBlbmRlbmN5TmFtZSksXG4gICAgICAgIGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWU7ICAvLy9cblxuICBpZiAoY3ljbGljRGVwZW5kZW5jeUV4aXN0cykge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGZpcnN0RGVwZW5kZW50TmFtZSA9IGZpcnN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbmN5TmFtZXMgPSBbICAvLy9cbiAgICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGxvZy5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdLFxuICAgICAgICBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVuY3lOYW1lIF07ICAvLy9cblxuICBkZXBlbmRlbmNpZXMuYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3ksIG5leHQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBjeWNsaWNEZXBlbmRlbmN5RXhpc3RzID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgY29udGV4dCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IFtdKSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSxcbiAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gICAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBjb250ZXh0LCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMucHVzaChyZWxlYXNlQ29udGV4dCk7XG4gIH0pO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwiaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW5jeSIsImRlcGVuZGVudE5hbWVzIiwiY29udGV4dCIsImNhbGxiYWNrIiwicmVsZWFzZUNvbnRleHRNYXAiLCJkZXBlbmRlbmN5TmFtZSIsImdldE5hbWUiLCJyZWxlYXNlTmFtZSIsInJlbGVhc2VDb250ZXh0IiwiZXJyb3IiLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5QW5kRGVwZW5kZW50TmFtZXMiLCJsb2ciLCJjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiZGVwZW5kZW50TmFtZSIsInZlcmlmaWVkIiwiaW5pdGlhbGlzZWQiLCJpc0luaXRpYWxpc2VkIiwicmVsZWFzZUNvbnRleHRWZXJpZmllZCIsImlzVmVyaWZpZWQiLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJmb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJyZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJpbml0aWFsaXNlIiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lIiwiaW5jbHVkZXMiLCJjeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZmlyc3REZXBlbmRlbnROYW1lIiwiZmlyc3QiLCJkZXBlbmRlbmN5TmFtZXMiLCJkZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3kiLCJuZXh0IiwiZG9uZSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0IiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWdCQSxvQkFBb0I7ZUFBcEJBOztJQXVDQUMsd0JBQXdCO2VBQXhCQTs7SUEyQ2hCLE9BR0U7ZUFIRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWxGTyxTQUFTRCxxQkFBcUJFLFVBQVUsRUFBRUMsY0FBYyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRTtJQUNsRixJQUFNLEFBQUVDLG9CQUFzQkYsUUFBdEJFLG1CQUNGQyxpQkFBaUJMLFdBQVdNLE9BQU8sSUFDbkNDLGNBQWNGLGdCQUNkRyxpQkFBaUJKLGlCQUFpQixDQUFDRyxZQUFZLElBQUksSUFBSTtJQUU3RCxJQUFJQyxtQkFBbUIsSUFBSSxFQUFFO1FBQzNCLElBQU1DLFFBQVEsSUFBSTtRQUVsQk4sU0FBU007UUFFVDtJQUNGLENBQUM7SUFFRCxJQUFNLEFBQUVDLGdEQUFrRFIsUUFBbERRO0lBRVJBLDhDQUE4Q1YsWUFB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
|
package/lib/verify/file.js
CHANGED
|
@@ -16,19 +16,24 @@ function _interopRequireDefault(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
var topLevelDeclarationNodesQuery = (0, _query.nodesQuery)("/document/topLevelDeclaration");
|
|
19
|
+
var errorNodesQuery = (0, _query.nodesQuery)("/document/error"), topLevelDeclarationNodesQuery = (0, _query.nodesQuery)("/document/topLevelDeclaration");
|
|
20
20
|
function verifyFile(filePath, releaseContext) {
|
|
21
21
|
var fileVerified = false;
|
|
22
22
|
releaseContext.debug("Verifying the '".concat(filePath, "' file..."));
|
|
23
|
-
var fileContext = _file.default.fromReleaseContextAndFilePath(releaseContext, filePath), node = fileContext.getNode(),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
var fileContext = _file.default.fromReleaseContextAndFilePath(releaseContext, filePath), node = fileContext.getNode(), errorNodes = errorNodesQuery(node), errorNodesLength = errorNodes.length;
|
|
24
|
+
if (errorNodesLength > 0) {
|
|
25
|
+
releaseContext.error("The '".concat(filePath, "' file cannot be verified because it contains errors."));
|
|
26
|
+
} else {
|
|
27
|
+
var topLevelDeclarationNodes = topLevelDeclarationNodesQuery(node), topLevelDeclarationsVerified = topLevelDeclarationNodes.every(function(topLevelDeclarationNode) {
|
|
28
|
+
var topLevelDeclarationVerified = (0, _topLevel.default)(topLevelDeclarationNode, fileContext);
|
|
29
|
+
if (topLevelDeclarationVerified) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
if (topLevelDeclarationsVerified) {
|
|
34
|
+
releaseContext.addFileContext(fileContext);
|
|
35
|
+
fileVerified = true;
|
|
27
36
|
}
|
|
28
|
-
});
|
|
29
|
-
if (topLevelDeclarationsVerified) {
|
|
30
|
-
releaseContext.addFileContext(fileContext);
|
|
31
|
-
fileVerified = true;
|
|
32
37
|
}
|
|
33
38
|
if (fileVerified) {
|
|
34
39
|
releaseContext.info("Verified the '".concat(filePath, "' file."));
|
|
@@ -36,4 +41,4 @@ function verifyFile(filePath, releaseContext) {
|
|
|
36
41
|
return fileVerified;
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEZpbGVDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2ZpbGVcIjtcbmltcG9ydCB2ZXJpZnlUb3BMZXZlbERlY2xhcmF0aW9uIGZyb20gXCIuL2RlY2xhcmF0aW9uL3RvcExldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGVycm9yTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvZXJyb3JcIiksXG4gICAgICB0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvdG9wTGV2ZWxEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5RmlsZShmaWxlUGF0aCwgcmVsZWFzZUNvbnRleHQpIHtcbiAgbGV0IGZpbGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIHJlbGVhc2VDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke2ZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gIGNvbnN0IGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbVJlbGVhc2VDb250ZXh0QW5kRmlsZVBhdGgocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoKSxcbiAgICAgICAgbm9kZSA9IGZpbGVDb250ZXh0LmdldE5vZGUoKSxcbiAgICAgICAgZXJyb3JOb2RlcyA9IGVycm9yTm9kZXNRdWVyeShub2RlKSxcbiAgICAgICAgZXJyb3JOb2Rlc0xlbmd0aCA9IGVycm9yTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChlcnJvck5vZGVzTGVuZ3RoID4gMCkge1xuICAgIHJlbGVhc2VDb250ZXh0LmVycm9yKGBUaGUgJyR7ZmlsZVBhdGh9JyBmaWxlIGNhbm5vdCBiZSB2ZXJpZmllZCBiZWNhdXNlIGl0IGNvbnRhaW5zIGVycm9ycy5gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXMgPSB0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXNRdWVyeShub2RlKSxcbiAgICAgICAgICB0b3BMZXZlbERlY2xhcmF0aW9uc1ZlcmlmaWVkID0gdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGVzLmV2ZXJ5KCh0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbih0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAodG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKHRvcExldmVsRGVjbGFyYXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIHJlbGVhc2VDb250ZXh0LmFkZEZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICAgICAgZmlsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZmlsZVZlcmlmaWVkKSB7XG4gICAgcmVsZWFzZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2ZpbGVQYXRofScgZmlsZS5gKTtcbiAgfVxuXG4gIHJldHVybiBmaWxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RmlsZSIsImVycm9yTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJ0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXNRdWVyeSIsImZpbGVQYXRoIiwicmVsZWFzZUNvbnRleHQiLCJmaWxlVmVyaWZpZWQiLCJkZWJ1ZyIsImZpbGVDb250ZXh0IiwiRmlsZUNvbnRleHQiLCJmcm9tUmVsZWFzZUNvbnRleHRBbmRGaWxlUGF0aCIsIm5vZGUiLCJnZXROb2RlIiwiZXJyb3JOb2RlcyIsImVycm9yTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJlcnJvciIsInRvcExldmVsRGVjbGFyYXRpb25Ob2RlcyIsInRvcExldmVsRGVjbGFyYXRpb25zVmVyaWZpZWQiLCJldmVyeSIsInRvcExldmVsRGVjbGFyYXRpb25Ob2RlIiwidG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbiIsImFkZEZpbGVDb250ZXh0IiwiaW5mbyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozt5REFSQTs2REFDYztxQkFFWDs7Ozs7O0FBRTNCLElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxvQkFDN0JDLGdDQUFnQ0QsSUFBQUEsaUJBQVUsRUFBQztBQUVsQyxTQUFTRixXQUFXSSxRQUFRLEVBQUVDLGNBQWMsRUFBRTtJQUMzRCxJQUFJQyxlQUFlLEtBQUs7SUFFeEJELGVBQWVFLEtBQUssQ0FBQyxBQUFDLGtCQUEwQixPQUFUSCxVQUFTO0lBRWhELElBQU1JLGNBQWNDLGFBQVcsQ0FBQ0MsNkJBQTZCLENBQUNMLGdCQUFnQkQsV0FDeEVPLE9BQU9ILFlBQVlJLE9BQU8sSUFDMUJDLGFBQWFaLGdCQUFnQlUsT0FDN0JHLG1CQUFtQkQsV0FBV0UsTUFBTTtJQUUxQyxJQUFJRCxtQkFBbUIsR0FBRztRQUN4QlQsZUFBZVcsS0FBSyxDQUFDLEFBQUMsUUFBZ0IsT0FBVFosVUFBUztJQUN4QyxPQUFPO1FBQ0wsSUFBTWEsMkJBQTJCZCw4QkFBOEJRLE9BQ3pETywrQkFBK0JELHlCQUF5QkUsS0FBSyxDQUFDLFNBQUNDLHlCQUE0QjtZQUN6RixJQUFNQyw4QkFBOEJDLElBQUFBLGlCQUF5QixFQUFDRix5QkFBeUJaO1lBRXZGLElBQUlhLDZCQUE2QjtnQkFDL0IsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO1FBRU4sSUFBSUgsOEJBQThCO1lBQ2hDYixlQUFla0IsY0FBYyxDQUFDZjtZQUU5QkYsZUFBZSxJQUFJO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsY0FBYztRQUNoQkQsZUFBZW1CLElBQUksQ0FBQyxBQUFDLGlCQUF5QixPQUFUcEIsVUFBUztJQUNoRCxDQUFDO0lBRUQsT0FBT0U7QUFDVCJ9
|
package/package.json
CHANGED
package/src/axiom.js
CHANGED
|
@@ -71,43 +71,38 @@ export default class Axiom {
|
|
|
71
71
|
return json;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
static fromJSON(json,
|
|
75
|
-
let axiom = null;
|
|
76
|
-
|
|
74
|
+
static fromJSON(json, releaseContext) {
|
|
77
75
|
let { labels } = json;
|
|
78
76
|
|
|
79
|
-
const
|
|
77
|
+
const labelsJSON = labels; ///
|
|
80
78
|
|
|
81
|
-
labels =
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
labels = labelsJSON.map((labelJSON) => {
|
|
80
|
+
const json = labelJSON, ///
|
|
81
|
+
label = Label.fromJSON(json, releaseContext);
|
|
84
82
|
|
|
85
|
-
|
|
83
|
+
return label;
|
|
84
|
+
});
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
labels.push(label);
|
|
89
|
-
} else {
|
|
90
|
-
labels = null;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
86
|
+
const { statement, consequent, supposition } = json;
|
|
93
87
|
|
|
94
|
-
|
|
95
|
-
}, []);
|
|
88
|
+
let axiom;
|
|
96
89
|
|
|
97
|
-
if (
|
|
90
|
+
if (false) {
|
|
91
|
+
///
|
|
92
|
+
} else if (statement !== null) {
|
|
98
93
|
const ruleName = UNQUALIFIED_STATEMENT_RULE_NAME,
|
|
99
94
|
content = `${statement}
|
|
100
95
|
`,
|
|
101
|
-
|
|
96
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
97
|
+
unqualifiedStatementNode = node, ///
|
|
102
98
|
statementNode = statementNodeQuery(unqualifiedStatementNode),
|
|
103
99
|
consequentNode = null,
|
|
104
100
|
suppositionNode = null;
|
|
105
101
|
|
|
106
102
|
axiom = new Axiom(labels, statementNode, consequentNode, suppositionNode);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
let content,
|
|
103
|
+
} else if ((consequent !== null) && (supposition !== null)) {
|
|
104
|
+
let node,
|
|
105
|
+
content,
|
|
111
106
|
statementNode,
|
|
112
107
|
unqualifiedStatementNode;
|
|
113
108
|
|
|
@@ -116,7 +111,9 @@ export default class Axiom {
|
|
|
116
111
|
content = `${consequent}
|
|
117
112
|
`;
|
|
118
113
|
|
|
119
|
-
|
|
114
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName);
|
|
115
|
+
|
|
116
|
+
unqualifiedStatementNode = node; ///
|
|
120
117
|
|
|
121
118
|
statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
122
119
|
|
|
@@ -125,7 +122,9 @@ export default class Axiom {
|
|
|
125
122
|
content = `${supposition}
|
|
126
123
|
`;
|
|
127
124
|
|
|
128
|
-
|
|
125
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName);
|
|
126
|
+
|
|
127
|
+
unqualifiedStatementNode = node; ///
|
|
129
128
|
|
|
130
129
|
statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
131
130
|
|
package/src/combinator.js
CHANGED
|
@@ -34,12 +34,13 @@ export default class Combinator {
|
|
|
34
34
|
return json;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
static fromJSON(json,
|
|
37
|
+
static fromJSON(json, releaseContext) {
|
|
38
38
|
const { statement } = json,
|
|
39
39
|
ruleName = COMBINATOR_DECLARATION_RULE_NAME,
|
|
40
40
|
content = `Combinator ${statement}
|
|
41
41
|
`,
|
|
42
|
-
|
|
42
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
43
|
+
combinatorDeclarationNode = node, ///
|
|
43
44
|
statementNode = statementNodeQuery(combinatorDeclarationNode),
|
|
44
45
|
combinator = new Combinator(statementNode);
|
|
45
46
|
|
package/src/conclusion.js
CHANGED
|
@@ -36,19 +36,15 @@ export default class Conclusion {
|
|
|
36
36
|
return json;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
static fromJSON(json,
|
|
40
|
-
let conclusion = null;
|
|
41
|
-
|
|
39
|
+
static fromJSON(json, releaseContext) {
|
|
42
40
|
const { metastatement } = json,
|
|
43
41
|
ruleName = UNQUALIFIED_METASTATEMENT_RULE_NAME,
|
|
44
42
|
content = `${metastatement}
|
|
45
43
|
`,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
conclusion = new Conclusion(metastatementNode);
|
|
51
|
-
}
|
|
44
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
45
|
+
unqualifiedMetastatementNode = node, ///
|
|
46
|
+
metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
|
|
47
|
+
conclusion = new Conclusion(metastatementNode);
|
|
52
48
|
|
|
53
49
|
return conclusion;
|
|
54
50
|
}
|
package/src/constructor.js
CHANGED
|
@@ -57,19 +57,26 @@ export default class Constructor {
|
|
|
57
57
|
return json;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
static fromJSON(json,
|
|
61
|
-
let { type } = json;
|
|
62
|
-
|
|
60
|
+
static fromJSON(json, releaseContext) {
|
|
63
61
|
const { term } = json,
|
|
64
62
|
ruleName = CONSTRUCTOR_DECLARATION_RULE_NAME,
|
|
65
63
|
content = `Constructor ${term}
|
|
66
64
|
`,
|
|
67
|
-
|
|
65
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
66
|
+
constructorDeclarationNode = node, ///
|
|
68
67
|
termNode = statementNodeQuery(constructorDeclarationNode);
|
|
69
68
|
|
|
70
|
-
|
|
69
|
+
let { type } = json;
|
|
70
|
+
|
|
71
|
+
const typeJSON = type; ///
|
|
72
|
+
|
|
73
|
+
json = typeJSON; ///
|
|
74
|
+
|
|
75
|
+
type = Type.fromJSON(json, releaseContext);
|
|
76
|
+
|
|
77
|
+
const typeName = type.getName();
|
|
71
78
|
|
|
72
|
-
type =
|
|
79
|
+
type = releaseContext.findTypeByTypeName(typeName); ///
|
|
73
80
|
|
|
74
81
|
const constructor = new Constructor(termNode, type);
|
|
75
82
|
|
package/src/context/file.js
CHANGED
|
@@ -6,13 +6,13 @@ import { push } from "../utilities/array";
|
|
|
6
6
|
import { leastLineIndexFromNodeAndTokens, greatestLineIndexFromNodeAndTokens } from "../utilities/tokens";
|
|
7
7
|
|
|
8
8
|
export default class FileContext {
|
|
9
|
-
constructor(releaseContext, filePath, tokens, node,
|
|
9
|
+
constructor(releaseContext, filePath, tokens, node, types, rules, axioms, variables, combinators, constructors) {
|
|
10
10
|
this.releaseContext = releaseContext;
|
|
11
11
|
this.filePath = filePath;
|
|
12
12
|
this.tokens = tokens;
|
|
13
13
|
this.node = node;
|
|
14
|
-
this.rules = rules;
|
|
15
14
|
this.types = types;
|
|
15
|
+
this.rules = rules;
|
|
16
16
|
this.axioms = axioms;
|
|
17
17
|
this.variables = variables;
|
|
18
18
|
this.combinators = combinators;
|
|
@@ -63,32 +63,32 @@ export default class FileContext {
|
|
|
63
63
|
return labels;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
const
|
|
66
|
+
getTypes(includeRelease = true) {
|
|
67
|
+
const types = [];
|
|
68
68
|
|
|
69
|
-
push(
|
|
69
|
+
push(types, this.types);
|
|
70
70
|
|
|
71
71
|
if (includeRelease) {
|
|
72
|
-
const
|
|
72
|
+
const releaseContextTypes = this.releaseContext.getTypes();
|
|
73
73
|
|
|
74
|
-
push(
|
|
74
|
+
push(types, releaseContextTypes);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
return
|
|
77
|
+
return types;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
const
|
|
80
|
+
getRules(includeRelease = true) {
|
|
81
|
+
const rules = []
|
|
82
82
|
|
|
83
|
-
push(
|
|
83
|
+
push(rules, this.rules);
|
|
84
84
|
|
|
85
85
|
if (includeRelease) {
|
|
86
|
-
const
|
|
86
|
+
const releaseContextRules = this.releaseContext.getRules();
|
|
87
87
|
|
|
88
|
-
push(
|
|
88
|
+
push(rules, releaseContextRules);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return rules;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
getAxioms(includeRelease = true) {
|
|
@@ -295,18 +295,18 @@ export default class FileContext {
|
|
|
295
295
|
toJSON() {
|
|
296
296
|
const json = [];
|
|
297
297
|
|
|
298
|
-
this.rules.forEach((rule) => {
|
|
299
|
-
const ruleJSON = rule.toJSON();
|
|
300
|
-
|
|
301
|
-
json.push(ruleJSON);
|
|
302
|
-
});
|
|
303
|
-
|
|
304
298
|
this.types.forEach((type) => {
|
|
305
299
|
const typeJSON = type.toJSON();
|
|
306
300
|
|
|
307
301
|
json.push(typeJSON);
|
|
308
302
|
});
|
|
309
303
|
|
|
304
|
+
this.rules.forEach((rule) => {
|
|
305
|
+
const ruleJSON = rule.toJSON();
|
|
306
|
+
|
|
307
|
+
json.push(ruleJSON);
|
|
308
|
+
});
|
|
309
|
+
|
|
310
310
|
this.axioms.forEach((axiom) => {
|
|
311
311
|
const axiomJSON = axiom.toJSON();
|
|
312
312
|
|
|
@@ -336,13 +336,13 @@ export default class FileContext {
|
|
|
336
336
|
|
|
337
337
|
rewriteNodes(node);
|
|
338
338
|
|
|
339
|
-
const
|
|
340
|
-
|
|
339
|
+
const types = [],
|
|
340
|
+
rules = [],
|
|
341
341
|
axioms = [],
|
|
342
342
|
variables = [],
|
|
343
343
|
combinators = [],
|
|
344
344
|
constructors = [],
|
|
345
|
-
fileContext = new FileContext(releaseContext, filePath, tokens, node,
|
|
345
|
+
fileContext = new FileContext(releaseContext, filePath, tokens, node, types, rules, axioms, variables, combinators, constructors);
|
|
346
346
|
|
|
347
347
|
return fileContext;
|
|
348
348
|
}
|
|
@@ -154,73 +154,65 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
154
154
|
return constructors;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
nodeFromContentAndRuleName(content, ruleName) {
|
|
158
|
+
const ruleMap = this.florenceParser.getRuleMap(),
|
|
159
|
+
rule = ruleMap[ruleName],
|
|
160
|
+
tokens = this.florenceLexer.tokenise(content),
|
|
161
|
+
node = this.florenceParser.parse(tokens, rule);
|
|
162
|
+
|
|
163
|
+
if (node !== null) {
|
|
164
|
+
rewriteNodes(node);
|
|
165
|
+
}
|
|
159
166
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const ruleMap = this.florenceParser.getRuleMap(),
|
|
163
|
-
tokens = this.florenceLexer.tokenise(content),
|
|
164
|
-
rule = ruleMap[ruleName],
|
|
165
|
-
node = this.florenceParser.parse(tokens, rule);
|
|
167
|
+
return node;
|
|
168
|
+
}
|
|
166
169
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
+
initialise(dependencyReleaseContexts) {
|
|
171
|
+
super.initialise(dependencyReleaseContexts);
|
|
170
172
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
+
const jsonArray = this.contextJSON,
|
|
174
|
+
releaseContext = this; ///
|
|
173
175
|
|
|
174
176
|
jsonArray.forEach((json) => {
|
|
175
177
|
const { kind } = json;
|
|
176
178
|
|
|
177
179
|
switch (kind) {
|
|
178
180
|
case TYPE_KIND: {
|
|
179
|
-
const type = Type.fromJSON(json);
|
|
181
|
+
const type = Type.fromJSON(json, releaseContext);
|
|
180
182
|
|
|
181
|
-
|
|
182
|
-
this.types.push(type);
|
|
183
|
-
}
|
|
183
|
+
this.types.push(type);
|
|
184
184
|
|
|
185
185
|
break;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
case RULE_KIND: {
|
|
189
|
-
const rule = Rule.fromJSON(json,
|
|
189
|
+
const rule = Rule.fromJSON(json, releaseContext);
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
this.rules.push(rule);
|
|
193
|
-
}
|
|
191
|
+
this.rules.push(rule);
|
|
194
192
|
|
|
195
193
|
break;
|
|
196
194
|
}
|
|
197
195
|
|
|
198
196
|
case AXIOM_KIND: {
|
|
199
|
-
const axiom = Axiom.fromJSON(json,
|
|
197
|
+
const axiom = Axiom.fromJSON(json, releaseContext);
|
|
200
198
|
|
|
201
|
-
|
|
202
|
-
this.axioms.push(axiom);
|
|
203
|
-
}
|
|
199
|
+
this.axioms.push(axiom);
|
|
204
200
|
|
|
205
201
|
break;
|
|
206
202
|
}
|
|
207
203
|
|
|
208
204
|
case COMBINATOR_KIND: {
|
|
209
|
-
const combinator = Combinator.fromJSON(json,
|
|
205
|
+
const combinator = Combinator.fromJSON(json, releaseContext);
|
|
210
206
|
|
|
211
|
-
|
|
212
|
-
this.combinators.push(combinator);
|
|
213
|
-
}
|
|
207
|
+
this.combinators.push(combinator);
|
|
214
208
|
|
|
215
209
|
break;
|
|
216
210
|
}
|
|
217
211
|
|
|
218
212
|
case CONSTRUCTOR_KIND: {
|
|
219
|
-
const constructor = Constructor.fromJSON(json,
|
|
213
|
+
const constructor = Constructor.fromJSON(json, releaseContext);
|
|
220
214
|
|
|
221
|
-
|
|
222
|
-
this.constructors.push(constructor);
|
|
223
|
-
}
|
|
215
|
+
this.constructors.push(constructor);
|
|
224
216
|
|
|
225
217
|
break;
|
|
226
218
|
}
|
package/src/context/release.js
CHANGED
|
@@ -56,6 +56,19 @@ export default class ReleaseContext {
|
|
|
56
56
|
return this.dependencyReleaseContexts;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
findTypeByTypeName(typeName) {
|
|
60
|
+
const types = this.getTypes(),
|
|
61
|
+
type = types.find((type) => {
|
|
62
|
+
const matches = type.matchTypeName(typeName);
|
|
63
|
+
|
|
64
|
+
if (matches) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}) || null;
|
|
68
|
+
|
|
69
|
+
return type;
|
|
70
|
+
}
|
|
71
|
+
|
|
59
72
|
getReleaseName() {
|
|
60
73
|
const name = this.getName(),
|
|
61
74
|
releaseName = name; ///
|
package/src/label.js
CHANGED
|
@@ -34,16 +34,11 @@ export default class Label {
|
|
|
34
34
|
return json;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
static fromJSON(json,
|
|
38
|
-
let label = null;
|
|
39
|
-
|
|
37
|
+
static fromJSON(json, releaseContext) {
|
|
40
38
|
const content = json, ///
|
|
41
39
|
ruleName = LABEL_RULE_NAME,
|
|
42
|
-
node =
|
|
43
|
-
|
|
44
|
-
if (node !== null) {
|
|
45
|
-
label = new Label(node);
|
|
46
|
-
}
|
|
40
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
41
|
+
label = new Label(node);
|
|
47
42
|
|
|
48
43
|
return label;
|
|
49
44
|
}
|
package/src/premise.js
CHANGED
|
@@ -71,19 +71,15 @@ export default class Premise {
|
|
|
71
71
|
return json;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
static fromJSON(json,
|
|
75
|
-
let premise = null;
|
|
76
|
-
|
|
74
|
+
static fromJSON(json, releaseContext) {
|
|
77
75
|
const { metastatement } = json,
|
|
78
76
|
ruleName = UNQUALIFIED_METASTATEMENT_RULE_NAME,
|
|
79
77
|
content = `${metastatement}
|
|
80
78
|
`,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
premise = new Premise(metastatementNode);
|
|
86
|
-
}
|
|
79
|
+
node = releaseContext.nodeFromContentAndRuleName(content, ruleName),
|
|
80
|
+
unqualifiedMetastatementNode = node, ///
|
|
81
|
+
metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode),
|
|
82
|
+
premise = new Premise(metastatementNode);
|
|
87
83
|
|
|
88
84
|
return premise;
|
|
89
85
|
}
|
package/src/rule.js
CHANGED
|
@@ -91,50 +91,40 @@ export default class Rule {
|
|
|
91
91
|
return json;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
static fromJSON(json,
|
|
95
|
-
let rule
|
|
94
|
+
static fromJSON(json, releaseContext) {
|
|
95
|
+
let rule;
|
|
96
96
|
|
|
97
|
-
let { labels
|
|
97
|
+
let { labels } = json;
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
if (labels !== null) {
|
|
101
|
-
const json = label; ///
|
|
99
|
+
const labelsJSON = labels; ///
|
|
102
100
|
|
|
103
|
-
|
|
101
|
+
labels = labelsJSON.map((labelJSON) => {
|
|
102
|
+
const json = labelJSON, ///
|
|
103
|
+
label = Label.fromJSON(json, releaseContext);
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
} else {
|
|
108
|
-
labels = null;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
105
|
+
return label;
|
|
106
|
+
});
|
|
111
107
|
|
|
112
|
-
|
|
113
|
-
}, []);
|
|
108
|
+
let { premises } = json;
|
|
114
109
|
|
|
115
|
-
|
|
116
|
-
if (premises !== null) {
|
|
117
|
-
const json = premise; ///
|
|
110
|
+
const premisesJSON = premises; ///
|
|
118
111
|
|
|
119
|
-
|
|
112
|
+
premises = premisesJSON.map((premiseJSON) => {
|
|
113
|
+
const json = premiseJSON, ///
|
|
114
|
+
premise = Premise.fromJSON(json, releaseContext);
|
|
120
115
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
} else {
|
|
124
|
-
premises = null;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
116
|
+
return premise;
|
|
117
|
+
});
|
|
127
118
|
|
|
128
|
-
|
|
129
|
-
}, []);
|
|
119
|
+
let { conclusion } = json;
|
|
130
120
|
|
|
131
|
-
|
|
121
|
+
const conclusionJSON = conclusion; ///
|
|
132
122
|
|
|
133
|
-
|
|
123
|
+
json = conclusionJSON; ///
|
|
134
124
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
125
|
+
conclusion = Conclusion.fromJSON(json, releaseContext);
|
|
126
|
+
|
|
127
|
+
rule = new Rule(labels, premises, conclusion);
|
|
138
128
|
|
|
139
129
|
return rule;
|
|
140
130
|
}
|