mike.holler
04/22/2022, 9:23 PMNumber
type in Kotlin? Number
is kotlin.Number
, which is not what I want. Is there a javascript.Number
or something?turansky
04/22/2022, 9:25 PMmike.holler
04/22/2022, 9:30 PMKotlin numeric types, except forThe above is from the docs. You can access other JS types from Kotlin, so I figured there was a way to get at JSare mapped to JavaScriptkotlin.Long
.Number
Number
directly.turansky
04/22/2022, 9:31 PMDouble
?mike.holler
04/22/2022, 9:33 PMJavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.
Feels weird to do bitwise stuff on it, especially since,
JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.
ephemient
04/22/2022, 9:40 PMx & y
behaves like (x.toInt() and y.toInt()).toDouble()
in Kotlinephemient
04/22/2022, 9:42 PMmike.holler
04/22/2022, 9:43 PMDouble
. That's kind of the answer I was expecting, but figured I would ask. IDK why JS can't have nice numeric types like every other language.mike.holler
04/22/2022, 9:43 PMturansky
04/22/2022, 9:44 PMBigInt
?turansky
04/22/2022, 9:44 PMmike.holler
04/22/2022, 9:45 PMephemient
04/22/2022, 9:45 PMmike.holler
04/22/2022, 9:46 PMBigInt
? Or can it hold arbitrarily large numbers?mike.holler
04/22/2022, 9:47 PMmike.holler
04/22/2022, 9:48 PMBigInt
and autocomplete didn't help me... How do I reference a BigInt from Kotlin?ephemient
04/22/2022, 9:48 PMephemient
04/22/2022, 9:49 PMturansky
04/22/2022, 9:49 PMmike.holler
04/22/2022, 9:51 PMmike.holler
04/22/2022, 9:51 PMBigInt
is available in all (modern) JS runtimes right?mike.holler
04/22/2022, 9:52 PMkotlin-wrappers
for something that's in the stdlib. Figured that would all be mapped already in the kotlin-stdlib.mike.holler
04/22/2022, 9:55 PMmike.holler
04/22/2022, 10:04 PM1.0.1-pre.156-kotlin-1.5.0
mike.holler
04/22/2022, 10:04 PMturansky
04/22/2022, 10:04 PMt feels weird to grab theIn awesome future Kotlin/JS it will be as you expect (I suppose) withfor something that’s in the stdlib. Figured that would all be mapped already in the kotlin-stdlib.kotlin-wrappers
N
JS platforms support.
Right now we add required missed types in wrappers for people who need it right now (like me, like you).
Also important, that we release wrappers very often.
cc @Sergei Grishchenkomike.holler
04/22/2022, 10:07 PMturansky
04/22/2022, 10:08 PMconsole
API support and more usefull timing helpers (setTimeout
, …)turansky
04/22/2022, 10:13 PMwhat the heck are these version numbers1.0.1-pre.156-kotlin-1.5.0
${npm-lib-version}-${build-version}-${kotlin version}
And this question is open 🙂turansky
04/22/2022, 10:15 PMmike.holler
04/22/2022, 10:16 PMturansky
04/22/2022, 10:17 PM0.0.1-pre.331-kotlin-1.6.20
- latest versionturansky
04/22/2022, 10:18 PMmike.holler
04/22/2022, 10:19 PMturansky
04/22/2022, 10:19 PMmike.holler
04/22/2022, 10:20 PMturansky
04/22/2022, 10:20 PMmike.holler
04/22/2022, 10:21 PMmike.holler
04/22/2022, 10:25 PMBigInt
to any other type...mike.holler
04/22/2022, 10:26 PMTurns out it's as easy as passing it to theconstructor:Number
```const myBigInt = BigInt(10); //also works10n
const myNumber = Number(myBigInt);```https://stackoverflow.com/a/53970656
mike.holler
04/22/2022, 10:26 PMNumber
constructor?mike.holler
04/22/2022, 10:28 PMkotlinx.js.JsNumber
, however...
None of the constructors take BigInt
.mike.holler
04/22/2022, 10:29 PMpackage kotlinx.js
@JsName("Number")
external class JsNumber {
internal constructor(value: Int)
internal constructor(value: Double)
internal constructor(value: String)
mike.holler
04/22/2022, 10:29 PMsources.jar
turansky
04/22/2022, 10:31 PMturansky
04/22/2022, 10:33 PM@JsName("Number")
external fun Double(
value: BigInt,
): Double
mike.holler
04/22/2022, 10:33 PMturansky
04/22/2022, 10:35 PMmike.holler
04/22/2022, 10:40 PMmike.holler
04/22/2022, 10:41 PMmike.holler
04/22/2022, 10:42 PMmike.holler
04/22/2022, 10:43 PMtoString
. The answer was probably there the whole timeturansky
04/22/2022, 10:44 PMmike.holler
04/22/2022, 10:47 PMmike.holler
04/22/2022, 10:47 PMmike.holler
04/22/2022, 10:53 PMmike.holler
04/22/2022, 10:56 PMmike.holler
04/22/2022, 10:57 PMjvmMain
and nativeMain
are trivial and left as exercises for the reader 😉mike.holler
04/22/2022, 10:57 PMturansky
04/22/2022, 11:13 PMmike.holler
04/22/2022, 11:19 PMephemient
04/23/2022, 12:19 AMmike.holler
04/23/2022, 12:23 AMmike.holler
04/23/2022, 12:23 AMephemient
04/23/2022, 12:25 AMmike.holler
04/23/2022, 12:28 AMmike.holler
04/23/2022, 12:28 AMmike.holler
04/23/2022, 12:28 AMephemient
04/23/2022, 12:34 AMmike.holler
04/23/2022, 12:34 AMmike.holler
04/23/2022, 12:37 AMephemient
04/23/2022, 12:38 AMmike.holler
04/23/2022, 12:38 AMmike.holler
04/23/2022, 12:39 AMmike.holler
04/23/2022, 12:41 AMephemient
04/23/2022, 12:46 AMturansky
04/27/2022, 8:38 PMYeah okay I’ve got it working now I think. Only question let remaining is what the heck are these version numbersNow version is shorter1.0.1-pre.156-kotlin-1.5.0