"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Link = void 0; const utils_1 = require("./utils"); /** * Connect `start` to `end` with single line. */ const Link = (options) => { return (index, scale, value, coordinate) => { const { x: X, y: Y, x1: X1 = X, y1: Y1 = Y } = value; const offset = (0, utils_1.createBandOffset)(scale, value, options); const P = index.map((i) => [ coordinate.map(offset([+X[i], +Y[i]], i)), coordinate.map(offset([+X1[i], +Y1[i]], i)), ]); return [index, P]; }; }; exports.Link = Link; const shapes = ['link', 'arc', 'vhv', 'smooth']; exports.Link.props = { defaultShape: 'link', defaultLabelShape: 'label', composite: false, channels: [ ...(0, utils_1.baseGeometryChannels)({ shapes }), { name: 'x', required: true }, { name: 'y', required: true }, ], preInference: [ ...(0, utils_1.basePreInference)(), { type: 'maybeIdentityY' }, { type: 'maybeIdentityX' }, ], postInference: [...(0, utils_1.basePostInference)(), ...(0, utils_1.tooltip2d)()], }; //# sourceMappingURL=link.js.map