Package Exports
- sf
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
sf
String formatting library for node.js.
Installation
$ npm install sf
Quick Examples
var sf = require("sf");
sf("{who} has a {what}", { who: 'dog', what: 'tail' });
// returns: dog has a tail
sf("{0} has a {1}", 'dog', 'tail');
// returns: dog has a tail
sf("{0:#,##0.00}", 2123.1);
// returns: 2,123.10
sf("{0,15:#,##0.00}", 2123.1);
// returns: 2,123.10
sf("{a.b}", { a: { b: 'test' }});
// returns: test
sf("{a.z.c}", { a: { b: 'test' }});
// throws an error
sf("{a.?z.?c}", { a: { b: 'test' }});
// returns:
sf("{a[0]}", { a: [ 'foo', 'bar' ]});
// returns: foo
sf("{a[-1]}", { a: [ 'foo', 'bar' ]});
// returns: bar
sf.log("{who} has a {what}", { who: 'dog', what: 'tail' });
// outputs to standard out: dog has a tail
Format Specifiers
The format is similar to C#'s string.format. The text inside the curly braces is {indexOrName[,alignment][:formatString]}. If alignment is positive the text is right aligned. If alignment is negative it will be left aligned.
Object
Specifier | Name |
---|---|
json | JSON.stringify |
inspect | util.inspect |
Numbers
Specifier | Name | Example | Output |
---|---|---|---|
0 | Zero placeholder | {0:00.0000} | 02.1200 |
# | Digit placeholder | {0:#,###} | 1,234 |
x | Lowercase hex | {0:x4} | 01fc |
X | Uppercase hex | {0:X4} | 01FC |
Dates
Specifier | Name | Example |
---|---|---|
sd | Short date | 10/12/2002 |
D | Long date | December 10, 2002 |
t | Short time | 10:11 PM |
T | Long time | 10:11:29 PM |
fdt | Full date & time | December 10, 2002 10:11 PM |
F | Full date & time (long) | December 10, 2002 10:11:29 PM |
g | Default date & time | 10/12/2002 10:11 PM |
G | Default date & time (long) | 10/12/2002 10:11:29 PM |
md | Month day pattern | December 10 |
r | RFC1123 date string | Tue, 10 Dec 2002 22:11:29 +0500 |
s | Sortable date string | 2002-12-10T22:11:29 |
d | Date single digit | 1 |
dd | Date leading zero | 01 |
ddd | Short day name | Mon |
dddd | Long day name | Monday |
f | Fraction of second (1 digit) | 1 |
ff | Fraction of second (2 digit) | 24 |
fff | Fraction of second (3 digit) | 345 |
h | Hour 12-hour format 1 digit | 5 |
hh | Hour 12-hour format 2 digits | 05 |
H | Hour 24-hour format 1 digit | 5 |
HH | Hour 24-hour format 2 digits | 05 |
mm | Minutes 2 digits | 23 |
M | Month single digit | 2 |
MM | Month leading zero | 02 |
MMM | Month short name | Feb |
MMMM | Month long name | February |
ss | Seconds 2 digits | 54 |
tt | AM/PM | AM |
yy | Year 2 digits | 12 |
yyyy | Year 4 digits | 2012 |
zz | Time zone offset | 05 |
+zz | Time zone offset leading + | +05 |
zzz | Time zone offset full | 05:00 |
zzzz | Time zone offset full | 0500 |
+zzzz | Time zone offset full leading + | +0500 |
Helper Functions
- sf.log(formatString [, args...]);
- sf.info(formatString [, args...]);
- sf.warn(formatString [, args...]);
- sf.error(formatString [, args...]);