/ piacw.com / dev / final / node_modules / sprintf-js /

[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]demo/2 years ago -  
[DIR]dist/2 years ago -  
[DIR]src/2 years ago -  
[DIR]test/2 years ago -  
[   ]LICENSE2 years ago1.5K0fb859dc fixed mobile overflwo options [كارل مبارك]
[TXT]README.md2 years ago4.7K0fb859dc fixed mobile overflwo options [كارل مبارك]
[   ]bower.json2 years ago439 0fb859dc fixed mobile overflwo options [كارل مبارك]
[   ]gruntfile.js2 years ago970 0fb859dc fixed mobile overflwo options [كارل مبارك]
[   ]package.json2 years ago1.4K0fb859dc fixed mobile overflwo options [كارل مبارك]
README.md

sprintf.js

sprintf.js is a complete open source JavaScript sprintf implementation for the browser and node.js.

Its prototype is simple:

string sprintf(string format , [mixed arg1 [, mixed arg2 [ ,...]]])

The placeholders in the format string are marked by % and are followed by one or more of these elements, in this order:

JavaScript vsprintf

vsprintf is the same as sprintf except that it accepts an array of arguments, rather than a variable number of arguments:

vsprintf("The first 4 letters of the english alphabet are: %s, %s, %s and %s", ["a", "b", "c", "d"])

Argument swapping

You can also swap the arguments. That is, the order of the placeholders doesn't have to match the order of the arguments. You can do that by simply indicating in the format string which arguments the placeholders refer to:

sprintf("%2$s %3$s a %1$s", "cracker", "Polly", "wants")

And, of course, you can repeat the placeholders without having to increase the number of arguments.

Named arguments

Format strings may contain replacement fields rather than positional placeholders. Instead of referring to a certain argument, you can now refer to a certain key within an object. Replacement fields are surrounded by rounded parentheses - ( and ) - and begin with a keyword that refers to a key:

var user = {
    name: "Dolly"
}
sprintf("Hello %(name)s", user) // Hello Dolly

Keywords in replacement fields can be optionally followed by any number of keywords or indexes:

var users = [
    {name: "Dolly"},
    {name: "Molly"},
    {name: "Polly"}
]
sprintf("Hello %(users[0].name)s, %(users[1].name)s and %(users[2].name)s", {users: users}) // Hello Dolly, Molly and Polly

Note: mixing positional and named placeholders is not (yet) supported

Computed values

You can pass in a function as a dynamic value and it will be invoked (with no arguments) in order to compute the value on-the-fly.

sprintf("Current timestamp: %d", Date.now) // Current timestamp: 1398005382890
sprintf("Current date and time: %s", function() { return new Date().toString() })

AngularJS

You can now use sprintf and vsprintf (also aliased as fmt and vfmt respectively) in your AngularJS projects. See demo/.

Installation

Via Bower

bower install sprintf

Or as a node.js module

npm install sprintf-js

Usage

var sprintf = require("sprintf-js").sprintf,
    vsprintf = require("sprintf-js").vsprintf

sprintf("%2$s %3$s a %1$s", "cracker", "Polly", "wants")
vsprintf("The first 4 letters of the english alphabet are: %s, %s, %s and %s", ["a", "b", "c", "d"])

License

sprintf.js is licensed under the terms of the 3-clause BSD license.

Apache/2.4.38 (Debian) Server at www.karls.computer Port 80