Skip to content

Commit

Permalink
avoid multi-line string interpolations.
Browse files Browse the repository at this point in the history
both scalafmt and my head struggle with these
  • Loading branch information
oyvindberg committed May 8, 2024
1 parent 1f243b5 commit a0b0287
Showing 1 changed file with 106 additions and 104 deletions.
210 changes: 106 additions & 104 deletions tools/src/main/scala/caliban/tools/ClientWriter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -306,123 +306,126 @@ object ClientWriter {
): String =
s"type ${typedef.name} = _root_.caliban.client.Operations.RootQuery"

def writeRootQuery(typedef: ObjectTypeDefinition): String =
s"""object ${typedef.name} {
| ${typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
def writeRootQuery(typedef: ObjectTypeDefinition): String = {
val formattedFields = typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootQuery",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
}
)
}
.mkString("\n ")}
}
s"""object ${typedef.name} {
| ${formattedFields.mkString("\n ")}
|}
|""".stripMargin
}

def writeRootMutationType(
typedef: ObjectTypeDefinition
): String =
s"type ${typedef.name} = _root_.caliban.client.Operations.RootMutation"

def writeRootMutation(typedef: ObjectTypeDefinition): String =
s"""object ${typedef.name} {
| ${typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
def writeRootMutation(typedef: ObjectTypeDefinition): String = {
val formattedFields = typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootMutation",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
}
)
}
.mkString("\n ")}
}
s"""object ${typedef.name} {
| ${formattedFields.mkString("\n ")}
|}
|""".stripMargin
}

def writeRootSubscriptionType(
typedef: ObjectTypeDefinition
): String =
s"type ${typedef.name} = _root_.caliban.client.Operations.RootSubscription"

def writeRootSubscription(typedef: ObjectTypeDefinition): String =
s"""object ${typedef.name} {
| ${typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
def writeRootSubscription(typedef: ObjectTypeDefinition): String = {
val formattedFields = typedef.fields.flatMap { field =>
if (isOptionalInterfaceType(field)) {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
),
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = true,
commonInterface = false
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
)
} else {
Vector(
writeField(
field,
"_root_.caliban.client.Operations.RootSubscription",
optionalUnion = false,
optionalInterface = false,
commonInterface = false
)
}
)
}
.mkString("\n ")}
}
s"""object ${typedef.name} {
| ${formattedFields.mkString("\n ")}
|}
|""".stripMargin
}

def writeObjectType(typedef: ObjectTypeDefinition): String = {

Expand Down Expand Up @@ -634,19 +637,19 @@ object ClientWriter {
typedef: InputObjectTypeDefinition
): String = {
val inputObjectName = safeTypeName(typedef.name)
val formattedFields = typedef.fields
.map(f =>
s""""${f.name}" -> ${writeInputValue(
f.ofType,
s"value.${safeName(f.name)}",
inputObjectName
)}"""
)
s"""final case class $inputObjectName(${writeArgumentFields(typedef.fields)})
|object $inputObjectName {
| implicit val encoder: ArgEncoder[$inputObjectName] = new ArgEncoder[$inputObjectName] {
| override def encode(value: $inputObjectName): __Value =
| __ObjectValue(List(${typedef.fields
.map(f =>
s""""${f.name}" -> ${writeInputValue(
f.ofType,
s"value.${safeName(f.name)}",
inputObjectName
)}"""
)
.mkString(", ")}))
| __ObjectValue(List(${formattedFields.mkString(", ")}))
| }
|}""".stripMargin
}
Expand Down Expand Up @@ -696,7 +699,8 @@ object ClientWriter {
(if (extensibleEnums) Some(s"case ${typedef.name}.__Unknown (value) => __EnumValue(value)") else None)

val enumObject =
if (typedef.enumValuesDefinition.nonEmpty)
if (typedef.enumValuesDefinition.nonEmpty) {
val formattedEnumValues = typedef.enumValuesDefinition.map(v => safeEnumValue(v.enumValue)).mkString(", ")
s"""object $enumName {
${enumCases.mkString("\n")}

Expand All @@ -708,11 +712,9 @@ object ClientWriter {
${encoderCases.mkString("\n")}
}

val values: scala.collection.immutable.Vector[$enumName] = scala.collection.immutable.Vector(${typedef.enumValuesDefinition
.map(v => safeEnumValue(v.enumValue))
.mkString(", ")})
val values: scala.collection.immutable.Vector[$enumName] = scala.collection.immutable.Vector($formattedEnumValues)
}"""
else
} else
""

s"""sealed trait $enumName extends scala.Product with scala.Serializable { def value: String }
Expand Down

0 comments on commit a0b0287

Please sign in to comment.