New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@buggyorg/graphtools

Package Overview
Dependencies
Maintainers
1
Versions
68
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@buggyorg/graphtools - npm Package Compare versions

Comparing version 0.2.16 to 0.2.17

160

lib/compoundify.js

@@ -50,2 +50,34 @@ 'use strict';

var contains = function contains(graph, subset) {
var nodes = graph.nodes();
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = subset[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var n = _step2.value;
if (!_lodash2.default.includes(nodes, n)) {
return false;
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return true;
};
var firstMarkedIndex = function firstMarkedIndex(graph, topsort) {

@@ -78,9 +110,9 @@ for (var i = 0; i < topsort.length; i++) {

}
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator2 = graph.successors(elem)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var succ = _step2.value;
for (var _iterator3 = graph.successors(elem)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var succ = _step3.value;

@@ -92,12 +124,12 @@ if (blockedForward(succ, graph, topsort, last)) {

} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError3) {
throw _iteratorError3;
}

@@ -116,9 +148,9 @@ }

}
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator3 = graph.predecessors(elem)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var pred = _step3.value;
for (var _iterator4 = graph.predecessors(elem)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var pred = _step4.value;

@@ -130,12 +162,12 @@ if (blockedBackward(pred, graph, topsort, first)) {

} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError4) {
throw _iteratorError4;
}

@@ -151,9 +183,9 @@ }

var par = graph.parent(subset[0]);
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator4 = subset[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var n = _step4.value;
for (var _iterator5 = subset[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var n = _step5.value;

@@ -165,12 +197,12 @@ if (graph.parent(n) !== par) {

} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError5) {
throw _iteratorError5;
}

@@ -183,5 +215,36 @@ }

// TODO: unfinished
var createLabel = function createLabel(graph, subset, name) {
var label = { id: name, atomic: false, name: name, nodeType: 'process', inputPorts: {}, outputPorts: {} };
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator6 = subset[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var n = _step6.value;
n;
}
} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
}
}
}
return label;
};
function isCompoundable(g, subset) {
var graph = _graphlib2.default.json.read(JSON.parse(JSON.stringify(_graphlib2.default.json.write(g))));
if (!sameParents(graph, subset) || !graph.isCompound()) {
if (!sameParents(graph, subset) || !graph.isCompound() || !contains(graph, subset)) {
return false;

@@ -206,3 +269,2 @@ }

// TODO: Unfinished
function compoundify(g, subset) {

@@ -216,12 +278,14 @@ if (!isCompoundable(g, subset)) {

var graph = _graphlib2.default.json.read(JSON.parse(JSON.stringify(_graphlib2.default.json.write(g))));
markNodes(graph, subset);
var comp = 'comp' + (0, _objectHash2.default)(graph);
graph.setNode(comp);
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
markNodes(graph, subset);
graph.setNode(comp, createLabel(graph, subset, comp));
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator5 = subset[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var n = _step5.value;
for (var _iterator7 = subset[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var n = _step7.value;

@@ -231,12 +295,12 @@ graph.setParent(n, comp);

} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError7) {
throw _iteratorError7;
}

@@ -243,0 +307,0 @@ }

@@ -26,2 +26,4 @@ 'use strict';

exports.getAll = getAll;
exports.portType = portType;
exports.portDirectionType = portDirectionType;

@@ -145,2 +147,17 @@ var _graphlib = require('graphlib');

});
}
function portType(graph, node, port) {
var curNode = graph.node(node);
return _lodash2.default.merge({}, curNode.inputPorts, curNode.outputPorts)[port];
}
function portDirectionType(graph, node, port) {
var curNode = graph.node(node);
if (_lodash2.default.has(curNode.inputPorts, port)) {
return 'inputPorts';
} else if (_lodash2.default.has(curNode.outputPorts, port)) {
return 'outputPorts';
}
throw new Error('The node ' + node + ' does not have a port with the name ' + port);
}

@@ -106,3 +106,5 @@ 'use strict';

var followPorts = pathFn(graph, node.node, node.port);
if (!followPorts || followPorts.length === 0) {
if (!followPorts) {
return [];
} else if (followPorts.length === 0) {
return [[node]];

@@ -109,0 +111,0 @@ }

{
"name": "@buggyorg/graphtools",
"version": "0.2.16",
"version": "0.2.17",
"description": "Tools for processing buggy graphs.",

@@ -22,4 +22,4 @@ "main": "lib/api.js",

"devDependencies": {
"@buggyorg/dupjoin": "^0.1.5",
"@buggyorg/npg-port-remodeler": "^0.1.9",
"@buggyorg/dupjoin": "^0.1.8",
"@buggyorg/npg-port-remodeler": "^0.1.11",
"babel-cli": "^6.4.5",

@@ -26,0 +26,0 @@ "babel-preset-es2015": "^6.3.13",

@@ -11,2 +11,12 @@ import graphlib from 'graphlib'

var contains = function (graph, subset) {
var nodes = graph.nodes()
for (let n of subset) {
if (!_.includes(nodes, n)) {
return false
}
}
return true
}
var firstMarkedIndex = function (graph, topsort) {

@@ -58,5 +68,14 @@ for (let i = 0; i < topsort.length; i++) {

// TODO: unfinished
var createLabel = function (graph, subset, name) {
var label = { id: name, atomic: false, name: name, nodeType: 'process', inputPorts: {}, outputPorts: {} }
for (let n of subset) {
n
}
return label
}
export function isCompoundable (g, subset) {
var graph = graphlib.json.read(JSON.parse(JSON.stringify(graphlib.json.write(g))))
if (!sameParents(graph, subset) || !graph.isCompound()) { return false }
if (!sameParents(graph, subset) || !graph.isCompound() || !contains(graph, subset)) { return false }
markNodes(graph, subset)

@@ -79,3 +98,2 @@ var topsort = graphlib.alg.topsort(graph)

// TODO: Unfinished
export function compoundify (g, subset) {

@@ -85,5 +103,7 @@ if (!isCompoundable(g, subset)) { throw new Error('This subset cannot be compoundified given this particular subset.') }

var graph = graphlib.json.read(JSON.parse(JSON.stringify(graphlib.json.write(g))))
var comp = 'comp' + hash(graph)
markNodes(graph, subset)
var comp = 'comp' + hash(graph)
graph.setNode(comp)
graph.setNode(comp, createLabel(graph, subset, comp))
for (let n of subset) {

@@ -90,0 +110,0 @@ graph.setParent(n, comp)

@@ -101,1 +101,16 @@

}
export function portType (graph, node, port) {
var curNode = graph.node(node)
return _.merge({}, curNode.inputPorts, curNode.outputPorts)[port]
}
export function portDirectionType (graph, node, port) {
var curNode = graph.node(node)
if (_.has(curNode.inputPorts, port)) {
return 'inputPorts'
} else if (_.has(curNode.outputPorts, port)) {
return 'outputPorts'
}
throw new Error('The node ' + node + ' does not have a port with the name ' + port)
}

@@ -78,3 +78,5 @@

var followPorts = pathFn(graph, node.node, node.port)
if (!followPorts || followPorts.length === 0) {
if (!followPorts) {
return []
} else if (followPorts.length === 0) {
return [[node]]

@@ -81,0 +83,0 @@ }

@@ -21,2 +21,6 @@ /* global describe, it */

it('not existing node in subset of simple graph', () => {
expect(cmpdfy.isCompoundable(simple, ['z'])).to.be.false
})
it('all nodes in subset of simple graph', () => {

@@ -71,3 +75,4 @@ expect(cmpdfy.isCompoundable(simple, ['a', 'b', 'c'])).to.be.true

it('empty subset of simple graph', () => {
expect(cmpdfy.compoundify(simple, [])).to.deep.equal(simple)
var graph = cmpdfy.compoundify(simple, [])
expect(graph).to.deep.equal(simple)
})

@@ -74,0 +79,0 @@

@@ -135,2 +135,3 @@ /* global describe, it */

cb.onCall(1).returns('inc')
cb.onCall(2).returns([])
var path = walk.walk(pGraph1, '0_STDIN', cb)

@@ -159,2 +160,4 @@ expect(path).to.have.length(1)

cb.onCall(0).returns(['s1', 's2'])
cb.onCall(1).returns([])
cb.onCall(2).returns([])
var path = walk.walkBack(pGraph2, '3_ADD', cb)

@@ -193,3 +196,3 @@ expect(path).to.have.length(2)

it('can walk through recursive map correctly', () => {
/* it.only('can walk through recursive map correctly', () => {
var mapG = grlib.json.read(JSON.parse(fs.readFileSync('./test/fixtures/map_recursive.1.json')))

@@ -216,3 +219,3 @@ var paths = walk.walkBack(mapG, {node: 'mapInc', port: 'result'}, (graph, node, port) => {

expect(paths).to.have.length(2)
})
})*/
}

@@ -219,0 +222,0 @@ })

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc