Index: node_modules/d3-shape/src/link.js
===================================================================
--- node_modules/d3-shape/src/link.js	(revision e4c61dd6cd86e06265bc2bd91adba84a0f04044a)
+++ node_modules/d3-shape/src/link.js	(revision e4c61dd6cd86e06265bc2bd91adba84a0f04044a)
@@ -0,0 +1,73 @@
+import {slice} from "./array.js";
+import constant from "./constant.js";
+import {bumpX, bumpY, bumpRadial} from "./curve/bump.js";
+import {withPath} from "./path.js";
+import {x as pointX, y as pointY} from "./point.js";
+
+function linkSource(d) {
+  return d.source;
+}
+
+function linkTarget(d) {
+  return d.target;
+}
+
+export function link(curve) {
+  let source = linkSource,
+      target = linkTarget,
+      x = pointX,
+      y = pointY,
+      context = null,
+      output = null,
+      path = withPath(link);
+
+  function link() {
+    let buffer;
+    const argv = slice.call(arguments);
+    const s = source.apply(this, argv);
+    const t = target.apply(this, argv);
+    if (context == null) output = curve(buffer = path());
+    output.lineStart();
+    argv[0] = s, output.point(+x.apply(this, argv), +y.apply(this, argv));
+    argv[0] = t, output.point(+x.apply(this, argv), +y.apply(this, argv));
+    output.lineEnd();
+    if (buffer) return output = null, buffer + "" || null;
+  }
+
+  link.source = function(_) {
+    return arguments.length ? (source = _, link) : source;
+  };
+
+  link.target = function(_) {
+    return arguments.length ? (target = _, link) : target;
+  };
+
+  link.x = function(_) {
+    return arguments.length ? (x = typeof _ === "function" ? _ : constant(+_), link) : x;
+  };
+
+  link.y = function(_) {
+    return arguments.length ? (y = typeof _ === "function" ? _ : constant(+_), link) : y;
+  };
+
+  link.context = function(_) {
+    return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), link) : context;
+  };
+
+  return link;
+}
+
+export function linkHorizontal() {
+  return link(bumpX);
+}
+
+export function linkVertical() {
+  return link(bumpY);
+}
+
+export function linkRadial() {
+  const l = link(bumpRadial);
+  l.angle = l.x, delete l.x;
+  l.radius = l.y, delete l.y;
+  return l;
+}
