rectangle-drawer
v1.0.1
Published
Draw rectangle shapes using dots and dashes
Downloads
231
Maintainers
Readme
Rectangle Drawer Library – Usage Guide
rectangle-drawer.mjs is a utility module used to generate text-based rectangles using dots (.) and dashes (-). It returns rectangles as strings, which can be printed directly to the terminal or styled using color libraries such as starlight-color.
Importing the Library
Use a relative import path when importing the module:
import {
solidRectangle,
hollowRectangle,
dashedRectangle,
dottedBorderRectangle,
checkerRectangle,
drawRectangle
} from "./rectangle-drawer.mjs";
Available Rectangle Types
- solidRectangle(width, height) – creates a fully filled rectangle using dots
- hollowRectangle(width, height) – creates a rectangle with dashed borders and dotted interior
- dashedRectangle(width, height) – creates a diagonal dashed pattern
- dottedBorderRectangle(width, height) – creates a dotted border with empty space inside
- checkerRectangle(width, height) – creates a checkerboard pattern using dots and dashes
Generic Rectangle Function
drawRectangle(width, height, type) allows selecting a rectangle style dynamically.
Supported type values:
- solid
- hollow
- dashed
- dotted
- checker
Example Usage
let rect = drawRectangle(10, 5, "hollow");
print(rect);
Validation Rules
- Width and height must be positive integers
- Hollow and border-based rectangles require width ≥ 2 and height ≥ 2
- An error is thrown for unknown rectangle types
Styling with Colors
The returned rectangle is a plain string. You can apply colors using starlight-color:
print(green(solidRectangle(8, 4)));
print(red(hollowRectangle(10, 5)));
Summary
This module is ideal for:
- CLI visual output
- ASCII art
- Teaching patterns and loops
- Terminal UI components
rectangle-drawer focuses on simplicity, flexibility, and clean terminal rendering.
