Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Extended POSIX-style sprintf
Makefile ApacheConf JavaScript
tree: b48993d6f0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
deps
examples
lib
.gitmodules
LICENSE
Makefile
Makefile.deps
Makefile.targ
README.md
jsl.node.conf
package.json

README.md

extsprintf: extended POSIX-style sprintf

Stripped down version of s[n]printf(3c). We make a best effort to throw an exception when given a format string we don't understand, rather than ignoring it, so that we won't break existing programs if/when we go implement the rest of this.

This implementation currently supports specifying

  • field alignment ('-' flag),
  • zero-pad ('0' flag)
  • always show numeric sign ('+' flag),
  • field width
  • conversions for strings, decimal integers, and floats (numbers).
  • argument size specifiers. These are all accepted but ignored, since Javascript has no notion of the physical size of an argument.

Everything else is currently unsupported, most notably: precision, unsigned numbers, non-decimal numbers, and characters.

Besides the usual POSIX conversions, this implementation supports:

  • %j: pretty-print a JSON object (using node's "inspect")
  • %r: pretty-print an Error object

Example

First, install it:

# npm install extsprintf

Now, use it:

var mod_extsprintf = require('extsprintf');
console.log(mod_extsprintf.sprintf('hello %25s', 'world'));

outputs:

hello                     world
Something went wrong with that request. Please try again.