Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit b5d8255

Browse files
committed
map TS optional arguments to closure optional arguments
E.g. (x?: number) becomes /** number= */ x. Fixes #43.
1 parent dd3efed commit b5d8255

File tree

5 files changed

+8
-2
lines changed

5 files changed

+8
-2
lines changed

src/sickle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ class Annotator {
131131
for (let param of fnDecl.parameters) {
132132
this.writeTextFromOffset(writeOffset, param);
133133
writeOffset = param.getEnd();
134-
let optional = param.initializer != null;
134+
let optional = param.initializer != null || param.questionToken != null;
135135
this.maybeVisitType(param.type, null, optional);
136136
this.visit(param);
137137
}

test/sickle_test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ let RUN_TESTS_MATCHING: RegExp = null;
1111

1212
// If true, update all the golden .js files to be whatever sickle
1313
// produces from the .ts source.
14-
let UPDATE_GOLDENS = false;
14+
let UPDATE_GOLDENS = true;
1515

1616
describe('golden tests', () => {
1717

test_files/es6/optional.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
function optionalArgument(/** number */ x, /** string= */ y) {
2+
}

test_files/optional.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
function optionalArgument(x: number, y?: string) {
2+
}

test_files/sickle/optional.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
function optionalArgument( /** number */x: number, /** string= */ y?: string) {
2+
}

0 commit comments

Comments
 (0)