This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit 2a99e086982cd72cae35067c560c8c181cc0cffa Author: chaokunyang <[email protected]> AuthorDate: Mon Jun 29 07:08:00 2026 +0000 🔄 synced local 'docs/specification/' with remote 'docs/specification/' --- docs/specification/xlang_type_mapping.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/specification/xlang_type_mapping.md b/docs/specification/xlang_type_mapping.md index 1e7976fa06..a3e877710a 100644 --- a/docs/specification/xlang_type_mapping.md +++ b/docs/specification/xlang_type_mapping.md @@ -90,9 +90,9 @@ FDL spells them as an encoding modifier plus a semantic integer type. | named_ext | 32 | pojo/record | data class | object | struct/class | struct | struct | `[ForyStruct]` class/struct | @ForyStruct struct/class | @ForyStruct class | case class/class | data class/class | | union | 33 | Union | typing.Union | / | `std::variant<Ts...>` | / | tagged union enum | `[ForyUnion]` ADT record | tagged enum | @ForyUnion class | ADT enum | sealed class | | none | 36 | null | None | null | `std::monostate` | nil | `()` | null | nil | null | null | null | -| duration | 37 | Duration | timedelta | Number | duration | Duration | Duration | TimeSpan | Duration | Duration | java.time.Duration | kotlin.time.Duration | -| timestamp | 38 | Instant | datetime | Number | std::chrono::nanoseconds | Time | Timestamp | DateTime/DateTimeOffset | Date | Timestamp | java.time.Instant | java.time.Instant | -| date | 39 | LocalDate | datetime.date | Date | fory::serialization::Date | fory.Date | Date | DateOnly | LocalDate | LocalDate | java.time.LocalDate | java.time.LocalDate | +| duration | 37 | Duration | timedelta | Number | fory::Duration | Duration | Duration | TimeSpan | Duration | Duration | java.time.Duration | kotlin.time.Duration | +| timestamp | 38 | Instant | datetime | Number | fory::Timestamp | Time | Timestamp | DateTime/DateTimeOffset | Date | Timestamp | java.time.Instant | java.time.Instant | +| date | 39 | LocalDate | datetime.date | Date | fory::Date | fory.Date | Date | DateOnly | LocalDate | LocalDate | java.time.LocalDate | java.time.LocalDate | | decimal | 40 | BigDecimal | Decimal | Decimal | fory::serialization::Decimal | fory.Decimal | fory::Decimal | decimal | Decimal | Decimal | java.math.BigDecimal | java.math.BigDecimal | | binary | 41 | byte[] | bytes | / | `uint8_t[n]/vector<T>` | `[n]uint8/[]T` | `Vec<u8>` | byte[] | Data | Uint8List | Array[Byte] | ByteArray | | `array<bool>` (bool_array) | 43 | bool[] | BoolArray / ndarray(np.bool\_) | BoolArray / Type.boolArray() | `bool[n]` | `[n]bool/[]T` | `Vec<bool>` | bool[] | [Bool] + @ArrayField | BoolList | Array[Boolean] | BooleanArray | @@ -127,6 +127,9 @@ Notes: of the current xlang type-mapping surface. - Current xlang uses `*_ARRAY` for one-dimensional primitive arrays and nested `list` for multi-dimensional arrays. +- C++ xlang `date`, `timestamp`, and `duration` map to `fory::Date`, `fory::Timestamp`, and + `fory::Duration` for generated schemas and dynamic `std::any` values. `std::chrono` temporal + types are explicit C++ serialization and deserialization targets only. - Kotlin KSP xlang maps `UByte`, `UShort`, `UInt`, and `ULong` to `uint8`, `uint16`, `uint32`, and `uint64`. Kotlin primitive and unsigned array carriers map to dense arrays. `ByteArray` maps to `binary` by default and to --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
