trouble-in-terror-town/node_modules/extsprintf
Mikolaj 2bbacbea09 did some more work on networking and removed EOS in favor of LRM
did some more work on networking and removed EOS in favor of Light Reflective Mirror
2022-05-31 15:04:31 +02:00
..
lib did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
.gitmodules did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
.npmignore did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
jsl.node.conf did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
LICENSE did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
Makefile did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
Makefile.targ did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
package.json did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00
README.md did some more work on networking and removed EOS in favor of LRM 2022-05-31 15:04:31 +02:00

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

Also supported

printf: same args as sprintf, but prints the result to stdout

fprintf: same args as sprintf, preceded by a Node stream. Prints the result to the given stream.