Skip to content

Commit

Permalink
test(isolated-declarations): arrow function unions in return signature (
Browse files Browse the repository at this point in the history
  • Loading branch information
DonIsaac committed Sep 23, 2024
1 parent cd34f07 commit d6cbbe7
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ const B = () => { return B };
const C = function () {}

const D = () => `${''}`;

const E = (): (() => void) | undefined => {
return () => {};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// All of these are valid function signatures under isolatedDeclarations
export function A(): void {
return;
}

export function B(): (() => void) | undefined {
return () => {};
}

// There should be no declaration for the implementation signature, just the
// two overloads.
export function C(x: string): void
export function C(x: number): void
export function C(x: string | number): void {
return;
}

// private, not emitted
function D(a, b): void {
return;
}
function E(a: number, b: string) {
return `${a} ${b}`;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ declare function A(): unknown;
declare const B: unknown;
declare const C: unknown;
declare const D: () => string;
declare const E: () => (() => void) | undefined;


==================== Errors ====================
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
source: crates/oxc_isolated_declarations/tests/mod.rs
input_file: crates/oxc_isolated_declarations/tests/fixtures/function-signatures.ts
---
```
==================== .D.TS ====================

export declare function A(): void;
export declare function B(): (() => void) | undefined;
export declare function C(x: string): void;
export declare function C(x: number): void;

0 comments on commit d6cbbe7

Please sign in to comment.