mmaillot
03/26/2018, 3:20 PMObject.getPrototypeOf(input) === Object.prototype
) ?Roman Artemev [JB]
03/26/2018, 4:51 PMmmaillot
03/26/2018, 8:00 PMmmaillot
03/26/2018, 8:02 PMval d: dynamic = object{}
d["name"] = "John"
d["age"] = 50
But it's ugly...Tristan Caron
03/27/2018, 10:38 AManton.bannykh
03/27/2018, 11:03 AMexternal interface A {
val name: String
val age: Int
}
fun js(builder: dynamic.() -> Unit): dynamic {
val result = Any().asDynamic()
builder(result)
return result
}
fun A(name: String, age: Int): A = js {
this.name = name
this.age = age
}
fun main(args: Array<String>) {
val a = A("John", 20)
println(a.name)
println(a.age)
println(js("Object.getPrototypeOf(a) === Object.prototype"))
}
anton.bannykh
03/27/2018, 11:09 AMjs
builder makes JS Object creation a bit simpler.anton.bannykh
03/27/2018, 11:09 AMAny()
is translated to new Object()
Tristan Caron
03/27/2018, 11:25 AMmmaillot
03/27/2018, 12:16 PManton.bannykh
04/02/2018, 4:57 PMmmaillot
04/03/2018, 1:21 PMJSON.parse(JSON.stringify(metadata))
It's a hack but we keep the convenience of data class.