Skip to content

Commit

Permalink
use createNavigationCommandProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
AradiPatrik committed Jun 17, 2023
1 parent fe6fc18 commit a4c6733
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 21 deletions.
4 changes: 4 additions & 0 deletions src/templates/api/ApiBuild.handlebars
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")

`android-config`
}
Expand All @@ -13,4 +14,7 @@ android {
dependencies {
implementation(navigation())
implementation(libs.compose)

implementation(libs.moshi)
ksp(libs.moshiCompiler)
}
13 changes: 3 additions & 10 deletions src/templates/api/FeatureEntry.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,13 @@ import {{ base_package }}.navigation.EmptyInput
import {{ base_package }}.navigation.FeatureEntry
import {{ base_package }}.navigation.NavigationCommand
import {{ base_package }}.navigation.NavigationCommandProvider
import {{ base_package }}.navigation.createNavigationCommandProvider


/**
* Define arguments and start destination for the feature.
*/
abstract class {{ pascal module }}FeatureEntry : FeatureEntry<EmptyInput> {
companion object : NavigationCommandProvider<EmptyInput> {
override val featureRoute: String = "{{ kebab module }}"
override val arguments = emptyList<NamedNavArgument>()

override fun destination(input: EmptyInput) = object : NavigationCommand {
override val arguments: List<NamedNavArgument> = [email protected]
override val destinationFeatureRoute: String = featureRoute
override val destination: String = featureRoute
}
}
companion object :
NavigationCommandProvider<EmptyInput> by createNavigationCommandProvider("{{ kebab module }}")
}
6 changes: 5 additions & 1 deletion src/templates/impl/ImplBuild.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
kotlin("kapt")
id("com.google.devtools.ksp")

`android-config`
}
Expand All @@ -14,8 +15,11 @@ android {
dependencies {
applyFeatureCommon()
implementation({{ camel module }}.api())
implementation(libs.compose, libs.coroutines, libs.paging)
implementation(libs.compose, libs.coroutines)

implementation(libs.dagger)
kapt(libs.daggerCompiler)

implementation(libs.moshi)
ksp(libs.moshiCompiler)
}
1 change: 1 addition & 0 deletions src/templates/impl/directions/FeatureDirections.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {{ base_package }}.{{ flat module }}.api.{{ pascal module }}FeatureEntry
import {{ base_package }}.navigation.EmptyInput
import {{ base_package }}.navigation.NavigationCommand
import {{ base_package }}.navigation.NavigationCommandProvider
import {{ base_package }}.navigation.createNavigationCommandProvider

object {{ pascal module }}Directions {
object {{ pascal first_page }} : NavigationCommandProvider<EmptyInput> by {{ pascal module }}FeatureEntry
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
object {{ pascal first_page }} : NavigationCommandProvider<EmptyInput> {
override val featureRoute: String = "{{ kebab first_page }}/"
override val arguments = emptyList<NamedNavArgument>()

override fun destination(input: EmptyInput) = object : NavigationCommand {
override val arguments = {{ pascal first_page }}.arguments
override val destinationFeatureRoute = {{ pascal module }}FeatureEntry.featureRoute
override val destination: String = "{{ kebab first_page }}/"
}
}
object {{ pascal first_page }} : NavigationCommandProvider<EmptyInput>
by createNavigationCommandProvider("{{ kebab first_page }}")

0 comments on commit a4c6733

Please sign in to comment.