All Downloads are FREE. Search and download functionalities are using the official Maven repository.

alloy.proto.Grpc.scala Maven / Gradle / Ivy

There is a newer version: 0.19.0-41-91762fb
Show newest version
package alloy.proto

import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.schema.Schema.constant

/** GRPC protocol as defined by https://grpc.io/ */
final case class Grpc()

object Grpc extends ShapeTag.Companion[Grpc] {
  val id: ShapeId = ShapeId("alloy.proto", "grpc")

  val hints: Hints = Hints(
    smithy.api.ProtocolDefinition(traits = Some(List(smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy.proto", name = "protoReservedFields")), smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy.proto", name = "protoIndex")), smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy.proto", name = "protoNumType")), smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy.proto", name = "protoTimestampFormat")), smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy.proto", name = "protoEnabled")), smithy.api.TraitShapeId(smithy4s.ShapeId(namespace = "alloy", name = "uncheckedExamples")))), noInlineDocumentSupport = None),
    smithy.api.Documentation("GRPC protocol as defined by https://grpc.io/"),
    smithy.api.Trait(selector = Some("service"), structurallyExclusive = None, conflicts = None, breakingChanges = None),
  ).lazily

  implicit val protocol: smithy4s.Protocol[Grpc] = new smithy4s.Protocol[Grpc] {
    def traits: Set[ShapeId] = Set(ShapeId("alloy.proto", "protoReservedFields"), ShapeId("alloy.proto", "protoIndex"), ShapeId("alloy.proto", "protoNumType"), ShapeId("alloy.proto", "protoTimestampFormat"), ShapeId("alloy.proto", "protoEnabled"), ShapeId("alloy", "uncheckedExamples"))
  }


  implicit val schema: Schema[Grpc] = constant(Grpc()).withId(id).addHints(hints)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy