Skip to content
This repository was archived by the owner on Dec 17, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions core/api/core.api
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public final class dev/fritz2/core/Id {
public abstract interface class dev/fritz2/core/Inspector {
public abstract fun getData ()Ljava/lang/Object;
public abstract fun getPath ()Ljava/lang/String;
public abstract fun map (Ldev/fritz2/core/Lens;)Ldev/fritz2/core/Inspector;
public fun map (Ldev/fritz2/core/Lens;)Ldev/fritz2/core/Inspector;
}

public final class dev/fritz2/core/Inspector$DefaultImpls {
Expand All @@ -40,12 +40,12 @@ public final class dev/fritz2/core/InspectorKt {
}

public abstract interface class dev/fritz2/core/Lens {
public abstract fun apply (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun apply (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun get (Ljava/lang/Object;)Ljava/lang/Object;
public abstract fun getId ()Ljava/lang/String;
public abstract fun plus (Ldev/fritz2/core/Lens;)Ldev/fritz2/core/Lens;
public fun plus (Ldev/fritz2/core/Lens;)Ldev/fritz2/core/Lens;
public abstract fun set (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
public abstract fun withNullParent ()Ldev/fritz2/core/Lens;
public fun withNullParent ()Ldev/fritz2/core/Lens;
}

public final class dev/fritz2/core/Lens$DefaultImpls {
Expand Down
15 changes: 10 additions & 5 deletions examples/masterdetail/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import com.google.devtools.ksp.gradle.KspTask
import com.google.devtools.ksp.gradle.KspTaskMetadata
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
Expand All @@ -24,6 +22,7 @@ kotlin {
implementation(project(":core"))
implementation(KotlinX.serialization.json)
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jvmMain {
dependencies {
Expand All @@ -36,6 +35,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
15 changes: 10 additions & 5 deletions examples/nestedmodel/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import com.google.devtools.ksp.gradle.KspTask
import com.google.devtools.ksp.gradle.KspTaskMetadata
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
Expand All @@ -23,6 +21,7 @@ kotlin {
dependencies {
implementation(project(":core"))
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jvmMain {
dependencies {
Expand All @@ -35,6 +34,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
16 changes: 11 additions & 5 deletions examples/tictactoe/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import com.google.devtools.ksp.gradle.KspTask
import com.google.devtools.ksp.gradle.KspTaskMetadata

import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
Expand Down Expand Up @@ -29,6 +28,7 @@ kotlin {
dependencies {
implementation(project(":core"))
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jsMain {
dependencies {
Expand All @@ -37,6 +37,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
16 changes: 11 additions & 5 deletions examples/todomvc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import com.google.devtools.ksp.gradle.KspTask
import com.google.devtools.ksp.gradle.KspTaskMetadata

import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
Expand All @@ -24,6 +23,7 @@ kotlin {
dependencies {
implementation(project(":core"))
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jsMain {
dependencies {
Expand All @@ -32,6 +32,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
16 changes: 11 additions & 5 deletions examples/validation/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import com.google.devtools.ksp.gradle.KspTask
import com.google.devtools.ksp.gradle.KspTaskMetadata

import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
Expand All @@ -24,6 +23,7 @@ kotlin {
implementation(project(":core"))
implementation(KotlinX.datetime)
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jvmMain {
dependencies {
Expand All @@ -36,6 +36,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package dev.fritz2.examples.validation
import dev.fritz2.core.Lens
import dev.fritz2.validation.ValidationMessage
import dev.fritz2.validation.validation
import kotlin.time.Clock
import kotlinx.datetime.*

enum class Status(val inputClass: String, val messageClass: String) {
Expand All @@ -14,6 +15,7 @@ data class Message(override val path: String, val status: Status, val text: Stri
override val isError: Boolean = status > Status.Valid
}

@kotlin.time.ExperimentalTime
val personValidator = validation<Person, Message> { inspector ->
// validate name
val name = inspector.map(Person.name())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,15 @@ import kotlinx.dom.addClass
import kotlinx.dom.removeClass
import org.w3c.dom.HTMLDivElement
import org.w3c.dom.get
import kotlin.time.ExperimentalTime

object PersonListStore : RootStore<List<Person>>(emptyList(), job = Job()) {
val add = handle<Person> { list, person ->
list + person
}
}

@OptIn(ExperimentalTime::class)
object PersonStore : ValidatingStore<Person, Unit, Message>(
Person(), personValidator, Unit, Job(), id = Person.id
) {
Expand Down
17 changes: 12 additions & 5 deletions headless-demo/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import com.google.devtools.ksp.gradle.KspTaskMetadata
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask

plugins {
kotlin("multiplatform")
Expand All @@ -7,7 +7,7 @@ plugins {

kotlin {
jvm() // needed for kspCommonMainMetadata

js(IR) {
browser()
}.binaries.executable()
Expand All @@ -22,6 +22,7 @@ kotlin {
dependencies {
implementation(project(":headless"))
}
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
jsMain {
dependencies {
Expand All @@ -41,6 +42,12 @@ kotlin {
}
}

// KSP support for Lens generation
dependencies.kspCommonMainMetadata(project(":lenses-annotation-processor"))
kotlin.sourceSets.commonMain { tasks.withType<KspTaskMetadata> { kotlin.srcDir(destinationDirectory) } }
dependencies {
add("kspCommonMainMetadata", project(":lenses-annotation-processor"))
}

project.tasks.withType(KotlinCompilationTask::class.java).configureEach {
if(name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
Loading
Loading