diff --git a/lib/utils.js b/lib/utils.js index 75f3d111..c243ebb4 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -26,7 +26,7 @@ export function PDFNumber(n) { * - Or `{top: SideValue, right: SideValue, bottom: SideValue, left: SideValue}` * * @template T - * @typedef {T | [T, T] | [T, T, T, T] | { vertical: T; horizontal: T } | { top: T; right: T; bottom: T; left: T }} SideDefinition + * @typedef {T | [T, T] | [T, T, T, T] | { vertical: T; horizontal: T } | ExpandedSideDefinition} SideDefinition **/ /** @@ -52,12 +52,13 @@ export function normalizeSides( transformer = (v) => v, ) { if ( - sides === undefined || sides === null || + sides === undefined || + sides === null || (typeof sides === "object" && Object.keys(sides).length === 0) ) { sides = defaultDefinition; } - if (typeof sides === "string" || typeof sides === "number" || !sides) { + if (typeof sides !== "object" || sides === null) { sides = [sides, sides, sides, sides]; } if (Array.isArray(sides)) { diff --git a/tests/unit/utils.spec.js b/tests/unit/utils.spec.js index b39be48f..9f0fc717 100644 --- a/tests/unit/utils.spec.js +++ b/tests/unit/utils.spec.js @@ -33,6 +33,14 @@ describe("normalizeSides", () => { undefined, { top: undefined, right: undefined, bottom: undefined, left: undefined }, ], + [ + true, + { top: true, right: true, bottom: true, left: true }, + ], + [ + false, + { top: false, right: false, bottom: false, left: false }, + ], ])("%s -> %s", (size, expected) => { expect(normalizeSides(size)).toEqual(expected); });