UNPKG

colorjs.io

Version:

Color space agnostic color manipulation library

48 lines (41 loc) 733 B
export const range = [0, 360]; range.isAngle = true; export function constrain (angle) { return ((angle % 360) + 360) % 360; } export function adjust (arc, angles) { if (arc === "raw") { return angles; } let [a1, a2] = angles.map(constrain); let angleDiff = a2 - a1; if (arc === "increasing") { if (angleDiff < 0) { a2 += 360; } } else if (arc === "decreasing") { if (angleDiff > 0) { a1 += 360; } } else if (arc === "longer") { if (-180 < angleDiff && angleDiff < 180) { if (angleDiff > 0) { a2 += 360; } else { a1 += 360; } } } else if (arc === "shorter") { if (angleDiff > 180) { a1 += 360; } else if (angleDiff < -180) { a2 += 360; } } return [a1, a2]; }