in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/generators/shared/SharedTypeUtils.kt [48:74]
fun findNext(
mappedTypeArg: String,
startFrom: Int = 0,
): GenericSymbolsAhead =
GenericSymbolsAhead(
openBracket = OpenBracket(mappedTypeArg, startFrom),
closeBracket = CloseBracket(mappedTypeArg, startFrom),
comma = Comma(mappedTypeArg, startFrom),
)
}
}
internal data class GenericSymbolsAhead(
val openBracket: GenericSymbol.OpenBracket,
val closeBracket: GenericSymbol.CloseBracket,
val comma: GenericSymbol.Comma,
) {
fun nextSymbol(): GenericSymbol? = listOf(openBracket, closeBracket, comma).filterNot { it.notFound() }.minByOrNull { it.index }
}
internal class GenericSymbolsAheadIterator(
private val mappedTypeArg: String,
) : Iterator<GenericSymbolsAhead> {
private var lastSymbolIndex = -1
private var currentSymbolIndex = -1
override fun next(): GenericSymbolsAhead {