@@ -5,18 +5,18 @@ import io.github.serpro69.kfaker.app.KFaker
5
5
import io.github.serpro69.kfaker.app.cli.Introspector
6
6
import io.github.serpro69.kfaker.app.cli.Renderer
7
7
import io.github.serpro69.kfaker.app.cli.renderProvider
8
- import io.github.serpro69.kfaker.app.subcommands.Lookup.functionName
8
+ import io.github.serpro69.kfaker.app.subcommands.Lookup.name
9
9
import io.github.serpro69.kfaker.fakerConfig
10
10
import picocli.CommandLine
11
11
import kotlin.reflect.KFunction
12
12
import kotlin.reflect.KProperty
13
13
14
14
/* *
15
- * [KFaker] command for looking up required functionality by [functionName ]
15
+ * [KFaker] command for looking up required functionality by [name ]
16
16
*/
17
17
@CommandLine.Command (
18
18
name = " lookup" ,
19
- description = [" lookup functions by name" ],
19
+ description = [" lookup providers and functions by name" ],
20
20
mixinStandardHelpOptions = true
21
21
)
22
22
object Lookup : Runnable {
@@ -26,9 +26,9 @@ object Lookup : Runnable {
26
26
27
27
@CommandLine.Parameters (
28
28
index = " 0" ,
29
- description = [" function name to find in each provider" , " case-insensitive" ]
29
+ description = [" name of the provider and/or provider function(s) " , " partial name matching, case-insensitive" ]
30
30
)
31
- lateinit var functionName : String
31
+ lateinit var name : String
32
32
33
33
private fun printMatchingFunctions () {
34
34
val fakerConfig = fakerConfig {
@@ -42,10 +42,10 @@ object Lookup : Runnable {
42
42
val filteredMap = introspector.providerData
43
43
.mapValuesTo(mutableMapOf ()) { (_, fpPair) ->
44
44
val (functions, properties) = fpPair
45
- functions.filter { it.toString().lowercase().contains(functionName .lowercase()) } to
45
+ functions.filter { it.toString().lowercase().contains(name .lowercase()) } to
46
46
properties.filter { (sub, funcs) ->
47
- sub.toString().lowercase().contains(functionName .lowercase()) ||
48
- funcs.any { f -> f.toString().lowercase().contains(functionName .lowercase()) }
47
+ sub.toString().lowercase().contains(name .lowercase()) ||
48
+ funcs.any { f -> f.toString().lowercase().contains(name .lowercase()) }
49
49
}
50
50
}.filterValues { (funcs, subFuncs) ->
51
51
funcs.count() > 0 || subFuncs.isNotEmpty()
0 commit comments