Skip to content

Commit 5c8ffff

Browse files
committed
fu upgrade
1 parent 842e054 commit 5c8ffff

File tree

6 files changed

+23
-12
lines changed

6 files changed

+23
-12
lines changed

amf/src/commonMain/kotlin/io/github/thibaultbee/krtmp/amf/elements/AmfElementFactory.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ import io.github.thibaultbee.krtmp.amf.elements.primitives.AmfNull
2424
import io.github.thibaultbee.krtmp.amf.elements.primitives.AmfNumber
2525
import io.github.thibaultbee.krtmp.amf.elements.primitives.AmfString
2626
import io.github.thibaultbee.krtmp.amf.elements.primitives.amfDateOf
27-
import kotlinx.datetime.Instant
2827
import kotlinx.io.IOException
28+
import kotlin.time.ExperimentalTime
29+
import kotlin.time.Instant
2930

3031
object AmfElementFactory {
3132
fun buildContainer(value: List<Any?>) = amfContainerOf(value)
@@ -36,6 +37,7 @@ object AmfElementFactory {
3637

3738
fun buildStrictArray(value: List<Any?>) = amfStrictArrayOf(value)
3839

40+
@OptIn(ExperimentalTime::class)
3941
fun build(value: Any?): AmfElement {
4042
if (value == null) {
4143
return AmfNull()

amf/src/commonMain/kotlin/io/github/thibaultbee/krtmp/amf/elements/primitives/AmfDate.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,20 @@ package io.github.thibaultbee.krtmp.amf.elements.primitives
1717

1818
import io.github.thibaultbee.krtmp.amf.elements.Amf0Type
1919
import io.github.thibaultbee.krtmp.amf.elements.AmfElement
20-
import kotlinx.datetime.Instant
2120
import kotlinx.io.Sink
2221
import kotlinx.io.Source
2322
import kotlinx.io.readDouble
2423
import kotlinx.io.writeDouble
24+
import kotlin.time.ExperimentalTime
25+
import kotlin.time.Instant
2526

2627
fun amf0DateFrom(source: Source): AmfDate {
2728
val type = source.readByte()
2829
require(type == Amf0Type.DATE.value) { "Amf0Date cannot read buffer because it's not DATE type" }
2930
return AmfDate(source.readDouble().toLong(), source.readShort())
3031
}
3132

33+
@OptIn(ExperimentalTime::class)
3234
fun amfDateOf(instant: Instant): AmfDate {
3335
return AmfDate(instant.toEpochMilliseconds(), 0)
3436
}

amf/src/commonMain/kotlin/io/github/thibaultbee/krtmp/amf/internal/AmfEncoder.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import io.github.thibaultbee.krtmp.amf.elements.primitives.AmfNull
2525
import io.github.thibaultbee.krtmp.amf.elements.primitives.AmfString
2626
import io.github.thibaultbee.krtmp.amf.elements.primitives.amfDateOf
2727
import io.github.thibaultbee.krtmp.amf.internal.amf0.isDate
28-
import kotlinx.datetime.Instant
2928
import kotlinx.serialization.ExperimentalSerializationApi
3029
import kotlinx.serialization.InternalSerializationApi
3130
import kotlinx.serialization.SerializationStrategy
@@ -35,6 +34,8 @@ import kotlinx.serialization.encoding.CompositeEncoder
3534
import kotlinx.serialization.encoding.Encoder
3635
import kotlinx.serialization.internal.NamedValueEncoder
3736
import kotlinx.serialization.modules.SerializersModule
37+
import kotlin.time.ExperimentalTime
38+
import kotlin.time.Instant
3839

3940

4041
// ECMA array is a map [fieldName, fieldValue]
@@ -129,12 +130,15 @@ internal sealed class AbstractAmfWriter(
129130

130131
override fun encodeTaggedNull(tag: String) = putElement(tag, AmfNull())
131132

133+
@OptIn(ExperimentalTime::class)
132134
fun encodeDate(value: Instant) = amfDateOf(value)
133135

136+
@OptIn(ExperimentalTime::class)
134137
fun encodeTaggedDate(tag: String, value: Instant) {
135138
putElement(tag, encodeDate(value))
136139
}
137140

141+
@OptIn(ExperimentalTime::class)
138142
override fun <T> encodeSerializableValue(serializer: SerializationStrategy<T>, value: T) {
139143
when {
140144
serializer.descriptor.isDate -> {

amf/src/commonMain/kotlin/io/github/thibaultbee/krtmp/amf/internal/amf0/Date.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@
1515
*/
1616
package io.github.thibaultbee.krtmp.amf.internal.amf0
1717

18-
import kotlinx.datetime.Instant
18+
import kotlinx.serialization.builtins.serializer
1919
import kotlinx.serialization.descriptors.SerialDescriptor
20+
import kotlin.time.ExperimentalTime
21+
import kotlin.time.Instant
2022

2123
// TODO: Add support for other date types
24+
@OptIn(ExperimentalTime::class)
2225
val SerialDescriptor.isDate: Boolean
2326
get() = this == Instant.serializer().descriptor

gradle/libs.versions.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[versions]
2-
agp = "8.10.1"
2+
agp = "8.11.0"
33
clikt = "5.0.3"
44
flexMessagingCore = "4.8.0"
5-
kotlin = "2.1.21"
5+
kotlin = "2.2.0"
66
dokka = "2.0.0"
77
kotlinxCoroutines = "1.10.2"
8-
kotlinxDatetime = "0.6.2"
8+
kotlinxDatetime = "0.7.0"
99
kotlinxKover = "0.9.1"
10-
kotlinxIo = "0.7.0"
11-
kotlinxSerialization = "1.8.0"
12-
ktor = "3.2.0"
10+
kotlinxIo = "0.8.0"
11+
kotlinxSerialization = "1.9.0"
12+
ktor = "3.2.1"
1313
detekt = "1.23.8"
1414
publish = "2.0.0"
1515

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Jul 03 22:04:50 CEST 2024
1+
#Wed Jul 02 11:31:47 CEST 2025
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)