sprintf() implementation for JavaScript
CoffeeScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.travis.yml
CHANGELOG
LICENSE.md
README.md
package.json

README.md

Build Status

sprint is implementation of sprintf function from C++. If it is ran in Node.js envirnoment then it's used as module, otherwise module inserts sprint() function into global object (usually window).

Usage:

// Node.js
var sprint = require('sprint');
// Will return "b a"
console.log(sprint('%2$s %1$s', 'a', 'b'));

All standard format placeholders are supported with the exception of %p (lack of pointers in JavaScript) and %n (lack of references in JavaScript).

In addition, following non-standard features are supported:

  • n$ - number of the parameter allowing the parameters to be used multiple times or displayed in different order. It's not in C99, but it's POSIX entension, so support for it is already common.
  • %b and %B - a binary number
  • %D, %U, %O - practially their uppercase variants. Inserted in this list just because of their usage in Perl's printf() implementation.
  • %v - vectors (from Perl implementation of sprintf())

For more information, read documentation of sprintf() in other programming languages.

If certain feature doesn't exist and you think it should exist, feel free to make issue about it. Unless it's impossible to implement it, you can expect it in next major release.

And last thing before I will end this README file, have fun!