occam-directed-graphs 3.0.30 → 3.0.32

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.
@@ -2,9 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.vertexNamesFromVertexLiterals = vertexNamesFromVertexLiterals;
6
- exports.vertexNamesFromVertices = vertexNamesFromVertices;
7
- exports.forwardsDepthFirstSearch = forwardsDepthFirstSearch;
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
+ vertexNamesFromVertexLiterals: function() {
13
+ return vertexNamesFromVertexLiterals;
14
+ },
15
+ vertexNamesFromVertices: function() {
16
+ return vertexNamesFromVertices;
17
+ },
18
+ forwardsDepthFirstSearch: function() {
19
+ return forwardsDepthFirstSearch;
20
+ }
21
+ });
8
22
  var _necessary = require("necessary");
9
23
  var first = _necessary.arrayUtilities.first, second = _necessary.arrayUtilities.second;
10
24
  function vertexNamesFromVertexLiterals(vertexLiterals) {
@@ -69,4 +83,4 @@ function retrieveForwardsVisitedVertices(vertex, callback, getPredecessorVertice
69
83
  return terminate;
70
84
  }
71
85
 
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVydGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgc2Vjb25kIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnRleE5hbWVzRnJvbVZlcnRleExpdGVyYWxzKHZlcnRleExpdGVyYWxzKSB7XG4gIGNvbnN0IHZlcnRleE5hbWVNYXAgPSB7fTtcblxuICB2ZXJ0ZXhMaXRlcmFscy5mb3JFYWNoKCh2ZXJ0ZXhMaXRlcmFsKSA9PiB7XG4gICAgY29uc3QgZmlyc3RWZXJ0ZXhMaXRlcmFsRWxlbWVudCA9IGZpcnN0KHZlcnRleExpdGVyYWwpLFxuICAgICAgICAgIHZlcnRleE5hbWUgPSBmaXJzdFZlcnRleExpdGVyYWxFbGVtZW50LCAvLy9cbiAgICAgICAgICB2ZXJ0ZXhFeGlzdHMgPSB2ZXJ0ZXhOYW1lTWFwLmhhc093blByb3BlcnR5KHZlcnRleE5hbWUpO1xuXG4gICAgaWYgKCF2ZXJ0ZXhFeGlzdHMpIHtcbiAgICAgIHZlcnRleE5hbWVNYXBbdmVydGV4TmFtZV0gPSB2ZXJ0ZXhOYW1lO1xuICAgIH1cblxuICAgICAgY29uc3Qgc2Vjb25kVmVydGV4TGl0ZXJhbEVsZW1lbnQgPSBzZWNvbmQodmVydGV4TGl0ZXJhbCksXG4gICAgICAgICAgICBhbmNlc3RvclZlcnRleE5hbWVzID0gc2Vjb25kVmVydGV4TGl0ZXJhbEVsZW1lbnQ7IC8vL1xuXG4gICAgYW5jZXN0b3JWZXJ0ZXhOYW1lcy5mb3JFYWNoKChhbmNlc3RvclZlcnRleE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGFuY2VzdG9yVmVydGV4RXhpc3RzID0gdmVydGV4TmFtZU1hcC5oYXNPd25Qcm9wZXJ0eShhbmNlc3RvclZlcnRleE5hbWUpO1xuXG4gICAgICBpZiAoIWFuY2VzdG9yVmVydGV4RXhpc3RzKSB7XG4gICAgICAgIHZlcnRleE5hbWVNYXBbYW5jZXN0b3JWZXJ0ZXhOYW1lXSA9IGFuY2VzdG9yVmVydGV4TmFtZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgdmVydGV4TmFtZU1hcEtleXMgPSBPYmplY3Qua2V5cyh2ZXJ0ZXhOYW1lTWFwKSxcbiAgICAgICAgdmVydGV4TmFtZXMgPSB2ZXJ0ZXhOYW1lTWFwS2V5czsgIC8vL1xuXG4gIHJldHVybiB2ZXJ0ZXhOYW1lcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnRleE5hbWVzRnJvbVZlcnRpY2VzKHZlcnRpY2VzKSB7XG4gIGNvbnN0IHZlcnRleE5hbWVzID0gdmVydGljZXMubWFwKCh2ZXJ0ZXgpID0+IHtcbiAgICBjb25zdCB2ZXJ0ZXhOYW1lID0gdmVydGV4LmdldE5hbWUoKTtcblxuICAgIHJldHVybiB2ZXJ0ZXhOYW1lO1xuICB9KTtcblxuICByZXR1cm4gdmVydGV4TmFtZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0RlcHRoRmlyc3RTZWFyY2godmVydGV4LCBjYWxsYmFjaykge1xuICBjb25zdCB2aXNpdGVkVmVydGljZXMgPSBbXTtcblxuICByZXRyaWV2ZUZvcndhcmRzVmlzaXRlZFZlcnRpY2VzKHZlcnRleCwgKHZpc2l0ZWRWZXJ0ZXgsIGdldFByZWRlY2Vzc29yVmVydGljZXMpID0+IHtcbiAgICBjb25zdCB0ZXJtaW5hdGUgPSBjYWxsYmFjayh2aXNpdGVkVmVydGV4LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTsgIC8vL1xuXG4gICAgdmlzaXRlZFZlcnRpY2VzLnB1c2godmlzaXRlZFZlcnRleCk7XG5cbiAgICByZXR1cm4gdGVybWluYXRlO1xuICB9LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTtcblxuICB2aXNpdGVkVmVydGljZXMuZm9yRWFjaCgodmlzaXRlZFZlcnRleCkgPT4gdmlzaXRlZFZlcnRleC5yZXNldFZpc2l0ZWQoKSk7XG5cbiAgcmV0dXJuIHZpc2l0ZWRWZXJ0aWNlcztcblxuICBmdW5jdGlvbiBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKCkge1xuICAgIGNvbnN0IHByZWRlY2Vzc29yVmVydGljZXMgPSBbXTtcbiAgICBcbiAgICByZXR1cm4gcHJlZGVjZXNzb3JWZXJ0aWNlcztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXRyaWV2ZUZvcndhcmRzVmlzaXRlZFZlcnRpY2VzKHZlcnRleCwgY2FsbGJhY2ssIGdldFByZWRlY2Vzc29yVmVydGljZXMpIHtcbiAgbGV0IHRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gIGlmICh2ZXJ0ZXgudmlzaXRlZCA9PT0gZmFsc2UpIHtcbiAgICB2ZXJ0ZXgudmlzaXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCB2aXNpdGVkVmVydGV4ID0gdmVydGV4OyAgLy8vXG5cbiAgICB0ZXJtaW5hdGUgPSBjYWxsYmFjayh2aXNpdGVkVmVydGV4LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTtcblxuICAgIGlmICh0ZXJtaW5hdGUgIT09IHRydWUpIHtcbiAgICAgIHZpc2l0ZWRWZXJ0ZXguc29tZUltbWVkaWF0ZVN1Y2Nlc3NvclZlcnRleCgoaW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4KSA9PiB7XG4gICAgICAgIHRlcm1pbmF0ZSA9IHJldHJpZXZlRm9yd2FyZHNWaXNpdGVkVmVydGljZXMoaW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4LCBjYWxsYmFjaywgKCkgPT4ge1xuICAgICAgICAgIGxldCBwcmVkZWNlc3NvclZlcnRpY2VzID0gZ2V0UHJlZGVjZXNzb3JWZXJ0aWNlcygpO1xuXG4gICAgICAgICAgY29uc3QgaW1tZWRpYXRlUHJlZGVjZXNzb3JWZXJ0ZXggPSB2ZXJ0ZXgsICAvLy9cbiAgICAgICAgICAgICAgICBwcmVkZWNlc3NvclZlcnRleCA9IGltbWVkaWF0ZVByZWRlY2Vzc29yVmVydGV4OyAvLy9cblxuICAgICAgICAgIHByZWRlY2Vzc29yVmVydGljZXMgPSBwcmVkZWNlc3NvclZlcnRpY2VzLmNvbmNhdChwcmVkZWNlc3NvclZlcnRleCk7XG5cbiAgICAgICAgICByZXR1cm4gcHJlZGVjZXNzb3JWZXJ0aWNlcztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRlcm1pbmF0ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0ZXJtaW5hdGU7XG59XG4iXSwibmFtZXMiOlsidmVydGV4TmFtZXNGcm9tVmVydGV4TGl0ZXJhbHMiLCJ2ZXJ0ZXhOYW1lc0Zyb21WZXJ0aWNlcyIsImZvcndhcmRzRGVwdGhGaXJzdFNlYXJjaCIsImZpcnN0Iiwic2Vjb25kIiwidmVydGV4TGl0ZXJhbHMiLCJ2ZXJ0ZXhOYW1lTWFwIiwiZm9yRWFjaCIsInZlcnRleExpdGVyYWwiLCJmaXJzdFZlcnRleExpdGVyYWxFbGVtZW50IiwidmVydGV4TmFtZSIsInZlcnRleEV4aXN0cyIsImhhc093blByb3BlcnR5Iiwic2Vjb25kVmVydGV4TGl0ZXJhbEVsZW1lbnQiLCJhbmNlc3RvclZlcnRleE5hbWVzIiwiYW5jZXN0b3JWZXJ0ZXhOYW1lIiwiYW5jZXN0b3JWZXJ0ZXhFeGlzdHMiLCJ2ZXJ0ZXhOYW1lTWFwS2V5cyIsIk9iamVjdCIsImtleXMiLCJ2ZXJ0ZXhOYW1lcyIsInZlcnRpY2VzIiwibWFwIiwidmVydGV4IiwiZ2V0TmFtZSIsImNhbGxiYWNrIiwiZ2V0UHJlZGVjZXNzb3JWZXJ0aWNlcyIsInByZWRlY2Vzc29yVmVydGljZXMiLCJ2aXNpdGVkVmVydGljZXMiLCJyZXRyaWV2ZUZvcndhcmRzVmlzaXRlZFZlcnRpY2VzIiwidmlzaXRlZFZlcnRleCIsInRlcm1pbmF0ZSIsInB1c2giLCJyZXNldFZpc2l0ZWQiLCJ2aXNpdGVkIiwic29tZUltbWVkaWF0ZVN1Y2Nlc3NvclZlcnRleCIsImltbWVkaWF0ZVN1Y2Nlc3NvclZlcnRleCIsImltbWVkaWF0ZVByZWRlY2Vzc29yVmVydGV4IiwicHJlZGVjZXNzb3JWZXJ0ZXgiLCJjb25jYXQiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFNSUEsNkJB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
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVydGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgc2Vjb25kIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnRleE5hbWVzRnJvbVZlcnRleExpdGVyYWxzKHZlcnRleExpdGVyYWxzKSB7XG4gIGNvbnN0IHZlcnRleE5hbWVNYXAgPSB7fTtcblxuICB2ZXJ0ZXhMaXRlcmFscy5mb3JFYWNoKCh2ZXJ0ZXhMaXRlcmFsKSA9PiB7XG4gICAgY29uc3QgZmlyc3RWZXJ0ZXhMaXRlcmFsRWxlbWVudCA9IGZpcnN0KHZlcnRleExpdGVyYWwpLFxuICAgICAgICAgIHZlcnRleE5hbWUgPSBmaXJzdFZlcnRleExpdGVyYWxFbGVtZW50LCAvLy9cbiAgICAgICAgICB2ZXJ0ZXhFeGlzdHMgPSB2ZXJ0ZXhOYW1lTWFwLmhhc093blByb3BlcnR5KHZlcnRleE5hbWUpO1xuXG4gICAgaWYgKCF2ZXJ0ZXhFeGlzdHMpIHtcbiAgICAgIHZlcnRleE5hbWVNYXBbdmVydGV4TmFtZV0gPSB2ZXJ0ZXhOYW1lO1xuICAgIH1cblxuICAgICAgY29uc3Qgc2Vjb25kVmVydGV4TGl0ZXJhbEVsZW1lbnQgPSBzZWNvbmQodmVydGV4TGl0ZXJhbCksXG4gICAgICAgICAgICBhbmNlc3RvclZlcnRleE5hbWVzID0gc2Vjb25kVmVydGV4TGl0ZXJhbEVsZW1lbnQ7IC8vL1xuXG4gICAgYW5jZXN0b3JWZXJ0ZXhOYW1lcy5mb3JFYWNoKChhbmNlc3RvclZlcnRleE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGFuY2VzdG9yVmVydGV4RXhpc3RzID0gdmVydGV4TmFtZU1hcC5oYXNPd25Qcm9wZXJ0eShhbmNlc3RvclZlcnRleE5hbWUpO1xuXG4gICAgICBpZiAoIWFuY2VzdG9yVmVydGV4RXhpc3RzKSB7XG4gICAgICAgIHZlcnRleE5hbWVNYXBbYW5jZXN0b3JWZXJ0ZXhOYW1lXSA9IGFuY2VzdG9yVmVydGV4TmFtZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgdmVydGV4TmFtZU1hcEtleXMgPSBPYmplY3Qua2V5cyh2ZXJ0ZXhOYW1lTWFwKSxcbiAgICAgICAgdmVydGV4TmFtZXMgPSB2ZXJ0ZXhOYW1lTWFwS2V5czsgIC8vL1xuXG4gIHJldHVybiB2ZXJ0ZXhOYW1lcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnRleE5hbWVzRnJvbVZlcnRpY2VzKHZlcnRpY2VzKSB7XG4gIGNvbnN0IHZlcnRleE5hbWVzID0gdmVydGljZXMubWFwKCh2ZXJ0ZXgpID0+IHtcbiAgICBjb25zdCB2ZXJ0ZXhOYW1lID0gdmVydGV4LmdldE5hbWUoKTtcblxuICAgIHJldHVybiB2ZXJ0ZXhOYW1lO1xuICB9KTtcblxuICByZXR1cm4gdmVydGV4TmFtZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0RlcHRoRmlyc3RTZWFyY2godmVydGV4LCBjYWxsYmFjaykge1xuICBjb25zdCB2aXNpdGVkVmVydGljZXMgPSBbXTtcblxuICByZXRyaWV2ZUZvcndhcmRzVmlzaXRlZFZlcnRpY2VzKHZlcnRleCwgKHZpc2l0ZWRWZXJ0ZXgsIGdldFByZWRlY2Vzc29yVmVydGljZXMpID0+IHtcbiAgICBjb25zdCB0ZXJtaW5hdGUgPSBjYWxsYmFjayh2aXNpdGVkVmVydGV4LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTsgIC8vL1xuXG4gICAgdmlzaXRlZFZlcnRpY2VzLnB1c2godmlzaXRlZFZlcnRleCk7XG5cbiAgICByZXR1cm4gdGVybWluYXRlO1xuICB9LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTtcblxuICB2aXNpdGVkVmVydGljZXMuZm9yRWFjaCgodmlzaXRlZFZlcnRleCkgPT4gdmlzaXRlZFZlcnRleC5yZXNldFZpc2l0ZWQoKSk7XG5cbiAgcmV0dXJuIHZpc2l0ZWRWZXJ0aWNlcztcblxuICBmdW5jdGlvbiBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKCkge1xuICAgIGNvbnN0IHByZWRlY2Vzc29yVmVydGljZXMgPSBbXTtcbiAgICBcbiAgICByZXR1cm4gcHJlZGVjZXNzb3JWZXJ0aWNlcztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXRyaWV2ZUZvcndhcmRzVmlzaXRlZFZlcnRpY2VzKHZlcnRleCwgY2FsbGJhY2ssIGdldFByZWRlY2Vzc29yVmVydGljZXMpIHtcbiAgbGV0IHRlcm1pbmF0ZSA9IGZhbHNlO1xuXG4gIGlmICh2ZXJ0ZXgudmlzaXRlZCA9PT0gZmFsc2UpIHtcbiAgICB2ZXJ0ZXgudmlzaXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCB2aXNpdGVkVmVydGV4ID0gdmVydGV4OyAgLy8vXG5cbiAgICB0ZXJtaW5hdGUgPSBjYWxsYmFjayh2aXNpdGVkVmVydGV4LCBnZXRQcmVkZWNlc3NvclZlcnRpY2VzKTtcblxuICAgIGlmICh0ZXJtaW5hdGUgIT09IHRydWUpIHtcbiAgICAgIHZpc2l0ZWRWZXJ0ZXguc29tZUltbWVkaWF0ZVN1Y2Nlc3NvclZlcnRleCgoaW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4KSA9PiB7XG4gICAgICAgIHRlcm1pbmF0ZSA9IHJldHJpZXZlRm9yd2FyZHNWaXNpdGVkVmVydGljZXMoaW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4LCBjYWxsYmFjaywgKCkgPT4ge1xuICAgICAgICAgIGxldCBwcmVkZWNlc3NvclZlcnRpY2VzID0gZ2V0UHJlZGVjZXNzb3JWZXJ0aWNlcygpO1xuXG4gICAgICAgICAgY29uc3QgaW1tZWRpYXRlUHJlZGVjZXNzb3JWZXJ0ZXggPSB2ZXJ0ZXgsICAvLy9cbiAgICAgICAgICAgICAgICBwcmVkZWNlc3NvclZlcnRleCA9IGltbWVkaWF0ZVByZWRlY2Vzc29yVmVydGV4OyAvLy9cblxuICAgICAgICAgIHByZWRlY2Vzc29yVmVydGljZXMgPSBwcmVkZWNlc3NvclZlcnRpY2VzLmNvbmNhdChwcmVkZWNlc3NvclZlcnRleCk7XG5cbiAgICAgICAgICByZXR1cm4gcHJlZGVjZXNzb3JWZXJ0aWNlcztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRlcm1pbmF0ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0ZXJtaW5hdGU7XG59XG4iXSwibmFtZXMiOlsidmVydGV4TmFtZXNGcm9tVmVydGV4TGl0ZXJhbHMiLCJ2ZXJ0ZXhOYW1lc0Zyb21WZXJ0aWNlcyIsImZvcndhcmRzRGVwdGhGaXJzdFNlYXJjaCIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJzZWNvbmQiLCJ2ZXJ0ZXhMaXRlcmFscyIsInZlcnRleE5hbWVNYXAiLCJmb3JFYWNoIiwidmVydGV4TGl0ZXJhbCIsImZpcnN0VmVydGV4TGl0ZXJhbEVsZW1lbnQiLCJ2ZXJ0ZXhOYW1lIiwidmVydGV4RXhpc3RzIiwiaGFzT3duUHJvcGVydHkiLCJzZWNvbmRWZXJ0ZXhMaXRlcmFsRWxlbWVudCIsImFuY2VzdG9yVmVydGV4TmFtZXMiLCJhbmNlc3RvclZlcnRleE5hbWUiLCJhbmNlc3RvclZlcnRleEV4aXN0cyIsInZlcnRleE5hbWVNYXBLZXlzIiwiT2JqZWN0Iiwia2V5cyIsInZlcnRleE5hbWVzIiwidmVydGljZXMiLCJtYXAiLCJ2ZXJ0ZXgiLCJnZXROYW1lIiwiY2FsbGJhY2siLCJnZXRQcmVkZWNlc3NvclZlcnRpY2VzIiwicHJlZGVjZXNzb3JWZXJ0aWNlcyIsInZpc2l0ZWRWZXJ0aWNlcyIsInJldHJpZXZlRm9yd2FyZHNWaXNpdGVkVmVydGljZXMiLCJ2aXNpdGVkVmVydGV4IiwidGVybWluYXRlIiwicHVzaCIsInJlc2V0VmlzaXRlZCIsInZpc2l0ZWQiLCJzb21lSW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4IiwiaW1tZWRpYXRlU3VjY2Vzc29yVmVydGV4IiwiaW1tZWRpYXRlUHJlZGVjZXNzb3JWZXJ0ZXgiLCJwcmVkZWNlc3NvclZlcnRleCIsImNvbmNhdCJdLCJtYXBwaW5ncyI6IkFBQUE7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
package/license.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT And Anti-996 Licenses
2
2
 
3
- Copyright (c) 2019 James Smith
3
+ Copyright (c) 2023 James Smith
4
4
 
5
5
  These licenses shall be included in all copies or substantial portions of
6
6
  this software and associated documentation files (the "Software").
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-directed-graphs",
3
3
  "author": "James Smith",
4
- "version": "3.0.30",
4
+ "version": "3.0.32",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-directed-graphs",
7
7
  "description": "Directed graphs comprised of directed acyclic graphs together with cycles.",
@@ -28,6 +28,20 @@ export default class DirectedGraph {
28
28
  return this.directedAcyclicGraph;
29
29
  }
30
30
 
31
+ getVertexNames() { return this.directedAcyclicGraph.getVertexNames(); }
32
+
33
+ getOrderedVertexNames() { return this.directedAcyclicGraph.getOrderedVertexNames(); }
34
+
35
+ addVertexByVertexName(vertexName) { this.directedAcyclicGraph.addVertexByVertexName(vertexName); }
36
+
37
+ isEdgePresentByVertexNames(sourceVertexName, targetVertexName) { return this.directedAcyclicGraph.isEdgePresentByVertexNames(sourceVertexName, targetVertexName); }
38
+
39
+ isVertexPresentByVertexName(vertexName) { return this.directedAcyclicGraph.isVertexPresentByVertexName(vertexName); }
40
+
41
+ getSuccessorVertexNamesByVertexName(vertexName) { return this.directedAcyclicGraph.getSuccessorVertexNamesByVertexName(vertexName); }
42
+
43
+ getPredecessorVertexNamesByVertexName(vertexName) { return this.directedAcyclicGraph.getPredecessorVertexNamesByVertexName(vertexName); }
44
+
31
45
  getImmediatePredecessorVertexNamesByVertexName(vertexName, includeCyclicEdges = false) {
32
46
  const immediatePredecessorVertexNames = this.directedAcyclicGraph.getImmediatePredecessorVertexNamesByVertexName(vertexName);
33
47
 
@@ -66,10 +80,6 @@ export default class DirectedGraph {
66
80
  return immediateSuccessorVertexNames;
67
81
  }
68
82
 
69
- getPredecessorVertexNamesByVertexName(vertexName) { return this.directedAcyclicGraph.getPredecessorVertexNamesByVertexName(vertexName); }
70
-
71
- getSuccessorVertexNamesByVertexName(vertexName) { return this.directedAcyclicGraph.getSuccessorVertexNamesByVertexName(vertexName); }
72
-
73
83
  areCyclesPresentByVertexName(vertexName) {
74
84
  let cyclesPresent = false;
75
85
 
@@ -84,10 +94,6 @@ export default class DirectedGraph {
84
94
  return cyclesPresent;
85
95
  }
86
96
 
87
- isVertexPresentByVertexName(vertexName) { return this.directedAcyclicGraph.isVertexPresentByVertexName(vertexName); }
88
-
89
- isEdgePresentByVertexNames(sourceVertexName, targetVertexName) { return this.directedAcyclicGraph.isEdgePresentByVertexNames(sourceVertexName, targetVertexName); }
90
-
91
97
  getFirstCycleByVertexName(vertexName) {
92
98
  let firstCycle = null;
93
99
 
@@ -160,10 +166,6 @@ export default class DirectedGraph {
160
166
  return firstCycle;
161
167
  }
162
168
 
163
- getVertexNames() { return this.directedAcyclicGraph.getVertexNames(); }
164
-
165
- getOrderedVertexNames() { return this.directedAcyclicGraph.getOrderedVertexNames(); }
166
-
167
169
  areCyclesPresent() {
168
170
  const cyclicEdgesLength = this.cyclicEdges.length,
169
171
  cyclesPresent = (cyclicEdgesLength > 0);
@@ -171,8 +173,6 @@ export default class DirectedGraph {
171
173
  return cyclesPresent;
172
174
  }
173
175
 
174
- addVertexByVertexName(vertexName) { this.directedAcyclicGraph.addVertexByVertexName(vertexName); }
175
-
176
176
  addVerticesByVertexNames(vertexNames) {
177
177
  vertexNames.forEach((vertexName) => this.addVertexByVertexName(vertexName));
178
178
  }