occam-entities 1.0.113 → 1.0.115

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.
@@ -10,19 +10,19 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _metaJSON = require("../utilities/metaJSON");
12
12
  function getVersion() {
13
- var metaJSONFile = this.getMetaJSONFile(), metaJSONNode = (0, _metaJSON.metaJSONNodeFromMetaJSONFile)(metaJSONFile), node = metaJSONNode, version = (0, _metaJSON.versionFromNode)(node);
13
+ var metaJSONFile = this.getMetaJSONFile(), documentNode = (0, _metaJSON.documentNodeFromMetaJSONFile)(metaJSONFile), version = (0, _metaJSON.versionFromDocumentNode)(documentNode);
14
14
  return version;
15
15
  }
16
16
  function getRepository() {
17
- var metaJSONFile = this.getMetaJSONFile(), metaJSONNode = (0, _metaJSON.metaJSONNodeFromMetaJSONFile)(metaJSONFile), node = metaJSONNode, repository = (0, _metaJSON.repositoryFromNode)(node);
17
+ var metaJSONFile = this.getMetaJSONFile(), documentNode = (0, _metaJSON.documentNodeFromMetaJSONFile)(metaJSONFile), repository = (0, _metaJSON.repositoryFromDocumentNode)(documentNode);
18
18
  return repository;
19
19
  }
20
20
  function getDependencies() {
21
- var metaJSONFile = this.getMetaJSONFile(), metaJSONNode = (0, _metaJSON.metaJSONNodeFromMetaJSONFile)(metaJSONFile), node = metaJSONNode, dependencies = (0, _metaJSON.dependenciesFromNode)(node);
21
+ var metaJSONFile = this.getMetaJSONFile(), documentNode = (0, _metaJSON.documentNodeFromMetaJSONFile)(metaJSONFile), dependencies = (0, _metaJSON.dependenciesFromDocumentNode)(documentNode);
22
22
  return dependencies;
23
23
  }
24
24
  function getDependencyNames() {
25
- var metaJSONFile = this.getMetaJSONFile(), metaJSONNode = (0, _metaJSON.metaJSONNodeFromMetaJSONFile)(metaJSONFile), node = metaJSONNode, dependencyNames = (0, _metaJSON.dependencyNamesFromNode)(node);
25
+ var metaJSONFile = this.getMetaJSONFile(), documentNode = (0, _metaJSON.documentNodeFromMetaJSONFile)(metaJSONFile), dependencyNames = (0, _metaJSON.dependencyNamesFromDocumentNode)(documentNode);
26
26
  return dependencyNames;
27
27
  }
28
28
  var metaJSONMixins = {
@@ -33,4 +33,4 @@ var metaJSONMixins = {
33
33
  };
34
34
  var _default = metaJSONMixins;
35
35
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHZlcnNpb25Gcm9tTm9kZSwgcmVwb3NpdG9yeUZyb21Ob2RlLCBkZXBlbmRlbmNpZXNGcm9tTm9kZSwgZGVwZW5kZW5jeU5hbWVzRnJvbU5vZGUsIG1ldGFKU09OTm9kZUZyb21NZXRhSlNPTkZpbGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL21ldGFKU09OXCI7XG5cbmZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG4gIGNvbnN0IG1ldGFKU09ORmlsZSA9IHRoaXMuZ2V0TWV0YUpTT05GaWxlKCksXG4gICAgICAgIG1ldGFKU09OTm9kZSA9IG1ldGFKU09OTm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSxcbiAgICAgICAgbm9kZSA9IG1ldGFKU09OTm9kZSwgIC8vL1xuICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbkZyb21Ob2RlKG5vZGUpO1xuXG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5mdW5jdGlvbiBnZXRSZXBvc2l0b3J5KCkge1xuICBjb25zdCBtZXRhSlNPTkZpbGUgPSB0aGlzLmdldE1ldGFKU09ORmlsZSgpLFxuICAgICAgICBtZXRhSlNPTk5vZGUgPSBtZXRhSlNPTk5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSksXG4gICAgICAgIG5vZGUgPSBtZXRhSlNPTk5vZGUsICAvLy9cbiAgICAgICAgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlGcm9tTm9kZShub2RlKTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzKCkge1xuICBjb25zdCBtZXRhSlNPTkZpbGUgPSB0aGlzLmdldE1ldGFKU09ORmlsZSgpLFxuICAgICAgICBtZXRhSlNPTk5vZGUgPSBtZXRhSlNPTk5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSksXG4gICAgICAgIG5vZGUgPSBtZXRhSlNPTk5vZGUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzRnJvbU5vZGUobm9kZSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn1cblxuZnVuY3Rpb24gZ2V0RGVwZW5kZW5jeU5hbWVzKCkge1xuICBjb25zdCBtZXRhSlNPTkZpbGUgPSB0aGlzLmdldE1ldGFKU09ORmlsZSgpLFxuICAgICAgICBtZXRhSlNPTk5vZGUgPSBtZXRhSlNPTk5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSksXG4gICAgICAgIG5vZGUgPSBtZXRhSlNPTk5vZGUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeU5hbWVzID0gZGVwZW5kZW5jeU5hbWVzRnJvbU5vZGUobm9kZSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lOYW1lcztcbn1cblxuY29uc3QgbWV0YUpTT05NaXhpbnMgPSB7XG4gIGdldFZlcnNpb24sXG4gIGdldFJlcG9zaXRvcnksXG4gIGdldERlcGVuZGVuY2llcyxcbiAgZ2V0RGVwZW5kZW5jeU5hbWVzXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhSlNPTk1peGlucztcbiJdLCJuYW1lcyI6WyJnZXRWZXJzaW9uIiwibWV0YUpTT05GaWxlIiwiZ2V0TWV0YUpTT05GaWxlIiwibWV0YUpTT05Ob2RlIiwibWV0YUpTT05Ob2RlRnJvbU1ldGFKU09ORmlsZSIsIm5vZGUiLCJ2ZXJzaW9uIiwidmVyc2lvbkZyb21Ob2RlIiwiZ2V0UmVwb3NpdG9yeSIsInJlcG9zaXRvcnkiLCJyZXBvc2l0b3J5RnJvbU5vZGUiLCJnZXREZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmNpZXNGcm9tTm9kZSIsImdldERlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lc0Zyb21Ob2RlIiwibWV0YUpTT05NaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQStDQTs7O2VBQUE7Ozt3QkE3Q2lJO0FBRWpJLFNBQVNBO0lBQ1AsSUFBTUMsZUFBZSxJQUFJLENBQUNDLGVBQWUsSUFDbkNDLGVBQWVDLElBQUFBLHNDQUE0QixFQUFDSCxlQUM1Q0ksT0FBT0YsY0FDUEcsVUFBVUMsSUFBQUEseUJBQWUsRUFBQ0Y7SUFFaEMsT0FBT0M7QUFDVDtBQUVBLFNBQVNFO0lBQ1AsSUFBTVAsZUFBZSxJQUFJLENBQUNDLGVBQWUsSUFDbkNDLGVBQWVDLElBQUFBLHNDQUE0QixFQUFDSCxlQUM1Q0ksT0FBT0YsY0FDUE0sYUFBYUMsSUFBQUEsNEJBQWtCLEVBQUNMO0lBRXRDLE9BQU9JO0FBQ1Q7QUFFQSxTQUFTRTtJQUNQLElBQU1WLGVBQWUsSUFBSSxDQUFDQyxlQUFlLElBQ25DQyxlQUFlQyxJQUFBQSxzQ0FBNEIsRUFBQ0gsZUFDNUNJLE9BQU9GLGNBQ1BTLGVBQWVDLElBQUFBLDhCQUFvQixFQUFDUjtJQUUxQyxPQUFPTztBQUNUO0FBRUEsU0FBU0U7SUFDUCxJQUFNYixlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsZUFBZUMsSUFBQUEsc0NBQTRCLEVBQUNILGVBQzVDSSxPQUFPRixjQUNQWSxrQkFBa0JDLElBQUFBLGlDQUF1QixFQUFDWDtJQUVoRCxPQUFPVTtBQUNUO0FBRUEsSUFBTUUsaUJBQWlCO0lBQ3JCakIsWUFBQUE7SUFDQVEsZUFBQUE7SUFDQUcsaUJBQUFBO0lBQ0FHLG9CQUFBQTtBQUNGO0lBRUEsV0FBZUcifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHZlcnNpb25Gcm9tRG9jdW1lbnROb2RlLCByZXBvc2l0b3J5RnJvbURvY3VtZW50Tm9kZSwgZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZSwgZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZSwgZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbWV0YUpTT05cIjtcblxuZnVuY3Rpb24gZ2V0VmVyc2lvbigpIHtcbiAgY29uc3QgbWV0YUpTT05GaWxlID0gdGhpcy5nZXRNZXRhSlNPTkZpbGUoKSxcbiAgICAgICAgZG9jdW1lbnROb2RlID0gZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpLFxuICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbkZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuZnVuY3Rpb24gZ2V0UmVwb3NpdG9yeSgpIHtcbiAgY29uc3QgbWV0YUpTT05GaWxlID0gdGhpcy5nZXRNZXRhSlNPTkZpbGUoKSxcbiAgICAgICAgZG9jdW1lbnROb2RlID0gZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpLFxuICAgICAgICByZXBvc2l0b3J5ID0gcmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzKCkge1xuICBjb25zdCBtZXRhSlNPTkZpbGUgPSB0aGlzLmdldE1ldGFKU09ORmlsZSgpLFxuICAgICAgICBkb2N1bWVudE5vZGUgPSBkb2N1bWVudE5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSksXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gZGVwZW5kZW5jaWVzO1xufVxuXG5mdW5jdGlvbiBnZXREZXBlbmRlbmN5TmFtZXMoKSB7XG4gIGNvbnN0IG1ldGFKU09ORmlsZSA9IHRoaXMuZ2V0TWV0YUpTT05GaWxlKCksXG4gICAgICAgIGRvY3VtZW50Tm9kZSA9IGRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWVzID0gZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIHJldHVybiBkZXBlbmRlbmN5TmFtZXM7XG59XG5cbmNvbnN0IG1ldGFKU09OTWl4aW5zID0ge1xuICBnZXRWZXJzaW9uLFxuICBnZXRSZXBvc2l0b3J5LFxuICBnZXREZXBlbmRlbmNpZXMsXG4gIGdldERlcGVuZGVuY3lOYW1lc1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbWV0YUpTT05NaXhpbnM7XG4iXSwibmFtZXMiOlsiZ2V0VmVyc2lvbiIsIm1ldGFKU09ORmlsZSIsImdldE1ldGFKU09ORmlsZSIsImRvY3VtZW50Tm9kZSIsImRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUiLCJ2ZXJzaW9uIiwidmVyc2lvbkZyb21Eb2N1bWVudE5vZGUiLCJnZXRSZXBvc2l0b3J5IiwicmVwb3NpdG9yeSIsInJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlIiwiZ2V0RGVwZW5kZW5jaWVzIiwiZGVwZW5kZW5jaWVzIiwiZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZSIsImdldERlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lc0Zyb21Eb2N1bWVudE5vZGUiLCJtZXRhSlNPTk1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMkNBOzs7ZUFBQTs7O3dCQXpDaUs7QUFFakssU0FBU0E7SUFDUCxJQUFNQyxlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsZUFBZUMsSUFBQUEsc0NBQTRCLEVBQUNILGVBQzVDSSxVQUFVQyxJQUFBQSxpQ0FBdUIsRUFBQ0g7SUFFeEMsT0FBT0U7QUFDVDtBQUVBLFNBQVNFO0lBQ1AsSUFBTU4sZUFBZSxJQUFJLENBQUNDLGVBQWUsSUFDbkNDLGVBQWVDLElBQUFBLHNDQUE0QixFQUFDSCxlQUM1Q08sYUFBYUMsSUFBQUEsb0NBQTBCLEVBQUNOO0lBRTlDLE9BQU9LO0FBQ1Q7QUFFQSxTQUFTRTtJQUNQLElBQU1ULGVBQWUsSUFBSSxDQUFDQyxlQUFlLElBQ25DQyxlQUFlQyxJQUFBQSxzQ0FBNEIsRUFBQ0gsZUFDNUNVLGVBQWVDLElBQUFBLHNDQUE0QixFQUFDVDtJQUVsRCxPQUFPUTtBQUNUO0FBRUEsU0FBU0U7SUFDUCxJQUFNWixlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsZUFBZUMsSUFBQUEsc0NBQTRCLEVBQUNILGVBQzVDYSxrQkFBa0JDLElBQUFBLHlDQUErQixFQUFDWjtJQUV4RCxPQUFPVztBQUNUO0FBRUEsSUFBTUUsaUJBQWlCO0lBQ3JCaEIsWUFBQUE7SUFDQU8sZUFBQUE7SUFDQUcsaUJBQUFBO0lBQ0FHLG9CQUFBQTtBQUNGO0lBRUEsV0FBZUcifQ==
@@ -0,0 +1,26 @@
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
+ DEPENDENCIES_PROPERTY_NAME: function() {
13
+ return DEPENDENCIES_PROPERTY_NAME;
14
+ },
15
+ REPOSITORY_PROPERTY_NAME: function() {
16
+ return REPOSITORY_PROPERTY_NAME;
17
+ },
18
+ VERSION_PROPERTY_NAME: function() {
19
+ return VERSION_PROPERTY_NAME;
20
+ }
21
+ });
22
+ var VERSION_PROPERTY_NAME = "version";
23
+ var REPOSITORY_PROPERTY_NAME = "repository";
24
+ var DEPENDENCIES_PROPERTY_NAME = "dependencies";
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9wZXJ0eU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTl9QUk9QRVJUWV9OQU1FID0gXCJ2ZXJzaW9uXCI7XG5leHBvcnQgY29uc3QgUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FID0gXCJyZXBvc2l0b3J5XCI7XG5leHBvcnQgY29uc3QgREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUgPSBcImRlcGVuZGVuY2llc1wiO1xuIl0sIm5hbWVzIjpbIkRFUEVOREVOQ0lFU19QUk9QRVJUWV9OQU1FIiwiUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FIiwiVkVSU0lPTl9QUk9QRVJUWV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFJYUEsMEJBQTBCO2VBQTFCQTs7SUFEQUMsd0JBQXdCO2VBQXhCQTs7SUFEQUMscUJBQXFCO2VBQXJCQTs7O0FBQU4sSUFBTUEsd0JBQXdCO0FBQzlCLElBQU1ELDJCQUEyQjtBQUNqQyxJQUFNRCw2QkFBNkIifQ==
@@ -12,26 +12,26 @@ _export(exports, {
12
12
  default: function() {
13
13
  return _default;
14
14
  },
15
- dependenciesFromNode: function() {
16
- return dependenciesFromNode;
15
+ dependenciesFromDocumentNode: function() {
16
+ return dependenciesFromDocumentNode;
17
17
  },
18
- dependencyNamesFromNode: function() {
19
- return dependencyNamesFromNode;
18
+ dependencyNamesFromDocumentNode: function() {
19
+ return dependencyNamesFromDocumentNode;
20
+ },
21
+ documentNodeFromMetaJSONFile: function() {
22
+ return documentNodeFromMetaJSONFile;
20
23
  },
21
24
  isMetaJSONFileValid: function() {
22
25
  return isMetaJSONFileValid;
23
26
  },
24
- metaJSONNodeFromMetaJSONFile: function() {
25
- return metaJSONNodeFromMetaJSONFile;
26
- },
27
- repositoryFromNode: function() {
28
- return repositoryFromNode;
27
+ repositoryFromDocumentNode: function() {
28
+ return repositoryFromDocumentNode;
29
29
  },
30
30
  updateMetaJSONFileVersion: function() {
31
31
  return updateMetaJSONFileVersion;
32
32
  },
33
- versionFromNode: function() {
34
- return versionFromNode;
33
+ versionFromDocumentNode: function() {
34
+ return versionFromDocumentNode;
35
35
  }
36
36
  });
37
37
  var _occamgrammars = require("occam-grammars");
@@ -42,60 +42,30 @@ var _shortenedVersion = /*#__PURE__*/ _interop_require_default(require("../short
42
42
  var _constants = require("../constants");
43
43
  var _content = require("../utilities/content");
44
44
  var _query = require("../utilities/query");
45
+ var _validate = require("../utilities/validate");
46
+ var _propertyNames = require("../propertyNames");
45
47
  function _interop_require_default(obj) {
46
48
  return obj && obj.__esModule ? obj : {
47
49
  default: obj
48
50
  };
49
51
  }
50
- var metaJSONLexer = _occamgrammars.MetaJSONLexer.fromNothing(), metaJSONParser = _occamgrammars.MetaJSONParser.fromNothing(), errorNodesQuery = (0, _query.nodesQuery)("//error"), dependencyNodesQuery = (0, _query.nodesQuery)("//dependencies/dependency"), repositoryTerminalNodeQuery = (0, _query.nodeQuery)("//repository!/@*!"), versionNumberTerminalNodeQuery = (0, _query.nodeQuery)("//version!/versionNumber!/@*!"), dependencyNameTerminalNodeQuery = (0, _query.nodeQuery)("/dependency/name!/@*!"), shortenedVersionNumberTerminalNodeQuery = (0, _query.nodeQuery)("//dependency/shortenedVersionNumber/@*!");
51
- function versionFromNode(node) {
52
- var version = null;
53
- if (node !== null) {
54
- var versionNumberTerminalNode = versionNumberTerminalNodeQuery(node), versionNumberTerminalNodeContent = versionNumberTerminalNode.getContent(), string = (0, _content.trimDoubleQuotes)(versionNumberTerminalNodeContent); //
55
- version = _version.default.fromString(string);
56
- }
57
- return version;
58
- }
59
- function repositoryFromNode(node) {
60
- var repository = null;
61
- if (node !== null) {
62
- var repositoryTerminalNode = repositoryTerminalNodeQuery(node), repositoryTerminalNodeContent = repositoryTerminalNode.getContent();
63
- repository = (0, _content.trimDoubleQuotes)(repositoryTerminalNodeContent); //
64
- }
65
- return repository;
66
- }
52
+ var jsonLexer = _occamgrammars.JSONLexer.fromNothing(), jsonParser = _occamgrammars.JSONParser.fromNothing();
53
+ var errorNodesQuery = (0, _query.nodesQuery)("//error"), propertyNodesQuery = (0, _query.nodeQuery)("/property/json/object/property"), documentPropertyNodesQuery = (0, _query.nodesQuery)("/document/json/object/property"), propertyNameTerminalNodeQuery = (0, _query.nodeQuery)("/property/@string-literal!"), stringPropertyValueTerminalNodeQuery = (0, _query.nodeQuery)("/property/json/@string-literal!");
67
54
  function isMetaJSONFileValid(metaJSONFile) {
68
55
  var metaJSONFileValid = false;
69
- var metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile);
70
- if (metaJSONNode !== null) {
71
- var node = metaJSONNode, errorNodes = errorNodesQuery(node), errorNodesLength = errorNodes.length;
56
+ var documentNode = documentNodeFromMetaJSONFile(metaJSONFile);
57
+ if (documentNode !== null) {
58
+ var errorNodes = errorNodesQuery(documentNode), errorNodesLength = errorNodes.length;
72
59
  if (errorNodesLength === 0) {
73
- metaJSONFileValid = true;
60
+ var version = versionFromDocumentNode(documentNode), repository = repositoryFromDocumentNode(documentNode), dependencies = dependenciesFromDocumentNode(documentNode);
61
+ metaJSONFileValid = version !== null && repository !== null && dependencies !== null;
74
62
  }
75
63
  }
76
64
  return metaJSONFileValid;
77
65
  }
78
- function dependenciesFromNode(node) {
79
- var dependencies = _dependencies.default.fromNothing();
80
- if (node !== null) {
81
- var dependencyNodes = dependencyNodesQuery(node);
82
- dependencyNodes.forEach(function(dependencyNode) {
83
- var dependencyNameTerminalNode = dependencyNameTerminalNodeQuery(dependencyNode), shortenedVersionNumberTerminalNode = shortenedVersionNumberTerminalNodeQuery(dependencyNode), dependencyNameTerminalNodeContent = dependencyNameTerminalNode.getContent(), shortenedVersionNumberTerminalNodeContent = shortenedVersionNumberTerminalNode.getContent(), string = (0, _content.trimDoubleQuotes)(shortenedVersionNumberTerminalNodeContent), name = (0, _content.trimDoubleQuotes)(dependencyNameTerminalNodeContent), shortenedVersion = _shortenedVersion.default.fromString(string), dependency = _dependency.default.fromNameAndShortenedVersion(name, shortenedVersion);
84
- dependencies.addDependency(dependency);
85
- });
86
- }
87
- return dependencies;
88
- }
89
- function dependencyNamesFromNode(node) {
90
- var dependencies = dependenciesFromNode(node), dependencyNames = dependencies.mapDependency(function(dependency) {
91
- var dependencyName = dependency.getName();
92
- return dependencyName;
93
- });
94
- return dependencyNames;
95
- }
96
66
  function updateMetaJSONFileVersion(metaJSONFile, version) {
97
- var metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile), node = metaJSONNode, repository = repositoryFromNode(node);
98
- var dependencies = dependenciesFromNode(node);
67
+ var documentNode = documentNodeFromMetaJSONFile(metaJSONFile), repository = repositoryFromDocumentNode(documentNode);
68
+ var dependencies = dependenciesFromDocumentNode(documentNode);
99
69
  var string = version.toString(), dependenciesJSON = dependencies.toJSON();
100
70
  version = string; ///
101
71
  dependencies = dependenciesJSON; ///
@@ -106,22 +76,106 @@ function updateMetaJSONFileVersion(metaJSONFile, version) {
106
76
  }, metaJSONString = JSON.stringify(metaJSON, null, _constants.DOUBLE_SPACE), metaJSONFileContent = metaJSONString; ///
107
77
  metaJSONFile.setContent(metaJSONFileContent);
108
78
  }
109
- function metaJSONNodeFromMetaJSONFile(metaJSONFile) {
110
- var metaJSONNode = null;
79
+ function documentNodeFromMetaJSONFile(metaJSONFile) {
80
+ var documentNode = null;
111
81
  if (metaJSONFile !== null) {
112
- var content = metaJSONFile.getContent(), tokens = metaJSONLexer.tokenise(content), node = metaJSONParser.parse(tokens);
113
- metaJSONNode = node; ///
82
+ var content = metaJSONFile.getContent(), tokens = jsonLexer.tokenise(content), node = jsonParser.parse(tokens);
83
+ documentNode = node; ///
114
84
  }
115
- return metaJSONNode;
85
+ return documentNode;
86
+ }
87
+ function versionFromDocumentNode(documentNode) {
88
+ var version = null;
89
+ var documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
90
+ documentPropertyNodes.some(function(documentPropertyNode) {
91
+ var propertyNode = documentPropertyNode, propertyName = propertyNameFromPropertyNode(propertyNode);
92
+ if (propertyName === _propertyNames.VERSION_PROPERTY_NAME) {
93
+ var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode), string = stringPropertyValue, stringVersionString = (0, _validate.isStringVersionString)(string);
94
+ if (stringVersionString) {
95
+ version = _version.default.fromString(string);
96
+ }
97
+ return true;
98
+ }
99
+ });
100
+ return version;
101
+ }
102
+ function repositoryFromDocumentNode(documentNode) {
103
+ var repository = null;
104
+ var documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
105
+ documentPropertyNodes.some(function(documentPropertyNode) {
106
+ var propertyNode = documentPropertyNode, propertyName = propertyNameFromPropertyNode(propertyNode);
107
+ if (propertyName === _propertyNames.REPOSITORY_PROPERTY_NAME) {
108
+ var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
109
+ repository = stringPropertyValue; ///
110
+ return true;
111
+ }
112
+ });
113
+ return repository;
114
+ }
115
+ function dependenciesFromDocumentNode(documentNode) {
116
+ var dependencies = null;
117
+ var dependenciesPropertyNode = dependenciesPropertyNodeFromDocumentNode(documentNode);
118
+ if (dependenciesPropertyNode !== null) {
119
+ dependencies = _dependencies.default.fromNothing();
120
+ var propertyNode = dependenciesPropertyNode, propertyNodes = propertyNodesQuery(propertyNode);
121
+ propertyNodes.reduce(function(propertyNode) {
122
+ var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode), string = stringPropertyValue, stringShortenedVersionString = (0, _validate.isStringShortenedVersionString)(string);
123
+ if (stringShortenedVersionString) {
124
+ var propertyName = propertyNameFromPropertyNode(propertyNode), name = propertyName, shortenedVersion = _shortenedVersion.default.fromString(string), dependency = _dependency.default.fromNameAndShortenedVersion(name, shortenedVersion);
125
+ dependencies.addDependency(dependency);
126
+ }
127
+ });
128
+ }
129
+ return dependencies;
130
+ }
131
+ function dependencyNamesFromDocumentNode(documentNode) {
132
+ var dependencyNames = null;
133
+ var dependenciesPropertyNode = dependenciesPropertyNodeFromDocumentNode(documentNode);
134
+ if (dependenciesPropertyNode !== null) {
135
+ dependencyNames = [];
136
+ var propertyNode = dependenciesPropertyNode, propertyNodes = propertyNodesQuery(propertyNode);
137
+ propertyNodes.reduce(function(propertyNode) {
138
+ var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode), string = stringPropertyValue, stringShortenedVersionString = (0, _validate.isStringShortenedVersionString)(string);
139
+ if (stringShortenedVersionString) {
140
+ var propertyName = propertyNameFromPropertyNode(propertyNode), dependencyName = propertyName; ///
141
+ dependencyNames.addDependency(dependencyName);
142
+ }
143
+ });
144
+ }
145
+ return dependencyNames;
116
146
  }
117
147
  var _default = {
118
- versionFromNode: versionFromNode,
119
- repositoryFromNode: repositoryFromNode,
120
148
  isMetaJSONFileValid: isMetaJSONFileValid,
121
- dependenciesFromNode: dependenciesFromNode,
122
- dependencyNamesFromNode: dependencyNamesFromNode,
123
149
  updateMetaJSONFileVersion: updateMetaJSONFileVersion,
124
- metaJSONNodeFromMetaJSONFile: metaJSONNodeFromMetaJSONFile
150
+ documentNodeFromMetaJSONFile: documentNodeFromMetaJSONFile,
151
+ versionFromDocumentNode: versionFromDocumentNode,
152
+ repositoryFromDocumentNode: repositoryFromDocumentNode,
153
+ dependenciesFromDocumentNode: dependenciesFromDocumentNode,
154
+ dependencyNamesFromDocumentNode: dependencyNamesFromDocumentNode
125
155
  };
156
+ function propertyNameFromPropertyNode(propertyNode) {
157
+ var propertyNameTerminalNode = propertyNameTerminalNodeQuery(propertyNode), propertyNameTerminalNodeContent = propertyNameTerminalNode.getContent(), propertyName = (0, _content.trimDoubleQuotes)(propertyNameTerminalNodeContent); ///
158
+ return propertyName;
159
+ }
160
+ function stringPropertyValueFromPropertyNode(propertyNode) {
161
+ var propertyValueTerminalNode = stringPropertyValueTerminalNodeQuery(propertyNode), propertyValueTerminalNodeContent = propertyValueTerminalNode.getContent(), stringPropertyValue = (0, _content.trimDoubleQuotes)(propertyValueTerminalNodeContent); ///
162
+ return stringPropertyValue;
163
+ }
164
+ function documentPropertyNodesFromDocumentNode(documentNode) {
165
+ var documentPropertyNodes = documentPropertyNodesQuery(documentNode);
166
+ return documentPropertyNodes;
167
+ }
168
+ function dependenciesPropertyNodeFromDocumentNode(documentNode) {
169
+ var dependenciesPropertyNode = null;
170
+ var documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
171
+ documentPropertyNodes.some(function(documentPropertyNode) {
172
+ var propertyNode = documentPropertyNode, propertyName = propertyNameFromPropertyNode(propertyNode);
173
+ if (propertyName === _propertyNames.DEPENDENCIES_PROPERTY_NAME) {
174
+ dependenciesPropertyNode = propertyNode; ///
175
+ return true;
176
+ }
177
+ });
178
+ return dependenciesPropertyNode;
179
+ }
126
180
 
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE1ldGFKU09OTGV4ZXIsIE1ldGFKU09OUGFyc2VyIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBWZXJzaW9uIGZyb20gXCIuLi92ZXJzaW9uXCI7XG5pbXBvcnQgRGVwZW5kZW5jeSBmcm9tIFwiLi4vZGVwZW5kZW5jeVwiO1xuaW1wb3J0IERlcGVuZGVuY2llcyBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgU2hvcnRlbmVkVmVyc2lvbiBmcm9tIFwiLi4vc2hvcnRlbmVkVmVyc2lvblwiO1xuXG5pbXBvcnQgeyBET1VCTEVfU1BBQ0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB0cmltRG91YmxlUXVvdGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZW50XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFKU09OTGV4ZXIgPSBNZXRhSlNPTkxleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBtZXRhSlNPTlBhcnNlciA9IE1ldGFKU09OUGFyc2VyLmZyb21Ob3RoaW5nKCksXG4gICAgICBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiLy9lcnJvclwiKSxcbiAgICAgIGRlcGVuZGVuY3lOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3lcIiksXG4gICAgICByZXBvc2l0b3J5VGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvL3JlcG9zaXRvcnkhL0AqIVwiKSxcbiAgICAgIHZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8vdmVyc2lvbiEvdmVyc2lvbk51bWJlciEvQCohXCIpLFxuICAgICAgZGVwZW5kZW5jeU5hbWVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9kZXBlbmRlbmN5L25hbWUhL0AqIVwiKSxcbiAgICAgIHNob3J0ZW5lZFZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8vZGVwZW5kZW5jeS9zaG9ydGVuZWRWZXJzaW9uTnVtYmVyL0AqIVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb25Gcm9tTm9kZShub2RlKSB7XG4gIGxldCB2ZXJzaW9uID0gbnVsbDtcblxuICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGUgPSB2ZXJzaW9uTnVtYmVyVGVybWluYWxOb2RlUXVlcnkobm9kZSksXG4gICAgICAgICAgdmVyc2lvbk51bWJlclRlcm1pbmFsTm9kZUNvbnRlbnQgPSB2ZXJzaW9uTnVtYmVyVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBzdHJpbmcgPSB0cmltRG91YmxlUXVvdGVzKHZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVDb250ZW50KTsgLy9cblxuICAgIHZlcnNpb24gPSBWZXJzaW9uLmZyb21TdHJpbmcoc3RyaW5nKTtcbiAgfVxuXG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3NpdG9yeUZyb21Ob2RlKG5vZGUpIHtcbiAgbGV0IHJlcG9zaXRvcnkgPSBudWxsO1xuXG4gIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgcmVwb3NpdG9yeVRlcm1pbmFsTm9kZSA9IHJlcG9zaXRvcnlUZXJtaW5hbE5vZGVRdWVyeShub2RlKSxcbiAgICAgICAgICByZXBvc2l0b3J5VGVybWluYWxOb2RlQ29udGVudCA9IHJlcG9zaXRvcnlUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgcmVwb3NpdG9yeSA9IHRyaW1Eb3VibGVRdW90ZXMocmVwb3NpdG9yeVRlcm1pbmFsTm9kZUNvbnRlbnQpOyAvL1xuICB9XG5cbiAgcmV0dXJuIHJlcG9zaXRvcnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01ldGFKU09ORmlsZVZhbGlkKG1ldGFKU09ORmlsZSkge1xuICBsZXQgbWV0YUpTT05GaWxlVmFsaWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhSlNPTk5vZGUgPSBtZXRhSlNPTk5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSk7XG5cbiAgaWYgKG1ldGFKU09OTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGUgPSBtZXRhSlNPTk5vZGUsICAvLy9cbiAgICAgICAgICBlcnJvck5vZGVzID0gZXJyb3JOb2Rlc1F1ZXJ5KG5vZGUpLFxuICAgICAgICAgIGVycm9yTm9kZXNMZW5ndGggPSBlcnJvck5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChlcnJvck5vZGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICBtZXRhSlNPTkZpbGVWYWxpZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFKU09ORmlsZVZhbGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kZW5jaWVzRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSBEZXBlbmRlbmNpZXMuZnJvbU5vdGhpbmcoKTtcblxuICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlcGVuZGVuY3lOb2RlcyA9IGRlcGVuZGVuY3lOb2Rlc1F1ZXJ5KG5vZGUpO1xuXG4gICAgZGVwZW5kZW5jeU5vZGVzLmZvckVhY2goKGRlcGVuZGVuY3lOb2RlKSA9PiB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5TmFtZVRlcm1pbmFsTm9kZSA9IGRlcGVuZGVuY3lOYW1lVGVybWluYWxOb2RlUXVlcnkoZGVwZW5kZW5jeU5vZGUpLFxuICAgICAgICAgICAgc2hvcnRlbmVkVmVyc2lvbk51bWJlclRlcm1pbmFsTm9kZSA9IHNob3J0ZW5lZFZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVRdWVyeShkZXBlbmRlbmN5Tm9kZSksXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSBkZXBlbmRlbmN5TmFtZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uTnVtYmVyVGVybWluYWxOb2RlQ29udGVudCA9IHNob3J0ZW5lZFZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgc3RyaW5nID0gdHJpbURvdWJsZVF1b3RlcyhzaG9ydGVuZWRWZXJzaW9uTnVtYmVyVGVybWluYWxOb2RlQ29udGVudCksICAvLy9cbiAgICAgICAgICAgIG5hbWUgPSB0cmltRG91YmxlUXVvdGVzKGRlcGVuZGVuY3lOYW1lVGVybWluYWxOb2RlQ29udGVudCksLy8vXG4gICAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gU2hvcnRlbmVkVmVyc2lvbi5mcm9tU3RyaW5nKHN0cmluZyksXG4gICAgICAgICAgICBkZXBlbmRlbmN5ID0gRGVwZW5kZW5jeS5mcm9tTmFtZUFuZFNob3J0ZW5lZFZlcnNpb24obmFtZSwgc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICAgIGRlcGVuZGVuY2llcy5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY3kpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZGVuY3lOYW1lc0Zyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzRnJvbU5vZGUobm9kZSksXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IGRlcGVuZGVuY2llcy5tYXBEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKTtcblxuICAgICAgICAgIHJldHVybiBkZXBlbmRlbmN5TmFtZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lOYW1lcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFKU09ORmlsZVZlcnNpb24obWV0YUpTT05GaWxlLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IG1ldGFKU09OTm9kZSA9IG1ldGFKU09OTm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSxcbiAgICAgICAgbm9kZSA9IG1ldGFKU09OTm9kZSwgIC8vL1xuICAgICAgICByZXBvc2l0b3J5ID0gcmVwb3NpdG9yeUZyb21Ob2RlKG5vZGUpO1xuXG4gIGxldCBkZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXNGcm9tTm9kZShub2RlKTtcblxuICBjb25zdCBzdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICBkZXBlbmRlbmNpZXNKU09OID0gZGVwZW5kZW5jaWVzLnRvSlNPTigpO1xuXG4gIHZlcnNpb24gPSBzdHJpbmc7ICAvLy9cblxuICBkZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXNKU09OOyAgLy8vXG5cbiAgY29uc3QgbWV0YUpTT04gPSB7XG4gICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICByZXBvc2l0b3J5LFxuICAgICAgICAgIGRlcGVuZGVuY2llc1xuICAgICAgICB9LFxuICAgICAgICBtZXRhSlNPTlN0cmluZyA9IEpTT04uc3RyaW5naWZ5KG1ldGFKU09OLCBudWxsLCBET1VCTEVfU1BBQ0UpLFxuICAgICAgICBtZXRhSlNPTkZpbGVDb250ZW50ID0gbWV0YUpTT05TdHJpbmc7IC8vL1xuXG4gIG1ldGFKU09ORmlsZS5zZXRDb250ZW50KG1ldGFKU09ORmlsZUNvbnRlbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUpTT05Ob2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpIHtcbiAgbGV0IG1ldGFKU09OTm9kZSA9IG51bGw7XG5cbiAgaWYgKG1ldGFKU09ORmlsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBtZXRhSlNPTkZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHRva2VucyA9IG1ldGFKU09OTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IG1ldGFKU09OUGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBtZXRhSlNPTk5vZGUgPSBub2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YUpTT05Ob2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHZlcnNpb25Gcm9tTm9kZSxcbiAgcmVwb3NpdG9yeUZyb21Ob2RlLFxuICBpc01ldGFKU09ORmlsZVZhbGlkLFxuICBkZXBlbmRlbmNpZXNGcm9tTm9kZSxcbiAgZGVwZW5kZW5jeU5hbWVzRnJvbU5vZGUsXG4gIHVwZGF0ZU1ldGFKU09ORmlsZVZlcnNpb24sXG4gIG1ldGFKU09OTm9kZUZyb21NZXRhSlNPTkZpbGVcbn07XG4iXSwibmFtZXMiOlsiZGVwZW5kZW5jaWVzRnJvbU5vZGUiLCJkZXBlbmRlbmN5TmFtZXNGcm9tTm9kZSIsImlzTWV0YUpTT05GaWxlVmFsaWQiLCJtZXRhSlNPTk5vZGVGcm9tTWV0YUpTT05GaWxlIiwicmVwb3NpdG9yeUZyb21Ob2RlIiwidXBkYXRlTWV0YUpTT05GaWxlVmVyc2lvbiIsInZlcnNpb25Gcm9tTm9kZSIsIm1ldGFKU09OTGV4ZXIiLCJNZXRhSlNPTkxleGVyIiwiZnJvbU5vdGhpbmciLCJtZXRhSlNPTlBhcnNlciIsIk1ldGFKU09OUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImRlcGVuZGVuY3lOb2Rlc1F1ZXJ5IiwicmVwb3NpdG9yeVRlcm1pbmFsTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyc2lvbk51bWJlclRlcm1pbmFsTm9kZVF1ZXJ5IiwiZGVwZW5kZW5jeU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsInNob3J0ZW5lZFZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGUiLCJ2ZXJzaW9uIiwidmVyc2lvbk51bWJlclRlcm1pbmFsTm9kZSIsInZlcnNpb25OdW1iZXJUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCIsInN0cmluZyIsInRyaW1Eb3VibGVRdW90ZXMiLCJWZXJzaW9uIiwiZnJvbVN0cmluZyIsInJlcG9zaXRvcnkiLCJyZXBvc2l0b3J5VGVybWluYWxOb2RlIiwicmVwb3NpdG9yeVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJtZXRhSlNPTkZpbGUiLCJtZXRhSlNPTkZpbGVWYWxpZCIsIm1ldGFKU09OTm9kZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZGVwZW5kZW5jaWVzIiwiRGVwZW5kZW5jaWVzIiwiZGVwZW5kZW5jeU5vZGVzIiwiZm9yRWFjaCIsImRlcGVuZGVuY3lOb2RlIiwiZGVwZW5kZW5jeU5hbWVUZXJtaW5hbE5vZGUiLCJzaG9ydGVuZWRWZXJzaW9uTnVtYmVyVGVybWluYWxOb2RlIiwiZGVwZW5kZW5jeU5hbWVUZXJtaW5hbE5vZGVDb250ZW50Iiwic2hvcnRlbmVkVmVyc2lvbk51bWJlclRlcm1pbmFsTm9kZUNvbnRlbnQiLCJuYW1lIiwic2hvcnRlbmVkVmVyc2lvbiIsIlNob3J0ZW5lZFZlcnNpb24iLCJkZXBlbmRlbmN5IiwiRGVwZW5kZW5jeSIsImZyb21OYW1lQW5kU2hvcnRlbmVkVmVyc2lvbiIsImFkZERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5TmFtZXMiLCJtYXBEZXBlbmRlbmN5IiwiZGVwZW5kZW5jeU5hbWUiLCJnZXROYW1lIiwidG9TdHJpbmciLCJkZXBlbmRlbmNpZXNKU09OIiwidG9KU09OIiwibWV0YUpTT04iLCJtZXRhSlNPTlN0cmluZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJET1VCTEVfU1BBQ0UiLCJtZXRhSlNPTkZpbGVDb250ZW50Iiwic2V0Q29udGVudCIsImNvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsInBhcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE0SUEsT0FRRTtlQVJGOztJ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
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEpTT05MZXhlciwgSlNPTlBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgVmVyc2lvbiBmcm9tIFwiLi4vdmVyc2lvblwiO1xuaW1wb3J0IERlcGVuZGVuY3kgZnJvbSBcIi4uL2RlcGVuZGVuY3lcIjtcbmltcG9ydCBEZXBlbmRlbmNpZXMgZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IFNob3J0ZW5lZFZlcnNpb24gZnJvbSBcIi4uL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuaW1wb3J0IHsgRE9VQkxFX1NQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHJpbURvdWJsZVF1b3RlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNTdHJpbmdWZXJzaW9uU3RyaW5nLCBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbGlkYXRlXCI7XG5pbXBvcnQgeyBWRVJTSU9OX1BST1BFUlRZX05BTUUsIFJFUE9TSVRPUllfUFJPUEVSVFlfTkFNRSwgREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUgfSBmcm9tIFwiLi4vcHJvcGVydHlOYW1lc1wiO1xuXG5jb25zdCBqc29uTGV4ZXIgPSBKU09OTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIGpzb25QYXJzZXIgPSBKU09OUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmNvbnN0IGVycm9yTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvL2Vycm9yXCIpLFxuICAgICAgcHJvcGVydHlOb2Rlc1F1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb3BlcnR5L2pzb24vb2JqZWN0L3Byb3BlcnR5XCIpLFxuICAgICAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2pzb24vb2JqZWN0L3Byb3BlcnR5XCIpLFxuICAgICAgcHJvcGVydHlOYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvcGVydHkvQHN0cmluZy1saXRlcmFsIVwiKSxcbiAgICAgIHN0cmluZ1Byb3BlcnR5VmFsdWVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9wZXJ0eS9qc29uL0BzdHJpbmctbGl0ZXJhbCFcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01ldGFKU09ORmlsZVZhbGlkKG1ldGFKU09ORmlsZSkge1xuICBsZXQgbWV0YUpTT05GaWxlVmFsaWQgPSBmYWxzZTtcblxuICBjb25zdCBkb2N1bWVudE5vZGUgPSBkb2N1bWVudE5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSk7XG5cbiAgaWYgKGRvY3VtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVycm9yTm9kZXMgPSBlcnJvck5vZGVzUXVlcnkoZG9jdW1lbnROb2RlKSxcbiAgICAgICAgICBlcnJvck5vZGVzTGVuZ3RoID0gZXJyb3JOb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoZXJyb3JOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgdmVyc2lvbiA9IHZlcnNpb25Gcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgICByZXBvc2l0b3J5ID0gcmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICAgICAgbWV0YUpTT05GaWxlVmFsaWQgPSAoKHZlcnNpb24gIT09IG51bGwpICYmIChyZXBvc2l0b3J5ICE9PSBudWxsKSAmJiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFKU09ORmlsZVZhbGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTWV0YUpTT05GaWxlVmVyc2lvbihtZXRhSlNPTkZpbGUsIHZlcnNpb24pIHtcbiAgY29uc3QgZG9jdW1lbnROb2RlID0gZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpLFxuICAgICAgICByZXBvc2l0b3J5ID0gcmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBsZXQgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGNvbnN0IHN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKSxcbiAgICAgICAgZGVwZW5kZW5jaWVzSlNPTiA9IGRlcGVuZGVuY2llcy50b0pTT04oKTtcblxuICB2ZXJzaW9uID0gc3RyaW5nOyAgLy8vXG5cbiAgZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzSlNPTjsgIC8vL1xuXG4gIGNvbnN0IG1ldGFKU09OID0ge1xuICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgcmVwb3NpdG9yeSxcbiAgICAgICAgICBkZXBlbmRlbmNpZXNcbiAgICAgICAgfSxcbiAgICAgICAgbWV0YUpTT05TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShtZXRhSlNPTiwgbnVsbCwgRE9VQkxFX1NQQUNFKSxcbiAgICAgICAgbWV0YUpTT05GaWxlQ29udGVudCA9IG1ldGFKU09OU3RyaW5nOyAvLy9cblxuICBtZXRhSlNPTkZpbGUuc2V0Q29udGVudChtZXRhSlNPTkZpbGVDb250ZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSB7XG4gIGxldCBkb2N1bWVudE5vZGUgPSBudWxsO1xuXG4gIGlmIChtZXRhSlNPTkZpbGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb250ZW50ID0gbWV0YUpTT05GaWxlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICB0b2tlbnMgPSBqc29uTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IGpzb25QYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIGRvY3VtZW50Tm9kZSA9IG5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBkb2N1bWVudE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJzaW9uRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgbGV0IHZlcnNpb24gPSBudWxsO1xuXG4gIGNvbnN0IGRvY3VtZW50UHJvcGVydHlOb2RlcyA9IGRvY3VtZW50UHJvcGVydHlOb2Rlc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBkb2N1bWVudFByb3BlcnR5Tm9kZXMuc29tZSgoZG9jdW1lbnRQcm9wZXJ0eU5vZGUpID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0eU5vZGUgPSBkb2N1bWVudFByb3BlcnR5Tm9kZSwgIC8vL1xuICAgICAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKTtcblxuICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09IFZFUlNJT05fUFJPUEVSVFlfTkFNRSkge1xuICAgICAgY29uc3Qgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSksXG4gICAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZ1ZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1ZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgaWYgKHN0cmluZ1ZlcnNpb25TdHJpbmcpIHtcbiAgICAgICAgdmVyc2lvbiA9IFZlcnNpb24uZnJvbVN0cmluZyhzdHJpbmcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSB7XG4gIGxldCByZXBvc2l0b3J5ID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBSRVBPU0lUT1JZX1BST1BFUlRZX05BTUUpIHtcbiAgICAgIGNvbnN0IHN0cmluZ1Byb3BlcnR5VmFsdWUgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpO1xuXG4gICAgICByZXBvc2l0b3J5ID0gc3RyaW5nUHJvcGVydHlWYWx1ZTsgIC8vL1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXBvc2l0b3J5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgbGV0IGRlcGVuZGVuY2llcyA9IG51bGw7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGlmIChkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUgIT09IG51bGwpIHtcbiAgICBkZXBlbmRlbmNpZXMgPSBEZXBlbmRlbmNpZXMuZnJvbU5vdGhpbmcoKTtcblxuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSwgIC8vL1xuICAgICAgICAgIHByb3BlcnR5Tm9kZXMgPSBwcm9wZXJ0eU5vZGVzUXVlcnkocHJvcGVydHlOb2RlKTtcblxuICAgIHByb3BlcnR5Tm9kZXMucmVkdWNlKChwcm9wZXJ0eU5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHN0cmluZ1Byb3BlcnR5VmFsdWUgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nUHJvcGVydHlWYWx1ZSwgLy8vXG4gICAgICAgICAgICBzdHJpbmdTaG9ydGVuZWRWZXJzaW9uU3RyaW5nID0gaXNTdHJpbmdTaG9ydGVuZWRWZXJzaW9uU3RyaW5nKHN0cmluZyk7XG5cbiAgICAgIGlmIChzdHJpbmdTaG9ydGVuZWRWZXJzaW9uU3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKSxcbiAgICAgICAgICAgICAgbmFtZSA9IHByb3BlcnR5TmFtZSwgIC8vL1xuICAgICAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gU2hvcnRlbmVkVmVyc2lvbi5mcm9tU3RyaW5nKHN0cmluZyksXG4gICAgICAgICAgICAgIGRlcGVuZGVuY3kgPSBEZXBlbmRlbmN5LmZyb21OYW1lQW5kU2hvcnRlbmVkVmVyc2lvbihuYW1lLCBzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgICAgICBkZXBlbmRlbmNpZXMuYWRkRGVwZW5kZW5jeShkZXBlbmRlbmN5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkZXBlbmRlbmNpZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRlbmN5TmFtZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgZGVwZW5kZW5jeU5hbWVzID0gbnVsbDtcblxuICBjb25zdCBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUgPSBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGVGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgaWYgKGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSAhPT0gbnVsbCkge1xuICAgIGRlcGVuZGVuY3lOYW1lcyA9IFtdO1xuXG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHlOb2RlcyA9IHByb3BlcnR5Tm9kZXNRdWVyeShwcm9wZXJ0eU5vZGUpO1xuXG4gICAgcHJvcGVydHlOb2Rlcy5yZWR1Y2UoKHByb3BlcnR5Tm9kZSkgPT4ge1xuICAgICAgY29uc3Qgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSksXG4gICAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgaWYgKHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IHByb3BlcnR5TmFtZTsgIC8vL1xuXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lcy5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY3lOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkZXBlbmRlbmN5TmFtZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaXNNZXRhSlNPTkZpbGVWYWxpZCxcbiAgdXBkYXRlTWV0YUpTT05GaWxlVmVyc2lvbixcbiAgZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZSxcbiAgdmVyc2lvbkZyb21Eb2N1bWVudE5vZGUsXG4gIHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlLFxuICBkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlLFxuICBkZXBlbmRlbmN5TmFtZXNGcm9tRG9jdW1lbnROb2RlXG59O1xuXG5mdW5jdGlvbiBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSkge1xuICBjb25zdCBwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGUgPSBwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGVRdWVyeShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICBwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gcHJvcGVydHlOYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgcHJvcGVydHlOYW1lID0gdHJpbURvdWJsZVF1b3Rlcyhwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGVDb250ZW50KTsgLy8vXG5cbiAgcmV0dXJuIHByb3BlcnR5TmFtZTtcbn1cblxuZnVuY3Rpb24gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKSB7XG4gIGNvbnN0IHByb3BlcnR5VmFsdWVUZXJtaW5hbE5vZGUgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlVGVybWluYWxOb2RlUXVlcnkocHJvcGVydHlOb2RlKSxcbiAgICAgICAgcHJvcGVydHlWYWx1ZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSBwcm9wZXJ0eVZhbHVlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHRyaW1Eb3VibGVRdW90ZXMocHJvcGVydHlWYWx1ZVRlcm1pbmFsTm9kZUNvbnRlbnQpOyAvLy9cblxuICByZXR1cm4gc3RyaW5nUHJvcGVydHlWYWx1ZTtcbn1cblxuZnVuY3Rpb24gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgY29uc3QgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzUXVlcnkoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzO1xufVxuXG5mdW5jdGlvbiBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGVGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBERVBFTkRFTkNJRVNfUFJPUEVSVFlfTkFNRSkge1xuICAgICAgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gcHJvcGVydHlOb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlIiwiZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZSIsImRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUiLCJpc01ldGFKU09ORmlsZVZhbGlkIiwicmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUiLCJ1cGRhdGVNZXRhSlNPTkZpbGVWZXJzaW9uIiwidmVyc2lvbkZyb21Eb2N1bWVudE5vZGUiLCJqc29uTGV4ZXIiLCJKU09OTGV4ZXIiLCJmcm9tTm90aGluZyIsImpzb25QYXJzZXIiLCJKU09OUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb3BlcnR5Tm9kZXNRdWVyeSIsIm5vZGVRdWVyeSIsImRvY3VtZW50UHJvcGVydHlOb2Rlc1F1ZXJ5IiwicHJvcGVydHlOYW1lVGVybWluYWxOb2RlUXVlcnkiLCJzdHJpbmdQcm9wZXJ0eVZhbHVlVGVybWluYWxOb2RlUXVlcnkiLCJtZXRhSlNPTkZpbGUiLCJtZXRhSlNPTkZpbGVWYWxpZCIsImRvY3VtZW50Tm9kZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwidmVyc2lvbiIsInJlcG9zaXRvcnkiLCJkZXBlbmRlbmNpZXMiLCJzdHJpbmciLCJ0b1N0cmluZyIsImRlcGVuZGVuY2llc0pTT04iLCJ0b0pTT04iLCJtZXRhSlNPTiIsIm1ldGFKU09OU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIkRPVUJMRV9TUEFDRSIsIm1ldGFKU09ORmlsZUNvbnRlbnQiLCJzZXRDb250ZW50IiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsImRvY3VtZW50UHJvcGVydHlOb2RlcyIsImRvY3VtZW50UHJvcGVydHlOb2Rlc0Zyb21Eb2N1bWVudE5vZGUiLCJzb21lIiwiZG9jdW1lbnRQcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5hbWUiLCJwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlIiwiVkVSU0lPTl9QUk9QRVJUWV9OQU1FIiwic3RyaW5nUHJvcGVydHlWYWx1ZSIsInN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlIiwic3RyaW5nVmVyc2lvblN0cmluZyIsImlzU3RyaW5nVmVyc2lvblN0cmluZyIsIlZlcnNpb24iLCJmcm9tU3RyaW5nIiwiUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZSIsIkRlcGVuZGVuY2llcyIsInByb3BlcnR5Tm9kZXMiLCJyZWR1Y2UiLCJzdHJpbmdTaG9ydGVuZWRWZXJzaW9uU3RyaW5nIiwiaXNTdHJpbmdTaG9ydGVuZWRWZXJzaW9uU3RyaW5nIiwibmFtZSIsInNob3J0ZW5lZFZlcnNpb24iLCJTaG9ydGVuZWRWZXJzaW9uIiwiZGVwZW5kZW5jeSIsIkRlcGVuZGVuY3kiLCJmcm9tTmFtZUFuZFNob3J0ZW5lZFZlcnNpb24iLCJhZGREZXBlbmRlbmN5IiwiZGVwZW5kZW5jeU5hbWVzIiwiZGVwZW5kZW5jeU5hbWUiLCJwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGUiLCJwcm9wZXJ0eU5hbWVUZXJtaW5hbE5vZGVDb250ZW50IiwidHJpbURvdWJsZVF1b3RlcyIsInByb3BlcnR5VmFsdWVUZXJtaW5hbE5vZGUiLCJwcm9wZXJ0eVZhbHVlVGVybWluYWxOb2RlQ29udGVudCIsIkRFUEVOREVOQ0lFU19QUk9QRVJUWV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEyTEEsT0FRRTtlQVJGOztJQTFEZ0JBLDRCQUE0QjtlQUE1QkE7O0lBOEJBQywrQkFBK0I7ZUFBL0JBOztJQTFGQUMsNEJBQTRCO2VBQTVCQTs7SUE3Q0FDLG1CQUFtQjtlQUFuQkE7O0lBb0ZBQywwQkFBMEI7ZUFBMUJBOztJQS9EQUMseUJBQXlCO2VBQXpCQTs7SUFzQ0FDLHVCQUF1QjtlQUF2QkE7Ozs2QkFqRnNCOzhEQUVsQjtpRUFDRzttRUFDRTt1RUFDSTt5QkFFQTt1QkFDSTtxQkFDSzt3QkFDZ0M7NkJBQ3NCOzs7Ozs7QUFFNUYsSUFBTUMsWUFBWUMsd0JBQVMsQ0FBQ0MsV0FBVyxJQUNqQ0MsYUFBYUMseUJBQVUsQ0FBQ0YsV0FBVztBQUV6QyxJQUFNRyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsWUFDN0JDLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDL0JDLDZCQUE2QkgsSUFBQUEsaUJBQVUsRUFBQyxtQ0FDeENJLGdDQUFnQ0YsSUFBQUEsZ0JBQVMsRUFBQywrQkFDMUNHLHVDQUF1Q0gsSUFBQUEsZ0JBQVMsRUFBQztBQUVoRCxTQUFTWixvQkFBb0JnQixZQUFZO0lBQzlDLElBQUlDLG9CQUFvQjtJQUV4QixJQUFNQyxlQUFlbkIsNkJBQTZCaUI7SUFFbEQsSUFBSUUsaUJBQWlCLE1BQU07UUFDekIsSUFBTUMsYUFBYVYsZ0JBQWdCUyxlQUM3QkUsbUJBQW1CRCxXQUFXRSxNQUFNO1FBRTFDLElBQUlELHFCQUFxQixHQUFHO1lBQzFCLElBQU1FLFVBQVVuQix3QkFBd0JlLGVBQ2xDSyxhQUFhdEIsMkJBQTJCaUIsZUFDeENNLGVBQWUzQiw2QkFBNkJxQjtZQUVsREQsb0JBQXFCLEFBQUNLLFlBQVksUUFBVUMsZUFBZSxRQUFVQyxpQkFBaUI7UUFDeEY7SUFDRjtJQUVBLE9BQU9QO0FBQ1Q7QUFFTyxTQUFTZiwwQkFBMEJjLFlBQVksRUFBRU0sT0FBTztJQUM3RCxJQUFNSixlQUFlbkIsNkJBQTZCaUIsZUFDNUNPLGFBQWF0QiwyQkFBMkJpQjtJQUU5QyxJQUFJTSxlQUFlM0IsNkJBQTZCcUI7SUFFaEQsSUFBTU8sU0FBU0gsUUFBUUksUUFBUSxJQUN6QkMsbUJBQW1CSCxhQUFhSSxNQUFNO0lBRTVDTixVQUFVRyxRQUFTLEdBQUc7SUFFdEJELGVBQWVHLGtCQUFtQixHQUFHO0lBRXJDLElBQU1FLFdBQVc7UUFDVFAsU0FBQUE7UUFDQUMsWUFBQUE7UUFDQUMsY0FBQUE7SUFDRixHQUNBTSxpQkFBaUJDLEtBQUtDLFNBQVMsQ0FBQ0gsVUFBVSxNQUFNSSx1QkFBWSxHQUM1REMsc0JBQXNCSixnQkFBZ0IsR0FBRztJQUUvQ2QsYUFBYW1CLFVBQVUsQ0FBQ0Q7QUFDMUI7QUFFTyxTQUFTbkMsNkJBQTZCaUIsWUFBWTtJQUN2RCxJQUFJRSxlQUFlO0lBRW5CLElBQUlGLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1vQixVQUFVcEIsYUFBYXFCLFVBQVUsSUFDakNDLFNBQVNsQyxVQUFVbUMsUUFBUSxDQUFDSCxVQUM1QkksT0FBT2pDLFdBQVdrQyxLQUFLLENBQUNIO1FBRTlCcEIsZUFBZXNCLE1BQU8sR0FBRztJQUMzQjtJQUVBLE9BQU90QjtBQUNUO0FBRU8sU0FBU2Ysd0JBQXdCZSxZQUFZO0lBQ2xELElBQUlJLFVBQVU7SUFFZCxJQUFNb0Isd0JBQXdCQyxzQ0FBc0N6QjtJQUVwRXdCLHNCQUFzQkUsSUFBSSxDQUFDLFNBQUNDO1FBQzFCLElBQU1DLGVBQWVELHNCQUNmRSxlQUFlQyw2QkFBNkJGO1FBRWxELElBQUlDLGlCQUFpQkUsb0NBQXFCLEVBQUU7WUFDMUMsSUFBTUMsc0JBQXNCQyxvQ0FBb0NMLGVBQzFEckIsU0FBU3lCLHFCQUNURSxzQkFBc0JDLElBQUFBLCtCQUFxQixFQUFDNUI7WUFFbEQsSUFBSTJCLHFCQUFxQjtnQkFDdkI5QixVQUFVZ0MsZ0JBQU8sQ0FBQ0MsVUFBVSxDQUFDOUI7WUFDL0I7WUFFQSxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9IO0FBQ1Q7QUFFTyxTQUFTckIsMkJBQTJCaUIsWUFBWTtJQUNyRCxJQUFJSyxhQUFhO0lBRWpCLElBQU1tQix3QkFBd0JDLHNDQUFzQ3pCO0lBRXBFd0Isc0JBQXNCRSxJQUFJLENBQUMsU0FBQ0M7UUFDMUIsSUFBTUMsZUFBZUQsc0JBQ2ZFLGVBQWVDLDZCQUE2QkY7UUFFbEQsSUFBSUMsaUJBQWlCUyx1Q0FBd0IsRUFBRTtZQUM3QyxJQUFNTixzQkFBc0JDLG9DQUFvQ0w7WUFFaEV2QixhQUFhMkIscUJBQXNCLEdBQUc7WUFFdEMsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPM0I7QUFDVDtBQUVPLFNBQVMxQiw2QkFBNkJxQixZQUFZO0lBQ3ZELElBQUlNLGVBQWU7SUFFbkIsSUFBTWlDLDJCQUEyQkMseUNBQXlDeEM7SUFFMUUsSUFBSXVDLDZCQUE2QixNQUFNO1FBQ3JDakMsZUFBZW1DLHFCQUFZLENBQUNyRCxXQUFXO1FBRXZDLElBQU13QyxlQUFlVywwQkFDZkcsZ0JBQWdCakQsbUJBQW1CbUM7UUFFekNjLGNBQWNDLE1BQU0sQ0FBQyxTQUFDZjtZQUNwQixJQUFNSSxzQkFBc0JDLG9DQUFvQ0wsZUFDMURyQixTQUFTeUIscUJBQ1RZLCtCQUErQkMsSUFBQUEsd0NBQThCLEVBQUN0QztZQUVwRSxJQUFJcUMsOEJBQThCO2dCQUNoQyxJQUFNZixlQUFlQyw2QkFBNkJGLGVBQzVDa0IsT0FBT2pCLGNBQ1BrQixtQkFBbUJDLHlCQUFnQixDQUFDWCxVQUFVLENBQUM5QixTQUMvQzBDLGFBQWFDLG1CQUFVLENBQUNDLDJCQUEyQixDQUFDTCxNQUFNQztnQkFFaEV6QyxhQUFhOEMsYUFBYSxDQUFDSDtZQUM3QjtRQUNGO0lBQ0Y7SUFFQSxPQUFPM0M7QUFDVDtBQUVPLFNBQVMxQixnQ0FBZ0NvQixZQUFZO0lBQzFELElBQUlxRCxrQkFBa0I7SUFFdEIsSUFBTWQsMkJBQTJCQyx5Q0FBeUN4QztJQUUxRSxJQUFJdUMsNkJBQTZCLE1BQU07UUFDckNjLGtCQUFrQixFQUFFO1FBRXBCLElBQU16QixlQUFlVywwQkFDZkcsZ0JBQWdCakQsbUJBQW1CbUM7UUFFekNjLGNBQWNDLE1BQU0sQ0FBQyxTQUFDZjtZQUNwQixJQUFNSSxzQkFBc0JDLG9DQUFvQ0wsZUFDMURyQixTQUFTeUIscUJBQ1RZLCtCQUErQkMsSUFBQUEsd0NBQThCLEVBQUN0QztZQUVwRSxJQUFJcUMsOEJBQThCO2dCQUNoQyxJQUFNZixlQUFlQyw2QkFBNkJGLGVBQzVDMEIsaUJBQWlCekIsY0FBZSxHQUFHO2dCQUV6Q3dCLGdCQUFnQkQsYUFBYSxDQUFDRTtZQUNoQztRQUNGO0lBQ0Y7SUFFQSxPQUFPRDtBQUNUO0lBRUEsV0FBZTtJQUNidkUscUJBQUFBO0lBQ0FFLDJCQUFBQTtJQUNBSCw4QkFBQUE7SUFDQUkseUJBQUFBO0lBQ0FGLDRCQUFBQTtJQUNBSiw4QkFBQUE7SUFDQUMsaUNBQUFBO0FBQ0Y7QUFFQSxTQUFTa0QsNkJBQTZCRixZQUFZO0lBQ2hELElBQU0yQiwyQkFBMkIzRCw4QkFBOEJnQyxlQUN6RDRCLGtDQUFrQ0QseUJBQXlCcEMsVUFBVSxJQUNyRVUsZUFBZTRCLElBQUFBLHlCQUFnQixFQUFDRCxrQ0FBa0MsR0FBRztJQUUzRSxPQUFPM0I7QUFDVDtBQUVBLFNBQVNJLG9DQUFvQ0wsWUFBWTtJQUN2RCxJQUFNOEIsNEJBQTRCN0QscUNBQXFDK0IsZUFDakUrQixtQ0FBbUNELDBCQUEwQnZDLFVBQVUsSUFDdkVhLHNCQUFzQnlCLElBQUFBLHlCQUFnQixFQUFDRSxtQ0FBbUMsR0FBRztJQUVuRixPQUFPM0I7QUFDVDtBQUVBLFNBQVNQLHNDQUFzQ3pCLFlBQVk7SUFDekQsSUFBTXdCLHdCQUF3QjdCLDJCQUEyQks7SUFFekQsT0FBT3dCO0FBQ1Q7QUFFQSxTQUFTZ0IseUNBQXlDeEMsWUFBWTtJQUM1RCxJQUFJdUMsMkJBQTJCO0lBRS9CLElBQU1mLHdCQUF3QkMsc0NBQXNDekI7SUFFcEV3QixzQkFBc0JFLElBQUksQ0FBQyxTQUFDQztRQUMxQixJQUFNQyxlQUFlRCxzQkFDZkUsZUFBZUMsNkJBQTZCRjtRQUVsRCxJQUFJQyxpQkFBaUIrQix5Q0FBMEIsRUFBRTtZQUMvQ3JCLDJCQUEyQlgsY0FBZSxHQUFHO1lBRTdDLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT1c7QUFDVCJ9
@@ -0,0 +1,26 @@
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
+ isStringShortenedVersionString: function() {
13
+ return isStringShortenedVersionString;
14
+ },
15
+ isStringVersionString: function() {
16
+ return isStringVersionString;
17
+ }
18
+ });
19
+ function isStringVersionString(string) {
20
+ return /(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))/.test(string);
21
+ }
22
+ function isStringShortenedVersionString(string) {
23
+ return /(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))/.test(string);
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFsaWRhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ1ZlcnNpb25TdHJpbmcoc3RyaW5nKSB7IHJldHVybiAvKD86MHwoWzEtOV1cXGQqKSlcXC4oPzowfChbMS05XVxcZCopKVxcLig/OjB8KFsxLTldXFxkKikpLy50ZXN0KHN0cmluZyk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZyhzdHJpbmcpIHsgcmV0dXJuIC8oPzowfChbMS05XVxcZCopKVxcLig/OjB8KFsxLTldXFxkKikpLy50ZXN0KHN0cmluZyk7IH1cbiJdLCJuYW1lcyI6WyJpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmciLCJpc1N0cmluZ1ZlcnNpb25TdHJpbmciLCJzdHJpbmciLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFJZ0JBLDhCQUE4QjtlQUE5QkE7O0lBRkFDLHFCQUFxQjtlQUFyQkE7OztBQUFULFNBQVNBLHNCQUFzQkMsTUFBTTtJQUFJLE9BQU8sdURBQXVEQyxJQUFJLENBQUNEO0FBQVM7QUFFckgsU0FBU0YsK0JBQStCRSxNQUFNO0lBQUksT0FBTyxxQ0FBcUNDLElBQUksQ0FBQ0Q7QUFBUyJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-entities",
3
3
  "author": "James Smith",
4
- "version": "1.0.113",
4
+ "version": "1.0.115",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-entities",
7
7
  "description": "Occam's entities.",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^14.0.1",
14
- "occam-grammars": "^1.0.664",
14
+ "occam-grammars": "^1.0.666",
15
15
  "occam-query": "^3.1.174"
16
16
  },
17
17
  "devDependencies": {
@@ -1,39 +1,35 @@
1
1
  "use strict";
2
2
 
3
- import { versionFromNode, repositoryFromNode, dependenciesFromNode, dependencyNamesFromNode, metaJSONNodeFromMetaJSONFile } from "../utilities/metaJSON";
3
+ import { versionFromDocumentNode, repositoryFromDocumentNode, dependenciesFromDocumentNode, dependencyNamesFromDocumentNode, documentNodeFromMetaJSONFile } from "../utilities/metaJSON";
4
4
 
5
5
  function getVersion() {
6
6
  const metaJSONFile = this.getMetaJSONFile(),
7
- metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile),
8
- node = metaJSONNode, ///
9
- version = versionFromNode(node);
7
+ documentNode = documentNodeFromMetaJSONFile(metaJSONFile),
8
+ version = versionFromDocumentNode(documentNode);
10
9
 
11
10
  return version;
12
11
  }
13
12
 
14
13
  function getRepository() {
15
14
  const metaJSONFile = this.getMetaJSONFile(),
16
- metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile),
17
- node = metaJSONNode, ///
18
- repository = repositoryFromNode(node);
15
+ documentNode = documentNodeFromMetaJSONFile(metaJSONFile),
16
+ repository = repositoryFromDocumentNode(documentNode);
19
17
 
20
18
  return repository;
21
19
  }
22
20
 
23
21
  function getDependencies() {
24
22
  const metaJSONFile = this.getMetaJSONFile(),
25
- metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile),
26
- node = metaJSONNode, ///
27
- dependencies = dependenciesFromNode(node);
23
+ documentNode = documentNodeFromMetaJSONFile(metaJSONFile),
24
+ dependencies = dependenciesFromDocumentNode(documentNode);
28
25
 
29
26
  return dependencies;
30
27
  }
31
28
 
32
29
  function getDependencyNames() {
33
30
  const metaJSONFile = this.getMetaJSONFile(),
34
- metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile),
35
- node = metaJSONNode, ///
36
- dependencyNames = dependencyNamesFromNode(node);
31
+ documentNode = documentNodeFromMetaJSONFile(metaJSONFile),
32
+ dependencyNames = dependencyNamesFromDocumentNode(documentNode);
37
33
 
38
34
  return dependencyNames;
39
35
  }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export const VERSION_PROPERTY_NAME = "version";
4
+ export const REPOSITORY_PROPERTY_NAME = "repository";
5
+ export const DEPENDENCIES_PROPERTY_NAME = "dependencies";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { MetaJSONLexer, MetaJSONParser } from "occam-grammars";
3
+ import { JSONLexer, JSONParser } from "occam-grammars";
4
4
 
5
5
  import Version from "../version";
6
6
  import Dependency from "../dependency";
@@ -10,104 +10,47 @@ import ShortenedVersion from "../shortenedVersion";
10
10
  import { DOUBLE_SPACE } from "../constants";
11
11
  import { trimDoubleQuotes } from "../utilities/content";
12
12
  import { nodeQuery, nodesQuery } from "../utilities/query";
13
+ import { isStringVersionString, isStringShortenedVersionString } from "../utilities/validate";
14
+ import { VERSION_PROPERTY_NAME, REPOSITORY_PROPERTY_NAME, DEPENDENCIES_PROPERTY_NAME } from "../propertyNames";
13
15
 
14
- const metaJSONLexer = MetaJSONLexer.fromNothing(),
15
- metaJSONParser = MetaJSONParser.fromNothing(),
16
- errorNodesQuery = nodesQuery("//error"),
17
- dependencyNodesQuery = nodesQuery("//dependencies/dependency"),
18
- repositoryTerminalNodeQuery = nodeQuery("//repository!/@*!"),
19
- versionNumberTerminalNodeQuery = nodeQuery("//version!/versionNumber!/@*!"),
20
- dependencyNameTerminalNodeQuery = nodeQuery("/dependency/name!/@*!"),
21
- shortenedVersionNumberTerminalNodeQuery = nodeQuery("//dependency/shortenedVersionNumber/@*!");
16
+ const jsonLexer = JSONLexer.fromNothing(),
17
+ jsonParser = JSONParser.fromNothing();
22
18
 
23
- export function versionFromNode(node) {
24
- let version = null;
25
-
26
- if (node !== null) {
27
- const versionNumberTerminalNode = versionNumberTerminalNodeQuery(node),
28
- versionNumberTerminalNodeContent = versionNumberTerminalNode.getContent(),
29
- string = trimDoubleQuotes(versionNumberTerminalNodeContent); //
30
-
31
- version = Version.fromString(string);
32
- }
33
-
34
- return version;
35
- }
36
-
37
- export function repositoryFromNode(node) {
38
- let repository = null;
39
-
40
- if (node !== null) {
41
- const repositoryTerminalNode = repositoryTerminalNodeQuery(node),
42
- repositoryTerminalNodeContent = repositoryTerminalNode.getContent();
43
-
44
- repository = trimDoubleQuotes(repositoryTerminalNodeContent); //
45
- }
46
-
47
- return repository;
48
- }
19
+ const errorNodesQuery = nodesQuery("//error"),
20
+ propertyNodesQuery = nodeQuery("/property/json/object/property"),
21
+ documentPropertyNodesQuery = nodesQuery("/document/json/object/property"),
22
+ propertyNameTerminalNodeQuery = nodeQuery("/property/@string-literal!"),
23
+ stringPropertyValueTerminalNodeQuery = nodeQuery("/property/json/@string-literal!");
49
24
 
50
25
  export function isMetaJSONFileValid(metaJSONFile) {
51
26
  let metaJSONFileValid = false;
52
27
 
53
- const metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile);
28
+ const documentNode = documentNodeFromMetaJSONFile(metaJSONFile);
54
29
 
55
- if (metaJSONNode !== null) {
56
- const node = metaJSONNode, ///
57
- errorNodes = errorNodesQuery(node),
30
+ if (documentNode !== null) {
31
+ const errorNodes = errorNodesQuery(documentNode),
58
32
  errorNodesLength = errorNodes.length;
59
33
 
60
34
  if (errorNodesLength === 0) {
61
- metaJSONFileValid = true;
35
+ const version = versionFromDocumentNode(documentNode),
36
+ repository = repositoryFromDocumentNode(documentNode),
37
+ dependencies = dependenciesFromDocumentNode(documentNode);
38
+
39
+ metaJSONFileValid = ((version !== null) && (repository !== null) && (dependencies !== null));
62
40
  }
63
41
  }
64
42
 
65
43
  return metaJSONFileValid;
66
44
  }
67
45
 
68
- export function dependenciesFromNode(node) {
69
- const dependencies = Dependencies.fromNothing();
70
-
71
- if (node !== null) {
72
- const dependencyNodes = dependencyNodesQuery(node);
73
-
74
- dependencyNodes.forEach((dependencyNode) => {
75
- const dependencyNameTerminalNode = dependencyNameTerminalNodeQuery(dependencyNode),
76
- shortenedVersionNumberTerminalNode = shortenedVersionNumberTerminalNodeQuery(dependencyNode),
77
- dependencyNameTerminalNodeContent = dependencyNameTerminalNode.getContent(),
78
- shortenedVersionNumberTerminalNodeContent = shortenedVersionNumberTerminalNode.getContent(),
79
- string = trimDoubleQuotes(shortenedVersionNumberTerminalNodeContent), ///
80
- name = trimDoubleQuotes(dependencyNameTerminalNodeContent),///
81
- shortenedVersion = ShortenedVersion.fromString(string),
82
- dependency = Dependency.fromNameAndShortenedVersion(name, shortenedVersion);
83
-
84
- dependencies.addDependency(dependency);
85
- });
86
- }
87
-
88
- return dependencies;
89
- }
90
-
91
- export function dependencyNamesFromNode(node) {
92
- const dependencies = dependenciesFromNode(node),
93
- dependencyNames = dependencies.mapDependency((dependency) => {
94
- const dependencyName = dependency.getName();
95
-
96
- return dependencyName;
97
- });
98
-
99
- return dependencyNames;
100
- }
101
-
102
46
  export function updateMetaJSONFileVersion(metaJSONFile, version) {
103
- const metaJSONNode = metaJSONNodeFromMetaJSONFile(metaJSONFile),
104
- node = metaJSONNode, ///
105
- repository = repositoryFromNode(node);
47
+ const documentNode = documentNodeFromMetaJSONFile(metaJSONFile),
48
+ repository = repositoryFromDocumentNode(documentNode);
106
49
 
107
- let dependencies = dependenciesFromNode(node);
50
+ let dependencies = dependenciesFromDocumentNode(documentNode);
108
51
 
109
52
  const string = version.toString(),
110
- dependenciesJSON = dependencies.toJSON();
53
+ dependenciesJSON = dependencies.toJSON();
111
54
 
112
55
  version = string; ///
113
56
 
@@ -124,26 +67,171 @@ export function updateMetaJSONFileVersion(metaJSONFile, version) {
124
67
  metaJSONFile.setContent(metaJSONFileContent);
125
68
  }
126
69
 
127
- export function metaJSONNodeFromMetaJSONFile(metaJSONFile) {
128
- let metaJSONNode = null;
70
+ export function documentNodeFromMetaJSONFile(metaJSONFile) {
71
+ let documentNode = null;
129
72
 
130
73
  if (metaJSONFile !== null) {
131
74
  const content = metaJSONFile.getContent(),
132
- tokens = metaJSONLexer.tokenise(content),
133
- node = metaJSONParser.parse(tokens);
75
+ tokens = jsonLexer.tokenise(content),
76
+ node = jsonParser.parse(tokens);
134
77
 
135
- metaJSONNode = node; ///
78
+ documentNode = node; ///
136
79
  }
137
80
 
138
- return metaJSONNode;
81
+ return documentNode;
82
+ }
83
+
84
+ export function versionFromDocumentNode(documentNode) {
85
+ let version = null;
86
+
87
+ const documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
88
+
89
+ documentPropertyNodes.some((documentPropertyNode) => {
90
+ const propertyNode = documentPropertyNode, ///
91
+ propertyName = propertyNameFromPropertyNode(propertyNode);
92
+
93
+ if (propertyName === VERSION_PROPERTY_NAME) {
94
+ const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode),
95
+ string = stringPropertyValue, ///
96
+ stringVersionString = isStringVersionString(string);
97
+
98
+ if (stringVersionString) {
99
+ version = Version.fromString(string);
100
+ }
101
+
102
+ return true;
103
+ }
104
+ });
105
+
106
+ return version;
107
+ }
108
+
109
+ export function repositoryFromDocumentNode(documentNode) {
110
+ let repository = null;
111
+
112
+ const documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
113
+
114
+ documentPropertyNodes.some((documentPropertyNode) => {
115
+ const propertyNode = documentPropertyNode, ///
116
+ propertyName = propertyNameFromPropertyNode(propertyNode);
117
+
118
+ if (propertyName === REPOSITORY_PROPERTY_NAME) {
119
+ const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
120
+
121
+ repository = stringPropertyValue; ///
122
+
123
+ return true;
124
+ }
125
+ });
126
+
127
+ return repository;
128
+ }
129
+
130
+ export function dependenciesFromDocumentNode(documentNode) {
131
+ let dependencies = null;
132
+
133
+ const dependenciesPropertyNode = dependenciesPropertyNodeFromDocumentNode(documentNode);
134
+
135
+ if (dependenciesPropertyNode !== null) {
136
+ dependencies = Dependencies.fromNothing();
137
+
138
+ const propertyNode = dependenciesPropertyNode, ///
139
+ propertyNodes = propertyNodesQuery(propertyNode);
140
+
141
+ propertyNodes.reduce((propertyNode) => {
142
+ const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode),
143
+ string = stringPropertyValue, ///
144
+ stringShortenedVersionString = isStringShortenedVersionString(string);
145
+
146
+ if (stringShortenedVersionString) {
147
+ const propertyName = propertyNameFromPropertyNode(propertyNode),
148
+ name = propertyName, ///
149
+ shortenedVersion = ShortenedVersion.fromString(string),
150
+ dependency = Dependency.fromNameAndShortenedVersion(name, shortenedVersion);
151
+
152
+ dependencies.addDependency(dependency);
153
+ }
154
+ });
155
+ }
156
+
157
+ return dependencies;
158
+ }
159
+
160
+ export function dependencyNamesFromDocumentNode(documentNode) {
161
+ let dependencyNames = null;
162
+
163
+ const dependenciesPropertyNode = dependenciesPropertyNodeFromDocumentNode(documentNode);
164
+
165
+ if (dependenciesPropertyNode !== null) {
166
+ dependencyNames = [];
167
+
168
+ const propertyNode = dependenciesPropertyNode, ///
169
+ propertyNodes = propertyNodesQuery(propertyNode);
170
+
171
+ propertyNodes.reduce((propertyNode) => {
172
+ const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode),
173
+ string = stringPropertyValue, ///
174
+ stringShortenedVersionString = isStringShortenedVersionString(string);
175
+
176
+ if (stringShortenedVersionString) {
177
+ const propertyName = propertyNameFromPropertyNode(propertyNode),
178
+ dependencyName = propertyName; ///
179
+
180
+ dependencyNames.addDependency(dependencyName);
181
+ }
182
+ });
183
+ }
184
+
185
+ return dependencyNames;
139
186
  }
140
187
 
141
188
  export default {
142
- versionFromNode,
143
- repositoryFromNode,
144
189
  isMetaJSONFileValid,
145
- dependenciesFromNode,
146
- dependencyNamesFromNode,
147
190
  updateMetaJSONFileVersion,
148
- metaJSONNodeFromMetaJSONFile
191
+ documentNodeFromMetaJSONFile,
192
+ versionFromDocumentNode,
193
+ repositoryFromDocumentNode,
194
+ dependenciesFromDocumentNode,
195
+ dependencyNamesFromDocumentNode
149
196
  };
197
+
198
+ function propertyNameFromPropertyNode(propertyNode) {
199
+ const propertyNameTerminalNode = propertyNameTerminalNodeQuery(propertyNode),
200
+ propertyNameTerminalNodeContent = propertyNameTerminalNode.getContent(),
201
+ propertyName = trimDoubleQuotes(propertyNameTerminalNodeContent); ///
202
+
203
+ return propertyName;
204
+ }
205
+
206
+ function stringPropertyValueFromPropertyNode(propertyNode) {
207
+ const propertyValueTerminalNode = stringPropertyValueTerminalNodeQuery(propertyNode),
208
+ propertyValueTerminalNodeContent = propertyValueTerminalNode.getContent(),
209
+ stringPropertyValue = trimDoubleQuotes(propertyValueTerminalNodeContent); ///
210
+
211
+ return stringPropertyValue;
212
+ }
213
+
214
+ function documentPropertyNodesFromDocumentNode(documentNode) {
215
+ const documentPropertyNodes = documentPropertyNodesQuery(documentNode);
216
+
217
+ return documentPropertyNodes;
218
+ }
219
+
220
+ function dependenciesPropertyNodeFromDocumentNode(documentNode) {
221
+ let dependenciesPropertyNode = null;
222
+
223
+ const documentPropertyNodes = documentPropertyNodesFromDocumentNode(documentNode);
224
+
225
+ documentPropertyNodes.some((documentPropertyNode) => {
226
+ const propertyNode = documentPropertyNode, ///
227
+ propertyName = propertyNameFromPropertyNode(propertyNode);
228
+
229
+ if (propertyName === DEPENDENCIES_PROPERTY_NAME) {
230
+ dependenciesPropertyNode = propertyNode; ///
231
+
232
+ return true;
233
+ }
234
+ });
235
+
236
+ return dependenciesPropertyNode;
237
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export function isStringVersionString(string) { return /(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))/.test(string); }
4
+
5
+ export function isStringShortenedVersionString(string) { return /(?:0|([1-9]\d*))\.(?:0|([1-9]\d*))/.test(string); }
@@ -1,14 +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 bnf = '\n\n\n document ::= metaJSON error* \n \n | error+ \n \n ;\n\n\n metaJSON ::= "{" \n \n "\\"version\\"" ":" version ","\n \n "\\"repository\\"" ":" repository ","\n \n "\\"dependencies\\"" ":" dependencies \n \n "}" ;\n \n\n version ::= versionNumber ;\n\n\n repository ::= [string-literal] ;\n\n\n dependency. ::= name ":" shortenedVersionNumber ;\n\n\n dependencies ::= "{" \n \n ( dependency ( "," dependency )* )?\n\n "}" ;\n \n\n name ::= [string-literal] ;\n\n\n versionNumber ::= /"(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\"/ ;\n \n \n shortenedVersionNumber ::= /"(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\"/ ;\n \n \n error. ::= . ;\n\n';
12
- var _default = bnf;
13
-
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhSlNPTi9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuXG4gICAgZG9jdW1lbnQgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGFKU09OIGVycm9yKiBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZXJyb3IrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBtZXRhSlNPTiAgICAgICAgICAgICAgICAgIDo6PSAgXCJ7XCIgXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxcXFwidmVyc2lvblxcXFxcIlwiIFwiOlwiIHZlcnNpb24gXCIsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXFxcXCJyZXBvc2l0b3J5XFxcXFwiXCIgXCI6XCIgcmVwb3NpdG9yeSBcIixcIlxuICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXFxcXCJkZXBlbmRlbmNpZXNcXFxcXCJcIiBcIjpcIiBkZXBlbmRlbmNpZXMgXG4gICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIn1cIiA7XG4gICAgICBcblxuICAgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgOjo9ICB2ZXJzaW9uTnVtYmVyIDtcblxuXG4gICAgcmVwb3NpdG9yeSAgICAgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gO1xuXG5cbiAgICBkZXBlbmRlbmN5LiAgICAgICAgICAgICAgIDo6PSAgbmFtZSBcIjpcIiBzaG9ydGVuZWRWZXJzaW9uTnVtYmVyIDtcblxuXG4gICAgZGVwZW5kZW5jaWVzICAgICAgICAgICAgICA6Oj0gIFwie1wiIFxuICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggZGVwZW5kZW5jeSAoIFwiLFwiIGRlcGVuZGVuY3kgKSogKT9cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIn1cIiA7XG4gICAgICBcblxuICAgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbc3RyaW5nLWxpdGVyYWxdIDtcblxuXG4gICAgdmVyc2lvbk51bWJlciAgICAgICAgICAgICA6Oj0gIC9cIig/OjB8KD86WzEtOV1cXFxcZCopKVxcXFwuKD86MHwoPzpbMS05XVxcXFxkKikpXFxcXC4oPzowfCg/OlsxLTldXFxcXGQqKSlcXFxcXCIvIDtcbiAgXG4gIFxuICAgIHNob3J0ZW5lZFZlcnNpb25OdW1iZXIgICAgOjo9ICAvXCIoPzowfCg/OlsxLTldXFxcXGQqKSlcXFxcLig/OjB8KD86WzEtOV1cXFxcZCopKVxcXFxcIi8gO1xuICBcbiAgXG4gICAgZXJyb3IuICAgICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvREE7OztlQUFBOzs7QUFsREEsSUFBTUEsTUFBTztJQWtEYixXQUFlQSJ9
@@ -1,21 +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 entries = [
12
- {
13
- "special": "^(?:,|:|\\[|\\]|\\{|\\})"
14
- },
15
- {
16
- "unassigned": "^[^\\s]+"
17
- }
18
- ];
19
- var _default = entries;
20
-
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhSlNPTi9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuY29uc3QgZW50cmllcyA9IFtcclxuICB7XHJcbiAgICBcInNwZWNpYWxcIjogXCJeKD86LHw6fFxcXFxbfFxcXFxdfFxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeW15cXFxcc10rXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7QUFUQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtJQUVELFdBQWVBIn0=
@@ -1,159 +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 MetaJSONLexer;
9
- }
10
- });
11
- var _occamlexers = require("occam-lexers");
12
- var _entries = /*#__PURE__*/ _interop_require_default(require("./entries"));
13
- var _lexer = /*#__PURE__*/ _interop_require_default(require("../common/lexer"));
14
- function _assert_this_initialized(self) {
15
- if (self === void 0) {
16
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
- }
18
- return self;
19
- }
20
- function _class_call_check(instance, Constructor) {
21
- if (!(instance instanceof Constructor)) {
22
- throw new TypeError("Cannot call a class as a function");
23
- }
24
- }
25
- function _defineProperties(target, props) {
26
- for(var i = 0; i < props.length; i++){
27
- var descriptor = props[i];
28
- descriptor.enumerable = descriptor.enumerable || false;
29
- descriptor.configurable = true;
30
- if ("value" in descriptor) descriptor.writable = true;
31
- Object.defineProperty(target, descriptor.key, descriptor);
32
- }
33
- }
34
- function _create_class(Constructor, protoProps, staticProps) {
35
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
36
- if (staticProps) _defineProperties(Constructor, staticProps);
37
- return Constructor;
38
- }
39
- function _define_property(obj, key, value) {
40
- if (key in obj) {
41
- Object.defineProperty(obj, key, {
42
- value: value,
43
- enumerable: true,
44
- configurable: true,
45
- writable: true
46
- });
47
- } else {
48
- obj[key] = value;
49
- }
50
- return obj;
51
- }
52
- function _get_prototype_of(o) {
53
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
54
- return o.__proto__ || Object.getPrototypeOf(o);
55
- };
56
- return _get_prototype_of(o);
57
- }
58
- function _inherits(subClass, superClass) {
59
- if (typeof superClass !== "function" && superClass !== null) {
60
- throw new TypeError("Super expression must either be null or a function");
61
- }
62
- subClass.prototype = Object.create(superClass && superClass.prototype, {
63
- constructor: {
64
- value: subClass,
65
- writable: true,
66
- configurable: true
67
- }
68
- });
69
- if (superClass) _set_prototype_of(subClass, superClass);
70
- }
71
- function _interop_require_default(obj) {
72
- return obj && obj.__esModule ? obj : {
73
- default: obj
74
- };
75
- }
76
- function _possible_constructor_return(self, call) {
77
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
78
- return call;
79
- }
80
- return _assert_this_initialized(self);
81
- }
82
- function _set_prototype_of(o, p) {
83
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
84
- o.__proto__ = p;
85
- return o;
86
- };
87
- return _set_prototype_of(o, p);
88
- }
89
- function _type_of(obj) {
90
- "@swc/helpers - typeof";
91
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
92
- }
93
- function _is_native_reflect_construct() {
94
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
95
- if (Reflect.construct.sham) return false;
96
- if (typeof Proxy === "function") return true;
97
- try {
98
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
99
- return true;
100
- } catch (e) {
101
- return false;
102
- }
103
- }
104
- function _create_super(Derived) {
105
- var hasNativeReflectConstruct = _is_native_reflect_construct();
106
- return function _createSuperInternal() {
107
- var Super = _get_prototype_of(Derived), result;
108
- if (hasNativeReflectConstruct) {
109
- var NewTarget = _get_prototype_of(this).constructor;
110
- result = Reflect.construct(Super, arguments, NewTarget);
111
- } else {
112
- result = Super.apply(this, arguments);
113
- }
114
- return _possible_constructor_return(this, result);
115
- };
116
- }
117
- var MetaJSONLexer = /*#__PURE__*/ function(CommonLexer) {
118
- _inherits(MetaJSONLexer, CommonLexer);
119
- var _super = _create_super(MetaJSONLexer);
120
- function MetaJSONLexer() {
121
- _class_call_check(this, MetaJSONLexer);
122
- return _super.apply(this, arguments);
123
- }
124
- _create_class(MetaJSONLexer, null, [
125
- {
126
- key: "fromNothing",
127
- value: function fromNothing() {
128
- return _lexer.default.fromNothing(MetaJSONLexer);
129
- }
130
- },
131
- {
132
- key: "fromRules",
133
- value: function fromRules(rules) {
134
- return _lexer.default.fromRules(MetaJSONLexer, rules);
135
- }
136
- },
137
- {
138
- key: "fromEntries",
139
- value: function fromEntries(entries) {
140
- return _lexer.default.fromEntries(MetaJSONLexer, entries);
141
- }
142
- }
143
- ]);
144
- return MetaJSONLexer;
145
- }(_lexer.default);
146
- _define_property(MetaJSONLexer, "entries", _entries.default);
147
- _define_property(MetaJSONLexer, "EndOfLineToken", _occamlexers.EndOfLineNonSignificantToken) ///
148
- ;
149
- _define_property(MetaJSONLexer, "WhitespaceToken", _occamlexers.WhitespaceToken);
150
- _define_property(MetaJSONLexer, "EndOfLineCommentToken", null);
151
- _define_property(MetaJSONLexer, "RegularExpressionToken", null);
152
- _define_property(MetaJSONLexer, "SingleLineCommentToken", null);
153
- _define_property(MetaJSONLexer, "EndOfMultiLineCommentToken", null);
154
- _define_property(MetaJSONLexer, "StartOfMultiLineCommentToken", null);
155
- _define_property(MetaJSONLexer, "MiddleOfMultiLineCommentToken", null);
156
- _define_property(MetaJSONLexer, "SinglyQuotedStringLiteralToken", null);
157
- _define_property(MetaJSONLexer, "DoublyQuotedStringLiteralToken", _occamlexers.DoublyQuotedStringLiteralToken);
158
-
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhSlNPTi9sZXhlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IFdoaXRlc3BhY2VUb2tlbixcclxuICAgICAgICAgRW5kT2ZMaW5lTm9uU2lnbmlmaWNhbnRUb2tlbixcclxuICAgICAgICAgRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xyXG5cclxuaW1wb3J0IGVudHJpZXMgZnJvbSBcIi4vZW50cmllc1wiO1xyXG5pbXBvcnQgQ29tbW9uTGV4ZXIgZnJvbSBcIi4uL2NvbW1vbi9sZXhlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YUpTT05MZXhlciBleHRlbmRzIENvbW1vbkxleGVyIHtcclxuICBzdGF0aWMgZW50cmllcyA9IGVudHJpZXM7XHJcblxyXG4gIHN0YXRpYyBFbmRPZkxpbmVUb2tlbiA9IEVuZE9mTGluZU5vblNpZ25pZmljYW50VG9rZW47IC8vL1xyXG5cclxuICBzdGF0aWMgV2hpdGVzcGFjZVRva2VuID0gV2hpdGVzcGFjZVRva2VuO1xyXG5cclxuICBzdGF0aWMgRW5kT2ZMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIFJlZ3VsYXJFeHByZXNzaW9uVG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgU2luZ2xlTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBFbmRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBTdGFydE9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIE1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIFNpbmdseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBEb3VibHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4gPSBEb3VibHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW47XHJcblxyXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21Ob3RoaW5nKE1ldGFKU09OTGV4ZXIpOyB9XHJcblxyXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21SdWxlcyhNZXRhSlNPTkxleGVyLCBydWxlcyk7IH1cclxuXHJcbiAgc3RhdGljIGZyb21FbnRyaWVzKGVudHJpZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21FbnRyaWVzKE1ldGFKU09OTGV4ZXIsIGVudHJpZXMpOyB9XHJcbn1cclxuIl0sIm5hbWVzIjpbIk1ldGFKU09OTGV4ZXIiLCJmcm9tTm90aGluZyIsIkNvbW1vbkxleGVyIiwiZnJvbVJ1bGVzIiwicnVsZXMiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJFbmRPZkxpbmVUb2tlbiIsIkVuZE9mTGluZU5vblNpZ25pZmljYW50VG9rZW4iLCJXaGl0ZXNwYWNlVG9rZW4iLCJFbmRPZkxpbmVDb21tZW50VG9rZW4iLCJSZWd1bGFyRXhwcmVzc2lvblRva2VuIiwiU2luZ2xlTGluZUNvbW1lbnRUb2tlbiIsIkVuZE9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIk1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiU2luZ2x5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIiwiRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzsyQkFMMEI7OERBRTNCOzREQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVULElBQUEsQUFBTUEsOEJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQXVCWkMsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQWdCLE9BQU9DLGNBQVcsQ0FBQ0QsV0FBVyxDQXZCbENEO1lBdUJtRDs7O1lBRS9ERyxLQUFBQTttQkFBUCxTQUFPQSxVQUFVQyxLQUFLO2dCQUFJLE9BQU9GLGNBQVcsQ0FBQ0MsU0FBUyxDQXpCbkNILGVBeUJtREk7WUFBUTs7O1lBRXZFQyxLQUFBQTttQkFBUCxTQUFPQSxZQUFZQyxPQUFPO2dCQUFJLE9BQU9KLGNBQVcsQ0FBQ0csV0FBVyxDQTNCekNMLGVBMkJ5RE07WUFBVTs7O1dBM0JuRU47RUFBc0JFLGNBQVc7QUFDcEQsaUJBRG1CRixlQUNaTSxXQUFVQSxnQkFBTztBQUV4QixpQkFIbUJOLGVBR1pPLGtCQUFpQkMseUNBQTRCLEVBQUUsR0FBRzs7QUFFekQsaUJBTG1CUixlQUtaUyxtQkFBa0JBLDRCQUFlO0FBRXhDLGlCQVBtQlQsZUFPWlUseUJBQXdCO0FBRS9CLGlCQVRtQlYsZUFTWlcsMEJBQXlCO0FBRWhDLGlCQVhtQlgsZUFXWlksMEJBQXlCO0FBRWhDLGlCQWJtQlosZUFhWmEsOEJBQTZCO0FBRXBDLGlCQWZtQmIsZUFlWmMsZ0NBQStCO0FBRXRDLGlCQWpCbUJkLGVBaUJaZSxpQ0FBZ0M7QUFFdkMsaUJBbkJtQmYsZUFtQlpnQixrQ0FBaUM7QUFFeEMsaUJBckJtQmhCLGVBcUJaaUIsa0NBQWlDQSwyQ0FBOEIifQ==
@@ -1,147 +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 MetaJSONParser;
9
- }
10
- });
11
- var _bnf = /*#__PURE__*/ _interop_require_default(require("./bnf"));
12
- var _parser = /*#__PURE__*/ _interop_require_default(require("../common/parser"));
13
- function _assert_this_initialized(self) {
14
- if (self === void 0) {
15
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
- }
17
- return self;
18
- }
19
- function _class_call_check(instance, Constructor) {
20
- if (!(instance instanceof Constructor)) {
21
- throw new TypeError("Cannot call a class as a function");
22
- }
23
- }
24
- function _defineProperties(target, props) {
25
- for(var i = 0; i < props.length; i++){
26
- var descriptor = props[i];
27
- descriptor.enumerable = descriptor.enumerable || false;
28
- descriptor.configurable = true;
29
- if ("value" in descriptor) descriptor.writable = true;
30
- Object.defineProperty(target, descriptor.key, descriptor);
31
- }
32
- }
33
- function _create_class(Constructor, protoProps, staticProps) {
34
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
35
- if (staticProps) _defineProperties(Constructor, staticProps);
36
- return Constructor;
37
- }
38
- function _define_property(obj, key, value) {
39
- if (key in obj) {
40
- Object.defineProperty(obj, key, {
41
- value: value,
42
- enumerable: true,
43
- configurable: true,
44
- writable: true
45
- });
46
- } else {
47
- obj[key] = value;
48
- }
49
- return obj;
50
- }
51
- function _get_prototype_of(o) {
52
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
53
- return o.__proto__ || Object.getPrototypeOf(o);
54
- };
55
- return _get_prototype_of(o);
56
- }
57
- function _inherits(subClass, superClass) {
58
- if (typeof superClass !== "function" && superClass !== null) {
59
- throw new TypeError("Super expression must either be null or a function");
60
- }
61
- subClass.prototype = Object.create(superClass && superClass.prototype, {
62
- constructor: {
63
- value: subClass,
64
- writable: true,
65
- configurable: true
66
- }
67
- });
68
- if (superClass) _set_prototype_of(subClass, superClass);
69
- }
70
- function _interop_require_default(obj) {
71
- return obj && obj.__esModule ? obj : {
72
- default: obj
73
- };
74
- }
75
- function _possible_constructor_return(self, call) {
76
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
77
- return call;
78
- }
79
- return _assert_this_initialized(self);
80
- }
81
- function _set_prototype_of(o, p) {
82
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
83
- o.__proto__ = p;
84
- return o;
85
- };
86
- return _set_prototype_of(o, p);
87
- }
88
- function _type_of(obj) {
89
- "@swc/helpers - typeof";
90
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
91
- }
92
- function _is_native_reflect_construct() {
93
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
94
- if (Reflect.construct.sham) return false;
95
- if (typeof Proxy === "function") return true;
96
- try {
97
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
98
- return true;
99
- } catch (e) {
100
- return false;
101
- }
102
- }
103
- function _create_super(Derived) {
104
- var hasNativeReflectConstruct = _is_native_reflect_construct();
105
- return function _createSuperInternal() {
106
- var Super = _get_prototype_of(Derived), result;
107
- if (hasNativeReflectConstruct) {
108
- var NewTarget = _get_prototype_of(this).constructor;
109
- result = Reflect.construct(Super, arguments, NewTarget);
110
- } else {
111
- result = Super.apply(this, arguments);
112
- }
113
- return _possible_constructor_return(this, result);
114
- };
115
- }
116
- var MetaJSONParser = /*#__PURE__*/ function(CommonParser) {
117
- _inherits(MetaJSONParser, CommonParser);
118
- var _super = _create_super(MetaJSONParser);
119
- function MetaJSONParser() {
120
- _class_call_check(this, MetaJSONParser);
121
- return _super.apply(this, arguments);
122
- }
123
- _create_class(MetaJSONParser, null, [
124
- {
125
- key: "fromNothing",
126
- value: function fromNothing() {
127
- return _parser.default.fromNothing(MetaJSONParser);
128
- }
129
- },
130
- {
131
- key: "fromBNF",
132
- value: function fromBNF(bnf) {
133
- return _parser.default.fromBNF(MetaJSONParser, bnf);
134
- }
135
- },
136
- {
137
- key: "fromRules",
138
- value: function fromRules(rules) {
139
- return _parser.default.fromRules(MetaJSONParser, rules);
140
- }
141
- }
142
- ]);
143
- return MetaJSONParser;
144
- }(_parser.default);
145
- _define_property(MetaJSONParser, "bnf", _bnf.default);
146
-
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhSlNPTi9wYXJzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBibmYgZnJvbSBcIi4vYm5mXCI7XG5pbXBvcnQgQ29tbW9uUGFyc2VyIGZyb20gXCIuLi9jb21tb24vcGFyc2VyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFKU09OUGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBDb21tb25QYXJzZXIuZnJvbU5vdGhpbmcoTWV0YUpTT05QYXJzZXIpOyB9XG5cbiAgc3RhdGljIGZyb21CTkYoYm5mKSB7IHJldHVybiBDb21tb25QYXJzZXIuZnJvbUJORihNZXRhSlNPTlBhcnNlciwgYm5mKTsgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHsgcmV0dXJuIENvbW1vblBhcnNlci5mcm9tUnVsZXMoTWV0YUpTT05QYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIk1ldGFKU09OUGFyc2VyIiwiZnJvbU5vdGhpbmciLCJDb21tb25QYXJzZXIiLCJmcm9tQk5GIiwiYm5mIiwiZnJvbVJ1bGVzIiwicnVsZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBS3FCQTs7OzBEQUhMOzZEQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVWLElBQUEsQUFBTUEsK0JBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUdaQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0MsZUFBWSxDQUFDRCxXQUFXLENBSG5DRDtZQUdxRDs7O1lBRWpFRyxLQUFBQTttQkFBUCxTQUFPQSxRQUFRQyxHQUFHO2dCQUFJLE9BQU9GLGVBQVksQ0FBQ0MsT0FBTyxDQUw5QkgsZ0JBSytDSTtZQUFNOzs7WUFFakVDLEtBQUFBO21CQUFQLFNBQU9BLFVBQVVDLEtBQUs7Z0JBQUksT0FBT0osZUFBWSxDQUFDRyxTQUFTLENBUHBDTCxnQkFPcURNO1lBQVE7OztXQVA3RE47RUFBdUJFLGVBQVk7QUFDdEQsaUJBRG1CRixnQkFDWkksT0FBTUEsWUFBRyJ9
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- const bnf = `
4
-
5
-
6
- document ::= metaJSON error*
7
-
8
- | error+
9
-
10
- ;
11
-
12
-
13
- metaJSON ::= "{"
14
-
15
- "\\"version\\"" ":" version ","
16
-
17
- "\\"repository\\"" ":" repository ","
18
-
19
- "\\"dependencies\\"" ":" dependencies
20
-
21
- "}" ;
22
-
23
-
24
- version ::= versionNumber ;
25
-
26
-
27
- repository ::= [string-literal] ;
28
-
29
-
30
- dependency. ::= name ":" shortenedVersionNumber ;
31
-
32
-
33
- dependencies ::= "{"
34
-
35
- ( dependency ( "," dependency )* )?
36
-
37
- "}" ;
38
-
39
-
40
- name ::= [string-literal] ;
41
-
42
-
43
- versionNumber ::= /"(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\"/ ;
44
-
45
-
46
- shortenedVersionNumber ::= /"(?:0|(?:[1-9]\\d*))\\.(?:0|(?:[1-9]\\d*))\\"/ ;
47
-
48
-
49
- error. ::= . ;
50
-
51
- `;
52
-
53
- export default bnf;
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- const entries = [
4
- {
5
- "special": "^(?:,|:|\\[|\\]|\\{|\\})"
6
- },
7
- {
8
- "unassigned": "^[^\\s]+"
9
- }
10
- ];
11
-
12
- export default entries;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- import { WhitespaceToken,
4
- EndOfLineNonSignificantToken,
5
- DoublyQuotedStringLiteralToken } from "occam-lexers";
6
-
7
- import entries from "./entries";
8
- import CommonLexer from "../common/lexer";
9
-
10
- export default class MetaJSONLexer extends CommonLexer {
11
- static entries = entries;
12
-
13
- static EndOfLineToken = EndOfLineNonSignificantToken; ///
14
-
15
- static WhitespaceToken = WhitespaceToken;
16
-
17
- static EndOfLineCommentToken = null;
18
-
19
- static RegularExpressionToken = null;
20
-
21
- static SingleLineCommentToken = null;
22
-
23
- static EndOfMultiLineCommentToken = null;
24
-
25
- static StartOfMultiLineCommentToken = null;
26
-
27
- static MiddleOfMultiLineCommentToken = null;
28
-
29
- static SinglyQuotedStringLiteralToken = null;
30
-
31
- static DoublyQuotedStringLiteralToken = DoublyQuotedStringLiteralToken;
32
-
33
- static fromNothing() { return CommonLexer.fromNothing(MetaJSONLexer); }
34
-
35
- static fromRules(rules) { return CommonLexer.fromRules(MetaJSONLexer, rules); }
36
-
37
- static fromEntries(entries) { return CommonLexer.fromEntries(MetaJSONLexer, entries); }
38
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- import bnf from "./bnf";
4
- import CommonParser from "../common/parser";
5
-
6
- export default class MetaJSONParser extends CommonParser {
7
- static bnf = bnf;
8
-
9
- static fromNothing() { return CommonParser.fromNothing(MetaJSONParser); }
10
-
11
- static fromBNF(bnf) { return CommonParser.fromBNF(MetaJSONParser, bnf); }
12
-
13
- static fromRules(rules) { return CommonParser.fromRules(MetaJSONParser, rules); }
14
- }