An implementation of node's util.format and util.formatWithOptions
npm install util-format-x href="https://travis-ci.org/Xotic750/util-format-x"
title="Travis status"> src="https://travis-ci.org/Xotic750/util-format-x.svg?branch=master"
alt="Travis status" height="18">
href="https://david-dm.org/Xotic750/util-format-x"
title="Dependency status"> alt="Dependency status" height="18"/>
href="https://david-dm.org/Xotic750/util-format-x?type=dev"
title="devDependency status"> alt="devDependency status" height="18"/>
href="https://badge.fury.io/js/util-format-x"
title="npm version"> alt="npm version" height="18">
href="https://www.jsdelivr.com/package/npm/util-format-x"
title="jsDelivr hits"> alt="jsDelivr hits" height="18">
href="https://bettercodehub.com/results/Xotic750/util-format-x"
title="bettercodehub score"> alt="bettercodehub score" height="18">
href="https://coveralls.io/github/Xotic750/util-format-x?branch=master"
title="Coverage Status"> alt="Coverage Status" height="18">
An implementation of node's util.format and util.formatWithOptions
- util-format-x
- .format ⇒ boolean
- .formatWithOptions ⇒ boolean
See: https://nodejs.org/api/assert.html
The format() method returns a formatted string using the first argument as a printf-like format.
The first argument is a string containing zero or more placeholder tokens. Each placeholder token is
replaced with the converted value from the corresponding argument. Supported placeholders are:
%s - String.
%d - Number (integer or floating point value) or BigInt.
%i - Integer or BigInt.
%f - Floating point value.
%j - JSON. Replaced with the string '[Circular]' if the argument contains circular references.
%o - Object. A string representation of an object with generic JavaScript object formatting. Similar to inspect() with
options { showHidden: true, showProxy: true }. This will show the full object including non-enumerable properties and proxies.
%O - Object. A string representation of an object with generic JavaScript object formatting. Similar to inspect() without options.
This will show the full object not including non-enumerable properties and proxies.
%% - single percent sign ('%'). This does not consume an argument.
Kind: Exported member
Returns: \* - The target.
| Param | Type | Description |
| --------- | ------------------- | ----------- |
| f | string | Template. |
| [...args] | \* | Values. |
Example
``js
import {format} from 'util-format-x';
// If the placeholder does not have a corresponding argument,
// the placeholder is not replaced.
format('%s:%s', 'foo'); // Returns: 'foo:%s'
// If there are more arguments passed to the format() method than the number
// of placeholders, the extra arguments are coerced into strings (for objects
// and symbols, inspect() is used) then concatenated to the returned
// string, each delimited by a space.
format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
// If the first argument is not a format string then format() returns a
// string that is the concatenation of all arguments separated by spaces.
// Each argument is converted to a string using inspect().
format(1, 2, 3); // '1 2 3'
// If only one argument is passed to format(), it is returned as it is
//without any formatting.
format('%% %s'); // '%% %s'
`
See: https://nodejs.org/api/assert.html
This function is identical to format(), except in that it takes an inspectOptions argument which specifies options that are passed along to inspect().
`js
import {formatWithOptions} from 'util-format-x';
formatWithOptions({colors: true}, 'See object %O', {foo: 42});
// Returns 'See object { foo: 42 }', where 42 is colored as a number``
// when printed to a terminal.