Node Pad is a simple and elegant function to pad strings in both left and right directions. It is written in Typescript and it support both CommonJS and ESM.
The API is quite simple:
import pad from "pad";
// Or const pad = require("pad")
pad("pad", 5); // "pad "
pad(5, "pad"); // " pad"
pad("pad", 5, "+"); // "pad++"
pad(5, "pad", "+"); // "++pad"
For TypeScript users, the type definition files are located in "./lib/index.d.ts" and declared inside the "package.json" file.
Node Pad comes in multiple flavours depending on your target environment:
- CommonJS:
dist/pad.cjs.js
Bundle used by Node.js and compatible with ES5. It is declared inside thepackage.json
by themain
property and used by default withrequire("pad")
in a Node.js environment. - ES module:
dist/pad.esm.js
Bundle using the ECMAScript standard defined in ES6 for working with modules. The path to the ES module is declared inside thepackage.json
by themodule
property for ESM-aware tools like Rollup and webpack 2+.
The CommonJS syntax to import Node Pad is:
const pad = require("pad/dist/pad.cjs.js");
// Or simply
const pad = require("pad");
While the ES Modules syntax is:
import pad from "pad/dist/pad.esm.js";
// Or for ESM-aware tools
import pad from "pad";
Options are provided as a third argument and are all optional. A string argument it is interpreted as the "char" option. Accepted options include:
char
(string)
The character used to fill the gap.colors
(boolean)
Ajust to hidden terminal color characters, you may also userequire 'pad/lib/colors'
to avoid passing this option.strip
(boolean)
Remove characters from text if length smaller than text length, default to "false".fixed_width
(boolean)
An optimization option to disable the usage of the wcwdith package to handle the discovery of characters using more than one column for display. one column to displaywcwidth_options
(object)
Options passed to the wcwidth package used to calculate the display width of characters using more than one column.
Left padding occurs when the first argument is a number and the second argument is a string.
import pad from "pad";
pad(5, "pad", "-").should.eql("--pad");
Right padding occurs when the first argument is a string and the second argument is a number.
import pad from "pad";
pad("pad", 6).should.eql("pad ");
Starting with version 1.1.0, Node pad rely on Node.js 4.0.0 or more recent. Stick to version 1.0.x if using an older version of Node.js.
Via npm:
npm install pad
Via git (or downloaded tarball), copy or link the project from a discoverable Node.js directory:
git clone http://github.com/adaltas/node-pad.git
Clone the repo, install the development dependencies and run the suite:
git clone http://github.com/adaltas/node-pad.git .
npm install
make test
The project is sponsored by Adaltas based in Paris, France. Adaltas offers support and consulting on distributed systems, big data and open source.