Skip to content

Commit 1533ddf

Browse files
committed
chore: wip
1 parent e73671d commit 1533ddf

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

fixtures/output/example-0001.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ export declare const someObject: {
1616
someNestedArray: Array<Array<1 | 2 | 3> | Array<4 | 5 | 6 | 7 | 8 | 9 | 10>>;
1717
someNestedArray2: Array<Array<1 | 2 | 3> | Array<4 | 5 | 6 | 7 | 8 | 9 | 10> | 'dummy value'>;
1818
someNestedArray3: Array<Array<1 | 2 | 3> | Array<4 | 5 | 6 | 7 | 8 | 9 | 10> | 'dummy value' | Array<11 | 12 | 13>>;
19-
someOtherNestedArray: Array<Array<'some text' | 2 | (...args: any[]) => void | (...args: any[]) => void | unknown> | Array<4 | 5 | 6 | 7 | 8 | 9 | 10>>;
20-
someComplexArray: Array<Array<{ key: 'value' }> | Array<{ key2: 'value2' } | 'test' | 1000> | Array<'some string' | (...args: any[]) => void | unknown>>;
19+
someOtherNestedArray: Array<Array<'some text' | 2 | ((...args: any[]) => void) | ((...args: any[]) => void) | unknown> | Array<4 | 5 | 6 | 7 | 8 | 9 | 10>>;
20+
someComplexArray: Array<Array<{ key: 'value' }> | Array<{ key2: 'value2' } | 'test' | 1000> | Array<'some string' | ((...args: any[]) => void) | unknown>>;
2121
someObject: {
2222
key: 'value';
2323
};

src/extract.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -424,13 +424,12 @@ export function inferElementType(element: string): string {
424424

425425
// Handle function references and calls
426426
if (trimmed === 'console.log' || trimmed.endsWith('.log')) {
427-
return '(...args: any[]) => void'
427+
return '((...args: any[]) => void)'
428428
}
429429

430430
// Handle arrow functions
431431
if (trimmed.includes('=>')) {
432-
const arrowFn = trimmed.match(/\(.*\)\s*=>\s*(.*)/)
433-
return '(...args: any[]) => void'
432+
return '((...args: any[]) => void)'
434433
}
435434

436435
// Handle function calls
@@ -463,8 +462,8 @@ export function processNestedArray(elements: string[]): string {
463462
const nestedContent = extractNestedContent(trimmed, '[', ']')
464463
if (nestedContent) {
465464
const nestedElements = splitArrayElements(nestedContent)
466-
// Process each nested element to create a proper union type
467465
const nestedTypes = nestedElements.map(ne => inferElementType(ne.trim()))
466+
// Ensure nested array types are properly formatted
468467
return `Array<${nestedTypes.join(' | ')}>`
469468
}
470469
return 'never'

0 commit comments

Comments
 (0)