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 3 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