occam-furtle 2.0.71 → 2.0.74

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.
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ import Exception from "./exception";
4
+ import NodeProperty from "./nodeProperty";
5
+
6
+ import { stringFromArray } from "./dom/parameters";
7
+ import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "./types";
8
+ import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "./parameterNames";
9
+
10
+ const types = [
11
+ STRING_TYPE,
12
+ BOOLEAN_TYPE,
13
+ NODES_TYPE,
14
+ ],
15
+ names = [
16
+ CONTENT_PARAMETER_NAME,
17
+ TERMINAL_PARAMETER_NAME,
18
+ CHILD_NODES_PARAMETER_NAME
19
+ ];
20
+
21
+ class NodeProperties {
22
+ constructor(string, array) {
23
+ this.string = string;
24
+ this.array = array;
25
+ }
26
+
27
+ getString() {
28
+ return this.string;
29
+ }
30
+
31
+ getArray() {
32
+ return this.array;
33
+ }
34
+
35
+ someNodeProperty(callback) { return this.array.some(callback); }
36
+
37
+ matchNamedParameter(namedParameter, context) {
38
+ const nodePropertiesString = this.string, ///
39
+ namedParameterString = namedParameter.getString();
40
+
41
+ context.trace(`Matching the '${namedParameterString}' named parameter against the '${nodePropertiesString}' node properties...`);
42
+
43
+ const namedParameterMatches = this.someNodeProperty((nodeProperty) => {
44
+ const namedParameterMatchesNodeProperty = nodeProperty.matchNamedParameter(namedParameter, context);
45
+
46
+ if (namedParameterMatchesNodeProperty) {
47
+ return true;
48
+ }
49
+ });
50
+
51
+ if (!namedParameterMatches) {
52
+ const message = `The '${namedParameterString}' named parameter does not match any of the '${nodePropertiesString}' node properties.`,
53
+ exception = Exception.fromMessage(message);
54
+
55
+ throw exception;
56
+ }
57
+
58
+ context.debug(`...matched the '${namedParameterString}' named parameter against the '${nodePropertiesString}' node properties.`);
59
+ }
60
+
61
+ matchNamedParameters(namedParameters, context) {
62
+ namedParameters.forEachNamedParameter((namedParameter) => {
63
+ this.matchNamedParameter(namedParameter, context);
64
+ });
65
+ }
66
+
67
+ static fromNothing() {
68
+ const context = null,
69
+ array = names.map((name, index) => {
70
+ const type = types[index],
71
+ nodeProperty = NodeProperty.fromNameAndType(name, type, context);
72
+
73
+ return nodeProperty;
74
+ }),
75
+ string = stringFromArray(array, context),
76
+ nodeProperties = new NodeProperties(string, array);
77
+
78
+ return nodeProperties;
79
+ }
80
+ }
81
+
82
+ const nodeProperties = NodeProperties.fromNothing();
83
+
84
+ export default nodeProperties;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ export default class NodeProperty {
4
+ constructor(string, type, name) {
5
+ this.string = string;
6
+ this.type = type;
7
+ this.name = name;
8
+ }
9
+
10
+ getString() {
11
+ return this.string;
12
+ }
13
+
14
+ getType() {
15
+ return this.type;
16
+ }
17
+
18
+ getName() {
19
+ return this.name;
20
+ }
21
+
22
+ matchNamedParameter(namedParameter, context) {
23
+ let namedParameterMatches;
24
+
25
+ const nodePropertyString = this.string, ///
26
+ namedParameterString = namedParameter.getString();
27
+
28
+ context.trace(`Matching the '${nodePropertyString}' node property against the '${namedParameterString}' named parameter...`);
29
+
30
+ const name = namedParameter.getName(),
31
+ type = namedParameter.getType();
32
+
33
+ namedParameterMatches = ((this.name === name) && (this.type === type));
34
+
35
+ if (namedParameterMatches) {
36
+ context.debug(`...matched the '${nodePropertyString}' node property against the '${namedParameterString}' named parameter.`);
37
+ }
38
+
39
+ return namedParameterMatches;
40
+ }
41
+
42
+ static name = "Parameter";
43
+
44
+ static fromNameAndType(name, type, context) {
45
+ const string = stringFromNameAndType(name, type, context),
46
+ nodeProperty = new NodeProperty(string, type, name);
47
+
48
+ return nodeProperty;
49
+ }
50
+ };
51
+
52
+ function stringFromNameAndType(name, type) {
53
+ const string = `${type} ${name}`;
54
+
55
+ return string;
56
+ }
@@ -1,76 +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 _parameter = /*#__PURE__*/ _interop_require_default(require("../dom/parameter"));
12
- var _parameters = /*#__PURE__*/ _interop_require_wildcard(require("../dom/parameters"));
13
- var _types = require("../types");
14
- var _parameterNames = require("../parameterNames");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- function _getRequireWildcardCache(nodeInterop) {
21
- if (typeof WeakMap !== "function") return null;
22
- var cacheBabelInterop = new WeakMap();
23
- var cacheNodeInterop = new WeakMap();
24
- return (_getRequireWildcardCache = function(nodeInterop) {
25
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
26
- })(nodeInterop);
27
- }
28
- function _interop_require_wildcard(obj, nodeInterop) {
29
- if (!nodeInterop && obj && obj.__esModule) {
30
- return obj;
31
- }
32
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
33
- return {
34
- default: obj
35
- };
36
- }
37
- var cache = _getRequireWildcardCache(nodeInterop);
38
- if (cache && cache.has(obj)) {
39
- return cache.get(obj);
40
- }
41
- var newObj = {
42
- __proto__: null
43
- };
44
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
- for(var key in obj){
46
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
- if (desc && (desc.get || desc.set)) {
49
- Object.defineProperty(newObj, key, desc);
50
- } else {
51
- newObj[key] = obj[key];
52
- }
53
- }
54
- }
55
- newObj.default = obj;
56
- if (cache) {
57
- cache.set(obj, newObj);
58
- }
59
- return newObj;
60
- }
61
- var types = [
62
- _types.STRING_TYPE,
63
- _types.BOOLEAN_TYPE,
64
- _types.NODES_TYPE
65
- ], names = [
66
- _parameterNames.CONTENT_PARAMETER_NAME,
67
- _parameterNames.TERMINAL_PARAMETER_NAME,
68
- _parameterNames.CHILD_NODES_PARAMETER_NAME
69
- ];
70
- var context = null, array = names.map(function(name, index) {
71
- var type = types[index], parameter = _parameter.default.fromNameAndType(name, type, context);
72
- return parameter;
73
- }), string = (0, _parameters.stringFromArray)(array, context), parameters = _parameters.default.fromStringAndArray(string, array, context), nodeParameters = parameters; ///
74
- var _default = nodeParameters;
75
-
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJhbWV0ZXJzL25vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQYXJhbWV0ZXIgZnJvbSBcIi4uL2RvbS9wYXJhbWV0ZXJcIjtcbmltcG9ydCBQYXJhbWV0ZXJzIGZyb20gXCIuLi9kb20vcGFyYW1ldGVyc1wiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tQXJyYXkgfSBmcm9tIFwiLi4vZG9tL3BhcmFtZXRlcnNcIjtcbmltcG9ydCB7IE5PREVTX1RZUEUsIFNUUklOR19UWVBFLCBCT09MRUFOX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB0eXBlcyA9IFtcbiAgICAgICAgU1RSSU5HX1RZUEUsXG4gICAgICAgIEJPT0xFQU5fVFlQRSxcbiAgICAgICAgTk9ERVNfVFlQRSxcbiAgICAgIF0sXG4gICAgICBuYW1lcyA9IFtcbiAgICAgICAgQ09OVEVOVF9QQVJBTUVURVJfTkFNRSxcbiAgICAgICAgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUsXG4gICAgICAgIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FXG4gICAgICBdO1xuXG5jb25zdCBjb250ZXh0ID0gbnVsbCxcbiAgICAgIGFycmF5ID0gbmFtZXMubWFwKChuYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlID0gdHlwZXNbaW5kZXhdLFxuICAgICAgICAgICAgICBwYXJhbWV0ZXIgPSBQYXJhbWV0ZXIuZnJvbU5hbWVBbmRUeXBlKG5hbWUsIHR5cGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgICB9KSxcbiAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21BcnJheShhcnJheSwgY29udGV4dCksXG4gICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycy5mcm9tU3RyaW5nQW5kQXJyYXkoc3RyaW5nLCBhcnJheSwgY29udGV4dCksXG4gICAgICBub2RlUGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7ICAvLy9cblxuZXhwb3J0IGRlZmF1bHQgbm9kZVBhcmFtZXRlcnM7XG4iXSwibmFtZXMiOlsidHlwZXMiLCJTVFJJTkdfVFlQRSIsIkJPT0xFQU5fVFlQRSIsIk5PREVTX1RZUEUiLCJuYW1lcyIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsIkNISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIiwiY29udGV4dCIsImFycmF5IiwibWFwIiwibmFtZSIsImluZGV4IiwidHlwZSIsInBhcmFtZXRlciIsIlBhcmFtZXRlciIsImZyb21OYW1lQW5kVHlwZSIsInN0cmluZyIsInN0cmluZ0Zyb21BcnJheSIsInBhcmFtZXRlcnMiLCJQYXJhbWV0ZXJzIiwiZnJvbVN0cmluZ0FuZEFycmF5Iiwibm9kZVBhcmFtZXRlcnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQStCQTs7O2VBQUE7OztnRUE3QnNCO2tFQUNDO3FCQUcrQjs4QkFDc0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVGLElBQU1BLFFBQVE7SUFDTkMsa0JBQVc7SUFDWEMsbUJBQVk7SUFDWkMsaUJBQVU7Q0FDWCxFQUNEQyxRQUFRO0lBQ05DLHNDQUFzQjtJQUN0QkMsdUNBQXVCO0lBQ3ZCQywwQ0FBMEI7Q0FDM0I7QUFFUCxJQUFNQyxVQUFVLE1BQ1ZDLFFBQVFMLE1BQU1NLEdBQUcsQ0FBQyxTQUFDQyxNQUFNQztJQUN2QixJQUFNQyxPQUFPYixLQUFLLENBQUNZLE1BQU0sRUFDbkJFLFlBQVlDLGtCQUFTLENBQUNDLGVBQWUsQ0FBQ0wsTUFBTUUsTUFBTUw7SUFFeEQsT0FBT007QUFDVCxJQUNBRyxTQUFTQyxJQUFBQSwyQkFBZSxFQUFDVCxPQUFPRCxVQUNoQ1csYUFBYUMsbUJBQVUsQ0FBQ0Msa0JBQWtCLENBQUNKLFFBQVFSLE9BQU9ELFVBQzFEYyxpQkFBaUJILFlBQWEsR0FBRztJQUV2QyxXQUFlRyJ9
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- import Parameter from "../dom/parameter";
4
- import Parameters from "../dom/parameters";
5
-
6
- import { stringFromArray } from "../dom/parameters";
7
- import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "../types";
8
- import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "../parameterNames";
9
-
10
- const types = [
11
- STRING_TYPE,
12
- BOOLEAN_TYPE,
13
- NODES_TYPE,
14
- ],
15
- names = [
16
- CONTENT_PARAMETER_NAME,
17
- TERMINAL_PARAMETER_NAME,
18
- CHILD_NODES_PARAMETER_NAME
19
- ];
20
-
21
- const context = null,
22
- array = names.map((name, index) => {
23
- const type = types[index],
24
- parameter = Parameter.fromNameAndType(name, type, context);
25
-
26
- return parameter;
27
- }),
28
- string = stringFromArray(array, context),
29
- parameters = Parameters.fromStringAndArray(string, array, context),
30
- nodeParameters = parameters; ///
31
-
32
- export default nodeParameters;