import { equivalentStrokes } from '../types/util' import { defaults } from '../types/util'; export interface LinkStyle { stroke?: string strokeDash?: number[] strokeWidth?: number } function applyLinkStyleAttributes (target: LinkStyle, source: LinkStyle): void { defaults(target, source, ['stroke', 'strokeDash', 'strokeWidth']); } function cloneLinkStyle (style: LinkStyle): LinkStyle { const clone = {}; applyLinkStyleAttributes(clone, style); return clone; } function equivalentLinkStyles (a: LinkStyle, b: LinkStyle): boolean { return a.stroke === b.stroke && equivalentStrokes(a.strokeDash, b.strokeDash) && a.strokeWidth === b.strokeWidth; } export { applyLinkStyleAttributes, cloneLinkStyle, equivalentLinkStyles }