67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
|
# quick-format-unescaped
|
||
|
|
||
|
## unescaped ?
|
||
|
|
||
|
Sometimes you want to embed the results of quick-format into another string,
|
||
|
and then escape the whole string.
|
||
|
|
||
|
## usage
|
||
|
|
||
|
```js
|
||
|
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`](http://github.com/davidmarkclements/fast-safe-stringify) or [`fast-redact`](http://github.com/davidmarkclements/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](http://www.nearform.com)
|