feat(ui): add type filter toggles
This commit is contained in:
56
node_modules/dagre/lib/data/list.js
generated
vendored
Normal file
56
node_modules/dagre/lib/data/list.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Simple doubly linked list implementation derived from Cormen, et al.,
|
||||
* "Introduction to Algorithms".
|
||||
*/
|
||||
|
||||
module.exports = List;
|
||||
|
||||
function List() {
|
||||
var sentinel = {};
|
||||
sentinel._next = sentinel._prev = sentinel;
|
||||
this._sentinel = sentinel;
|
||||
}
|
||||
|
||||
List.prototype.dequeue = function() {
|
||||
var sentinel = this._sentinel;
|
||||
var entry = sentinel._prev;
|
||||
if (entry !== sentinel) {
|
||||
unlink(entry);
|
||||
return entry;
|
||||
}
|
||||
};
|
||||
|
||||
List.prototype.enqueue = function(entry) {
|
||||
var sentinel = this._sentinel;
|
||||
if (entry._prev && entry._next) {
|
||||
unlink(entry);
|
||||
}
|
||||
entry._next = sentinel._next;
|
||||
sentinel._next._prev = entry;
|
||||
sentinel._next = entry;
|
||||
entry._prev = sentinel;
|
||||
};
|
||||
|
||||
List.prototype.toString = function() {
|
||||
var strs = [];
|
||||
var sentinel = this._sentinel;
|
||||
var curr = sentinel._prev;
|
||||
while (curr !== sentinel) {
|
||||
strs.push(JSON.stringify(curr, filterOutLinks));
|
||||
curr = curr._prev;
|
||||
}
|
||||
return "[" + strs.join(", ") + "]";
|
||||
};
|
||||
|
||||
function unlink(entry) {
|
||||
entry._prev._next = entry._next;
|
||||
entry._next._prev = entry._prev;
|
||||
delete entry._next;
|
||||
delete entry._prev;
|
||||
}
|
||||
|
||||
function filterOutLinks(k, v) {
|
||||
if (k !== "_next" && k !== "_prev") {
|
||||
return v;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user