import type { Padding, STDPadding } from '../types/padding'; /** * 解析 padding * * parse padding * @param padding - padding | padding * @returns 标准 padding | standard padding */ export function parsePadding(padding: Padding = 0): STDPadding { if (Array.isArray(padding)) { const [top = 0, right = top, bottom = top, left = right] = padding; return [top, right, bottom, left]; } return [padding, padding, padding, padding]; } /** * 获取在垂直方向上的 padding * * get vertical padding * @param padding - padding | padding * @returns 垂直方向上的 padding | vertical padding */ export function getVerticalPadding(padding: Padding = 0): number { const parsedPadding = parsePadding(padding); return parsedPadding[0] + parsedPadding[2]; } /** * 获取在水平方向上的 padding * * get horizontal padding * @param padding - padding | padding * @returns 水平方向上的 padding | horizontal padding */ export function getHorizontalPadding(padding: Padding = 0): number { const parsedPadding = parsePadding(padding); return parsedPadding[1] + parsedPadding[3]; }