diff --git a/src/generation/generate.rs b/src/generation/generate.rs index 78e5f84a..e9fa2f6a 100644 --- a/src/generation/generate.rs +++ b/src/generation/generate.rs @@ -6847,7 +6847,7 @@ fn gen_close_paren_with_type<'a>(opts: GenCloseParenWithTypeOptions<'a>, context items.push_condition(if_true( "newLineIfHeaderHangingAndTypeNodeMultipleLines", Rc::new(move |context| { - if !has_type_node { + if !has_type_node || context.writer_info.is_start_of_line() { return Some(false); } diff --git a/tests/specs/issues/issue0382.txt b/tests/specs/issues/issue0382.txt new file mode 100644 index 00000000..f0e303dd --- /dev/null +++ b/tests/specs/issues/issue0382.txt @@ -0,0 +1,22 @@ +~~ deno: true ~~ +== should not add trailing blank line after parameters in function type == +// this is weird code, but it's set to maintain type argument newlines +type TestingTestTesttttttt = + T extends Testing ? ( + ...args: Test + ) => Other< + Test, + Test + > + : never; + +[expect] +// this is weird code, but it's set to maintain type argument newlines +type TestingTestTesttttttt = + T extends Testing ? ( + ...args: Test + ) => Other< + Test, + Test + > + : never;