• Home
Name
Date
Size
#Lines
LOC

..--

lib/12-May-2024-184121

.gitmodulesD12-May-20240

.npmignoreD12-May-202416 32

LICENSED12-May-20241.1 KiB2016

MakefileD12-May-2024533 258

Makefile.targD12-May-20248.2 KiB28696

README.mdD12-May-20241.3 KiB4730

jsl.node.confD12-May-20246.8 KiB13870

package.jsonD12-May-20241.2 KiB4544

README.md

1# extsprintf: extended POSIX-style sprintf
2
3Stripped down version of s[n]printf(3c).  We make a best effort to throw an
4exception when given a format string we don't understand, rather than ignoring
5it, so that we won't break existing programs if/when we go implement the rest
6of this.
7
8This implementation currently supports specifying
9
10* field alignment ('-' flag),
11* zero-pad ('0' flag)
12* always show numeric sign ('+' flag),
13* field width
14* conversions for strings, decimal integers, and floats (numbers).
15* argument size specifiers.  These are all accepted but ignored, since
16  Javascript has no notion of the physical size of an argument.
17
18Everything else is currently unsupported, most notably: precision, unsigned
19numbers, non-decimal numbers, and characters.
20
21Besides the usual POSIX conversions, this implementation supports:
22
23* `%j`: pretty-print a JSON object (using node's "inspect")
24* `%r`: pretty-print an Error object
25
26# Example
27
28First, install it:
29
30    # npm install extsprintf
31
32Now, use it:
33
34    var mod_extsprintf = require('extsprintf');
35    console.log(mod_extsprintf.sprintf('hello %25s', 'world'));
36
37outputs:
38
39    hello                     world
40
41# Also supported
42
43**printf**: same args as sprintf, but prints the result to stdout
44
45**fprintf**: same args as sprintf, preceded by a Node stream.  Prints the result
46to the given stream.
47