{"_id":"sf","_rev":"29-e36fe38127b5bb9fed91ac1bd20b2ca0","name":"sf","description":"String formatting library for node.js","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"homepage":"https://github.com/nearinfinity/node-sf","version":"0.0.1","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"licenses":[{"type":"MIT"}],"repositories":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"main":"./index.js","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"_id":"sf@0.0.1","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"54cc2d719105d097e5f0c525542a6305b5493376","tarball":"https://registry.npmjs.org/sf/-/sf-0.0.1.tgz","integrity":"sha512-aAAiIa09y/3/wcUF6haAvw382zHcgKg1FRfhkBDlKqKy/j+O5wS7JczRYlsNUyh44Hm1ux4atPpcnQ9kdyzwOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxbk2r69BNpoHhcTgU1EjqKNXv27iHyGIvxWxqIDszSAiEAvodrg+YQzavyshNwKeL+p6+eqpsfZM8FuEl82ief988="}]},"directories":{}},"0.1.0":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"homepage":"https://github.com/nearinfinity/node-sf","version":"0.1.0","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"licenses":[{"type":"MIT"}],"repositories":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"main":"./index.js","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"_id":"sf@0.1.0","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.4","_defaultsLoaded":true,"dist":{"shasum":"baa18ce8f042c535d11afc54b4fbafefd135a230","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.0.tgz","integrity":"sha512-LPpzOwygpT0qtW/RR93uOVH6WSFqkVE3OZHbLZ4cEgl3O6/z5hjTJn/eyAj7BAxO2pFHD6X6xfV1HI5JuG/oZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPp3hBFcBTj35GmOEkziziCshRjJrSnR98CsReXp83swIhAKtpsHoNDaR1u3OF9ftxsSXXiibumtC4Ksu4N0JPLVeQ"}]},"directories":{}},"0.1.1":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"homepage":"https://github.com/nearinfinity/node-sf","version":"0.1.1","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"licenses":[{"type":"MIT"}],"repositories":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"main":"./index.js","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"_id":"sf@0.1.1","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"2152dbc427bd7216f65a4fdb9eeca7b2e4b8b579","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.1.tgz","integrity":"sha512-viXW1pCjuE8MpzXMiG1O42mYD5QZjroyDjOcYeXjErOu/bQp2nL0PVafxzyBtAghV5LzprO3+QFdg7+sX89M5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMwqWEUc1JPbQiHwFVTaCT9X5IeEhAEKJL0kpAyMM9qAiEAm4eg4tyxiEPlMxpPZTqfDWAbEWqASygxvS2yTYIZs+4="}]},"directories":{}},"0.1.2":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"homepage":"https://github.com/nearinfinity/node-sf","version":"0.1.2","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"licenses":[{"type":"MIT"}],"repositories":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"main":"./index.js","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"_id":"sf@0.1.2","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-6","_nodeVersion":"v0.6.4","_defaultsLoaded":true,"dist":{"shasum":"c1cb3d4531ebdd0f7313eef2eb56fcfd86084482","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.2.tgz","integrity":"sha512-+UNALUz6wX/DOxZZ7lTGh+WaH7QKEnrzLGusEXJQwiHzQUVqxQRzTgYuhyRA4ha7HZoPVIYpXQDnPO/MMGN1Gw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7zoIVIUBqrJqY2+DJqUFwmDBFN6MaKN1ThoxzV0F0XAiEAgQgLSd5imqAXTerjiXWVHzymCNabB+y445XwC+7cFQ8="}]},"directories":{}},"0.1.3":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.3","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"git://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"scripts":{"test":"nodeunit test"},"main":"./index.js","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"_id":"sf@0.1.3","dependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.7.7","_defaultsLoaded":true,"dist":{"shasum":"a5d246148241ace3788447f6a9a95b564762c354","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.3.tgz","integrity":"sha512-88seYpvCok2JgHVPTmrW9vMSzu33RDjeP86ila/3qzpVNS8omYMnSJQM+FxotoeA+jf6o4L7NvzjdYqWYq5quw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXjBV1qI/ljy/ew676v2gqRpgvMs9UOq6SmcPA+H5HIgIgPX8/qqmBK2OdI5DlS6bRrJD4NjnMtQAJ7uj75ZbqcGA="}]},"directories":{}},"0.1.4":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.4","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3"},"scripts":{"test":"nodeunit test"},"main":"./index.js","_id":"sf@0.1.4","dist":{"shasum":"204091e2fb423bc4fa668c6295023bd5f5b3a349","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.4.tgz","integrity":"sha512-GpNKPnE+PcIcBXNnm/MEHMKMWmAkxqqDVWSoUE/THQAsotloIW1BixmBDSrWc4jwniOpnAHmKXAtt5Now8UZhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7hgONPoKXW76elqszweMcZXAuoyR0SdyCRX5m+67zgQIhAMvceXf6ay+Z+j0nyCoKbBL4RjvnibcDxQ7r56sI52cf"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"directories":{}},"0.1.5":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.5","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3","timezone-js":"~0.4.3"},"scripts":{"test":"nodeunit test"},"main":"./index.js","_id":"sf@0.1.5","dist":{"shasum":"3d6715c079397c630aee922b926cd215345c534d","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.5.tgz","integrity":"sha512-TOLlLhFjSB4KXcul2Hrb45ykKnqrYO84j+LkKzQSFiqQdWixNAZS6k7Euh1bNxH5oIFw/c12ECHu9Z7aGDEpRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzyIe5kSc6QX/kbgkHPDQnV8gThaAhVzhtR7gHGkJ5HAIhANYGXQxqneOPTfixXFnjcOwgNRWcezTVZ9C0LW23rWou"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"directories":{}},"0.1.6":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.6","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3","timezone-js":"~0.4.3"},"scripts":{"test":"nodeunit test"},"main":"./index.js","_id":"sf@0.1.6","dist":{"shasum":"e7b59aa0d8db7c0bea4d4382993a82d45d671036","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.6.tgz","integrity":"sha512-FqFKgf/faqXGcJsHpPrSAjip5bjEE/8ww3qKfRq2amLV9asMvuKTZB4nUnKFkasZW8gqmZTQEvbSpn5nQ6DOuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwus1rCvmgstGUfyZMmoEe9MfVelFjyaZ7PTJbGktezgIhANkrcyw/TTCkRM3cDG39FGDvfC2Gzl9ZrzLrKudVfcT9"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"directories":{}},"0.1.7":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.7","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3","timezone-js":"~0.4.3"},"scripts":{"test":"nodeunit test"},"main":"./sf.js","_id":"sf@0.1.7","dist":{"shasum":"806ed032d7225c7fb6394b0bdbfe1ea936fe6d74","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.7.tgz","integrity":"sha512-KUuoDxEc3H0JqpiOm4JR+s64BoPBwVXh0pRXiFSV7wM9xr5u8aX1I2UUcESZpbBqygQy4/svhpncZbNBOlrJFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOSkXDMM0ImR9hu1nNWtSWdPQXtJCqYRdtqbTrLnbnUwIgPB/wobU5FSrlT9hPsA+Ngm4Gu94NtfvYOjYvgn4ipA8="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"directories":{}},"0.1.8":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.8","engines":{"node":">=0.6.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3","timezone-js":"~0.4.3"},"scripts":{"test":"nodeunit test"},"main":"./sf.js","gitHead":"37fb33f98e2c64154078305c906e6b0ab3b2ea2a","homepage":"https://github.com/nearinfinity/node-sf","_id":"sf@0.1.8","_shasum":"a2671e675ef97297a161fb3c0b0b5dcf2ecb068d","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"dist":{"shasum":"a2671e675ef97297a161fb3c0b0b5dcf2ecb068d","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.8.tgz","integrity":"sha512-w69JuJR8XE3P7tMiJdUpSlamgBA3mle/Uz9VhG6ZV/x64KSzEhvVrH3tNunsvQfQ3aCl1jQPsycHOAlsxfZF3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGU9aBSl9lOWsJw3FKCeTfBs+suFcI0TrQY3MFyQEzYAiAFlmX/+2Dz4xOZlDeF/PMNSwkLpzAtsjf5egQXFc5kwg=="}]},"directories":{}},"0.1.9":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe.ferner@nearinfinity.com"},"keywords":["string","format","template"],"version":"0.1.9","engines":{"node":">=0.10.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/nearinfinity/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/nearinfinity/node-sf.git"},"devDependencies":{"nodeunit":"~0.7.3","timezone-js":"~0.4.3"},"scripts":{"test":"nodeunit test"},"main":"./sf.js","dependencies":{"util":"0.10.3"},"gitHead":"9ce5e874afe09c9b867b879346591b02955e3e33","homepage":"https://github.com/nearinfinity/node-sf#readme","_id":"sf@0.1.9","_shasum":"010c8283edb985621b65efbc88fb2eafb7beff0d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"8.1.4","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"dist":{"shasum":"010c8283edb985621b65efbc88fb2eafb7beff0d","tarball":"https://registry.npmjs.org/sf/-/sf-0.1.9.tgz","integrity":"sha512-MJGYJwveqEEc2kNL1OwA0WQ2OFgahipb8If5wnlqRsInHtcUk+s2TuWZgF+PDGveJWbiTz9DYA2EVCoq6vnqjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdH1J2vOzaYvenjuuzpP+1jbxIMMqZQ2ckno4jpetGRAiEA0ERnWgY/KZN8ykAavKUru54Z5eypS7kKhuAoCZp99C8="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sf-0.1.9.tgz_1500593842836_0.4381800149567425"},"directories":{}},"0.2.0":{"name":"sf","description":"String formatting library for node.js","author":{"name":"Joe Ferner","email":"joe@fernsroth.com"},"keywords":["string","format","template"],"version":"0.2.0","engines":{"node":">=0.10.0"},"maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"bugs":{"url":"https://github.com/joeferner/node-sf/issues"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/joeferner/node-sf.git"},"devDependencies":{"nodeunit":"^0.11.3","tap":"~10.7.0","timezone-js":"^0.4.13"},"scripts":{"test":"nodeunit test"},"main":"./sf.js","dependencies":{"utils":"^0.3.1"},"gitHead":"4aed23afb93f7cd8c1fa210c8ae2e9d6d2194f7d","homepage":"https://github.com/joeferner/node-sf#readme","_id":"sf@0.2.0","_shasum":"10a86444cc9ebc9950c73a968dc81e9bd2ade5a9","_from":".","_npmVersion":"3.10.9","_nodeVersion":"11.4.0","_npmUser":{"name":"joeferner","email":"joe@fernsroth.com"},"dist":{"shasum":"10a86444cc9ebc9950c73a968dc81e9bd2ade5a9","tarball":"https://registry.npmjs.org/sf/-/sf-0.2.0.tgz","integrity":"sha512-JVeHgfUxRREoVSRIuCDbB6Vtk0ttmBTV2wnI/fT3GOI8vU5dZefhdowN7CTvuLsU/uG7EWECbI5dPoLNSMH1yg==","fileCount":8,"unpackedSize":46249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKWrwCRA9TVsSAnZWagAAFuYP/jaTRmkQpLfHv9qi6HJk\n87FwjmXNiUVriyCM643AqtWNh+635ajzRTW85e+f9Ptgj0odYZtDhZAaBfYf\ncuSs1+wcup9inpSohJ0nLwAqmvBR5ca1gU3NxZrK5tAzrYzUwoN8C1OtxuF4\n4UKLR0aGUTV+MHBwzDZgPCWUVVVSHGAJtD1ExG+7EkbNGzrAplTJ8AIj9zCE\nEy9EzMS1pH1uULfHWK/ajMdlQ4zU02C5ZnivA3JBJnm8qn9Nwie0WG/jyv+t\nP39YrOuYSjB07QoUn3+332cEO1nl/6L3AYS/lUqYm9o4NKzQr3XQCQisgdxp\n3BYAO5UxGCH2syBNfCD1quLxMCgXQrqJnVQGUaQEh2EbQLMYrYRH2BBhH1LP\nrj9/xg+SZYnrXh9apCUl2RvN4TPItWr3oh6oseUNj0k59c9qhkrECs+B/oEo\n0vc3ZuMLHMIiXEimI6SobN0IfxNeohN9+WHRr6g64eWfF+9PMzkau0ZUS7jm\nDWwcbAG+Z/S5h2F5a84r8T7WFNegk2KOdAGFvkEUG5w6k2UboTOKWpgJ6wEO\nYYvyVgqMACarHZqfPU2Iq+rOIjYsCnmBB/OGR6lWah+EKWMiW9UjTysrhXFv\nnolvNxWru9UNc1pb5Dnwt5WZDBBhwcXNRrdP+D3YfDNbDmUUMuyUTC7PG5uT\nZCHV\r\n=xelB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYvkhtZqy5kLMIFQjci+AtnJ30HKUqK/J6vXbojykVBAiEAiwfz07emCM9HV90/tBp3fZ7mhDiFaJ6Du20s/vJ6a6s="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sf_0.2.0_1546218223494_0.7941263396288241"},"_hasShrinkwrap":false}},"readme":"# sf\n\n[![Build Status](https://secure.travis-ci.org/joeferner/node-sf.png)](http://travis-ci.org/joeferner/node-sf)\n\nString formatting library for node.js.\n\n## Installation\n\n```bash\n$ npm install sf\n```\n\n## Quick Examples\n\n```javascript\nvar sf = require(\"sf\");\n\nsf(\"{who} has a {what}\", { who: 'dog', what: 'tail' });\n// returns: dog has a tail\n\nsf(\"{0} has a {1}\", 'dog', 'tail');\n// returns: dog has a tail\n\nsf(\"{0:#,##0.00}\", 2123.1);\n// returns: 2,123.10\n\nsf(\"{0,15:#,##0.00}\", 2123.1);\n// returns:        2,123.10\n\nsf(\"{a.b}\", { a: { b: 'test' }});\n// returns: test\n\nsf(\"{a.z.c}\", { a: { b: 'test' }});\n// throws an error\n\nsf(\"{a.?z.?c}\", { a: { b: 'test' }});\n// returns:\n\nsf(\"{a[0]}\", { a: [ 'foo', 'bar' ]});\n// returns: foo\n\nsf(\"{a[-1]}\", { a: [ 'foo', 'bar' ]});\n// returns: bar\n\nsf.log(\"{who} has a {what}\", { who: 'dog', what: 'tail' });\n// outputs to standard out: dog has a tail\n\nsf(\"{0:^d 'Days,' h:mm:ss.fff}\", new sf.TimeSpan(8173818181));\n// returns: 94 Days, 14:30:18.181\n```\n\n## Format Specifiers\n\nThe format is similar to C#'s string.format. The text inside the curly braces is {indexOrName[,alignment][:formatString]}.\nIf alignment is positive the text is right aligned. If alignment is negative it will be left aligned.\n\n### Object\n\n| Specifier | Name                         |\n|-----------|------------------------------|\n| json      | JSON.stringify               |\n| inspect   | util.inspect                 |\n\n### Numbers\n\n| Specifier | Name                         | Example          | Output         |\n|-----------|------------------------------|------------------|----------------|\n| 0         | Zero placeholder             | {0:00.0000}      | 02.1200        |\n| #         | Digit placeholder            | {0:#,###}        | 1,234          |\n| x         | Lowercase hex                | {0:x4}           | 01fc           |\n| X         | Uppercase hex                | {0:X4}           | 01FC           |\n\n### Dates\n\n| Specifier | Name                            | Example                         |\n|-----------|---------------------------------|---------------------------------|\n| sd        | Short date                      | 10/12/2002                      |\n| D         | Long date                       | December 10, 2002               |\n| t         | Short time                      | 10:11 PM                        |\n| T         | Long time                       | 10:11:29 PM                     |\n| fdt       | Full date & time                | December 10, 2002 10:11 PM      |\n| F         | Full date & time (long)         | December 10, 2002 10:11:29 PM   |\n| g         | Default date & time             | 10/12/2002 10:11 PM             |\n| G         | Default date & time (long)      | 10/12/2002 10:11:29 PM          |\n| md        | Month day pattern               | December 10                     |\n| r         | RFC1123 date string             | Tue, 10 Dec 2002 22:11:29 +0500 |\n| s         | Sortable date string            | 2002-12-10T22:11:29             |\n| d         | Date single digit               | 1                               |\n| dd        | Date leading zero               | 01                              |\n| ddd       | Short day name                  | Mon                             |\n| dddd      | Long day name                   | Monday                          |\n| f         | Fraction of second (1 digit)    | 1                               |\n| ff        | Fraction of second (2 digit)    | 24                              |\n| fff       | Fraction of second (3 digit)    | 345                             |\n| h         | Hour 12-hour format 1 digit     | 5                               |\n| hh        | Hour 12-hour format 2 digits    | 05                              |\n| H         | Hour 24-hour format 1 digit     | 5                               |\n| HH        | Hour 24-hour format 2 digits    | 05                              |\n| mm        | Minutes 2 digits                | 23                              |\n| M         | Month single digit              | 2                               |\n| MM        | Month leading zero              | 02                              |\n| MMM       | Month short name                | Feb                             |\n| MMMM      | Month long name                 | February                        |\n| ss        | Seconds 2 digits                | 54                              |\n| tt        | AM/PM                           | AM                              |\n| yy        | Year 2 digits                   | 12                              |\n| yyyy      | Year 4 digits                   | 2012                            |\n| zz        | Time zone offset                | 05                              |\n| +zz       | Time zone offset leading +      | +05                             |\n| zzz       | Time zone offset full           | 05:00                           |\n| zzzz      | Time zone offset full           | 0500                            |\n| +zzzz     | Time zone offset full leading + | +0500                           |\n\n### sf.TimeSpan\n\n| Specifier | Name                | Example                |\n|-----------|---------------------|------------------------|\n| y         | Years               | 2                      |\n| M         | Months              | 6                      |\n| d         | Days                | 8                      |\n| h         | Hours               | 10                     |\n| m         | Minutes             | 15                     |\n| s         | Seconds             | 5                      |\n| f         | Fraction of Seconds | 9                      |\n\nIf you prefix the specifier with '^' you will get the total number of that value. For\nexample '^s' will output the total number of seconds in the time span. Where as 's' will\nonly output the number of seconds in a minute.\n\nIf you repeat characters the value will be prefixed with zeros.\n\n## sf.indent(str, options)\n\nHelper function to word wrap and indent a string.\n\n__Arguments__\n\n * str - The string to indent and wrap.\n * options\n  * prefix - The prefix to appear at the beginning of each new line.\n  * wordwrap - The maximum length of each line.\n\n## Helper Functions\n\n * sf.log(formatString [, args...]);\n * sf.info(formatString [, args...]);\n * sf.warn(formatString [, args...]);\n * sf.error(formatString [, args...]);\n","maintainers":[{"name":"joeferner","email":"joe@fernsroth.com"}],"time":{"modified":"2022-06-26T18:24:18.554Z","created":"2012-02-16T05:42:00.332Z","0.0.1":"2012-02-16T05:42:01.431Z","0.1.0":"2012-02-17T14:48:29.047Z","0.1.1":"2012-02-18T04:17:19.981Z","0.1.2":"2012-03-08T18:16:59.741Z","0.1.3":"2012-04-02T15:26:06.025Z","0.1.4":"2012-08-23T14:18:40.471Z","0.1.5":"2012-10-11T14:36:01.880Z","0.1.6":"2012-11-15T19:18:57.510Z","0.1.7":"2013-08-22T17:20:48.000Z","0.1.8":"2015-05-27T18:16:11.568Z","0.1.9":"2017-07-20T23:37:23.839Z","0.2.0":"2018-12-31T01:03:43.694Z"},"author":{"name":"Joe Ferner","email":"joe@fernsroth.com"},"repository":{"type":"git","url":"git+https://github.com/joeferner/node-sf.git"},"homepage":"https://github.com/joeferner/node-sf#readme","keywords":["string","format","template"],"bugs":{"url":"https://github.com/joeferner/node-sf/issues"},"license":"MIT","readmeFilename":"README.md"}