elemental-string-format

0.1.2 • Public • Published

Elemental String Formatter

Can be used standalone, though this library was developed to add missing functionality into the Elemental Low-code platform.

This library provides the ability to format strings in the same way as String.Format in .NET.

Basic usage:

const stringFormat = require("elemental-string-format");

process.env.LANG = 'en_GB';

console.log(
    [
        // general
            // positional arguments - The first value is: The
            stringFormat("{0} {1}: {0}", "The", "first value is"),
            // left padded alignment -     padded
            stringFormat("{0,-10}", "padded"),
            // right padded alignment - world     hello
            stringFormat("{0,10}hello", "world"),

        // numbers
            // currency, supports decimal places {0:c4} - £3.14
            stringFormat("{0:c}", 3.14),
            // fixed point, defaults to 6 places if no arg given - 1.2346
            stringFormat("{0:f4}", 1.23456),
            // zero padded number - 0012
            stringFormat("{0:d4}", 12),
            // exponential - -1.05e+003
            stringFormat("{0:e2}", -1052.0329112756),
            // general number format - 123.5
            stringFormat("{0:G4}", 123.4546),
            // human natural - 1,234,567,890.00
            stringFormat("{0:N}", 1234567890),
            // percentage - 12%
            stringFormat("{0:P}", 0.12),
            // round trip number - 1.23
            stringFormat("{0:R}", 1.23),
            // hexadecimal - 00ff
            stringFormat("{0:x4}", 255),

        // dates/times
            // short date format - 20/01/2020 UK, 1/20/2020 USA
            stringFormat("{0:d}", new Date()),
            // long date format - Wednesday, January 1, 2020
            stringFormat("{0:D}", new Date()),
            // full date short time - Wednesday, January 1, 2020 1:34 PM
            stringFormat("{0:f}", new Date()),
            // full date long time - Wednesday, January 1, 20202 1:34:45 PM
            stringFormat("{0:F}", new Date()),
            // year month - January 2020
            stringFormat("{0:Y}", new Date()),
            // day month - January 1
            stringFormat("{0:M}", new Date()),
            // universal sortable - 01-01-2020 13:34:45Z
            stringFormat("{0:u}", new Date()),
            // short time - 1:34 PM
            stringFormat("{0:t}", new Date()),
            // long time - 1:34:45 PM
            stringFormat("{0:T}", new Date()),
            // RFC1123 - Wed, 1 Jan 2020 13:34:45
            stringFormat("{0:R}", new Date()),
            // round trip
            stringFormat("{0:O}", new Date()),
            // general short time - 20/01/2020 1:34 PM
            stringFormat("{0:g}", new Date()),
            // general long time - 20/01/2020 1:34:45 PM
            stringFormat("{0:G}", new Date()),
    ].join("\n")
);

Dependencies (1)

Dev Dependencies (2)

Package Sidebar

Install

npm i elemental-string-format

Weekly Downloads

2

Version

0.1.2

License

MIT

Unpacked Size

40.1 kB

Total Files

36

Last publish

Collaborators

  • philipskinner