# clsx v1.1.1
- Product: clsx (https://whatsnew.fyi/product/clsx)
- Vendor: Luke Edwards
- Date: 2020-05-30
- Version: v1.1.1
- Original notes: https://github.com/lukeed/clsx/releases/tag/v1.1.1
- Permalink: https://whatsnew.fyi/product/clsx/releases/v1.1.1
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
---
> **Note:** This is a performance-related patch only!
Across all benchmarks, this version of `clsx` is ~1M ops/sec _faster_ than `clsx@1.1.0`.
...It also happens to be 1 byte (gzip) smaller 😅🎉
##### Patches
- fix: Remove needless spacer on string/number condition: ff11464
- fix: Remove unnecessary recursive caller for object keys: f43dd23
- perf: Guard all `toVal` calls with truthy assertions: 4fa8811, 019ec02
- perf: Reorder `typeof` checks for common case: 08a5a7f
##### Chores
- Run [CI](https://github.com/lukeed/clsx/actions?query=workflow%3ACI) via GitHub Actions: 64af363, 883363b, 866620d, 768ffab, 5e92fdf
- Report code coverage within CI script: 0fb6d98
- Use `esm` hook with tests: 0287e40
- Update module size (-1 byte): 7e8c75e
- Update benchmark results: 75053c0
- Lock all dev-deps: 3c6aa3f
- Update badges: fd1533f
##### Benchmarks
> Run on Node.js v10.13.0.
You may find updated browser benchmarks [here](https://github.com/lukeed/clsx/tree/master/bench).
The snippet below is comparing `clsx@1.1.1` (this version) to the previous version, and to `classnames` for ballpark comparison. All candidates are functionally identical!
```
#### Strings
classnames x 3,992,284 ops/sec ±1.64% (94 runs sampled)
clsx@1.1.0 x 11,253,372 ops/sec ±0.35% (96 runs sampled)
clsx@1.1.1 x 12,784,134 ops/sec ±0.42% (97 runs sampled)
#### Objects
classnames x 3,772,978 ops/sec ±0.46% (96 runs sampled)
clsx@1.1.0 x 7,288,178 ops/sec ±0.31% (96 runs sampled)
clsx@1.1.1 x 9,412,010 ops/sec ±0.42% (95 runs sampled)
#### Arrays
classnames x 1,665,275 ops/sec ±1.83% (93 runs sampled)
clsx@1.1.0 x 8,340,174 ops/sec ±0.53% (96 runs sampled)
clsx@1.1.1 x 9,141,916 ops/sec ±0.42% (95 runs sampled)
#### Nested Arrays
classnames x 1,164,706 ops/sec ±1.60% (95 runs sampled)
clsx@1.1.0 x 6,284,485 ops/sec ±0.58% (90 runs sampled)
clsx@1.1.1 x 7,165,151 ops/sec ±0.47% (91 runs sampled)
#### Nested Arrays w/ Objects
classnames x 1,597,180 ops/sec ±1.49% (93 runs sampled)
clsx@1.1.0 x 6,345,248 ops/sec ±0.21% (95 runs sampled)
clsx@1.1.1 x 7,651,411 ops/sec ±0.56% (95 runs sampled)
#### Mixed
classnames x 2,129,199 ops/sec ±1.46% (94 runs sampled)
clsx@1.1.0 x 6,557,515 ops/sec ±0.73% (91 runs sampled)
clsx@1.1.1 x 8,119,210 ops/sec ±0.42% (93 runs sampled)
#### Mixed (Bad Data)
classnames x 1,166,577 ops/sec ±0.84% (94 runs sampled)
clsx@1.1.0 x 2,018,654 ops/sec ±0.15% (98 runs sampled)
clsx@1.1.1 x 2,238,939 ops/sec ±0.34% (95 runs sampled)
```