MCPcopy Index your code
hub / github.com/nodejs/node / createManyToManyPathMap

Function createManyToManyPathMap

test/fixtures/snapshot/typescript.js:119559–119604  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

119557 var BuilderState;
119558 (function (BuilderState) {
119559 function createManyToManyPathMap() {
119560 function create(forward, reverse, deleted) {
119561 var map = {
119562 clone: function () { return create(new ts.Map(forward), new ts.Map(reverse), deleted && new ts.Set(deleted)); },
119563 forEach: function (fn) { return forward.forEach(fn); },
119564 getKeys: function (v) { return reverse.get(v); },
119565 getValues: function (k) { return forward.get(k); },
119566 hasKey: function (k) { return forward.has(k); },
119567 keys: function () { return forward.keys(); },
119568 deletedKeys: function () { return deleted; },
119569 deleteKey: function (k) {
119570 (deleted || (deleted = new ts.Set())).add(k);
119571 var set = forward.get(k);
119572 if (!set) {
119573 return false;
119574 }
119575 set.forEach(function (v) { return deleteFromMultimap(reverse, v, k); });
119576 forward.delete(k);
119577 return true;
119578 },
119579 set: function (k, vSet) {
119580 deleted === null || deleted === void 0 ? void 0 : deleted.delete(k);
119581 var existingVSet = forward.get(k);
119582 forward.set(k, vSet);
119583 existingVSet === null || existingVSet === void 0 ? void 0 : existingVSet.forEach(function (v) {
119584 if (!vSet.has(v)) {
119585 deleteFromMultimap(reverse, v, k);
119586 }
119587 });
119588 vSet.forEach(function (v) {
119589 if (!(existingVSet === null || existingVSet === void 0 ? void 0 : existingVSet.has(v))) {
119590 addToMultimap(reverse, v, k);
119591 }
119592 });
119593 return map;
119594 },
119595 clear: function () {
119596 forward.clear();
119597 reverse.clear();
119598 deleted === null || deleted === void 0 ? void 0 : deleted.clear();
119599 }
119600 };
119601 return map;
119602 }
119603 return create(new ts.Map(), new ts.Map(), /*deleted*/ undefined);
119604 }
119605 BuilderState.createManyToManyPathMap = createManyToManyPathMap;
119606 function addToMultimap(map, k, v) {
119607 var set = map.get(k);

Callers 1

createFunction · 0.85

Calls 1

createFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…