README.md (1357B)
1 # extsprintf: extended POSIX-style sprintf 2 3 Stripped down version of s[n]printf(3c). We make a best effort to throw an 4 exception when given a format string we don't understand, rather than ignoring 5 it, so that we won't break existing programs if/when we go implement the rest 6 of this. 7 8 This 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 18 Everything else is currently unsupported, most notably: precision, unsigned 19 numbers, non-decimal numbers, and characters. 20 21 Besides 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 28 First, install it: 29 30 # npm install extsprintf 31 32 Now, use it: 33 34 var mod_extsprintf = require('extsprintf'); 35 console.log(mod_extsprintf.sprintf('hello %25s', 'world')); 36 37 outputs: 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 46 to the given stream.