Skip to content
This repository was archived by the owner on Nov 6, 2019. It is now read-only.

Commit 1f5cede

Browse files
committed
Support destructured function parameters
1 parent 334758c commit 1f5cede

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

src/converter/converterUtils.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ fun DeclarationName.asString() = when (kind) {
4949
SyntaxKind.Identifier -> {
5050
this.cast<Identifier>().unescapedText
5151
}
52+
SyntaxKind.ObjectBindingPattern -> {
53+
// TODO find better solution
54+
// TODO: could we use it as fallback?
55+
this.parent.asDynamic().symbol.escapedName.unsafeCast<String>()
56+
}
5257
else -> {
5358
reportUnsupportedNode(this)
5459
null
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package ObjectBindingPattern
2+
3+
external interface `T$0` {
4+
var a: Any
5+
var s: String
6+
}
7+
external fun f4(__0: `T$0`): Unit = definedExternally
8+
external fun f5(__0: `T$0`, p: `T$0`, __2: `T$0`): Unit = definedExternally
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
declare function f4({a, s}: { a: any, s: string });
2+
3+
declare function f5({a: aa, s: ss}: { a: any, s: string }, p: { a: any, s: string }, {a, s}: { a: any, s: string });

0 commit comments

Comments
 (0)