diff --git a/crates/oxc_linter/src/rules/unicorn/prefer_array_flat_map.rs b/crates/oxc_linter/src/rules/unicorn/prefer_array_flat_map.rs index 89dc074564d7c..2db1ea1ebbadc 100644 --- a/crates/oxc_linter/src/rules/unicorn/prefer_array_flat_map.rs +++ b/crates/oxc_linter/src/rules/unicorn/prefer_array_flat_map.rs @@ -69,7 +69,7 @@ impl Rule for PreferArrayFlatMap { if let Some(first_arg) = flat_call_expr.arguments.first() { if let Argument::NumericLiteral(number_lit) = first_arg { - if number_lit.raw.as_ref().unwrap() != "1" { + if (number_lit.value - 1.0).abs() > f64::EPSILON { return; } } else { @@ -117,7 +117,6 @@ fn test() { ("const bar = [[1],[2],[3]].map(i => [i]).flat(+1)", None), ("const bar = [[1],[2],[3]].map(i => [i]).flat(foo)", None), ("const bar = [[1],[2],[3]].map(i => [i]).flat(foo.bar)", None), - ("const bar = [[1],[2],[3]].map(i => [i]).flat(1.00)", None), ]; let fail = vec![ @@ -134,6 +133,7 @@ fn test() { ("const bar = (([1,2,3].map(i => [i]))).flat()", None), ("let bar = [1,2,3] . map( x => y ) . flat () // ๐Ÿคช", None), ("const bar = [1,2,3].map(i => [i]).flat(1);", None), + ("const bar = [[1],[2],[3]].map(i => [i]).flat(1.00)", None), ]; let fix = vec![ diff --git a/crates/oxc_linter/src/snapshots/unicorn_prefer_array_flat_map.snap b/crates/oxc_linter/src/snapshots/unicorn_prefer_array_flat_map.snap index a0367d422972e..0624d148882d0 100644 --- a/crates/oxc_linter/src/snapshots/unicorn_prefer_array_flat_map.snap +++ b/crates/oxc_linter/src/snapshots/unicorn_prefer_array_flat_map.snap @@ -91,3 +91,10 @@ source: crates/oxc_linter/src/tester.rs ยท โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ•ฐโ”€โ”€โ”€โ”€ help: Prefer `.flatMap(โ€ฆ)` over `.map(โ€ฆ).flat()`. + + โš  eslint-plugin-unicorn(prefer-array-flat-map): `Array.flatMap` performs `Array.map` and `Array.flat` in one step. + โ•ญโ”€[prefer_array_flat_map.tsx:1:13] + 1 โ”‚ const bar = [[1],[2],[3]].map(i => [i]).flat(1.00) + ยท โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + โ•ฐโ”€โ”€โ”€โ”€ + help: Prefer `.flatMap(โ€ฆ)` over `.map(โ€ฆ).flat()`.