What is quick-format-unescaped?
The quick-format-unescaped npm package is a fast and efficient string formatting library. It is designed to handle unescaped string formatting, making it suitable for performance-critical applications where escaping is not required.
What are quick-format-unescaped's main functionalities?
Basic String Formatting
This feature allows you to format strings by replacing placeholders with provided values. The `%s` placeholder is replaced with the string 'world'.
const format = require('quick-format-unescaped');
const result = format('Hello, %s!', 'world');
console.log(result); // Output: Hello, world!
Multiple Placeholders
This feature supports multiple placeholders in a single string. The `%s` and `%d` placeholders are replaced with 'Alice' and 30, respectively.
const format = require('quick-format-unescaped');
const result = format('%s is %d years old.', 'Alice', 30);
console.log(result); // Output: Alice is 30 years old.
Object Formatting
This feature allows you to format objects using the `%j` placeholder, which converts the object to a JSON string.
const format = require('quick-format-unescaped');
const user = { name: 'Bob', age: 25 };
const result = format('User: %j', user);
console.log(result); // Output: User: {"name":"Bob","age":25}
Other packages similar to quick-format-unescaped
util
The 'util' package is a core Node.js module that provides various utility functions, including string formatting with `util.format()`. It is more versatile but may not be as fast as quick-format-unescaped for unescaped formatting.
sprintf-js
The 'sprintf-js' package is a comprehensive string formatting library that supports a wide range of formatting options. It is more feature-rich but may be slower compared to quick-format-unescaped.
fast-format
The 'fast-format' package is another high-performance string formatting library. It is similar in speed to quick-format-unescaped but may offer different API features and options.
quick-format-unescaped
unescaped ?
Sometimes you want to embed the results of quick-format into another string,
and then escape the whole string.
usage
var format = require('quick-format-unescaped')
format('hello %s %j %d', ['world', [{obj: true}, 4, {another: 'obj'}]])
format(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
.
caveats
By default quick-format-unescaped
uses JSON.stringify
instead of util.inspect
, this means functions will not be serialized.
Benchmarks
Node 8.11.2
util*100000: 350.325ms
quick*100000: 268.141ms
utilWithTailObj*100000: 586.387ms
quickWithTailObj*100000: 280.200ms
util*100000: 325.735ms
quick*100000: 270.251ms
utilWithTailObj*100000: 492.270ms
quickWithTailObj*100000: 261.797ms
Node 10.4.0
util*100000: 301.035ms
quick*100000: 217.005ms
utilWithTailObj*100000: 404.778ms
quickWithTailObj*100000: 236.176ms
util*100000: 286.349ms
quick*100000: 214.646ms
utilWithTailObj*100000: 388.574ms
quickWithTailObj*100000: 226.036ms
Acknowledgements
Sponsored by nearForm