UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

22 lines (18 loc) 1.53 kB
import { isNil, isString, isArray } from "@visactor/vutils"; export const isStopsEqual = (prev, next) => { var _a, _b; if (prev === next) return !0; const prevLength = null !== (_a = prev && prev.length) && void 0 !== _a ? _a : 0; return prevLength === (null !== (_b = next && next.length) && void 0 !== _b ? _b : 0) && 0 !== prevLength && prev.every(((prevEntry, prevIndex) => !prevEntry && !next[prevIndex] || prevEntry && next[prevIndex] && prevEntry.color === next[prevIndex].color && prevEntry.offset === next[prevIndex].offset)); }; const isColorAttrEqual = (prev, next) => { if (prev === next) return !0; if (typeof prev != typeof next) return !1; if (isString(prev)) return !1; if (isArray(prev)) return prev.length === next.length && prev.every(((prevEntry, index) => isColorAttrEqual(prevEntry, next[index]))); if (prev.gradient !== next.gradient) return !1; const prevKeys = Object.keys(prev), nextKeys = Object.keys(next); return prevKeys.length === nextKeys.length && prevKeys.every((key => "stops" === key ? isStopsEqual(prev[key], next[key]) : prev[key] === next[key])); }, isLineDashEqual = (prev, next) => prev.length === next.length && prev.join("-") === next.join("-"); export const isSegmentAttrEqual = (prev, next, key) => !(!isNil(prev) || !isNil(next)) || !isNil(prev) && (!isNil(next) && ("lineDash" === key ? isLineDashEqual(prev, next) : "stroke" === key || "fill" === key ? isColorAttrEqual(prev, next) : prev === next)); //# sourceMappingURL=line.js.map