Fabric-language-kotlin 2021 Today

dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") }

fun main() { val json = Json { ignoreUnknownKeys = true isLenient = true coerceInputValues = true serializersModule = SerializersModule { contextual(LocalDate::class, LocalDateSerializer) contextual(LocalDateTime::class, LocalDateTimeSerializer) } } fabric-language-kotlin

def generate_users(n: int, output_file: str = "users.json"): """Generate N synthetic users and save to JSON Lines format.""" with open(output_file, "w") as f: for _ in range(n): user = user_fabricator.generate() # Add a derived field user["days_since_last_login"] = ( datetime.now() - datetime.fromisoformat(user["last_login"].replace("Z", "+00:00")) ).days if user["last_login"] else None f.write(json.dumps(user) + "\n") print(f"Generated {n} users → {output_file}") dependencies { implementation("org

@Serializable data class User( @SerialName("user_id") val userId: String, @SerialName("full_name") val fullName: String, val email: String, val age: Int, @SerialName("signup_date") val signupDate: LocalDate, @SerialName("is_active") val isActive: Boolean, @SerialName("last_login") val lastLogin: LocalDateTime?, val preferences: Preferences, @SerialName("days_since_last_login") val daysSinceLastLogin: Int? = null ) LocalDateTimeSerializer) } } def generate_users(n: int

// 1. Active Kotlin users val activeKotlinUsers = users.filter { it.isActive && it.preferences.language == "Kotlin" } println("\nActive Kotlin users: ${activeKotlinUsers.size}") activeKotlinUsers.take(3).forEach { println(" - ${it.fullName} (${it.email})") }