occam-verify-cli 0.0.525 → 0.0.527
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assertion/type.js +10 -40
- package/lib/axiom.js +7 -7
- package/lib/axiomLemmaTheoremConjecture.js +190 -0
- package/lib/combinator.js +5 -5
- package/lib/conclusion.js +3 -3
- package/lib/conjecture.js +141 -0
- package/lib/consequence.js +5 -5
- package/lib/constants.js +4 -16
- package/lib/constructor.js +6 -6
- package/lib/context/file.js +85 -32
- package/lib/context/metaproof.js +46 -4
- package/lib/context/proof.js +38 -93
- package/lib/context/release/directory.js +20 -1
- package/lib/context/release/file.js +27 -3
- package/lib/equality.js +78 -51
- package/lib/index.js +1 -13
- package/lib/kinds.js +5 -1
- package/lib/label.js +5 -5
- package/lib/lemma.js +7 -7
- package/lib/matcher/metastatementForMetavariable.js +16 -19
- package/lib/matcher/statementForMetavariable.js +22 -20
- package/lib/matcher/{statementForVariable → termForVariable}/consequence.js +13 -13
- package/lib/matcher/{statementForVariable → termForVariable}/supposition.js +13 -13
- package/lib/matcher/termForVariable.js +198 -0
- package/lib/matcher.js +23 -64
- package/lib/mixins/file.js +62 -2
- package/lib/premise.js +6 -6
- package/lib/rule.js +5 -5
- package/lib/ruleNames.js +1 -9
- package/lib/step/proof.js +22 -1
- package/lib/substitution/statementForMetavariable.js +12 -8
- package/lib/substitution/termForVariable.js +86 -0
- package/lib/supposition.js +6 -6
- package/lib/theorem.js +7 -7
- package/lib/type.js +13 -6
- package/lib/utilities/string.js +17 -16
- package/lib/utilities/substitution.js +4 -5
- package/lib/variable.js +5 -39
- package/lib/verify/assertion/type.js +60 -37
- package/lib/verify/axiom.js +2 -3
- package/lib/verify/conclusion.js +2 -3
- package/lib/verify/conjecture.js +56 -0
- package/lib/verify/consequence.js +3 -4
- package/lib/verify/declaration/topLevel.js +7 -3
- package/lib/verify/label.js +2 -3
- package/lib/verify/lemma.js +2 -3
- package/lib/verify/metastatement/qualified.js +3 -4
- package/lib/verify/metastatement/unqualified.js +3 -4
- package/lib/verify/premise.js +3 -4
- package/lib/verify/rule.js +2 -3
- package/lib/verify/statement/qualified.js +41 -12
- package/lib/verify/statement/unqualified.js +3 -4
- package/lib/verify/statement.js +47 -51
- package/lib/verify/statementAsCombinator.js +2 -3
- package/lib/verify/supposition.js +3 -4
- package/lib/verify/term.js +3 -4
- package/lib/verify/termAsConstructor.js +4 -5
- package/lib/verify/theorem.js +2 -3
- package/lib/verify/type.js +2 -3
- package/lib/verify/variable.js +2 -3
- package/package.json +1 -1
- package/src/assertion/type.js +7 -32
- package/src/axiom.js +4 -4
- package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +9 -9
- package/src/combinator.js +4 -4
- package/src/conclusion.js +2 -2
- package/src/conjecture.js +13 -0
- package/src/consequence.js +4 -4
- package/src/constants.js +1 -4
- package/src/constructor.js +6 -6
- package/src/context/file.js +89 -32
- package/src/context/metaproof.js +44 -3
- package/src/context/proof.js +42 -37
- package/src/context/release/directory.js +24 -0
- package/src/context/release/file.js +34 -3
- package/src/equality.js +110 -61
- package/src/index.js +0 -3
- package/src/kinds.js +1 -0
- package/src/label.js +4 -4
- package/src/lemma.js +4 -4
- package/src/matcher/metastatementForMetavariable.js +22 -32
- package/src/matcher/statementForMetavariable.js +40 -34
- package/src/matcher/termForVariable/consequence.js +9 -0
- package/src/matcher/termForVariable/supposition.js +9 -0
- package/src/matcher/termForVariable.js +89 -0
- package/src/matcher.js +28 -22
- package/src/mixins/file.js +46 -1
- package/src/premise.js +6 -6
- package/src/rule.js +4 -4
- package/src/ruleNames.js +0 -2
- package/src/step/proof.js +27 -0
- package/src/substitution/statementForMetavariable.js +17 -10
- package/src/substitution/termForVariable.js +64 -0
- package/src/supposition.js +5 -5
- package/src/theorem.js +4 -4
- package/src/type.js +18 -8
- package/src/utilities/string.js +27 -21
- package/src/utilities/substitution.js +6 -4
- package/src/variable.js +5 -38
- package/src/verify/assertion/type.js +71 -65
- package/src/verify/axiom.js +1 -2
- package/src/verify/conclusion.js +1 -2
- package/src/verify/conjecture.js +73 -0
- package/src/verify/consequence.js +2 -3
- package/src/verify/declaration/topLevel.js +7 -0
- package/src/verify/label.js +1 -2
- package/src/verify/lemma.js +1 -2
- package/src/verify/metastatement/qualified.js +2 -3
- package/src/verify/metastatement/unqualified.js +2 -3
- package/src/verify/premise.js +2 -3
- package/src/verify/rule.js +1 -2
- package/src/verify/statement/qualified.js +55 -15
- package/src/verify/statement/unqualified.js +2 -3
- package/src/verify/statement.js +49 -70
- package/src/verify/statementAsCombinator.js +1 -2
- package/src/verify/supposition.js +2 -3
- package/src/verify/term.js +2 -3
- package/src/verify/termAsConstructor.js +3 -4
- package/src/verify/theorem.js +1 -2
- package/src/verify/type.js +1 -2
- package/src/verify/variable.js +1 -2
- package/lib/axiomLemmaTheorem.js +0 -190
- package/lib/jsonTypes.js +0 -30
- package/lib/matcher/statementForVariable.js +0 -201
- package/lib/substitution/statementForVariable.js +0 -86
- package/lib/utilities/json.js +0 -187
- package/lib/utilities/version.js +0 -32
- package/lib/versionChanges.js +0 -34
- package/src/jsonTypes.js +0 -6
- package/src/matcher/statementForVariable/consequence.js +0 -9
- package/src/matcher/statementForVariable/supposition.js +0 -9
- package/src/matcher/statementForVariable.js +0 -99
- package/src/substitution/statementForVariable.js +0 -64
- package/src/utilities/json.js +0 -264
- package/src/utilities/version.js +0 -30
- package/src/versionChanges.js +0 -11
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return StatementForVariableMatcher;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
-
var _statementForVariable = /*#__PURE__*/ _interopRequireDefault(require("../substitution/statementForVariable"));
|
|
13
|
-
var _array = require("../utilities/array");
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
var _ruleNames = require("../ruleNames");
|
|
16
|
-
function _assertThisInitialized(self) {
|
|
17
|
-
if (self === void 0) {
|
|
18
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
|
-
}
|
|
20
|
-
return self;
|
|
21
|
-
}
|
|
22
|
-
function _classCallCheck(instance, Constructor) {
|
|
23
|
-
if (!(instance instanceof Constructor)) {
|
|
24
|
-
throw new TypeError("Cannot call a class as a function");
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _defineProperties(target, props) {
|
|
28
|
-
for(var i = 0; i < props.length; i++){
|
|
29
|
-
var descriptor = props[i];
|
|
30
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
31
|
-
descriptor.configurable = true;
|
|
32
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
33
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
37
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
38
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
39
|
-
return Constructor;
|
|
40
|
-
}
|
|
41
|
-
function _get(target, property, receiver) {
|
|
42
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
43
|
-
_get = Reflect.get;
|
|
44
|
-
} else {
|
|
45
|
-
_get = function _get(target, property, receiver) {
|
|
46
|
-
var base = _superPropBase(target, property);
|
|
47
|
-
if (!base) return;
|
|
48
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
49
|
-
if (desc.get) {
|
|
50
|
-
return desc.get.call(receiver);
|
|
51
|
-
}
|
|
52
|
-
return desc.value;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
return _get(target, property, receiver || target);
|
|
56
|
-
}
|
|
57
|
-
function _getPrototypeOf(o) {
|
|
58
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
59
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
60
|
-
};
|
|
61
|
-
return _getPrototypeOf(o);
|
|
62
|
-
}
|
|
63
|
-
function _inherits(subClass, superClass) {
|
|
64
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
65
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
66
|
-
}
|
|
67
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
68
|
-
constructor: {
|
|
69
|
-
value: subClass,
|
|
70
|
-
writable: true,
|
|
71
|
-
configurable: true
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
75
|
-
}
|
|
76
|
-
function _interopRequireDefault(obj) {
|
|
77
|
-
return obj && obj.__esModule ? obj : {
|
|
78
|
-
default: obj
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function _possibleConstructorReturn(self, call) {
|
|
82
|
-
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
83
|
-
return call;
|
|
84
|
-
}
|
|
85
|
-
return _assertThisInitialized(self);
|
|
86
|
-
}
|
|
87
|
-
function _setPrototypeOf(o, p) {
|
|
88
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
89
|
-
o.__proto__ = p;
|
|
90
|
-
return o;
|
|
91
|
-
};
|
|
92
|
-
return _setPrototypeOf(o, p);
|
|
93
|
-
}
|
|
94
|
-
function _superPropBase(object, property) {
|
|
95
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
96
|
-
object = _getPrototypeOf(object);
|
|
97
|
-
if (object === null) break;
|
|
98
|
-
}
|
|
99
|
-
return object;
|
|
100
|
-
}
|
|
101
|
-
var _typeof = function(obj) {
|
|
102
|
-
"@swc/helpers - typeof";
|
|
103
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
104
|
-
};
|
|
105
|
-
function _isNativeReflectConstruct() {
|
|
106
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
107
|
-
if (Reflect.construct.sham) return false;
|
|
108
|
-
if (typeof Proxy === "function") return true;
|
|
109
|
-
try {
|
|
110
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
111
|
-
return true;
|
|
112
|
-
} catch (e) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
function _createSuper(Derived) {
|
|
117
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
118
|
-
return function _createSuperInternal() {
|
|
119
|
-
var Super = _getPrototypeOf(Derived), result;
|
|
120
|
-
if (hasNativeReflectConstruct) {
|
|
121
|
-
var NewTarget = _getPrototypeOf(this).constructor;
|
|
122
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
123
|
-
} else {
|
|
124
|
-
result = Super.apply(this, arguments);
|
|
125
|
-
}
|
|
126
|
-
return _possibleConstructorReturn(this, result);
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
var StatementForVariableMatcher = /*#__PURE__*/ function(Matcher) {
|
|
130
|
-
_inherits(StatementForVariableMatcher, Matcher);
|
|
131
|
-
var _super = _createSuper(StatementForVariableMatcher);
|
|
132
|
-
function StatementForVariableMatcher() {
|
|
133
|
-
_classCallCheck(this, StatementForVariableMatcher);
|
|
134
|
-
return _super.apply(this, arguments);
|
|
135
|
-
}
|
|
136
|
-
_createClass(StatementForVariableMatcher, [
|
|
137
|
-
{
|
|
138
|
-
key: "matchNonTerminalNode",
|
|
139
|
-
value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
|
|
140
|
-
var nonTerminalNodeMatches = false;
|
|
141
|
-
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(), nonTerminalNodeARuleNameMetastatementRuleName = nonTerminalNodeARuleName === _ruleNames.STATEMENT_RULE_NAME, nonTerminalNodeBRuleNameMetastatementRuleName = nonTerminalNodeBRuleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
142
|
-
if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameMetastatementRuleName) {
|
|
143
|
-
var statementNodeA = nonTerminalNodeA, statementNodeB = nonTerminalNodeB, statementNodeMatches = this.matchStatementNode(statementNodeA, statementNodeB, substitutions);
|
|
144
|
-
if (statementNodeMatches) {
|
|
145
|
-
nonTerminalNodeMatches = true; ///
|
|
146
|
-
} else {
|
|
147
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
148
|
-
}
|
|
149
|
-
} else if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
|
|
150
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(StatementForVariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
151
|
-
}
|
|
152
|
-
return nonTerminalNodeMatches;
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
key: "matchStatementNode",
|
|
157
|
-
value: function matchStatementNode(statementNodeA, statementNodeB, substitutions) {
|
|
158
|
-
var statementNodeMatches = false;
|
|
159
|
-
var nonTerminalNodeA = statementNodeA, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeAChildNodesLength = nonTerminalNodeAChildNodes.length;
|
|
160
|
-
if (nonTerminalNodeAChildNodesLength === 1) {
|
|
161
|
-
var firstNonTerminalNodeAChildNode = (0, _array.first)(nonTerminalNodeAChildNodes), childNodeA = firstNonTerminalNodeAChildNode, childNodeANonTerminalNode = childNodeA.isNonTerminalNode();
|
|
162
|
-
if (childNodeANonTerminalNode) {
|
|
163
|
-
var nonTerminalNodeA1 = childNodeA, nonTerminalNodeARuleName = nonTerminalNodeA1.getRuleName(), nonTerminalNodeARuleNameVariableRuleName = nonTerminalNodeARuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
164
|
-
if (nonTerminalNodeARuleNameVariableRuleName) {
|
|
165
|
-
var variableNodeA = nonTerminalNodeA1, variableMatches = this.matchVariableNode(variableNodeA, statementNodeB, substitutions);
|
|
166
|
-
statementNodeMatches = variableMatches; ///
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return statementNodeMatches;
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
key: "matchVariableNode",
|
|
175
|
-
value: function matchVariableNode(variableNodeB, statementNodeB, substitutions) {
|
|
176
|
-
var variableMatches;
|
|
177
|
-
var variableNameA = (0, _query.variableNameFromVariableNode)(variableNodeB), substitution = substitutions.find(function(substitution) {
|
|
178
|
-
var variableName = substitution.getVariableName();
|
|
179
|
-
if (variableName === variableNameA) {
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
}) || null;
|
|
183
|
-
if (substitution !== null) {
|
|
184
|
-
var statementNode = statementNodeB, substitutionNodesMatch = substitution.matchStatementNode(statementNode);
|
|
185
|
-
variableMatches = substitutionNodesMatch; ///
|
|
186
|
-
} else {
|
|
187
|
-
var createSubstitutions = this.constructor.createSubstitutions;
|
|
188
|
-
if (createSubstitutions) {
|
|
189
|
-
var variableName = variableNameA, statementNode1 = statementNodeB, statementForVariableSubstitution = _statementForVariable.default.fromVariableNameAndStatementNode(variableName, statementNode1), substitution1 = statementForVariableSubstitution; ///
|
|
190
|
-
substitutions.push(substitution1);
|
|
191
|
-
}
|
|
192
|
-
variableMatches = true;
|
|
193
|
-
}
|
|
194
|
-
return variableMatches;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
]);
|
|
198
|
-
return StatementForVariableMatcher;
|
|
199
|
-
}(_matcher.default);
|
|
200
|
-
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3N0YXRlbWVudEZvclZhcmlhYmxlLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWF0Y2hlciBmcm9tIFwiLi4vbWF0Y2hlclwiO1xuaW1wb3J0IFN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVkFSSUFCTEVfUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIgZXh0ZW5kcyBNYXRjaGVyIHtcbiAgbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSAmJiBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXNMZW5ndGggPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZSA9IGZpcnN0KG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZUEgPSBmaXJzdE5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZUFOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGVBLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVBTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBjaGlsZE5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IFZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUpIHtcbiAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlTWF0Y2hlcyA9IHRoaXMubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB2YXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQiwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdmFyaWFibGVNYXRjaGVzO1xuXG4gICAgY29uc3QgdmFyaWFibGVOYW1lQSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQiksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZSA9PT0gdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICB2YXJpYWJsZU1hdGNoZXMgPSBzdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgY3JlYXRlU3Vic3RpdHV0aW9ucyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgICAgaWYgKGNyZWF0ZVN1YnN0aXR1dGlvbnMpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lQSwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlQiwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUodmFyaWFibGVOYW1lLCBzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVNYXRjaGVzO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlIiwiZmlyc3QiLCJjaGlsZE5vZGVBIiwiY2hpbGROb2RlQU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSIsIlZBUklBQkxFX1JVTEVfTkFNRSIsInZhcmlhYmxlTm9kZUEiLCJ2YXJpYWJsZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZUIiLCJ2YXJpYWJsZU5hbWVBIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJ2YXJpYWJsZU5hbWUiLCJnZXRWYXJpYWJsZU5hbWUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJjb25zdHJ1Y3RvciIsInN0YXRlbWVudEZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiU3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tVmFyaWFibGVOYW1lQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozs0REFQRDt5RUFDeUI7cUJBRXZCO3FCQUN1Qjt5QkFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return StatementForVariableSubstitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _matcher = require("../matcher");
|
|
12
|
-
var _ruleNames = require("../ruleNames");
|
|
13
|
-
var _substitution = require("../utilities/substitution");
|
|
14
|
-
function _classCallCheck(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
var StatementForVariableSubstitution = /*#__PURE__*/ function() {
|
|
34
|
-
function StatementForVariableSubstitution(variableName, statementNode) {
|
|
35
|
-
_classCallCheck(this, StatementForVariableSubstitution);
|
|
36
|
-
this.variableName = variableName;
|
|
37
|
-
this.statementNode = statementNode;
|
|
38
|
-
}
|
|
39
|
-
_createClass(StatementForVariableSubstitution, [
|
|
40
|
-
{
|
|
41
|
-
key: "getVariableName",
|
|
42
|
-
value: function getVariableName() {
|
|
43
|
-
return this.variableName;
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
key: "getStatementNode",
|
|
48
|
-
value: function getStatementNode() {
|
|
49
|
-
return this.statementNode;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "matchStatementNode",
|
|
54
|
-
value: function matchStatementNode(statementNode) {
|
|
55
|
-
var matchesStatementNode;
|
|
56
|
-
var nodeA = this.statementNode, nodeB = statementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
57
|
-
matchesStatementNode = nodeMatches; ///
|
|
58
|
-
if (!matchesStatementNode) {
|
|
59
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
60
|
-
statementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
61
|
-
if (statementNode !== null) {
|
|
62
|
-
var nodeA1 = this.statementNode, nodeB1 = statementNode, nodeMatches1 = matchNode(nodeA1, nodeB1);
|
|
63
|
-
matchesStatementNode = nodeMatches1; ///
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return matchesStatementNode;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
], [
|
|
70
|
-
{
|
|
71
|
-
key: "fromVariableNameAndStatementNode",
|
|
72
|
-
value: function fromVariableNameAndStatementNode(variableName, statementNode) {
|
|
73
|
-
var statementForVariableSubstitution = new StatementForVariableSubstitution(variableName, statementNode);
|
|
74
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
75
|
-
statementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
76
|
-
if (statementNode !== null) {
|
|
77
|
-
statementForVariableSubstitution = new StatementForVariableSubstitution(variableName, statementNode);
|
|
78
|
-
}
|
|
79
|
-
return statementForVariableSubstitution;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
]);
|
|
83
|
-
return StatementForVariableSubstitution;
|
|
84
|
-
}();
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yVmFyaWFibGUuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1hdGNoZXIgfSBmcm9tIFwiLi4vbWF0Y2hlclwiO1xuaW1wb3J0IHsgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N1YnN0aXR1dGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiB7XG4gIGNvbnN0cnVjdG9yKHZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMudmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lO1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWF0Y2hlc1N0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gc3RhdGVtZW50Tm9kZSxcbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICBtYXRjaGVzU3RhdGVtZW50Tm9kZSA9IG5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICBpZiAoIW1hdGNoZXNTdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IFNUQVRFTUVOVF9SVUxFX05BTUU7XG5cbiAgICAgIHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgICAgbWF0Y2hlc1N0YXRlbWVudE5vZGUgPSBub2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzU3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVOYW1lQW5kU3RhdGVtZW50Tm9kZSh2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgc3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOYW1lLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBydWxlTmFtZSA9IFNUQVRFTUVOVF9SVUxFX05BTUU7XG5cbiAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBydWxlTmFtZSk7ICAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsInZhcmlhYmxlTmFtZSIsInN0YXRlbWVudE5vZGUiLCJnZXRWYXJpYWJsZU5hbWUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwibm9kZU1hdGNoZXMiLCJtYXRjaGVyIiwibWF0Y2hOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJydWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzIiwiZnJvbVZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRGb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7dUJBSkc7eUJBQ1k7NEJBQ3dCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFBLEFBQU1BLGlEQUFOO2FBQU1BLGlDQUNQQyxZQUFZLEVBQUVDLGFBQWE7OEJBRHBCRjtRQUVqQixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztpQkFISkY7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCO2dCQUNoQixPQUFPLElBQUksQ0FBQ0YsWUFBWTtZQUMxQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUI7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDRixhQUFhO1lBQzNCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkgsYUFBYSxFQUFFO2dCQUNoQyxJQUFJSTtnQkFFSixJQUFNQyxRQUFRLElBQUksQ0FBQ0wsYUFBYSxFQUMxQk0sUUFBUU4sZUFDUk8sY0FBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixPQUFPQztnQkFFN0NGLHVCQUF1QkcsYUFBYyxHQUFHO2dCQUV4QyxJQUFJLENBQUNILHNCQUFzQjtvQkFDekIsSUFBTU0sa0JBQWtCVixlQUNsQlcsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxXQUFXQyw4QkFBbUI7b0JBRXBDZCxnQkFBZ0JlLElBQUFBLHlEQUEyQyxFQUFDSixZQUFZRSxXQUFZLEdBQUc7b0JBRXZGLElBQUliLGtCQUFrQixJQUFJLEVBQUU7d0JBQzFCLElBQU1LLFNBQVEsSUFBSSxDQUFDTCxhQUFhLEVBQzFCTSxTQUFRTixlQUNSTyxlQUFjRSxVQUFVSixRQUFPQzt3QkFFckNGLHVCQUF1QkcsY0FBYyxHQUFHO29CQUMxQyxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0g7WUFDVDs7OztZQUVPWSxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNqQixZQUFZLEVBQUVDLGFBQWEsRUFBRTtnQkFDbkUsSUFBSWlCLG1DQUFtQyxJQTNDdEJuQixpQ0EyQzJEQyxjQUFjQztnQkFFMUYsSUFBTVUsa0JBQWtCVixlQUNsQlcsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxXQUFXQyw4QkFBbUI7Z0JBRXBDZCxnQkFBZ0JlLElBQUFBLHlEQUEyQyxFQUFDSixZQUFZRSxXQUFZLEdBQUc7Z0JBRXZGLElBQUliLGtCQUFrQixJQUFJLEVBQUU7b0JBQzFCaUIsbUNBQW1DLElBcERwQm5CLGlDQW9EeURDLGNBQWNDO2dCQUN4RixDQUFDO2dCQUVELE9BQU9pQjtZQUNUOzs7V0F4RG1CbkIifQ==
|
package/lib/utilities/json.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _necessary = require("necessary");
|
|
12
|
-
var _constants = require("../constants");
|
|
13
|
-
var _jsonTypes = require("../jsonTypes");
|
|
14
|
-
var _versionChanges = require("../versionChanges");
|
|
15
|
-
var _typeof = function(obj) {
|
|
16
|
-
"@swc/helpers - typeof";
|
|
17
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
18
|
-
};
|
|
19
|
-
var first = _necessary.arrayUtilities.first;
|
|
20
|
-
function compareJSON(jsonA, jsonB) {
|
|
21
|
-
var result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
22
|
-
var jsonAType = typeOf(jsonA), jsonBType = typeOf(jsonB);
|
|
23
|
-
if (jsonAType === jsonBType) {
|
|
24
|
-
var jsonType = jsonAType; ///
|
|
25
|
-
switch(jsonType){
|
|
26
|
-
case _jsonTypes.ARRAY_JSON_TYPE:
|
|
27
|
-
{
|
|
28
|
-
var arrayA = jsonA, arrayB = jsonB; ///
|
|
29
|
-
result = compareArrays(arrayA, arrayB);
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
case _jsonTypes.OBJECT_JSON_TYPE:
|
|
33
|
-
{
|
|
34
|
-
var objectA = jsonA, objectB = jsonB; ///
|
|
35
|
-
result = compareObjects(objectA, objectB);
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
case _jsonTypes.PRIMITIVE_JSON_TYPE:
|
|
39
|
-
{
|
|
40
|
-
var primitiveA = jsonA, primitiveB = jsonB; ///
|
|
41
|
-
result = comparePrimitives(primitiveA, primitiveB);
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
var _default = {
|
|
49
|
-
compareJSON: compareJSON
|
|
50
|
-
};
|
|
51
|
-
function compareArrays(arrayA, arrayB) {
|
|
52
|
-
var result;
|
|
53
|
-
var arrayALength = arrayA.length, arrayBLength = arrayB.length;
|
|
54
|
-
if (arrayALength === 0) {
|
|
55
|
-
if (arrayBLength === 0) {
|
|
56
|
-
result = _versionChanges.COSMETIC_VERSION_CHANGE;
|
|
57
|
-
} else {
|
|
58
|
-
result = _versionChanges.ADDITIVE_VERSION_CHANGE;
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
if (arrayBLength === 0) {
|
|
62
|
-
result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
63
|
-
} else {
|
|
64
|
-
var firstElementA = first(arrayA), elementA = firstElementA, elementB = arrayB.find(function(elementB) {
|
|
65
|
-
var jsonA = elementA, jsonB = elementB, result = compareJSON(jsonA, jsonB);
|
|
66
|
-
if (result === _versionChanges.COSMETIC_VERSION_CHANGE) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
}) || null;
|
|
70
|
-
if (elementB !== null) {
|
|
71
|
-
arrayA = deleteElement(arrayA, elementA);
|
|
72
|
-
arrayB = deleteElement(arrayB, elementB);
|
|
73
|
-
result = compareArrays(arrayA, arrayB);
|
|
74
|
-
} else {
|
|
75
|
-
result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return result;
|
|
80
|
-
}
|
|
81
|
-
function compareObjects(objectA, objectB) {
|
|
82
|
-
var result;
|
|
83
|
-
var keysA = Object.keys(objectA), keysB = Object.keys(objectB), keysALength = keysA.length, keysBLength = keysB.length;
|
|
84
|
-
if (keysALength === 0) {
|
|
85
|
-
if (keysBLength === 0) {
|
|
86
|
-
result = _versionChanges.COSMETIC_VERSION_CHANGE;
|
|
87
|
-
} else {
|
|
88
|
-
result = _versionChanges.ADDITIVE_VERSION_CHANGE;
|
|
89
|
-
}
|
|
90
|
-
} else {
|
|
91
|
-
if (keysBLength === 0) {
|
|
92
|
-
result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
93
|
-
} else {
|
|
94
|
-
var firstKeyA = first(keysA), keyA = firstKeyA, keyB = keysB.find(function(keyB, index) {
|
|
95
|
-
if (keyA === keyB) {
|
|
96
|
-
var valueA = objectA[keyA], valueB = objectB[keyB], jsonA = valueA, jsonB = valueB, result = compareJSON(jsonA, jsonB);
|
|
97
|
-
if (result === _versionChanges.COSMETIC_VERSION_CHANGE) {
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}) || null;
|
|
102
|
-
if (keyB !== null) {
|
|
103
|
-
objectA = deleteKey(objectA, keyA);
|
|
104
|
-
objectB = deleteKey(objectB, keyB);
|
|
105
|
-
result = compareObjects(objectA, objectB);
|
|
106
|
-
} else {
|
|
107
|
-
result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
function comparePrimitives(primitiveA, primitiveB) {
|
|
114
|
-
var result = _versionChanges.BREAKING_VERSION_CHANGE;
|
|
115
|
-
if (primitiveA === primitiveB) {
|
|
116
|
-
result = _versionChanges.COSMETIC_VERSION_CHANGE;
|
|
117
|
-
}
|
|
118
|
-
return result;
|
|
119
|
-
}
|
|
120
|
-
function typeOf(json) {
|
|
121
|
-
var type;
|
|
122
|
-
var _null = isNull(json), array = isArray(json), object = isObject(json), primitive = isPrimitive(json);
|
|
123
|
-
if (_null) {
|
|
124
|
-
type = _jsonTypes.NULL_JSON_TYPE;
|
|
125
|
-
}
|
|
126
|
-
if (array) {
|
|
127
|
-
type = _jsonTypes.ARRAY_JSON_TYPE;
|
|
128
|
-
}
|
|
129
|
-
if (object) {
|
|
130
|
-
type = _jsonTypes.OBJECT_JSON_TYPE;
|
|
131
|
-
}
|
|
132
|
-
if (primitive) {
|
|
133
|
-
type = _jsonTypes.PRIMITIVE_JSON_TYPE;
|
|
134
|
-
}
|
|
135
|
-
return type;
|
|
136
|
-
}
|
|
137
|
-
function isNull(json) {
|
|
138
|
-
var _null = json === null;
|
|
139
|
-
return _null;
|
|
140
|
-
}
|
|
141
|
-
function isArray(json) {
|
|
142
|
-
var array = Array.isArray(json);
|
|
143
|
-
return array;
|
|
144
|
-
}
|
|
145
|
-
function isObject(json) {
|
|
146
|
-
var array = isArray(json), primitive = isPrimitive(json), object = !array && !primitive;
|
|
147
|
-
return object;
|
|
148
|
-
}
|
|
149
|
-
function isString(json) {
|
|
150
|
-
var string = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.STRING;
|
|
151
|
-
return string;
|
|
152
|
-
}
|
|
153
|
-
function isNumber(json) {
|
|
154
|
-
var number = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.NUMBER;
|
|
155
|
-
return number;
|
|
156
|
-
}
|
|
157
|
-
function isBoolean(json) {
|
|
158
|
-
var boolean = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.BOOLEAN;
|
|
159
|
-
return boolean;
|
|
160
|
-
}
|
|
161
|
-
function isPrimitive(json) {
|
|
162
|
-
var _null = isNull(json), string = isString(json), number = isNumber(json), boolean = isBoolean(json), primitive = _null || string || number || boolean;
|
|
163
|
-
return primitive;
|
|
164
|
-
}
|
|
165
|
-
function deleteElement(array, element) {
|
|
166
|
-
var deletedElement = element; ///
|
|
167
|
-
array = array.reduce(function(array, element) {
|
|
168
|
-
if (element !== deletedElement) {
|
|
169
|
-
array.push(element);
|
|
170
|
-
}
|
|
171
|
-
return array;
|
|
172
|
-
}, []);
|
|
173
|
-
return array;
|
|
174
|
-
}
|
|
175
|
-
function deleteKey(object, key) {
|
|
176
|
-
var deletedKey = key, keys = Object.keys(object), values = Object.values(object);
|
|
177
|
-
object = keys.reduce(function(object, key, index) {
|
|
178
|
-
if (key !== deletedKey) {
|
|
179
|
-
var value = values[index];
|
|
180
|
-
object[key] = value;
|
|
181
|
-
}
|
|
182
|
-
return object;
|
|
183
|
-
}, {});
|
|
184
|
-
return object;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IFNUUklORywgTlVNQkVSLCBCT09MRUFOIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTlVMTF9KU09OX1RZUEUsIEFSUkFZX0pTT05fVFlQRSwgT0JKRUNUX0pTT05fVFlQRSwgUFJJTUlUSVZFX0pTT05fVFlQRSB9IGZyb20gXCIuLi9qc29uVHlwZXNcIjtcbmltcG9ydCB7IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFLCBBRERJVElWRV9WRVJTSU9OX0NIQU5HRSwgQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0UgfSBmcm9tIFwiLi4vdmVyc2lvbkNoYW5nZXNcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmZ1bmN0aW9uIGNvbXBhcmVKU09OKGpzb25BLCBqc29uQikge1xuICBsZXQgcmVzdWx0ID0gQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0U7XG5cbiAgY29uc3QganNvbkFUeXBlID0gdHlwZU9mKGpzb25BKSxcbiAgICAgICAganNvbkJUeXBlID0gdHlwZU9mKGpzb25CKTtcblxuICBpZiAoanNvbkFUeXBlID09PSBqc29uQlR5cGUpIHtcbiAgICBjb25zdCBqc29uVHlwZSA9IGpzb25BVHlwZTsgLy8vXG5cbiAgICBzd2l0Y2ggKGpzb25UeXBlKSB7XG4gICAgICBjYXNlIEFSUkFZX0pTT05fVFlQRToge1xuICAgICAgICBjb25zdCBhcnJheUEgPSBqc29uQSwgLy8vXG4gICAgICAgICAgICAgIGFycmF5QiA9IGpzb25COyAvLy9cblxuICAgICAgICByZXN1bHQgPSBjb21wYXJlQXJyYXlzKGFycmF5QSwgYXJyYXlCKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBPQkpFQ1RfSlNPTl9UWVBFOiB7XG4gICAgICAgIGNvbnN0IG9iamVjdEEgPSBqc29uQSwgLy8vXG4gICAgICAgICAgICAgIG9iamVjdEIgPSBqc29uQjsgLy8vXG5cbiAgICAgICAgcmVzdWx0ID0gY29tcGFyZU9iamVjdHMob2JqZWN0QSwgb2JqZWN0Qik7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgUFJJTUlUSVZFX0pTT05fVFlQRToge1xuICAgICAgICBjb25zdCBwcmltaXRpdmVBID0ganNvbkEsIC8vL1xuICAgICAgICAgICAgICBwcmltaXRpdmVCID0ganNvbkI7IC8vL1xuXG4gICAgICAgIHJlc3VsdCA9IGNvbXBhcmVQcmltaXRpdmVzKHByaW1pdGl2ZUEsIHByaW1pdGl2ZUIpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcGFyZUpTT05cbn07XG5cbmZ1bmN0aW9uIGNvbXBhcmVBcnJheXMoYXJyYXlBLCBhcnJheUIpIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICBpZiAoYXJyYXlCTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQgPSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gQURESVRJVkVfVkVSU0lPTl9DSEFOR0U7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhcnJheUJMZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaXJzdEVsZW1lbnRBID0gZmlyc3QoYXJyYXlBKSwgIC8vL1xuICAgICAgICAgICAgZWxlbWVudEEgPSBmaXJzdEVsZW1lbnRBLCAvLy9cbiAgICAgICAgICAgIGVsZW1lbnRCID0gYXJyYXlCLmZpbmQoKGVsZW1lbnRCKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25BID0gZWxlbWVudEEsIC8vL1xuICAgICAgICAgICAgICAgICAgICBqc29uQiA9IGVsZW1lbnRCLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29tcGFyZUpTT04oanNvbkEsIGpzb25CKTtcblxuICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgICBpZiAoZWxlbWVudEIgIT09IG51bGwpIHtcbiAgICAgICAgYXJyYXlBID0gZGVsZXRlRWxlbWVudChhcnJheUEsIGVsZW1lbnRBKTtcblxuICAgICAgICBhcnJheUIgPSBkZWxldGVFbGVtZW50KGFycmF5QiwgZWxlbWVudEIpO1xuXG4gICAgICAgIHJlc3VsdCA9IGNvbXBhcmVBcnJheXMoYXJyYXlBLCBhcnJheUIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gY29tcGFyZU9iamVjdHMob2JqZWN0QSwgb2JqZWN0Qikge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMob2JqZWN0QSksXG4gICAgICAgIGtleXNCID0gT2JqZWN0LmtleXMob2JqZWN0QiksXG4gICAgICAgIGtleXNBTGVuZ3RoID0ga2V5c0EubGVuZ3RoLFxuICAgICAgICBrZXlzQkxlbmd0aCA9IGtleXNCLmxlbmd0aDtcblxuICBpZiAoa2V5c0FMZW5ndGggPT09IDApIHtcbiAgICBpZiAoa2V5c0JMZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9IENPU01FVElDX1ZFUlNJT05fQ0hBTkdFO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBBRERJVElWRV9WRVJTSU9OX0NIQU5HRTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGtleXNCTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQgPSBCUkVBS0lOR19WRVJTSU9OX0NIQU5HRTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlyc3RLZXlBID0gZmlyc3Qoa2V5c0EpLCAgLy8vXG4gICAgICAgICAgICBrZXlBID0gZmlyc3RLZXlBLCAvLy9cbiAgICAgICAgICAgIGtleUIgPSBrZXlzQi5maW5kKChrZXlCLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoa2V5QSA9PT0ga2V5Qikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlQSA9IG9iamVjdEFba2V5QV0sXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVCID0gb2JqZWN0QltrZXlCXSxcbiAgICAgICAgICAgICAgICAgICAgICBqc29uQSA9IHZhbHVlQSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAganNvbkIgPSB2YWx1ZUIsIC8vL1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbXBhcmVKU09OKGpzb25BLCBqc29uQik7XG5cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSkgeyAgLy8vXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChrZXlCICE9PSBudWxsKSB7XG4gICAgICAgIG9iamVjdEEgPSBkZWxldGVLZXkob2JqZWN0QSwga2V5QSk7XG5cbiAgICAgICAgb2JqZWN0QiA9IGRlbGV0ZUtleShvYmplY3RCLCBrZXlCKTtcblxuICAgICAgICByZXN1bHQgPSBjb21wYXJlT2JqZWN0cyhvYmplY3RBLCBvYmplY3RCKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVQcmltaXRpdmVzKHByaW1pdGl2ZUEsIHByaW1pdGl2ZUIpIHtcbiAgbGV0IHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuXG4gIGlmIChwcmltaXRpdmVBID09PSBwcmltaXRpdmVCKSB7XG4gICAgcmVzdWx0ID0gQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0U7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB0eXBlT2YoanNvbikge1xuICBsZXQgdHlwZTtcblxuICBjb25zdCBfbnVsbCA9IGlzTnVsbChqc29uKSxcbiAgICAgICAgYXJyYXkgPSBpc0FycmF5KGpzb24pLFxuICAgICAgICBvYmplY3QgPSBpc09iamVjdChqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gaXNQcmltaXRpdmUoanNvbik7XG5cbiAgaWYgKF9udWxsKSB7XG4gICAgdHlwZSA9IE5VTExfSlNPTl9UWVBFO1xuICB9XG5cbiAgaWYgKGFycmF5KSB7XG4gICAgdHlwZSA9IEFSUkFZX0pTT05fVFlQRTtcbiAgfVxuXG4gIGlmIChvYmplY3QpIHtcbiAgICB0eXBlID0gT0JKRUNUX0pTT05fVFlQRTtcbiAgfVxuXG4gIGlmIChwcmltaXRpdmUpIHtcbiAgICB0eXBlID0gUFJJTUlUSVZFX0pTT05fVFlQRTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5mdW5jdGlvbiBpc051bGwoanNvbikge1xuICBjb25zdCBfbnVsbCA9IChqc29uID09PSBudWxsKTtcblxuICByZXR1cm4gX251bGw7XG59XG5cbmZ1bmN0aW9uIGlzQXJyYXkoanNvbikge1xuICBjb25zdCBhcnJheSA9IEFycmF5LmlzQXJyYXkoanNvbik7XG5cbiAgcmV0dXJuIGFycmF5O1xufVxuXG5mdW5jdGlvbiBpc09iamVjdChqc29uKSB7XG4gIGNvbnN0IGFycmF5ID0gaXNBcnJheShqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gaXNQcmltaXRpdmUoanNvbiksXG4gICAgICAgIG9iamVjdCA9ICghYXJyYXkgJiYgIXByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIG9iamVjdDtcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmcoanNvbikge1xuICBjb25zdCBzdHJpbmcgPSAoKHR5cGVvZiBqc29uKSA9PT0gU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc051bWJlcihqc29uKSB7XG4gIGNvbnN0IG51bWJlciA9ICgodHlwZW9mIGpzb24pID09PSBOVU1CRVIpO1xuXG4gIHJldHVybiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIGlzQm9vbGVhbihqc29uKSB7XG4gIGNvbnN0IGJvb2xlYW4gPSAoKHR5cGVvZiBqc29uKSA9PT0gQk9PTEVBTik7XG5cbiAgcmV0dXJuIGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlKGpzb24pIHtcbiAgY29uc3QgX251bGwgPSBpc051bGwoanNvbiksXG4gICAgICAgIHN0cmluZyA9IGlzU3RyaW5nKGpzb24pLFxuICAgICAgICBudW1iZXIgPSBpc051bWJlcihqc29uKSxcbiAgICAgICAgYm9vbGVhbiA9IGlzQm9vbGVhbihqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gKF9udWxsIHx8IHN0cmluZyB8fCBudW1iZXIgfHwgYm9vbGVhbik7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZnVuY3Rpb24gZGVsZXRlRWxlbWVudChhcnJheSwgZWxlbWVudCkge1xuICBjb25zdCBkZWxldGVkRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xuXG4gIGFycmF5ID0gYXJyYXkucmVkdWNlKChhcnJheSwgZWxlbWVudCkgPT4geyAgLy8vXG4gICAgaWYgKGVsZW1lbnQgIT09IGRlbGV0ZWRFbGVtZW50KSB7XG4gICAgICBhcnJheS5wdXNoKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBhcnJheTtcbn1cblxuZnVuY3Rpb24gZGVsZXRlS2V5KG9iamVjdCwga2V5KSB7XG4gIGNvbnN0IGRlbGV0ZWRLZXkgPSBrZXksIC8vL1xuICAgICAgICBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KSxcbiAgICAgICAgdmFsdWVzID0gT2JqZWN0LnZhbHVlcyhvYmplY3QpO1xuXG4gIG9iamVjdCA9IGtleXMucmVkdWNlKChvYmplY3QsIGtleSwgaW5kZXgpID0+IHsgIC8vL1xuICAgIGlmIChrZXkgIT09IGRlbGV0ZWRLZXkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2luZGV4XTtcblxuICAgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9LCB7fSk7XG5cbiAgcmV0dXJuIG9iamVjdDtcbn1cbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiY29tcGFyZUpTT04iLCJqc29uQSIsImpzb25CIiwicmVzdWx0IiwiQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UiLCJqc29uQVR5cGUiLCJ0eXBlT2YiLCJqc29uQlR5cGUiLCJqc29uVHlwZSIsIkFSUkFZX0pTT05fVFlQRSIsImFycmF5QSIsImFycmF5QiIsImNvbXBhcmVBcnJheXMiLCJPQkpFQ1RfSlNPTl9UWVBFIiwib2JqZWN0QSIsIm9iamVjdEIiLCJjb21wYXJlT2JqZWN0cyIsIlBSSU1JVElWRV9KU09OX1RZUEUiLCJwcmltaXRpdmVBIiwicHJpbWl0aXZlQiIsImNvbXBhcmVQcmltaXRpdmVzIiwiYXJyYXlBTGVuZ3RoIiwibGVuZ3RoIiwiYXJyYXlCTGVuZ3RoIiwiQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0UiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsImZpcnN0RWxlbWVudEEiLCJlbGVtZW50QSIsImVsZW1lbnRCIiwiZmluZCIsImRlbGV0ZUVsZW1lbnQiLCJrZXlzQSIsIk9iamVjdCIsImtleXMiLCJrZXlzQiIsImtleXNBTGVuZ3RoIiwia2V5c0JMZW5ndGgiLCJmaXJzdEtleUEiLCJrZXlBIiwia2V5QiIsImluZGV4IiwidmFsdWVBIiwidmFsdWVCIiwiZGVsZXRlS2V5IiwianNvbiIsInR5cGUiLCJfbnVsbCIsImlzTnVsbCIsImFycmF5IiwiaXNBcnJheSIsIm9iamVjdCIsImlzT2JqZWN0IiwicHJpbWl0aXZlIiwiaXNQcmltaXRpdmUiLCJOVUxMX0pTT05fVFlQRSIsIkFycmF5IiwiaXNTdHJpbmciLCJzdHJpbmciLCJTVFJJTkciLCJpc051bWJlciIsIm51bWJlciIsIk5VTUJFUiIsImlzQm9vbGVhbiIsImJvb2xlYW4iLCJCT09MRUFOIiwiZWxlbWVudCIsImRlbGV0ZWRFbGVtZW50IiwicmVkdWNlIiwicHVzaCIsImtleSIsImRlbGV0ZWRLZXkiLCJ2YWx1ZXMiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0RBOzs7ZUFBQTs7O3lCQWxEK0I7eUJBRVM7eUJBQytDOzhCQUNHOzs7OztBQUUxRixJQUFNLEFBQUVBLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVSLFNBQVNFLFlBQVlDLEtBQUssRUFBRUMsS0FBSyxFQUFFO0lBQ2pDLElBQUlDLFNBQVNDLHVDQUF1QjtJQUVwQyxJQUFNQyxZQUFZQyxPQUFPTCxRQUNuQk0sWUFBWUQsT0FBT0o7SUFFekIsSUFBSUcsY0FBY0UsV0FBVztRQUMzQixJQUFNQyxXQUFXSCxXQUFXLEdBQUc7UUFFL0IsT0FBUUc7WUFDTixLQUFLQywwQkFBZTtnQkFBRTtvQkFDcEIsSUFBTUMsU0FBU1QsT0FDVFUsU0FBU1QsT0FBTyxHQUFHO29CQUV6QkMsU0FBU1MsY0FBY0YsUUFBUUM7b0JBRS9CLEtBQU07Z0JBQ1I7WUFFQSxLQUFL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
|
package/lib/utilities/version.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _versionChanges = require("../versionChanges");
|
|
12
|
-
function updateVersion(version, versionChange) {
|
|
13
|
-
switch(versionChange){
|
|
14
|
-
case _versionChanges.BREAKING_VERSION_CHANGE:
|
|
15
|
-
version.bumpMajorNumber();
|
|
16
|
-
version.resetMinorNumber();
|
|
17
|
-
version.resetPatchNumber();
|
|
18
|
-
break;
|
|
19
|
-
case _versionChanges.ADDITIVE_VERSION_CHANGE:
|
|
20
|
-
version.bumpMinorNumber();
|
|
21
|
-
version.resetPatchNumber();
|
|
22
|
-
break;
|
|
23
|
-
case _versionChanges.COSMETIC_VERSION_CHANGE:
|
|
24
|
-
version.bumpPatchNumber();
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
var _default = {
|
|
29
|
-
updateVersion: updateVersion
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UsIEFERElUSVZFX1ZFUlNJT05fQ0hBTkdFLCBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSB9IGZyb20gXCIuLi92ZXJzaW9uQ2hhbmdlc1wiO1xuXG5mdW5jdGlvbiB1cGRhdGVWZXJzaW9uKHZlcnNpb24sIHZlcnNpb25DaGFuZ2UpIHtcbiAgc3dpdGNoICh2ZXJzaW9uQ2hhbmdlKSB7XG4gICAgY2FzZSBCUkVBS0lOR19WRVJTSU9OX0NIQU5HRTpcbiAgICAgIHZlcnNpb24uYnVtcE1ham9yTnVtYmVyKCk7XG4gICAgICB2ZXJzaW9uLnJlc2V0TWlub3JOdW1iZXIoKTtcbiAgICAgIHZlcnNpb24ucmVzZXRQYXRjaE51bWJlcigpO1xuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQURESVRJVkVfVkVSU0lPTl9DSEFOR0U6XG4gICAgICB2ZXJzaW9uLmJ1bXBNaW5vck51bWJlcigpO1xuICAgICAgdmVyc2lvbi5yZXNldFBhdGNoTnVtYmVyKCk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRTpcbiAgICAgIHZlcnNpb24uYnVtcFBhdGNoTnVtYmVyKCk7XG5cbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdXBkYXRlVmVyc2lvblxufTtcblxuIl0sIm5hbWVzIjpbInVwZGF0ZVZlcnNpb24iLCJ2ZXJzaW9uIiwidmVyc2lvbkNoYW5nZSIsIkJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFIiwiYnVtcE1ham9yTnVtYmVyIiwicmVzZXRNaW5vck51bWJlciIsInJlc2V0UGF0Y2hOdW1iZXIiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsImJ1bXBNaW5vck51bWJlciIsIkNPU01FVElDX1ZFUlNJT05fQ0hBTkdFIiwiYnVtcFBhdGNoTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwQkE7OztlQUFBOzs7OEJBeEIwRjtBQUUxRixTQUFTQSxjQUFjQyxPQUFPLEVBQUVDLGFBQWEsRUFBRTtJQUM3QyxPQUFRQTtRQUNOLEtBQUtDLHVDQUF1QjtZQUMxQkYsUUFBUUcsZUFBZTtZQUN2QkgsUUFBUUksZ0JBQWdCO1lBQ3hCSixRQUFRSyxnQkFBZ0I7WUFFeEIsS0FBTTtRQUVSLEtBQUtDLHVDQUF1QjtZQUMxQk4sUUFBUU8sZUFBZTtZQUN2QlAsUUFBUUssZ0JBQWdCO1lBRXhCLEtBQU07UUFFUixLQUFLRyx1Q0FBdUI7WUFDMUJSLFFBQVFTLGVBQWU7WUFFdkIsS0FBTTtJQUNWO0FBQ0Y7SUFFQSxXQUFlO0lBQ2JWLGVBQUFBO0FBQ0YifQ==
|
package/lib/versionChanges.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
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
|
-
BREAKING_VERSION_CHANGE: function() {
|
|
13
|
-
return BREAKING_VERSION_CHANGE;
|
|
14
|
-
},
|
|
15
|
-
ADDITIVE_VERSION_CHANGE: function() {
|
|
16
|
-
return ADDITIVE_VERSION_CHANGE;
|
|
17
|
-
},
|
|
18
|
-
COSMETIC_VERSION_CHANGE: function() {
|
|
19
|
-
return COSMETIC_VERSION_CHANGE;
|
|
20
|
-
},
|
|
21
|
-
default: function() {
|
|
22
|
-
return _default;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
var BREAKING_VERSION_CHANGE = "breaking";
|
|
26
|
-
var ADDITIVE_VERSION_CHANGE = "additive";
|
|
27
|
-
var COSMETIC_VERSION_CHANGE = "cosmetic";
|
|
28
|
-
var _default = {
|
|
29
|
-
BREAKING_VERSION_CHANGE: BREAKING_VERSION_CHANGE,
|
|
30
|
-
ADDITIVE_VERSION_CHANGE: ADDITIVE_VERSION_CHANGE,
|
|
31
|
-
COSMETIC_VERSION_CHANGE: COSMETIC_VERSION_CHANGE
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uQ2hhbmdlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFID0gXCJicmVha2luZ1wiO1xuZXhwb3J0IGNvbnN0IEFERElUSVZFX1ZFUlNJT05fQ0hBTkdFID0gXCJhZGRpdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IENPU01FVElDX1ZFUlNJT05fQ0hBTkdFID0gXCJjb3NtZXRpY1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFLFxuICBBRERJVElWRV9WRVJTSU9OX0NIQU5HRSxcbiAgQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0Vcbn07XG4iXSwibmFtZXMiOlsiQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsIkNPU01FVElDX1ZFUlNJT05fQ0hBTkdFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFFYixPQUlFO2VBSkY7OztBQUpPLElBQU1GLDBCQUEwQjtBQUNoQyxJQUFNQywwQkFBMEI7QUFDaEMsSUFBTUMsMEJBQTBCO0lBRXZDLFdBQWU7SUFDYkYseUJBQUFBO0lBQ0FDLHlCQUFBQTtJQUNBQyx5QkFBQUE7QUFDRiJ9
|
package/src/jsonTypes.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import StatementForVariableMatcher from "../../matcher/statementForVariable";
|
|
4
|
-
|
|
5
|
-
class ConsequenceStatementForVariableMatcher extends StatementForVariableMatcher {
|
|
6
|
-
static createSubstitutions = false;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export const consequenceStatementForVariableMatcher = new ConsequenceStatementForVariableMatcher();
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import StatementForVariableMatcher from "../../matcher/statementForVariable";
|
|
4
|
-
|
|
5
|
-
class SuppositionStatementForVariableMatcher extends StatementForVariableMatcher {
|
|
6
|
-
static createSubstitutions = true;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export const suppositionStatementForVariableMatcher = new SuppositionStatementForVariableMatcher();
|