occam-verify-cli 0.0.272 → 0.0.274
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.swcrc +5 -0
- package/bin/abbreviations.js +4 -2
- package/bin/context/{package → release}/fileSystem.js +38 -25
- package/bin/fileNames.js +7 -7
- package/bin/loadReleaseContexts.js +52 -0
- package/bin/main.js +8 -9
- package/bin/options.js +2 -2
- package/bin/utilities/fileSystem.js +13 -15
- package/lib/assertion.js +140 -0
- package/lib/axiom.js +90 -0
- package/lib/browser.js +27 -0
- package/lib/combinator.js +58 -0
- package/lib/conclusion.js +140 -0
- package/lib/constants.js +42 -0
- package/lib/constructor.js +76 -0
- package/lib/context/file.js +342 -0
- package/lib/context/metaproof.js +232 -0
- package/lib/context/proof.js +211 -0
- package/lib/context/release.js +303 -0
- package/lib/main.js +27 -0
- package/lib/metaAssertion.js +200 -0
- package/lib/metaSubstitution.js +123 -0
- package/lib/permutationsMatrix.js +466136 -0
- package/lib/premise.js +168 -0
- package/lib/rule.js +139 -0
- package/lib/ruleNames.js +46 -0
- package/lib/type.js +153 -0
- package/lib/utilities/array.js +99 -0
- package/lib/utilities/metastatement.js +45 -0
- package/lib/utilities/permutations.js +114 -0
- package/lib/utilities/query.js +81 -0
- package/lib/utilities/string.js +54 -0
- package/lib/variable.js +94 -0
- package/lib/verify/IndicativeConditional.js +29 -0
- package/lib/verify/assertion/type.js +52 -0
- package/lib/verify/axiom.js +52 -0
- package/lib/verify/conclusion.js +34 -0
- package/lib/verify/conditinalInference.js +30 -0
- package/lib/verify/declaration/combinator.js +24 -0
- package/lib/verify/declaration/constructor.js +24 -0
- package/lib/verify/declaration/topLevel.js +51 -0
- package/lib/verify/declaration/type.js +24 -0
- package/lib/verify/declaration/variable.js +24 -0
- package/lib/verify/equality.js +45 -0
- package/lib/verify/file.js +39 -0
- package/lib/verify/files.js +48 -0
- package/lib/verify/label.js +24 -0
- package/lib/verify/labels.js +27 -0
- package/lib/verify/metaDerivation.js +94 -0
- package/lib/verify/metaproof.js +81 -0
- package/lib/verify/metastatement/qualified.js +31 -0
- package/lib/verify/metastatement/unqualified.js +39 -0
- package/lib/verify/premiseOrPremises.js +39 -0
- package/lib/verify/release.js +61 -0
- package/lib/verify/rule.js +61 -0
- package/lib/verify/statement/qualified.js +24 -0
- package/lib/verify/statement/unqualified.js +32 -0
- package/lib/verify/statement.js +43 -0
- package/lib/verify/statementAsCombinator.js +102 -0
- package/lib/verify/supposition.js +29 -0
- package/lib/verify/term.js +121 -0
- package/lib/verify/termAsConstructor.js +126 -0
- package/lib/verify/termAsVariable.js +31 -0
- package/lib/verify/type.js +45 -0
- package/lib/verify/unconditionalInference.js +31 -0
- package/lib/verify/variable.js +48 -0
- package/package.json +21 -5
- package/{bin → src}/assertion.js +2 -4
- package/src/axiom.js +49 -0
- package/src/browser.js +4 -0
- package/{bin → src}/combinator.js +2 -4
- package/{bin → src}/conclusion.js +4 -6
- package/src/constants.js +9 -0
- package/{bin → src}/constructor.js +2 -4
- package/{bin → src}/context/file.js +34 -24
- package/{bin → src}/context/metaproof.js +13 -3
- package/{bin → src}/context/proof.js +13 -3
- package/src/context/release.js +219 -0
- package/src/main.js +4 -0
- package/{bin → src}/metaAssertion.js +4 -6
- package/{bin → src}/metaSubstitution.js +11 -4
- package/{bin → src}/permutationsMatrix.js +1 -1
- package/{bin → src}/premise.js +6 -8
- package/{bin → src}/rule.js +24 -15
- package/src/ruleNames.js +10 -0
- package/{bin → src}/type.js +1 -3
- package/{bin → src}/utilities/array.js +19 -24
- package/{bin → src}/utilities/metastatement.js +18 -12
- package/{bin → src}/utilities/permutations.js +4 -4
- package/{bin → src}/utilities/query.js +8 -18
- package/{bin → src}/utilities/string.js +4 -10
- package/{bin → src}/variable.js +1 -3
- package/src/verify/IndicativeConditional.js +20 -0
- package/{bin → src}/verify/assertion/type.js +8 -14
- package/src/verify/axiom.js +68 -0
- package/{bin → src}/verify/conclusion.js +4 -6
- package/src/verify/conditinalInference.js +25 -0
- package/{bin → src}/verify/declaration/combinator.js +3 -5
- package/{bin → src}/verify/declaration/constructor.js +3 -5
- package/{bin → src}/verify/declaration/topLevel.js +8 -10
- package/{bin → src}/verify/declaration/type.js +3 -5
- package/{bin → src}/verify/declaration/variable.js +3 -5
- package/{bin → src}/verify/equality.js +4 -6
- package/{bin → src}/verify/file.js +9 -15
- package/{bin → src}/verify/files.js +5 -7
- package/{bin → src}/verify/label.js +3 -9
- package/{bin → src}/verify/labels.js +2 -4
- package/{bin → src}/verify/metaDerivation.js +25 -19
- package/{bin → src}/verify/metaproof.js +6 -7
- package/{bin → src}/verify/metastatement/qualified.js +4 -10
- package/{bin → src}/verify/metastatement/unqualified.js +5 -11
- package/{bin → src}/verify/premiseOrPremises.js +9 -10
- package/src/verify/release.js +70 -0
- package/{bin → src}/verify/rule.js +17 -20
- package/{bin → src}/verify/statement/qualified.js +3 -5
- package/{bin → src}/verify/statement/unqualified.js +3 -5
- package/{bin → src}/verify/statement.js +7 -13
- package/{bin → src}/verify/statementAsCombinator.js +8 -14
- package/{bin → src}/verify/supposition.js +4 -6
- package/{bin → src}/verify/term.js +7 -13
- package/{bin → src}/verify/termAsConstructor.js +13 -19
- package/{bin → src}/verify/termAsVariable.js +3 -9
- package/{bin → src}/verify/type.js +7 -13
- package/{bin → src}/verify/unconditionalInference.js +4 -11
- package/{bin → src}/verify/variable.js +6 -12
- package/bin/axiom.js +0 -52
- package/bin/consequent.js +0 -19
- package/bin/constants.js +0 -19
- package/bin/context/package.js +0 -221
- package/bin/loadPackageContexts.js +0 -53
- package/bin/permutations.js +0 -3
- package/bin/ruleNames.js +0 -23
- package/bin/verify/axiom/IndicativeConditional.js +0 -54
- package/bin/verify/axiom/unqualifiedStatement.js +0 -40
- package/bin/verify/axiom.js +0 -37
- package/bin/verify/conditinalInference.js +0 -42
- package/bin/verify/consequent.js +0 -32
- package/bin/verify/metaConsequent.js +0 -23
- package/bin/verify/metaSupposition.js +0 -24
- package/bin/verify/package.js +0 -81
- package/index.js +0 -9
package/bin/abbreviations.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const options = require("./options");
|
|
4
|
+
|
|
5
|
+
const { LOG_LEVEL_OPTION, RELEASE_NAME_OPTIONS } = options;
|
|
4
6
|
|
|
5
7
|
const l = LOG_LEVEL_OPTION,
|
|
6
|
-
p =
|
|
8
|
+
p = RELEASE_NAME_OPTIONS;
|
|
7
9
|
|
|
8
10
|
module.exports = {
|
|
9
11
|
l,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const { fileSystemUtilities } = require("necessary");
|
|
3
|
+
const { loggingUtilities, fileSystemUtilities } = require("necessary");
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const { ReleaseContext } = require("../../../lib/main");
|
|
6
6
|
|
|
7
|
-
const {
|
|
7
|
+
const { filePathsFromReleaseName, dependencyReleaseNamesFromReleaseName } = require("../../utilities/fileSystem"),
|
|
8
8
|
{ TERM_BNF_FILE_NAME,
|
|
9
9
|
STATEMENT_BNF_FILE_NAME,
|
|
10
10
|
METASTATEMENT_BNF_FILE_NAME,
|
|
@@ -12,12 +12,13 @@ const { filePathsFromPackageName, dependencyPackageNamesFromPackageName } = requ
|
|
|
12
12
|
SYMBOL_PATTERN_FILE_NAME,
|
|
13
13
|
OPERATOR_PATTERN_FILE_NAME } = require("../../fileNames");
|
|
14
14
|
|
|
15
|
-
const {
|
|
15
|
+
const { log } = loggingUtilities,
|
|
16
|
+
{ readFile, checkFileExists } = fileSystemUtilities;
|
|
16
17
|
|
|
17
|
-
class
|
|
18
|
+
class FileSystemReleaseContext extends ReleaseContext {
|
|
18
19
|
getFilePaths() {
|
|
19
|
-
const
|
|
20
|
-
filePaths =
|
|
20
|
+
const releaseName = this.getReleaseName(),
|
|
21
|
+
filePaths = filePathsFromReleaseName(releaseName);
|
|
21
22
|
|
|
22
23
|
return filePaths;
|
|
23
24
|
}
|
|
@@ -28,16 +29,16 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
28
29
|
return fileContent;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
getDependencyReleaseNames() {
|
|
33
|
+
const releaseName = this.getReleaseName(),
|
|
34
|
+
dependencyReleaseNames = dependencyReleaseNamesFromReleaseName(releaseName);
|
|
34
35
|
|
|
35
|
-
return
|
|
36
|
+
return dependencyReleaseNames;
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
getTermBNF() {
|
|
39
|
-
const
|
|
40
|
-
directoryName =
|
|
40
|
+
const releaseName = this.getReleaseName(),
|
|
41
|
+
directoryName = releaseName, ///
|
|
41
42
|
fileName = TERM_BNF_FILE_NAME, ///
|
|
42
43
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
43
44
|
termBNF = fileContent; ///
|
|
@@ -46,8 +47,8 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
getStatementBNF() {
|
|
49
|
-
const
|
|
50
|
-
directoryName =
|
|
50
|
+
const releaseName = this.getReleaseName(),
|
|
51
|
+
directoryName = releaseName, ///
|
|
51
52
|
fileName = STATEMENT_BNF_FILE_NAME, ///
|
|
52
53
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
53
54
|
termBNF = fileContent; ///
|
|
@@ -56,8 +57,8 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
getMetastatementBNF() {
|
|
59
|
-
const
|
|
60
|
-
directoryName =
|
|
60
|
+
const releaseName = this.getReleaseName(),
|
|
61
|
+
directoryName = releaseName, ///
|
|
61
62
|
fileName = METASTATEMENT_BNF_FILE_NAME, ///
|
|
62
63
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
63
64
|
termBNF = fileContent; ///
|
|
@@ -66,8 +67,8 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
getTypePattern() {
|
|
69
|
-
const
|
|
70
|
-
directoryName =
|
|
70
|
+
const releaseName = this.getReleaseName(),
|
|
71
|
+
directoryName = releaseName, ///
|
|
71
72
|
fileName = TYPE_PATTERN_FILE_NAME, ///
|
|
72
73
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
73
74
|
termBNF = fileContent; ///
|
|
@@ -76,8 +77,8 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
getSymbolPattern() {
|
|
79
|
-
const
|
|
80
|
-
directoryName =
|
|
80
|
+
const releaseName = this.getReleaseName(),
|
|
81
|
+
directoryName = releaseName, ///
|
|
81
82
|
fileName = SYMBOL_PATTERN_FILE_NAME, ///
|
|
82
83
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
83
84
|
termBNF = fileContent; ///
|
|
@@ -86,8 +87,8 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
getOperatorPattern() {
|
|
89
|
-
const
|
|
90
|
-
directoryName =
|
|
90
|
+
const releaseName = this.getReleaseName(),
|
|
91
|
+
directoryName = releaseName, ///
|
|
91
92
|
fileName = OPERATOR_PATTERN_FILE_NAME, ///
|
|
92
93
|
fileContent = fileContentFromDirectoryNameAndFileName(directoryName, fileName),
|
|
93
94
|
termBNF = fileContent; ///
|
|
@@ -95,10 +96,22 @@ class FileSystemPackageContext extends PackageContext {
|
|
|
95
96
|
return termBNF;
|
|
96
97
|
}
|
|
97
98
|
|
|
98
|
-
|
|
99
|
+
trace(message) { log.trace(message); }
|
|
100
|
+
|
|
101
|
+
debug(message) { log.debug(message); }
|
|
102
|
+
|
|
103
|
+
info(message) { log.info(message); }
|
|
104
|
+
|
|
105
|
+
warning(message) { log.warning(message); }
|
|
106
|
+
|
|
107
|
+
error(message) { log.error(message); }
|
|
108
|
+
|
|
109
|
+
fatal(message) { log.fatal(message); }
|
|
110
|
+
|
|
111
|
+
static fromReleaseName(releaseName) { return ReleaseContext.fromReleaseName(FileSystemReleaseContext, releaseName); }
|
|
99
112
|
}
|
|
100
113
|
|
|
101
|
-
module.exports =
|
|
114
|
+
module.exports = FileSystemReleaseContext;
|
|
102
115
|
|
|
103
116
|
function fileContentFromDirectoryNameAndFileName(directoryName, fileName) {
|
|
104
117
|
const filePath = `${directoryName}/${fileName}`,
|
package/bin/fileNames.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const TERM_BNF_FILE_NAME = "term.bnf"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
const TERM_BNF_FILE_NAME = "term.bnf",
|
|
4
|
+
STATEMENT_BNF_FILE_NAME = "statement.bnf",
|
|
5
|
+
METASTATEMENT_BNF_FILE_NAME = "metastatement.bnf",
|
|
6
|
+
TYPE_PATTERN_FILE_NAME = "type.ptn",
|
|
7
|
+
SYMBOL_PATTERN_FILE_NAME = "symbol.ptn",
|
|
8
|
+
OPERATOR_PATTERN_FILE_NAME = "operator.ptn";
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
TERM_BNF_FILE_NAME,
|
|
@@ -14,4 +14,4 @@ module.exports = {
|
|
|
14
14
|
TYPE_PATTERN_FILE_NAME,
|
|
15
15
|
SYMBOL_PATTERN_FILE_NAME,
|
|
16
16
|
OPERATOR_PATTERN_FILE_NAME
|
|
17
|
-
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const { arrayUtilities, loggingUtilities } = require("necessary");
|
|
4
|
+
|
|
5
|
+
const FileSystemReleaseContext = require("./context/release/fileSystem");
|
|
6
|
+
|
|
7
|
+
const { log } = loggingUtilities,
|
|
8
|
+
{ first } = arrayUtilities;
|
|
9
|
+
|
|
10
|
+
function loadReleaseContexts(releaseName, releaseContextMap = {}, dependentReleaseNames = []) {
|
|
11
|
+
const cyclicDependencyExists = checkCyclicDependencyExists(releaseName, dependentReleaseNames);
|
|
12
|
+
|
|
13
|
+
if (!cyclicDependencyExists) {
|
|
14
|
+
const releaseContext = releaseContextMap[releaseName] || null;
|
|
15
|
+
|
|
16
|
+
if (releaseContext === null) {
|
|
17
|
+
const fileSystemReleaseContext = FileSystemReleaseContext.fromReleaseName(releaseName),
|
|
18
|
+
releaseContext = fileSystemReleaseContext; ///
|
|
19
|
+
|
|
20
|
+
releaseContextMap[releaseName] = releaseContext;
|
|
21
|
+
|
|
22
|
+
const dependencyReleaseNames = releaseContext.getDependencyReleaseNames(releaseName);
|
|
23
|
+
|
|
24
|
+
dependentReleaseNames = [ ...dependentReleaseNames, releaseName ]; ///
|
|
25
|
+
|
|
26
|
+
dependencyReleaseNames.forEach((dependencyReleaseName) => {
|
|
27
|
+
const releaseName = dependencyReleaseName; ///
|
|
28
|
+
|
|
29
|
+
loadReleaseContexts(releaseName, releaseContextMap, dependentReleaseNames);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return releaseContextMap;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
module.exports = loadReleaseContexts;
|
|
38
|
+
|
|
39
|
+
function checkCyclicDependencyExists(releaseName, dependentReleaseNames) {
|
|
40
|
+
const dependentReleaseNamesIncludesReleaseName = dependentReleaseNames.includes(releaseName),
|
|
41
|
+
cyclicDependencyExists = dependentReleaseNamesIncludesReleaseName; ///
|
|
42
|
+
|
|
43
|
+
if (cyclicDependencyExists) {
|
|
44
|
+
const firstDependentReleaseName = first(dependentReleaseNames),
|
|
45
|
+
releaseNames = dependentReleaseNames.concat(firstDependentReleaseName),
|
|
46
|
+
releaseNamesString = releaseNames.join(`' -> '`);
|
|
47
|
+
|
|
48
|
+
log.error(`There is a cyclic dependency: '${releaseNamesString}'.`);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return cyclicDependencyExists;
|
|
52
|
+
}
|
package/bin/main.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const {
|
|
3
|
+
const { verifyRelease } = require("../lib/main");
|
|
4
|
+
const { arrayUtilities, loggingUtilities } = require("necessary");
|
|
4
5
|
|
|
5
|
-
const
|
|
6
|
-
loadPackageContexts = require("./loadPackageContexts");
|
|
6
|
+
const loadReleaseContexts = require("./loadReleaseContexts");
|
|
7
7
|
|
|
8
|
-
const {
|
|
9
|
-
|
|
10
|
-
const { log } = loggingUtilities;
|
|
8
|
+
const { log } = loggingUtilities,
|
|
9
|
+
{ first } = arrayUtilities;
|
|
11
10
|
|
|
12
11
|
function main(commands, options) {
|
|
13
12
|
const firstCommand = first(commands),
|
|
14
|
-
{ logLevel = null,
|
|
13
|
+
{ logLevel = null, releaseName = firstCommand } = options; ///
|
|
15
14
|
|
|
16
15
|
if (logLevel !== null) {
|
|
17
16
|
log.setLogLevel(logLevel);
|
|
18
17
|
}
|
|
19
18
|
|
|
20
|
-
const
|
|
19
|
+
const releaseContextMap = loadReleaseContexts(releaseName);
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
verifyRelease(releaseName, releaseContextMap);
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
module.exports = main;
|
package/bin/options.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
|
|
5
3
|
const { Query } = require("occam-dom"),
|
|
6
4
|
{ filePathUtilities } = require("occam-open-cli"),
|
|
7
5
|
{ fileSystemUtilities } = require("necessary"),
|
|
8
6
|
{ MetaJSONLexer, MetaJSONParser } = require("occam-grammars");
|
|
9
7
|
|
|
10
8
|
const { isFilePathFlorenceFilePath } = filePathUtilities,
|
|
11
|
-
{ readFile, isEntryFile, isEntryDirectory, checkFileExists } = fileSystemUtilities;
|
|
9
|
+
{ readFile, isEntryFile, readDirectory, isEntryDirectory, checkFileExists } = fileSystemUtilities;
|
|
12
10
|
|
|
13
11
|
const metaJSONLexer = MetaJSONLexer.fromNothing(),
|
|
14
12
|
metaJSONParser = MetaJSONParser.fromNothing(),
|
|
15
13
|
dependencyStringLiteralNodesQuery = Query.fromExpression("//dependency//@string-literal");
|
|
16
14
|
|
|
17
|
-
function
|
|
18
|
-
const directoryName =
|
|
15
|
+
function filePathsFromReleaseName(releaseName) {
|
|
16
|
+
const directoryName = releaseName, ///
|
|
19
17
|
filePaths = readFilePaths(directoryName, (filePath) => {
|
|
20
18
|
const filePathFlorenceFilePath = isFilePathFlorenceFilePath(filePath);
|
|
21
19
|
|
|
@@ -27,10 +25,10 @@ function filePathsFromPackageName(packageName) {
|
|
|
27
25
|
return filePaths;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
function
|
|
31
|
-
let
|
|
28
|
+
function dependencyReleaseNamesFromReleaseName(releaseName) {
|
|
29
|
+
let dependencyReleaseNames = [];
|
|
32
30
|
|
|
33
|
-
const directoryName =
|
|
31
|
+
const directoryName = releaseName, ///
|
|
34
32
|
metaJSONFilePath = `${directoryName}/meta.json`,
|
|
35
33
|
metaJSONFileExists = checkFileExists(metaJSONFilePath);
|
|
36
34
|
|
|
@@ -41,26 +39,26 @@ function dependencyPackageNamesFromPackageName(packageName) {
|
|
|
41
39
|
node = metaJSONParser.parse(tokens),
|
|
42
40
|
dependencyStringLiteralNodes = dependencyStringLiteralNodesQuery.execute(node);
|
|
43
41
|
|
|
44
|
-
|
|
42
|
+
dependencyReleaseNames = dependencyStringLiteralNodes.map((dependencyStringLiteralNode) => {
|
|
45
43
|
const dependencyStringLiteralNodeContent = dependencyStringLiteralNode.getContent(),
|
|
46
|
-
|
|
44
|
+
dependencyReleaseName = trimDoubleQuotes(dependencyStringLiteralNodeContent); ///
|
|
47
45
|
|
|
48
|
-
return
|
|
46
|
+
return dependencyReleaseName;
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
49
|
|
|
52
|
-
return
|
|
50
|
+
return dependencyReleaseNames;
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
module.exports = {
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
filePathsFromReleaseName,
|
|
55
|
+
dependencyReleaseNamesFromReleaseName
|
|
58
56
|
};
|
|
59
57
|
|
|
60
58
|
function trimDoubleQuotes(content) { return content.replace(/(^"|"$)/g, ""); } ///
|
|
61
59
|
|
|
62
60
|
function readFilePaths(directoryPath, test, filePaths = []) {
|
|
63
|
-
const subEntryNames =
|
|
61
|
+
const subEntryNames = readDirectory(directoryPath);
|
|
64
62
|
|
|
65
63
|
subEntryNames.forEach((subEntryName) => {
|
|
66
64
|
const subEntryNameHiddenName = isNameHiddenName(subEntryName);
|
package/lib/assertion.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Assertion;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _query = require("./utilities/query");
|
|
12
|
+
function _classCallCheck(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/*/statement!");
|
|
32
|
+
var Assertion = /*#__PURE__*/ function() {
|
|
33
|
+
function Assertion(subproofNode, statementNode) {
|
|
34
|
+
_classCallCheck(this, Assertion);
|
|
35
|
+
this.subproofNode = subproofNode;
|
|
36
|
+
this.statementNode = statementNode;
|
|
37
|
+
}
|
|
38
|
+
_createClass(Assertion, [
|
|
39
|
+
{
|
|
40
|
+
key: "getNonTerminalNode",
|
|
41
|
+
value: function getNonTerminalNode() {
|
|
42
|
+
var nonTerminalNode = this.statementNode !== null ? this.statementNode : null;
|
|
43
|
+
return nonTerminalNode;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "getSubproofNode",
|
|
48
|
+
value: function getSubproofNode() {
|
|
49
|
+
return this.subproofNode;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "getStatementNode",
|
|
54
|
+
value: function getStatementNode() {
|
|
55
|
+
return this.statementNode;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "match",
|
|
60
|
+
value: function match(assertion) {
|
|
61
|
+
var matches = false;
|
|
62
|
+
var statementNode = assertion.getstatementNode();
|
|
63
|
+
if (statementNode !== null && this.statementNode !== null) {
|
|
64
|
+
var nonTerminalNode = this.statementNode, assertionNonTerminalNode = statementNode, assertionNonTerminalNodeMatches = matchAssertionNonTerminalNode(assertionNonTerminalNode, nonTerminalNode);
|
|
65
|
+
matches = assertionNonTerminalNodeMatches; ///
|
|
66
|
+
}
|
|
67
|
+
return matches;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
], [
|
|
71
|
+
{
|
|
72
|
+
key: "fromSubproofNode",
|
|
73
|
+
value: function fromSubproofNode(subproofNode) {
|
|
74
|
+
var statementNode = null, assertion = new Assertion(subproofNode, statementNode);
|
|
75
|
+
return assertion;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "fromQualifiedStatementNode",
|
|
80
|
+
value: function fromQualifiedStatementNode(qualifiedStatementNode) {
|
|
81
|
+
var subproofNode = null, statementNode = statementNodeQuery(qualifiedStatementNode), assertion = new Assertion(subproofNode, statementNode);
|
|
82
|
+
return assertion;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
key: "fromUnqualifiedStatementNode",
|
|
87
|
+
value: function fromUnqualifiedStatementNode(unqualifiedStatementNode) {
|
|
88
|
+
var subproofNode = null, statementNode = statementNodeQuery(unqualifiedStatementNode), assertion = new Assertion(subproofNode, statementNode);
|
|
89
|
+
return assertion;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
]);
|
|
93
|
+
return Assertion;
|
|
94
|
+
}();
|
|
95
|
+
function matchAssertionNode(assertionNode, node) {
|
|
96
|
+
var assertionNodeMatches = false;
|
|
97
|
+
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = assertionNode.isTerminalNode();
|
|
98
|
+
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
99
|
+
if (nodeTerminalNode) {
|
|
100
|
+
var terminalNode = node, assertionTerminalNode = assertionNode, assertionTerminalNodeMatches = matchAssertionTerminalNode(assertionTerminalNode, terminalNode);
|
|
101
|
+
assertionNodeMatches = assertionTerminalNodeMatches; ///
|
|
102
|
+
} else {
|
|
103
|
+
var nonTerminalNode = node, assertionNonTerminalNode = assertionNode, assertionNonTerminalNodeMatches = matchAssertionNonTerminalNode(assertionNonTerminalNode, nonTerminalNode);
|
|
104
|
+
assertionNodeMatches = assertionNonTerminalNodeMatches; ///
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return assertionNodeMatches;
|
|
108
|
+
}
|
|
109
|
+
function matchAssertionChildNodes(assertionChildNodes, childNodes) {
|
|
110
|
+
var assertionChildNodesMatches = false;
|
|
111
|
+
var childNodesLength = childNodes.length, assertionChildNodesLength = assertionChildNodes.length;
|
|
112
|
+
if (childNodesLength === assertionChildNodesLength) {
|
|
113
|
+
assertionChildNodesMatches = childNodes.every(function(childNode, index) {
|
|
114
|
+
var assertionChildNode = assertionChildNodes[index], assertionNode = assertionChildNode, node = childNode, assertionNodeMatches = matchAssertionNode(assertionNode, node);
|
|
115
|
+
if (assertionNodeMatches) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return assertionChildNodesMatches;
|
|
121
|
+
}
|
|
122
|
+
function matchAssertionTerminalNode(assertionTerminalNode, terminalNode) {
|
|
123
|
+
var assertionTerminalNodeMatches = false;
|
|
124
|
+
var matches = assertionTerminalNode.match(terminalNode);
|
|
125
|
+
if (matches) {
|
|
126
|
+
assertionTerminalNodeMatches = true;
|
|
127
|
+
}
|
|
128
|
+
return assertionTerminalNodeMatches;
|
|
129
|
+
}
|
|
130
|
+
function matchAssertionNonTerminalNode(assertionNonTerminalNode, nonTerminalNode) {
|
|
131
|
+
var assertionNonTerminalNodeMatches = false;
|
|
132
|
+
var ruleName = nonTerminalNode.getRuleName(), assertionRuleName = assertionNonTerminalNode.getRuleName(); ///
|
|
133
|
+
if (ruleName === assertionRuleName) {
|
|
134
|
+
var childNodes = nonTerminalNode.getChildNodes(), assertionChildNodes = assertionNonTerminalNode.getChildNodes(), assertionChildNodesMatches = matchAssertionChildNodes(assertionChildNodes, childNodes);
|
|
135
|
+
assertionNonTerminalNodeMatches = assertionChildNodesMatches; ///
|
|
136
|
+
}
|
|
137
|
+
return assertionNonTerminalNodeMatches;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvKi9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3RvcihzdWJwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnN1YnByb29mTm9kZSA9IHN1YnByb29mTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0Tm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9ICh0aGlzLnN0YXRlbWVudE5vZGUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlbWVudE5vZGUgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGU7XG4gIH1cblxuICBnZXRTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VicHJvb2ZOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2goYXNzZXJ0aW9uKSB7XG4gICAgbGV0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBhc3NlcnRpb24uZ2V0c3RhdGVtZW50Tm9kZSgpO1xuXG4gICAgaWYgKChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSAmJiAodGhpcy5zdGF0ZW1lbnROb2RlICE9PSBudWxsKSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gdGhpcy5zdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgIGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlKGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgbWF0Y2hlcyA9IGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGFzc2VydGlvbiA9IG5ldyBBc3NlcnRpb24oc3VicHJvb2ZOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBhc3NlcnRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVF1YWxpZmllZFN0YXRlbWVudE5vZGUocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBhc3NlcnRpb24gPSBuZXcgQXNzZXJ0aW9uKHN1YnByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gYXNzZXJ0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3VicHJvb2ZOb2RlID0gbnVsbCxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgYXNzZXJ0aW9uID0gbmV3IEFzc2VydGlvbihzdWJwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGFzc2VydGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaEFzc2VydGlvbk5vZGUoYXNzZXJ0aW9uTm9kZSwgbm9kZSkge1xuICBsZXQgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IGFzc2VydGlvbk5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSA9PT0gcnVsZU5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uVGVybWluYWxOb2RlID0gYXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQXNzZXJ0aW9uVGVybWluYWxOb2RlKGFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKTtcblxuICAgICAgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBhc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlID0gYXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlKGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXNzZXJ0aW9uTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQXNzZXJ0aW9uQ2hpbGROb2Rlcyhhc3NlcnRpb25DaGlsZE5vZGVzLCBjaGlsZE5vZGVzKSB7XG4gIGxldCBhc3NlcnRpb25DaGlsZE5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgIGFzc2VydGlvbkNoaWxkTm9kZXNMZW5ndGggPSBhc3NlcnRpb25DaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gYXNzZXJ0aW9uQ2hpbGROb2Rlc0xlbmd0aCkge1xuICAgIGFzc2VydGlvbkNoaWxkTm9kZXNNYXRjaGVzID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgYXNzZXJ0aW9uQ2hpbGROb2RlID0gYXNzZXJ0aW9uQ2hpbGROb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBhc3NlcnRpb25Ob2RlID0gYXNzZXJ0aW9uQ2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIG5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgYXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtYXRjaEFzc2VydGlvbk5vZGUoYXNzZXJ0aW9uTm9kZSwgbm9kZSk7XG5cbiAgICAgIGlmIChhc3NlcnRpb25Ob2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGFzc2VydGlvbkNoaWxkTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaEFzc2VydGlvblRlcm1pbmFsTm9kZShhc3NlcnRpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSkge1xuICBsZXQgYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSBhc3NlcnRpb25UZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKTtcblxuICBpZiAobWF0Y2hlcykge1xuICAgIGFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlKGFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgYXNzZXJ0aW9uUnVsZU5hbWUgPSBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBhc3NlcnRpb25SdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGFzc2VydGlvbkNoaWxkTm9kZXMgPSBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGFzc2VydGlvbkNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hBc3NlcnRpb25DaGlsZE5vZGVzKGFzc2VydGlvbkNoaWxkTm9kZXMsIGNoaWxkTm9kZXMpO1xuXG4gICAgYXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGFzc2VydGlvbkNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBhc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIkFzc2VydGlvbiIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN1YnByb29mTm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJnZXRTdWJwcm9vZk5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2giLCJhc3NlcnRpb24iLCJtYXRjaGVzIiwiZ2V0c3RhdGVtZW50Tm9kZSIsImFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsImFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaEFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsImZyb21TdWJwcm9vZk5vZGUiLCJmcm9tUXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwibWF0Y2hBc3NlcnRpb25Ob2RlIiwiYXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJhc3NlcnRpb25Ob2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiYXNzZXJ0aW9uVGVybWluYWxOb2RlIiwiYXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoQXNzZXJ0aW9uVGVybWluYWxOb2RlIiwibWF0Y2hBc3NlcnRpb25DaGlsZE5vZGVzIiwiYXNzZXJ0aW9uQ2hpbGROb2RlcyIsImNoaWxkTm9kZXMiLCJhc3NlcnRpb25DaGlsZE5vZGVzTWF0Y2hlcyIsImNoaWxkTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJhc3NlcnRpb25DaGlsZE5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJjaGlsZE5vZGUiLCJpbmRleCIsImFzc2VydGlvbkNoaWxkTm9kZSIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJh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
|
package/lib/axiom.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
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 Axiom;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _string = require("./utilities/string");
|
|
12
|
+
function _classCallCheck(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
var Axiom = /*#__PURE__*/ function() {
|
|
32
|
+
function Axiom(labels, statementNode, suppositionStatementNode, consequentStatementNode) {
|
|
33
|
+
_classCallCheck(this, Axiom);
|
|
34
|
+
this.labels = labels;
|
|
35
|
+
this.statementNode = statementNode;
|
|
36
|
+
this.suppositionStatementNode = suppositionStatementNode;
|
|
37
|
+
this.consequentStatementNode = consequentStatementNode;
|
|
38
|
+
}
|
|
39
|
+
_createClass(Axiom, [
|
|
40
|
+
{
|
|
41
|
+
key: "getLabels",
|
|
42
|
+
value: function getLabels() {
|
|
43
|
+
return this.labels;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "getStatementNode",
|
|
48
|
+
value: function getStatementNode() {
|
|
49
|
+
return this.statementNode;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "getSuppositionStatementNode",
|
|
54
|
+
value: function getSuppositionStatementNode() {
|
|
55
|
+
return this.suppositionStatementNode;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "getConsequentStatementNode",
|
|
60
|
+
value: function getConsequentStatementNode() {
|
|
61
|
+
return this.consequentStatementNode;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: "asString",
|
|
66
|
+
value: function asString() {
|
|
67
|
+
var string = (0, _string.labelsAsString)(this.labels);
|
|
68
|
+
return string;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
], [
|
|
72
|
+
{
|
|
73
|
+
key: "fromStatementNodeAndLabels",
|
|
74
|
+
value: function fromStatementNodeAndLabels(statementNode, labels) {
|
|
75
|
+
var suppositionStatementNode = null, consequentStatementNode = null, axiom = new Axiom(labels, statementNode, suppositionStatementNode, consequentStatementNode);
|
|
76
|
+
return axiom;
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
key: "fromSuppositionStatementNodeConsequentStatementNodeAndLabels",
|
|
81
|
+
value: function fromSuppositionStatementNodeConsequentStatementNodeAndLabels(suppositionStatementNode, consequentStatementNode, labels) {
|
|
82
|
+
var statementNode = null, axiom = new Axiom(labels, statementNode, suppositionStatementNode, consequentStatementNode);
|
|
83
|
+
return axiom;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
]);
|
|
87
|
+
return Axiom;
|
|
88
|
+
}();
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbGFiZWxzQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF4aW9tIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBzdGF0ZW1lbnROb2RlLCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgICB0aGlzLnN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZTtcbiAgICB0aGlzLmNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gY29uc2VxdWVudFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbGFiZWxzQXNTdHJpbmcodGhpcy5sYWJlbHMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZUFuZExhYmVscyhzdGF0ZW1lbnROb2RlLCBsYWJlbHMpIHtcbiAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBheGlvbSA9IG5ldyBBeGlvbShsYWJlbHMsIHN0YXRlbWVudE5vZGUsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSwgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGF4aW9tO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdXBwb3NpdGlvblN0YXRlbWVudE5vZGVDb25zZXF1ZW50U3RhdGVtZW50Tm9kZUFuZExhYmVscyhzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlLCBsYWJlbHMpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBheGlvbSA9IG5ldyBBeGlvbShsYWJlbHMsIHN0YXRlbWVudE5vZGUsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSwgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGF4aW9tO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkF4aW9tIiwibGFiZWxzIiwic3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSIsImNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlIiwiZ2V0TGFiZWxzIiwiZ2V0U3RhdGVtZW50Tm9kZSIsImdldFN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSIsImdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlIiwiYXNTdHJpbmciLCJzdHJpbmciLCJsYWJlbHNBc1N0cmluZyIsImZyb21TdGF0ZW1lbnROb2RlQW5kTGFiZWxzIiwiYXhpb20iLCJmcm9tU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlQ29uc2VxdWVudFN0YXRlbWVudE5vZGVBbmRMYWJlbHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O3NCQUZVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQixJQUFBLEFBQU1BLHNCQUFOO2FBQU1BLE1BQ1BDLE1BQU0sRUFBRUMsYUFBYSxFQUFFQyx3QkFBd0IsRUFBRUMsdUJBQXVCOzhCQURqRUo7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0Msd0JBQXdCLEdBQUdBO1FBQ2hDLElBQUksQ0FBQ0MsdUJBQXVCLEdBQUdBOztpQkFMZEo7O1lBUW5CSyxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUI7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDSixhQUFhO1lBQzNCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLDhCQUE4QjtnQkFDNUIsT0FBTyxJQUFJLENBQUNKLHdCQUF3QjtZQUN0Qzs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkI7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDSix1QkFBdUI7WUFDckM7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsV0FBVztnQkFDVCxJQUFNQyxTQUFTQyxJQUFBQSxzQkFBYyxFQUFDLElBQUksQ0FBQ1YsTUFBTTtnQkFFekMsT0FBT1M7WUFDVDs7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSwyQkFBMkJWLGFBQWEsRUFBRUQsTUFBTSxFQUFFO2dCQUN2RCxJQUFNRSwyQkFBMkIsSUFBSSxFQUMvQkMsMEJBQTBCLElBQUksRUFDOUJTLFFBQVEsSUFqQ0diLE1BaUNPQyxRQUFRQyxlQUFlQywwQkFBMEJDO2dCQUV6RSxPQUFPUztZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsNkRBQTZEWCx3QkFBd0IsRUFBRUMsdUJBQXVCLEVBQUVILE1BQU0sRUFBRTtnQkFDN0gsSUFBTUMsZ0JBQWdCLElBQUksRUFDcEJXLFFBQVEsSUF4Q0diLE1Bd0NPQyxRQUFRQyxlQUFlQywwQkFBMEJDO2dCQUV6RSxPQUFPUztZQUNUOzs7V0EzQ21CYiJ9
|
package/lib/browser.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
verifyRelease: function() {
|
|
13
|
+
return _release.default;
|
|
14
|
+
},
|
|
15
|
+
ReleaseContext: function() {
|
|
16
|
+
return _release1.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _release = /*#__PURE__*/ _interopRequireDefault(require("./verify/release"));
|
|
20
|
+
var _release1 = /*#__PURE__*/ _interopRequireDefault(require("./context/release"));
|
|
21
|
+
function _interopRequireDefault(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHZlcmlmeVJlbGVhc2UgfSBmcm9tIFwiLi92ZXJpZnkvcmVsZWFzZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZWxlYXNlQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQvcmVsZWFzZVwiO1xuIl0sIm5hbWVzIjpbInZlcmlmeVJlbGVhc2UiLCJSZWxlYXNlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxhQUFhO2VBQWJBLGdCQUFhOztJQUNiQyxjQUFjO2VBQWRBLGlCQUFjOzs7NERBRE87NkRBQ0MifQ==
|