@visulima/fmt v1.1.15
Install
npm install @visulima/fmtyarn add @visulima/fmtpnpm add @visulima/fmtUsage
import { format } from "@visulima/fmt";
const formatted = format("hello %s %j %d", ["world", [{ obj: true }, 4, { another: "obj" }]]);
console.log(formatted); // hello world [{"obj":true},4,{"another":"obj"}] NaNformat(fmt, parameters, options)
fmt
A printf-like format string. Example: 'hello %s %j %d'
parameters
Array of values to be inserted into the format string. Example: ['world', {obj:true}]
options.stringify
Passing an options object as the third parameter with a stringify will mean
any objects will be passed to the supplied function instead of an the
internal tryStringify function. This can be useful when using augmented
capability serializers such as fast-safe-stringify or fast-redact.
uses
JSON.stringifyinstead ofutil.inspect, this means functions will not be serialized.
build
With the build function you can generate a format function that is optimized for your use case.
import { build } from "@visulima/fmt";
const format = build({
    formatters: {
        // Pass in whatever % interpolator you want, as long as it's a single character;
        // in this case, it's `t`.
        // The formatter should be a function that takes in a value and returns the formatted value.
        t: (time) => new Date(time).toLocaleString(),
    },
});
const formatted = format("hello %s at %t", ["world", Date.now()]);
console.log(formatted); // hello world at 1/1/1970, 1:00:00 AMFormat Specifiers
Format specifiers are dependent on the type of data-elements that are to be added to the string. The most commonly used format specifiers supported are:
| Specifier | Description | 
|---|---|
| %s | Converts all values except for BigInt,-0andObjectto a string. | 
| %d | Used to convert any value to Numberof any type other thanBigIntandSymbol. | 
| %i | Used for all values except BigIntandSymbol. | 
| %f | Used to convert a value to type Float. It does not support conversion of values of typeSymbol. | 
| %j | Used to add JSON data. If a circular reference is present, the string ‘Circular’ is added instead. | 
| %o | Adds the string representation of an object. Note that it does not contain non-enumerable characteristics of the object. | 
| %O | Adds the string representation of an object. Note that it will contain all characteristics of the object, including non-enumerable ones. | 
| %c | Will parse basic CSS from the substitution subject like color: redinto ANSI color codes. These codes will then be placed where the%cspecifier is. Supported CSS properties arecolor,background-color,font-weight,font-style,text-decoration,text-decoration-color, andtext-decoration-line. Unsupported CSS properties are ignored. An empty%cCSS string substitution will become an ANSI style reset. If color is disabled,%cis ignored. | 
| %% | Used to add the % sign. | 
Benchmark
Supported Node.js Versions
Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.
Contributing
If you would like to help take a look at the list of issues and check our Contributing guild.
Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Credits
License
The visulima fmt is open-sourced software licensed under the MIT
typescript-url: https://www.typescriptlang.org/ "TypeScript" "typescript"